Selaa lähdekoodia

税款计算代码更新

Heyuan 8 kuukautta sitten
vanhempi
commit
f552b95a3f

+ 0 - 1
src/com/kingdee/eas/custom/shuiyou/taxCal/TaxCalFacadeControllerBean.java

@@ -2,7 +2,6 @@ package com.kingdee.eas.custom.shuiyou.taxCal;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import com.kingdee.bos.dao.IObjectPK;
 import com.kingdee.bos.util.BOSUuid;
 import com.kingdee.bos.util.EASResource;
 import com.kingdee.eas.custom.shuiyou.incomeTax.TaxPersonReportExFacadeFactory;

+ 19 - 16
websrc/com/kingdee/eas/custom/shuiyou/taxCal/service/GetASynIndividualIncomeTaxFeedback.java

@@ -2,7 +2,6 @@ package com.kingdee.eas.custom.shuiyou.taxCal.service;
 
 import cn.com.servyou.dto.ApiResponse;
 import cn.com.servyou.dto.Head;
-import cn.com.servyou.dto.employee.EmployeeDeclareFeedback;
 import cn.com.servyou.dto.tax.*;
 import cn.com.servyou.rmi.client.ClientProxyFactory;
 import cn.com.servyou.service.TaxRequest;
@@ -242,7 +241,7 @@ public class GetASynIndividualIncomeTaxFeedback implements IHRMsfService {
         if (successComplexIncomes != null) {
             //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
             StringBuilder updateSql = new StringBuilder();
-            updateSql.append("/*dialect*/update T_HR_STaxCalInitDetail set FSTATE = '40', ");
+            updateSql.append("/*dialect*/update T_HR_STaxCalInitDetail set FSTATE = '40',FERRORINFO = '成功', ");
             for (String key : taxItemInitMap.keySet()) {
                 String tableField = taxItemInitMap.get(key);
                 updateSql.append(tableField).append("=?, ");
@@ -768,7 +767,7 @@ public class GetASynIndividualIncomeTaxFeedback implements IHRMsfService {
                 FilterItemCollection filterItems = filterInfo.getFilterItems();
                 filterItems.add(new FilterItemInfo("person", personId));
                 filterItems.add(new FilterItemInfo("taxUnit", taxUnitId));
-                filterItems.add(new FilterItemInfo("periodBegin", periodBeginDate, CompareType.GREATER));
+                filterItems.add(new FilterItemInfo("periodBegin", periodBeginDate, CompareType.GREATER_EQUALS));
                 filterItems.add(new FilterItemInfo("periodEnd", periodEndDate, CompareType.LESS_EQUALS));
                 filterItems.add(new FilterItemInfo("incomeItem", incomeitemid));
                 filterItems.add(new FilterItemInfo("calScheme", calSchemeId));
@@ -776,6 +775,7 @@ public class GetASynIndividualIncomeTaxFeedback implements IHRMsfService {
                 SelectorItemCollection sic = new SelectorItemCollection();
                 sic.add("state");
                 EntityViewInfo instance = EntityViewInfo.getInstance(filterInfo, sic, null);
+                logger.info("instance: " + instance.toString());
                 TaxCalConfigDetailCollection taxCalConfigDetailCol = iTaxCalConfigDetail.getTaxCalConfigDetailCollection(instance);
                 if (taxCalConfigDetailCol.size() > 0) {
                     TaxCalConfigDetailInfo taxCalConfigDetailInfo = taxCalConfigDetailCol.get(0);
@@ -829,21 +829,24 @@ public class GetASynIndividualIncomeTaxFeedback implements IHRMsfService {
         if (!configIds.isEmpty() && !initIds.isEmpty()) {
             //更新明细表数据
             StringBuilder updateSql = new StringBuilder();
-            updateSql.append("update T_HR_STaxCalConfigDetail config set ").append("\n");
+            StringBuilder querySqlForUpdate = new StringBuilder();
+            updateSql.append("update T_HR_STaxCalConfigDetail config set (").append("\n");
             for (String key : taxItemConfigMap.keySet()) {
-                updateSql.append("config.").append(taxItemConfigMap.get(key))
-                        .append(" = init.").append(taxItemConfigMap.get(key)).append(",").append("\n");
+                updateSql.append(taxItemConfigMap.get(key)).append(",").append("\n");
+                querySqlForUpdate.append(taxItemConfigMap.get(key)).append(",").append("\n");
             }
             updateSql.deleteCharAt(updateSql.lastIndexOf(","));
-            updateSql.append("from( select * from T_HR_STaxCalInitDetail where fid in( ");
-            updateSql.append(AtsUtil.convertSetToString(initIds)).append(")) init").append("\n");
-            updateSql.append("where config.fpersonId = init.fpersonId").append("\n");
-            updateSql.append(" and config.fCmpCalTableId = init.fCmpCalTableId").append("\n");
-            updateSql.append(" and config.fIncomeItemId = init.fIncomeItemId").append("\n");
-            updateSql.append(" and config.FPERIODBEGIN = init.FPERIODBEGIN").append("\n");
-            updateSql.append(" and config.FPERIODEND = init.FPERIODEND").append("\n");
-            updateSql.append(" and config.fstate = '10'").append("\n");
-            updateSql.append(" and config.fid in(").append(AtsUtil.convertSetToString(configIds)).append(")").append("\n");
+            querySqlForUpdate.deleteCharAt(querySqlForUpdate.lastIndexOf(","));
+            updateSql.append(") = (select ").append(querySqlForUpdate).append("\n");
+            updateSql.append(" from T_HR_STaxCalInitDetail ").append("\n");
+            updateSql.append(" where fid in (").append(AtsUtil.convertSetToString(initIds)).append(")").append("\n");
+            updateSql.append("      and config.fpersonId = fpersonId").append("\n");
+            updateSql.append("      and config.fCmpCalTableId = fCmpCalTableId").append("\n");
+            updateSql.append("      and config.fIncomeItemId = fIncomeItemId").append("\n");
+            updateSql.append("      and config.FPERIODBEGIN = FPERIODBEGIN").append("\n");
+            updateSql.append("      and config.FPERIODEND = FPERIODEND)").append("\n");
+            updateSql.append(" where config.fstate = '10'").append("\n");
+            updateSql.append("  and config.fid in(").append(AtsUtil.convertSetToString(configIds)).append(")").append("\n");
             logger.info("更新明细表sql: " + updateSql);
             DbUtil.execute(ctx, updateSql.toString());
         }
@@ -960,7 +963,7 @@ public class GetASynIndividualIncomeTaxFeedback implements IHRMsfService {
         //最终拆分明细表个税项目
         Set configSet = new HashSet();
         configSet.add("sre");//本期收入
-        configSet.add("mssd // 本期免税收入");
+        configSet.add("mssd");// 本期免税收入
         configSet.add("jbylaobxf");//  基本养老保险费
         configSet.add("jbylbxf");//  基本医疗保险费
         configSet.add("sybxf");//  失业保险费