zhangyao преди 2 месеца
родител
ревизия
f49fd3c664
променени са 1 файла, в които са добавени 13 реда и са изтрити 6 реда
  1. 13 6
      com.awspaas.user.apps.donenow_ctt/src/com/awspaas/user/apps/donenow_ctt/service/contractService.java

+ 13 - 6
com.awspaas.user.apps.donenow_ctt/src/com/awspaas/user/apps/donenow_ctt/service/contractService.java

@@ -2312,6 +2312,7 @@ public class contractService {
                 //BO_EU_DNCTT_COMMISSION_PERIOD
 
                 RowMap period = DBSql.getMap("select * from BO_EU_DNCTT_COMMISSION_PERIOD where ID=?", new Object[]{approveId});
+                String COST_CODE_ID = DBSql.getString("select COST_CODE_ID from BO_EU_DNCTT_COMMISSION where BINDID=?", new Object[]{period.getString("BINDID")});
 
                 //BO bo = SDK.getBOAPI().get("BO_EU_DNCTT_COMMISSION_PERIOD", approveId);//佣金
                 //BO commissionBO = SDK.getBOAPI().getByProcess("BO_EU_DNCTT_COMMISSION", bo.getBindId());
@@ -2331,12 +2332,19 @@ public class contractService {
                     cad.set("BILL_ACCOUNT_ID", ISP);
                     cad.set("EXTENDED_PRICE", period.get("PERIOD_ADJUSTED_PRICE"));
 
-                    if (StringUtils.isNotBlank(period.getString("COST_CODE_ID"))) {
+                    if (StringUtils.isNotBlank(COST_CODE_ID)) {
                         TAX_CATEGORY_ID = DBSql.getString("select TAX_CATEGORY_ID from BO_EU_DND_COST_CODE where OID=? and ORGID=?", new Object[]{period.getString("COST_CODE_ID"), ORGID});
                     }
                 }
 
                 RowMap ca = DBSql.getMap("select TAX_REGION_ID,IS_TAX_EXEMPT from BO_EU_DNCRM_ACCOUNT where ID=?", new Object[]{cad.get("ACCOUNT_ID")});
+                if (ca == null) {
+                    Map<String, Object> caM = new HashMap<>();
+                    caM.put("TAX_REGION_ID", "13");
+                    caM.put("IS_TAX_EXEMPT", "0");
+                    ca = new RowMap(caM);
+                }
+
                 String tax_category_name = null;//税收种类
                 String tax_region_name = null;//税区
                 double tax_rate = 0;//税率
@@ -2345,23 +2353,22 @@ public class contractService {
                     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 (ca != null && ca.containsKey("TAX_REGION_ID") && StringUtils.isNotBlank(ca.getString("TAX_REGION_ID"))) {
+                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()});
                 }
 
-                if (ca != null && tax_category_name != null && tax_region_name != null)
+                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);
                 cad.set("TAX_CATEGORY_ID", TAX_CATEGORY_ID);
-                if (ca != null)
-                    cad.set("TAX_REGION_ID", ca.getString("TAX_REGION_ID"));
+                cad.set("TAX_REGION_ID", ca.getString("TAX_REGION_ID"));
                 cad.set("TAX_REGION_NAME", tax_region_name);
                 cad.set("EFFECTIVE_TAX_RATE", tax_rate);
 
                 //是否免税
-                if (ca != null && !ca.getString("IS_TAX_EXEMPT").equals("1") && ca.get("EXTENDED_PRICE") != null && tax_rate > 0) {
+                if (!ca.getString("IS_TAX_EXEMPT").equals("1") && ca.get("EXTENDED_PRICE") != null && tax_rate > 0) {
                     double tax_dollars = cad.get("EXTENDED_PRICE", Double.class) * (1 - 1 / (1 + tax_rate));//税额
                     cad.set("TAX_DOLLARS", tax_dollars);
                 }