From 31982fc1db0b90e8fcedc9fdedbd4548b53d2d17 Mon Sep 17 00:00:00 2001 From: fcli Date: Fri, 28 Oct 2022 09:39:31 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=B7=A5=E8=B5=84=E5=8D=95=E5=8F=91?= =?UTF-8?q?=E6=94=BE=E9=A1=B5=E9=AB=98=E7=BA=A7=E6=90=9C=E7=B4=A2=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E4=B8=8D=E7=94=9F=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/salary/biz/SalarySendInfoBiz.java | 21 +- .../param/SalarySendDetailListQueryParam.java | 72 ++++ .../salaryacct/SalaryAcctEmployeeMapper.xml | 2 +- .../salarybill/SalarySendInfoMapper.java | 8 +- .../salarybill/SalarySendInfoMapper.xml | 386 ++++++++++-------- .../service/impl/SalarySendServiceImpl.java | 20 +- .../salary/web/SalaryBillController.java | 22 +- .../salary/wrapper/SalarySendWrapper.java | 1 + 8 files changed, 357 insertions(+), 175 deletions(-) create mode 100644 src/com/engine/salary/entity/salaryBill/param/SalarySendDetailListQueryParam.java diff --git a/src/com/engine/salary/biz/SalarySendInfoBiz.java b/src/com/engine/salary/biz/SalarySendInfoBiz.java index bf6c9fd5b..a15aa7f02 100644 --- a/src/com/engine/salary/biz/SalarySendInfoBiz.java +++ b/src/com/engine/salary/biz/SalarySendInfoBiz.java @@ -15,7 +15,9 @@ import org.apache.ibatis.session.SqlSession; import weaver.conn.mybatis.MyBatisFactory; import java.util.Collection; +import java.util.Collections; import java.util.List; +import java.util.Set; public class SalarySendInfoBiz { /** @@ -82,13 +84,15 @@ public class SalarySendInfoBiz { * 工资单发放详情列表 * * @param param + * @param otherSalaryAccRecordIds * @return */ - public List detailList(@Param("param") SalarySendDetailQueryParam param) { + public List detailList(@Param("param") SalarySendDetailQueryParam param, + @Param("otherSalaryAccRecordIds") Set otherSalaryAccRecordIds) { SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); try { SalarySendInfoMapper mapper = sqlSession.getMapper(SalarySendInfoMapper.class); - return mapper.detailList(param); + return mapper.detailList(param, otherSalaryAccRecordIds); } finally { sqlSession.close(); } @@ -124,4 +128,17 @@ public class SalarySendInfoBiz { sqlSession.close(); } } + + public List listSalaryAccRecordIds(SalarySendDetailQueryParam queryParam) { + if (null == queryParam) { + return Collections.emptyList(); + } + SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); + try { + SalarySendInfoMapper mapper = sqlSession.getMapper(SalarySendInfoMapper.class); + return mapper.listSalaryAccRecordIds(queryParam); + } finally { + sqlSession.close(); + } + } } diff --git a/src/com/engine/salary/entity/salaryBill/param/SalarySendDetailListQueryParam.java b/src/com/engine/salary/entity/salaryBill/param/SalarySendDetailListQueryParam.java new file mode 100644 index 000000000..1e100d5f4 --- /dev/null +++ b/src/com/engine/salary/entity/salaryBill/param/SalarySendDetailListQueryParam.java @@ -0,0 +1,72 @@ +package com.engine.salary.entity.salaryBill.param; + +import com.engine.salary.common.BaseQueryParam; +import com.engine.salary.exception.SalaryRunTimeException; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.LocalDate; +import java.util.Collection; +import java.util.List; + +/** + * @Description: 工资单发放信息 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +//@ApiModel("工资单发放信息查询参数") +public class SalarySendDetailListQueryParam extends BaseQueryParam { + +// @ApiModelProperty("主键id") + private Collection ids; + +// @ApiModelProperty("工资单发放Id") + private Long salarySendId; + + /** + * 工资核算id + */ +// @JsonIgnore + private Long salaryAccountingId; + +// @ApiModelProperty("关键字(姓名)") + private String keyword; + +// @ApiModelProperty("姓名") + private String username; + +// @ApiModelProperty("个税扣缴义务人的主键id") + private Long taxAgent; + +// @ApiModelProperty("部门id") + private Long department; + +// @ApiModelProperty("岗位id") + private Long position; + +// @ApiModelProperty("状态") + private String userstatus; + +// @ApiModelProperty("入职日期") + private List hiredate; + +// @ApiModelProperty("合并计税") + private Boolean mergeCountTax; + + /** + * 发送状态 + */ +// @JsonIgnore + private List sendStatuss; + + public static String checkParam(SalarySendDetailListQueryParam saveParam) { + if (saveParam.getSalarySendId() == null) { + throw new SalaryRunTimeException("工资单发放Id必传"); + } + return ""; + } +} diff --git a/src/com/engine/salary/mapper/salaryacct/SalaryAcctEmployeeMapper.xml b/src/com/engine/salary/mapper/salaryacct/SalaryAcctEmployeeMapper.xml index d7c914e03..f399e37a6 100644 --- a/src/com/engine/salary/mapper/salaryacct/SalaryAcctEmployeeMapper.xml +++ b/src/com/engine/salary/mapper/salaryacct/SalaryAcctEmployeeMapper.xml @@ -137,7 +137,7 @@ ( SELECT - FROM hrsa_salary_acct_emp + FROM hrsa_salary_acct_emp t WHERE delete_type = 0 AND salary_acct_record_id IN diff --git a/src/com/engine/salary/mapper/salarybill/SalarySendInfoMapper.java b/src/com/engine/salary/mapper/salarybill/SalarySendInfoMapper.java index cab54c876..3821f0c17 100644 --- a/src/com/engine/salary/mapper/salarybill/SalarySendInfoMapper.java +++ b/src/com/engine/salary/mapper/salarybill/SalarySendInfoMapper.java @@ -11,6 +11,7 @@ import org.apache.ibatis.annotations.Param; import java.util.Collection; import java.util.List; +import java.util.Set; /** * 工资单发放信息 @@ -22,6 +23,8 @@ import java.util.List; **/ public interface SalarySendInfoMapper { + List listSalaryAccRecordIds(@Param("param") SalarySendDetailQueryParam param); + /** * 查询工资单发放信息列表 * @param param @@ -40,10 +43,13 @@ public interface SalarySendInfoMapper { /** * 查询工资单发放详情列表 + * * @param param + * @param otherSalaryAccRecordIds * @return */ - List detailList(@Param("param") SalarySendDetailQueryParam param); + List detailList(@Param("param") SalarySendDetailQueryParam param, + @Param("otherSalaryAccRecordIds") Set otherSalaryAccRecordIds); /** * 分页查询工资单发放详情列表 diff --git a/src/com/engine/salary/mapper/salarybill/SalarySendInfoMapper.xml b/src/com/engine/salary/mapper/salarybill/SalarySendInfoMapper.xml index 96e114e23..4cfd0cd94 100644 --- a/src/com/engine/salary/mapper/salarybill/SalarySendInfoMapper.xml +++ b/src/com/engine/salary/mapper/salarybill/SalarySendInfoMapper.xml @@ -67,23 +67,23 @@ ) - - INSERT INTO hrsa_salary_send_info ( - id, - salary_send_id, - salary_month, - salary_acct_record_id, - tax_agent_id, - employee_id, - send_status, - creator, - create_time, - update_time, - tenant_key - ) - - - select + + INSERT INTO hrsa_salary_send_info ( + id, + salary_send_id, + salary_month, + salary_acct_record_id, + tax_agent_id, + employee_id, + send_status, + creator, + create_time, + update_time, + tenant_key + ) + + + select #{item.id,jdbcType=DOUBLE}, #{item.salarySendId,jdbcType=DOUBLE}, #{item.salaryMonth,jdbcType=DATE}, @@ -95,10 +95,10 @@ #{item.createTime,jdbcType=DATE}, #{item.updateTime,jdbcType=DATE}, #{item.tenantKey,jdbcType=VARCHAR} - from dual - - - + from dual + + + INSERT INTO hrsa_salary_send_info ( id, @@ -115,20 +115,20 @@ ) VALUES ( - #{item.id}, - #{item.salarySendId}, - #{item.salaryMonth}, - #{item.salaryAcctRecordId}, - #{item.taxAgentId}, - #{item.employeeId}, - #{item.sendStatus}, - #{item.creator}, - #{item.createTime}, - #{item.updateTime}, - #{item.tenantKey} - ) - - + #{item.id}, + #{item.salarySendId}, + #{item.salaryMonth}, + #{item.salaryAcctRecordId}, + #{item.taxAgentId}, + #{item.employeeId}, + #{item.sendStatus}, + #{item.creator}, + #{item.createTime}, + #{item.updateTime}, + #{item.tenantKey} + ) + + t1.id, @@ -175,7 +175,7 @@ - AND e.position IN + AND e.jobtitle IN #{id} @@ -196,112 +196,112 @@ AND (e.hiredate BETWEEN #{param.hiredate[0]} AND #{param.hiredate[1]}) - - - AND t1.id IN - - #{id} - - - - - AND t1.salary_send_id = #{param.salarySendId} - - - + + + AND t1.id IN + + #{id} + + + + + AND t1.salary_send_id = #{param.salarySendId} + + + AND e.lastname like '%'||#{param.keyword}||'%' - - - + + + AND e.lastname like '%'||#{param.username}||'%' - - - - AND t2.id = #{param.taxAgentId} - - - - AND d.id IN - - #{id} - - - - - AND e.position IN - - #{id} - - - - - AND e.status = #{param.userstatus} - - - - AND t1.send_status IN - - #{status} - - - - - AND (e.hiredate BETWEEN #{param.hiredate[0]} AND #{param.hiredate[1]}) - - - - - AND t1.id IN - - #{id} - - - - - AND t1.salary_send_id = #{param.salarySendId} - - - + + + + AND t2.id = #{param.taxAgentId} + + + + AND d.id IN + + #{id} + + + + + AND e.jobtitle IN + + #{id} + + + + + AND e.status = #{param.userstatus} + + + + AND t1.send_status IN + + #{status} + + + + + AND (e.hiredate BETWEEN #{param.hiredate[0]} AND #{param.hiredate[1]}) + + + + + AND t1.id IN + + #{id} + + + + + AND t1.salary_send_id = #{param.salarySendId} + + + AND e.lastname like '%'+#{param.keyword}+'%' - - - + + + AND e.lastname like '%'+#{param.username}+'%' - - - - AND t2.id = #{param.taxAgentId} - - - - AND d.id IN - - #{id} - - - - - AND e.position IN - - #{id} - - - - - AND e.status = #{param.userstatus} - - - - AND t1.send_status IN - - #{status} - - - - - AND (e.hiredate BETWEEN #{param.hiredate[0]} AND #{param.hiredate[1]}) - - + + + + AND t2.id = #{param.taxAgentId} + + + + AND d.id IN + + #{id} + + + + + AND e.jobtitle IN + + #{id} + + + + + AND e.status = #{param.userstatus} + + + + AND t1.send_status IN + + #{status} + + + + + AND (e.hiredate BETWEEN #{param.hiredate[0]} AND #{param.hiredate[1]}) + + - SELECT - - FROM + + FROM hrsa_salary_send_info t1 LEFT JOIN hrmresource e ON e.id = t1.employee_id LEFT JOIN hrmdepartment d ON d.id = e.DEPARTMENTID LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1 - LEFT JOIN hrsa_tax_agent t2 ON t2.id = t1.tax_agent_id - WHERE + LEFT JOIN hrsa_tax_agent t2 ON t2.id = t1.tax_agent_id + WHERE t1.delete_type = 0 - - AND t1.send_status = #{param.sendStatusVal} + + AND t1.send_status = #{param.sendStatusVal} ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc} - - + + + + + + + + - SELECT FROM @@ -405,15 +454,22 @@ WHERE t1.delete_type = 0 - + and (t1.employee_id, t1.tax_agent_id) + in (select employee_id, tax_agent_id + from hrsa_salary_send_info + where delete_type = 0 and salary_acct_record_id in ( + + #{item} + + )) ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc} - - + +