diff --git a/src/com/engine/salary/entity/salaryBill/bo/SalaryTemplateBO.java b/src/com/engine/salary/entity/salaryBill/bo/SalaryTemplateBO.java index dae8724c0..68fa62b8b 100644 --- a/src/com/engine/salary/entity/salaryBill/bo/SalaryTemplateBO.java +++ b/src/com/engine/salary/entity/salaryBill/bo/SalaryTemplateBO.java @@ -48,7 +48,7 @@ public class SalaryTemplateBO { .textContentPosition(saveParam.getTextContentPosition()) .salaryItemNullStatus(saveParam.getSalaryItemNullStatus()?1:0) .salaryItemZeroStatus(saveParam.getSalaryItemZeroStatus()?1:0) - .salaryItemSetting(JSONUtil.toJsonStr(saveParam.getSalaryItemSetting())) + .salaryItemSetting(saveParam.getSalaryItemSetting() != null ? JSONUtil.toJsonStr(saveParam.getSalaryItemSetting()) : "") .createTime(new Date()) .updateTime(new Date()) .creator(employeeId) diff --git a/src/com/engine/salary/init.sql b/src/com/engine/salary/init.sql index e5e9065e7..e01e095fb 100644 --- a/src/com/engine/salary/init.sql +++ b/src/com/engine/salary/init.sql @@ -41,4 +41,6 @@ ALTER TABLE `ecology_hr`.`hrsa_salary_sob_default_item` ADD COLUMN `sorted_index` int(0) NOT NULL COMMENT '显示顺序' AFTER `sob_default_item_group_id`; +-- 工资单发放 +alter table hrsa_salary_template modify id bigint auto_increment; diff --git a/src/com/engine/salary/mapper/salarybill/SalarySendInfoMapper.java b/src/com/engine/salary/mapper/salarybill/SalarySendInfoMapper.java index caee41a5a..2bea5e956 100644 --- a/src/com/engine/salary/mapper/salarybill/SalarySendInfoMapper.java +++ b/src/com/engine/salary/mapper/salarybill/SalarySendInfoMapper.java @@ -82,7 +82,7 @@ public interface SalarySendInfoMapper { * @param params * @return */ - List listSome(@Param("param") SalarySendInfoPO params); + List listSome(SalarySendInfoPO params); /** * 根据id更新 diff --git a/src/com/engine/salary/mapper/salarybill/SalarySendInfoMapper.xml b/src/com/engine/salary/mapper/salarybill/SalarySendInfoMapper.xml deleted file mode 100644 index 8d21f85f4..000000000 --- a/src/com/engine/salary/mapper/salarybill/SalarySendInfoMapper.xml +++ /dev/null @@ -1,835 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - t.id - , t.salary_send_id - , t.salary_month - , t.salary_acct_record_id - , t.employee_id - , t.tax_agent_id - , t.send_status - , t.send_time - , t.salary_template - , t.creator - , t.create_time - , t.update_time - , t.delete_type - , t.tenant_key - - - - 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 - ) - VALUES - - ( - #{item.id}, - #{item.salarySendId}, - #{item.salaryMonth}, - #{item.salaryAcctRecordId}, - #{item.taxAgentId}, - #{item.employeeId}, - #{item.sendStatus}, - #{item.creator}, - #{item.createTime}, - #{item.updateTime}, - #{item.tenantKey} - ) - - - - 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}, - #{item.salarySendId}, - #{item.salaryMonth}, - #{item.salaryAcctRecordId}, - #{item.taxAgentId}, - #{item.employeeId}, - #{item.sendStatus}, - #{item.creator}, - #{item.createTime}, - #{item.updateTime}, - #{item.tenantKey} - from dual - - - - 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 - ) - VALUES - - ( - #{item.id}, - #{item.salarySendId}, - #{item.salaryMonth}, - #{item.salaryAcctRecordId}, - #{item.taxAgentId}, - #{item.employeeId}, - #{item.sendStatus}, - #{item.creator}, - #{item.createTime}, - #{item.updateTime}, - #{item.tenantKey} - ) - - - - - t1.id, - e.username, - t2.name AS tax_agent, - d.name AS department, - e.mobile, - e.job_num, - t1.send_status, - t1.employee_id, - t1.salary_month, - e.email - - - - - AND t1.id IN - - #{id} - - - - - AND t1.salary_send_id = #{param.salarySendId} - - - - AND e.username like CONCAT('%',#{param.keyword},'%') - - - - AND e.username like CONCAT('%',#{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 e.username like '%'||#{param.keyword}||'%' - - - - AND e.username 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 e.username like '%'+#{param.keyword}+'%' - - - - AND e.username 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]}) - - - - - - - - - - - - - - - UPDATE - hrsa_salary_send_info - - - - send_status = #{po.sendStatus}, - - - send_time = #{po.sendTime}, - - - salary_template = #{po.salaryTemplate} - - - - WHERE - - status IN - - #{status} - - - - - AND id IN - - #{id} - - - - AND salary_send_id = #{salarySendId} - - - - - - - - - - UPDATE hrsa_salary_send_info - - - salary_send_id=#{salarySendId}, - - - salary_month=#{salaryMonth}, - - - use_type=#{useType}, - - - salary_acct_record_id=#{salaryAcctRecordId}, - - - employee_id=#{employeeId}, - - - tax_agent_id=#{taxAgentId}, - - - send_status=#{sendStatus}, - - - send_time=#{sendTime}, - - - salary_template=#{salaryTemplate}, - - - creator=#{creator}, - - - create_time=#{createTime}, - - - update_time=#{updateTime}, - - - delete_type=#{deleteType}, - - - tenant_key=#{tenantKey}, - - - WHERE id = #{id} AND delete_type = 0 - - diff --git a/src/com/engine/salary/mapper/salarybill/SalarySendMapper.java b/src/com/engine/salary/mapper/salarybill/SalarySendMapper.java index 26b5e5861..cdf7262a5 100644 --- a/src/com/engine/salary/mapper/salarybill/SalarySendMapper.java +++ b/src/com/engine/salary/mapper/salarybill/SalarySendMapper.java @@ -55,5 +55,5 @@ public interface SalarySendMapper { * @param params * @return */ - List listSome(@Param("param") SalarySendPO params); + List listSome(SalarySendPO params); } \ No newline at end of file diff --git a/src/com/engine/salary/mapper/salarybill/SalarySendMapper.xml b/src/com/engine/salary/mapper/salarybill/SalarySendMapper.xml deleted file mode 100644 index 99d6947ab..000000000 --- a/src/com/engine/salary/mapper/salarybill/SalarySendMapper.xml +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - t1.id, - t2.salary_month AS salaryYearMonth, - t3.name AS salarySob, - t3.id AS salarySobId, - t1.send_num, - t1.send_total, - t1.last_send_time, - t2.acct_times - - - - - - - AND t2.salary_month = #{param.salaryMonth[0]} - - - AND (t2.salary_month BETWEEN #{param.salaryMonth[0]} AND #{param.salaryMonth[1]}) - - - - - - - - - - - - UPDATE hrsa_salary_send_info - - - salary_month=#{salaryMonth}, - - - salary_month=#{salaryMonth}, - - - salary_accounting_id=#{salaryAccountingId}, - - - salary_sob_id=#{salarySobId}, - - - send_num=#{sendNum}, - - - send_total=#{sendTotal}, - - - last_send_time=#{lastSendTime}, - - - creator=#{creator}, - - - create_time=#{createTime}, - - - update_time=#{updateTime}, - - - delete_type=#{deleteType}, - - - update_time=#{updateTime}, - - - tenant_key=#{tenantKey}, - - - WHERE id = #{id} AND delete_type = 0 - - - - - - - - - - \ No newline at end of file diff --git a/src/com/engine/salary/mapper/salarybill/SalaryTemplateMapper.java b/src/com/engine/salary/mapper/salarybill/SalaryTemplateMapper.java index 9a77e170c..3527c649f 100644 --- a/src/com/engine/salary/mapper/salarybill/SalaryTemplateMapper.java +++ b/src/com/engine/salary/mapper/salarybill/SalaryTemplateMapper.java @@ -54,7 +54,7 @@ public interface SalaryTemplateMapper { * @param params * @return */ - List listSome(@Param("param") SalaryTemplatePO params); + List listSome(SalaryTemplatePO params); /** * 新增 diff --git a/src/com/engine/salary/mapper/salarybill/SalaryTemplateMapper.xml b/src/com/engine/salary/mapper/salarybill/SalaryTemplateMapper.xml index 055348746..80b9a82c5 100644 --- a/src/com/engine/salary/mapper/salarybill/SalaryTemplateMapper.xml +++ b/src/com/engine/salary/mapper/salarybill/SalaryTemplateMapper.xml @@ -1,6 +1,7 @@ - - + + + @@ -43,22 +44,179 @@ , t.creator , t.delete_type - - - SELECT - - FROM hrsa_salary_item t + id, + name, + salary_sob_id, + use_type, + description, + email_status, + send_email_id, + msg_status, + theme, + background, + text_content, + text_content_position, + salary_item_null_status, + salary_item_zero_status, + salary_item_setting, + create_time, + update_time, + creator, + delete_type, + tenant_key + FROM hrsa_salary_template WHERE delete_type = 0 + AND id = #{id} - - SELECT - - FROM hrsa_salary_template t - WHERE id = #{id} AND delete_type = 0 + + FROM + hrsa_salary_template t1 + LEFT JOIN hrsa_salary_sob t2 ON t1.salary_sob_id = t2.id + WHERE + t1.delete_type = 0 + AND t2.delete_type = 0 + + ORDER BY t1.salary_sob_id,t1.id DESC + + + + + UPDATE hrsa_salary_template + SET delete_type = 1 + WHERE delete_type = 0 + AND id IN + + #{id} + + + + + + + + UPDATE hrsa_salary_template + + + name=#{name}, + + + salary_sob_id=#{salarySobId}, + + + use_type=#{useType}, + + + description=#{description}, + + + email_status=#{emailStatus}, + + + send_email_id=#{sendEmailId}, + + + msg_status=#{msgStatus}, + + + theme=#{theme}, + + + background=#{background}, + + + text_content=#{textContent}, + + + text_content_position=#{textContentPosition}, + + + salary_item_null_status=#{salaryItemNullStatus}, + + + salary_item_setting=#{salaryItemSetting}, + + + create_time=#{createTime}, + + + update_time=#{updateTime}, + + + creator=#{creator} + + + WHERE id = #{id} AND delete_type = 0 + + + - INSERT INTO hrsa_salary_item + INSERT INTO hrsa_salary_template @@ -205,38 +432,50 @@ #{name}, - - #{code}, + + #{salarySobId}, - - #{systemType}, - - - #{sysSalaryItemId}, - - - #{useDefault}, - - - #{useInEmployeeSalary}, - - - #{roundingMode}, - - - #{pattern}, - - - #{valueType}, - - - #{formulaId}, + + #{useType}, #{description}, - - #{canEdit}, + + #{emailStatus}, + + + #{sendEmailId}, + + + #{msgStatus}, + + + #{theme}, + + + #{background}, + + + #{textContent}, + + + #{textContentPosition}, + + + #{salaryItemNullStatus}, + + + #{salaryItemZeroStatus}, + + + #{salaryItemSetting}, + + + #{createTime}, + + + #{updateTime}, #{creator}, @@ -247,323 +486,9 @@ #{tenantKey}, - - #{createTime}, - - - #{updateTime}, - - - - UPDATE hrsa_salary_template - - - name=#{name}, - - - salary_sob_id=#{salarySobId}, - - - use_type=#{useType}, - - - description=#{description}, - - - email_status=#{emailStatus}, - - - send_email_id=#{sendEmailId}, - - - msg_status=#{msgStatus}, - - - theme=#{theme}, - - - background=#{background}, - - - background=#{background}, - - - text_content=#{textContent}, - - - text_content_position=#{textContentPosition}, - - - salary_item_null_status=#{salaryItemNullStatus}, - - - salary_item_setting=#{salaryItemSetting}, - - - create_time=#{createTime}, - - - update_time=#{updateTime}, - - - creator=#{creator}, - - - WHERE id = #{id} AND delete_type = 0 - - - - - UPDATE hrsa_salary_item - SET delete_type=1 - WHERE id = #{id} - AND delete_type = 0 - - - - - INSERT INTO hrsa_salary_item - ( name, code, system_type, sys_salary_item_id, use_default, use_in_employee_salary, - rounding_mode, pattern, value_type, formula_id, description, can_edit, create_time, - update_time, creator, delete_type, tenant_key, data_type) - VALUES - - (#{item.name}, #{item.code}, #{item.systemType}, #{item.sysSalaryItemId}, - #{item.useDefault}, #{item.useInEmployeeSalary}, #{item.roundingMode}, - #{item.pattern}, - #{item.valueType}, #{item.formulaId}, #{item.description}, #{item.canEdit}, - #{item.createTime}, #{item.updateTime}, #{item.creator}, 0, #{item.tenantKey}, #{item.dataType}) - - - - INSERT INTO hrsa_salary_item - (name, code, system_type, sys_salary_item_id, use_default, use_in_employee_salary, - rounding_mode, pattern, value_type, formula_id, description, can_edit, create_time, - update_time, creator, delete_type, tenant_key, data_type) - - - select #{item.name}, #{item.code}, #{item.systemType}, #{item.sysSalaryItemId}, - #{item.useDefault}, #{item.useInEmployeeSalary}, #{item.roundingMode}, - #{item.pattern}, - #{item.valueType}, #{item.formulaId}, #{item.description}, #{item.canEdit}, - #{item.createTime}, #{item.updateTime}, #{item.creator}, 0, #{item.tenantKey, #{item.dataType}} from dual - - - - INSERT INTO hrsa_salary_item - (name, code, system_type, sys_salary_item_id, use_default, use_in_employee_salary, - rounding_mode, pattern, value_type, formula_id, description, can_edit, create_time, - update_time, creator, delete_type, tenant_key, data_type) - VALUES - - (#{item.name}, #{item.code}, #{item.systemType}, #{item.sysSalaryItemId}, - #{item.useDefault}, #{item.useInEmployeeSalary}, #{item.roundingMode}, - #{item.pattern}, - #{item.valueType}, #{item.formulaId}, #{item.description}, #{item.canEdit}, - #{item.createTime}, #{item.updateTime}, #{item.creator}, 0, #{item.tenantKey}, #{item.dataType}) - - - - - UPDATE hrsa_salary_item - SET delete_type = 1 - WHERE delete_type = 0 - AND id IN - - #{id} - - - - - - - - AND name like CONCAT('%',#{param.name},'%') - - - AND description like CONCAT('%',#{param.description},'%') - - - AND id NOT IN - - #{id} - - - - AND use_in_employee_salary = #{param.useInEmployeeSalary} - - - AND use_default = #{param.useDefault} - - - AND value_type = #{param.valueType} - - - - - AND name like '%'||#{param.name}||'%' - - - AND description like '%'||#{param.description}||'%' - - - AND id NOT IN - - #{id} - - - - AND use_in_employee_salary = #{param.useInEmployeeSalary} - - - AND use_default = #{param.useDefault} - - - AND value_type = #{param.valueType} - - - - - AND name like '%'+#{param.name}+'%' - - - AND description like '%'+#{param.description}+'%' - - - AND id NOT IN - - #{id} - - - - AND use_in_employee_salary = #{param.useInEmployeeSalary} - - - AND use_default = #{param.useDefault} - - - AND value_type = #{param.valueType} - - - - - - - - - - UPDATE hrsa_salary_template - SET delete_type = 1 - WHERE tenant_key = #{tenantKey} AND delete_type = 0 - AND id IN - - #{id} - - - - - - - - \ No newline at end of file + diff --git a/src/com/engine/salary/service/impl/SalaryTemplateServiceImpl.java b/src/com/engine/salary/service/impl/SalaryTemplateServiceImpl.java index 30db272ab..71e98bce9 100644 --- a/src/com/engine/salary/service/impl/SalaryTemplateServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryTemplateServiceImpl.java @@ -19,8 +19,9 @@ import com.engine.salary.enums.salarybill.SalaryTemplateWhetherEnum; import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.service.SalarySobItemService; import com.engine.salary.service.SalaryTemplateService; +import com.mzlion.core.utils.BeanUtils; import org.apache.commons.collections.CollectionUtils; -import org.springframework.beans.BeanUtils; + import weaver.hrm.User; import java.time.LocalDateTime; @@ -181,7 +182,7 @@ public class SalaryTemplateServiceImpl extends Service implements SalaryTemplate salaryTemplateNew.setSalaryItemNullStatus(saveParam.getSalaryItemNullStatus()?1:0); salaryTemplateNew.setSalaryItemZeroStatus(saveParam.getSalaryItemZeroStatus()?1:0); // todo 薪资项目设置检查校验 - salaryTemplateNew.setSalaryItemSetting(JSONUtil.toJsonStr(saveParam.getSalaryItemSetting())); + salaryTemplateNew.setSalaryItemSetting(saveParam.getSalaryItemSetting() != null ? JSONUtil.toJsonStr(saveParam.getSalaryItemSetting()) : ""); mapper.updateById(salaryTemplateNew); // 记录日志 // SalaryLoggerUtil.recordUpdateSingleLog(salaryTemplateLoggerTemplate, @@ -213,6 +214,7 @@ public class SalaryTemplateServiceImpl extends Service implements SalaryTemplate SalaryTemplatePO salaryTemplateNew = new SalaryTemplatePO(); BeanUtils.copyProperties(salaryTemplate, salaryTemplateNew); + salaryTemplateNew.setId(null); salaryTemplateNew.setName(copyParam.getName()); salaryTemplateNew.setUseType(SalaryTemplateWhetherEnum.FALSE.getValue()); // salaryTemplateNew.setId(IdGenerator.generate()); diff --git a/src/com/engine/salary/web/SalaryBillController.java b/src/com/engine/salary/web/SalaryBillController.java index 2254a93b5..c888eea97 100644 --- a/src/com/engine/salary/web/SalaryBillController.java +++ b/src/com/engine/salary/web/SalaryBillController.java @@ -3,6 +3,7 @@ package com.engine.salary.web; import com.engine.common.util.ServiceUtil; import com.engine.salary.constant.SalrayCheckSecondAuthConstant; import com.engine.salary.entity.salaryBill.dto.SalarySendBaseInfoDTO; +import com.engine.salary.entity.salaryBill.dto.SalaryTemplateBaseFormDTO; import com.engine.salary.entity.salaryBill.dto.SalaryTemplateSalaryItemSetListDTO; import com.engine.salary.entity.salaryBill.dto.SalaryTemplateShowFormDTO; import com.engine.salary.entity.salaryBill.param.*; @@ -66,7 +67,7 @@ public class SalaryBillController { @Produces(MediaType.APPLICATION_JSON) public String getBaseForm(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam("id") Long id) { User user = HrmUserVarify.getUser(request, response); - return new ResponseResult>().run(getSalaryTemplateWrapper(user)::getBaseForm, id); + return new ResponseResult().run(getSalaryTemplateWrapper(user)::getBaseForm, id); } /**