diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java index b7ca9b596..13c00c44e 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java @@ -480,7 +480,7 @@ public class PlanServiceImpl implements PlanService { } planDOPageResult.setList(plan); - + planDOPageResult.setTotal(1L); }else { @@ -626,18 +626,44 @@ public class PlanServiceImpl implements PlanService { .eq("og.deleted",false) // .isNull("opi.item_id") // todo 修改排单数据筛选,目前只解决了非混单的情况,混单情况待解决 - .inIfPresent("op.goods_id",goodsDOS.isEmpty() ? null :goodsDOS.stream().map(GoodsDO::getId).toList()) + .inIfPresent("og.id",goodsDOS.isEmpty() ? null :goodsDOS.stream().map(GoodsDO::getId).toList()) .inIfPresent("o.id",pageReqVO.getOrderIds()) .likeIfPresent("o.id", pageReqVO.getOrderId() != null ? pageReqVO.getOrderId().toString() : null) - .inIfPresent("op.goods_id",pageReqVO.getIds()) + .inIfPresent("og.id",pageReqVO.getIds()) .likeIfPresent("o.customer", pageReqVO.getConsignee()) .likeIfPresent("o.custom_order_no", pageReqVO.getDefaultId()) .likeIfPresent("o.address", pageReqVO.getConsigneeAddress()) .betweenIfPresent("o.order_date", pageReqVO.getCreateTime()) + .eqIfPresent("op.is_special_shaped", pageReqVO.getRectangle() != null ? false: null) + .eqIfPresent("op.is_special_shaped", pageReqVO.getSpecialShaped()) + .eqIfPresent("op.is_sculpt", pageReqVO.getSculpt()) + .eqIfPresent("op.is_door", pageReqVO.getIsDoor()) + .betweenIfPresent("op.height", new BigDecimal[]{pageReqVO.getLongMinRang(), pageReqVO.getLongMaxRang()}) + .betweenIfPresent("op.width", new BigDecimal[]{pageReqVO.getWidthMinRang(), pageReqVO.getWidthMaxRang()}) .groupBy("o.id", " o.order_date", "o.delivery_date", "o.customer", "o.address", "o.custom_order_no","o.status") .having("count(op.id) != 0") .orderByDesc("o.order_date"); + String filterTypes = ""; + if (Objects.nonNull(pageReqVO.getHoleThrough()) && pageReqVO.getHoleThrough()) { + filterTypes += PlanFilterTypeEnum.DIGGINGTHROUGHTHESHAPE.getType().toString(); + } + if (Objects.nonNull(pageReqVO.getBurrow()) && pageReqVO.getBurrow()) { + filterTypes += PlanFilterTypeEnum.THEREAREPERFORATEDHOLES.getType().toString(); + } + if (Objects.nonNull(pageReqVO.getTwoDimensionalToolPath()) && pageReqVO.getTwoDimensionalToolPath()) { + filterTypes += PlanFilterTypeEnum.TWODIMENSIONALCUTTINGPATH.getType().toString(); + } + + queryWrapperX.likeIfPresent("op.filter_type", insertSeparator(filterTypes)); + + + + + + + + // todo 目前修改一半,速度无法再进行特别的优化,需等后面修改表结构再进行优化 IPage orderRespVOCopies = orderMapper.selectOrderPage(page,queryWrapperX); @@ -807,11 +833,15 @@ public class PlanServiceImpl implements PlanService { .inIfPresent("og.order_id", pageReqVO.getOrderIds()) .inIfPresent("og.id", pageReqVO.getIds()) -// .isNull("opi.item_id") -// .isNotNull("og.id") // todo 修改排单数据筛选,目前只解决了非混单的情况,混单情况待解决 .eqIfPresent("og.goods_id",pageReqVO.getGoodsId()) + + .likeIfPresent("o.id", pageReqVO.getOrderId() != null ? pageReqVO.getOrderId().toString() : null) + .likeIfPresent("o.customer", pageReqVO.getConsignee()) + .likeIfPresent("o.custom_order_no", pageReqVO.getDefaultId()) + .likeIfPresent("o.address", pageReqVO.getConsigneeAddress()) + .betweenIfPresent("o.order_date", pageReqVO.getCreateTime()) .eqIfPresent("op.is_special_shaped", pageReqVO.getRectangle() != null ? false: null) .eqIfPresent("op.is_special_shaped", pageReqVO.getSpecialShaped()) .eqIfPresent("op.is_sculpt", pageReqVO.getSculpt()) diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/prePack/PackPlateList.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/prePack/PackPlateList.java index e761dc1a5..7cd2d2e9a 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/prePack/PackPlateList.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/prePack/PackPlateList.java @@ -5,8 +5,6 @@ import lombok.Builder; import lombok.Data; import lombok.ToString; -import java.util.List; - @Data @ToString(callSuper = true) @Builder @@ -22,7 +20,7 @@ public class PackPlateList { // 板材ID private Long plateId; - // 包裹编号 + // 板材编号 private String plateNo; 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 e59068306..5a9763843 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 @@ -845,10 +845,10 @@ public class PackServiceImpl implements PackService { .status(OrderPackageStatusEnum.PACKAGED.getStatus()) .build()); prePackOptimizeInfo.getList().forEach(plate ->{ - List list = plate.getList().stream().map(PrePackOptimizeInfo.PrerPlateData::getPlateNo).toList(); + List list = plate.getList().stream().map(PrePackOptimizeInfo.PrerPlateData::getPlateId).toList(); list.forEach(a -> packPlateNoLists.add(PackPlateList.builder() .packNo(packageNo) - .plateNo(a) + .plateId(Long.valueOf(a)) .build())); }); @@ -878,14 +878,24 @@ public class PackServiceImpl implements PackService { List orderItemDOS = orderItemMapper.selectPackPlateList(reqVO.getOrderId(), getUserOrganId()); - List plateNo = packPlateNoLists.stream().map(PackPlateList::getPlateNo).toList(); +// List plateNo = packPlateNoLists.stream().map(PackPlateList::getPlateNo).toList(); +// +// +// List orderPlateDOS = orderPlateMapper.selectPlateList(plateNo, getUserOrganId()); +// +// if(orderPlateDOS.isEmpty()){ +// System.out.println("当前板材数据为空"); +// +// } +// +// orderPlateDOS.forEach(a-> +// packPlateNoLists.stream().filter(f->Objects.equals(f.getPlateNo(), a.getPlateNo())) +// .forEach(f -> f.setPlateId(a.getId()))); +// +// +// System.out.println("啊哈哈哈哈哈哈1 "+packPlateNoLists); - List orderPlateDOS = orderPlateMapper.selectPlateList(plateNo, getUserOrganId()); - - orderPlateDOS.forEach(a-> - packPlateNoLists.stream().filter(f->Objects.equals(f.getPlateNo(), a.getPlateNo())) - .forEach(f -> f.setPlateId(a.getId()))); packPlateNoLists.forEach(a-> orderItemDOS.stream().filter(f->Objects.equals(f.getPlateId(), a.getPlateId())) 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 1d174cbc3..24f7efcae 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 @@ -217,7 +217,9 @@ public interface ErrorCodeConstants { 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_010, "品牌ID错误,或品牌不存在"); - ErrorCode MACHINE_NUM_ERROR = new ErrorCode(1_002_029_011, "当前模板创建的机台数量已达到最大轴,无法继续创建"); + ErrorCode MACHINE_NUM_ERROR = new ErrorCode(1_002_029_011, "当前模板创建的机台数量已达到最大值,无法继续创建"); + ErrorCode MACHINE_NAME_ERROR = new ErrorCode(1_002_029_012, "当前机台名称已存在,请重新输入机台名称"); + ErrorCode MACHINETEMPLATE_NAME_ERROR = new ErrorCode(1_002_029_013, "当前机台模板的名称已存在,请重新输入机台模板名称"); // ========== 标签模板 1-002-300-000 ========== ErrorCode LABEL_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_300_000, "标签模板不存在"); diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/MachineController.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/MachineController.java index 6cd176c35..c46038c7f 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 @@ -1,5 +1,8 @@ package com.cf.imes.module.system.controller.admin.machine; +import com.cf.imes.framework.common.pojo.CommonResult; +import com.cf.imes.framework.common.pojo.PageResult; +import com.cf.imes.framework.common.util.object.BeanUtils; import com.cf.imes.framework.es.core.valid.CreateGroup; import com.cf.imes.framework.es.core.valid.UpdateGroup; import com.cf.imes.framework.operatelog.core.annotations.OperateLog; @@ -8,21 +11,14 @@ import com.cf.imes.module.system.controller.admin.machine.vo.*; import com.cf.imes.module.system.dal.dataobject.machine.MachineDO; import com.cf.imes.module.system.service.machine.MachineService; import com.cf.imes.module.system.service.machine.MachineTemplateService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; - -import org.springframework.validation.annotation.Validated; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; - -import javax.validation.*; - -import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.framework.common.pojo.CommonResult; -import com.cf.imes.framework.common.util.object.BeanUtils; - +import javax.validation.Valid; import java.util.List; import java.util.Map; @@ -128,6 +124,12 @@ public class MachineController { } + @GetMapping("getMachineModelAll") + @Operation(summary = "获得机台类型下所有机台的型号") + //@PreAuthorize("@ss.hasPermission('machine::query')") + public CommonResult> getMachineModelAll(@RequestParam Integer type) { + return success(machineService.getMachineModelAll(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/dal/mysql/machine/MachineMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/machine/MachineMapper.java index 94f089fcf..b72e38005 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/machine/MachineMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/machine/MachineMapper.java @@ -1,16 +1,14 @@ package com.cf.imes.module.system.dal.mysql.machine; -import java.util.*; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; -import com.cf.imes.module.system.controller.admin.machine.vo.*; +import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.cf.imes.module.system.controller.admin.machine.vo.MachinePageReqVO; import com.cf.imes.module.system.dal.dataobject.machine.MachineDO; -import com.cf.imes.module.system.dal.dataobject.machinetemplate.MachineTemplateDO; import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; + +import java.util.Collection; +import java.util.List; import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId; @@ -31,11 +29,6 @@ public interface MachineMapper extends BaseMapperX { .orderByDesc(MachineDO::getCreateTime)); } - Page selectOrganMachinePage(@Param("page") Page respPage, @Param("vo") OrganMachinePage page); - - List selectOrganMachineList(Map map); - - OrganMachineResp selectOrganMachine(Long organId); default PageResult selectPage(MachinePageReqVO pageParam, Collection ids) { return selectPage(pageParam, new LambdaQueryWrapperX() @@ -44,4 +37,40 @@ public interface MachineMapper extends BaseMapperX { .betweenIfPresent(MachineDO::getCreateTime, pageParam.getCreateTime()) .orderByDesc(MachineDO::getCreateTime)); }; + + + + default List selectByOrganId(Integer machineType,Long organId) { + return selectList(new LambdaQueryWrapperX() + .eq(MachineDO::getOrganId,organId) + .eq(MachineDO::getDeleted,false) + .eq(MachineDO::getMachineType,machineType) + .select(MachineDO::getId)); + + } + + + + default MachineDO selectMachine(String name,Integer machineType,Long organId) { + return selectOne(new LambdaQueryWrapperX() + .eq(MachineDO::getOrganId,organId) + .eq(MachineDO::getDeleted,false) + .eq(MachineDO::getMachineType,machineType) + .eq(MachineDO::getName,name)); + + } + + + + default List selectMachineList(Integer machineType,Long organId) { + return selectList(new LambdaQueryWrapperX() + .eq(MachineDO::getOrganId,organId) + .eq(MachineDO::getDeleted,false) + .eq(MachineDO::getMachineType,machineType) + .select(MachineDO::getId,MachineDO::getName,MachineDO::getMachineType)); + + } + + + } \ 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/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 709255525..752ae3c5e 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 @@ -64,8 +64,10 @@ public interface MachineTemplateMapper extends BaseMapperX { - default List selectMachineTemplate(String templateName) { - return selectList(new LambdaQueryWrapperX() - .likeIfPresent(MachineTemplateDO::getName,templateName)); + default MachineTemplateDO selectMachineTemplate(String name,Integer machineType) { + return selectOne(new LambdaQueryWrapperX() + .eq(MachineTemplateDO::getDeleted,false) + .eq(MachineTemplateDO::getMachineType,machineType) + .eq(MachineTemplateDO::getName,name)); } } 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 a861fa359..ae54c358a 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 @@ -64,6 +64,8 @@ public interface MachineService { List list(Collection ids); + List getMachineModelAll(Integer type); + Map> getMachineTree(Long type); Boolean auth(MachineOrgAuthReq vo); 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 564d21acb..010983ece 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 @@ -90,12 +90,23 @@ public class MachineServiceImpl implements MachineService { LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); assert loginUser != null; - if(createReqVO.getId() != null){ + // 校验机台名称是否重复 + MachineDO machine = machineMapper.selectMachine(createReqVO.getName(),createReqVO.getMachineType(), getUserOrganId()); + if(machine != null){ + throw exception(MACHINE_NAME_ERROR); + } + + validateMachineNum(createReqVO.getMachineType(), loginUser.getOrganId()); + + MachineDO machineDO; + MachineTemplateDO machineTemplateDO; + + if (createReqVO.getId() != null) { MachineDO copyMachineDO = machineMapper.selectById(createReqVO.getId()); // 插入 - MachineDO machineDO = MachineConvert.convert(createReqVO); + machineDO = MachineConvert.convert(createReqVO); machineDO.setSetting(copyMachineDO.getSetting()); @@ -108,87 +119,85 @@ public class MachineServiceImpl implements MachineService { } - MachineTemplateDO machineTemplateDO = machineTemplateMapper.selectMachine(createReqVO.getBrandId(), createReqVO.getMachineId()); + machineTemplateDO = machineTemplateMapper.selectMachine(createReqVO.getBrandId(), createReqVO.getMachineId()); - if(machineTemplateDO == null){ + if (machineTemplateDO == null) { throw exception(THE_MODEL_OF_THE_MACHINE_DOES_NOT_EXIST); } - // 插入 - MachineDO machineDO = MachineConvert.convert(createReqVO); - + // 创建新的机器对象 + machineDO = MachineConvert.convert(createReqVO); machineDO.setSetting(machineTemplateDO.getSetting()); - machineMapper.insert(machineDO); + // 处理不同机台类型的配置 + handleMachineSpecificConfiguration(machineDO, machineTemplateDO); + + // 返回新机器的ID + return machineDO.getId(); + } - 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); - - } + // 判断机台的模板是否是钻孔机或封边机 + private void handleMachineSpecificConfiguration(MachineDO machineDO, MachineTemplateDO machineTemplateDO) { + Integer machineType = machineTemplateDO.getMachineType(); + if (MachineTypeEnum.CUTTING.getType().equals(machineType)) { + handleCuttingMachineConfiguration(machineDO, machineTemplateDO); + } else if (MachineTypeEnum.BANDING.getType().equals(machineType)) { + handleBandingMachineConfiguration(machineDO, machineTemplateDO); } + } - if(machineTemplateDO.getMachineType().equals(MachineTypeEnum.BANDING.getType())) { + // 创建贴标机 + private void handleCuttingMachineConfiguration(MachineDO machineDO, MachineTemplateDO machineTemplateDO) { - // 将配置进行解压,判断该类型的机台的钻孔配置是否开启 - JsonNode drillSetting = JsonUtils.parseTree(unzipString(machineTemplateDO.getSetting())); + JsonNode cuttingSetting = JsonUtils.parseTree(unzipString(machineTemplateDO.getSetting())); - JsonNode cuttingModuleRef = drillSetting.get("cuttingModuleRef"); + JsonNode advancedConfigsRef = cuttingSetting.get("advancedConfigsRef"); - 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); - - } + boolean isAutoLabelEnabled = advancedConfigsRef.get("isAutoLabelEnabled").asBoolean(); + if (isAutoLabelEnabled && advancedConfigsRef.has("autoLabelModel")) { + Integer autoLabelModel = advancedConfigsRef.get("autoLabelModel").asInt(); + createAndInsertMachine(autoLabelModel, machineDO, "开料" + machineDO.getName() + "-贴标机"); } + } + + + // 创建钻孔机 + private void handleBandingMachineConfiguration(MachineDO machineDO, MachineTemplateDO machineTemplateDO) { + JsonNode drillSetting = JsonUtils.parseTree(unzipString(machineTemplateDO.getSetting())); + JsonNode cuttingModuleRef = drillSetting.get("cuttingModuleRef"); + + boolean isDrillEnabled = cuttingModuleRef.get("isDrillEnabled").asBoolean(); + + if (isDrillEnabled && cuttingModuleRef.has("drillModel")) { + Integer drillModel = cuttingModuleRef.get("drillModel").asInt(); + createAndInsertMachine(drillModel, machineDO, "开料" + machineDO.getName() + "钻孔机"); + } + } + + + private void createAndInsertMachine(Integer modelId, MachineDO parentMachine, String machineName) { + MachineTemplateDO template = machineTemplateMapper.selectById(modelId); + + if (template != null) { + MachineDO newMachine = MachineDO.builder() + .labelId(parentMachine.getLabelId()) + .machineType(template.getMachineType()) + .brandId(template.getBrandId()) + .setting(template.getSetting()) + .name(machineName) + .build(); + + machineMapper.insert(newMachine); + } + } + + @@ -208,9 +217,10 @@ public class MachineServiceImpl implements MachineService { } @Override + @Transactional(rollbackFor = Exception.class) public void updateCutting(CuttingSaveReqVO updateReqVO) { - // 校验存在 - validateExists(updateReqVO.getId()); + // 校验存在和判断机台名称是否重复 + validateExists(updateReqVO.getId(),updateReqVO.getName(),updateReqVO.getMachineType()); // 更新 MachineDO updateObj = MachineConvert.convert(updateReqVO); //MachineDO updateObj = BeanUtils.toBean(updateReqVO, MachineDO.class); @@ -356,6 +366,17 @@ public class MachineServiceImpl implements MachineService { return machineMapper.selectPage(pageParam, new ArrayList<>()); } + + @Override + public List getMachineModelAll(Integer type) { + + List machineDOS = machineMapper.selectMachineList(type, getUserOrganId()); + + return BeanUtils.toBean(machineDOS,MachineSimpleRespVO.class); + + } + + @Override @OrganIgnore public List simpleList(Long organId,Long type) { @@ -398,10 +419,17 @@ public class MachineServiceImpl implements MachineService { - private void validateExists(Long id) { - if (machineMapper.selectById(id) == null) { + // 校验机台是否存在和机台名称是否重复 + private void validateExists(Long id,String name,Integer machineType) { + MachineDO machineDO = machineMapper.selectById(id); + if (machineDO == null) { throw exception(MACHINE_NOT_EXISTS); } + MachineDO machine = machineMapper.selectMachine(name, machineType, getUserOrganId()); + + if(machine != null){ + throw exception(MACHINE_NAME_ERROR); + } } private Boolean validateBrandAndModel(String brand, String model){ 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 1e31ed10a..3059912ee 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 @@ -29,7 +29,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -83,6 +82,8 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { throw exception(THE_CURRENT_BRAND); } + validateMachineTemplate(reqVO.getName(),reqVO.getMachineType()); + MachineTemplateDO templateDO = MachineTemplateConvert.convert(reqVO); @@ -121,6 +122,13 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { throw exception(THE_CURRENT_BRAND); } + MachineTemplateDO machineTemplateDO = machineTemplateMapper.selectById(reqVO.getId()); + + if(machineTemplateDO == null){ + throw exception(MACHINE_TEMPLATE_NOT_EXISTS); + } + + validateMachineTemplate(reqVO.getName(),reqVO.getMachineType()); MachineTemplateDO templateDO = MachineTemplateConvert.convert(reqVO); @@ -534,4 +542,15 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { + private void validateMachineTemplate(String name,Integer machineType) { + + MachineTemplateDO machineTemplateDO = machineTemplateMapper.selectMachineTemplate(name, machineType); + + + if(machineTemplateDO != null){ + throw exception(MACHINETEMPLATE_NAME_ERROR); + } + + } + } diff --git a/cf-module-system/cf-module-system-biz/src/main/resources/mapper/process/MachineMapper.xml b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/process/MachineMapper.xml index 36fa312d4..bf03307e3 100644 --- a/cf-module-system/cf-module-system-biz/src/main/resources/mapper/process/MachineMapper.xml +++ b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/process/MachineMapper.xml @@ -2,76 +2,6 @@ - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file