diff --git a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/util/Assert/AssertUtils.java b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/util/Assert/AssertUtils.java new file mode 100644 index 000000000..463a2ecf0 --- /dev/null +++ b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/util/Assert/AssertUtils.java @@ -0,0 +1,49 @@ +package com.cf.imes.framework.common.util.Assert; + + +import com.cf.imes.framework.common.exception.ErrorCode; +import org.springframework.util.ObjectUtils; + +import java.util.List; + +import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception; + + + +/** + * 断言工具类:用于代码抛出异常,提升代码的简洁度 + * + * @author 晨丰科技 + */ +public class AssertUtils { + + /* + * 判断是否为空,可以不用if语句,简化代码 + * */ + public static void notEmpty(List array, ErrorCode errorCode) { + if (ObjectUtils.isEmpty(array)) { + throw exception(errorCode); + } + } + + public static void empty(List array, ErrorCode errorCode) { + if (!ObjectUtils.isEmpty(array)) { + throw exception(errorCode); + } + } + + + public static void notEmpty(Object object, ErrorCode errorCode) { + if (object == null) { + throw exception(errorCode); + } + } + + + public static void notEmpty(List array ,Object object, ErrorCode errorCode) { + if (object == null || ObjectUtils.isEmpty(array)) { + throw exception(errorCode); + } + } + +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/goods/GoodsMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/goods/GoodsMapper.java index ce9a8c60e..c3c94a531 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/goods/GoodsMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/goods/GoodsMapper.java @@ -16,6 +16,7 @@ import org.apache.ibatis.annotations.Param; import java.util.Collection; import java.util.List; +import java.util.Set; import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId; @@ -195,4 +196,7 @@ public interface GoodsMapper extends BaseMapperX { List selectNoPlanRoomBody(@Param("orderIds") List orderIds, @Param("organId") Long organId); IPage selectOrderPlate(@Param("page") IPage page,@Param("organId") Long organId); + + List selectPlanOrderList(@Param("orderId") Long orderId,@Param("roomIds") Set roomIds, @Param("bodyId") Long bodyId,@Param("organId") Long organId); + } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java index 1e4a22a9e..57e7427dd 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java @@ -7,10 +7,15 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; +import com.cf.imes.framework.common.enums.OrderPackageStatusEnum; import com.cf.imes.framework.common.pojo.PageParam; +import com.cf.imes.framework.common.pojo.PageResult; +import com.cf.imes.framework.common.util.Assert.AssertUtils; +import com.cf.imes.framework.common.util.object.BeanUtils; import com.cf.imes.framework.mybatis.core.generator.SnowFlakeGenerator; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.framework.organ.core.context.OrganContextHolder; +import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils; import com.cf.imes.module.executor.controller.admin.order.vo.order.*; import com.cf.imes.module.executor.controller.admin.order.vo.product.OrderBodyRespVO; import com.cf.imes.module.executor.controller.admin.order.vo.product.OrderRoomBodyRespVO; @@ -19,6 +24,7 @@ import com.cf.imes.module.executor.controller.admin.orderParts.vo.OrderPartsResp import com.cf.imes.module.executor.controller.admin.plan.vo.OrderRespVOCopy; import com.cf.imes.module.executor.controller.admin.plate.vo.PlateRespVO; import com.cf.imes.module.executor.dal.dataobject.goods.GoodsDO; +import com.cf.imes.module.executor.dal.dataobject.order.OrderDO; import com.cf.imes.module.executor.dal.dataobject.orderBody.OrderBodyDO; import com.cf.imes.module.executor.dal.dataobject.orderGroup.OrderGroupDO; import com.cf.imes.module.executor.dal.dataobject.orderItem.OrderItemDO; @@ -29,6 +35,7 @@ import com.cf.imes.module.executor.dal.dataobject.plate.PlateDO; import com.cf.imes.module.executor.dal.dataobject.plate.PlateGoodDO; import com.cf.imes.module.executor.dal.dataobject.rawgoods.RawGoodsDO; import com.cf.imes.module.executor.dal.mysql.goods.GoodsMapper; +import com.cf.imes.module.executor.dal.mysql.order.OrderMapper; import com.cf.imes.module.executor.dal.mysql.orderBody.OrderBodyMapper; import com.cf.imes.module.executor.dal.mysql.orderGroup.OrderGroupMapper; import com.cf.imes.module.executor.dal.mysql.orderItem.OrderItemMapper; @@ -39,7 +46,7 @@ import com.cf.imes.module.executor.dal.mysql.plate.PlateMapper; import com.cf.imes.module.executor.dal.mysql.rawgoods.RawGoodsMapper; import com.cf.imes.module.executor.enums.OrderDeletedEnum; import com.cf.imes.module.executor.enums.OrderStatusEnum; -import com.cf.imes.framework.common.enums.OrderPackageStatusEnum; +import com.cf.imes.module.executor.service.plan.PlanService; import com.cf.imes.module.executor.util.deviseData.structure.PlateDetail; import com.cf.imes.module.executor.util.fileConversion.admin.api.webcad.ApiDataAchieve; import com.cf.imes.module.executor.util.fileConversion.admin.api.webcad.ApiTypeRealize; @@ -47,22 +54,14 @@ import com.cf.imes.module.executor.util.fileConversion.admin.files.excel.ExcelTy import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.VO.OrderXmlVO; import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.XmlTypeRealize; import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; - import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; -import com.cf.imes.module.executor.dal.dataobject.order.OrderDO; -import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.framework.common.util.object.BeanUtils; - -import com.cf.imes.module.executor.dal.mysql.order.OrderMapper; - +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import java.io.*; import java.net.URLEncoder; -import java.time.*; +import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; import java.util.*; @@ -74,8 +73,6 @@ import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.e import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId; import static com.cf.imes.module.executor.enums.ErrorCodeConstants.*; -import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils; - /** * 生产单表 order_{N} Service 实现类 * @@ -139,9 +136,14 @@ public class OrderServiceImpl implements OrderService { public static final String ORDER_PARTS_REMARK_MODEL = "imes_order_parts_remark_model"; + String ORDER_REMAIN_PLATE_MODEL = "imes_order_optimize_plate_model"; + @Resource private XmlTypeRealize xmlTypeRealize; + @Resource + private PlanService planService; + @Override public void updateOrder(OrderSaveReqVO updateReqVO) { // 校验存在, 生产单未删除 @@ -240,7 +242,8 @@ public class OrderServiceImpl implements OrderService { @Override @Transactional(rollbackFor = Exception.class) public void updateBodyDeletedByOrderId(Long orderId, Set roomIds, Long bodyId, Integer status) { // 要删除传1,还原传0 - validateOrderStatus(orderId, getUserOrganId(), OrderDeletedEnum.NOT_DELETED.getStatus()); + // 判断生产单的状态和生产单柜体对应的板擦是否已开料 + List planIds = validateOrderStatus(orderId, roomIds, bodyId, getUserOrganId(), OrderDeletedEnum.NOT_DELETED.getStatus()); List bodyIds = new ArrayList<>(); Integer index = status == 1 ? 0 : 1; @@ -292,7 +295,23 @@ public class OrderServiceImpl implements OrderService { }); if (goodsIdDeleted.size() > 0) { + goodsMapper.updateDeletedById(goodsIdDeleted, status, getUserOrganId()); + + } + + if(planIds != null) { + // 判断删除的柜体对应的板材是否和排单板材一样 + List goodsDOS = goodsMapper.selectPlanGoodsListByPlanIdList(planIds, getUserOrganId()); + + // 一样,同时删除排单的信息 + if(goodsDOS.isEmpty()){ + planService.deletePlan(planIds); + }else { + // 只要有排单,不管删除的柜体的板材数和排单数一样,都要删除排单对应的优化数据(不用这种写法进行删除时,有时会报错,原因目前还没找到) + planService.deleteByPlanId(planIds, ORDER_REMAIN_PLATE_MODEL); + } + } List partsList = orderPartsMapper.selectPartsIdListByBodyId(bodyIds, getUserOrganId(), orderId); // 配件 @@ -804,17 +823,28 @@ public class OrderServiceImpl implements OrderService { return true; } - // 判断生产单状态是否符合(开料之前状态判断) - private void validateOrderStatus(Long orderId, Long organId, Integer status) { + // 判断生产单状态是否符合(如果已开料,不允许删除) + private List validateOrderStatus(Long orderId,Set roomIds, Long bodyId, Long organId, Integer status) { // 校验存在 OrderDO orderDO = orderMapper.selectOrderOne(orderId, organId); if (orderDO == null) throw exception(ORDER_NOT_EXISTS); - // 状态排除 - if (!Objects.equals(orderDO.getStatus(), OrderStatusEnum.NEW_ORDER.getStatus()) && - !Objects.equals(orderDO.getStatus(), OrderStatusEnum.SORTED.getStatus()) && - !Objects.equals(orderDO.getStatus(), OrderStatusEnum.EMPTY.getStatus())) - throw exception(ORDER_NOT_CANCEL); + + // 判断小板是否已开料,已开料不允许删除 + List planIds = goodsMapper.selectPlanOrderList(orderId, roomIds, bodyId, organId); + if(!planIds.isEmpty()) { + + List planDOS = planMapper.selectPlanStatus(planIds, organId); + + AssertUtils.empty(planDOS, ORDER_PLAN_ERROR); + +// planService.deleteByPlanId(planIds, ORDER_REMAIN_PLATE_MODEL); + + return planIds; + + + } + return null; } } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanService.java index ba83244b8..671ce92ec 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanService.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanService.java @@ -82,4 +82,6 @@ public interface PlanService { List getOrderPlateList(OrderPageReqVOCopy pageReqVO); List getNotOptimizeGoodsList(NotPlanGoodsReqVO reqVO); + + void deleteByPlanId(List planIds, String index); } \ No newline at end of file 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 27de615d1..227dca556 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 @@ -1055,6 +1055,7 @@ public class PlanServiceImpl implements PlanService { } + @Override public void deleteByPlanId(List planIds, String index) { List fieldValues = planIds.stream().map(FieldValue::of).toList(); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/goods/GoodsMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/goods/GoodsMapper.xml index 64a090a67..96a6d2156 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/goods/GoodsMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/goods/GoodsMapper.xml @@ -41,7 +41,7 @@ UPDATE order_goods - SET deleted = #{deleted} + SET deleted = #{deleted},plan_id = 0 WHERE id IN #{id} @@ -383,4 +383,33 @@ + + + \ No newline at end of file diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/PackController.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/PackController.java index 2b12dee39..8a4258c04 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/PackController.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/PackController.java @@ -186,10 +186,9 @@ public class PackController { - // todo 是否使用和使用在什么地方带确认 - @GetMapping("/print") - @Operation(summary = "包裹订单打印") - @PreAuthorize("@ss.hasPermission('manage:pack:query')") +// @GetMapping("/print") +// @Operation(summary = "包裹订单打印") +// @PreAuthorize("@ss.hasPermission('manage:pack:query')") public CommonResult printOrderPack (@Valid PrintOrderPackReqVO reqVO) { return success(packService.printOrderPack(reqVO)); diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.java index a39a56fa1..c8e47bfb1 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.java @@ -1,12 +1,15 @@ package com.cf.imes.module.manage.dal.mysql.plate; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.module.manage.controller.admin.pack.vo.PackRespVO; +import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO; import com.cf.imes.module.manage.controller.admin.patching.vo.PatchingDetailRespVO; import com.cf.imes.module.manage.controller.admin.patching.vo.PatchingPlatePageReqVO; import com.cf.imes.module.manage.controller.admin.process.vo.PlateDetails; +import com.cf.imes.module.manage.controller.admin.query.vo.pack.PackageDetailsRespVO; import com.cf.imes.module.manage.dal.dataobject.plate.OrderPlateDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -48,4 +51,10 @@ public interface OrderPlateMapper extends BaseMapperX { } List selectPlateNum(@Param("orderIds") List orderIds,@Param("organId") Long organId); + + List selectOrderNoPackPlateList(@Param("orderId") Long orderId,@Param("organId") Long organId); + + List selectOrderPlateList(@Param("orderIds") List orderIds, @Param("organId") Long organId); + + IPage selectPackPlateList(@Param("page") IPage page, @Param("packageId") Long packageId, @Param("organId") Long organId); } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java index c86ae6ba3..ba7156913 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java @@ -6,7 +6,6 @@ import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO; import com.cf.imes.module.manage.controller.admin.process.vo.PlateDetails; import com.cf.imes.module.manage.controller.admin.process.vo.ProcessPlateReqVO; -import com.cf.imes.module.manage.controller.admin.query.vo.pack.PackageDetailsRespVO; import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO; import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderPlateRespVO; import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.PlatePageVO; @@ -20,8 +19,6 @@ import java.util.List; public interface OrderItemMapper extends BaseMapperX { - List selectByPackageId( @Param("packageId") Long packageId, @Param("organId") Long organId); - List selectCombinationName(Long orderNo); @@ -29,9 +26,6 @@ public interface OrderItemMapper extends BaseMapperX { List selectPlateList(PlatePageVO pageReqVO); - List selectOrderPlateList(@Param("orderNo") Long orderNo,@Param("organId") Long organId); - - List selectPrintPlateList(@Param("orderNo")Long orderNo,@Param("packageNo") Long packageNo, @Param("organId") Long organId); @@ -64,7 +58,6 @@ public interface OrderItemMapper extends BaseMapperX { List selectPlateListByBodyIds( @Param("collect") List collect,@Param("orderId") Long orderId,@Param("userOrganId") Long userOrganId); - List selectOrdersPlateList(@Param("orderIds") List orderIds, @Param("userOrganId") Long userOrganId); default List selectPackList(Long packId,Long orderId ,Long organId) { 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 6a2743601..77f220215 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 @@ -8,6 +8,7 @@ import com.cf.imes.framework.common.enums.OrderPackageStatusEnum; import com.cf.imes.framework.common.enums.OrderPackageTypeEnum; import com.cf.imes.framework.common.enums.UserSettingTypeEnum; import com.cf.imes.framework.common.pojo.PageResult; +import com.cf.imes.framework.common.util.Assert.AssertUtils; import com.cf.imes.framework.common.util.json.JsonUtils; import com.cf.imes.framework.common.util.object.BeanUtils; import com.cf.imes.framework.mybatis.core.query.QueryWrapperX; @@ -32,6 +33,7 @@ import com.cf.imes.module.manage.dal.mysql.query.OrderPartsMapper; 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.cf.imes.module.system.enums.ErrorCodeConstants; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; @@ -106,7 +108,7 @@ public class PackServiceImpl implements PackService { OrderDO order = ordersMapper.selectById(pageReqVO.getOrderId()); // 判断是否为空 -// AssertUtils.notEmpty(order,ORDER_DATE_ERROR); + AssertUtils.notEmpty(order,ORDER_DATE_ERROR); List packRespVOList = pageReqVO.getIsUp() ? ordersMapper.selectOrderIds(order.getCreateTime().toString(), getUserOrganId(), order.getId()) : @@ -145,7 +147,7 @@ public class PackServiceImpl implements PackService { // 查询板材的总量 List packRespVOList = orderPlateMapper.selectPlateNum(orderIds, getUserOrganId()); -// AssertUtils.notEmpty(packRespVOList, ErrorCodeConstants.THE_CURRENT_BOARD_IS_NOT_SELECTED); + AssertUtils.notEmpty(packRespVOList, ErrorCodeConstants.ORDER_PLATE_ERROR); for (PackRespVO packRespVO : packRespVOList) { packRespVO.setTotalPieceCount((long) packRespVO.getPlateId().size()); @@ -194,7 +196,7 @@ public class PackServiceImpl implements PackService { public List getOrderPlateList(Long orderId) { // 查询订单对应的板件信息 - List plateDetailsRespVOS = orderItemMapper.selectOrderPlateList(orderId, getUserOrganId()); + List plateDetailsRespVOS = orderPlateMapper.selectOrderNoPackPlateList(orderId, getUserOrganId()); if(plateDetailsRespVOS.isEmpty()){ return null; @@ -224,7 +226,7 @@ public class PackServiceImpl implements PackService { public List getOrdersPlateList(List orderIds) { - List plateDetailsRespVOS = orderItemMapper.selectOrdersPlateList(orderIds, getUserOrganId()); + List plateDetailsRespVOS = orderPlateMapper.selectOrderPlateList(orderIds,getUserOrganId()); if (plateDetailsRespVOS.isEmpty()) { @@ -237,7 +239,6 @@ public class PackServiceImpl implements PackService { orderPackageDOS = orderPackageMapper.selectBatchIds(packageIds); } -// AssertUtils.notEmpty(orderPackageDOS,ORDER_PLATE_ERROR); for (PlateDetailsRespVO plateDetailsRespVO : plateDetailsRespVOS) { String name = ""; @@ -273,13 +274,6 @@ public class PackServiceImpl implements PackService { // AssertUtils.notEmpty(orderPackageVOS,orderDO,ORDER_PLATE_ERROR); - // for (OrderPackageVO orderPackageVO : orderPackageVOS) { -// orderPackageVO.setCustomOrderNo(orderDO.getCustomOrderNo()); -// orderPackageVO.setCustomer(orderDO.getCustomer()); -// orderPackageVO.setAddress(orderDO.getAddress()); -// orderPackageVO.setDealer(orderDO.getDealer()); -// orderPackageVO.setOrderRemark(orderDO.getRemark()); -// } return orderPackageVOS.stream().peek(m -> { diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusServiceImpl.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusServiceImpl.java index 7321c0b21..f1f6a6aaa 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusServiceImpl.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusServiceImpl.java @@ -3,7 +3,6 @@ package com.cf.imes.module.manage.service.query; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import com.cf.imes.framework.common.enums.OrderPackageTypeEnum; import com.cf.imes.framework.common.pojo.PageResult; @@ -18,6 +17,7 @@ import com.cf.imes.module.manage.controller.admin.query.vo.salary.PriceRateReqVO 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.mysql.pack.OrderPackageMapper; +import com.cf.imes.module.manage.dal.mysql.plate.OrderPlateMapper; import com.cf.imes.module.manage.dal.mysql.process.OrdersMapper; import com.cf.imes.module.manage.dal.mysql.process.ProcessStepItemMapper; import com.cf.imes.module.manage.dal.mysql.process.ProcessStepMapper; @@ -61,6 +61,8 @@ public class ProductionStatusServiceImpl implements ProductionStatusService { @Resource private OrderPartsMapper orderPartsMapper; + @Resource + private OrderPlateMapper orderPlateMapper; // 生产状态分页查询 @@ -197,10 +199,13 @@ public class ProductionStatusServiceImpl implements ProductionStatusService { // 查看板材包裹 - List packageDetailsRespVOS = orderItemMapper.selectByPackageId(reqVO.getPackageId(),getUserOrganId()); + IPage packageDetailsRespVOS = orderPlateMapper.selectPackPlateList(page,reqVO.getPackageId(),getUserOrganId()); + if (CollectionUtil.isEmpty(packageDetailsRespVOS.getRecords())) { + return new PageResult<>(); + } - for (PackageDetailsRespVO plateDetailsRespVO : packageDetailsRespVOS) { + for (PackageDetailsRespVO plateDetailsRespVO : packageDetailsRespVOS.getRecords()) { String name = ""; if(!plateDetailsRespVO.getProcessGroupNameList().isEmpty()) { @@ -214,15 +219,10 @@ public class ProductionStatusServiceImpl implements ProductionStatusService { plateDetailsRespVO.setProcessGroup(name); } - Page packageDetailsRespVOPage = page.setRecords(packageDetailsRespVOS); +// Page packageDetailsRespVOPage = page.setRecords(packageDetailsRespVOS); - if (CollectionUtil.isEmpty(packageDetailsRespVOPage.getRecords())) { - return new PageResult<>(); - } - - - return new PageResult<>(packageDetailsRespVOPage.getRecords(), packageDetailsRespVOPage.getTotal()); + return new PageResult<>(packageDetailsRespVOS.getRecords(), packageDetailsRespVOS.getTotal()); } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml index 32a7792fc..101529d03 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml @@ -165,7 +165,7 @@ o.remark as orderRemark from orders o - left join order_package op on o.id = op.order_id and o.organ_id = op.organ_id + left join order_package op on o.organ_id = op.organ_id and o.id = op.order_id ${ew.customSqlSegment} @@ -206,7 +206,7 @@ from order_package - where organ_id = #{organId} and order_id = #{orderId} and deleted = false + where organ_id = #{organId} and deleted = false and order_id = #{orderId} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.xml index 18fc6c654..858b45ead 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.xml @@ -205,5 +205,174 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.xml index 5439e0055..3123e4d65 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.xml @@ -3,67 +3,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -142,41 +81,6 @@ - - - - - @@ -412,49 +316,5 @@ - - \ 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/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 de5438c17..0d520ae2a 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 @@ -34,6 +34,13 @@ public class CuttingTemplateSaveReqVO { private Long brandId; + @Schema(description = "机台模板是否公用") + private Boolean isDefault; + + + @Schema(description = "机台模板是否可用") + private Boolean isEnabled; + // @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/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 07bb1de82..a2ed958cc 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 @@ -29,6 +29,8 @@ public class MachineTemplateConvert { .name(reqVO.getName()) // .brand(reqVO.getBrand()) .brandId(reqVO.getNowBrandId()) + .isDefault(reqVO.getIsDefault()) + .isEnabled(reqVO.getIsEnabled()) .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/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 e4851c6ac..6af876ea9 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 @@ -29,10 +29,10 @@ public class MachineTemplateDO extends BaseDO { */ private Integer machineType; -// /** -// * 是否默认模板 -// */ -// private Boolean isDefault; + /** + * 是否公用 + */ + private Boolean isDefault; /** * 机台模板配置 @@ -44,6 +44,10 @@ public class MachineTemplateDO extends BaseDO { */ private Long brandId; + /** + * 是否可用 + */ + private Boolean isEnabled; /** 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 9ccb87a81..0aea03f47 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 @@ -100,8 +100,8 @@ public class MachineServiceImpl implements MachineService { assert loginUser != null; // 校验机台名称是否重复 - MachineDO machine = machineMapper.selectMachineName(createReqVO.getName(),createReqVO.getMachineType(), getUserOrganId()); - if(machine != null){ + MachineDO machine = machineMapper.selectMachineName(createReqVO.getName(), createReqVO.getMachineType(), getUserOrganId()); + if (machine != null) { throw exception(MACHINE_NAME_ERROR); } @@ -117,7 +117,7 @@ public class MachineServiceImpl implements MachineService { // 插入 machineDO = MachineConvert.convert(createReqVO); - String updatedJsonString = handleMachineSpecificConfiguration(machineDO, machineDO.getMachineType(),copyMachineDO.getSetting(),true); + String updatedJsonString = handleMachineSpecificConfiguration(machineDO, machineDO.getMachineType(), copyMachineDO.getSetting(), true); machineDO.setSetting(updatedJsonString == null ? copyMachineDO.getSetting() : zipString(updatedJsonString)); @@ -140,7 +140,7 @@ public class MachineServiceImpl implements MachineService { machineDO = MachineConvert.convert(createReqVO); // 处理不同机台类型的配置 - String updatedJsonString = handleMachineSpecificConfiguration(machineDO, machineTemplateDO.getMachineType(), machineTemplateDO.getSetting(),false); + String updatedJsonString = handleMachineSpecificConfiguration(machineDO, machineTemplateDO.getMachineType(), machineTemplateDO.getSetting(), false); machineDO.setSetting(updatedJsonString == null ? machineTemplateDO.getSetting() : zipString(updatedJsonString)); machineMapper.insert(machineDO); @@ -151,16 +151,15 @@ public class MachineServiceImpl implements MachineService { } - // 判断机台的模板是否是钻孔机或封边机 - private String handleMachineSpecificConfiguration(MachineDO machineDO, Integer machineType,String machineSetting,Boolean isMachine) throws JsonProcessingException { + private String handleMachineSpecificConfiguration(MachineDO machineDO, Integer machineType, String machineSetting, Boolean isMachine) throws JsonProcessingException { String updatedJsonString = null; if (MachineTypeEnum.CUTTING.getType().equals(machineType)) { - updatedJsonString = handleCuttingMachineConfiguration(machineDO, machineSetting,isMachine); + updatedJsonString = handleCuttingMachineConfiguration(machineDO, machineSetting, isMachine); } else if (MachineTypeEnum.BANDING.getType().equals(machineType)) { - updatedJsonString = handleBandingMachineConfiguration(machineDO, machineSetting,isMachine); + updatedJsonString = handleBandingMachineConfiguration(machineDO, machineSetting, isMachine); } return updatedJsonString; @@ -168,7 +167,7 @@ public class MachineServiceImpl implements MachineService { // 创建贴标机 - private String handleCuttingMachineConfiguration(MachineDO machineDO, String machineSetting,Boolean isMachine) throws JsonProcessingException { + private String handleCuttingMachineConfiguration(MachineDO machineDO, String machineSetting, Boolean isMachine) throws JsonProcessingException { String unzipMachineSetting = unzipString(machineSetting); @@ -176,53 +175,24 @@ public class MachineServiceImpl implements MachineService { JsonNode advancedConfigsRef = cuttingSetting.get("advancedConfigsRef"); - if(advancedConfigsRef.get("isAutoLabelEnabled") != null) { - boolean isAutoLabelEnabled = advancedConfigsRef.get("isAutoLabelEnabled").asBoolean(); + + boolean isAutoLabelEnabled = advancedConfigsRef.get("isAutoLabelEnabled") != null && advancedConfigsRef.get("isAutoLabelEnabled").asBoolean(); - if (isAutoLabelEnabled && advancedConfigsRef.has("autoLabelModel")) { - Integer autoLabelModelId = advancedConfigsRef.get("autoLabelModel").asInt(); + if (isAutoLabelEnabled && advancedConfigsRef.has("autoLabelModel")) { + Integer autoLabelModelId = advancedConfigsRef.get("autoLabelModel").asInt(); - MachineDO newMachine; + MachineDO newMachine; - if (isMachine) { + if (isMachine) { - MachineDO machine = machineMapper.selectById(autoLabelModelId); - if (machine != null) { - newMachine = MachineDO.builder() - .labelId(machine.getLabelId()) - .machineType(machine.getMachineType()) - .brandId(machine.getBrandId()) - .setting(machine.getSetting()) - .name("开料" + machineDO.getName() + "-贴标机") - .build(); - - machineMapper.insert(newMachine); - - // 创建 ObjectMapper 对象 - ObjectMapper mapper = new ObjectMapper(); - - // 将 JSON 字符串解析为 Map - Map map = mapper.readValue(unzipMachineSetting, Map.class); - - // 修改值 - Map advancedConfigs = (Map) map.get("advancedConfigsRef"); - advancedConfigs.put("autoLabelModel", newMachine.getId()); - - // 将 Map 转换为 JSON 字符串 - return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(map); - - - } - } - - MachineTemplateDO machineTemplate = machineTemplateMapper.selectById(autoLabelModelId); - if (machineTemplate != null) { + MachineDO machine = machineMapper.selectById(autoLabelModelId); + if (machine != null) { newMachine = MachineDO.builder() - .labelId(machineDO.getLabelId()) - .machineType(machineTemplate.getMachineType()) - .brandId(machineTemplate.getBrandId()) - .setting(machineTemplate.getSetting()) + .labelId(machine.getLabelId()) + .machineType(machine.getMachineType()) + .brandId(machine.getBrandId()) + .setting(machine.getSetting()) .name("开料" + machineDO.getName() + "-贴标机") .build(); @@ -241,15 +211,44 @@ public class MachineServiceImpl implements MachineService { // 将 Map 转换为 JSON 字符串 return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(map); + } } + + MachineTemplateDO machineTemplate = machineTemplateMapper.selectById(autoLabelModelId); + if (machineTemplate != null) { + newMachine = MachineDO.builder() + .labelId(machineDO.getLabelId()) + .machineType(machineTemplate.getMachineType()) + .brandId(machineTemplate.getBrandId()) + .setting(machineTemplate.getSetting()) + .name("开料" + machineDO.getName() + "-贴标机") + .build(); + + machineMapper.insert(newMachine); + + // 创建 ObjectMapper 对象 + ObjectMapper mapper = new ObjectMapper(); + + // 将 JSON 字符串解析为 Map + Map map = mapper.readValue(unzipMachineSetting, Map.class); + + // 修改值 + Map advancedConfigs = (Map) map.get("advancedConfigsRef"); + advancedConfigs.put("autoLabelModel", newMachine.getId()); + + // 将 Map 转换为 JSON 字符串 + return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(map); + + } } - return null; + + return null; } // 创建钻孔机 - private String handleBandingMachineConfiguration(MachineDO machineDO, String machineSetting,Boolean isMachine) throws JsonProcessingException { + private String handleBandingMachineConfiguration(MachineDO machineDO, String machineSetting, Boolean isMachine) throws JsonProcessingException { String unzipMachineSetting = unzipString(machineSetting); @@ -257,54 +256,23 @@ public class MachineServiceImpl implements MachineService { JsonNode cuttingModuleRef = drillSetting.get("cuttingModuleRef"); - if(cuttingModuleRef.get("isDrillEnabled") != null) { - boolean isDrillEnabled = cuttingModuleRef.get("isDrillEnabled").asBoolean(); + boolean isDrillEnabled = cuttingModuleRef.get("isDrillEnabled") != null && cuttingModuleRef.get("isDrillEnabled").asBoolean(); - if (isDrillEnabled && cuttingModuleRef.has("drillModel")) { - Integer drillModelId = cuttingModuleRef.get("drillModel").asInt(); + if (isDrillEnabled && cuttingModuleRef.has("drillModel")) { + Integer drillModelId = cuttingModuleRef.get("drillModel").asInt(); - MachineDO newMachine; + MachineDO newMachine; - if (isMachine) { + if (isMachine) { - MachineDO machine = machineMapper.selectById(drillModelId); - if (machine != null) { - newMachine = MachineDO.builder() - .labelId(machine.getLabelId()) - .machineType(machine.getMachineType()) - .brandId(machine.getBrandId()) - .setting(machine.getSetting()) - .name("封边" + machineDO.getName() + "-钻孔机") - .build(); - - machineMapper.insert(newMachine); - - // 创建 ObjectMapper 对象 - ObjectMapper mapper = new ObjectMapper(); - - // 将 JSON 字符串解析为 Map - Map map = mapper.readValue(unzipMachineSetting, Map.class); - - // 修改值 - Map advancedConfigs = (Map) map.get("cuttingModuleRef"); - advancedConfigs.put("drillModel", newMachine.getId()); - - // 将 Map 转换为 JSON 字符串并打印输出 - return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(map); - - - } - } - - - MachineTemplateDO machineTemplate = machineTemplateMapper.selectById(drillModelId); - if (machineTemplate != null) { + MachineDO machine = machineMapper.selectById(drillModelId); + if (machine != null) { newMachine = MachineDO.builder() - .labelId(machineDO.getLabelId()) - .machineType(machineTemplate.getMachineType()) - .brandId(machineTemplate.getBrandId()) - .setting(machineTemplate.getSetting()) + .labelId(machine.getLabelId()) + .machineType(machine.getMachineType()) + .brandId(machine.getBrandId()) + .setting(machine.getSetting()) .name("封边" + machineDO.getName() + "-钻孔机") .build(); @@ -322,29 +290,55 @@ public class MachineServiceImpl implements MachineService { // 将 Map 转换为 JSON 字符串并打印输出 return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(map); + + } } + + + MachineTemplateDO machineTemplate = machineTemplateMapper.selectById(drillModelId); + if (machineTemplate != null) { + newMachine = MachineDO.builder() + .labelId(machineDO.getLabelId()) + .machineType(machineTemplate.getMachineType()) + .brandId(machineTemplate.getBrandId()) + .setting(machineTemplate.getSetting()) + .name("封边" + machineDO.getName() + "-钻孔机") + .build(); + + machineMapper.insert(newMachine); + + // 创建 ObjectMapper 对象 + ObjectMapper mapper = new ObjectMapper(); + + // 将 JSON 字符串解析为 Map + Map map = mapper.readValue(unzipMachineSetting, Map.class); + + // 修改值 + Map advancedConfigs = (Map) map.get("cuttingModuleRef"); + advancedConfigs.put("drillModel", newMachine.getId()); + + // 将 Map 转换为 JSON 字符串并打印输出 + return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(map); + } } + return null; } - - - - @Override @Transactional(rollbackFor = Exception.class) public void updateCutting(CuttingSaveReqVO updateReqVO) { // 校验存在和判断机台名称是否重复 - validateExists(updateReqVO.getId(),updateReqVO.getName(),updateReqVO.getMachineType(),updateReqVO.getId()); + validateExists(updateReqVO.getId(), updateReqVO.getName(), updateReqVO.getMachineType(), updateReqVO.getId()); // 更新 MachineDO updateObj = MachineConvert.convert(updateReqVO); //MachineDO updateObj = BeanUtils.toBean(updateReqVO, MachineDO.class); // 判断传入的机台配置是否存在,如果存在,压缩数据后更新 - if(!updateReqVO.getMachineSettingDO().isEmpty()){ + if (!updateReqVO.getMachineSettingDO().isEmpty()) { updateObj.setSetting(JsonUtils.zipString(updateObj.getSetting())); } @@ -359,7 +353,7 @@ public class MachineServiceImpl implements MachineService { throw exception(MACHINE_NOT_EXISTS); } // 校验当前机台是否使用 - if(orderPlanApi.getOrderPlan(id).getData()){ + if (orderPlanApi.getOrderPlan(id).getData()) { throw exception(THE_CURRENT_MACHINE_IS_ALREADY_IN_USE); } machineMapper.deleteById(id); @@ -395,7 +389,6 @@ public class MachineServiceImpl implements MachineService { } - @Override public DrillRespVO getDrill(Long id) { MachineDO machineDO = machineMapper.selectById(id); @@ -423,7 +416,7 @@ public class MachineServiceImpl implements MachineService { List brandIds = machineDOS.stream().map(MachineDO::getBrandId).toList(); List machineBrandDOS = new ArrayList<>(); - if(!brandIds.isEmpty()) { + if (!brandIds.isEmpty()) { machineBrandDOS = machineBrandMapper.selectBatchIds(brandIds); } @@ -483,7 +476,6 @@ public class MachineServiceImpl implements MachineService { .build(); - machineLimitMapper.updateById(machineLimitDO); return Boolean.TRUE; @@ -524,14 +516,14 @@ public class MachineServiceImpl implements MachineService { List machineDOS = machineMapper.selectMachineList(type, getUserOrganId()); - return BeanUtils.toBean(machineDOS,MachineSimpleRespVO.class); + return BeanUtils.toBean(machineDOS, MachineSimpleRespVO.class); } @Override @OrganIgnore - public List simpleList(Long organId,Long type) { + public List simpleList(Long organId, Long type) { List machineDOS = machineMapper.selectList(new LambdaQueryWrapperX() .eqIfPresent(MachineDO::getOrganId, organId) .eqIfPresent(MachineDO::getMachineType, type) @@ -551,7 +543,6 @@ public class MachineServiceImpl implements MachineService { } - @Override public Map> getTemplateAuth(MachinePageReqVO pageParam) { @@ -561,53 +552,51 @@ public class MachineServiceImpl implements MachineService { return machineBrandModelRespVOS.stream().collect(Collectors.groupingBy(MachineBrandModelRespVO::getMachineType)); - } - // 校验机台是否存在和机台名称是否重复 - private void validateExists(Long id,String name,Integer machineType,Long machineId) { + private void validateExists(Long id, String name, Integer machineType, Long machineId) { MachineDO machineDO = machineMapper.selectById(id); if (machineDO == null) { throw exception(MACHINE_NOT_EXISTS); } - MachineDO machine = machineMapper.selectMachine(name, machineType,machineId, getUserOrganId()); + MachineDO machine = machineMapper.selectMachine(name, machineType, machineId, getUserOrganId()); - if(machine != null){ + if (machine != null) { throw exception(MACHINE_NAME_ERROR); } } // 校验当前组织当前类型的机台是否达到最大创建数量 - private void validateMachineNum(Integer machineType, Long organId){ + private void validateMachineNum(Integer machineType, Long organId) { - Integer machineNum = machineMapper.selectByOrganId(machineType,organId).size()+1; + Integer machineNum = machineMapper.selectByOrganId(machineType, organId).size() + 1; MachineLimitDO machineLimitDO = machineLimitMapper.selectById(organId); Integer authMachineNum = 0; - switch (machineType){ + switch (machineType) { - case 1 : + case 1: authMachineNum = machineLimitDO.getCutLimit(); break; - case 2 : + case 2: authMachineNum = machineLimitDO.getDrillLimit(); break; - case 3 : + case 3: authMachineNum = machineLimitDO.getSawLimit(); break; - case 4 : + case 4: authMachineNum = machineLimitDO.getLabelLimit(); break; - case 5 : + case 5: authMachineNum = machineLimitDO.getSealedgeLimit(); break; } - if(machineNum >= authMachineNum){ + if (machineNum >= authMachineNum) { throw exception(MACHINE_NUM_ERROR); } 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 8f0500bce..9f468ca4a 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 @@ -73,27 +73,26 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { private OrganMapper organMapper; - @Override @Transactional(rollbackFor = Exception.class) public Long createCuttingTemplate(CuttingTemplateSaveReqVO reqVO) { // todo 测试时的判断,测试完毕后删除 - if(reqVO.getNowBrandId() == null){ + if (reqVO.getNowBrandId() == null) { throw exception(THE_CURRENT_BRAND); } - validateMachineTemplate(reqVO.getName(),reqVO.getMachineType()); + validateMachineTemplate(reqVO.getName(), reqVO.getMachineType()); MachineTemplateDO templateDO = MachineTemplateConvert.convert(reqVO); - if(reqVO.getMachineId()!=null) { + if (reqVO.getMachineId() != null) { MachineTemplateDO machineTemplateDO = machineTemplateMapper.selectMachine(reqVO.getBrandId(), reqVO.getMachineId()); - String updatedJsonString = handleMachineType(templateDO.getName(),machineTemplateDO.getMachineType(),machineTemplateDO.getSetting()); + String updatedJsonString = handleMachineType(templateDO.getName(), machineTemplateDO.getMachineType(), machineTemplateDO.getSetting()); templateDO.setSetting(updatedJsonString == null ? machineTemplateDO.getSetting() : JsonUtils.zipString(updatedJsonString)); @@ -119,17 +118,17 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { // todo 测试时的判断,测试完毕后删除 MachineBrandDO machineBrandDO = machineBrandMapper.selectById(reqVO.getNowBrandId()); - if(machineBrandDO == null){ + if (machineBrandDO == null) { throw exception(THE_CURRENT_BRAND); } // 校验机台模板是否存在和名称是否重复 - validateMachineTemplateExists(reqVO.getName(),reqVO.getMachineType(),reqVO.getId()); + validateMachineTemplateExists(reqVO.getName(), reqVO.getMachineType(), reqVO.getId()); MachineTemplateDO templateDO = MachineTemplateConvert.convert(reqVO); - if(!reqVO.getSetting().isEmpty()){ + if (!reqVO.getSetting().isEmpty()) { templateDO.setSetting(JsonUtils.zipString(templateDO.getSetting())); } machineTemplateMapper.updateById(templateDO); @@ -187,7 +186,7 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { // 将机台的配置进行解压 .stream() // todo 目前需要写上,等数据清一波后,应该不需要了 - .filter(m -> !Objects.equals(m.getBrandId(),null)) + .filter(m -> !Objects.equals(m.getBrandId(), null)) .map(m -> m.setSetting(unzipString(m.getSetting()))).toList(); for (MachineTemplateRespVO machineTemplateRespVO : machineTemplateRespVOS) { @@ -229,11 +228,11 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { List organIds = organTemplateRespPageRecords.stream().map(OrganTemplateResp::getOrganId).toList(); - if(organIds.isEmpty()){ + if (organIds.isEmpty()) { return null; } - List machineTemplateBrandReqVOS = machineTemplateLimitMapper.selectMachineList(organIds,page.getTemplateName()); + List machineTemplateBrandReqVOS = machineTemplateLimitMapper.selectMachineList(organIds, page.getTemplateName()); // 查询品牌名称 @@ -243,14 +242,14 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { for (MachineTemplateBrandReqVO machineTemplateBrandReqVO : machineTemplateBrandReqVOS) { machineTemplateBrandReqVO.setBrand(machineBrandDOS.stream() - .filter(f->f.getId().equals(machineTemplateBrandReqVO.getId())) + .filter(f -> f.getId().equals(machineTemplateBrandReqVO.getId())) .map(MachineBrandDO::getBrand) .findAny().orElse(null)); } for (OrganTemplateResp organTemplateRespPageRecord : organTemplateRespPageRecords) { organTemplateRespPageRecord.setMachineTemplateBrandReqVOS(machineTemplateBrandReqVOS.stream() - .filter(f->f.getOrganId().equals(organTemplateRespPageRecord.getOrganId())) + .filter(f -> f.getOrganId().equals(organTemplateRespPageRecord.getOrganId())) .toList()); } @@ -269,7 +268,7 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { MachineBrandDO machineBrandDO = machineBrandMapper.selectBrand(reqVO.getBrand(), reqVO.getMachineType()); - if(machineBrandDO != null){ + if (machineBrandDO != null) { throw exception(THE_CURRENT_BRAND_OF_THE_MACHINE_EXISTS); } @@ -307,7 +306,7 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { List machineIds; - if(organId != null){ + if (organId != null) { List machineTemplateLimitDOS = machineTemplateLimitMapper.selectListByOrganId(organId); @@ -333,15 +332,15 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { List machineTemplateDoS = machineTemplateMapper - .selectList( new MPJLambdaWrapperX() - .in(MachineTemplateDO::getBrandId, brandIds) - .select(MachineTemplateDO::getId, MachineTemplateDO::getBrandId, MachineTemplateDO::getName)); + .selectList(new MPJLambdaWrapperX() + .in(MachineTemplateDO::getBrandId, brandIds) + .select(MachineTemplateDO::getId, MachineTemplateDO::getBrandId, MachineTemplateDO::getName)); List machineTemplates = BeanUtils.toBean(machineTemplateDoS, TemplateAutoResp.MachineTemplate.class); - if(!machineIds.isEmpty()) { + if (!machineIds.isEmpty()) { for (TemplateAutoResp.MachineBrand machineBrand : templateAutoResp.getMachineBrand()) { @@ -377,7 +376,6 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { } - @Override public Boolean updateTemplateAuth(MachineOrgAuthReq vo) { @@ -476,19 +474,14 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { } - - - - - // 判断机台模板的类型 - private String handleMachineType(String machineName,Integer machineType,String machineSetting) { + private String handleMachineType(String machineName, Integer machineType, String machineSetting) { String updatedJsonString = null; - if(machineType.equals(MachineTypeEnum.CUTTING.getType())) { + if (machineType.equals(MachineTypeEnum.CUTTING.getType())) { updatedJsonString = handleCuttingMachine(machineName, machineSetting); - } else if(machineType.equals(MachineTypeEnum.BANDING.getType())) { + } else if (machineType.equals(MachineTypeEnum.BANDING.getType())) { updatedJsonString = handleBandingMachine(machineName, machineSetting); } return updatedJsonString; @@ -503,50 +496,50 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { JsonNode advancedConfigsRef = cuttingSetting.get("advancedConfigsRef"); - if(advancedConfigsRef.get("isAutoLabelEnabled") != null) { - boolean isAutoLabelEnabled = advancedConfigsRef.get("isAutoLabelEnabled").asBoolean(); - if (isAutoLabelEnabled && advancedConfigsRef.get("autoLabelBrand") != null && advancedConfigsRef.get("autoLabelModel") != null) { + boolean isAutoLabelEnabled = advancedConfigsRef.get("isAutoLabelEnabled") != null && advancedConfigsRef.get("isAutoLabelEnabled").asBoolean(); - Integer autoLabelModelId = advancedConfigsRef.get("autoLabelModel").asInt(); + if (isAutoLabelEnabled && advancedConfigsRef.get("autoLabelBrand") != null && advancedConfigsRef.get("autoLabelModel") != null) { - try { + Integer autoLabelModelId = advancedConfigsRef.get("autoLabelModel").asInt(); - MachineTemplateDO labelingMachineTemplateDO = machineTemplateMapper.selectById(autoLabelModelId); + try { - MachineTemplateDO labelingMachineDO = MachineTemplateDO.builder() - .machineType(labelingMachineTemplateDO.getMachineType()) - .brandId(labelingMachineTemplateDO.getBrandId()) - .setting(labelingMachineTemplateDO.getSetting()) - .name("开料" + machineName + "-贴标机") - .build(); + MachineTemplateDO labelingMachineTemplateDO = machineTemplateMapper.selectById(autoLabelModelId); - machineTemplateMapper.insert(labelingMachineDO); + MachineTemplateDO labelingMachineDO = MachineTemplateDO.builder() + .machineType(labelingMachineTemplateDO.getMachineType()) + .brandId(labelingMachineTemplateDO.getBrandId()) + .setting(labelingMachineTemplateDO.getSetting()) + .name("开料" + machineName + "-贴标机") + .build(); - // 创建 ObjectMapper 对象 - ObjectMapper mapper = new ObjectMapper(); + machineTemplateMapper.insert(labelingMachineDO); - // 将 JSON 字符串解析为 Map - Map map = mapper.readValue(unzipString, Map.class); + // 创建 ObjectMapper 对象 + ObjectMapper mapper = new ObjectMapper(); - // 修改值 - Map advancedConfigs = (Map) map.get("advancedConfigsRef"); - advancedConfigs.put("autoLabelModel", labelingMachineDO.getId()); + // 将 JSON 字符串解析为 Map + Map map = mapper.readValue(unzipString, Map.class); - // 将 Map 转换为 JSON 字符串 - return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(map); + // 修改值 + Map advancedConfigs = (Map) map.get("advancedConfigsRef"); + advancedConfigs.put("autoLabelModel", labelingMachineDO.getId()); - } catch (Exception e) { + // 将 Map 转换为 JSON 字符串 + return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(map); - throw exception(LABELINGMACHINE_RELATED_DATA_ERROR); - } + } catch (Exception e) { + throw exception(LABELINGMACHINE_RELATED_DATA_ERROR); } + } + return null; } - private String handleBandingMachine(String machineName, String machineSetting){ + private String handleBandingMachine(String machineName, String machineSetting) { String unzipString = unzipString(machineSetting); @@ -554,74 +547,73 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { JsonNode cuttingModuleRef = drillSetting.get("cuttingModuleRef"); - if(cuttingModuleRef.get("isDrillEnabled") != null) { - boolean isDrillEnabled = cuttingModuleRef.get("isDrillEnabled").asBoolean(); - if (isDrillEnabled && cuttingModuleRef.get("drillBrand") != null && cuttingModuleRef.get("drillModel") != null) { + boolean isDrillEnabled = cuttingModuleRef.get("isDrillEnabled") != null && cuttingModuleRef.get("isDrillEnabled").asBoolean(); - Integer drillModelId = cuttingModuleRef.get("drillModel").asInt(); + if (isDrillEnabled && cuttingModuleRef.get("drillBrand") != null && cuttingModuleRef.get("drillModel") != null) { - try { + Integer drillModelId = cuttingModuleRef.get("drillModel").asInt(); - MachineTemplateDO drillMachineTemplateDO = machineTemplateMapper.selectById(drillModelId); + try { - MachineTemplateDO drillMachineDO = MachineTemplateDO.builder() - .machineType(drillMachineTemplateDO.getMachineType()) - .brandId(drillMachineTemplateDO.getBrandId()) - .setting(drillMachineTemplateDO.getSetting()) - .name("封边" + machineName + "-钻孔机") - .build(); + MachineTemplateDO drillMachineTemplateDO = machineTemplateMapper.selectById(drillModelId); - machineTemplateMapper.insert(drillMachineDO); + MachineTemplateDO drillMachineDO = MachineTemplateDO.builder() + .machineType(drillMachineTemplateDO.getMachineType()) + .brandId(drillMachineTemplateDO.getBrandId()) + .setting(drillMachineTemplateDO.getSetting()) + .name("封边" + machineName + "-钻孔机") + .build(); - // 创建 ObjectMapper 对象 - ObjectMapper mapper = new ObjectMapper(); + machineTemplateMapper.insert(drillMachineDO); - // 将 JSON 字符串解析为 Map - Map map = mapper.readValue(unzipString, Map.class); + // 创建 ObjectMapper 对象 + ObjectMapper mapper = new ObjectMapper(); - // 修改值 - Map advancedConfigs = (Map) map.get("cuttingModuleRef"); - advancedConfigs.put("drillModel", drillMachineDO.getId()); + // 将 JSON 字符串解析为 Map + Map map = mapper.readValue(unzipString, Map.class); - // 将 Map 转换为 JSON 字符串 - return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(map); + // 修改值 + Map advancedConfigs = (Map) map.get("cuttingModuleRef"); + advancedConfigs.put("drillModel", drillMachineDO.getId()); - } catch (Exception e) { + // 将 Map 转换为 JSON 字符串 + return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(map); - throw exception(DRILLMACHINE_RELATED_DATA_ERROR); - } + } catch (Exception e) { + throw exception(DRILLMACHINE_RELATED_DATA_ERROR); } + } + return null; } - private void validateMachineTemplateExists(String name,Integer machineType,Long machineId) { + private void validateMachineTemplateExists(String name, Integer machineType, Long machineId) { MachineTemplateDO machineTemplateDO = machineTemplateMapper.selectById(machineId); - if(machineTemplateDO == null){ + if (machineTemplateDO == null) { throw exception(MACHINE_TEMPLATE_NOT_EXISTS); } - MachineTemplateDO machineTemplate = machineTemplateMapper.selectMachineTemplate(name, machineType,machineId); + MachineTemplateDO machineTemplate = machineTemplateMapper.selectMachineTemplate(name, machineType, machineId); - if(machineTemplate != null){ + if (machineTemplate != null) { throw exception(MACHINETEMPLATE_NAME_ERROR); } } - - private void validateMachineTemplate(String name,Integer machineType) { + private void validateMachineTemplate(String name, Integer machineType) { MachineTemplateDO machineTemplateDO = machineTemplateMapper.selectMachineTemplateName(name, machineType); - if(machineTemplateDO != null){ + if (machineTemplateDO != null) { throw exception(MACHINETEMPLATE_NAME_ERROR); } 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 index f4a9e6b2e..00cfaa046 100644 --- 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 @@ -33,7 +33,8 @@ from system_machine_brand smb left join system_machine_template smt on smb.id = smt.brand_id - where smt.deleted = false and smb.machine_type = #{type} + where smt.deleted = false and smt.is_enabled = true and smt.is_default = true and smb.machine_type = #{type} +