From 5b2609d93fa435ad4a2d0838771d6b3db866b11c Mon Sep 17 00:00:00 2001 From: sy Date: Wed, 25 Oct 2023 09:49:16 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E8=96=AA=E9=85=AC=E7=B3=BB=E7=BB=9F-?= =?UTF-8?q?=E7=A6=8F=E5=88=A9=E6=A1=A3=E6=A1=88=EF=BC=8C=E7=A6=8F=E5=88=A9?= =?UTF-8?q?=E6=A1=A3=E6=A1=88=E5=9F=BA=E6=95=B0=E8=B0=83=E6=95=B4=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E8=A1=A8=E6=96=B0=E5=BB=BAsql=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/sqlupgrade/DM/sql202310250103.sql | 39 +++++++++++++++++++ resource/sqlupgrade/GS/sql202310250103.sql | 39 +++++++++++++++++++ resource/sqlupgrade/JC/sql202310250103.sql | 39 +++++++++++++++++++ resource/sqlupgrade/Mysql/sql202310250103.sql | 37 ++++++++++++++++++ .../sqlupgrade/Oracle/sql202310250103.sql | 38 ++++++++++++++++++ resource/sqlupgrade/PG/sql202310250103.sql | 37 ++++++++++++++++++ .../sqlupgrade/SQLServer/sql202310250103.sql | 39 +++++++++++++++++++ resource/sqlupgrade/ST/sql202310250103.sql | 39 +++++++++++++++++++ 8 files changed, 307 insertions(+) create mode 100644 resource/sqlupgrade/DM/sql202310250103.sql create mode 100644 resource/sqlupgrade/GS/sql202310250103.sql create mode 100644 resource/sqlupgrade/JC/sql202310250103.sql create mode 100644 resource/sqlupgrade/Mysql/sql202310250103.sql create mode 100644 resource/sqlupgrade/Oracle/sql202310250103.sql create mode 100644 resource/sqlupgrade/PG/sql202310250103.sql create mode 100644 resource/sqlupgrade/SQLServer/sql202310250103.sql create mode 100644 resource/sqlupgrade/ST/sql202310250103.sql diff --git a/resource/sqlupgrade/DM/sql202310250103.sql b/resource/sqlupgrade/DM/sql202310250103.sql new file mode 100644 index 000000000..52712fc7f --- /dev/null +++ b/resource/sqlupgrade/DM/sql202310250103.sql @@ -0,0 +1,39 @@ +CREATE TABLE hrsa_insurance_base_history ( + +id NUMBER(20,0) NOT NULL, + +employee_id NUMBER(20,0) NOT NULL, + +payment_organization NUMBER(11,0) NOT NULL, + +welfare_type NUMBER(11,0) NOT NULL, + +adjust_before_scheme_id NUMBER(11,0) NULL, + +adjust_after_scheme_id NUMBER(11,0) NULL, + +adjust_before_base_value VARCHAR2(255) NULL, + +adjust_after_base_value VARCHAR2(255) NULL, + +adjust_welfare_item_id NUMBER(20,0) NOT NULL, + +operator NUMBER(20,0) NOT NULL, + +operate_time DATE NULL, + +create_time DATE NOT NULL, + +update_time DATE NOT NULL, + +creator NUMBER(20,0) NOT NULL, + +delete_type NUMBER(11,0) NOT NULL, + +tenant_key VARCHAR2(10) NULL, + +PRIMARY KEY (id) + +); +/ + diff --git a/resource/sqlupgrade/GS/sql202310250103.sql b/resource/sqlupgrade/GS/sql202310250103.sql new file mode 100644 index 000000000..52712fc7f --- /dev/null +++ b/resource/sqlupgrade/GS/sql202310250103.sql @@ -0,0 +1,39 @@ +CREATE TABLE hrsa_insurance_base_history ( + +id NUMBER(20,0) NOT NULL, + +employee_id NUMBER(20,0) NOT NULL, + +payment_organization NUMBER(11,0) NOT NULL, + +welfare_type NUMBER(11,0) NOT NULL, + +adjust_before_scheme_id NUMBER(11,0) NULL, + +adjust_after_scheme_id NUMBER(11,0) NULL, + +adjust_before_base_value VARCHAR2(255) NULL, + +adjust_after_base_value VARCHAR2(255) NULL, + +adjust_welfare_item_id NUMBER(20,0) NOT NULL, + +operator NUMBER(20,0) NOT NULL, + +operate_time DATE NULL, + +create_time DATE NOT NULL, + +update_time DATE NOT NULL, + +creator NUMBER(20,0) NOT NULL, + +delete_type NUMBER(11,0) NOT NULL, + +tenant_key VARCHAR2(10) NULL, + +PRIMARY KEY (id) + +); +/ + diff --git a/resource/sqlupgrade/JC/sql202310250103.sql b/resource/sqlupgrade/JC/sql202310250103.sql new file mode 100644 index 000000000..52712fc7f --- /dev/null +++ b/resource/sqlupgrade/JC/sql202310250103.sql @@ -0,0 +1,39 @@ +CREATE TABLE hrsa_insurance_base_history ( + +id NUMBER(20,0) NOT NULL, + +employee_id NUMBER(20,0) NOT NULL, + +payment_organization NUMBER(11,0) NOT NULL, + +welfare_type NUMBER(11,0) NOT NULL, + +adjust_before_scheme_id NUMBER(11,0) NULL, + +adjust_after_scheme_id NUMBER(11,0) NULL, + +adjust_before_base_value VARCHAR2(255) NULL, + +adjust_after_base_value VARCHAR2(255) NULL, + +adjust_welfare_item_id NUMBER(20,0) NOT NULL, + +operator NUMBER(20,0) NOT NULL, + +operate_time DATE NULL, + +create_time DATE NOT NULL, + +update_time DATE NOT NULL, + +creator NUMBER(20,0) NOT NULL, + +delete_type NUMBER(11,0) NOT NULL, + +tenant_key VARCHAR2(10) NULL, + +PRIMARY KEY (id) + +); +/ + diff --git a/resource/sqlupgrade/Mysql/sql202310250103.sql b/resource/sqlupgrade/Mysql/sql202310250103.sql new file mode 100644 index 000000000..7c8046632 --- /dev/null +++ b/resource/sqlupgrade/Mysql/sql202310250103.sql @@ -0,0 +1,37 @@ +CREATE TABLE hrsa_insurance_base_history ( + +id bigint NOT NULL, + +employee_id bigint NOT NULL, + +payment_organization int NOT NULL, + +welfare_type int NOT NULL, + +adjust_before_scheme_id int NULL, + +adjust_after_scheme_id int NULL, + +adjust_before_base_value varchar(255) NULL, + +adjust_after_base_value varchar(255) NULL, + +adjust_welfare_item_id bigint NOT NULL, + +operator bigint NOT NULL, + +operate_time datetime NULL, + +create_time datetime NOT NULL, + +update_time datetime NOT NULL, + +creator bigint NOT NULL, + +delete_type int NOT NULL, + +tenant_key varchar(10) NULL, + +PRIMARY KEY (id) + +); diff --git a/resource/sqlupgrade/Oracle/sql202310250103.sql b/resource/sqlupgrade/Oracle/sql202310250103.sql new file mode 100644 index 000000000..628f38757 --- /dev/null +++ b/resource/sqlupgrade/Oracle/sql202310250103.sql @@ -0,0 +1,38 @@ +CREATE TABLE hrsa_insurance_base_history ( + +id NUMBER(20,0) NOT NULL, + +employee_id NUMBER(20,0) NOT NULL, + +payment_organization NUMBER(11,0) NOT NULL, + +welfare_type NUMBER(11,0) NOT NULL, + +adjust_before_scheme_id NUMBER(11,0) NULL, + +adjust_after_scheme_id NUMBER(11,0) NULL, + +adjust_before_base_value VARCHAR2(255) NULL, + +adjust_after_base_value VARCHAR2(255) NULL, + +adjust_welfare_item_id NUMBER(20,0) NOT NULL, + +operator NUMBER(20,0) NOT NULL, + +operate_time DATE NULL, + +create_time DATE NOT NULL, + +update_time DATE NOT NULL, + +creator NUMBER(20,0) NOT NULL, + +delete_type NUMBER(11,0) NOT NULL, + +tenant_key VARCHAR2(10) NULL, + +PRIMARY KEY (id) + +) +/ \ No newline at end of file diff --git a/resource/sqlupgrade/PG/sql202310250103.sql b/resource/sqlupgrade/PG/sql202310250103.sql new file mode 100644 index 000000000..d2d961a08 --- /dev/null +++ b/resource/sqlupgrade/PG/sql202310250103.sql @@ -0,0 +1,37 @@ +CREATE TABLE hrsa_insurance_base_history ( + +id bigint NOT NULL, + +employee_id bigint NOT NULL, + +payment_organization int NOT NULL, + +welfare_type int NOT NULL, + +adjust_before_scheme_id int, + +adjust_after_scheme_id int, + +adjust_before_base_value varchar(255), + +adjust_after_base_value varchar(255), + +adjust_welfare_item_id bigint NOT NULL, + +operator bigint NOT NULL, + +operate_time timestamp(0), + +create_time timestamp(0) NOT NULL, + +update_time timestamp(0) NOT NULL, + +creator bigint NOT NULL, + +delete_type int NOT NULL, + +tenant_key varchar(10), + +PRIMARY KEY (id) + +); \ No newline at end of file diff --git a/resource/sqlupgrade/SQLServer/sql202310250103.sql b/resource/sqlupgrade/SQLServer/sql202310250103.sql new file mode 100644 index 000000000..ddc7b2773 --- /dev/null +++ b/resource/sqlupgrade/SQLServer/sql202310250103.sql @@ -0,0 +1,39 @@ +CREATE TABLE [hrsa_insurance_base_history] ( + +[id] bigint NOT NULL, + +[employee_id] bigint NOT NULL, + +[payment_organization] int NOT NULL, + +[welfare_type] int NOT NULL, + +[adjust_before_scheme_id] int NULL, + +[adjust_after_scheme_id] int NULL, + +[adjust_before_base_value] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, + +[adjust_after_base_value] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, + +[adjust_welfare_item_id] bigint NOT NULL, + +[operator] bigint NOT NULL, + +[operate_time] datetime NULL, + +[create_time] datetime NOT NULL, + +[update_time] datetime NOT NULL, + +[creator] bigint NOT NULL, + +[delete_type] int NOT NULL, + +[tenant_key] varchar(10) COLLATE Chinese_PRC_CI_AS NULL, + +PRIMARY KEY ([id]) + +) + +GO \ No newline at end of file diff --git a/resource/sqlupgrade/ST/sql202310250103.sql b/resource/sqlupgrade/ST/sql202310250103.sql new file mode 100644 index 000000000..52712fc7f --- /dev/null +++ b/resource/sqlupgrade/ST/sql202310250103.sql @@ -0,0 +1,39 @@ +CREATE TABLE hrsa_insurance_base_history ( + +id NUMBER(20,0) NOT NULL, + +employee_id NUMBER(20,0) NOT NULL, + +payment_organization NUMBER(11,0) NOT NULL, + +welfare_type NUMBER(11,0) NOT NULL, + +adjust_before_scheme_id NUMBER(11,0) NULL, + +adjust_after_scheme_id NUMBER(11,0) NULL, + +adjust_before_base_value VARCHAR2(255) NULL, + +adjust_after_base_value VARCHAR2(255) NULL, + +adjust_welfare_item_id NUMBER(20,0) NOT NULL, + +operator NUMBER(20,0) NOT NULL, + +operate_time DATE NULL, + +create_time DATE NOT NULL, + +update_time DATE NOT NULL, + +creator NUMBER(20,0) NOT NULL, + +delete_type NUMBER(11,0) NOT NULL, + +tenant_key VARCHAR2(10) NULL, + +PRIMARY KEY (id) + +); +/ + From dba2f48785482e2bf5ea00cf9cfee9d3b45e23f0 Mon Sep 17 00:00:00 2001 From: sy Date: Wed, 25 Oct 2023 11:18:10 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E8=96=AA=E9=85=AC=E7=B3=BB=E7=BB=9F-?= =?UTF-8?q?=E7=A6=8F=E5=88=A9=E6=A1=A3=E6=A1=88=EF=BC=8C=E7=A6=8F=E5=88=A9?= =?UTF-8?q?=E6=A1=A3=E6=A1=88=E5=9F=BA=E6=95=B0=E8=B0=83=E6=95=B4=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E7=94=9F=E6=88=90=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96?= =?UTF-8?q?=EF=BC=8C=E8=BF=87=E6=BB=A4=E7=A9=BA=E5=80=BC=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/salary/biz/SIArchivesBiz.java | 57 +++++++++++--------- 1 file changed, 32 insertions(+), 25 deletions(-) diff --git a/src/com/engine/salary/biz/SIArchivesBiz.java b/src/com/engine/salary/biz/SIArchivesBiz.java index 7f91e79d1..05d985742 100644 --- a/src/com/engine/salary/biz/SIArchivesBiz.java +++ b/src/com/engine/salary/biz/SIArchivesBiz.java @@ -1967,7 +1967,7 @@ public class SIArchivesBiz { Date now = new Date(); List toCreateAdjustHistoryList = new ArrayList<>(); //旧档案不存在基数信息,则直接遍历新的基数数据,生成调整记录;旧档案存在基数信息,则合并新旧基数数据,遍历合并后的技术数据中的key,生成调整记录。 - if(adjustInfo.getAdjustAfterBaseJson() != null && adjustInfo.getAdjustBeforeBaseJson() == null) { + if(StringUtils.isNotBlank(adjustInfo.getAdjustAfterBaseJson()) && StringUtils.isBlank(adjustInfo.getAdjustBeforeBaseJson())) { Map adjustAfterBaseMap = JSON.parseObject(adjustInfo.getAdjustAfterBaseJson(), new TypeReference>() { }); for (String key : adjustAfterBaseMap.keySet()) { @@ -1985,36 +1985,43 @@ public class SIArchivesBiz { adjustItem.setId(IdGenerator.generate()); toCreateAdjustHistoryList.add(adjustItem); } - } else if (adjustInfo.getAdjustAfterBaseJson() != null && adjustInfo.getAdjustBeforeBaseJson() != null) { + } else if (StringUtils.isNotBlank(adjustInfo.getAdjustAfterBaseJson()) && StringUtils.isNotBlank(adjustInfo.getAdjustBeforeBaseJson())) { Map adjustAfterBaseMap = JSON.parseObject(adjustInfo.getAdjustAfterBaseJson(), new TypeReference>() { }); Map adjustBeforeBaseMap = JSON.parseObject(adjustInfo.getAdjustBeforeBaseJson(), new TypeReference>() { }); Map reDealMap = new HashMap<>(); - reDealMap.putAll(adjustAfterBaseMap); - reDealMap.putAll(adjustBeforeBaseMap); - for (String key : reDealMap.keySet()) { - String beforeValue = (String) adjustBeforeBaseMap.get(key); - String afterValue = (String) adjustAfterBaseMap.get(key); - if (SalaryEntityUtil.empty2Zero(beforeValue).compareTo(SalaryEntityUtil.empty2Zero(afterValue)) == 0) { - continue; - } - InsuranceArchivesBaseHistoryPO adjustItem = new InsuranceArchivesBaseHistoryPO(); - BeanUtils.copyProperties(adjustInfo, adjustItem); - adjustItem.setAdjustWelfareItemId(Long.valueOf(key)); - adjustItem.setAdjustBeforeBaseValue(beforeValue); - adjustItem.setAdjustAfterBaseValue(afterValue); - adjustItem.setOperateTime(now); - adjustItem.setOperator(creator); - adjustItem.setCreator(creator); - adjustItem.setCreateTime(now); - adjustItem.setUpdateTime(now); - adjustItem.setDeleteType(DeleteTypeEnum.NOT_DELETED.getValue()); - adjustItem.setTenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY); - adjustItem.setId(IdGenerator.generate()); - - toCreateAdjustHistoryList.add(adjustItem); + if (adjustAfterBaseMap != null) { + reDealMap.putAll(adjustAfterBaseMap); } + if (adjustBeforeBaseMap != null) { + reDealMap.putAll(adjustBeforeBaseMap); + } + if (reDealMap.size() >0) { + for (String key : reDealMap.keySet()) { + String beforeValue = (String) adjustBeforeBaseMap.get(key); + String afterValue = (String) adjustAfterBaseMap.get(key); + if (SalaryEntityUtil.empty2Zero(beforeValue).compareTo(SalaryEntityUtil.empty2Zero(afterValue)) == 0) { + continue; + } + InsuranceArchivesBaseHistoryPO adjustItem = new InsuranceArchivesBaseHistoryPO(); + BeanUtils.copyProperties(adjustInfo, adjustItem); + adjustItem.setAdjustWelfareItemId(Long.valueOf(key)); + adjustItem.setAdjustBeforeBaseValue(beforeValue); + adjustItem.setAdjustAfterBaseValue(afterValue); + adjustItem.setOperateTime(now); + adjustItem.setOperator(creator); + adjustItem.setCreator(creator); + adjustItem.setCreateTime(now); + adjustItem.setUpdateTime(now); + adjustItem.setDeleteType(DeleteTypeEnum.NOT_DELETED.getValue()); + adjustItem.setTenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY); + adjustItem.setId(IdGenerator.generate()); + + toCreateAdjustHistoryList.add(adjustItem); + } + } + } return toCreateAdjustHistoryList; } From 267cced46b46263224837464c0b5a1310cc05e3b Mon Sep 17 00:00:00 2001 From: sy Date: Wed, 25 Oct 2023 19:14:02 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E8=96=AA=E9=85=AC=E7=B3=BB=E7=BB=9F-?= =?UTF-8?q?=E7=A6=8F=E5=88=A9=E6=A1=A3=E6=A1=88=EF=BC=8C=E7=A6=8F=E5=88=A9?= =?UTF-8?q?=E6=A1=A3=E6=A1=88=E5=9F=BA=E6=95=B0=E8=B0=83=E6=95=B4=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E5=88=97=E8=A1=A8=E5=8A=9F=E8=83=BD=E4=BC=98=E5=8C=96?= =?UTF-8?q?=EF=BC=8C=E5=8F=AF=E5=B1=95=E7=A4=BA=E9=9D=9E=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E4=BA=BA=E5=91=98=E5=A7=93=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/salary/biz/SIArchivesBiz.java | 9 +++-- .../InsuranceBaseAdjustHistoryMapper.java | 1 + .../InsuranceBaseAdjustHistoryMapper.xml | 36 +++++++++++++++++++ 3 files changed, 44 insertions(+), 2 deletions(-) diff --git a/src/com/engine/salary/biz/SIArchivesBiz.java b/src/com/engine/salary/biz/SIArchivesBiz.java index 05d985742..dcb8a15c8 100644 --- a/src/com/engine/salary/biz/SIArchivesBiz.java +++ b/src/com/engine/salary/biz/SIArchivesBiz.java @@ -2075,8 +2075,13 @@ public class SIArchivesBiz { SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); try { InsuranceBaseAdjustHistoryMapper mapper = sqlSession.getMapper(InsuranceBaseAdjustHistoryMapper.class); - List list = mapper.listByEmployeeIdAndOperator(operator, employeeId); - return list; + List empList = mapper.listByEmployeeIdAndOperator(operator, employeeId); + List extEmpList = mapper.listByExtEmpIdAndOperator(operator, employeeId); + if (extEmpList != null) { + empList.addAll(extEmpList); + empList = empList.stream().filter(f -> StringUtils.isNotBlank(f.getEmployeeName())).collect(Collectors.toList()); + } + return empList; } finally { sqlSession.close(); } diff --git a/src/com/engine/salary/mapper/siarchives/InsuranceBaseAdjustHistoryMapper.java b/src/com/engine/salary/mapper/siarchives/InsuranceBaseAdjustHistoryMapper.java index 746831ccb..39ab84890 100644 --- a/src/com/engine/salary/mapper/siarchives/InsuranceBaseAdjustHistoryMapper.java +++ b/src/com/engine/salary/mapper/siarchives/InsuranceBaseAdjustHistoryMapper.java @@ -26,4 +26,5 @@ public interface InsuranceBaseAdjustHistoryMapper { * 根据操作人或操作对象获取基数调整记录 */ List listByEmployeeIdAndOperator(@Param("operator")Long operator, @Param("employeeId")Long employeeId); + List listByExtEmpIdAndOperator(@Param("operator")Long operator, @Param("employeeId")Long employeeId); } diff --git a/src/com/engine/salary/mapper/siarchives/InsuranceBaseAdjustHistoryMapper.xml b/src/com/engine/salary/mapper/siarchives/InsuranceBaseAdjustHistoryMapper.xml index c910cc17d..da02c83b5 100644 --- a/src/com/engine/salary/mapper/siarchives/InsuranceBaseAdjustHistoryMapper.xml +++ b/src/com/engine/salary/mapper/siarchives/InsuranceBaseAdjustHistoryMapper.xml @@ -196,4 +196,40 @@ ORDER BY t.operate_time DESC, t.adjust_welfare_item_id ASC + + \ No newline at end of file From da04a951d2217745a70230d746e35d97c12f36ae Mon Sep 17 00:00:00 2001 From: sy Date: Thu, 26 Oct 2023 10:00:14 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E8=96=AA=E9=85=AC=E7=B3=BB=E7=BB=9F-?= =?UTF-8?q?=E7=A6=8F=E5=88=A9=E6=A1=A3=E6=A1=88=EF=BC=8C=E7=A6=8F=E5=88=A9?= =?UTF-8?q?=E6=A1=A3=E6=A1=88=E5=9F=BA=E6=95=B0=E8=B0=83=E6=95=B4=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E5=88=97=E8=A1=A8=E6=8E=92=E5=BA=8F=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/salary/biz/SIArchivesBiz.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/com/engine/salary/biz/SIArchivesBiz.java b/src/com/engine/salary/biz/SIArchivesBiz.java index dcb8a15c8..d3d7e2ddc 100644 --- a/src/com/engine/salary/biz/SIArchivesBiz.java +++ b/src/com/engine/salary/biz/SIArchivesBiz.java @@ -2079,7 +2079,8 @@ public class SIArchivesBiz { List extEmpList = mapper.listByExtEmpIdAndOperator(operator, employeeId); if (extEmpList != null) { empList.addAll(extEmpList); - empList = empList.stream().filter(f -> StringUtils.isNotBlank(f.getEmployeeName())).collect(Collectors.toList()); + empList = empList.stream().filter(f -> StringUtils.isNotBlank(f.getEmployeeName())) + .sorted(Comparator.comparing(InsuranceArchivesBaseHistoryDTO::getOperateTime).reversed()).collect(Collectors.toList()); } return empList; } finally {