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());