diff --git a/resource/sqlupgrade/Mysql/sql202509080103WHLTKJGFYXGS.sql b/resource/sqlupgrade/Mysql/sql202509080103WHLTKJGFYXGS.sql
new file mode 100644
index 000000000..a723195b9
--- /dev/null
+++ b/resource/sqlupgrade/Mysql/sql202509080103WHLTKJGFYXGS.sql
@@ -0,0 +1,3 @@
+alter table hrsa_hrm_snapshot add column lt_cbzxcode varchar(255);
+alter table hrsa_hrm_snapshot add column lt_gwpc varchar(255);
+alter table hrsa_hrm_snapshot add column lt_xcbzsc varchar(255);
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/hrm/po/HrmSnapshotPO.java b/src/com/engine/salary/entity/hrm/po/HrmSnapshotPO.java
index 1d2e4981a..9fdffc5aa 100644
--- a/src/com/engine/salary/entity/hrm/po/HrmSnapshotPO.java
+++ b/src/com/engine/salary/entity/hrm/po/HrmSnapshotPO.java
@@ -431,6 +431,10 @@ public class HrmSnapshotPO {
* 联特 成本中心
*/
private String ltCbzx;
+ private String ltCbzxcode;
+
+ private String ltGwpc;
+ private String ltXcbzsc;
//主键id集合
diff --git a/src/com/engine/salary/mapper/hrm/HrmSnapshotMapper.xml b/src/com/engine/salary/mapper/hrm/HrmSnapshotMapper.xml
index a1f3d9bdd..da40b56b6 100644
--- a/src/com/engine/salary/mapper/hrm/HrmSnapshotMapper.xml
+++ b/src/com/engine/salary/mapper/hrm/HrmSnapshotMapper.xml
@@ -605,6 +605,15 @@
lt_cbzx,
+
+ lt_cbzxcode,
+
+
+ lt_gwpc,
+
+
+ lt_xcbzsc,
+
@@ -814,6 +823,15 @@
#{ltCbzx},
+
+ #{ltCbzxcode},
+
+
+ #{ltGwpc},
+
+
+ #{ltXcbzsc},
+
diff --git a/src/com/engine/salary/timer/HrmSnapshotJob.java b/src/com/engine/salary/timer/HrmSnapshotJob.java
index 7db334222..5b4bcc468 100644
--- a/src/com/engine/salary/timer/HrmSnapshotJob.java
+++ b/src/com/engine/salary/timer/HrmSnapshotJob.java
@@ -39,14 +39,33 @@ public class HrmSnapshotJob extends BaseCronJob {
// 获取联特成本中心数据
BaseBean baseBean = new BaseBean();
String cbzxField = baseBean.getPropValue("ltSalaryReport", "cbzx_field_name");
+ String cbzxCodeField = baseBean.getPropValue("ltSalaryReport", "cbzx_code_field_name");
RecordSet rs = new RecordSet();
- rs.execute("select id,"+cbzxField+" from cus_fielddata where scopeid=3 and "+cbzxField+" != '' ");
+ rs.execute("select id,"+cbzxField +","+cbzxCodeField+" from cus_fielddata where scopeid=3 ");
HashMap ltCbzxMap = new HashMap<>();
+ HashMap ltCbzxCodeMap = new HashMap<>();
while (rs.next()) {
ltCbzxMap.put(Long.valueOf(rs.getInt("id")), rs.getString(cbzxField));
+ ltCbzxCodeMap.put(Long.valueOf(rs.getInt("id")), rs.getString(cbzxCodeField));
}
+
+
+ String gwpcField = baseBean.getPropValue("ltSalaryReport", "gwpc_field_name");
+ String xcbzscField = baseBean.getPropValue("ltSalaryReport", "xcbzsc_field_name");
+ rs.execute("select id,"+gwpcField +","+xcbzscField+" from cus_fielddata where scopeid=-1 ");
+ HashMap ltGwpcMap = new HashMap<>();
+ HashMap ltXcbzscMap = new HashMap<>();
+ while (rs.next()) {
+ ltGwpcMap.put(Long.valueOf(rs.getInt("id")), rs.getString(gwpcField));
+ ltXcbzscMap.put(Long.valueOf(rs.getInt("id")), rs.getString(xcbzscField));
+ }
+
+
hrmSnapshotPOS.stream().forEach(po -> {
po.setLtCbzx(Utils.null2String(ltCbzxMap.get(po.getEmployeeId())));
+ po.setLtCbzxcode(Utils.null2String(ltCbzxCodeMap.get(po.getEmployeeId())));
+ po.setLtGwpc(Utils.null2String(ltGwpcMap.get(po.getEmployeeId())));
+ po.setLtXcbzsc(Utils.null2String(ltXcbzscMap.get(po.getEmployeeId())));
});
Date snapshotTime = StrUtil.isNotBlank(appointSnapshotTime) && SalaryDateUtil.checkDay(appointSnapshotTime) ? SalaryDateUtil.dateStrToLocalDate(appointSnapshotTime) : SalaryDateUtil.localDateToDate(LocalDate.now());