Просмотр исходного кода

fix(sync): 修复薪资调整数据同步中的字段映射错误

- 修改查询字段添加entryentity.id到selectField3
- 更新transferBatchMap的key从id改为entryentity.id
- 修正billMap3的查询键值从id改为entryentity.id
- 调整nckd_billid字段的赋值来源从id改为entryentity.id
turborao 1 день назад
Родитель
Сommit
ad7ba8265f

+ 4 - 4
code/swc/nckd-jxccl-swc/src/main/java/nckd/jxccl/swc/init/business/SynPendingSalaryAdjDataServiceImpl.java

@@ -241,7 +241,7 @@ public class SynPendingSalaryAdjDataServiceImpl implements SynPendingSalaryAdjDa
         /**
          * 批量调动
          */
-        String selectField3 = "id,billno,entryentity.b_effectivedate,createtime,entryentity.bb_em_tid as bb_em_tid,entryentity.ba_em_empnumber,entryentity.bb_po_position.boid,entryentity.aposition.boid,entryentity.bb_po_adminorg.boid,entryentity.aorg.boid,entryentity.aorg.belongcompany.id";
+        String selectField3 = "id,entryentity.id,billno,entryentity.b_effectivedate,createtime,entryentity.bb_em_tid as bb_em_tid,entryentity.ba_em_empnumber,entryentity.bb_po_position.boid,entryentity.aposition.boid,entryentity.bb_po_adminorg.boid,entryentity.aorg.boid,entryentity.aorg.belongcompany.id";
         QFilter qFilter31 = new QFilter("billstatus", QCP.equals, "C");
         QFilter qFilter32 = new QFilter("entryentity.transfereffectstatus", QCP.equals, "2");  //同步结果 =  同步成功
         QFilter qFilter33 = new QFilter("entryentity.b_effectivedate", QCP.large_equals, daysAgo);
@@ -250,7 +250,7 @@ public class SynPendingSalaryAdjDataServiceImpl implements SynPendingSalaryAdjDa
         DynamicObjectCollection transferBatchDyns = QueryServiceHelper.query(FormConstant.HDM_TRANSFERBATCH, selectField3,new QFilter[]{qFilter31,qFilter32,qFilter33,qFilter34,qFilter35});
 
         Map<Long, DynamicObject> transferBatchMap = (Map)transferBatchDyns.stream().collect(Collectors.toMap((obj) -> {
-            return obj.getLong("id");
+            return obj.getLong("entryentity.id");
         }, (obj) -> {
             return obj;
         }, (k1, k2) -> {
@@ -274,7 +274,7 @@ public class SynPendingSalaryAdjDataServiceImpl implements SynPendingSalaryAdjDa
         Map<Long, DynamicObject> adjRecordMap3 = getAdjRecordInfo(transferBatchDyns);
 
         for(DynamicObject transferDyn: transferBatchDyns) {
-            DynamicObject billDyn3 = billMap3.get(transferDyn.getLong("id"));
+            DynamicObject billDyn3 = billMap3.get(transferDyn.getLong("entryentity.id"));
 
             if(billDyn3 != null) {
                 continue;
@@ -282,7 +282,7 @@ public class SynPendingSalaryAdjDataServiceImpl implements SynPendingSalaryAdjDa
             DynamicObject dyn = new DynamicObject(entityType);
             Long employeeID = transferDyn.getLong("bb_em_tid");
             dyn.set("billno", transferDyn.getString("billno"));
-            dyn.set("nckd_billid", transferDyn.getLong("id"));
+            dyn.set("nckd_billid", transferDyn.getLong("entryentity.id"));
             dyn.set("nckd_billtype", "调动单");
             dyn.set("billstatus", "A");  ///待处理
             dyn.set("nckd_employeefield", employeeID);