diff --git a/resource/WEB-INF/lib/hrmelog.jar b/resource/WEB-INF/lib/hrmelog.jar index 7589cfeae..ba4091f61 100644 Binary files a/resource/WEB-INF/lib/hrmelog.jar and b/resource/WEB-INF/lib/hrmelog.jar differ diff --git a/resource/WEB-INF/prop/hrmSalary.properties b/resource/WEB-INF/prop/hrmSalary.properties index 55360c99a..f3380b545 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.2510.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..b6737d61f 100644 --- a/resource/sqlupgrade/Oracle/sql202504020203.sql +++ b/resource/sqlupgrade/Oracle/sql202504020203.sql @@ -1,5 +1,41 @@ -ALTER TABLE hrsa_push_record ADD fail_reason varchar2(4000); +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) +) / -ALTER TABLE hrsa_push_record_detail ADD fail_reason varchar2(4000); +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) +/ + +ALTER TABLE hrsa_push_record_detail ADD fail_reason varchar2(4000) / \ No newline at end of file diff --git a/resource/sqlupgrade/Oracle/sql202504030103.sql b/resource/sqlupgrade/Oracle/sql202504030103.sql index 8c2ab620f..37869d261 100644 --- a/resource/sqlupgrade/Oracle/sql202504030103.sql +++ b/resource/sqlupgrade/Oracle/sql202504030103.sql @@ -1,5 +1,5 @@ -ALTER TABLE hrsa_push_setting_item ADD sorted_index NUMBER; +ALTER TABLE hrsa_push_setting_item ADD sorted_index NUMBER / -ALTER TABLE hrsa_push_record_detail ADD data_id NUMBER(38,0); +ALTER TABLE hrsa_push_record_detail ADD data_id NUMBER(38,0) / \ No newline at end of file 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/salaryBill/bo/SalaryBillBO.java b/src/com/engine/salary/entity/salaryBill/bo/SalaryBillBO.java index b36deb78b..aa32a8829 100644 --- a/src/com/engine/salary/entity/salaryBill/bo/SalaryBillBO.java +++ b/src/com/engine/salary/entity/salaryBill/bo/SalaryBillBO.java @@ -630,7 +630,8 @@ public class SalaryBillBO { } else { for (Object keyName : e.keySet()) { if ((salaryItem.getId() + SalaryArchiveConstant.DYNAMIC_SUFFIX).equals(keyName.toString())) { - boolean isHide = (isHideNull && StringUtils.isEmpty(e.getOrDefault(keyName.toString(), StringUtils.EMPTY).toString())) + String itemValue = Util.null2String(e.get(keyName.toString())); + boolean isHide = (isHideNull && StringUtils.isEmpty(itemValue)) || (isHideZero && NumberUtils.isCreatable(e.getOrDefault(keyName.toString(), "0").toString()) && BigDecimal.ZERO.compareTo(new BigDecimal(e.getOrDefault(keyName.toString(), "0").toString())) == 0); @@ -641,7 +642,7 @@ public class SalaryBillBO { emailContent.append(""); emailContent.append(""); - emailContent.append(e.get(keyName.toString())); + emailContent.append(itemValue.replaceAll("null", "")); emailContent.append(""); } break; @@ -710,7 +711,8 @@ public class SalaryBillBO { SalaryTemplateSalaryItemListDTO salaryItem = itemPartition.get(i); for (Object keyName : e.keySet()) { if ((salaryItem.getId() + SalaryArchiveConstant.DYNAMIC_SUFFIX).equals(keyName.toString())) { - boolean isHide = (isHideNull && StringUtils.isEmpty(e.getOrDefault(keyName.toString(), StringUtils.EMPTY).toString())) + String itemValue = Util.null2String(e.get(keyName.toString())); + boolean isHide = (isHideNull && StringUtils.isEmpty(itemValue)) || (isHideZero && NumberUtils.isCreatable(e.getOrDefault(keyName.toString(), "0").toString()) && BigDecimal.ZERO.compareTo(new BigDecimal(e.getOrDefault(keyName.toString(), "0").toString())) == 0); @@ -721,7 +723,7 @@ public class SalaryBillBO { emailContent.append(""); emailContent.append(""); - emailContent.append(e.get(keyName.toString())); + emailContent.append(itemValue.replaceAll("null", "")); emailContent.append(""); } break; @@ -848,7 +850,7 @@ public class SalaryBillBO { if ("text".equals(wmClassify)) { wmTextFieldIds = (List) salaryBillWatermark.getWmSetting().getOrDefault("wmSelectedFieldIds", Collections.emptyList()); - List empFields = Arrays.asList(HRM_Name, HRM_Num, HRM_Mobile, HRM_Email, HRM_CurrentOperatorId, HRM_Department); + List empFields = Arrays.asList(HRM_Name, HRM_Num, HRM_Mobile, HRM_Email, HRM_CurrentOperatorId, HRM_Department, HRM_SecondDepartment); if (wmTextFieldIds.contains(HRM_SecondDepartment)) { // 需要查分部 salaryBillWatermark.getWmSetting().put("needQuerySubDepart", true); diff --git a/src/com/engine/salary/entity/salaryBill/param/SalarySendBatParam.java b/src/com/engine/salary/entity/salaryBill/param/SalarySendBatParam.java new file mode 100644 index 000000000..40f529cc5 --- /dev/null +++ b/src/com/engine/salary/entity/salaryBill/param/SalarySendBatParam.java @@ -0,0 +1,27 @@ +package com.engine.salary.entity.salaryBill.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 SalarySendBatParam { + +// 工资单发放Id + private List salarySendIds; + +} diff --git a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctConsolidatedTaxBO.java b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctConsolidatedTaxBO.java index d5155f0ae..d5399daab 100644 --- a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctConsolidatedTaxBO.java +++ b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctConsolidatedTaxBO.java @@ -1,5 +1,6 @@ package com.engine.salary.entity.salaryacct.bo; +import cn.hutool.core.util.StrUtil; import com.engine.salary.constant.TaxDeclarationDataIndexConstant; import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO; import com.engine.salary.entity.salaryitem.po.SalaryItemPO; @@ -73,6 +74,9 @@ public class SalaryAcctConsolidatedTaxBO { .filter(e -> Objects.equals(e.getSalaryItemId(), optional.get())) .map(e -> SalaryEntityUtil.empty2Zero(e.getResultValue())) .reduce(BigDecimal.ZERO, BigDecimal::add); + if (StrUtil.isBlank(resultValue)) { + resultValue = "0.00"; + } return new BigDecimal(resultValue).add(income).toPlainString(); } // 个税调差为0 @@ -98,6 +102,9 @@ public class SalaryAcctConsolidatedTaxBO { .map(e -> SalaryEntityUtil.empty2Zero(e.getResultValue())) .reduce(BigDecimal.ZERO, BigDecimal::add); } + if (StrUtil.isBlank(resultValue)) { + resultValue = "0.00"; + } return new BigDecimal(resultValue).add(refundedOrSupplementedTax).subtract(taxAdjustment).toPlainString(); } return resultValue; diff --git a/src/com/engine/salary/entity/salaryacct/param/SalaryAcctBatParam.java b/src/com/engine/salary/entity/salaryacct/param/SalaryAcctBatParam.java new file mode 100644 index 000000000..63dc4310a --- /dev/null +++ b/src/com/engine/salary/entity/salaryacct/param/SalaryAcctBatParam.java @@ -0,0 +1,34 @@ +package com.engine.salary.entity.salaryacct.param; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; +import java.util.List; + +/** + * 批量操作参数 + *

Copyright: Copyright (c) 2024

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class SalaryAcctBatParam { + + //薪资所属月 + private Date salaryMonth; + //薪资账套id + private List salarySobIds; + //备注 + private String description; + + + private List salaryAcctRecordIds; +} diff --git a/src/com/engine/salary/entity/salaryacct/param/SalaryAcctCalculateParam.java b/src/com/engine/salary/entity/salaryacct/param/SalaryAcctCalculateParam.java index 52c3b7f13..d07b79a6b 100644 --- a/src/com/engine/salary/entity/salaryacct/param/SalaryAcctCalculateParam.java +++ b/src/com/engine/salary/entity/salaryacct/param/SalaryAcctCalculateParam.java @@ -20,7 +20,7 @@ import java.util.Collection; @Builder @NoArgsConstructor @AllArgsConstructor -public class SalaryAcctCalculateParam { +public class SalaryAcctCalculateParam { //核算人员的id,不是employeeId而是salaryAcctEmpId private Collection ids; 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/entity/salarysob/bo/SalarySobItemAggregateBO.java b/src/com/engine/salary/entity/salarysob/bo/SalarySobItemAggregateBO.java index b1a76a4a4..2daccbec2 100644 --- a/src/com/engine/salary/entity/salarysob/bo/SalarySobItemAggregateBO.java +++ b/src/com/engine/salary/entity/salarysob/bo/SalarySobItemAggregateBO.java @@ -144,7 +144,7 @@ public class SalarySobItemAggregateBO { .canEdit(openFormulaForcedEditing || Objects.equals(salaryItemPO.getCanEdit(), 1)) .canDelete(openFormulaForcedEditing || salaryItemPO.getCanDelete() == null || Objects.equals(salaryItemPO.getCanDelete(), 1)) .width(salaryItemPO.getWidth()) - .defaultValue(salaryItemPO.getDefaultValue()) + .defaultValue(salarySobItemPO.getDefaultValue()) .build()); } } diff --git a/src/com/engine/salary/entity/salarysob/param/SalarySobQueryParam.java b/src/com/engine/salary/entity/salarysob/param/SalarySobQueryParam.java index d0555321d..fc0094ba5 100644 --- a/src/com/engine/salary/entity/salarysob/param/SalarySobQueryParam.java +++ b/src/com/engine/salary/entity/salarysob/param/SalarySobQueryParam.java @@ -28,4 +28,6 @@ public class SalarySobQueryParam extends BaseQueryParam { * 数据过滤级别 */ private AuthFilterTypeEnum filterType; + + private boolean isShare; } diff --git a/src/com/engine/salary/entity/siaccount/param/AccountBatParam.java b/src/com/engine/salary/entity/siaccount/param/AccountBatParam.java new file mode 100644 index 000000000..fa9de96fc --- /dev/null +++ b/src/com/engine/salary/entity/siaccount/param/AccountBatParam.java @@ -0,0 +1,40 @@ +package com.engine.salary.entity.siaccount.param; + + +import com.engine.salary.util.valid.DataCheck; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class AccountBatParam { + + //账单月份") + //@NotNull + @DataCheck(require = true,message = "账单月份不能为空") + private String billMonth; + + //备注") + //@Length(max = 60) + @DataCheck(max = 60,message = "备注长度不能超过60个字符") + private String remarks; + + + /** + * 个税扣缴义务人id + */ + @DataCheck(require = true,message = "个税扣缴义务人不能为空") + private List paymentOrganizations; + + + + private List ids; + +} diff --git a/src/com/engine/salary/entity/taxagent/param/TaxAgentQueryParam.java b/src/com/engine/salary/entity/taxagent/param/TaxAgentQueryParam.java index 410b0b2b4..1ac46a384 100644 --- a/src/com/engine/salary/entity/taxagent/param/TaxAgentQueryParam.java +++ b/src/com/engine/salary/entity/taxagent/param/TaxAgentQueryParam.java @@ -26,4 +26,6 @@ public class TaxAgentQueryParam extends BaseQueryParam { //个税扣缴义务人名称 private String name; + + private boolean isShare; } diff --git a/src/com/engine/salary/entity/taxdeclaration/dto/TaxDeclarationListDTO.java b/src/com/engine/salary/entity/taxdeclaration/dto/TaxDeclarationListDTO.java index 5104871b5..94e015dd6 100644 --- a/src/com/engine/salary/entity/taxdeclaration/dto/TaxDeclarationListDTO.java +++ b/src/com/engine/salary/entity/taxdeclaration/dto/TaxDeclarationListDTO.java @@ -38,6 +38,10 @@ public class TaxDeclarationListDTO { @TableTitle(title = "薪资类型", dataIndex = "incomeCategory", key = "incomeCategory") private String incomeCategory; + @JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8") + @TableTitle(title = "税款所属期", dataIndex = "taxCycle", key = "taxCycle") + private Date taxCycle; + @JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8") @TableTitle(title = "薪资所属月", dataIndex = "salaryMonth", key = "salaryMonth") private Date salaryMonth; @@ -48,10 +52,6 @@ public class TaxDeclarationListDTO { @TableTitle(title = "个税扣缴义务人", dataIndex = "taxAgentName", key = "taxAgentName") private String taxAgentName; - @JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8") - @TableTitle(title = "税款所属期", dataIndex = "taxCycle", key = "taxCycle") - private Date taxCycle; - //@TableTitle(title = "操作人id", dataIndex = "operateEmployeeId", key = "operateEmployeeId") private Long operateEmployeeId; diff --git a/src/com/engine/salary/entity/taxdeclaration/param/TaxDeclarationBatParam.java b/src/com/engine/salary/entity/taxdeclaration/param/TaxDeclarationBatParam.java new file mode 100644 index 000000000..0168f9c89 --- /dev/null +++ b/src/com/engine/salary/entity/taxdeclaration/param/TaxDeclarationBatParam.java @@ -0,0 +1,54 @@ +package com.engine.salary.entity.taxdeclaration.param; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.YearMonth; +import java.util.Date; +import java.util.List; + +/** + * 生成个税申报表参数 + *

Copyright: Copyright (c) 2022

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class TaxDeclarationBatParam { + + /** + * 个税申报id + */ + private Long taxDeclarationId; + + /** + * 薪资所属月 + */ + private YearMonth salaryMonth; + + /** + * 个税扣缴义务人 + */ + private List taxAgentIds; + + /** + * 备注 + */ + private String description; + + private String salaryMonthStr; + + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date taxCycle; + + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date salaryDate; +} diff --git a/src/com/engine/salary/entity/taxdeclaration/param/TaxDeclarationListQueryParam.java b/src/com/engine/salary/entity/taxdeclaration/param/TaxDeclarationListQueryParam.java index 521fadd56..a7de714a9 100644 --- a/src/com/engine/salary/entity/taxdeclaration/param/TaxDeclarationListQueryParam.java +++ b/src/com/engine/salary/entity/taxdeclaration/param/TaxDeclarationListQueryParam.java @@ -1,9 +1,14 @@ package com.engine.salary.entity.taxdeclaration.param; import com.engine.salary.common.BaseQueryParam; -import lombok.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; -import java.time.YearMonth; + +import java.util.Date; /** * 个税申报记录查询条件 @@ -20,12 +25,13 @@ import java.time.YearMonth; public class TaxDeclarationListQueryParam extends BaseQueryParam { //薪资所属月范围起点 - private YearMonth fromSalaryMonth; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date fromSalaryMonth; - //薪资所属月范围终点 - private YearMonth endSalaryMonth; + //薪资所属月范围终点 + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date endSalaryMonth; - private String fromSalaryMonthStr; - - private String endSalaryMonthStr; + //个税扣缴义务人菜单") + private String taxAgentName; } diff --git a/src/com/engine/salary/entity/taxdeclaration/po/TaxDeclarationPO.java b/src/com/engine/salary/entity/taxdeclaration/po/TaxDeclarationPO.java index 7a02a14d2..b667fb071 100644 --- a/src/com/engine/salary/entity/taxdeclaration/po/TaxDeclarationPO.java +++ b/src/com/engine/salary/entity/taxdeclaration/po/TaxDeclarationPO.java @@ -90,6 +90,13 @@ public class TaxDeclarationPO { LocalDateRange salaryMonths; + //"开始日期 + private Date taxCycleFromDate; + + //结束日期 + private Date taxCycleEndDate; + + private Collection taxAgentIds; private Set opts; diff --git a/src/com/engine/salary/mapper/datacollection/EmployMapper.xml b/src/com/engine/salary/mapper/datacollection/EmployMapper.xml index f95e563df..51694405a 100644 --- a/src/com/engine/salary/mapper/datacollection/EmployMapper.xml +++ b/src/com/engine/salary/mapper/datacollection/EmployMapper.xml @@ -11,6 +11,7 @@ e.workcode, e.certificatenum as idNo, e.accounttype as accountType, + e.sex as sex, 'false' as extEmp from hrmresource e left join hrmdepartment d on e.departmentid = d.id @@ -21,6 +22,7 @@