|
|
@@ -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);
|
|
|
}
|