diff --git a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java index 1390fd524..b0840dbc2 100644 --- a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java +++ b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java @@ -184,6 +184,7 @@ public interface ErrorCodeConstants { ErrorCode MACHINE_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_029_001, "机台模板不存在"); ErrorCode DEFAULT_TEMPLATE_COUNT = new ErrorCode(1_002_029_002, "默认模板数量异常"); ErrorCode DEFAULT_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_029_003, "该类型机台默认模板不存在"); + ErrorCode DEFAULT_TEMPLATE_NOT_DELETED = new ErrorCode(1_002_029_003, "不能删除默认模板"); // ========== 标签模板 1-002-300-000 ========== ErrorCode LABEL_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_300_000, "标签模板不存在"); diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/MachineTemplateController.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/MachineTemplateController.java index e6891eb9a..22d6ba3e3 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/MachineTemplateController.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/MachineTemplateController.java @@ -34,6 +34,13 @@ public class MachineTemplateController { @Resource private MachineTemplateService machineTemplateService; + @GetMapping("/setDefaultTemplate") + @Operation(summary = "设置默认机台模板") + @PreAuthorize("@ss.hasPermission('machine-template::create')") + public CommonResult setDefaultTemplate(@RequestParam Long id) { + return success(machineTemplateService.setDefaultTemplate(id)); + } + @GetMapping("getMachineTemplateTree") @Operation(summary = "获得机台模板树") @PreAuthorize("@ss.hasPermission('machine-template::query')") diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineTemplateService.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineTemplateService.java index 7a7f71c22..bf21adfcc 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineTemplateService.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineTemplateService.java @@ -52,4 +52,6 @@ public interface MachineTemplateService { PageResult organTemplatePage(OrganTemplatePage page); OrganTemplateResp organTemplateByOrganId(Long organId); + + Boolean setDefaultTemplate(Long id); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineTemplateServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineTemplateServiceImpl.java index 8528e42f6..c2db15287 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineTemplateServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineTemplateServiceImpl.java @@ -257,6 +257,27 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { return machineTemplateMapper.selectOrganTemplate(organId); } + @Override + @Transactional + public Boolean setDefaultTemplate(Long id) { + MachineTemplateDO templateDO = machineTemplateMapper.selectById(id); + if (Objects.isNull(templateDO)) { + throw exception(MACHINE_TEMPLATE_NOT_EXISTS); + } + List machineTemplateDOS = machineTemplateMapper.selectList(MachineTemplateDO::getMachineType, templateDO.getMachineType(), MachineTemplateDO::getIsDefault, Boolean.TRUE); + if(CollectionUtil.isEmpty(machineTemplateDOS) || machineTemplateDOS.size()>1) { + throw exception(DEFAULT_TEMPLATE_COUNT); + } + MachineTemplateDO machineTemplateDO = new MachineTemplateDO(); + machineTemplateDO.setId(machineTemplateDOS.get(0).getId()); + machineTemplateDO.setIsDefault(Boolean.FALSE); + machineTemplateMapper.updateById(machineTemplateDO); + + templateDO.setIsDefault(Boolean.TRUE); + machineTemplateMapper.updateById(templateDO); + return Boolean.TRUE; + } + @Override public Boolean deleteCuttingTemplate(Long id) { @@ -264,6 +285,9 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { if (Objects.isNull(templateDO)) { throw exception(MACHINE_TEMPLATE_NOT_EXISTS); } + if(templateDO.getIsDefault()) { + throw exception(DEFAULT_TEMPLATE_NOT_DELETED); + } machineTemplateMapper.deleteById(id); return Boolean.TRUE; }