From d9f041c9bbf0781d59d27b9bd68d6e42e79b14f6 Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Fri, 7 Apr 2023 16:06:47 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=A6=E5=A5=97=E5=88=A0=E9=99=A4=E5=89=8D?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C=E6=98=AF=E5=90=A6=E5=AD=98=E5=9C=A8=E5=B7=A5?= =?UTF-8?q?=E8=B5=84=E5=8D=95=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/salaryBill/po/SalaryTemplatePO.java | 3 +++ .../mapper/salarybill/SalaryTemplateMapper.xml | 6 ++++++ .../salary/service/SalaryTemplateService.java | 7 +++++++ .../salary/service/impl/SalarySobServiceImpl.java | 13 ++++++++++++- .../service/impl/SalaryTemplateServiceImpl.java | 5 +++++ 5 files changed, 33 insertions(+), 1 deletion(-) 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()); + } }