diff --git a/resource/sql/人员生成不了档案.sql b/resource/sql/人员生成不了档案.sql new file mode 100644 index 000000000..810851d73 --- /dev/null +++ b/resource/sql/人员生成不了档案.sql @@ -0,0 +1,7 @@ +update hrsa_tax_agent_emp set delete_type = 1 +where id in( + + select id from hrsa_tax_agent_emp + where tax_agent_id =27 and delete_type = 0 and employee_id not in (select employee_id from hrsa_salary_archive where tax_agent_id =27 and delete_type = 0) + +) \ No newline at end of file diff --git a/src/com/engine/salary/service/SalaryFormulaService.java b/src/com/engine/salary/service/SalaryFormulaService.java index ce9970ac6..638cbf524 100644 --- a/src/com/engine/salary/service/SalaryFormulaService.java +++ b/src/com/engine/salary/service/SalaryFormulaService.java @@ -47,4 +47,12 @@ public interface SalaryFormulaService { void deleteNotIn(List formulaIds); List listVarByFormulaIds(List effectiveFormulaIds); + + List listByCode(String code); + + void updateVar(FormulaVar formulaVar); + + List listByIds(List formulaIds); + + void update(FormulaPO formulaPO); } diff --git a/src/com/engine/salary/service/impl/SalaryFormulaServiceImpl.java b/src/com/engine/salary/service/impl/SalaryFormulaServiceImpl.java index 19bd1706f..3ea5f9e6a 100644 --- a/src/com/engine/salary/service/impl/SalaryFormulaServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryFormulaServiceImpl.java @@ -385,4 +385,24 @@ public class SalaryFormulaServiceImpl extends Service implements SalaryFormulaSe return vars; } + @Override + public List listByCode(String code) { + return getFormulaVarMapper().listSome(FormulaVar.builder().fieldId(code).build()); + } + + @Override + public void updateVar(FormulaVar formulaVar) { + getFormulaVarMapper().updateIgnoreNull(formulaVar); + } + + @Override + public List listByIds(List formulaIds) { + return getFormulaMapper().listByIds(formulaIds); + } + + @Override + public void update(FormulaPO formulaPO) { + getFormulaMapper().updateIgnoreNull(formulaPO); + } + } diff --git a/src/com/engine/salary/service/impl/SalaryItemServiceImpl.java b/src/com/engine/salary/service/impl/SalaryItemServiceImpl.java index 84dec4987..ca55d0197 100644 --- a/src/com/engine/salary/service/impl/SalaryItemServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryItemServiceImpl.java @@ -5,6 +5,7 @@ import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; import com.engine.salary.biz.SalaryItemBiz; import com.engine.salary.biz.SysSalaryItemBiz; +import com.engine.salary.entity.salaryformula.po.FormulaPO; import com.engine.salary.entity.salaryformula.po.FormulaVar; import com.engine.salary.entity.salaryitem.bo.SalaryItemBO; import com.engine.salary.entity.salaryitem.param.SalaryItemSaveParam; @@ -223,6 +224,25 @@ public class SalaryItemServiceImpl extends Service implements SalaryItemService String oldName = salaryItemPO.getName(); String newName = saveParam.getName(); if (!StringUtils.equals(oldName, newName)) { + String code = "salaryItem_" + salaryItemPO.getCode(); + List formulaVars = getSalaryFormulaService(user).listByCode(code); + formulaVars.forEach(v -> { + FormulaVar formulaVar = new FormulaVar(); + formulaVar.setId(v.getId()); + formulaVar.setName("薪资项目." + newName); + getSalaryFormulaService(user).updateVar(formulaVar); + }); + + List formulaIds = SalaryEntityUtil.properties(formulaVars, FormulaVar::getFormulaId, Collectors.toList()); + List formulaPOS = getSalaryFormulaService(user).listByIds(formulaIds); + formulaPOS.forEach(f->{ + String formula = f.getFormula(); + formula = formula.replace(String.format("{薪资项目.%s}", oldName), String.format("{薪资项目.%s}", newName)); + FormulaPO formulaPO = new FormulaPO(); + formulaPO.setId(f.getId()); + formulaPO.setFormula(formula); + getSalaryFormulaService(user).update(formulaPO); + }); } @@ -336,7 +356,6 @@ public class SalaryItemServiceImpl extends Service implements SalaryItemService } - public UsingItem getUsingItem(Long id) { //薪资项目 @@ -349,7 +368,6 @@ public class SalaryItemServiceImpl extends Service implements SalaryItemService List backItems = getSalarySobBackItemService(user).listBySalaryItemIds(Collections.singleton(id)); - // //账套里的项目,项目里的项目 // List sobItemIds = SalaryEntityUtil.properties(sobItems, SalarySobItemPO::getSalaryItemId, Collectors.toList()); // List backItemIds = SalaryEntityUtil.properties(backItems, SalarySobBackItemPO::getSalaryItemId, Collectors.toList());