diff --git a/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/ErrorCodeConstants.java b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/ErrorCodeConstants.java index 16f9594cd..306fe4e51 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/ErrorCodeConstants.java +++ b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/ErrorCodeConstants.java @@ -15,6 +15,8 @@ public interface ErrorCodeConstants { ErrorCode PLAN_NOT_ALLOW_CANCEL = new ErrorCode(1_001_107_002, "排单 新单 不予许作废"); + ErrorCode LIST_CHANGES_ARE_PROHIBITED = new ErrorCode(1_001_107_003, "当前排单已开料,禁止更改"); + // ========== 生产单商品 TODO 补充编号 ========== ErrorCode GOODS_NOT_EXISTS = new ErrorCode(1_001_108_000, "生产单商品不存在"); diff --git a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/machine/dto/MachineDTO.java b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/machine/dto/MachineDTO.java index ad96b464f..ba846f3b5 100644 --- a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/machine/dto/MachineDTO.java +++ b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/machine/dto/MachineDTO.java @@ -24,6 +24,9 @@ public class MachineDTO { @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") private String name; + @Schema(description = "品牌ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") + private Long brandId; + @Schema(description = "1机台设备 2CNC设备", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") private Integer machineType; 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 3c107a8b4..f4cc0f7a2 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 @@ -210,6 +210,9 @@ public interface ErrorCodeConstants { ErrorCode NOT_MACHINE_AUTH = new ErrorCode(1_002_029_005, "该组织无此机台权限"); ErrorCode THE_CURRENT_MACHINE_IS_ALREADY_IN_USE = new ErrorCode(1_002_029_006, "当前机台已使用,禁止删除"); ErrorCode MACHINE_ERROR = new ErrorCode(1_002_029_007, "当前机台错误,请重新选择机台"); + ErrorCode THE_CURRENT_BRAND_OF_THE_MACHINE_EXISTS = new ErrorCode(1_002_029_008, "当前机台配置的模板中,该品牌已存在,请重新输入品牌名称"); + ErrorCode THE_MODEL_OF_THE_MACHINE_DOES_NOT_EXIST = new ErrorCode(1_002_029_009, "该型号的机台不存在,请进行配置"); + ErrorCode THE_CURRENT_BRAND = new ErrorCode(1_002_029_666, "品牌ID错误,或品牌不存在"); // ========== 标签模板 1-002-300-000 ========== ErrorCode LABEL_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_300_000, "标签模板不存在"); @@ -268,6 +271,7 @@ public interface ErrorCodeConstants { ErrorCode THE_CURRENT_PACKAGE_TYPE_IS_INCORRECT = new ErrorCode(1_002_038_777, "当前包裹类型错误"); ErrorCode FAILED_TO_MODIFY_THE_STATUS_OF_THE_CURRENT_PRODUCTION_ORDER = new ErrorCode(1_002_038_778, "修改当前生产单的工序状态和生产单的状态失败"); ErrorCode NO_OPTIMIZATION_INFORMATION_AVAILABLE = new ErrorCode(1_002_038_779, "当前订单无优化信息"); + ErrorCode NO_PRODUCTION_ORDER_INFORMATION_AVAILABLE = new ErrorCode(1_002_038_780, "已经是{}一条了,无{}一页信息"); //=========== 应用信息 1-002-037-000 ============ @@ -283,5 +287,5 @@ public interface ErrorCodeConstants { //=========== 用户的系统配置 1-002-039-000 ============ - ErrorCode CURRENTLY_NO_CONFIGURATION_AVAILABLE = new ErrorCode(1_002_039_001, "当前没有配置信息,请前往设置配置"); + ErrorCode CURRENTLY_NO_CONFIGURATION_AVAILABLE = new ErrorCode(1_002_039_001, "当前没有{}配置信息,请前往设置配置"); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/api/machine/MachineApiImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/api/machine/MachineApiImpl.java index 2eb2fc074..700f8c478 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/api/machine/MachineApiImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/api/machine/MachineApiImpl.java @@ -51,6 +51,7 @@ public class MachineApiImpl implements MachineApi { MachineDTO machineDTO = MachineDTO.builder() .id(cutting.getId()) .machineType(cutting.getMachineType()) + .brandId(cutting.getBrandId()) .name(cutting.getName()) .setting(cutting.getMachineSettingDO().toJSONString()) .label(JsonUtils.toJsonString(label)) diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/MachineController.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/MachineController.java index 459457a11..6cd176c35 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/MachineController.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/MachineController.java @@ -93,33 +93,14 @@ public class MachineController { return success(BeanUtils.toBean(pageResult, CuttingRespVO.class)); } - @GetMapping("getDefaultCutting") - @Operation(summary = "获得默认机台模板") - @Parameter(name = "machineType", description = "机台类型", required = true, example = "1") - //@PreAuthorize("@ss.hasPermission('machine::query')") - public CommonResult getDefaultCutting(@RequestParam Integer machineType) { - return success(machineTemplateService.getDefaultCutting(machineType)); - } +// @GetMapping("getDefaultCutting") +// @Operation(summary = "获得默认机台模板") +// @Parameter(name = "machineType", description = "机台类型", required = true, example = "1") +// //@PreAuthorize("@ss.hasPermission('machine::query')") +// public CommonResult getDefaultCutting(@RequestParam Integer machineType) { +// return success(machineTemplateService.getDefaultCutting(machineType)); +// } - /* @GetMapping("getDefaultDrill") - @Operation(summary = "获得默认钻孔机台模板") - @PreAuthorize("@ss.hasPermission('machine::query')") - public CommonResult getDefaultDrill() { - return success(machineTemplateService.getDefaultDrill()); - }*/ - - /*@GetMapping("/export-excel") - @Operation(summary = "导出机台 Excel") - @PreAuthorize("@ss.hasPermission('machine::export')") - @OperateLog(type = EXPORT) - public void exportExcel(@Valid MachinePageReqVO pageReqVO, - HttpServletResponse response) throws IOException { - pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = Service.getPage(pageReqVO).getList(); - // 导出 Excel - ExcelUtils.write(response, "机台.xls", "数据", MachineRespVO.class, - BeanUtils.toBean(list, MachineRespVO.class)); - }*/ @GetMapping("getMachineTree") @@ -142,7 +123,7 @@ public class MachineController { @GetMapping("getBrandAndModel") @Operation(summary = "获得机台的品牌跟型号") //@PreAuthorize("@ss.hasPermission('machine::query')") - public CommonResult>> getBrandAndModel(@RequestParam Long type) { + public CommonResult> getBrandAndModel(@RequestParam Integer type) { return success(machineService.getBrandAndModel(type)); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/MachineTemplateAuthController.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/MachineTemplateAuthController.java index 0e4e46f1a..1f1bde10f 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/MachineTemplateAuthController.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/MachineTemplateAuthController.java @@ -59,7 +59,6 @@ public class MachineTemplateAuthController { .id(e.getId()) .machineType(e.getMachineType()) .templateName(e.getName()) - .isDefault(e.getIsDefault()) .build() ).collect(Collectors.toList()); 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 854b5d798..73129a833 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,17 +34,17 @@ public class MachineTemplateController { @Resource private MachineTemplateService machineTemplateService; - @GetMapping("/setDefaultTemplate") - @Operation(summary = "设置默认机台模板") - @PreAuthorize("@ss.hasPermission('machine-template::update')") - public CommonResult setDefaultTemplate(@RequestParam Long id) { - return success(machineTemplateService.setDefaultTemplate(id)); - } +// @GetMapping("/setDefaultTemplate") +// @Operation(summary = "设置默认机台模板") +// @PreAuthorize("@ss.hasPermission('machine-template::update')") +// public CommonResult setDefaultTemplate(@RequestParam Long id) { +// return success(machineTemplateService.setDefaultTemplate(id)); +// } @GetMapping("getMachineTemplateTree") @Operation(summary = "获得机台模板树") @PreAuthorize("@ss.hasPermission('machine-template::query')") - public CommonResult>> getMachineTemplateTree() { + public CommonResult>> getMachineTemplateTree() { return success(machineTemplateService.getMachineTemplateTree()); } @@ -88,15 +88,29 @@ public class MachineTemplateController { } @DeleteMapping("batch-delete-cutting") - @Operation(summary = "批量删除机台模板配置") + @Operation(summary = "删除品牌即其下的机台模板配置") @PreAuthorize("@ss.hasPermission('machine-template::delete')") - public CommonResult batchDeleteCutting(@RequestParam("id") List ids) { - return success(machineTemplateService.batchDeleteCuttingTemplate(ids)); + public CommonResult batchDeleteCutting(@RequestBody MachineTemplateBrandReqVO reqVO) { + return success(machineTemplateService.batchDeleteCuttingTemplate(reqVO)); } + @PutMapping("insert-template-machine-brand") + @Operation(summary = "新增机台模板品牌") + @PreAuthorize("@ss.hasPermission('machine-template::create')") + public CommonResult createMachineTemplateBrand(@RequestBody MachineTemplateBrandReqVO reqVO) { + machineTemplateService.createMachineTemplateBrand(reqVO); + return success(true); + } + @PutMapping("update-template-machine-brand") + @Operation(summary = "修改机台品牌名称") + @PreAuthorize("@ss.hasPermission('machine-template::create')") + public CommonResult updateMachineTemplateBrand(@RequestBody MachineTemplateBrandReqVO reqVO) { + machineTemplateService.updateMachineTemplateBrand(reqVO); + return success(true); + } } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/CuttingRespVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/CuttingRespVO.java index 21925b3b1..f8cbbc83d 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/CuttingRespVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/CuttingRespVO.java @@ -31,14 +31,20 @@ public class CuttingRespVO { @Schema(description = "标签id") private Long labelId; - @Schema(description = "品牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") - @ExcelProperty("品牌") - private String brand; + @Schema(description = "品牌ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") + @ExcelProperty("品牌ID") + private Long brandId; - @Schema(description = "型号", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") - @ExcelProperty("型号") - private String model; + +// @Schema(description = "品牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") +// @ExcelProperty("品牌") +// private String brand; + + +// @Schema(description = "型号", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") +// @ExcelProperty("型号") +// private String model; @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("创建时间") diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/CuttingSaveReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/CuttingSaveReqVO.java index 918ddf603..bb6b3fd7c 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/CuttingSaveReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/CuttingSaveReqVO.java @@ -29,19 +29,21 @@ public class CuttingSaveReqVO { private Integer machineType; @Schema(description = "标签id") -// @NotNull(message = "标签id不能空") private Long labelId; - @Schema(description = "机台模板id") - @NotNull(groups = CreateGroup.class, message = "机台模板id不能空") - private Long templateId; +// // 新的机台逻辑需要删除 +// @Schema(description = "机台模板id") +// @NotNull(groups = CreateGroup.class, message = "机台模板id不能空") +// private Long templateId; - @Schema(description = "品牌", requiredMode = Schema.RequiredMode.REQUIRED) -// @NotNull(message = "机台的品牌不能为空") - private String brand; + @Schema(description = "品牌ID", requiredMode = Schema.RequiredMode.REQUIRED) + private Long brandId; + + +// @Schema(description = "品牌", requiredMode = Schema.RequiredMode.REQUIRED) +// private String brand; @Schema(description = "型号", requiredMode = Schema.RequiredMode.REQUIRED) -// @NotNull(message = "机台的型号不能为空") private String model; @Schema(description = "机台配置") diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/CuttingTemplateSaveReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/CuttingTemplateSaveReqVO.java index 33c3c6701..866807111 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/CuttingTemplateSaveReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/CuttingTemplateSaveReqVO.java @@ -26,15 +26,26 @@ public class CuttingTemplateSaveReqVO { @NotNull(message = "1开料机台设备 2钻孔机台设备 不能为空") private Integer machineType; - /*@Schema(description = "标签id") - @NotNull(message = "标签id不能空") - private Long labelId;*/ - /* @Schema(description = "管理理后台 - 开料机台模板新增/修改 Request VO") - @NotNull(message = "开料机台配置不能空") - private CuttingTemplateMachineDO setting;*/ + @Schema(description = "当前品牌ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + private Long nowBrandId; - @Schema(description = "管理理后台 - 开料机台模板新增/修改 Request VO") - @NotNull(message = "开料机台配置不能空") + + @Schema(description = "引用的品牌ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") +// @NotNull(message = "品牌ID") + private Long brandId; + + +// @Schema(description = "机台的品牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") +// @NotNull(message = "品牌名称不能为空") +// private String brand; + + + @Schema(description = "机台的型号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + private String model; + + + @Schema(description = "管理理后台 - 机台模板新增/修改 Request VO") private JSONObject setting; + } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineBrandModelRespVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineBrandModelRespVO.java index ba2622b7b..430ab17d0 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineBrandModelRespVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineBrandModelRespVO.java @@ -3,15 +3,23 @@ package com.cf.imes.module.system.controller.admin.machine.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import java.util.List; + @Data @Schema(description = "机台的型号信息") public class MachineBrandModelRespVO { + + @Schema(description = "机台的品牌ID") + private Long id; + + @Schema(description = "机台的品牌") private String brand; - @Schema(description = "机台的型号") - private String model; + + @Schema(description = "机台的型号-即机台的名称") + private List name; } \ No newline at end of file diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineTemplateBrandReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineTemplateBrandReqVO.java new file mode 100644 index 000000000..23dd4b630 --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineTemplateBrandReqVO.java @@ -0,0 +1,25 @@ +package com.cf.imes.module.system.controller.admin.machine.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Data +public class MachineTemplateBrandReqVO { + + + @Schema(description = "1开料机台设备 2钻孔机台设备", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @NotNull(message = "1开料机台设备 2钻孔机台设备 不能为空") + private Integer machineType; + + @Schema(description = "机台的品牌ID") + private Integer id; + + + @Schema(description = "机台的品牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @NotNull(message = "品牌名称不能为空") + private String brand; + +} diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineTemplateRespVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineTemplateRespVO.java new file mode 100644 index 000000000..66ace5b87 --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineTemplateRespVO.java @@ -0,0 +1,34 @@ +package com.cf.imes.module.system.controller.admin.machine.vo; + + +import com.cf.imes.module.system.dal.dataobject.machinetemplate.MachineTemplateDO; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; +import java.util.List; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class MachineTemplateRespVO { + + + @Schema(description = "品牌ID") + private Long id; + + @Schema(description = "品牌名称") + private String brand; + + @Schema(description = "机台类别") + private Integer machineType; + + @Schema(description = "机台信息") + private List machineTemplateDOS; + + +} diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineVO.java index e22c0edce..55c4d7b7a 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineVO.java @@ -24,6 +24,12 @@ public class MachineVO { @ExcelProperty("1开料机 2钻孔机") private Integer machineType; + @Schema(description = "品牌ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") + private Long brandId; + + @Schema(description = "品牌名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") + private String brand; + @Schema(description = "标签id") private Long labelId; diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/convert/machine/MachineConvert.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/convert/machine/MachineConvert.java index 8cc6ecb9e..1658bde01 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/convert/machine/MachineConvert.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/convert/machine/MachineConvert.java @@ -20,8 +20,8 @@ public class MachineConvert { .id(createReqVO.getId()) .labelId(createReqVO.getLabelId()) .setting(createReqVO.getMachineSettingDO().toJSONString()) - .brand(createReqVO.getBrand()) - .model(createReqVO.getModel()) + .brandId(createReqVO.getBrandId()) +// .model(createReqVO.getModel()) .build(); } @@ -31,8 +31,8 @@ public class MachineConvert { .id(machineDO.getId()) .machineSettingDO(JSON.parseObject(machineDO.getSetting())) .createTime(machineDO.getCreateTime()) - .brand(machineDO.getBrand()) - .model(machineDO.getModel()) + .brandId(machineDO.getBrandId()) +// .model(machineDO.getModel()) .name(machineDO.getName()) .machineType(machineDO.getMachineType()) .labelId(machineDO.getLabelId()) diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/convert/machine/MachineTemplateConvert.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/convert/machine/MachineTemplateConvert.java index 3b79adb59..07bb1de82 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/convert/machine/MachineTemplateConvert.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/convert/machine/MachineTemplateConvert.java @@ -27,6 +27,8 @@ public class MachineTemplateConvert { .machineType(reqVO.getMachineType()) .id(reqVO.getId()) .name(reqVO.getName()) +// .brand(reqVO.getBrand()) + .brandId(reqVO.getNowBrandId()) .setting(reqVO.getSetting().toJSONString()) .build(); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/machine/MachineBrandDO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/machine/MachineBrandDO.java new file mode 100644 index 000000000..dae5c574b --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/machine/MachineBrandDO.java @@ -0,0 +1,36 @@ +package com.cf.imes.module.system.dal.dataobject.machine; + + +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; +import lombok.*; + +@TableName("system_machine_brand") +@Data +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class MachineBrandDO /*extends BaseDO*/ { + + /** + * 主键 + */ + @TableId + private Long id; + + /** + * 1开料设备 2钻孔机设备 3裁板锯 4贴标机 5封边机 + */ + private Integer machineType; + + + /** + * 品牌 + */ + private String brand; + + +} diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/machine/MachineDO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/machine/MachineDO.java index 3bcce9a89..adfe672e4 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/machine/MachineDO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/machine/MachineDO.java @@ -46,14 +46,20 @@ public class MachineDO extends OrganBaseDO { private String setting; /** - * 品牌 + * 品牌ID */ - private String brand; + private Long brandId; - /** - * 型号 - */ - private String model; +// /** +// * 品牌 +// */ +// private String brand; + + +// /** +// * 型号 +// */ +// private String model; } \ No newline at end of file diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/machinetemplate/MachineTemplateDO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/machinetemplate/MachineTemplateDO.java index 143a93112..e4851c6ac 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/machinetemplate/MachineTemplateDO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/machinetemplate/MachineTemplateDO.java @@ -25,28 +25,26 @@ public class MachineTemplateDO extends BaseDO { */ private String name; /** - * 1机台设备 2CNC设备 + * 1开料设备 2钻孔机设备 3裁板锯 4贴标机 5封边机 */ private Integer machineType; - /** - * 是否默认模板 - */ - private Boolean isDefault; + +// /** +// * 是否默认模板 +// */ +// private Boolean isDefault; + /** * 机台模板配置 */ private String setting; /** - * 品牌 + * 品牌ID */ - private String brand; + private Long brandId; - /** - * 型号 - */ - private String model; /** * 标签id diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/machine/MachineBrandMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/machine/MachineBrandMapper.java new file mode 100644 index 000000000..da9b24da0 --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/machine/MachineBrandMapper.java @@ -0,0 +1,34 @@ +package com.cf.imes.module.system.dal.mysql.machine; + + +import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; +import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.cf.imes.module.system.dal.dataobject.machine.MachineBrandDO; +import com.cf.imes.module.system.dal.dataobject.machinetemplate.MachineTemplateDO; +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface MachineBrandMapper extends BaseMapperX { + + + + default List selectListByType(Integer machineType) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(MachineBrandDO::getMachineType,machineType)); + } + + + + + default MachineBrandDO selectBrand(String brand,Integer machineType) { + return selectOne(new LambdaQueryWrapperX() + .eqIfPresent(MachineBrandDO::getMachineType,machineType) + .eqIfPresent(MachineBrandDO::getBrand,brand)); + } + + +} diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/machinetemplate/MachineTemplateMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/machinetemplate/MachineTemplateMapper.java index edcb53e32..f54801e5a 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/machinetemplate/MachineTemplateMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/machinetemplate/MachineTemplateMapper.java @@ -42,11 +42,23 @@ public interface MachineTemplateMapper extends BaseMapperX { OrganTemplateResp selectOrganTemplate(Long organId); - default MachineTemplateDO selectMachineId(String brand, String model) { - return selectOne(new LambdaQueryWrapperX() - .eqIfPresent(MachineTemplateDO::getBrand,brand) - .eqIfPresent(MachineTemplateDO::getModel,model)); +// default MachineTemplateDO selectMachineId(String brand) { +// return selectOne(new LambdaQueryWrapperX() +// .eqIfPresent(MachineTemplateDO::getBrand,brand)); +// } + + + + default List selectByBrand(Integer id) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(MachineTemplateDO::getBrandId,id)); } + + default MachineTemplateDO selectMachine(Long brandId, String model) { + return selectOne(new LambdaQueryWrapperX() + .eqIfPresent(MachineTemplateDO::getBrandId,brandId) + .eqIfPresent(MachineTemplateDO::getName,model)); + } } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineService.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineService.java index ba1ba9075..a861fa359 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineService.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineService.java @@ -59,13 +59,6 @@ public interface MachineService { */ void batchDeleteCutting(List ids); - Long createDrill(DrillSaveReqVO createReqVO); - - void updateDrill(DrillSaveReqVO updateReqVO); - - void deleteDrill(Long id); - - void batchDeleteDrill(List ids); DrillRespVO getDrill(Long id); @@ -83,5 +76,5 @@ public interface MachineService { List simpleList(Long organId,Long type); - Map> getBrandAndModel(Long type); + List getBrandAndModel(Integer type); } \ No newline at end of file diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineServiceImpl.java index d1f858c4d..44274fc0c 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineServiceImpl.java @@ -21,12 +21,10 @@ import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils; import com.cf.imes.module.executor.api.plan.OrderPlanApi; import com.cf.imes.module.system.controller.admin.machine.vo.*; import com.cf.imes.module.system.convert.machine.MachineConvert; -import com.cf.imes.module.system.dal.dataobject.machine.DrillSettingDO; -import com.cf.imes.module.system.dal.dataobject.machine.MachineDO; -import com.cf.imes.module.system.dal.dataobject.machine.CuttingSettingDO; -import com.cf.imes.module.system.dal.dataobject.machine.MachineLimitDO; +import com.cf.imes.module.system.dal.dataobject.machine.*; import com.cf.imes.module.system.dal.dataobject.machinetemplate.MachineTemplateDO; import com.cf.imes.module.system.dal.dataobject.machinetemplate.MachineTemplateLimitDO; +import com.cf.imes.module.system.dal.mysql.machine.MachineBrandMapper; import com.cf.imes.module.system.dal.mysql.machine.MachineMapper; import com.cf.imes.module.system.dal.mysql.machine.MachineLimitMapper; import com.cf.imes.module.system.dal.mysql.machinetemplate.MachineTemplateLimitMapper; @@ -66,8 +64,6 @@ public class MachineServiceImpl implements MachineService { @Resource private ESDocumentService esDocumentService; - //开料机台配置索引 - public final static String CUTTING_MACHINE_SETTING = "cutting_machine_setting"; //钻孔机台配置索引 public final static String DRILL_MACHINE_SETTING = "drill_machine_setting"; @@ -87,36 +83,64 @@ public class MachineServiceImpl implements MachineService { @Resource private OrderPlanApi orderPlanApi; + @Resource + private MachineBrandMapper machineBrandMapper; + + @Override @Transactional(rollbackFor = Exception.class) public Long createCutting(CuttingSaveReqVO createReqVO) { LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); assert loginUser != null; -// MachineTemplateDO machineTemplateDO = machineTemplateMapper.selectMachineId(createReqVO.getBrand(), createReqVO.getModel()); + if(createReqVO.getId() != null){ + + MachineDO copyMachineDO = machineMapper.selectById(createReqVO.getId()); + + // 插入 + MachineDO machineDO = MachineConvert.convert(createReqVO); + + machineDO.setSetting(copyMachineDO.getSetting()); + + machineDO.setId(null); + + machineMapper.insert(machineDO); + + // 返回 + return machineDO.getId(); + + } + + MachineTemplateDO machineTemplateDO = machineTemplateMapper.selectMachine(createReqVO.getBrandId(), createReqVO.getModel()); + + if(machineTemplateDO == null){ + throw exception(THE_MODEL_OF_THE_MACHINE_DOES_NOT_EXIST); + } +// MachineTemplateLimitDO organMachineTemplateDO = machineTemplateLimitMapper.selectOne(new LambdaQueryWrapperX() +//// .eq(MachineTemplateLimitDO::getMachineId, createReqVO.getTemplateId()) +// .eq(MachineTemplateLimitDO::getOrganId, loginUser.getOrganId()) +// ); - MachineTemplateLimitDO organMachineTemplateDO = machineTemplateLimitMapper.selectOne(new LambdaQueryWrapperX() - .eq(MachineTemplateLimitDO::getMachineId, createReqVO.getTemplateId()) - .eq(MachineTemplateLimitDO::getOrganId, loginUser.getOrganId()) - ); // 插入 MachineDO machineDO = MachineConvert.convert(createReqVO); // if(createReqVO.getMachineSettingDO().isEmpty()) { // machineDO.setSetting(machineTemplateDO.getSetting()); // } - // 将机台的配置数据进行压缩 - machineDO.setSetting(JsonUtils.zipString(machineDO.getSetting())); + + machineDO.setSetting(machineTemplateDO.getSetting()); + machineMapper.insert(machineDO); - MachineLimitDO machineLimitDO = MachineLimitDO.builder() - .organId(loginUser.getOrganId()) - .machineId(machineDO.getId()) - .showPriorFacing(Objects.isNull(organMachineTemplateDO)? Boolean.FALSE: organMachineTemplateDO.getShowPriorFacing()) - .showAutoNotePrinter(Objects.isNull(organMachineTemplateDO)? Boolean.FALSE: organMachineTemplateDO.getShowAutoNotePrinter()) - .showDualWorkstation(Objects.isNull(organMachineTemplateDO)? Boolean.FALSE: organMachineTemplateDO.getShowDualWorkstation()) - .build(); +// MachineLimitDO machineLimitDO = MachineLimitDO.builder() +// .organId(loginUser.getOrganId()) +// .machineId(machineDO.getId()) +// .showPriorFacing(Objects.isNull(organMachineTemplateDO)? Boolean.FALSE: organMachineTemplateDO.getShowPriorFacing()) +// .showAutoNotePrinter(Objects.isNull(organMachineTemplateDO)? Boolean.FALSE: organMachineTemplateDO.getShowAutoNotePrinter()) +// .showDualWorkstation(Objects.isNull(organMachineTemplateDO)? Boolean.FALSE: organMachineTemplateDO.getShowDualWorkstation()) +// .build(); + +// machineLimitMapper.insert(machineLimitDO); - machineLimitMapper.insert(machineLimitDO); // 返回 return machineDO.getId(); } @@ -181,77 +205,7 @@ public class MachineServiceImpl implements MachineService { return respVO; } - @Override - public Long createDrill(DrillSaveReqVO createReqVO) { - // 插入 - MachineDO machineDO = Convert.convert(MachineDO.class, createReqVO); - machineMapper.insert(machineDO); - DrillSettingDO machineSettingDO = createReqVO.getMachineSettingDO(); - machineSettingDO.setMachineId(machineDO.getId()); - try { - esDocumentService.createByFluentDSL(DRILL_MACHINE_SETTING, machineSettingDO.getId(), machineSettingDO); - } catch (Exception e) { - log.error(e.getMessage()); - throw exception(INTERNAL_SERVER_ERROR); - } - // 返回 - return machineDO.getId(); - } - @Override - public void updateDrill(DrillSaveReqVO updateReqVO) { - // 校验存在 - validateExists(updateReqVO.getId()); - updateReqVO.getMachineSettingDO().setMachineId(updateReqVO.getId()); - try { - esDocumentService.createByFluentDSL(DRILL_MACHINE_SETTING, updateReqVO.getMachineSettingDO().getId(), updateReqVO.getMachineSettingDO()); - } catch (Exception e) { - log.error(e.getMessage()); - throw exception(INTERNAL_SERVER_ERROR); - } - // 更新 - MachineDO updateObj = BeanUtils.toBean(updateReqVO, MachineDO.class); - machineMapper.updateById(updateObj); - } - - @Override - public void deleteDrill(Long id) { - // 校验存在 - MachineDO machineDO = machineMapper.selectById(id); - if (machineMapper.selectById(id) == null) { - throw exception(MACHINE_NOT_EXISTS); - } - // 删除 - DeleteByQueryRequest.Builder builder = new DeleteByQueryRequest.Builder() - .index(DRILL_MACHINE_SETTING) - .query(b -> b.term(t -> t.field("machineId").value(machineDO.getId()))); - try { - elasticsearchClient.deleteByQuery(builder.build()); - } catch (IOException e) { - log.error(e.getMessage()); - throw exception(INTERNAL_SERVER_ERROR); - } - machineMapper.deleteById(id); - } - - @Override - public void batchDeleteDrill(List ids) { - List machineDOS = machineMapper.selectBatchIds(ids); - if (CollectionUtil.isEmpty(machineDOS)) { - throw exception(MACHINE_NOT_EXISTS); - } - List fieldValues = machineDOS.stream().map(e -> FieldValue.of(e.getId())).collect(Collectors.toList()); - DeleteByQueryRequest.Builder builder = new DeleteByQueryRequest.Builder() - .index(DRILL_MACHINE_SETTING) - .query(TermsQuery.of(e -> e.field("machineId").terms(b -> b.value(fieldValues)))._toQuery()); - try { - elasticsearchClient.deleteByQuery(builder.build()); - } catch (IOException e) { - log.error(e.getMessage()); - throw exception(INTERNAL_SERVER_ERROR); - } - machineMapper.deleteBatchIds(ids); - } @Override public DrillRespVO getDrill(Long id) { @@ -272,14 +226,23 @@ public class MachineServiceImpl implements MachineService { @Override public Map> getMachineTree(Long type) { + List machineDOS = machineMapper.selectList(new LambdaQueryWrapperX() .eqIfPresent(MachineDO::getOrganId, getUserOrganId()) - .eqIfPresent(MachineDO::getMachineType, type) - .select(MachineDO::getName, MachineDO::getMachineType, MachineDO::getId, MachineDO::getLabelId, MachineDO::getCreateTime) - ); + .eqIfPresent(MachineDO::getMachineType, type)); + + List brandIds = machineDOS.stream().map(MachineDO::getBrandId).toList(); + List machineBrandDOS = machineBrandMapper.selectBatchIds(brandIds); + List machineVOS = BeanUtils.toBean(machineDOS, MachineVO.class); - Map> map = machineVOS.stream().collect(Collectors.groupingBy(MachineVO::getMachineType)); - return map; + + for (MachineVO machineVO : machineVOS) { + + machineVO.setBrand(machineBrandDOS.stream().filter(m -> m.getId().equals(machineVO.getBrandId())).map(MachineBrandDO::getBrand) + .findFirst().orElse(null)); + } + + return machineVOS.stream().collect(Collectors.groupingBy(MachineVO::getMachineType)); } @Override @@ -340,19 +303,29 @@ public class MachineServiceImpl implements MachineService { @Override - public Map> getBrandAndModel(Long type) { + public List getBrandAndModel(Integer type) { - List machineDOS = machineMapper.selectList(new LambdaQueryWrapperX() - .eqIfPresent(MachineDO::getOrganId, getUserOrganId()) - .eqIfPresent(MachineDO::getMachineType, type) - .select(MachineDO::getModel,MachineDO::getBrand) - ).stream().filter(f -> (!Objects.equals(f.getModel(), ""))).toList(); + List machineBrandDOS = machineBrandMapper.selectListByType(type); - List machineVOS = BeanUtils.toBean(machineDOS, MachineBrandModelRespVO.class); - Map> map = machineVOS.stream().collect(Collectors.groupingBy(MachineBrandModelRespVO::getBrand)); + List machineBrandModelRespVOS = BeanUtils.toBean(machineBrandDOS, MachineBrandModelRespVO.class); - return map; + + List machineDOS = machineTemplateMapper.selectList(new LambdaQueryWrapperX() + .eqIfPresent(MachineTemplateDO::getMachineType, type)); + + machineBrandModelRespVOS.forEach(v-> + v.setName(machineDOS.stream().filter(f->f.getBrandId().equals(v.getId())).map(MachineTemplateDO::getName).toList()) + ); + + +// List machineVOS = BeanUtils.toBean(machineDOS, MachineBrandModelRespVO.class); +// +// +// Map> map = machineVOS.stream().collect(Collectors.groupingBy(MachineBrandModelRespVO::getBrand)); + + + return machineBrandModelRespVOS; } 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 a5e9ec195..1b6af03db 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 @@ -37,13 +37,10 @@ public interface MachineTemplateService { Boolean deleteCuttingTemplate(Long id); - Boolean batchDeleteCuttingTemplate(List ids); + Boolean batchDeleteCuttingTemplate(MachineTemplateBrandReqVO reqVO); - CuttingTemplateRespVO getDefaultCutting(Integer machineType); - DrillTemplateRespVO getDefaultDrill(); - - Map> getMachineTemplateTree(); + Map> getMachineTemplateTree(); PageResult authTemplatePage(AuthTemplatePage page); @@ -53,5 +50,11 @@ public interface MachineTemplateService { OrganTemplateResp organTemplateByOrganId(Long organId); - Boolean setDefaultTemplate(Long id); + + void createMachineTemplateBrand(MachineTemplateBrandReqVO reqVO); + + void updateMachineTemplateBrand(MachineTemplateBrandReqVO reqVO); + + +// 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 e9a21a438..72d613b76 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 @@ -14,16 +14,19 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.cf.imes.framework.common.exception.ServiceException; import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.common.util.json.JsonUtils; +import com.cf.imes.framework.common.util.object.BeanUtils; import com.cf.imes.framework.es.core.dal.ESDocument; import com.cf.imes.framework.es.core.service.ESDocumentService; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.module.system.controller.admin.machine.vo.*; import com.cf.imes.module.system.convert.machine.MachineTemplateConvert; import com.cf.imes.module.system.dal.dataobject.machine.CuttingSettingDO; +import com.cf.imes.module.system.dal.dataobject.machine.MachineBrandDO; import com.cf.imes.module.system.dal.dataobject.machine.UserMachineDO; import com.cf.imes.module.system.dal.dataobject.machinetemplate.DrillTemplateMachineDO; import com.cf.imes.module.system.dal.dataobject.machinetemplate.MachineTemplateDO; import com.cf.imes.module.system.dal.dataobject.machinetemplate.MachineTemplateLimitDO; +import com.cf.imes.module.system.dal.mysql.machine.MachineBrandMapper; import com.cf.imes.module.system.dal.mysql.machine.UserMachineMapper; import com.cf.imes.module.system.dal.mysql.machinetemplate.MachineTemplateMapper; import com.cf.imes.module.system.dal.mysql.machinetemplate.MachineTemplateLimitMapper; @@ -68,6 +71,10 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { @Resource private MachineTemplateLimitMapper machineTemplateLimitMapper; + + @Resource + private MachineBrandMapper machineBrandMapper; + @Override @Transactional(rollbackFor = Exception.class) public Long createDrillTemplate(DrillTemplateSaveReqVO reqVO) { @@ -156,21 +163,54 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { @Override @Transactional(rollbackFor = Exception.class) public Long createCuttingTemplate(CuttingTemplateSaveReqVO reqVO) { - MachineTemplateDO templateDO = MachineTemplateConvert.convert(reqVO); - if(!templateDO.getSetting().isEmpty()){ - templateDO.setSetting(JsonUtils.zipString(templateDO.getSetting())); + + // todo 测试时的判断,测试完毕后删除 + if(reqVO.getNowBrandId() == null){ + throw exception(THE_CURRENT_BRAND); } + + MachineTemplateDO templateDO = MachineTemplateConvert.convert(reqVO); + +// MachineBrandDO machineBrandDO = machineBrandMapper.selectBrand(reqVO.getBrand(),reqVO.getMachineType()); + + +// List machineTemplateDOS = machineTemplateMapper.selectByBrand(machineBrandDO.getId()); + + if(reqVO.getModel()!=null) { + + MachineTemplateDO machineTemplateDO = machineTemplateMapper.selectMachine(reqVO.getBrandId(), reqVO.getModel()); + + templateDO.setSetting(machineTemplateDO.getSetting()); + + machineTemplateMapper.insert(templateDO); + return templateDO.getId(); + } + + templateDO.setSetting(JsonUtils.zipString(templateDO.getSetting())); + machineTemplateMapper.insert(templateDO); + return templateDO.getId(); + + } @Override + @Transactional(rollbackFor = Exception.class) public Boolean updateCuttingTemplate(CuttingTemplateSaveReqVO reqVO) { + + // todo 测试时的判断,测试完毕后删除 + MachineBrandDO machineBrandDO = machineBrandMapper.selectById(reqVO.getNowBrandId()); + if(machineBrandDO == null){ + throw exception(THE_CURRENT_BRAND); + } + + MachineTemplateDO templateDO = MachineTemplateConvert.convert(reqVO); + if(!reqVO.getSetting().isEmpty()){ templateDO.setSetting(JsonUtils.zipString(templateDO.getSetting())); - } machineTemplateMapper.updateById(templateDO); return Boolean.TRUE; @@ -188,59 +228,55 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { } @Override - public Boolean batchDeleteCuttingTemplate(List ids) { - List machineTemplateDOS = machineTemplateMapper.selectBatchIds(ids); - if (CollectionUtil.isEmpty(machineTemplateDOS)) { - throw exception(MACHINE_TEMPLATE_NOT_EXISTS); + public Boolean batchDeleteCuttingTemplate(MachineTemplateBrandReqVO reqVO) { + +// MachineBrandDO machineBrandDO = machineBrandMapper.selectBrand(reqVO.getBrand(),reqVO.getMachineType()); + +// MachineBrandDO machineBrandDO = machineBrandMapper.selectById(reqVO.getId()); + + List machineTemplateDOS = machineTemplateMapper.selectByBrand(reqVO.getId()); + + if (!machineTemplateDOS.isEmpty()) { +// throw exception(MACHINE_TEMPLATE_NOT_EXISTS); + + List ids = machineTemplateDOS.stream().map(MachineTemplateDO::getId).toList(); + + machineTemplateMapper.deleteBatchIds(ids); } - machineTemplateMapper.deleteBatchIds(ids); + + + machineBrandMapper.deleteById(reqVO.getId()); return Boolean.TRUE; + } - @Override - public CuttingTemplateRespVO getDefaultCutting(Integer machineType) { - List machineTemplateDOS = machineTemplateMapper.selectList(new LambdaQueryWrapperX() - .eq(MachineTemplateDO::getIsDefault, Boolean.TRUE) - .eq(MachineTemplateDO::getMachineType, machineType) - ); - if (CollectionUtil.isNotEmpty(machineTemplateDOS)) { - if (machineTemplateDOS.size() > 1) { - throw exception(DEFAULT_TEMPLATE_COUNT); - } - MachineTemplateDO templateDO = machineTemplateDOS.get(0); - // 将机台的模板配置进行解压 - templateDO.setSetting(JsonUtils.unzipString(templateDO.getSetting())); - return MachineTemplateConvert.convert1(templateDO); - } - throw exception(DEFAULT_TEMPLATE_NOT_EXISTS); - } @Override - public DrillTemplateRespVO getDefaultDrill() { - List machineTemplateDOS = machineTemplateMapper.selectList(new LambdaQueryWrapperX() - .eq(MachineTemplateDO::getIsDefault, Boolean.TRUE) - .eq(MachineTemplateDO::getMachineType, 2) - ); - if (CollectionUtil.isNotEmpty(machineTemplateDOS)) { - if (machineTemplateDOS.size() > 1) { - throw exception(DEFAULT_TEMPLATE_COUNT); - } - MachineTemplateDO templateDO = machineTemplateDOS.get(0); - DrillTemplateRespVO respVO = Convert.convert(DrillTemplateRespVO.class, templateDO); - Object o = buildResp(templateDO.getId(), DRILL_MACHINE_INX, DrillTemplateMachineDO.class); - respVO.setDrillTemplateMachineDO((DrillTemplateMachineDO) o); - return respVO; - } - throw exception(DEFAULT_TEMPLATE_COUNT); - } + public Map> getMachineTemplateTree() { + +// List machineBrandDOS = machineBrandMapper.selectListByType(machineType); + + List machineBrandDOS = machineBrandMapper.selectList(); + + + List machineTemplateRespVOS = BeanUtils.toBean(machineBrandDOS, MachineTemplateRespVO.class); + - @Override - public Map> getMachineTemplateTree() { List machineTemplateDOS = machineTemplateMapper.selectList() // 将机台的配置进行解压 - .stream().map(m -> m.setSetting(JsonUtils.unzipString(m.getSetting()))).collect(Collectors.toList()); + .stream() + // todo 目前需要写上,等数据清一波后,应该不需要了 + .filter(m -> !Objects.equals(m.getBrandId(),null)) + .map(m -> m.setSetting(JsonUtils.unzipString(m.getSetting()))).toList(); + + for (MachineTemplateRespVO machineTemplateRespVO : machineTemplateRespVOS) { + machineTemplateRespVO.setMachineTemplateDOS(machineTemplateDOS.stream() + .filter(m -> m.getBrandId().equals(machineTemplateRespVO.getId())) + .toList()); + } + + Map> map = machineTemplateRespVOS.stream().collect(Collectors.groupingBy(MachineTemplateRespVO::getMachineType)); - Map> map = machineTemplateDOS.stream().collect(Collectors.groupingBy(MachineTemplateDO::getMachineType)); return map; } @@ -263,40 +299,74 @@ 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); + public void createMachineTemplateBrand(MachineTemplateBrandReqVO reqVO) { + + MachineBrandDO machineBrandDO = machineBrandMapper.selectBrand(reqVO.getBrand(), reqVO.getMachineType()); + + if(machineBrandDO != null){ + throw exception(THE_CURRENT_BRAND_OF_THE_MACHINE_EXISTS); } - if(!machineTemplateDOS.isEmpty()){ - MachineTemplateDO machineTemplateDO = new MachineTemplateDO(); - machineTemplateDO.setId(machineTemplateDOS.get(0).getId()); - machineTemplateDO.setIsDefault(Boolean.FALSE); - machineTemplateMapper.updateById(machineTemplateDO); - } + MachineBrandDO machineBrand = MachineBrandDO.builder() + .machineType(reqVO.getMachineType()) + .brand(reqVO.getBrand()) + .build(); + + machineBrandMapper.insert(machineBrand); - templateDO.setIsDefault(Boolean.TRUE); - machineTemplateMapper.updateById(templateDO); - return Boolean.TRUE; } + @Override + public void updateMachineTemplateBrand(MachineTemplateBrandReqVO reqVO) { + +// MachineBrandDO machineBrandDO = machineBrandMapper.selectBrand(reqVO.getBrand(), reqVO.getMachineType()); + + MachineBrandDO machineBrandDO = machineBrandMapper.selectById(reqVO.getId()); + + machineBrandDO.setBrand(reqVO.getBrand()); + + machineBrandMapper.updateById(machineBrandDO); + + + } + +// @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); +// } +// +// if(!machineTemplateDOS.isEmpty()){ +// 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) { MachineTemplateDO templateDO = machineTemplateMapper.selectById(id); if (Objects.isNull(templateDO)) { throw exception(MACHINE_TEMPLATE_NOT_EXISTS); } - if(templateDO.getIsDefault()) { - throw exception(DEFAULT_TEMPLATE_NOT_DELETED); - } +// if(templateDO.getIsDefault()) { +// throw exception(DEFAULT_TEMPLATE_NOT_DELETED); +// } machineTemplateMapper.deleteById(id); return Boolean.TRUE; }