diff --git a/resource/WEB-INF/CBS2ECConfig.xml b/resource/WEB-INF/CBS2ECConfig.xml index e6bde94..67463cb 100644 --- a/resource/WEB-INF/CBS2ECConfig.xml +++ b/resource/WEB-INF/CBS2ECConfig.xml @@ -7,6 +7,7 @@ + @@ -14,6 +15,7 @@ + diff --git a/src/com/engine/salary/timer/SyncCBSAccountDetailsJob.java b/src/com/engine/salary/timer/SyncCBSAccountDetailsJob.java index e487961..1ddfb87 100644 --- a/src/com/engine/salary/timer/SyncCBSAccountDetailsJob.java +++ b/src/com/engine/salary/timer/SyncCBSAccountDetailsJob.java @@ -186,7 +186,7 @@ public class SyncCBSAccountDetailsJob extends BaseCronJob { //鑾峰彇姹囨浜轰笌鍔炰簨澶勭殑瀵圭収鏁版嵁 List ufHkrdzbPOS = getUfHkrdzbMapper().listAll(); - Map customerDepartmentMap = SalaryEntityUtil.convert2Map(ufHkrdzbPOS, UfHkrdzbPO::getKhmc); + Map customerDepartmentMap = SalaryEntityUtil.convert2Map(ufHkrdzbPOS, p -> p.getGsbm() + "_" + p.getKhmc()); List departmentPOS = getUfHkrdzbMapper().listDepartment(); Map departmentMap = SalaryEntityUtil.convert2Map(departmentPOS, DepartmentPO::getCode, DepartmentPO::getId); @@ -222,6 +222,7 @@ public class SyncCBSAccountDetailsJob extends BaseCronJob { add(String.format("'%s'", currTime)); }}; + String skgs = ""; String hkr = ""; String je = ""; for (EBS2ECConfig.Table.Field field : table.getFields()) { @@ -232,6 +233,11 @@ public class SyncCBSAccountDetailsJob extends BaseCronJob { String value = detailMap.getOrDefault(field.getEbsKey(), ""); values.add(String.format("'%s'", value)); + //鏀舵鍏徃 + if ("skgs".equals(fieldName)) { + skgs = value; + } + //姹囨浜 if ("hkr".equals(fieldName)) { hkr = value; @@ -254,7 +260,7 @@ public class SyncCBSAccountDetailsJob extends BaseCronJob { * 濡傛灉鑳藉尮閰嶅埌鏁版嵁锛屽垯鐘舵佹敼涓哄凡鑷姩璁ら锛屽悓鏃舵妸鍔炰簨澶勶紙閮ㄩ棬锛夌殑鍊煎悓姝ュ埌鍔炰簨澶勫瓧娈典腑锛屾槸鍚︾郴缁熻嚜鍔ㄨ棰嗗悓姝ヤ负鏄紱 * 濡傚鐓ф爣鍑嗘棤鏁版嵁锛屽垯鐘舵佷负锛氭湭璁ら锛 */ - UfHkrdzbPO ufHkrdzbPO = customerDepartmentMap.get(hkr); + UfHkrdzbPO ufHkrdzbPO = customerDepartmentMap.get(skgs + "_" + hkr); //甯佺涓嶆槸浜哄悕甯侊紝鍥介檯閮ㄨ棰 String currency = detailMap.get("currency"); if (!"10".equals(currency)) { diff --git a/src/com/engine/salary/timer/SyncCBSPayDetailsJob.java b/src/com/engine/salary/timer/SyncCBSPayDetailsJob.java index d17ceeb..d496273 100644 --- a/src/com/engine/salary/timer/SyncCBSPayDetailsJob.java +++ b/src/com/engine/salary/timer/SyncCBSPayDetailsJob.java @@ -245,7 +245,7 @@ public class SyncCBSPayDetailsJob extends BaseCronJob { //鑾峰彇姹囨浜轰笌鍔炰簨澶勭殑瀵圭収鏁版嵁 List ufHkrdzbPOS = getUfHkrdzbMapper().listAll(); - Map customerDepartmentMap = SalaryEntityUtil.convert2Map(ufHkrdzbPOS, UfHkrdzbPO::getKhmc); + Map customerDepartmentMap = SalaryEntityUtil.convert2Map(ufHkrdzbPOS, p -> p.getGsbm() + "_" + p.getKhmc()); List departmentPOS = getUfHkrdzbMapper().listDepartment(); Map departmentMap = SalaryEntityUtil.convert2Map(departmentPOS, DepartmentPO::getCode, DepartmentPO::getId); @@ -280,6 +280,7 @@ public class SyncCBSPayDetailsJob extends BaseCronJob { add(String.format("'%s'", currTime)); }}; + String skgs = ""; String hkr = ""; String je = ""; for (EBS2ECConfig.Table.Field field : table.getFields()) { @@ -290,6 +291,11 @@ public class SyncCBSPayDetailsJob extends BaseCronJob { String value = detailMap.getOrDefault(field.getEbsKey(), ""); values.add(String.format("'%s'", value)); + //鏀舵鍏徃 + if ("skgs".equals(fieldName)) { + skgs = value; + } + //姹囨浜 if ("hkr".equals(fieldName)) { hkr = value; @@ -312,7 +318,7 @@ public class SyncCBSPayDetailsJob extends BaseCronJob { * 濡傛灉鑳藉尮閰嶅埌鏁版嵁锛屽垯鐘舵佹敼涓哄凡鑷姩璁ら锛屽悓鏃舵妸鍔炰簨澶勶紙閮ㄩ棬锛夌殑鍊煎悓姝ュ埌鍔炰簨澶勫瓧娈典腑锛屾槸鍚︾郴缁熻嚜鍔ㄨ棰嗗悓姝ヤ负鏄紱 * 濡傚鐓ф爣鍑嗘棤鏁版嵁锛屽垯鐘舵佷负锛氭湭璁ら锛 */ - UfHkrdzbPO ufHkrdzbPO = customerDepartmentMap.get(hkr); + UfHkrdzbPO ufHkrdzbPO = customerDepartmentMap.get(skgs + "_" + hkr); if (ufHkrdzbPO != null) { //瀹㈡埛灞炴