diff --git a/resource/WEB-INF/prop/hrmSalary.properties b/resource/WEB-INF/prop/hrmSalary.properties index 55360c99a..24be7d7cc 100644 --- a/resource/WEB-INF/prop/hrmSalary.properties +++ b/resource/WEB-INF/prop/hrmSalary.properties @@ -1,5 +1,5 @@ log=false defaultCloseNonStandard149=true AESEncryptScrect=990EB004A1C862721C1513AE90038C9E -version=3.0.1.2503.01 +version=3.0.2.2504.01 openFormulaForcedEditing=false \ No newline at end of file diff --git a/resource/sqlupgrade/DM/sql202411190103.sql b/resource/sqlupgrade/DM/sql202411190103.sql index 1d13e52dd..a02da0e03 100644 --- a/resource/sqlupgrade/DM/sql202411190103.sql +++ b/resource/sqlupgrade/DM/sql202411190103.sql @@ -32,39 +32,3 @@ CREATE TABLE hrsa_push_setting_item ); / -CREATE TABLE hrsa_push_record -( - id NUMBER(38,0) NOT NULL, - name varchar2(200), - setting_id NUMBER(38,0), - mode_id number, - table_name varchar2(100), - acct_record_id NUMBER(38,0), - type number, - status number, - start_time date, - end_time date, - creator NUMBER(38,0), - create_time date, - update_time date, - delete_type number, - tenant_key varchar2(10) -); -/ - -CREATE TABLE hrsa_push_record_detail -( - id NUMBER(38,0) NOT NULL, - record_id NUMBER(38,0), - acct_emp_id NUMBER(38,0), - formula CLOB, - execute_time date, - status number, - creator NUMBER(38,0), - create_time date, - update_time date, - delete_type number, - tenant_key varchar2(10) -); -/ - diff --git a/resource/sqlupgrade/DM/sql202504020203.sql b/resource/sqlupgrade/DM/sql202504020203.sql index d54eff0ca..fb88e05b0 100644 --- a/resource/sqlupgrade/DM/sql202504020203.sql +++ b/resource/sqlupgrade/DM/sql202504020203.sql @@ -1,3 +1,39 @@ +CREATE TABLE hrsa_push_record +( + id NUMBER(38,0) NOT NULL, + name varchar2(200), + setting_id NUMBER(38,0), + mode_id number, + table_name varchar2(100), + acct_record_id NUMBER(38,0), + type number, + status number, + start_time date, + end_time date, + creator NUMBER(38,0), + create_time date, + update_time date, + delete_type number, + tenant_key varchar2(10) +); +/ + +CREATE TABLE hrsa_push_record_detail +( + id NUMBER(38,0) NOT NULL, + record_id NUMBER(38,0), + acct_emp_id NUMBER(38,0), + formula CLOB, + execute_time date, + status number, + creator NUMBER(38,0), + create_time date, + update_time date, + delete_type number, + tenant_key varchar2(10) +); +/ + ALTER TABLE hrsa_push_record ADD fail_reason varchar2(4000); / diff --git a/resource/sqlupgrade/GS/sql202411190103.sql b/resource/sqlupgrade/GS/sql202411190103.sql index 1d13e52dd..a02da0e03 100644 --- a/resource/sqlupgrade/GS/sql202411190103.sql +++ b/resource/sqlupgrade/GS/sql202411190103.sql @@ -32,39 +32,3 @@ CREATE TABLE hrsa_push_setting_item ); / -CREATE TABLE hrsa_push_record -( - id NUMBER(38,0) NOT NULL, - name varchar2(200), - setting_id NUMBER(38,0), - mode_id number, - table_name varchar2(100), - acct_record_id NUMBER(38,0), - type number, - status number, - start_time date, - end_time date, - creator NUMBER(38,0), - create_time date, - update_time date, - delete_type number, - tenant_key varchar2(10) -); -/ - -CREATE TABLE hrsa_push_record_detail -( - id NUMBER(38,0) NOT NULL, - record_id NUMBER(38,0), - acct_emp_id NUMBER(38,0), - formula CLOB, - execute_time date, - status number, - creator NUMBER(38,0), - create_time date, - update_time date, - delete_type number, - tenant_key varchar2(10) -); -/ - diff --git a/resource/sqlupgrade/GS/sql202504020203.sql b/resource/sqlupgrade/GS/sql202504020203.sql index d54eff0ca..fb88e05b0 100644 --- a/resource/sqlupgrade/GS/sql202504020203.sql +++ b/resource/sqlupgrade/GS/sql202504020203.sql @@ -1,3 +1,39 @@ +CREATE TABLE hrsa_push_record +( + id NUMBER(38,0) NOT NULL, + name varchar2(200), + setting_id NUMBER(38,0), + mode_id number, + table_name varchar2(100), + acct_record_id NUMBER(38,0), + type number, + status number, + start_time date, + end_time date, + creator NUMBER(38,0), + create_time date, + update_time date, + delete_type number, + tenant_key varchar2(10) +); +/ + +CREATE TABLE hrsa_push_record_detail +( + id NUMBER(38,0) NOT NULL, + record_id NUMBER(38,0), + acct_emp_id NUMBER(38,0), + formula CLOB, + execute_time date, + status number, + creator NUMBER(38,0), + create_time date, + update_time date, + delete_type number, + tenant_key varchar2(10) +); +/ + ALTER TABLE hrsa_push_record ADD fail_reason varchar2(4000); / diff --git a/resource/sqlupgrade/JC/sql202411190103.sql b/resource/sqlupgrade/JC/sql202411190103.sql index 1d13e52dd..a02da0e03 100644 --- a/resource/sqlupgrade/JC/sql202411190103.sql +++ b/resource/sqlupgrade/JC/sql202411190103.sql @@ -32,39 +32,3 @@ CREATE TABLE hrsa_push_setting_item ); / -CREATE TABLE hrsa_push_record -( - id NUMBER(38,0) NOT NULL, - name varchar2(200), - setting_id NUMBER(38,0), - mode_id number, - table_name varchar2(100), - acct_record_id NUMBER(38,0), - type number, - status number, - start_time date, - end_time date, - creator NUMBER(38,0), - create_time date, - update_time date, - delete_type number, - tenant_key varchar2(10) -); -/ - -CREATE TABLE hrsa_push_record_detail -( - id NUMBER(38,0) NOT NULL, - record_id NUMBER(38,0), - acct_emp_id NUMBER(38,0), - formula CLOB, - execute_time date, - status number, - creator NUMBER(38,0), - create_time date, - update_time date, - delete_type number, - tenant_key varchar2(10) -); -/ - diff --git a/resource/sqlupgrade/JC/sql202504020203.sql b/resource/sqlupgrade/JC/sql202504020203.sql index d54eff0ca..fb88e05b0 100644 --- a/resource/sqlupgrade/JC/sql202504020203.sql +++ b/resource/sqlupgrade/JC/sql202504020203.sql @@ -1,3 +1,39 @@ +CREATE TABLE hrsa_push_record +( + id NUMBER(38,0) NOT NULL, + name varchar2(200), + setting_id NUMBER(38,0), + mode_id number, + table_name varchar2(100), + acct_record_id NUMBER(38,0), + type number, + status number, + start_time date, + end_time date, + creator NUMBER(38,0), + create_time date, + update_time date, + delete_type number, + tenant_key varchar2(10) +); +/ + +CREATE TABLE hrsa_push_record_detail +( + id NUMBER(38,0) NOT NULL, + record_id NUMBER(38,0), + acct_emp_id NUMBER(38,0), + formula CLOB, + execute_time date, + status number, + creator NUMBER(38,0), + create_time date, + update_time date, + delete_type number, + tenant_key varchar2(10) +); +/ + ALTER TABLE hrsa_push_record ADD fail_reason varchar2(4000); / diff --git a/resource/sqlupgrade/Mysql/sql202411190103.sql b/resource/sqlupgrade/Mysql/sql202411190103.sql index fdfc32280..9ceb2c5b9 100644 --- a/resource/sqlupgrade/Mysql/sql202411190103.sql +++ b/resource/sqlupgrade/Mysql/sql202411190103.sql @@ -33,39 +33,3 @@ CREATE TABLE hrsa_push_setting_item PRIMARY KEY (id) USING BTREE ); - -CREATE TABLE hrsa_push_record -( - id bigint(0) NOT NULL, - name varchar(200), - setting_id bigint(0), - mode_id int(0), - table_name varchar(100), - acct_record_id bigint(0), - type int(0), - status int(0), - start_time datetime(0), - end_time datetime(0), - creator bigint(0), - create_time datetime(0), - update_time datetime(0), - delete_type int(0), - tenant_key varchar(10), - PRIMARY KEY (id) USING BTREE -); - -CREATE TABLE hrsa_push_record_detail -( - id bigint(0) NOT NULL, - record_id bigint(0), - acct_emp_id bigint(0), - formula text, - execute_time datetime(0), - status int(0), - creator bigint(0), - create_time datetime(0), - update_time datetime(0), - delete_type int(0), - tenant_key varchar(10), - PRIMARY KEY (id) USING BTREE -); \ No newline at end of file diff --git a/resource/sqlupgrade/Mysql/sql202504020203.sql b/resource/sqlupgrade/Mysql/sql202504020203.sql index f7f94d4b6..43798afc8 100644 --- a/resource/sqlupgrade/Mysql/sql202504020203.sql +++ b/resource/sqlupgrade/Mysql/sql202504020203.sql @@ -1,3 +1,39 @@ +CREATE TABLE hrsa_push_record +( + id bigint(0) NOT NULL, + name varchar(200), + setting_id bigint(0), + mode_id int(0), + table_name varchar(100), + acct_record_id bigint(0), + type int(0), + status int(0), + start_time datetime(0), + end_time datetime(0), + creator bigint(0), + create_time datetime(0), + update_time datetime(0), + delete_type int(0), + tenant_key varchar(10), + PRIMARY KEY (id) USING BTREE +); + +CREATE TABLE hrsa_push_record_detail +( + id bigint(0) NOT NULL, + record_id bigint(0), + acct_emp_id bigint(0), + formula text, + execute_time datetime(0), + status int(0), + creator bigint(0), + create_time datetime(0), + update_time datetime(0), + delete_type int(0), + tenant_key varchar(10), + PRIMARY KEY (id) USING BTREE +); + ALTER TABLE hrsa_push_record ADD COLUMN fail_reason varchar(4000); ALTER TABLE hrsa_push_record_detail ADD COLUMN fail_reason varchar(4000) ; diff --git a/resource/sqlupgrade/Oracle/sql202411190103.sql b/resource/sqlupgrade/Oracle/sql202411190103.sql index 09f3ee1bd..68b19ec3e 100644 --- a/resource/sqlupgrade/Oracle/sql202411190103.sql +++ b/resource/sqlupgrade/Oracle/sql202411190103.sql @@ -31,41 +31,4 @@ CREATE TABLE hrsa_push_setting_item delete_type number, tenant_key varchar2(10) ) -/ - - -CREATE TABLE hrsa_push_record -( - id NUMBER(38,0) NOT NULL, - name varchar2(200), - setting_id NUMBER(38,0), - mode_id number, - table_name varchar2(100), - acct_record_id NUMBER(38,0), - type number, - status number, - start_time date, - end_time date, - creator NUMBER(38,0), - create_time date, - update_time date, - delete_type number, - tenant_key varchar2(10) -) -/ - -CREATE TABLE hrsa_push_record_detail -( - id NUMBER(38,0) NOT NULL, - record_id NUMBER(38,0), - acct_emp_id NUMBER(38,0), - formula CLOB, - execute_time date, - status number, - creator NUMBER(38,0), - create_time date, - update_time date, - delete_type number, - tenant_key varchar2(10) -) / \ No newline at end of file diff --git a/resource/sqlupgrade/Oracle/sql202504020203.sql b/resource/sqlupgrade/Oracle/sql202504020203.sql index ea71581d2..2246611d0 100644 --- a/resource/sqlupgrade/Oracle/sql202504020203.sql +++ b/resource/sqlupgrade/Oracle/sql202504020203.sql @@ -1,3 +1,39 @@ +CREATE TABLE hrsa_push_record +( + id NUMBER(38,0) NOT NULL, + name varchar2(200), + setting_id NUMBER(38,0), + mode_id number, + table_name varchar2(100), + acct_record_id NUMBER(38,0), + type number, + status number, + start_time date, + end_time date, + creator NUMBER(38,0), + create_time date, + update_time date, + delete_type number, + tenant_key varchar2(10) +) +/ + +CREATE TABLE hrsa_push_record_detail +( + id NUMBER(38,0) NOT NULL, + record_id NUMBER(38,0), + acct_emp_id NUMBER(38,0), + formula CLOB, + execute_time date, + status number, + creator NUMBER(38,0), + create_time date, + update_time date, + delete_type number, + tenant_key varchar2(10) +) +/ + ALTER TABLE hrsa_push_record ADD fail_reason varchar2(4000); / diff --git a/resource/sqlupgrade/PG/sql202411190103.sql b/resource/sqlupgrade/PG/sql202411190103.sql index 5f4272388..3874c397f 100644 --- a/resource/sqlupgrade/PG/sql202411190103.sql +++ b/resource/sqlupgrade/PG/sql202411190103.sql @@ -31,41 +31,4 @@ CREATE TABLE hrsa_push_setting_item delete_type int, tenant_key varchar(10), PRIMARY KEY (id) -); - - -CREATE TABLE hrsa_push_record -( - id bigint NOT NULL, - name varchar(200), - setting_id bigint, - mode_id int, - table_name varchar(100), - acct_record_id bigint, - type int, - status int, - start_time timestamp, - end_time timestamp, - creator bigint, - create_time timestamp, - update_time timestamp, - delete_type int, - tenant_key varchar(10), - PRIMARY KEY (id) -); - -CREATE TABLE hrsa_push_record_detail -( - id bigint NOT NULL, - record_id bigint, - acct_emp_id bigint, - formula text, - execute_time timestamp, - status int, - creator bigint, - create_time timestamp, - update_time timestamp, - delete_type int, - tenant_key varchar(10), - PRIMARY KEY (id) ); \ No newline at end of file diff --git a/resource/sqlupgrade/PG/sql202504020203.sql b/resource/sqlupgrade/PG/sql202504020203.sql index adb7b31e2..6643f1adf 100644 --- a/resource/sqlupgrade/PG/sql202504020203.sql +++ b/resource/sqlupgrade/PG/sql202504020203.sql @@ -1,3 +1,39 @@ +CREATE TABLE hrsa_push_record +( + id bigint NOT NULL, + name varchar(200), + setting_id bigint, + mode_id int, + table_name varchar(100), + acct_record_id bigint, + type int, + status int, + start_time timestamp, + end_time timestamp, + creator bigint, + create_time timestamp, + update_time timestamp, + delete_type int, + tenant_key varchar(10), + PRIMARY KEY (id) +); + +CREATE TABLE hrsa_push_record_detail +( + id bigint NOT NULL, + record_id bigint, + acct_emp_id bigint, + formula text, + execute_time timestamp, + status int, + creator bigint, + create_time timestamp, + update_time timestamp, + delete_type int, + tenant_key varchar(10), + PRIMARY KEY (id) +); + alter table hrsa_push_record add fail_reason VARCHAR(4000) ; alter table hrsa_push_record_detail add fail_reason VARCHAR(4000) ; \ No newline at end of file diff --git a/resource/sqlupgrade/SQLServer/sql202411190103.sql b/resource/sqlupgrade/SQLServer/sql202411190103.sql index dd06040a8..334e78b42 100644 --- a/resource/sqlupgrade/SQLServer/sql202411190103.sql +++ b/resource/sqlupgrade/SQLServer/sql202411190103.sql @@ -33,43 +33,4 @@ CREATE TABLE hrsa_push_setting_item tenant_key varchar(10), PRIMARY KEY (id) ) -GO - - -CREATE TABLE hrsa_push_record -( - id bigint NOT NULL, - name varchar(200), - setting_id bigint, - mode_id int, - table_name varchar(100), - acct_record_id bigint, - type int, - status int, - start_time datetime, - end_time datetime, - creator bigint, - create_time datetime, - update_time datetime, - delete_type int, - tenant_key varchar(10), - PRIMARY KEY (id) -) -GO - -CREATE TABLE hrsa_push_record_detail -( - id bigint NOT NULL, - record_id bigint, - acct_emp_id bigint, - formula text, - execute_time datetime, - status int, - creator bigint, - create_time datetime, - update_time datetime, - delete_type int, - tenant_key varchar(10), - PRIMARY KEY (id) -) GO \ No newline at end of file diff --git a/resource/sqlupgrade/SQLServer/sql202504020203.sql b/resource/sqlupgrade/SQLServer/sql202504020203.sql index 312077f79..fbedb9edd 100644 --- a/resource/sqlupgrade/SQLServer/sql202504020203.sql +++ b/resource/sqlupgrade/SQLServer/sql202504020203.sql @@ -1,3 +1,41 @@ +CREATE TABLE hrsa_push_record +( + id bigint NOT NULL, + name varchar(200), + setting_id bigint, + mode_id int, + table_name varchar(100), + acct_record_id bigint, + type int, + status int, + start_time datetime, + end_time datetime, + creator bigint, + create_time datetime, + update_time datetime, + delete_type int, + tenant_key varchar(10), + PRIMARY KEY (id) +) +GO + +CREATE TABLE hrsa_push_record_detail +( + id bigint NOT NULL, + record_id bigint, + acct_emp_id bigint, + formula text, + execute_time datetime, + status int, + creator bigint, + create_time datetime, + update_time datetime, + delete_type int, + tenant_key varchar(10), + PRIMARY KEY (id) +) +GO + alter table hrsa_push_record add fail_reason VARCHAR(4000) go diff --git a/resource/sqlupgrade/ST/sql202411190103.sql b/resource/sqlupgrade/ST/sql202411190103.sql index 1d13e52dd..a02da0e03 100644 --- a/resource/sqlupgrade/ST/sql202411190103.sql +++ b/resource/sqlupgrade/ST/sql202411190103.sql @@ -32,39 +32,3 @@ CREATE TABLE hrsa_push_setting_item ); / -CREATE TABLE hrsa_push_record -( - id NUMBER(38,0) NOT NULL, - name varchar2(200), - setting_id NUMBER(38,0), - mode_id number, - table_name varchar2(100), - acct_record_id NUMBER(38,0), - type number, - status number, - start_time date, - end_time date, - creator NUMBER(38,0), - create_time date, - update_time date, - delete_type number, - tenant_key varchar2(10) -); -/ - -CREATE TABLE hrsa_push_record_detail -( - id NUMBER(38,0) NOT NULL, - record_id NUMBER(38,0), - acct_emp_id NUMBER(38,0), - formula CLOB, - execute_time date, - status number, - creator NUMBER(38,0), - create_time date, - update_time date, - delete_type number, - tenant_key varchar2(10) -); -/ - diff --git a/resource/sqlupgrade/ST/sql202504020203.sql b/resource/sqlupgrade/ST/sql202504020203.sql index d54eff0ca..fb88e05b0 100644 --- a/resource/sqlupgrade/ST/sql202504020203.sql +++ b/resource/sqlupgrade/ST/sql202504020203.sql @@ -1,3 +1,39 @@ +CREATE TABLE hrsa_push_record +( + id NUMBER(38,0) NOT NULL, + name varchar2(200), + setting_id NUMBER(38,0), + mode_id number, + table_name varchar2(100), + acct_record_id NUMBER(38,0), + type number, + status number, + start_time date, + end_time date, + creator NUMBER(38,0), + create_time date, + update_time date, + delete_type number, + tenant_key varchar2(10) +); +/ + +CREATE TABLE hrsa_push_record_detail +( + id NUMBER(38,0) NOT NULL, + record_id NUMBER(38,0), + acct_emp_id NUMBER(38,0), + formula CLOB, + execute_time date, + status number, + creator NUMBER(38,0), + create_time date, + update_time date, + delete_type number, + tenant_key varchar2(10) +); +/ + ALTER TABLE hrsa_push_record ADD fail_reason varchar2(4000); / diff --git a/src/com/engine/salary/biz/SalarySendRangeObjBiz.java b/src/com/engine/salary/biz/SalarySendRangeObjBiz.java index 05ccaaadb..53633dce6 100644 --- a/src/com/engine/salary/biz/SalarySendRangeObjBiz.java +++ b/src/com/engine/salary/biz/SalarySendRangeObjBiz.java @@ -7,6 +7,8 @@ import com.engine.salary.entity.taxagent.dto.TaxAgentEmployeeTaxAgentDTO; import com.engine.salary.mapper.salarybill.SalarySendRangeObjMapper; import com.engine.salary.service.TaxAgentService; import com.engine.salary.service.impl.TaxAgentServiceImpl; +import com.engine.salary.util.db.MapperProxyFactory; +import com.google.common.collect.Lists; import org.apache.commons.collections4.CollectionUtils; import org.apache.ibatis.session.SqlSession; import weaver.conn.mybatis.MyBatisFactory; @@ -23,6 +25,10 @@ public class SalarySendRangeObjBiz { return ServiceUtil.getService(TaxAgentServiceImpl.class); } + private SalarySendRangeObjMapper getSalarySendRangeObjMapper() { + return MapperProxyFactory.getProxy(SalarySendRangeObjMapper.class); + } + public R applyMapper(Function mapper) { try (SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession()) { final SalarySendRangeObjMapper salarySendRangeObjMapper = sqlSession.getMapper(SalarySendRangeObjMapper.class); @@ -41,7 +47,13 @@ public class SalarySendRangeObjBiz { } public List getSalarySendUserInfoDTOs(List employees) { - List userDTOs = applyMapper(mapper -> mapper.getUserInfoByEmployeeIds(employees)); + List userDTOs = new ArrayList<>(); + List> partition = Lists.partition(employees, 500); + partition.forEach(l->{ + List userInfos = getSalarySendRangeObjMapper().getUserInfoByEmployeeIds(l); + userDTOs.addAll(userInfos); + }); + Map userMap = userDTOs.stream() .collect(Collectors.toMap(SalarySendUserInfoDTO::getResourceId, Function.identity())); diff --git a/src/com/engine/salary/entity/push/param/PushParam.java b/src/com/engine/salary/entity/push/param/PushParam.java index f653c639b..36aefd747 100644 --- a/src/com/engine/salary/entity/push/param/PushParam.java +++ b/src/com/engine/salary/entity/push/param/PushParam.java @@ -5,6 +5,8 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import java.util.List; + @Data @Builder @@ -13,9 +15,6 @@ import lombok.NoArgsConstructor; public class PushParam { - private Long id; - - private Long salaryAcctRecordId; - + private List ids; } \ No newline at end of file diff --git a/src/com/engine/salary/entity/push/param/WithdrawParam.java b/src/com/engine/salary/entity/push/param/WithdrawParam.java new file mode 100644 index 000000000..2535db525 --- /dev/null +++ b/src/com/engine/salary/entity/push/param/WithdrawParam.java @@ -0,0 +1,20 @@ +package com.engine.salary.entity.push.param; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class WithdrawParam { + + + private List ids; + +} \ No newline at end of file diff --git a/src/com/engine/salary/entity/push/param/WithdrawPushParam.java b/src/com/engine/salary/entity/push/param/WithdrawPushParam.java new file mode 100644 index 000000000..cc0915bc2 --- /dev/null +++ b/src/com/engine/salary/entity/push/param/WithdrawPushParam.java @@ -0,0 +1,29 @@ +package com.engine.salary.entity.push.param; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + + +/** + * 创建推送记录 + *

Copyright: Copyright (c) 2024

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class WithdrawPushParam { + + + private List ids; + + +} \ No newline at end of file diff --git a/src/com/engine/salary/entity/salaryacct/param/SalaryAcctRecordQueryParam.java b/src/com/engine/salary/entity/salaryacct/param/SalaryAcctRecordQueryParam.java index b737f857e..8424aa765 100644 --- a/src/com/engine/salary/entity/salaryacct/param/SalaryAcctRecordQueryParam.java +++ b/src/com/engine/salary/entity/salaryacct/param/SalaryAcctRecordQueryParam.java @@ -7,6 +7,7 @@ import lombok.Data; import lombok.NoArgsConstructor; import java.time.YearMonth; +import java.util.List; /** * 薪资核算列表查询参数 @@ -31,6 +32,11 @@ public class SalaryAcctRecordQueryParam extends BaseQueryParam { //账套名称") private String name; + /** + * 扣缴义务人id集合 + */ + private List taxAgentIds; + private String startMonthStr; private String endMonthStr; } diff --git a/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java index 10549ddc3..b2fa829a9 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java @@ -1,5 +1,6 @@ package com.engine.salary.service.impl; +import cn.hutool.core.collection.CollUtil; import com.api.formmode.mybatis.util.SqlProxyHandle; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; @@ -207,6 +208,21 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe Set salarySobIds = SalaryEntityUtil.properties(salarySobPOS, SalarySobPO::getId); po.setSalarySobIds(salarySobIds); } + if (CollUtil.isNotEmpty(queryParam.getTaxAgentIds())) { + List salarySobPOS = getSalarySobService(user).listByTaxAgentIds(queryParam.getTaxAgentIds()); + if (CollectionUtils.isEmpty(salarySobPOS)) { + return page; + } + Set salarySobIds = SalaryEntityUtil.properties(salarySobPOS, SalarySobPO::getId); + + Collection existIds = po.getSalarySobIds(); + if (CollectionUtils.isNotEmpty(existIds)) { + existIds = SalaryEntityUtil.intersectionForList(existIds, salarySobIds); + po.setSalarySobIds(existIds); + } else { + po.setSalarySobIds(salarySobIds); + } + } LocalDateRange localDateRange = new LocalDateRange(); if (Objects.nonNull(queryParam.getStartMonth())) { localDateRange.setFromDate(SalaryDateUtil.localDateToDate(queryParam.getStartMonth().atDay(1))); @@ -981,6 +997,6 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe @Override public void updateDate(Long id, Date updateTime) { - getSalaryAcctRecordMapper().updateDate(id,updateTime); + getSalaryAcctRecordMapper().updateDate(id, updateTime); } } diff --git a/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java b/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java index 993d72cef..8bb9b4e61 100644 --- a/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java @@ -1356,7 +1356,12 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe if (CollectionUtils.isEmpty(employeeIds)) { return Collections.emptyList(); } - return getSalaryArchiveMapper().listPayEndDateIsNull(employeeIds); + List> partition = Lists.partition(employeeIds, 500); + List resultList = new ArrayList<>(); + partition.forEach(part -> { + resultList.addAll(getSalaryArchiveMapper().listPayEndDateIsNull(part)); + }); + return resultList; } @Override diff --git a/src/com/engine/salary/service/impl/SalaryBillServiceImpl.java b/src/com/engine/salary/service/impl/SalaryBillServiceImpl.java index 41bec2448..e51b45513 100644 --- a/src/com/engine/salary/service/impl/SalaryBillServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryBillServiceImpl.java @@ -166,16 +166,6 @@ public class SalaryBillServiceImpl extends Service implements SalaryBillService && Optional.ofNullable(salaryBillProgress.getProgress()).orElse(BigDecimal.ZERO).compareTo(BigDecimal.ONE) < 0) { throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(136104, "有其他人员正在发送中,请等待其他人员发送结束后再操作")); } - // 初始化进度 - ProgressDTO initProgress = ProgressDTO.builder() - .title(SalaryI18nUtil.getI18nLabel(136097, "发送中")) - .totalQuantity(NumberUtils.INTEGER_ZERO) - .calculatedQuantity(NumberUtils.INTEGER_ZERO) - .progress(BigDecimal.ZERO) - .status(true) - .message("") - .build(); - getProgressService(user).initProgress(SalaryCacheKey.SALARY_GRANT_PROGRESS + "_" + salarySend.getId(), initProgress); List ids = param.getIds(); @@ -187,6 +177,17 @@ public class SalaryBillServiceImpl extends Service implements SalaryBillService throw new SalaryRunTimeException("工资发放范围内没有匹配员工"); } } + // 初始化进度 + ProgressDTO initProgress = ProgressDTO.builder() + .title(SalaryI18nUtil.getI18nLabel(136097, "发送中")) + .totalQuantity(NumberUtils.INTEGER_ZERO) + .calculatedQuantity(NumberUtils.INTEGER_ZERO) + .progress(BigDecimal.ZERO) + .status(true) + .message("") + .build(); + getProgressService(user).initProgress(SalaryCacheKey.SALARY_GRANT_PROGRESS + "_" + salarySend.getId(), initProgress); + // 异步执行 List finalIds = ids; LocalRunnable localRunnable = new LocalRunnable() { diff --git a/src/com/engine/salary/service/impl/SalarySobServiceImpl.java b/src/com/engine/salary/service/impl/SalarySobServiceImpl.java index c1762112d..c2038c425 100644 --- a/src/com/engine/salary/service/impl/SalarySobServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalarySobServiceImpl.java @@ -284,7 +284,7 @@ public class SalarySobServiceImpl extends Service implements SalarySobService { } if (queryParam.getTaxAgentId() != null) { List sobTaxLinkPOS = getSobTaxLinkMapper().listSome(SobTaxLinkPO.builder().taxAgentId(queryParam.getTaxAgentId()).build()); - build.setIds(sobTaxLinkPOS.stream().map(SobTaxLinkPO::getTaxAgentId).collect(Collectors.toList())); + build.setIds(sobTaxLinkPOS.stream().map(SobTaxLinkPO::getSobId).collect(Collectors.toList())); } List list = getSalarySobMapper().listSome(build); diff --git a/src/com/engine/salary/web/PushController.java b/src/com/engine/salary/web/PushController.java index 1ad8fe061..1b3340469 100644 --- a/src/com/engine/salary/web/PushController.java +++ b/src/com/engine/salary/web/PushController.java @@ -123,4 +123,12 @@ public class PushController { User user = HrmUserVarify.getUser(request, response); return new ResponseResult(user).run(getPushWrapper(user)::push, param); } + + @POST + @Path("/record/withdraw") + @Produces(MediaType.APPLICATION_JSON) + public String push(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody WithdrawParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getPushWrapper(user)::withdraw, param); + } } diff --git a/src/com/engine/salary/wrapper/PushWrapper.java b/src/com/engine/salary/wrapper/PushWrapper.java index 6d557ba8f..0950f19e3 100644 --- a/src/com/engine/salary/wrapper/PushWrapper.java +++ b/src/com/engine/salary/wrapper/PushWrapper.java @@ -1,5 +1,6 @@ package com.engine.salary.wrapper; +import cn.hutool.core.collection.CollUtil; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; import com.engine.salary.entity.push.dto.PushRecordDTO; @@ -16,6 +17,7 @@ import com.engine.salary.util.page.PageInfo; import weaver.hrm.User; import java.util.HashMap; +import java.util.List; import java.util.Map; @@ -67,10 +69,25 @@ public class PushWrapper extends Service { }); } - public void push(PushParam pushParam) { - getPushService(user).push(pushParam.getId()); + public void push(PushParam param) { + List ids = param.getIds(); + if (CollUtil.isEmpty(ids)) { + return; + } + ids.forEach(id -> { + getPushService(user).push(id); + }); } + public void withdraw(WithdrawParam param) { + List ids = param.getIds(); + if (CollUtil.isEmpty(ids)) { + return; + } + ids.forEach(id -> { + getPushService(user).withdraw(id); + }); + } public PageInfo recordList(RecordListQueryParam param) {