diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/PlanController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/PlanController.java index f449cd7cc..778b8fd13 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/PlanController.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/PlanController.java @@ -112,6 +112,16 @@ public class PlanController { return success(planService.getOrderPage(pageReqVO)); } + + @GetMapping("getNotPlanGoodsListPage") + @Operation(summary = "获取未排单的大板板材分页列表") + @PreAuthorize("@ss.hasPermission('placeorder:query')") + public CommonResult> getOrderGoodsPage(@Valid OrderPageReqVOCopy pageReqVO) { + return success(planService.getOrderGoodsPage(pageReqVO)); + } + + + @GetMapping("getNotPlanPlateListPage") @Operation(summary = "获取未排单的板材分页列表") @PreAuthorize("@ss.hasPermission('executor:plan:query')") diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/bo/GoodsIds.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/bo/OrderIds.java similarity index 68% rename from cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/bo/GoodsIds.java rename to cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/bo/OrderIds.java index 734968c1b..7057f6fcd 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/bo/GoodsIds.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/bo/OrderIds.java @@ -3,23 +3,26 @@ package com.cf.imes.module.executor.controller.admin.plan.bo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import lombok.Builder; + @Data - -public class GoodsIds { +@Builder +public class OrderIds { @Schema(description = "大板ID") private Long id; + @Schema(description = "生产单ID") private Long orderId; - @Schema(description = "板材库的大板ID") + + @Schema(description = "商品ID") private Long goodsId; - @Schema(description = "余料板ID") - private Long remainId; + } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/bo/OrderSource.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/bo/OrderSource.java index dd036d6d4..6e2b665fa 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/bo/OrderSource.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/bo/OrderSource.java @@ -43,9 +43,6 @@ public class OrderSource { private PlanDO plan; - @Schema(description = "大板ID列表") - private List goodsIdList; - @Schema(description = "生产单列表") private List orderList; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderGoodsResp.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderGoodsResp.java new file mode 100644 index 000000000..6655a5902 --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderGoodsResp.java @@ -0,0 +1,47 @@ +package com.cf.imes.module.executor.controller.admin.plan.vo; + + +import com.cf.imes.module.executor.controller.admin.plan.bo.OrderIds; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.util.List; + + + +@Data +public class OrderGoodsResp { + + + @Schema(description = "生产单id") + private List orderIds; + @Schema(description = "商品id") + private Long goodsId; + @Schema(description = "商品名称") + private String goodsName; + @Schema(description = "商品材质") + private String material; + @Schema(description = "商品颜色") + private String color; + @Schema(description = "宽") + private BigDecimal width; + @Schema(description = "高") + private BigDecimal height; + @Schema(description = "厚") + private BigDecimal thickness; + @Schema(description = "面积") + private BigDecimal area; + + @Schema(description = "板件数量") + private Long num; + + + @Schema(description = "订单对应的板件的信息") + private List orderList; + + + +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderRespVOCopy.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderRespVOCopy.java index 5da877aea..ef8d6c9e5 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderRespVOCopy.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderRespVOCopy.java @@ -43,8 +43,8 @@ public class OrderRespVOCopy { private int num; @Schema(description = "平方") private BigDecimal area = new BigDecimal("0"); -// @Schema(description = "商品id") -// private String goodsId; + @Schema(description = "商品id") + private Long goodsId; // @Schema(description = "商品名称") // private String goodsName; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java index 354e9ecbb..550d5928b 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java @@ -9,6 +9,7 @@ import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderPageReqVO; +import com.cf.imes.module.executor.controller.admin.plan.bo.OrderIds; import com.cf.imes.module.executor.controller.admin.plan.vo.OrderRespVOCopy; import com.cf.imes.module.executor.dal.dataobject.order.OrderDO; import org.apache.ibatis.annotations.Mapper; @@ -122,4 +123,7 @@ public interface OrderMapper extends BaseMapperX { .eq(OrderDO::getId, id) .eq(OrderDO::getOrganId, organId)); } + + + List selectOrderListByIds(@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 e45e17248..b30373190 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 @@ -7,11 +7,13 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import com.cf.imes.framework.common.exception.ServiceException; import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.common.util.object.BeanUtils; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; +import com.cf.imes.module.executor.controller.admin.plan.bo.OrderIds; import com.cf.imes.module.executor.controller.admin.plan.vo.*; import com.cf.imes.module.executor.dal.dataobject.orderGroup.OrderGroupDO; import com.cf.imes.module.executor.dal.dataobject.orderParts.OrderPartsDO; @@ -123,4 +125,13 @@ public interface PlateMapper extends BaseMapperX { List selectGoodsPage( @Param("orderIds") List orderIds, @Param("organId") Long organId); + + + IPage selectGoodsList(@Param("page") IPage page,@Param("pageReqVO") OrderPageReqVOCopy pageReqVO,@Param("organId") Long organId); + + + List selectOrderIds(@Param("pageReqVO") OrderPageReqVOCopy pageReqVO,@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/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 0a8ed8a91..cc2eb16a0 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 @@ -71,4 +71,7 @@ public interface PlanService { Boolean setSort(List list); List getPlateList(List planIds); + + PageResult getOrderGoodsPage(OrderPageReqVOCopy pageReqVO); + } \ 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 82fb6c1ec..1413c545d 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 @@ -15,6 +15,8 @@ import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.framework.mybatis.core.query.MPJLambdaWrapperX; import com.cf.imes.framework.mybatis.core.query.QueryWrapperX; import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderRespVO; +import com.cf.imes.module.executor.controller.admin.plan.bo.OrderIds; +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; @@ -115,18 +117,6 @@ public class PlanServiceImpl implements PlanService { orderMapper.updateBatch(orderDOS); Long planId = plan.getId(); - /* List orderIds = createReqVO.getOrderIds(); - if (CollectionUtil.isNotEmpty(orderIds)) { - ArrayList planOrderDOS = new ArrayList<>(); - for (Long orderId : orderIds) { - planOrderDOS.add(PlanOrderDO.builder() - .planId(planId) - .orderId(orderId) - .build()); - } - planOrderMapper.insertBatch(planOrderDOS); - }*/ - //List plateIds = createReqVO.getPlateIds(); Set itemIds = plateMapper.selectBatchOrderIdsAndGoodsIds(itemList,getUserOrganId()); @@ -334,6 +324,7 @@ public class PlanServiceImpl implements PlanService { .eqIfPresent("a.custom_order_no", pageReqVO.getDefaultId()) .eqIfPresent("a.address", pageReqVO.getConsigneeAddress()) .betweenIfPresent("a.create_time", pageReqVO.getCreateTime()) + .eqIfPresent("op.is_special_shaped", pageReqVO.getRectangle() != null ? false: null) .eqIfPresent("op.is_special_shaped", pageReqVO.getSpecialShaped()) .eqIfPresent("op.is_sculpt", pageReqVO.getSculpt()) .eqIfPresent("op.is_door", pageReqVO.getIsDoor()) @@ -384,9 +375,8 @@ public class PlanServiceImpl implements PlanService { // 处理后的 filteredRecords 将不包含过滤后的数据为空的 record orderRespVOCopies.setRecords(filteredRecords); - orderRespVOCopies.setTotal(filteredRecords.size()); - + orderRespVOCopies.setTotal(orderRespVOCopies.getRecords().size()); return new PageResult<>(orderRespVOCopies.getRecords(), orderRespVOCopies.getTotal()); @@ -551,4 +541,51 @@ public class PlanServiceImpl implements PlanService { } + + + @Override + public PageResult getOrderGoodsPage(OrderPageReqVOCopy pageReqVO) { + + + PageDTO page = new PageDTO<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + + + List filterTypes = new ArrayList<>(); + if (Objects.nonNull(pageReqVO.getHoleThrough()) && pageReqVO.getHoleThrough()) { + filterTypes.add(PlanFilterTypeEnum.DIGGINGTHROUGHTHESHAPE.getType()); + } + if (Objects.nonNull(pageReqVO.getBurrow()) && pageReqVO.getBurrow()) { + filterTypes.add(PlanFilterTypeEnum.THEREAREPERFORATEDHOLES.getType()); + } + if (Objects.nonNull(pageReqVO.getTwoDimensionalToolPath()) && pageReqVO.getTwoDimensionalToolPath()) { + filterTypes.add(PlanFilterTypeEnum.TWODIMENSIONALCUTTINGPATH.getType()); + } + + + + IPage orderGoodsRespIPage = plateMapper.selectGoodsList(page,pageReqVO,getUserOrganId()); + + + if (CollectionUtil.isEmpty(orderGoodsRespIPage.getRecords())) { + return new PageResult<>(); + } + + + List orderIds = plateMapper.selectOrderIds(pageReqVO,getUserOrganId()); + + + + List orderRespVOCopies = orderMapper.selectOrderListByIds(orderIds, getUserOrganId()); + + + for (OrderGoodsResp record : orderGoodsRespIPage.getRecords()) { + record.setOrderIds(orderIds.stream().filter(e -> Objects.equals(e.getGoodsId(), record.getGoodsId())).collect(Collectors.toList())); + record.setOrderList(orderRespVOCopies.stream().filter(e -> Objects.equals(e.getGoodsId(), record.getGoodsId())).collect(Collectors.toList())); + } + + + return new PageResult<>(orderGoodsRespIPage.getRecords(), orderGoodsRespIPage.getTotal()); + + } + } \ No newline at end of file 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 98f3fdbcf..da13ce838 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 @@ -20,4 +20,52 @@ + + + + + + + \ No newline at end of file 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 953db9838..11416fe1a 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 @@ -365,4 +365,149 @@ + + + + + + + + + + + + + + + + + + + + + \ 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/vo/PackPageReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackPageReqVO.java index 3e84d5923..9c3084f3c 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackPageReqVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackPageReqVO.java @@ -25,6 +25,8 @@ public class PackPageReqVO extends PageParam { @Schema(description = "自定义单号") private String customOrderNo; + @Schema(description = "经销商") + private String dealer; @Schema(description = "客户") private String customer; 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 8d90c00b8..43f48d355 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 @@ -36,7 +36,7 @@ public interface OrderPackageMapper extends BaseMapperX { - List selectPackPage(@Param("orderIds") List orderIds); + List selectPackPage(@Param("orderIds") List orderIds,@Param("organId") Long organId); IPage selectMissingBoard( @Param("page") IPage page, @Param("orderNo") Long orderNo, @Param("organId") Long organId); @@ -72,4 +72,5 @@ public interface OrderPackageMapper extends BaseMapperX { void updatePackStatus(Long packageId); + List selectPackPieceCount(@Param("orderIds") List orderIds, @Param("organId") 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 d090ca0ca..c6ff74db6 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 @@ -83,14 +83,18 @@ public class PackServiceImpl implements PackService { // 查询打包首页分页数据信息,总的板件数量信息 IPage packRespVOS = productionStatusMapper.selectOrderPlate(page,orderIds,getUserOrganId()); - List respVOS = orderPackageMapper.selectPackPage(orderIds); + // 查询当前生产的包裹数量 + List respVOS = orderPackageMapper.selectPackPage(orderIds,getUserOrganId()); + + // 查询当前生产单已经打包的板材数量 + List plateNum = orderPackageMapper.selectPackPieceCount(orderIds, getUserOrganId()); for (PackRespVO record : packRespVOS.getRecords()) { // 已打包数 record.setPackCount(respVOS.stream().filter(f -> Objects.equals(f.getId(), record.getId())).mapToLong(PackRespVO::getPackCount).sum()); // 已打包片数 - record.setPackPieceCount(respVOS.stream().filter(f -> Objects.equals(f.getId(), record.getId())).mapToLong(PackRespVO::getPackPieceCount).sum()); + record.setPackPieceCount(plateNum.stream().filter(f -> Objects.equals(f.getId(), record.getId())).mapToLong(PackRespVO::getPackPieceCount).sum()); // 待处理量 record.setPendingNum(record.getTotalPieceCount() - record.getPackPieceCount()); } 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 b3a43bcdd..b2f194543 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 @@ -17,15 +17,15 @@ select op.order_id as id, - count(distinct op.id) as packCount , - count(distinct oi.plate_id) as packPieceCount + count(distinct op.id) as packCount from order_package op - join order_item oi on op.order_id = oi.order_id and op.organ_id = oi.organ_id - where op.status <> 0 - and oi.package_id != 0 - and oi.plate_id != 0 - and op.order_id in + join order_item oi on op.id = oi.package_id and op.organ_id = oi.organ_id + where + op.status <> 0 + and oi.package_id != 0 + and op.organ_id = #{organId} + and op.order_id in #{id} @@ -34,6 +34,32 @@ + + diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/ProductionStatusMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/ProductionStatusMapper.xml index f542fd39b..e1d3f14e0 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/ProductionStatusMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/ProductionStatusMapper.xml @@ -85,9 +85,7 @@ o.organ_id = #{organId} and oi.plate_id != 0 and o.id in - #{id} - group by orderNo,customOrderNo,dealer,createTime,deliveryDate,customer,phoneNumber,address,salesman,splitter,status @@ -169,6 +167,10 @@ and address like concat('%', #{pageReqVO.address},'%') + + and dealer like concat('%', #{pageReqVO.dealer},'%') + +