diff --git a/src/com/engine/salary/entity/salaryBill/po/SalaryTemplatePO.java b/src/com/engine/salary/entity/salaryBill/po/SalaryTemplatePO.java index 60c2bc244..139ecb16d 100644 --- a/src/com/engine/salary/entity/salaryBill/po/SalaryTemplatePO.java +++ b/src/com/engine/salary/entity/salaryBill/po/SalaryTemplatePO.java @@ -5,6 +5,7 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import java.util.Collection; import java.util.Date; /** @@ -135,4 +136,6 @@ public class SalaryTemplatePO { * 租户ID */ private String tenantKey; + + private Collection salarySobIds; } diff --git a/src/com/engine/salary/mapper/salarybill/SalaryTemplateMapper.xml b/src/com/engine/salary/mapper/salarybill/SalaryTemplateMapper.xml index b91e8343e..0c103ca79 100644 --- a/src/com/engine/salary/mapper/salarybill/SalaryTemplateMapper.xml +++ b/src/com/engine/salary/mapper/salarybill/SalaryTemplateMapper.xml @@ -307,6 +307,12 @@ AND delete_type = #{deleteType} + + AND salary_sob_id IN + + #{id} + + ORDER BY id DESC diff --git a/src/com/engine/salary/service/SalaryTemplateService.java b/src/com/engine/salary/service/SalaryTemplateService.java index 8bfd9cd54..a1dd3dfb8 100644 --- a/src/com/engine/salary/service/SalaryTemplateService.java +++ b/src/com/engine/salary/service/SalaryTemplateService.java @@ -95,4 +95,11 @@ public interface SalaryTemplateService { * @return */ List getDefaultTemplates(List salarySobIds); + + /** + * 根据薪资账套id获取工资单模板 + * @param ids + * @return + */ + List getBySalarySobIds(Collection ids); } diff --git a/src/com/engine/salary/service/impl/SalarySobServiceImpl.java b/src/com/engine/salary/service/impl/SalarySobServiceImpl.java index a34e2b74b..807c4e4f7 100644 --- a/src/com/engine/salary/service/impl/SalarySobServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalarySobServiceImpl.java @@ -4,6 +4,7 @@ import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; import com.engine.salary.biz.*; import com.engine.salary.constant.SalaryDefaultTenantConstant; +import com.engine.salary.entity.salaryBill.po.SalaryTemplatePO; import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO; import com.engine.salary.entity.salaryitem.bo.SysSalaryItemBO; import com.engine.salary.entity.salaryitem.po.SalaryItemPO; @@ -23,7 +24,6 @@ import com.engine.salary.enums.SalarySystemTypeEnum; import com.engine.salary.enums.salarysob.IncomeCategoryEnum; import com.engine.salary.enums.salarysob.SalaryEmployeeStatusEnum; import com.engine.salary.exception.SalaryRunTimeException; -import com.engine.salary.mapper.salarysob.SalarySobDefaultItemMapper; import com.engine.salary.mapper.salarysob.SalarySobMapper; import com.engine.salary.service.*; import com.engine.salary.util.SalaryEntityUtil; @@ -113,6 +113,10 @@ public class SalarySobServiceImpl extends Service implements SalarySobService { return ServiceUtil.getService(SalarySobBackItemServiceImpl.class, user); } + private SalaryTemplateService getSalaryTemplateService(User user) { + return ServiceUtil.getService(SalaryTemplateServiceImpl.class, user); + } + @Override @@ -544,6 +548,13 @@ public class SalarySobServiceImpl extends Service implements SalarySobService { if (CollectionUtils.isNotEmpty(salaryAcctRecordPOS)) { throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(99713, "账套已用于薪资核算,不能删除")); } + + // 根据薪资账套id查询工资单模板,存在该账套下的工资单模板就不能删除账套了 + List salaryTemplatePOS = getSalaryTemplateService(user).getBySalarySobIds(ids); + if(CollectionUtils.isNotEmpty(salaryTemplatePOS)){ + throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(99713, "账套存在工资单模板,不能删除,请先删除该账套所对应的工资单模板")); + } + //关联其他的删除 // 删除薪资账套 salarySobMapper.deleteByIds(ids); diff --git a/src/com/engine/salary/service/impl/SalaryTemplateServiceImpl.java b/src/com/engine/salary/service/impl/SalaryTemplateServiceImpl.java index cce8dc67f..378ad0a3a 100644 --- a/src/com/engine/salary/service/impl/SalaryTemplateServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryTemplateServiceImpl.java @@ -274,4 +274,9 @@ public class SalaryTemplateServiceImpl extends Service implements SalaryTemplate public List getDefaultTemplates(List salarySobIds) { return mapper.listDefaultTemplates(salarySobIds); } + + @Override + public List getBySalarySobIds(Collection ids) { + return mapper.listSome(SalaryTemplatePO.builder().salarySobIds(ids).build()); + } }