From 5b2609d93fa435ad4a2d0838771d6b3db866b11c Mon Sep 17 00:00:00 2001 From: sy Date: Wed, 25 Oct 2023 09:49:16 +0800 Subject: [PATCH 01/18] =?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 02/18] =?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 03/18] =?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 04/18] =?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 { From d2127cccff5729294434ccc74dc80739569b6a7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Wed, 15 Nov 2023 13:32:37 +0800 Subject: [PATCH 05/18] =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/salaryBill/bo/SalaryBillBO.java | 28 ++++++++--- .../salaryBill/dto/SalaryBillSendDTO.java | 5 +- .../salaryBill/dto/SalaryTemplateSMSDTO.java | 23 +++++++++ .../dto/SalaryTemplateSMSSetDTO.java | 34 ++++++++++++++ .../param/SalaryTemplateSaveParam.java | 14 ++++-- .../salaryBill/po/SalaryTemplatePO.java | 5 ++ .../salarybill/SalaryTemplateMapper.xml | 18 +++++++ .../service/impl/SalaryBillServiceImpl.java | 8 ++-- .../impl/SalaryTemplateServiceImpl.java | 47 ++++++++++--------- 9 files changed, 146 insertions(+), 36 deletions(-) create mode 100644 src/com/engine/salary/entity/salaryBill/dto/SalaryTemplateSMSDTO.java create mode 100644 src/com/engine/salary/entity/salaryBill/dto/SalaryTemplateSMSSetDTO.java diff --git a/src/com/engine/salary/entity/salaryBill/bo/SalaryBillBO.java b/src/com/engine/salary/entity/salaryBill/bo/SalaryBillBO.java index aab57656e..e1b31c48e 100644 --- a/src/com/engine/salary/entity/salaryBill/bo/SalaryBillBO.java +++ b/src/com/engine/salary/entity/salaryBill/bo/SalaryBillBO.java @@ -10,10 +10,7 @@ import com.engine.salary.constant.SalaryArchiveConstant; import com.engine.salary.constant.SalaryBillConstant; import com.engine.salary.constant.SalaryTemplateSalaryItemSetGroupConstant; import com.engine.salary.entity.datacollection.DataCollectionEmployee; -import com.engine.salary.entity.salaryBill.dto.SalaryBillSendDTO; -import com.engine.salary.entity.salaryBill.dto.SalaryBillWatermarkDTO; -import com.engine.salary.entity.salaryBill.dto.SalaryTemplateSalaryItemListDTO; -import com.engine.salary.entity.salaryBill.dto.SalaryTemplateSalaryItemSetListDTO; +import com.engine.salary.entity.salaryBill.dto.*; import com.engine.salary.entity.salaryBill.po.SalaryTemplatePO; import com.engine.salary.entity.salaryformula.dto.SalaryFormulaEmployeeDTO; import com.engine.salary.enums.salarybill.MessageChannelEnum; @@ -144,6 +141,8 @@ public class SalaryBillBO { .telephone(org.apache.commons.lang3.StringUtils.isEmpty(simpleEmployee.getTelephone()) ? "" : simpleEmployee.getTelephone()) .username(org.apache.commons.lang3.StringUtils.isEmpty(simpleEmployee.getUsername()) ? "" : simpleEmployee.getUsername()) .workcode(simpleEmployee.getWorkcode()) + .idNo(simpleEmployee.getIdNo()) + .statusName(simpleEmployee.getStatusName()) .build(); List items = employeeInformation.getItems(); // 1.SalaryAcctResultBO.buildEmployeeFieldName()的取法 @@ -289,7 +288,7 @@ public class SalaryBillBO { File touch = FileUtil.touch(htmlPath); FileUtil.appendUtf8String(content, touch); - String pdfPath = HrmSalaryPayrollConf.GEN_PATH + yyyyMM + File.separator+ sendId + File.separator + id + ".pdf"; + String pdfPath = HrmSalaryPayrollConf.GEN_PATH + yyyyMM + File.separator + sendId + File.separator + id + ".pdf"; FileUtil.del(pdfPath); HtmlToPdf.convert(HrmSalaryPayrollConf.TO_PDF_TOOL_PATH, htmlPath, pdfPath); } @@ -364,7 +363,24 @@ public class SalaryBillBO { public static void sendSMS(Map e, SalaryBillSendDTO salaryBillSendParam) { - System.out.println(111); + + SalaryTemplateSMSSetDTO smsSetting = salaryBillSendParam.getSmsSetting(); + String content = smsSetting != null ? smsSetting.getContent() : ""; + + content = ""; + + if (StringUtils.isBlank(content)) { + return; + } + + List items = smsSetting.getItems(); + for (int i = 0; i < items.size(); i++) { + SalaryTemplateSMSDTO item = items.get(i); + content = content.replace(item.getItemName(), item.getItemKey()) + .replace(item.getItemKey(), e.getOrDefault(item.getItemKey(), "").toString()); + } + + System.out.println(content); // try { // MessageUtil.sendSMS(mobile, content); diff --git a/src/com/engine/salary/entity/salaryBill/dto/SalaryBillSendDTO.java b/src/com/engine/salary/entity/salaryBill/dto/SalaryBillSendDTO.java index 4d82ace0e..c77c0bd7a 100644 --- a/src/com/engine/salary/entity/salaryBill/dto/SalaryBillSendDTO.java +++ b/src/com/engine/salary/entity/salaryBill/dto/SalaryBillSendDTO.java @@ -64,6 +64,9 @@ public class SalaryBillSendDTO { //工资单模板-薪资项目设置 private List salaryItemSetList; + //短信模板 + private SalaryTemplateSMSSetDTO smsSetting; + //工资单模板-员工基本信息 private SalaryTemplateSalaryItemSetListDTO employeeInformation; @@ -74,7 +77,7 @@ public class SalaryBillSendDTO { private String remarkI18n; //邮件是否可以发送邮件 - private boolean isEnableEmail; +// private boolean isEnableEmail; //工资单发放 private SalarySendPO salarySend; diff --git a/src/com/engine/salary/entity/salaryBill/dto/SalaryTemplateSMSDTO.java b/src/com/engine/salary/entity/salaryBill/dto/SalaryTemplateSMSDTO.java new file mode 100644 index 000000000..829c6c799 --- /dev/null +++ b/src/com/engine/salary/entity/salaryBill/dto/SalaryTemplateSMSDTO.java @@ -0,0 +1,23 @@ +package com.engine.salary.entity.salaryBill.dto; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class SalaryTemplateSMSDTO { + + //展示名称 + private String itemName; + + //薪资项目 + private String itemKey; + + //来源 + private String source; +} diff --git a/src/com/engine/salary/entity/salaryBill/dto/SalaryTemplateSMSSetDTO.java b/src/com/engine/salary/entity/salaryBill/dto/SalaryTemplateSMSSetDTO.java new file mode 100644 index 000000000..3171871ff --- /dev/null +++ b/src/com/engine/salary/entity/salaryBill/dto/SalaryTemplateSMSSetDTO.java @@ -0,0 +1,34 @@ +package com.engine.salary.entity.salaryBill.dto; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * 短信模板设置 + *

Copyright: Copyright (c) 2023

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class SalaryTemplateSMSSetDTO { + + /** + * 内容 + */ + private String content; + + + /** + * 薪资项目 + */ + private List items; +} diff --git a/src/com/engine/salary/entity/salaryBill/param/SalaryTemplateSaveParam.java b/src/com/engine/salary/entity/salaryBill/param/SalaryTemplateSaveParam.java index bbf16949e..7f13c13c6 100644 --- a/src/com/engine/salary/entity/salaryBill/param/SalaryTemplateSaveParam.java +++ b/src/com/engine/salary/entity/salaryBill/param/SalaryTemplateSaveParam.java @@ -1,5 +1,6 @@ package com.engine.salary.entity.salaryBill.param; +import com.engine.salary.entity.salaryBill.dto.SalaryTemplateSMSSetDTO; import com.engine.salary.entity.salaryBill.dto.SalaryTemplateSalaryItemSetListDTO; import com.engine.salary.enums.salarybill.SalaryTemplateTextContentPositionEnum; import com.engine.salary.exception.SalaryRunTimeException; @@ -45,6 +46,9 @@ public class SalaryTemplateSaveParam { // 消息中心开启状态。false:关、true:开 private Boolean msgStatus; + // 短信开关 false:关、true:开 + private Boolean smsStatus; + // 主题 private String theme; @@ -78,6 +82,9 @@ public class SalaryTemplateSaveParam { // 薪资项目设置 private List salaryItemSetting; + //短信模板 + private SalaryTemplateSMSSetDTO smsSetting; + // 补发工资单模板名称 private String replenishName; @@ -100,7 +107,6 @@ public class SalaryTemplateSaveParam { /** * 反馈流程地址 - * */ private String feedbackUrl; @@ -153,11 +159,11 @@ public class SalaryTemplateSaveParam { } if (saveParam.getAutoSendStatus() == Boolean.TRUE) { - if(StringUtils.isBlank(saveParam.getAutoSendDayOfMonth())) + if (StringUtils.isBlank(saveParam.getAutoSendDayOfMonth())) throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(140509, "自动发放日期不能为空")); - if(Objects.isNull(saveParam.getAutoSendCycleType())) + if (Objects.isNull(saveParam.getAutoSendCycleType())) throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(140509, "自动发放周期不能为空")); - if(StringUtils.isBlank(saveParam.getAutoSendTimeOfDay())) + if (StringUtils.isBlank(saveParam.getAutoSendTimeOfDay())) throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(140509, "自动发放时间不能为空")); } } diff --git a/src/com/engine/salary/entity/salaryBill/po/SalaryTemplatePO.java b/src/com/engine/salary/entity/salaryBill/po/SalaryTemplatePO.java index fd8e1a1c9..a428a68ed 100644 --- a/src/com/engine/salary/entity/salaryBill/po/SalaryTemplatePO.java +++ b/src/com/engine/salary/entity/salaryBill/po/SalaryTemplatePO.java @@ -68,6 +68,11 @@ public class SalaryTemplatePO { */ private Integer smsStatus; + /** + * 短信模板设置 + */ + private String smsSetting; + /** * 薪酬水印 */ diff --git a/src/com/engine/salary/mapper/salarybill/SalaryTemplateMapper.xml b/src/com/engine/salary/mapper/salarybill/SalaryTemplateMapper.xml index 29a016b93..e17ddfec3 100644 --- a/src/com/engine/salary/mapper/salarybill/SalaryTemplateMapper.xml +++ b/src/com/engine/salary/mapper/salarybill/SalaryTemplateMapper.xml @@ -26,6 +26,7 @@ + @@ -62,6 +63,7 @@ , t.update_time , t.creator , t.delete_type + , t.sms_setting