diff --git a/resource/WEB-INF/prop/hrmSalary.properties b/resource/WEB-INF/prop/hrmSalary.properties index cf2bf7de5..d95554ef6 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.0.2502.01 +version=3.0.0.2503.01 openFormulaForcedEditing=false \ No newline at end of file diff --git a/src/com/engine/salary/action/CheckStopSalaryAction.java b/src/com/engine/salary/action/CheckStopSalaryAction.java index 78b3c0a7c..6243e6ed5 100644 --- a/src/com/engine/salary/action/CheckStopSalaryAction.java +++ b/src/com/engine/salary/action/CheckStopSalaryAction.java @@ -96,15 +96,18 @@ public class CheckStopSalaryAction implements Action { List taxAgentPOS = getTaxAgentMapper().listByName(taxAgentName); if(CollectionUtils.isEmpty(taxAgentPOS)){ requestInfo.getRequestManager().setMessage("个税扣缴义务人不存在!"); + log.error("停薪检查异常 requestId:{} msg:{}", requestInfo.getRequestid(), taxAgentName + "个税扣缴义务人不存在!"); return FAILURE_AND_CONTINUE; } Long taxAgentId = Long.valueOf( taxAgentPOS.get(0).getId() ); Long employeeId = Long.valueOf(importDataMap.getOrDefault("员工id", "-1").toString()); if( importDataMap.get("最后发薪日期") == null || StringUtils.isBlank(importDataMap.get("最后发薪日期").toString())){ requestInfo.getRequestManager().setMessage("缺少最后发薪日期字段!"); + log.error("停薪检查异常 requestId:{} msg:{}", requestInfo.getRequestid(), "缺少最后发薪日期字段!"); return FAILURE_AND_CONTINUE; }else if(SalaryDateUtil.stringToDate(importDataMap.get("最后发薪日期").toString()) == null){ requestInfo.getRequestManager().setMessage("最后发薪日期格式错误,格式为yyyy-MM-dd"); + log.error("停薪检查异常 requestId:{} msg:{}", requestInfo.getRequestid(), "最后发薪日期格式错误,格式为yyyy-MM-dd" + importDataMap.get("最后发薪日期").toString()); return FAILURE_AND_CONTINUE; } @@ -115,15 +118,17 @@ public class CheckStopSalaryAction implements Action { List salaryArchiveList = getSalaryArchiveService(user).listSome(SalaryArchivePO.builder().taxAgentId(taxAgentId).employeeId(employeeId).deleteType(NumberUtils.INTEGER_ZERO).build()); if(CollectionUtils.isEmpty(salaryArchiveList)){ requestInfo.getRequestManager().setMessage("该个税扣缴义务人下该员工不存在薪资档案,请检查后重试!"); + log.error("停薪检查异常 requestId:{} msg:{}", requestInfo.getRequestid(), taxAgentId +"_"+ employeeId+"该个税扣缴义务人下该员工不存在薪资档案,请检查后重试!"); return FAILURE_AND_CONTINUE; } if(salaryArchiveList.size() > 1){ requestInfo.getRequestManager().setMessage("该个税扣缴义务人下该员工存在多条薪资档案记录,请检查后重试!"); + log.error("停薪检查异常 requestId:{} msg:{}", requestInfo.getRequestid(), taxAgentId +"_"+ employeeId+"该个税扣缴义务人下该员工存在多条薪资档案记录,请检查后重试!"); return FAILURE_AND_CONTINUE; } } catch (Exception e) { - log.error("停薪校验异常", e); + log.error("停薪检查异常", e); requestInfo.getRequestManager().setMessage(e.getMessage()); return FAILURE_AND_CONTINUE; } diff --git a/src/com/engine/salary/action/StopSalaryAction.java b/src/com/engine/salary/action/StopSalaryAction.java index 6433e4e95..10d4d765a 100644 --- a/src/com/engine/salary/action/StopSalaryAction.java +++ b/src/com/engine/salary/action/StopSalaryAction.java @@ -107,15 +107,18 @@ public class StopSalaryAction implements Action { List taxAgentPOS = getTaxAgentMapper().listByName(taxAgentName); if(CollectionUtils.isEmpty(taxAgentPOS)){ requestInfo.getRequestManager().setMessage("个税扣缴义务人不存在!"); + log.error("停薪异常 requestId:{} msg:{}", requestInfo.getRequestid(), taxAgentName + "个税扣缴义务人不存在!"); return FAILURE_AND_CONTINUE; } Long taxAgentId = Long.valueOf( taxAgentPOS.get(0).getId() ); Long employeeId = Long.valueOf(importDataMap.getOrDefault("员工id", "-1").toString()); if( importDataMap.get("最后发薪日期") == null || StringUtils.isBlank(importDataMap.get("最后发薪日期").toString())){ requestInfo.getRequestManager().setMessage("缺少最后发薪日期字段!"); + log.error("停薪异常 requestId:{} msg:{}", requestInfo.getRequestid(), "缺少最后发薪日期字段!"); return FAILURE_AND_CONTINUE; }else if(SalaryDateUtil.stringToDate(importDataMap.get("最后发薪日期").toString()) == null){ requestInfo.getRequestManager().setMessage("最后发薪日期格式错误,格式为yyyy-MM-dd"); + log.error("停薪异常 requestId:{} msg:{}", requestInfo.getRequestid(), "最后发薪日期格式错误,格式为yyyy-MM-dd" + importDataMap.get("最后发薪日期").toString()); return FAILURE_AND_CONTINUE; } @@ -123,10 +126,12 @@ public class StopSalaryAction implements Action { List salaryArchiveList = getSalaryArchiveService(user).listSome(SalaryArchivePO.builder().taxAgentId(taxAgentId).employeeId(employeeId).deleteType(NumberUtils.INTEGER_ZERO).build()); if(CollectionUtils.isEmpty(salaryArchiveList)){ requestInfo.getRequestManager().setMessage("该个税扣缴义务人下该员工不存在薪资档案,请检查后重试!"); + log.error("停薪异常 requestId:{} msg:{}", requestInfo.getRequestid(), taxAgentId +"_"+ employeeId+"该个税扣缴义务人下该员工不存在薪资档案,请检查后重试!"); return FAILURE_AND_CONTINUE; } if(salaryArchiveList.size() > 1){ requestInfo.getRequestManager().setMessage("该个税扣缴义务人下该员工存在多条薪资档案记录,请检查后重试!"); + log.error("停薪异常 requestId:{} msg:{}", requestInfo.getRequestid(), taxAgentId +"_"+ employeeId+"该个税扣缴义务人下该员工存在多条薪资档案记录,请检查后重试!"); return FAILURE_AND_CONTINUE; } // 设置最后发薪日期 diff --git a/src/com/engine/salary/entity/datacollection/bo/VariableArchiveExcelBO.java b/src/com/engine/salary/entity/datacollection/bo/VariableArchiveExcelBO.java index aaa4f71b4..56f7a14b0 100644 --- a/src/com/engine/salary/entity/datacollection/bo/VariableArchiveExcelBO.java +++ b/src/com/engine/salary/entity/datacollection/bo/VariableArchiveExcelBO.java @@ -1,7 +1,7 @@ package com.engine.salary.entity.datacollection.bo; +import cn.hutool.core.util.NumberUtil; import com.engine.core.impl.Service; -import com.engine.salary.constant.SalaryArchiveConstant; import com.engine.salary.constant.SalaryDefaultTenantConstant; import com.engine.salary.entity.datacollection.DataCollectionEmployee; import com.engine.salary.entity.datacollection.param.VariableArchiveImportHandleParam; @@ -23,7 +23,6 @@ import weaver.general.Util; import weaver.hrm.User; import java.util.*; -import java.util.regex.Pattern; import java.util.stream.Collectors; /** @@ -232,7 +231,7 @@ public class VariableArchiveExcelBO extends Service { if (optionalVariableItem.isPresent()) { VariableItemPO variableItemPO = optionalVariableItem.get(); // 数值类型判断 - boolean isNotNumber = variableItemPO.getDataType().equals(SalaryArchiveFieldTypeEnum.NUMBER.getValue()) && StringUtils.isNotEmpty(cellVal) && !Pattern.matches(SalaryArchiveConstant.NUMBER_REGEX, cellVal); + boolean isNotNumber = variableItemPO.getDataType().equals(SalaryArchiveFieldTypeEnum.NUMBER.getValue()) && StringUtils.isNotEmpty(cellVal) && !NumberUtil.isNumber(cellVal); if (isNotNumber) { Map errorMessageMap = Maps.newHashMap(); errorMessageMap.put("message", rowindex + key + numberErr); diff --git a/src/com/engine/salary/entity/salaryarchive/bo/SalaryArchiveExcelBO.java b/src/com/engine/salary/entity/salaryarchive/bo/SalaryArchiveExcelBO.java index 41b6050bb..fb69bb2df 100644 --- a/src/com/engine/salary/entity/salaryarchive/bo/SalaryArchiveExcelBO.java +++ b/src/com/engine/salary/entity/salaryarchive/bo/SalaryArchiveExcelBO.java @@ -1,7 +1,7 @@ package com.engine.salary.entity.salaryarchive.bo; +import cn.hutool.core.util.NumberUtil; import com.engine.core.impl.Service; -import com.engine.salary.constant.SalaryArchiveConstant; import com.engine.salary.constant.SalaryDefaultTenantConstant; import com.engine.salary.entity.datacollection.DataCollectionEmployee; import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveInitImportDTO; @@ -35,7 +35,6 @@ import weaver.hrm.User; import java.time.LocalDate; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; -import java.util.regex.Pattern; import java.util.stream.Collectors; /** @@ -826,7 +825,7 @@ public class SalaryArchiveExcelBO extends Service { if (isEnable) { SalaryItemPO salaryItemPO = optionalSalaryItem.get(); // 数值类型判断 - boolean isNotNumber = salaryItemPO.getDataType().equals(SalaryArchiveFieldTypeEnum.NUMBER.getValue()) && StringUtils.isNotEmpty(cellVal) && !Pattern.matches(SalaryArchiveConstant.NUMBER_REGEX, cellVal); + boolean isNotNumber = salaryItemPO.getDataType().equals(SalaryArchiveFieldTypeEnum.NUMBER.getValue()) && StringUtils.isNotEmpty(cellVal) && !NumberUtil.isNumber(cellVal); if (isNotNumber) { Map errorMessageMap = Maps.newHashMap(); errorMessageMap.put("message", rowindex + key + numberErr); diff --git a/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.java b/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.java index 2a05a0c72..faf48f4bc 100644 --- a/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.java +++ b/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.java @@ -192,4 +192,12 @@ public interface InsuranceAccountDetailMapper { * 获取补差数据(账单月份+人员id+个税扣缴义务人) */ List queryBalanceList(InsuranceAccountDetailPO po); + + /** + * 根据id删除 + * @param ids + */ + void deleteByIds(@Param("ids")List ids); + + void deleteByEmpIds(@Param("employeeIds")List deleteEmployeeIds, @Param("billMonth") String billMonth, @Param("paymentOrganization") Long paymentOrganization); } diff --git a/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.xml b/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.xml index f5b88a501..1f077543d 100644 --- a/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.xml +++ b/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.xml @@ -553,6 +553,7 @@ SELECT t.id,t.employee_id,t.social_per_json,t.social_com_json, diff --git a/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.java b/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.java index 898d55471..4e933213d 100644 --- a/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.java +++ b/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.java @@ -20,6 +20,8 @@ public interface InsuranceBaseInfoMapper { */ List listAll(); + List listByEmployeeIds(@Param("employeeIds")Collection employeeIds); + /** * 查询对应id集合的记录 * diff --git a/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.xml b/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.xml index 33ceb8af1..d42fc0d04 100644 --- a/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.xml +++ b/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.xml @@ -43,6 +43,18 @@ WHERE delete_type = 0 + +