From 484826b90aa8ce186812ce0688101a78adefc939 Mon Sep 17 00:00:00 2001 From: liuzhaotian Date: Fri, 21 Jun 2024 18:24:05 +0800 Subject: [PATCH 1/4] =?UTF-8?q?MyCat-SQL=E8=AF=AD=E5=8F=A5=E5=86=B2?= =?UTF-8?q?=E7=AA=81=E9=83=A8=E5=88=86=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/plan/PlanServiceImpl.java | 4 +- .../resources/mapper/order/OrderMapper.xml | 2 +- .../mapper/orderItem/OrderItemMapper.xml | 10 +-- .../mapper/orderParts/OrderPartsMapper.xml | 7 +- .../main/resources/mapper/plan/PlanMapper.xml | 4 +- .../resources/mapper/plate/PlateMapper.xml | 21 +++--- .../controller/admin/pack/PackController.java | 2 +- .../admin/pack/vo/DeleteOtherPartsReqVO.java | 6 +- .../dal/mysql/pack/OrderPackageMapper.java | 11 +++ .../dal/mysql/query/OrderItemMapper.java | 11 ++- .../dal/mysql/query/OrderPartsMapper.java | 2 +- .../manage/service/pack/PackServiceImpl.java | 54 ++++++++++---- .../dal/mysql/pack/OrderPackageMapper.xml | 6 +- .../dal/mysql/plate/OrderPlateMapper.xml | 7 +- .../mysql/process/ProductionProcessMapper.xml | 2 +- .../dal/mysql/query/OrderItemMapper.xml | 71 ++++++++++--------- .../dal/mysql/query/OrderPartsMapper.xml | 22 ++++-- 17 files changed, 151 insertions(+), 91 deletions(-) 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 c1b3902c1..38bc90321 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 @@ -444,8 +444,8 @@ public class PlanServiceImpl implements PlanService { .betweenIfPresent("a.width", new BigDecimal[]{vo.getWidthMinRang(), vo.getWidthMaxRang()}) .betweenIfPresent("a.height", new BigDecimal[]{vo.getLongMinRang(), vo.getLongMaxRang()}) .inIfPresent("a.filter_type", filterTypes) - .betweenIfPresent("f.delivery_date", new Date[]{vo.getBeginDate(), vo.getEndDate()}); - + .betweenIfPresent("f.delivery_date", new Date[]{vo.getBeginDate(), vo.getEndDate()}) + .orderByDesc("a.name"); PageDTO page = new PageDTO<>(vo.getPageNo(), vo.getPageSize()); IPage pageResult = plateMapper.selectPlateByPlanId(page, queryWrapperX); Set bodyIds = pageResult.getRecords().stream().map(PlateResList::getBodyId).collect(Collectors.toSet()); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml index b5c3bd75e..62493b34b 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml @@ -3,7 +3,7 @@ - SELECT i.order_id, p.id, p.plate_no, g.material, p.name, p.area, p.seal_left, p.seal_down, + SELECT distinct i.order_id, p.id, p.plate_no, g.material, p.name, p.area, p.seal_left, p.seal_down, p.seal_right, p.seal_up, p.texture, p.is_special_shaped, p.is_sculpt, p.unregular_point_count, p.front_hole_count, p.back_hole_count, p.side_hole_count,p.width,p.height,p.thickness,gp.name FROM order_item i @@ -27,7 +27,7 @@ - SELECT i.order_id, i.room_id, i.body_id, i.parts_id, p.`name` as part_name, i.num as plate_num + SELECT distinct i.order_id, i.room_id, i.body_id, i.parts_id, p.`name` as part_name, i.num as plate_num FROM `order_item` i RIGHT JOIN `order_parts` p ON i.parts_id = p.id WHERE i.order_id = #{orderId} AND i.organ_id = #{organId} AND p.deleted = #{deleted} @@ -171,13 +171,13 @@ from order_item oi left join order_package op on oi.order_id = op.order_id and oi.organ_id = op.organ_id - where oi.parts_id = '' and oi.organ_id = #{organId} + where oi.parts_id = 0 and oi.organ_id = #{organId} and oi.order_id in #{orderIds} - group by oi.order_id,oi.plate_id,op.id,op.package_no; + group by oi.order_id,oi.plate_id,op.id,op.package_no,op.status; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderParts/OrderPartsMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderParts/OrderPartsMapper.xml index 4a8f2154b..92d0861bd 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderParts/OrderPartsMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderParts/OrderPartsMapper.xml @@ -4,7 +4,7 @@ - SELECT a.id, + SELECT distinct + a.id, a.goods_id, a.name, a.material, @@ -45,7 +46,7 @@ - select op.id as plan_id, op.plan_no, op.type as op_type, op.status as op_status, op.machine_id, op.plan_time, op.produce_time, op.remark as op_remark, op.operator, + select distinct op.id as plan_id, op.plan_no, op.type as op_type, op.status as op_status, op.machine_id, op.plan_time, op.produce_time, op.remark as op_remark, op.operator, oi.order_id, opl.id as plateId, opl.order_id opl_order_id, opl.name opl_name, opl.plate_no, opl.type as opl_type, opl.goods_id as opl_goods_id, opl.width opl_width, opl.height opl_height, opl.thickness as opl_thickness, opl.split_width, opl.split_height, opl.split_thickness, opl.seal_left, opl.seal_right, opl.seal_up, opl.seal_down, opl.area, opl.texture, opl.hole_face, opl.hole_arrange, opl.unregular_point_count, opl.front_hole_count, @@ -111,7 +111,7 @@ resultType="com.cf.imes.module.executor.controller.admin.plan.vo.PlateOptimize" parameterType="java.lang.Long"> - select a.id, a.goods_name, a.material, a.color, a.width, a.height, a.thickness, count(b.id) as plateNum, d.* + select distinct a.id, a.goods_name, a.material, a.color, a.width, a.height, a.thickness, count(b.id) as plateNum, d.* from order_goods a left join order_plate b on a.id = b.goods_id and a.organ_id = b.organ_id left join order_item c on c.order_id = b.order_id and c.organ_id = b.organ_id diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml index 13a1fa43e..7667cfffc 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml @@ -5,7 +5,7 @@ - select a.order_id, a.plate_no , a.name as plateName,a.is_special_shaped,a.is_sculpt,a.area,a.seal_left,a.seal_right,a.seal_up,a.seal_down, e.material, e.color, a.width, a.height, a.thickness, b.room_id, b.body_id + select distinct a.order_id, a.plate_no , a.name as plateName,a.is_special_shaped,a.is_sculpt,a.area,a.seal_left,a.seal_right,a.seal_up,a.seal_down, e.material, e.color, a.width, a.height, a.thickness, b.room_id, b.body_id from order_plate a LEFT JOIN order_item b ON a.id = b.plate_id AND a.order_id = b.order_id and a.organ_id = b.organ_id LEFT JOIN order_goods e ON e.id = a.goods_id AND e.order_id = a.order_id and e.organ_id = a.organ_id @@ -40,7 +40,7 @@ - SELECT a.id, a.plate_no, a.height, a.thickness, a.width, a.name, a.area, a.seal_left, a.seal_right, + SELECT distinct a.id, a.plate_no, a.height, a.thickness, a.width, a.name, a.area, a.seal_left, a.seal_right, a.seal_up, a.seal_down, a.texture, a.hole_face, a.hole_arrange, a.unregular_point_count, a.front_hole_count, a.back_hole_count, a.side_hole_count, a.front_model_count, a.back_model_count, a.remark, c.material, c.color FROM order_plate a @@ -63,7 +63,7 @@ - select op.id, + select distinct + op.id, op.name, op.goods_id, ogs.goods_name, @@ -242,7 +243,7 @@ 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 c1b78ebca..c112aedf7 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 @@ -91,7 +91,7 @@ public class PackController { @GetMapping("/queryPackageDetails") - @Operation(summary = "查看包裹对应的板材信息") + @Operation(summary = "查询包裹的详细信息") @PreAuthorize("@ss.hasPermission('manage:query:query')") public CommonResult> queryPackageDetails(@Valid PackDetailsReqVO reqVO){ diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/DeleteOtherPartsReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/DeleteOtherPartsReqVO.java index 409aaff6c..885da7b7c 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/DeleteOtherPartsReqVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/DeleteOtherPartsReqVO.java @@ -11,8 +11,6 @@ import lombok.ToString; public class DeleteOtherPartsReqVO { - @Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED) - private Long orderId; @Schema(description = "包裹Id", requiredMode = Schema.RequiredMode.REQUIRED) private Long packageId; @@ -21,6 +19,10 @@ public class DeleteOtherPartsReqVO { private Long partsId; + @Schema(description = "是否是其他类型的配件", requiredMode = Schema.RequiredMode.REQUIRED) + private Boolean isOtherParts; + + } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java index 222e0ea6c..0e9801914 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java @@ -61,4 +61,15 @@ public interface OrderPackageMapper extends BaseMapperX { .eq(OrderPackageDO::getOrganId,organId) .eqIfPresent(OrderPackageDO::getOrderId, orderId)); } + + + default List selectPackList(Long packageId,Long organId) { + return selectList(new LambdaQueryWrapperX() + .eq(OrderPackageDO::getOrganId,organId) + .eqIfPresent(OrderPackageDO::getId, packageId)); + } + + void updatePackStatus(Long packageId); + + } 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 75a8bde94..68e36213d 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 @@ -18,7 +18,9 @@ import com.cf.imes.module.manage.dal.dataobject.query.OrderPackageDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; + import java.util.List; +import java.util.stream.Collectors; @Mapper public interface OrderItemMapper extends BaseMapperX { @@ -41,14 +43,13 @@ public interface OrderItemMapper extends BaseMapperX { - void deleteOrderPack(@Param("reqVO") PackReqVO reqVO); + void deleteOrderPack(@Param("packId") Long packId); void deleteOtherParts(@Param("partsId") Long partsId); - void deleteParts(@Param("reqVO") PackReqVO reqVO); void insertPackId(@Param("plateIdList") List plateIdList, @Param("packId") Long packId); @@ -84,4 +85,10 @@ public interface OrderItemMapper extends BaseMapperX { .eq(OrderItemDO::getOrganId, organId) .eqIfPresent(OrderItemDO::getPackageId, packId)); } + + + void deleteParts(@Param("packageId") Long packageId, @Param("partsIds") List partsIds); + + void updateParts(@Param("partsId") Long partsId,@Param("packageId") Long packageId); + } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.java index 96dc6e217..f76b23d31 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.java @@ -29,7 +29,7 @@ public interface OrderPartsMapper extends BaseMapperX { List selectOrderParts(@Param("orderNo")Long orderNo,@Param("packageNo") Long packageNo); - void deleteOrderParts(@Param("packageId") Long packageId); + void deleteOrderParts(@Param("partsIds") List partsIds); default OrderPartsNDO selectOneParts(String otherPartsName,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 ddbaffe9e..337d46310 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 @@ -215,11 +215,13 @@ public class PackServiceImpl implements PackService { // 生产明细表新增的配件ID - orderItemMapper.insertParts(reqVO.getAddPartsList(),reqVO.getPackId(),reqVO.getOrderNo()); - + if(!reqVO.getAddPartsList().isEmpty()) { + orderItemMapper.insertParts(reqVO.getAddPartsList(), reqVO.getPackId(), reqVO.getOrderNo()); + } // 生产明细表删除的配件ID - orderItemMapper.deletePartsList(reqVO.getDeletePartsList(),reqVO.getPackId(),reqVO.getOrderNo()); - + if(!reqVO.getDeletePartsList().isEmpty()) { + orderItemMapper.deletePartsList(reqVO.getDeletePartsList(), reqVO.getPackId(), reqVO.getOrderNo()); + } orderPackageDO.setStatus(OrderPackageStatusEnum.PACKAGED.getStatus()); orderPackageMapper.updateById(orderPackageDO); @@ -329,8 +331,9 @@ public class PackServiceImpl implements PackService { orderPackageDO.setRemark(packageVO.getRemark()); orderPackageMapper.insert(orderPackageDO); // 生产单明细表新增包裹 ID - orderItemMapper.insertPackId(packageVO.getAddPlateIdList(), orderPackageDO.getId()); - + if(packageVO.getAddPlateIdList()!=null) { + orderItemMapper.insertPackId(packageVO.getAddPlateIdList(), orderPackageDO.getId()); + } return typeConversion(orderPackageDO); } @@ -363,11 +366,14 @@ public class PackServiceImpl implements PackService { // 生产明细表新增包裹ID - orderItemMapper.insertPackId(packageVO.getAddPlateIdList(), packageVO.getPackId()); + if(!packageVO.getAddPlateIdList().isEmpty()) { + orderItemMapper.insertPackId(packageVO.getAddPlateIdList(), packageVO.getPackId()); + } // 移除生产明细表中板件对应的包裹ID - orderItemMapper.deletePackId(packageVO.getDeletePlateIdList(), packageVO.getPackId()); - + if(!packageVO.getDeletePlateIdList().isEmpty()) { + orderItemMapper.deletePackId(packageVO.getDeletePlateIdList(), packageVO.getPackId()); + } orderPackageDO.setStatus(OrderPackageStatusEnum.PACKAGED.getStatus()); orderPackageMapper.updateById(orderPackageDO); @@ -414,13 +420,23 @@ public class PackServiceImpl implements PackService { // 判断包裹的类型是否为其他类型,如果是,则删除其包裹信息 if (reqVO.getIsOther() == true) { - orderPartsMapper.deleteOrderParts(reqVO.getPackageId()); + List partsIds = orderItemMapper.selectPackList(reqVO.getPackageId(), getUserOrganId()) + .stream().map(m -> m.getPartsId()) + .distinct() + .collect(Collectors.toList()); + + orderPartsMapper.deleteOrderParts(partsIds); + orderPackageMapper.updateParts(reqVO.getPackageId(), reqVO.getPackageNo()); - orderItemMapper.deleteParts(reqVO); + + + orderItemMapper.deleteParts(reqVO.getPackageId(),partsIds); return; } - orderItemMapper.deleteOrderPack(reqVO); + orderPackageMapper.updateParts(reqVO.getPackageId(),reqVO.getPackageNo()); + + orderItemMapper.deleteOrderPack(reqVO.getPackageId()); } @@ -438,6 +454,8 @@ public class PackServiceImpl implements PackService { // 配件表新增数据 OrderPartsNDO orderParts = BeanUtils.toBean(reqVO, OrderPartsNDO.class); + // 因为是外部配件,所以配件类型的名称固定为 “ 外部配件” + orderParts.setType("外部配件"); orderPartsMapper.insert(orderParts); @@ -485,6 +503,8 @@ public class PackServiceImpl implements PackService { // 配件表新增数据 OrderPartsNDO orderParts = BeanUtils.toBean(reqVO, OrderPartsNDO.class); + // 因为是外部配件,所以配件类型的名称固定为 “ 外部配件” + orderParts.setType("外部配件"); orderPartsMapper.insert(orderParts); // 在生产单明细表中添加数据(生产单号,配件ID,包裹ID,部件数量(目前一直为1)) @@ -512,10 +532,14 @@ public class PackServiceImpl implements PackService { @Transactional(rollbackFor = Exception.class) public void deleteOtherParts(DeleteOtherPartsReqVO reqVO) { - // 更新配件表中配件为逻辑删除 - orderPartsMapper.updateParts(reqVO.getPartsId()); - orderItemMapper.deleteOtherParts(reqVO.getPartsId()); + if(reqVO.getIsOtherParts()) { + // 更新配件表中配件为逻辑删除 + orderPartsMapper.updateParts(reqVO.getPartsId()); + orderItemMapper.deleteOtherParts(reqVO.getPartsId()); + } + + orderItemMapper.updateParts(reqVO.getPartsId(),reqVO.getPackageId()); } 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 b8824a7d5..e4d4bbd65 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 @@ -14,7 +14,7 @@ resultMap="PackMap"> - select + select DISTINCT count(DISTINCT oi.package_id ) as numberOfPackages, count(DISTINCT oi.plate_id) as packagedBoard @@ -55,7 +55,7 @@ parameterType="java.lang.Long" resultMap="PlateDetailsMap"> - select + select DISTINCT ob.room_name as roomName, ob.name as bodyName, op.id as palteId, @@ -84,7 +84,7 @@ oi.organ_id = #{organId} and op.id not in ( - select oi2.plate_id + select DISTINCT oi2.plate_id from order_item oi2 where oi2.order_id = #{orderNo} and oi2.package_id <> ''); 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 cb871055c..25338006f 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 @@ -31,7 +31,7 @@ parameterType="com.cf.imes.module.manage.controller.admin.patching.vo.PatchingPlatePageReqVO"> - select + select DISTINCT o.id as orderId, ob.name as cabinetName, op.id as plateNo, @@ -93,7 +93,7 @@ - select ob.room_name - from order_item oi - join order_body ob on oi.body_id = ob.id - where oi.plate_id = #{plateId}; +-- select ob.room_name +-- from order_item oi +-- join order_body ob on oi.body_id = ob.id +-- where oi.plate_id = #{plateId}; @@ -331,17 +336,17 @@ diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.xml index cb37adb4a..a6f0cb110 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.xml @@ -60,11 +60,15 @@ parameterType="java.lang.Long" resultMap="PartsListMap"> - select - id as partsId,name,model,spec,count(name) as num,unit,brand,factory,remark - from order_parts where order_id = #{orderId} and organ_id = #{organId} - group by partsId,name,model,spec,unit,brand,factory,remark; + select distinct + op.id as partsId,op.name,op.model,op.spec,count(op.name) as num,op.unit,op.brand,op.factory,op.remark + from order_parts op + join order_item oi on op.id = oi.parts_id and op.organ_id = oi.organ_id + + where op.order_id = #{orderId} and oi.package_id = 0 + + group by partsId,op.name,op.model,op.spec,op.unit,op.brand,op.factory,op.remark; @@ -77,7 +81,7 @@ resultMap="PartsListMap"> - select + select distinct op.id as partsId, op.name as name, op.model as model , @@ -103,8 +107,12 @@ - update order_parts op set op.deleted = true where op.id in ( - select oi.parts_id from order_item oi where package_id =#{packageId}); + + update order_parts op set op.deleted = true where op.id in + + + #{id} + From a14d1594e8bd4828c12451bb911193773f7e55c9 Mon Sep 17 00:00:00 2001 From: lym <1994302445@qq.com> Date: Sat, 22 Jun 2024 09:15:02 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=B7=A5=E5=BA=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/vo/order/OrderPlatesDetailReqVO.java | 4 ++++ .../order/vo/order/OrderPlatesDetailRespVO.java | 3 +++ .../dal/mysql/orderParts/OrderPartsMapper.java | 2 +- .../executor/dal/mysql/plate/PlateMapper.java | 2 +- .../service/order/OrderServiceImpl.java | 2 ++ .../admin/api/webcad/ApiDataAchieve.java | 17 ++++++++++------- .../admin/api/webcad/ApiTypeRealize.java | 16 +++++++++------- .../mapper/orderItem/OrderItemMapper.xml | 4 ++-- .../mapper/orderParts/OrderPartsMapper.xml | 5 ++++- .../main/resources/mapper/plate/PlateMapper.xml | 6 +++++- 10 files changed, 41 insertions(+), 20 deletions(-) diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPlatesDetailReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPlatesDetailReqVO.java index c8eeedd9f..2a88b3ff4 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPlatesDetailReqVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPlatesDetailReqVO.java @@ -67,4 +67,8 @@ public class OrderPlatesDetailReqVO { @ExcelProperty("备注") private String remark; + @Schema(description = "颜色", requiredMode = Schema.RequiredMode.REQUIRED, example = "你说的对") + @ExcelProperty("颜色") + private String color; + } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPlatesDetailRespVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPlatesDetailRespVO.java index 26158e99e..ef37c2803 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPlatesDetailRespVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPlatesDetailRespVO.java @@ -24,6 +24,9 @@ public class OrderPlatesDetailRespVO { @Schema(description = "配件名称", requiredMode = Schema.RequiredMode.REQUIRED) private String partName; + @Schema(description = "配件单位", requiredMode = Schema.RequiredMode.REQUIRED) + private String unit; + @Schema(description = "柜体中的配件数量", requiredMode = Schema.RequiredMode.REQUIRED) private Double plateNum; } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderParts/OrderPartsMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderParts/OrderPartsMapper.java index 9366adad5..e35d47934 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderParts/OrderPartsMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderParts/OrderPartsMapper.java @@ -84,7 +84,7 @@ public interface OrderPartsMapper extends BaseMapperX { return update(wrapper); } - void updateDeletedById(@Param("bodyId") List bodyIds, @Param("deleted") Integer deleted, @Param("organId") Long organId); + void updateDeletedById(@Param("partsIds") List partsIds, @Param("deleted") Integer deleted, @Param("organId") Long organId); List selectPartList( @Param("orderIds") List orderIds,@Param("organId") Long organId); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plate/PlateMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plate/PlateMapper.java index 664c588ee..9b9aa733e 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plate/PlateMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plate/PlateMapper.java @@ -106,7 +106,7 @@ public interface PlateMapper extends BaseMapperX { return update(wrapper); } - void updateDeletedById(@Param("bodyIds") List bodyId, @Param("deleted") Integer deleted, @Param("organId") Long organId); + void updateDeletedById(@Param("plateIds") List plateIds, @Param("deleted") Integer deleted, @Param("organId") Long organId); int countPlateByOrderId(@Param("orderId") Long orderId, @Param("organId") Long organId, @Param("deleted") Integer deleted); 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 978e9e4a3..9fb2e33cd 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 @@ -325,8 +325,10 @@ public class OrderServiceImpl implements OrderService { // 先查再改 List plateDOList = plateMapper.selectPlateIdListByBodyId(bodyId, SecurityFrameworkUtils.getLoginUser().getOrganId()); + System.out.println(" plateDOList " + plateDOList); plateMapper.updateDeletedById(plateDOList, OrderDeletedEnum.DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId()); List partsList = orderPartsMapper.selectPartsIdListByBodyId(bodyId, SecurityFrameworkUtils.getLoginUser().getOrganId()); + System.out.println(" partsList " + partsList); orderPartsMapper.updateDeletedById(partsList, OrderDeletedEnum.DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId()); }); } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiDataAchieve.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiDataAchieve.java index cb6fdd9f0..1c67d9cf7 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiDataAchieve.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiDataAchieve.java @@ -3,6 +3,7 @@ package com.cf.imes.module.executor.util.fileConversion.admin.api.webcad; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.cf.imes.module.executor.enums.ErrorCodeConstants; import com.cf.imes.module.system.api.application.ApplicationApi; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Async; @@ -46,12 +47,13 @@ public class ApiDataAchieve { } // 获取板件生产数据信息 - @Async +// @Async public Future getApiPlateProData(String token, String orderNo) { JSONObject jsonPlatesData = new JSONObject(); jsonPlatesData.put("order_no", orderNo);//生产单号需要传入赋值 jsonPlatesData.put("format", "json"); JSONObject dataPlates = apiDataProduction.getApiOrderMessage(token, jsonPlatesData); + System.out.println(" dataPlates " + dataPlates); if (!dataPlates.getString("err_code").equals("0")) { throw exception(PLATE_PLAN_DATA_ERROR); } @@ -59,7 +61,7 @@ public class ApiDataAchieve { } // 获取配件信息 分页获取 - @Async +// @Async public Future getApiPartsMessage(String token, String orderNo) { JSONObject jsonParts = new JSONObject(); jsonParts.put("curr_page", 1); @@ -79,7 +81,7 @@ public class ApiDataAchieve { } // 柜体信息转换 - @Async +// @Async public Future getApiBodyMessage(String token, String orderNo) { JSONObject jsonBody = new JSONObject(); jsonBody.put("curr_page", 1); @@ -99,7 +101,7 @@ public class ApiDataAchieve { } // 商品信息转换 - @Async +// @Async public Future getApiGoodsMessage(String token, String orderNo) { JSONObject jsonGoods = new JSONObject(); jsonGoods.put("curr_page", 1); @@ -119,7 +121,7 @@ public class ApiDataAchieve { } // 板材明细信息转换 - @Async +// @Async public Future getApiPlateDetailMessage(String token, String orderNo) { JSONObject jsonPlates = new JSONObject(); jsonPlates.put("curr_page", 1); @@ -139,7 +141,7 @@ public class ApiDataAchieve { } // 加工组信息转换 - @Async +// @Async public Future getApiGroupMessage(String token, String orderNo) { JSONObject jsonModule = new JSONObject(); jsonModule.put("order_no", orderNo); @@ -156,7 +158,8 @@ public class ApiDataAchieve { jsonBlocks.put("order_no", orderNo); JSONObject blocks = apiDataProduction.getApiBlocksMessage(token, jsonBlocks); if (!blocks.getString("err_code").equals("0")) { - throw exception(PLATE_DATA_ERROR); + throw new IllegalArgumentException(String.valueOf(ErrorCodeConstants.PLATE_DATA_ERROR)); +// throw exception(PLATE_DATA_ERROR); } JSONObject block = new JSONObject(); for (int i = 1; i <= blocks.getJSONObject("value").getInteger("PageCount"); i++) { diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiTypeRealize.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiTypeRealize.java index 13d57c962..75d36be0a 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiTypeRealize.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiTypeRealize.java @@ -149,7 +149,10 @@ public class ApiTypeRealize { groupLists.forEach((k, v) -> { v.forEach(v1 -> { if (items.get(v1) != null) { - if (items.get(v1).getGroupId() != null){ // 已存在值 + + if (items.containsKey(v1) && (items.get(v1).getGroupId() == null || items.get(v1).getGroupId() == 0)) { + items.get(v1).setGroupId(orderGroupDO.get(k).getId()); + } else { // 如果groupId已存在值(即不为null),则创建一个新的OrderItemDO对象 OrderItemDO item = OrderItemDO.builder() .id((Long) identifierGenerator.nextId(null)) .orderId(items.get(v1).getOrderId()) @@ -158,14 +161,14 @@ public class ApiTypeRealize { .bodyId(items.get(v1).getBodyId()) .planId(items.get(v1).getPlanId()) .packageId(items.get(v1).getPackageId()) - .groupId(items.get(v1).getGroupId()) + .groupId(orderGroupDO.get(k).getId()) .partsId(items.get(v1).getPartsId()) .plateId(items.get(v1).getPlateId()) .num(items.get(v1).getNum()) .build(); items.put(orderGroupDO.get(k).getId(), item); //再复查 } - items.get(v1).setGroupId(orderGroupDO.get(k).getId()); + if (items.get(v1).getPlateId() != null) groupNum++; } @@ -174,7 +177,7 @@ public class ApiTypeRealize { groupNum = 0; }); - System.out.println(" item " + items); + System.err.println(" item " + items); return items; } @@ -543,7 +546,7 @@ public class ApiTypeRealize { .isSculpt(plate.getBoolean("IsModel")) .isSpecialShaped(plate.getBoolean("UnRegular")) .isCancel(false) - .remark("无") + .remark(plate.getString("RemarkJson")) .build(); // item 明细 @@ -569,8 +572,7 @@ public class ApiTypeRealize { .setDrillsRemark(plate.getString("DrillsRemark")) .setInfoRemark(plate.getString("InfoRemark")) .setRemarkJsonDei(plate.getString("RemarkJson")); - plateInfo.setRemark(plateDetail.get(plate.getLong("BlockNo")).getRemark() != null ? - plateDetail.get(plate.getLong("BlockNo")).getRemark().toString() : ""); + } if (plateMap.get(plate.getLong("BlockNo")) != null) { JSONObject jsonObject = plateMap.get(plate.getLong("BlockNo")); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderItem/OrderItemMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderItem/OrderItemMapper.xml index 6e6767661..148254da4 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderItem/OrderItemMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderItem/OrderItemMapper.xml @@ -6,7 +6,7 @@ - SELECT DISTINCT i.order_id, i.room_id, i.body_id, i.parts_id, p.`name` as part_name, i.num as plate_num + SELECT DISTINCT i.order_id, i.room_id, i.body_id, i.parts_id, p.`name` as part_name, i.num as plate_num, p.unit FROM `order_item` i RIGHT JOIN `order_parts` p ON i.parts_id = p.id WHERE i.order_id = #{orderId} AND i.organ_id = #{organId} AND p.deleted = #{deleted} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderParts/OrderPartsMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderParts/OrderPartsMapper.xml index b5f60056d..f4b957088 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderParts/OrderPartsMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderParts/OrderPartsMapper.xml @@ -68,7 +68,10 @@ UPDATE order_parts SET deleted = #{deleted} - WHERE id IN #{bodyIds} AND organ_id = #{organId} + WHERE id IN + + #{partsId} + AND organ_id = #{organId} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml index 8ba3c9019..7e98fb65c 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml @@ -270,7 +270,11 @@ UPDATE order_plate SET deleted = #{deleted} - WHERE id IN #{bodyIds} AND organ_id = #{organId} + WHERE id IN + + #{plateId} + + AND organ_id = #{organId}