From 97bab4fd24b6fb0863637ac4f6b872292456dca8 Mon Sep 17 00:00:00 2001 From: liuzhaotian Date: Fri, 16 Aug 2024 11:29:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E6=96=99=EF=BC=8C=E5=B0=81=E8=BE=B9?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=BF=9E=E5=B8=A6=E8=B4=B4=E6=A0=87=EF=BC=8C?= =?UTF-8?q?=E9=92=BB=E5=AD=94=E6=96=B0=E5=A2=9E-=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=8C=E9=A2=84=E6=89=93=E5=8C=85=E7=BF=BB?= =?UTF-8?q?=E9=A1=B5=E6=8F=90=E7=A4=BA=E4=BF=A1=E6=81=AF=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/enums/MachineTypeEnum.java | 35 ++++ .../executor/enums/ErrorCodeConstants.java | 4 +- .../manage/service/pack/PackServiceImpl.java | 27 ++- .../system/enums/ErrorCodeConstants.java | 4 +- .../admin/machine/vo/CuttingSaveReqVO.java | 12 +- .../machine/vo/CuttingTemplateSaveReqVO.java | 9 +- .../machine/vo/MachineBrandModelRespVO.java | 7 +- .../machine/vo/MachineTemplateBrandReqVO.java | 10 +- .../admin/machine/vo/OrganTemplatePage.java | 8 +- .../admin/machine/vo/OrganTemplateResp.java | 5 +- .../admin/machine/vo/OrganTemplateVO.java | 2 + .../admin/machine/vo/TemplateAutoResp.java | 99 ++++++++--- .../machine/MachineTemplateConvert.java | 2 +- .../dal/mysql/machine/MachineBrandMapper.java | 5 +- .../MachineTemplateMapper.java | 13 +- .../service/machine/MachineServiceImpl.java | 124 ++++++++++---- .../machine/MachineTemplateServiceImpl.java | 156 +++++++++++------- .../mapper/machine/MachineBrandMapper.xml | 40 +++++ 18 files changed, 407 insertions(+), 155 deletions(-) create mode 100644 cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/MachineTypeEnum.java create mode 100644 cf-module-system/cf-module-system-biz/src/main/resources/mapper/machine/MachineBrandMapper.xml diff --git a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/MachineTypeEnum.java b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/MachineTypeEnum.java new file mode 100644 index 000000000..7f505d9ba --- /dev/null +++ b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/MachineTypeEnum.java @@ -0,0 +1,35 @@ +package com.cf.imes.framework.common.enums; + + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +@Getter +public enum MachineTypeEnum { + + + CUTTING(1, "开料设备"), + + DRILL(2, "钻孔机设备"), + + PANELSAW(3, "裁板锯"), + + LABELING(4, "贴标机"), + + BANDING(5, "封边机"); + + private Integer type; + private String machineName; + + + public boolean equals(Integer status) { + return this.type .equals(status) ; + } + + public boolean equals(MachineTypeEnum enableStatusEnum) { + return enableStatusEnum != null && enableStatusEnum.type .equals(this.getType()) ; + } + + +} 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 306fe4e51..c3f7cd021 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 @@ -11,11 +11,11 @@ public interface ErrorCodeConstants { // ========== 生产单开料排单 ErrorCode PLAN_NOT_EXISTS = new ErrorCode(1_001_107_000, "生产单开料排单不存在"); - ErrorCode PLAN_NOT_ALLOW_DELETE = new ErrorCode(1_001_107_001, "排单 开料中 已开料 不予许删除"); + ErrorCode PLAN_NOT_ALLOW_DELETE = new ErrorCode(1_001_107_001, "当前排单已开料不予许删除"); ErrorCode PLAN_NOT_ALLOW_CANCEL = new ErrorCode(1_001_107_002, "排单 新单 不予许作废"); - ErrorCode LIST_CHANGES_ARE_PROHIBITED = new ErrorCode(1_001_107_003, "当前排单已开料,禁止更改"); + 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-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java index d450dc59e..c95fabd8f 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java @@ -2,7 +2,6 @@ package com.cf.imes.module.manage.service.pack; import cn.hutool.core.collection.CollectionUtil; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import com.cf.imes.framework.common.enums.OrderPackageStatusEnum; @@ -12,7 +11,6 @@ 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.module.manage.controller.admin.pack.prePack.PackPlateList; -import com.cf.imes.module.manage.controller.admin.pack.prePack.PrePackData; import com.cf.imes.module.manage.controller.admin.pack.prePack.PrePackOptimizeInfo; import com.cf.imes.module.manage.controller.admin.pack.prePack.PrePackReqVO; import com.cf.imes.module.manage.controller.admin.pack.vo.*; @@ -20,13 +18,12 @@ import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO; import com.cf.imes.module.manage.dal.dataobject.pack.OrderPrepackagedDO; import com.cf.imes.module.manage.dal.dataobject.plate.OrderPlateDO; import com.cf.imes.module.manage.dal.dataobject.process.OrderDO; -import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepNDO; import com.cf.imes.module.manage.dal.dataobject.query.OrderItemDO; import com.cf.imes.module.manage.dal.dataobject.query.OrderPackageDO; import com.cf.imes.module.manage.dal.dataobject.query.OrderPartsNDO; import com.cf.imes.module.manage.dal.mysql.pack.OrderBodyMapper; -import com.cf.imes.module.manage.dal.mysql.pack.OrderPrepackagedMapper; import com.cf.imes.module.manage.dal.mysql.pack.OrderPackageMapper; +import com.cf.imes.module.manage.dal.mysql.pack.OrderPrepackagedMapper; import com.cf.imes.module.manage.dal.mysql.plate.OrderPlateMapper; import com.cf.imes.module.manage.dal.mysql.process.ProcessStepItemMapper; import com.cf.imes.module.manage.dal.mysql.process.ProcessStepMapper; @@ -34,29 +31,28 @@ import com.cf.imes.module.manage.dal.mysql.process.ProductionProcessMapper; import com.cf.imes.module.manage.dal.mysql.query.OrderItemMapper; import com.cf.imes.module.manage.dal.mysql.query.OrderPartsMapper; import com.cf.imes.module.manage.dal.mysql.query.ProductionStatusMapper; -import com.cf.imes.module.manage.enums.OrderPackStatusEnums; import com.cf.imes.module.manage.service.process.ProductionProcessServiceImpl; import com.cf.imes.module.manage.util.SnowflakeIdWorker3rd; import com.cf.imes.module.system.api.setting.SettingApi; import com.cf.imes.module.system.api.setting.dto.PackageConfigDTO; +import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; -import java.text.SimpleDateFormat; -import java.time.LocalDateTime; -import java.util.*; -import java.util.stream.Collectors; - -import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.ObjectMapper; import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.cf.imes.framework.common.util.string.SearchUtil.insertSeparator; -import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getLoginUser; import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId; import static com.cf.imes.module.system.enums.ErrorCodeConstants.*; @@ -125,7 +121,7 @@ public class PackServiceImpl implements PackService { productionProcessMapper.selectOrderIdsFalse(order.getCreateTime().toString(), getUserOrganId(),order.getId()); if(orderDO == null){ - throw exception(NO_PRODUCTION_ORDER_INFORMATION_AVAILABLE, pageReqVO.getIsUp() ?"第" : "最后",pageReqVO.getIsUp()?"上" : "下" ); + throw exception(NO_PRODUCTION_ORDER_INFORMATION_AVAILABLE, pageReqVO.getIsUp() ?"第" : "最后"); } orderIds.add(orderDO.getId()); @@ -755,7 +751,6 @@ public class PackServiceImpl implements PackService { boolean autoPack = settingParse.get("autoPack").asBoolean(); - System.out.println(autoPack); String optimizeInfo = reqVO.getOptimizeInfo(); @@ -786,7 +781,7 @@ public class PackServiceImpl implements PackService { .status(OrderPackageStatusEnum.PACKAGED.getStatus()) .build()); prePackOptimizeInfo.getList().forEach(plate ->{ - List list = plate.getList().stream().map(m -> m.getPlateNo()).toList(); + List list = plate.getList().stream().map(PrePackOptimizeInfo.PrerPlateData::getPlateNo).toList(); list.forEach(a -> packPlateNoLists.add(PackPlateList.builder() .packNo(packageNo) .plateNo(a) 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 f4cc0f7a2..94d74082c 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 @@ -233,6 +233,7 @@ public interface ErrorCodeConstants { ErrorCode PLATE_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_002_032_001, "导入板材数据不能为空!"); ErrorCode PLATE_EXISTS = new ErrorCode(1_002_032_002, "板材存在"); ErrorCode THE_CURRENT_BOARD_IS_NOT_SELECTED = new ErrorCode(1_002_032_003, "当前板材没有选择房间和柜体,请选择"); + ErrorCode THE_BOARD_HAS_BEEN_CUT_INTO_PIECES = new ErrorCode(1_002_032_004, "当前排单已有板材开料,禁止修改"); //=========== 板材信息 1-002-033-000 ============ ErrorCode REMAIN_PLATE_NOT_EXISTS = new ErrorCode(1_002_032_002, "板材不存在"); @@ -271,7 +272,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, "已经是{}一条了,无{}一页信息"); + ErrorCode NO_PRODUCTION_ORDER_INFORMATION_AVAILABLE = new ErrorCode(1_002_038_780, "已经是{}一条了"); //=========== 应用信息 1-002-037-000 ============ @@ -279,6 +280,7 @@ public interface ErrorCodeConstants { ErrorCode APPLICATION_LOGIN_USER_DISABLED = new ErrorCode(1_002_037_001, "应用登陆失败"); ErrorCode ERR = new ErrorCode(1_002_038_001, "未知错误"); + ErrorCode DATA_ERR = new ErrorCode(1_002_038_002, "数据错误,需要清除数据重新导入"); ErrorCode REMAIN_PLATE_STATUS_USED = new ErrorCode(1_002_038_001, "余料板正在使用中,禁止修改"); ErrorCode REMAIN_PLATE_STATUS_NO_USED = new ErrorCode(1_002_038_002, "余料板未使用"); 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 bb6b3fd7c..3dbd60976 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 @@ -1,10 +1,9 @@ package com.cf.imes.module.system.controller.admin.machine.vo; import com.alibaba.fastjson.JSONObject; -import com.cf.imes.framework.es.core.valid.CreateGroup; import com.cf.imes.framework.es.core.valid.UpdateGroup; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; +import lombok.Data; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; @@ -43,8 +42,13 @@ public class CuttingSaveReqVO { // @Schema(description = "品牌", requiredMode = Schema.RequiredMode.REQUIRED) // private String brand; - @Schema(description = "型号", requiredMode = Schema.RequiredMode.REQUIRED) - private String model; +// @Schema(description = "型号", requiredMode = Schema.RequiredMode.REQUIRED) +// private String model; + + + @Schema(description = "机台的型号-机台的ID") + private Long machineId; + @Schema(description = "机台配置") private JSONObject machineSettingDO; 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 866807111..58a8d6ca0 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 @@ -2,7 +2,6 @@ package com.cf.imes.module.system.controller.admin.machine.vo; import com.alibaba.fastjson.JSONObject; import com.cf.imes.framework.es.core.valid.UpdateGroup; -import com.cf.imes.module.system.dal.dataobject.machinetemplate.CuttingTemplateMachineDO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -41,8 +40,12 @@ public class CuttingTemplateSaveReqVO { // private String brand; - @Schema(description = "机台的型号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - private String model; +// @Schema(description = "机台的型号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") +// private String model; + + + @Schema(description = "机台的型号-机台ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + private Long machineId; @Schema(description = "管理理后台 - 机台模板新增/修改 Request VO") 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 430ab17d0..b1273fafb 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 @@ -12,14 +12,17 @@ public class MachineBrandModelRespVO { @Schema(description = "机台的品牌ID") - private Long id; + private Long brandId; @Schema(description = "机台的品牌") private String brand; +// @Schema(description = "机台的型号-即机台的名称") +// private List name; + @Schema(description = "机台的型号-即机台的名称") - private List name; + private List machineSimpleRespVOS; } \ 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 index 23dd4b630..97a4d852d 100644 --- 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 @@ -5,21 +5,29 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import javax.validation.constraints.NotNull; +import java.util.List; @Data public class MachineTemplateBrandReqVO { + @Schema(description = "组织ID") + private Long organId; + @Schema(description = "1开料机台设备 2钻孔机台设备", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @NotNull(message = "1开料机台设备 2钻孔机台设备 不能为空") private Integer machineType; @Schema(description = "机台的品牌ID") - private Integer id; + private Long id; @Schema(description = "机台的品牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @NotNull(message = "品牌名称不能为空") private String brand; + + @Schema(description = "机台模板的授权信息") + private List organMachineVOS; + } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/OrganTemplatePage.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/OrganTemplatePage.java index 8a23ac2cb..c51f0d2d7 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/OrganTemplatePage.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/OrganTemplatePage.java @@ -9,8 +9,12 @@ import lombok.Data; */ @Data public class OrganTemplatePage extends PageParam { - @Schema(description = "组织id") - private Long organId; +// @Schema(description = "组织id") +// private Long organId; + + @Schema(description = "组织名称") + private String organName; + @Schema(description = "机台模板名称") private String templateName; diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/OrganTemplateResp.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/OrganTemplateResp.java index 9e3cd5766..866594a51 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/OrganTemplateResp.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/OrganTemplateResp.java @@ -28,6 +28,9 @@ public class OrganTemplateResp { @Schema(description = "更新时间") @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT) private Date updateTime; + @Schema(description = "机台模板列表") - private List authTemplateList; + private List machineTemplateBrandReqVOS; +// @Schema(description = "机台模板列表") +// private List authTemplateList; } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/OrganTemplateVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/OrganTemplateVO.java index ea4000e45..facbf37c4 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/OrganTemplateVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/OrganTemplateVO.java @@ -11,6 +11,8 @@ import lombok.Data; public class OrganTemplateVO { @Schema(description = "机台模板id") private Long templateId; + @Schema(description = "机台模板品牌id") + private Long brandId; @Schema(description = "机台模板名称") private String templateName; @Schema(description = "机台模板类型") diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/TemplateAutoResp.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/TemplateAutoResp.java index fc355bf43..34a6f2ac2 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/TemplateAutoResp.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/TemplateAutoResp.java @@ -1,12 +1,15 @@ package com.cf.imes.module.system.controller.admin.machine.vo; -import com.baomidou.mybatisplus.annotation.TableId; +import com.cf.imes.module.system.controller.admin.organ.vo.organ.OrganSimpleRespVO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import javax.validation.Valid; +import java.util.List; + /** * @author Beal */ @@ -15,26 +18,76 @@ import lombok.NoArgsConstructor; @AllArgsConstructor @NoArgsConstructor public class TemplateAutoResp { - @Schema(description = "机台模板id") - private Long id; - /** - * 名称 - */ - @Schema(description = "机台模板名称") - private String templateName; - /** - * 1机台设备 2CNC设备 - */ - @Schema(description = "机台模板类别") - private Integer machineType; - /** - * 是否默认模板 - */ - private Boolean isDefault; - @Schema(description ="加工模式 开料机加工模式 默认true,显示开料机工作模式(是否排钻/造型,sc)配置") - private Boolean showPriorFacing = false; - @Schema(description = "双工位") - private Boolean showDualWorkstation = false; - @Schema(description = "自动贴标") - private Boolean showAutoNotePrinter = false; + + + @Schema(description = "组织信息") + private List organSimpleRespVOS; + + + @Schema(description = "机台模板的品牌信息") + private List machineBrand; + + + @Valid + @Data + public static class MachineBrand { + + @Schema(description = "品牌ID") + private Long id; + + @Schema(description = "品牌名称") + private String brand; + + @Schema(description = "机台类别") + private Integer machineType; + + @Schema(description = "机台模板的权限信息") + private List machineTemplates; + + } + + + @Valid + @Data + public static class MachineTemplate { + + @Schema(description = "机台模板ID") + private Long id; + + + @Schema(description = "机台模板品牌ID") + private Long brandId; + + + @Schema(description = "机台模板名称") + private String name; + + + } + + + + +// @Schema(description = "机台模板id") +// private Long id; +// +// +// @Schema(description = "机台模板名称") +// private String templateName; +// +// +// @Schema(description = "机台模板类别") +// private Integer machineType; +// +// +//// private Boolean isDefault; +// +// @Schema(description ="加工模式 开料机加工模式 默认true,显示开料机工作模式(是否排钻/造型,sc)配置") +// private Boolean showPriorFacing = false; +// +// @Schema(description = "双工位") +// private Boolean showDualWorkstation = false; +// +// @Schema(description = "自动贴标") +// private Boolean showAutoNotePrinter = false; } 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 ffaf54d3f..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 @@ -28,7 +28,7 @@ public class MachineTemplateConvert { .id(reqVO.getId()) .name(reqVO.getName()) // .brand(reqVO.getBrand()) - .brandId(reqVO.getBrandId()) + .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/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 index da9b24da0..de50e299e 100644 --- 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 @@ -3,9 +3,8 @@ 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.controller.admin.machine.vo.MachineBrandModelRespVO; 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; @@ -31,4 +30,6 @@ public interface MachineBrandMapper extends BaseMapperX { } + List selectMachineList(@Param("type") Integer type); + } 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 f54801e5a..709255525 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 @@ -49,16 +49,23 @@ public interface MachineTemplateMapper extends BaseMapperX { - default List selectByBrand(Integer id) { + default List selectByBrand(Long id) { return selectList(new LambdaQueryWrapperX() .eqIfPresent(MachineTemplateDO::getBrandId,id)); } - default MachineTemplateDO selectMachine(Long brandId, String model) { + default MachineTemplateDO selectMachine(Long brandId, Long machineId) { return selectOne(new LambdaQueryWrapperX() .eqIfPresent(MachineTemplateDO::getBrandId,brandId) - .eqIfPresent(MachineTemplateDO::getName,model)); + .eqIfPresent(MachineTemplateDO::getId,machineId)); + } + + + + default List selectMachineTemplate(String templateName) { + return selectList(new LambdaQueryWrapperX() + .likeIfPresent(MachineTemplateDO::getName,templateName)); } } 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 165c2ca35..b16de5ba3 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 @@ -3,15 +3,15 @@ package com.cf.imes.module.system.service.machine; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.convert.Convert; import co.elastic.clients.elasticsearch.ElasticsearchClient; -import co.elastic.clients.elasticsearch._types.FieldValue; import co.elastic.clients.elasticsearch._types.query_dsl.TermQuery; -import co.elastic.clients.elasticsearch._types.query_dsl.TermsQuery; -import co.elastic.clients.elasticsearch.core.DeleteByQueryRequest; import co.elastic.clients.elasticsearch.core.SearchRequest; import co.elastic.clients.elasticsearch.core.SearchResponse; import co.elastic.clients.elasticsearch.core.search.Hit; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.cf.imes.framework.common.enums.MachineTypeEnum; +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; @@ -23,29 +23,26 @@ 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.*; 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.machine.MachineMapper; import com.cf.imes.module.system.dal.mysql.machinetemplate.MachineTemplateLimitMapper; import com.cf.imes.module.system.dal.mysql.machinetemplate.MachineTemplateMapper; +import com.fasterxml.jackson.databind.JsonNode; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; -import org.springframework.validation.annotation.Validated; import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.annotation.Validated; +import javax.annotation.Resource; import java.io.IOException; import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; -import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.framework.common.util.object.BeanUtils; - -import javax.annotation.Resource; - import static com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR; import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.cf.imes.framework.common.util.json.JsonUtils.unzipString; import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId; import static com.cf.imes.module.system.enums.ErrorCodeConstants.*; @@ -111,26 +108,91 @@ public class MachineServiceImpl implements MachineService { } - MachineTemplateDO machineTemplateDO = machineTemplateMapper.selectMachine(createReqVO.getBrandId(), createReqVO.getModel()); + MachineTemplateDO machineTemplateDO = machineTemplateMapper.selectMachine(createReqVO.getBrandId(), createReqVO.getMachineId()); 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()) -// ); // 插入 MachineDO machineDO = MachineConvert.convert(createReqVO); -// if(createReqVO.getMachineSettingDO().isEmpty()) { -// machineDO.setSetting(machineTemplateDO.getSetting()); -// } machineDO.setSetting(machineTemplateDO.getSetting()); machineMapper.insert(machineDO); + + + if(machineTemplateDO.getMachineType().equals(MachineTypeEnum.CUTTING.getType())) { + + // 将配置进行解压,判断该类型的机台的贴标配置是否开启 + JsonNode cuttingSetting = JsonUtils.parseTree(unzipString(machineTemplateDO.getSetting())); + + JsonNode advancedConfigsRef = cuttingSetting.get("advancedConfigsRef"); + + boolean isAutoLabelEnabled = advancedConfigsRef.get("isAutoLabelEnabled").asBoolean(); + + + if(isAutoLabelEnabled && advancedConfigsRef.get("autoLabelBrand") != null && advancedConfigsRef.get("autoLabelModel") != null){ + +// Integer autoLabelBrand = advancedConfigsRef.get("autoLabelBrand").asInt(); + + Integer autoLabelModel = advancedConfigsRef.get("autoLabelModel").asInt(); + + // 根据型号ID查询贴标的配置信息 + MachineTemplateDO labelingMachineTemplateDO = machineTemplateMapper.selectById(autoLabelModel); + + MachineDO labelingMachineDO = MachineDO.builder() + .labelId(machineDO.getLabelId()) + .machineType(labelingMachineTemplateDO.getMachineType()) + .brandId(labelingMachineTemplateDO.getBrandId()) + .setting(labelingMachineTemplateDO.getSetting()) + .name("开料"+machineDO.getName()+ "-贴标机") + .build(); + + machineMapper.insert(labelingMachineDO); + + } + + } + + + if(machineTemplateDO.getMachineType().equals(MachineTypeEnum.BANDING.getType())) { + + // 将配置进行解压,判断该类型的机台的钻孔配置是否开启 + JsonNode drillSetting = JsonUtils.parseTree(unzipString(machineTemplateDO.getSetting())); + + JsonNode cuttingModuleRef = drillSetting.get("cuttingModuleRef"); + + boolean isDrillEnabled = cuttingModuleRef.get("isDrillEnabled").asBoolean(); + + + if(isDrillEnabled && cuttingModuleRef.get("drillBrand") != null && cuttingModuleRef.get("drillModel") != null){ + +// Integer drillBrand = cuttingModuleRef.get("drillBrand").asInt(); + + Integer autoLabelModel = cuttingModuleRef.get("drillModel").asInt(); + + // 根据型号ID查询钻孔机的配置信息 + MachineTemplateDO drillMachineTemplateDO = machineTemplateMapper.selectById(autoLabelModel); + + MachineDO drillMachineDO = MachineDO.builder() + .labelId(machineDO.getLabelId()) + .machineType(drillMachineTemplateDO.getMachineType()) + .brandId(drillMachineTemplateDO.getBrandId()) + .setting(drillMachineTemplateDO.getSetting()) + .name("开料"+machineDO.getName()+"钻孔机") + .build(); + + machineMapper.insert(drillMachineDO); + + } + + } + + + + // MachineLimitDO machineLimitDO = MachineLimitDO.builder() // .organId(loginUser.getOrganId()) // .machineId(machineDO.getId()) @@ -309,18 +371,20 @@ public class MachineServiceImpl implements MachineService { @Override public List getBrandAndModel(Integer type) { - List machineBrandDOS = machineBrandMapper.selectListByType(type); +// List machineBrandDOS = machineBrandMapper.selectListByType(type); + return machineBrandMapper.selectMachineList(type); - List machineBrandModelRespVOS = BeanUtils.toBean(machineBrandDOS, MachineBrandModelRespVO.class); - - - 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 machineBrandModelRespVOS = BeanUtils.toBean(machineBrandDOS, MachineBrandModelRespVO.class); +// +// +// List machineDOS = machineTemplateMapper.selectList(new LambdaQueryWrapperX() +// .eq(MachineTemplateDO::getDeleted,false) +// .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); @@ -329,7 +393,7 @@ public class MachineServiceImpl implements MachineService { // Map> map = machineVOS.stream().collect(Collectors.groupingBy(MachineBrandModelRespVO::getBrand)); - return machineBrandModelRespVOS; +// return machineBrandModelRespVOS; } 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 97e64a0a1..9a5af3233 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 @@ -11,37 +11,43 @@ import co.elastic.clients.elasticsearch.core.SearchRequest; import co.elastic.clients.elasticsearch.core.SearchResponse; import co.elastic.clients.elasticsearch.core.search.Hit; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.cf.imes.framework.common.exception.ServiceException; +import com.cf.imes.framework.common.enums.CommonStatusEnum; +import com.cf.imes.framework.common.enums.MachineTypeEnum; 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.framework.mybatis.core.query.MPJLambdaWrapperX; import com.cf.imes.module.system.controller.admin.machine.vo.*; +import com.cf.imes.module.system.controller.admin.organ.vo.organ.OrganSimpleRespVO; 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.dataobject.organ.OrganizationDO; 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; +import com.cf.imes.module.system.dal.mysql.machinetemplate.MachineTemplateMapper; +import com.cf.imes.module.system.dal.mysql.organ.OrganMapper; +import com.fasterxml.jackson.databind.JsonNode; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.io.IOException; import java.time.LocalDateTime; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; -import static com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR; import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.cf.imes.framework.common.util.json.JsonUtils.unzipString; import static com.cf.imes.module.system.enums.ErrorCodeConstants.*; /** @@ -172,18 +178,17 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { MachineTemplateDO templateDO = MachineTemplateConvert.convert(reqVO); -// MachineBrandDO machineBrandDO = machineBrandMapper.selectBrand(reqVO.getBrand(),reqVO.getMachineType()); + if(reqVO.getMachineId()!=null) { -// List machineTemplateDOS = machineTemplateMapper.selectByBrand(machineBrandDO.getId()); - - if(reqVO.getModel()!=null) { - - MachineTemplateDO machineTemplateDO = machineTemplateMapper.selectMachine(reqVO.getNowBrandId(), reqVO.getModel()); + MachineTemplateDO machineTemplateDO = machineTemplateMapper.selectMachine(reqVO.getBrandId(), reqVO.getMachineId()); templateDO.setSetting(machineTemplateDO.getSetting()); machineTemplateMapper.insert(templateDO); + + handleMachineType(machineTemplateDO, templateDO); + return templateDO.getId(); } @@ -191,11 +196,13 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { machineTemplateMapper.insert(templateDO); + return templateDO.getId(); } + @Override @Transactional(rollbackFor = Exception.class) public Boolean updateCuttingTemplate(CuttingTemplateSaveReqVO reqVO) { @@ -222,9 +229,9 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { if (Objects.isNull(templateDO)) { throw exception(MACHINE_TEMPLATE_NOT_EXISTS); } - templateDO.setSetting(JsonUtils.unzipString(templateDO.getSetting())); - CuttingTemplateRespVO respVO = MachineTemplateConvert.convert1(templateDO); - return respVO; + templateDO.setSetting(unzipString(templateDO.getSetting())); + return MachineTemplateConvert.convert1(templateDO); + } @Override @@ -242,6 +249,7 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { List ids = machineTemplateDOS.stream().map(MachineTemplateDO::getId).toList(); machineTemplateMapper.deleteBatchIds(ids); + } @@ -267,7 +275,7 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { .stream() // todo 目前需要写上,等数据清一波后,应该不需要了 .filter(m -> !Objects.equals(m.getBrandId(),null)) - .map(m -> m.setSetting(JsonUtils.unzipString(m.getSetting()))).toList(); + .map(m -> m.setSetting(unzipString(m.getSetting()))).toList(); for (MachineTemplateRespVO machineTemplateRespVO : machineTemplateRespVOS) { machineTemplateRespVO.setMachineTemplateDOS(machineTemplateDOS.stream() @@ -275,9 +283,9 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { .toList()); } - Map> map = machineTemplateRespVOS.stream().collect(Collectors.groupingBy(MachineTemplateRespVO::getMachineType)); + return machineTemplateRespVOS.stream().collect(Collectors.groupingBy(MachineTemplateRespVO::getMachineType)); + - return map; } @Override @@ -364,9 +372,7 @@ 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; } @@ -438,56 +444,78 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { } - /* @Override - public PageResult pageCutting(PageParam pageParam) { - LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); - List machineIds = userMachineMapper.selectList(new LambdaQueryWrapperX().eq(UserMachineDO::getUserId, 1L*//*loginUser.getId()*//*)) - .stream() - .map(e -> e.getMachineId()) - .collect(Collectors.toList()); - List cuttingMachineDOS = new ArrayList<>(); - List queryList = new ArrayList<>(); - List fieldValues = new ArrayList<>(); - for (String machineId : machineIds) { - fieldValues.add(FieldValue.of(machineId)); - } - queryList.add(TermsQuery.of(e-> e.field("_id").terms(b->b.value(fieldValues)))._toQuery()); - queryList.add(TermQuery.of(e->e.field("organId").value( loginUser.getOrganId()))._toQuery()); - SearchResponse response = null; - try { - response = elasticsearchClient.search(s-> s.index(CUTTING_MACHINE_INX) - .from((pageParam.getPageNo() - 1) * pageParam.getPageSize()) - .size(pageParam.getPageSize()) - .query(b -> b.bool( builder -> builder.must(queryList))), - CuttingMachineDO.class); - } catch (IOException e) { - log.error(e.getMessage()); - throw new ServiceException(500, "服务器异常"); - } - long value = response.hits().total().value(); - for (Hit hit : response.hits().hits()) { - cuttingMachineDOS.add(hit.source()); - } - return new PageResult(cuttingMachineDOS, value); - }*/ - @Override public PageResult page(MachinePageReqVO pageParam) { - /* LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); - List machineIds = userMachineMapper.selectList(new LambdaQueryWrapperX().eq(UserMachineDO::getUserId, loginUser.getId())) - .stream() - .map(e -> e.getMachineId()) - .collect(Collectors.toList()); - if(CollectionUtil.isEmpty(machineIds)) { - return new PageResult<>(); - }*/ PageResult machineTemplateDOPageResult = machineTemplateMapper.selectPage(pageParam, new ArrayList<>()); // 将机台模板的配置进行解压 - machineTemplateDOPageResult.setList(machineTemplateDOPageResult.getList().stream().map(m -> m.setSetting(JsonUtils.unzipString(m.getSetting()))).collect(Collectors.toList())); + machineTemplateDOPageResult.setList(machineTemplateDOPageResult.getList().stream().map(m -> m.setSetting(unzipString(m.getSetting()))).collect(Collectors.toList())); return machineTemplateDOPageResult; } + + + + + + // 判断机台模板的类型 + private void handleMachineType(MachineTemplateDO machineTemplateDO, MachineTemplateDO templateDO) { + + if(machineTemplateDO.getMachineType().equals(MachineTypeEnum.CUTTING.getType())) { + handleCuttingMachine(machineTemplateDO, templateDO); + } else if(machineTemplateDO.getMachineType().equals(MachineTypeEnum.BANDING.getType())) { + handleBandingMachine(machineTemplateDO, templateDO); + } + } + + private void handleCuttingMachine(MachineTemplateDO machineTemplateDO, MachineTemplateDO templateDO) { + + JsonNode cuttingSetting = JsonUtils.parseTree(unzipString(machineTemplateDO.getSetting())); + JsonNode advancedConfigsRef = cuttingSetting.get("advancedConfigsRef"); + + boolean isAutoLabelEnabled = advancedConfigsRef.get("isAutoLabelEnabled").asBoolean(); + + if(isAutoLabelEnabled && advancedConfigsRef.get("autoLabelBrand") != null && advancedConfigsRef.get("autoLabelModel") != null){ + + Integer autoLabelModel = advancedConfigsRef.get("autoLabelModel").asInt(); + MachineTemplateDO labelingMachineTemplateDO = machineTemplateMapper.selectById(autoLabelModel); + + MachineTemplateDO labelingMachineDO = MachineTemplateDO.builder() + .machineType(labelingMachineTemplateDO.getMachineType()) + .brandId(labelingMachineTemplateDO.getBrandId()) + .setting(labelingMachineTemplateDO.getSetting()) + .name("开料" + templateDO.getName() + "-贴标机") + .build(); + + machineTemplateMapper.insert(labelingMachineDO); + } + } + + private void handleBandingMachine(MachineTemplateDO machineTemplateDO, MachineTemplateDO templateDO) { + + JsonNode drillSetting = JsonUtils.parseTree(unzipString(machineTemplateDO.getSetting())); + JsonNode cuttingModuleRef = drillSetting.get("cuttingModuleRef"); + + boolean isDrillEnabled = cuttingModuleRef.get("isDrillEnabled").asBoolean(); + + if(isDrillEnabled && cuttingModuleRef.get("drillBrand") != null && cuttingModuleRef.get("drillModel") != null){ + + Integer drillModel = cuttingModuleRef.get("drillModel").asInt(); + MachineTemplateDO drillMachineTemplateDO = machineTemplateMapper.selectById(drillModel); + + MachineTemplateDO drillMachineDO = MachineTemplateDO.builder() + .machineType(drillMachineTemplateDO.getMachineType()) + .brandId(drillMachineTemplateDO.getBrandId()) + .setting(drillMachineTemplateDO.getSetting()) + .name("开料" + templateDO.getName() + "钻孔机") + .build(); + + machineTemplateMapper.insert(drillMachineDO); + } + } + + + } diff --git a/cf-module-system/cf-module-system-biz/src/main/resources/mapper/machine/MachineBrandMapper.xml b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/machine/MachineBrandMapper.xml new file mode 100644 index 000000000..fccec1e83 --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/machine/MachineBrandMapper.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file