|
|
@@ -2646,7 +2646,7 @@ public class contractService {
|
|
|
if (bo != null) {
|
|
|
CONTRACT_SERVICE_ID = bo.getString("CONTRACT_SERVICE_ID");
|
|
|
CONTRACT_ID = bo.getString("CONTRACT_ID");
|
|
|
-
|
|
|
+ cad.set("CONTRACT_ID", CONTRACT_ID);
|
|
|
bo.set("APPROVE_AND_POST_DATE", approveDate);
|
|
|
bo.set("SETUP_FEE_APPROVE_POST_USER_ID", uc.getUID());
|
|
|
SDK.getBOAPI().update("BO_EU_DNCTT_CONTRACT_SERVICE_PERIOD", bo, connUpdate);
|
|
|
@@ -2662,14 +2662,18 @@ public class contractService {
|
|
|
|
|
|
cad.set("EXTENDED_PRICE", bo.get("PERIOD_ADJUSTED_PRICE"));
|
|
|
|
|
|
+ /*
|
|
|
String costCodeId = null;
|
|
|
if (bo.getString("OBJECT_TYPE").equals("1")) {
|
|
|
costCodeId = DBSql.getString("SELECT COST_CODE_ID FROM BO_EU_DNIVT_SERVICE WHERE ID = ?", new Object[]{bo.getString("OBJECT_ID")});
|
|
|
} else {
|
|
|
costCodeId = DBSql.getString("SELECT COST_CODE_ID FROM BO_EU_DNIVT_SERVICE_BUNDLE WHERE ID = ?", new Object[]{bo.getString("OBJECT_ID")});
|
|
|
}
|
|
|
+
|
|
|
Object taxCategoryId = DBSql.getString("select TAX_CATEGORY_ID from BO_EU_DND_COST_CODE where OID=? and ORGID=?", new Object[]{costCodeId, ORGID}); //SDK.getBOAPI().get("BO_EU_DND_COST_CODE", costCodeId, "TAX_CATEGORY_ID");
|
|
|
- if (taxCategoryId != null) TAX_CATEGORY_ID = taxCategoryId.toString();
|
|
|
+ if (taxCategoryId != null)
|
|
|
+ TAX_CATEGORY_ID = taxCategoryId.toString();
|
|
|
+ */
|
|
|
}
|
|
|
|
|
|
}
|
|
|
@@ -2685,21 +2689,31 @@ public class contractService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ contractServiceLogger.info("TAX_CATEGORY_ID:" + TAX_CATEGORY_ID);
|
|
|
+
|
|
|
RowMap ca = DBSql.getMap("select NAME,TAX_REGION_ID,IS_TAX_EXEMPT from BO_EU_DNCRM_ACCOUNT where ID=?", new Object[]{cad.get("ACCOUNT_ID")});
|
|
|
String tax_category_name = null;//税收种类
|
|
|
String tax_region_name = null;//税区
|
|
|
double tax_rate = 0;//税率
|
|
|
|
|
|
if (StringUtils.isNotBlank(TAX_CATEGORY_ID)) {
|
|
|
- tax_category_name = DBSql.getString("SELECT NAME FROM BO_EU_DND_GENERAL WHERE OID = ? AND ORGID=?", new Object[]{TAX_CATEGORY_ID, uc.getCompanyModel().getId()});
|
|
|
+
|
|
|
+ RowMap taxcate = DBSql.getMap("SELECT NAME,EXT1 FROM BO_EU_DND_GENERAL WHERE OID = ? AND ORGID=?", new Object[]{TAX_CATEGORY_ID, uc.getCompanyModel().getId()});
|
|
|
+
|
|
|
+ tax_category_name = taxcate.getString("NAME");
|
|
|
+
|
|
|
+ tax_rate = taxcate.getDouble("EXT1");
|
|
|
}
|
|
|
|
|
|
if (ca.containsKey("TAX_REGION_ID") && StringUtils.isNotBlank(ca.getString("TAX_REGION_ID"))) {
|
|
|
tax_region_name = DBSql.getString("SELECT NAME FROM BO_EU_DND_GENERAL WHERE OID = ? AND ORGID=?", new Object[]{ca.getString("TAX_REGION_ID"), uc.getCompanyModel().getId()});
|
|
|
}
|
|
|
|
|
|
+ //2025年11月19日 税率不需要再从税区上面获取
|
|
|
+ /*
|
|
|
if (tax_category_name != null && tax_region_name != null)
|
|
|
tax_rate = DBSql.getDouble("SELECT TOTAL_EFFECTIVE_TAX_RATE FROM BO_EU_DND_TAX_REGION_CATE WHERE TAX_REGION_ID='" + ca.getString("TAX_REGION_ID") + "' AND TAX_CATE_ID='" + TAX_CATEGORY_ID + "' AND ORGID='" + uc.getCompanyModel().getId() + "' ", "TOTAL_EFFECTIVE_TAX_RATE");
|
|
|
+ */
|
|
|
|
|
|
cad.set("POSTED_DATE", approveDate);
|
|
|
cad.set("TAX_CATEGORY_NAME", tax_category_name);
|
|
|
@@ -2715,7 +2729,7 @@ public class contractService {
|
|
|
contractServiceLogger.info("是否免税" + ca.get("IS_TAX_EXEMPT"));
|
|
|
contractServiceLogger.info(ca.getString("NAME") + cad.get("ACCOUNT_ID") + "是否免税" + ca.get("IS_TAX_EXEMPT"));
|
|
|
//是否免税
|
|
|
- if (ca.get("IS_TAX_EXEMPT") != null && ca.getString("IS_TAX_EXEMPT").equals("1")) {
|
|
|
+ if (ca != null && ca.get("IS_TAX_EXEMPT") != null && ca.getString("IS_TAX_EXEMPT").equals("1")) {
|
|
|
|
|
|
} else {
|
|
|
|
|
|
@@ -2783,9 +2797,9 @@ public class contractService {
|
|
|
|
|
|
cad.set("OBJECT_ID", approveId);
|
|
|
cad.set("TAX_CATEGORY_ID", TAX_CATEGORY_ID);
|
|
|
- cad.set("TAX_CATEGORY_NAME", DBSql.getString("SELECT NAME FROM BO_EU_DND_GENERAL WHERE OID = ? AND ORGID=?", new Object[]{TAX_CATEGORY_ID, uc.getCompanyModel().getId()}));
|
|
|
|
|
|
cad.set("TAX_REGION_ID", DBSql.getString("SELECT TAX_REGION_ID FROM BO_EU_DNCRM_ACCOUNT WHERE ID=(SELECT ACCOUNT_ID FROM BO_EU_DNCTT_CONTRACT WHERE ID=?)", new Object[]{bo.getString("CONTRACT_ID")}));
|
|
|
+
|
|
|
cad.set("TAX_REGION_NAME", DBSql.getString("SELECT NAME FROM BO_EU_DND_GENERAL WHERE OID = ? AND ORGID=?", new Object[]{cad.get("TAX_REGION_ID"), uc.getCompanyModel().getId()}));
|
|
|
|
|
|
cad.set("ACCOUNT_ID", DBSql.getString("SELECT ACCOUNT_ID FROM BO_EU_DNCTT_CONTRACT WHERE ID=?", new Object[]{bo.getString("CONTRACT_ID")}));
|
|
|
@@ -2794,8 +2808,14 @@ public class contractService {
|
|
|
|
|
|
cad.set("CONTRACT_ID", bo.get("CONTRACT_ID"));
|
|
|
|
|
|
+ // double tax_rate = DBSql.getDouble("SELECT TOTAL_EFFECTIVE_TAX_RATE FROM BO_EU_DND_TAX_REGION_CATE WHERE TAX_REGION_ID='" + cad.getString("TAX_REGION_ID") + "' AND TAX_CATE_ID='" + TAX_CATEGORY_ID + "' ", "TOTAL_EFFECTIVE_TAX_RATE");
|
|
|
+
|
|
|
+ RowMap taxcate = DBSql.getMap("SELECT NAME,EXT1 FROM BO_EU_DND_GENERAL WHERE OID = ? AND ORGID=?", new Object[]{TAX_CATEGORY_ID, uc.getCompanyModel().getId()});
|
|
|
+
|
|
|
+ cad.set("TAX_CATEGORY_NAME", taxcate.getString("NAME"));
|
|
|
+
|
|
|
+ double tax_rate = taxcate.getDouble("EXT1");
|
|
|
|
|
|
- double tax_rate = DBSql.getDouble("SELECT TOTAL_EFFECTIVE_TAX_RATE FROM BO_EU_DND_TAX_REGION_CATE WHERE TAX_REGION_ID='" + cad.getString("TAX_REGION_ID") + "' AND TAX_CATE_ID='" + TAX_CATEGORY_ID + "' ", "TOTAL_EFFECTIVE_TAX_RATE");
|
|
|
cad.set("EFFECTIVE_TAX_RATE", tax_rate);
|
|
|
|
|
|
cad.set("EXTENDED_PRICE", bo.get("DOLLARS"));
|
|
|
@@ -2862,14 +2882,20 @@ public class contractService {
|
|
|
TAX_CATEGORY_ID = ccc.getString("TAX_CATEGORY_ID");
|
|
|
}
|
|
|
|
|
|
- if (StringUtils.isNotBlank(TAX_CATEGORY_ID))
|
|
|
- tax_category_name = DBSql.getString("SELECT NAME FROM BO_EU_DND_GENERAL WHERE OID = ? AND ORGID=?", new Object[]{TAX_CATEGORY_ID, uc.getCompanyModel().getId()});
|
|
|
+ if (StringUtils.isNotBlank(TAX_CATEGORY_ID)) {
|
|
|
+
|
|
|
+ RowMap taxcate = DBSql.getMap("SELECT NAME,EXT1 FROM BO_EU_DND_GENERAL WHERE OID = ? AND ORGID=?", new Object[]{TAX_CATEGORY_ID, uc.getCompanyModel().getId()});
|
|
|
+ tax_category_name = taxcate.getString("NAME");
|
|
|
+ tax_rate = taxcate.getDouble("EXT1");
|
|
|
+ }
|
|
|
|
|
|
if (ca.get("TAX_REGION_ID") != null)
|
|
|
tax_region_name = DBSql.getString("SELECT NAME FROM BO_EU_DND_GENERAL WHERE OID = ? AND ORGID=?", new Object[]{ca.get("TAX_REGION_ID"), uc.getCompanyModel().getId()});
|
|
|
|
|
|
+ /*
|
|
|
if (StringUtils.isNotBlank(TAX_CATEGORY_ID) && ca.get("TAX_REGION_ID") != null)
|
|
|
tax_rate = DBSql.getDouble("SELECT TOTAL_EFFECTIVE_TAX_RATE FROM BO_EU_DND_TAX_REGION_CATE WHERE TAX_REGION_ID='" + ca.getString("TAX_REGION_ID") + "' AND TAX_CATE_ID='" + TAX_CATEGORY_ID + "' ", "TOTAL_EFFECTIVE_TAX_RATE");
|
|
|
+ */
|
|
|
|
|
|
BO cad = new BO();
|
|
|
cad.set("OBJECT_ID", ccc.getString("ID"));//成本表id
|