From 0c1c3bab6e1705cbc2d130b3ce0d029734f054e5 Mon Sep 17 00:00:00 2001
From: Harryxzy <822365880@qq.com>
Date: Mon, 8 Sep 2025 15:33:15 +0800
Subject: [PATCH] =?UTF-8?q?=E8=81=94=E7=89=B9=20=E4=BA=8C=E5=BC=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Mysql/sql202509080103WHLTKJGFYXGS.sql | 3 +++
.../salary/entity/hrm/po/HrmSnapshotPO.java | 4 ++++
.../salary/mapper/hrm/HrmSnapshotMapper.xml | 18 ++++++++++++++++
.../engine/salary/timer/HrmSnapshotJob.java | 21 ++++++++++++++++++-
4 files changed, 45 insertions(+), 1 deletion(-)
create mode 100644 resource/sqlupgrade/Mysql/sql202509080103WHLTKJGFYXGS.sql
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());