diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/prePack/PrePackData.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/prePack/PrePackData.java deleted file mode 100644 index 693848a4b..000000000 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/prePack/PrePackData.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.cf.imes.module.executor.controller.admin.manage.pack.prePack; - - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.ToString; - -@Schema(description = "预打包的优化结构") -@Data -@ToString(callSuper = true) -public class PrePackData { - - - @Schema(description = "包裹编号") - private String name; - - - @Schema(description = "点的位置信息") - private Double pointX; - private Double pointY; - - @Schema(description = "板材编号") - private String plateNo; - - @Schema(description = "板材宽度") - private Long plateWidth; - - @Schema(description = "板材高度") - private Long plateHeight; - - - - -} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java index 3c6212490..dec623a99 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java @@ -35,6 +35,7 @@ import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.XmlTypeRe import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.slf4j.Slf4j; import org.springframework.security.access.prepost.PreAuthorize; @@ -576,4 +577,18 @@ public class OrderController { return success(orderService.getOrderNear(pageParam)); } + + + + + @GetMapping("/getAllData") + @Operation(summary = "获取生产单的所有数据") + public CommonResult getOrderAllData(@Schema(description = "生产单id") @RequestParam(required = false) Long orderId, + @Schema(description = "排单id") @RequestParam(required = false) Long planId) { + + return CommonResult.success(orderService.getOrderAllData(orderId,planId)); + } + + + } \ 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/controller/admin/order/vo/order/LabelOrderData.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/LabelOrderData.java new file mode 100644 index 000000000..58aa90dc8 --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/LabelOrderData.java @@ -0,0 +1,59 @@ +package com.cf.imes.module.executor.controller.admin.order.vo.order; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; + +@Schema(description = "标签对应的订单单头数据源信息") +@Data +public class LabelOrderData { + + + @Schema(description = "订单号") + private Long orderNo; + + + @Schema(description = "自定义单号") + private String customOrderNo; + + + @Schema(description = "客户") + private String customer; + + + @Schema(description = "客户地址") + private String address; + + + @Schema(description = "客户电话") + private String phoneNumber; + + + @Schema(description = "经销商") + private String dealer; + + + @Schema(description = "经销商电话") + private String dealerPhoneNumber; + + + @Schema(description = "业务员") + private String salesman; + + + @Schema(description = "拆单员") + private String splitter; + + + @Schema(description = "生产单日期") + private LocalDateTime orderDate; + + + @Schema(description = "交付日期") + private LocalDateTime deliveryDate; + + + +} 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/LabelOrderPackData.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/LabelOrderPackData.java new file mode 100644 index 000000000..0dabfa488 --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/LabelOrderPackData.java @@ -0,0 +1,30 @@ +package com.cf.imes.module.executor.controller.admin.order.vo.order; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + + +@Schema(description = "标签对应的订单包裹数据源信息") +@Data +public class LabelOrderPackData { + + + @Schema(description = "生产单id") + private Long orderNo; + + + @Schema(description = "包裹号-包裹编号") + private List packageNo; + + + @Schema(description = "包裹ID") + private List packageId; + + + @Schema(description = "包裹数量") + private Integer packNum; + + +} 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/LabelOrderPartsData.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/LabelOrderPartsData.java new file mode 100644 index 000000000..e1cc3e274 --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/LabelOrderPartsData.java @@ -0,0 +1,49 @@ +package com.cf.imes.module.executor.controller.admin.order.vo.order; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "标签对应的五金包裹数据源信息") +@Data +public class LabelOrderPartsData { + + + @Schema(description = "配件ID") + private Long partsId; + + + @Schema(description = "生产单号") + private Long orderNo; + + + @Schema(description = "名称") + private String partsName; + + + @Schema(description = "型号") + private String model; + + + @Schema(description = "厂家") + private String factory; + + + @Schema(description = "品牌") + private String brand; + + + @Schema(description = "规格") + private String spec; + + + @Schema(description = "数量") + private String count; + + + @Schema(description = "配件单位") + private String partsUnit; + + + +} 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/LabelOrderPlateData.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/LabelOrderPlateData.java new file mode 100644 index 000000000..3de3a74e6 --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/LabelOrderPlateData.java @@ -0,0 +1,124 @@ +package com.cf.imes.module.executor.controller.admin.order.vo.order; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Schema(description = "标签对应的板材包裹数据源信息") +@Data +public class LabelOrderPlateData { + + + @Schema(description = "板件ID") + private Long plateId; + + + @Schema(description = "房间ID") + private Long roomGroupNo; + + + @Schema(description = "房间名称") + private String roomName; + + + @Schema(description = "柜体ID") + private Long bodyGroupNo; + + + @Schema(description = "柜体名称") + private String bodyName; + + + @Schema(description = "生产单号") + private Long orderId; + + + @Schema(description = "板编号") + private String plateNo; + + + @Schema(description = "自定义板编号") + private String customPlateNo; + + + @Schema(description = "板名称") + private String plateName; + + + @Schema(description = "板颜色") + private String plateColor; + + + @Schema(description = "板材质") + private String plateMaterial; + + + @Schema(description = "板长") + private Double plateLength; + + + @Schema(description = "板宽") + private Double plateWidth; + + + @Schema(description = "板厚") + private Double plateThickness; + + + @Schema(description = "拆单宽度") + private BigDecimal splitWidth; + + + @Schema(description = "拆单高度") + private BigDecimal splitHeight; + + + @Schema(description = "拆单厚度") + private BigDecimal splitThickness; + + + @Schema(description = "左封边厚度") + private BigDecimal sealLeft; + + + @Schema(description = "右封边厚度") + private BigDecimal sealRight; + + + @Schema(description = "上封边厚度") + private BigDecimal sealUp; + + + @Schema(description = "下封边厚度") + private BigDecimal sealDown; + + + @Schema(description = "备注") + private String plateRemark; + + + @Schema(description = "自定义单号") + private String customOrderNo; + + + @Schema(description = "生产单日期") + private LocalDateTime orderDate; + + + @Schema(description = "交付日期") + private LocalDateTime deliveryDate; + + + @Schema(description = "包裹号") + private Long packageNo; + + + @Schema(description = "包序号") + private String packageSerialNo; + + + +} 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/OrderAllData.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderAllData.java new file mode 100644 index 000000000..de29d7eda --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderAllData.java @@ -0,0 +1,45 @@ +package com.cf.imes.module.executor.controller.admin.order.vo.order; + + +import com.cf.imes.module.executor.dal.dataobject.ordermodel.OrderModelDO; +import com.cf.imes.module.executor.dal.dataobject.plan.PlanDO; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class OrderAllData { + + + @Schema(description = "排单数据") + private PlanDO plan; + + + @Schema(description = "生产单信息") + private List orderList; + + + @Schema(description = "小板信息") + private List plateDataList; + + + @Schema(description = "小板造型列表") + private List plateModels; + + + @Schema(description = "配件信息") + private List partsDataList; + + + @Schema(description = "包裹信息") + private List packDataList; + + +} 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 aed43ce7d..c5b1fcdd8 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 @@ -33,12 +33,15 @@ public class OrderSource { @Schema(description = "优化后的大板数据") private List optimizeBoardModelDOS; - @Schema(description = "优化后的余料板数据", requiredMode = Schema.RequiredMode.REQUIRED) + + @Schema(description = "优化后的余料板数据") private List optimizeRemainPlates; + @Schema(description = "机台数据") private MachineDTO machineDTO; + @Schema(description = "排单数据") private PlanDO plan; @@ -50,9 +53,11 @@ public class OrderSource { @Schema(description = "大板板材列表-原板材的信息数据") private List goodsList; + @Schema(description = "小板列表") private List plateList; + @Schema(description = "小板造型列表") private List plateModels; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/NotPlanGoodsReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/NotPlanGoodsReqVO.java deleted file mode 100644 index 9f3906be0..000000000 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/NotPlanGoodsReqVO.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.cf.imes.module.executor.controller.admin.plan.saveOptimize; - - -import com.cf.imes.module.executor.controller.admin.plan.bo.OrderIds; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.ToString; - -import javax.validation.Valid; -import java.util.List; - -@Schema(description = "管理后台 - 未排单的大板的数据信息") -@Data -@ToString(callSuper = true) -public class NotPlanGoodsReqVO { - - -// @Schema(description = "生产单ids") -// private List orderIds; -// -// @Schema(description = "生产单的大板ids") -// private List goodsIds; -// -// -// @Schema(description = "板材库对应的大板ids") -// private List plateGoodsIds; - - - @Schema(description = "生产单和大板的信息") - private List orderIdList; - - - @Schema(description = "排单类型:1 混单排单,2 生产单排单", requiredMode = Schema.RequiredMode.REQUIRED) - private Integer type; - - - @Schema(description = "混单过滤条件") - private List filter; - - - @Valid - @Data - public static class Information { - - @Schema(description = "材质") - private Boolean material; - - @Schema(description = "颜色") - private Boolean color; - - @Schema(description = "长*宽") - private Boolean spec; - - } - - -} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/NotPlanGoodsRespVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/NotPlanGoodsRespVO.java deleted file mode 100644 index a37705b47..000000000 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/NotPlanGoodsRespVO.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.cf.imes.module.executor.controller.admin.plan.saveOptimize; - - -import com.cf.imes.module.executor.controller.admin.plan.bo.OrderIds; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.ToString; - -import java.math.BigDecimal; -import java.util.List; - - -@Data -@ToString(callSuper = true) -public class NotPlanGoodsRespVO { - - -// @Schema(description = "生产单ids") -// private List orderIds; -// -// -// @Schema(description = "生产单的大板ids") -// private List goodsIds; -// -// -// @Schema(description = "板材库对应的大板ids") -// private List plateGoodsIds; - - - @Schema(description = "生产单和大板的信息") - private List orderIdList; - - - -// @Schema(description = "余料板ID") -// private List remainPlateIds; - - - @Schema(description = "商品ID-板材库对应的大板ID") - private String goodsId; - - - @Schema(description = "商品名称") - private String goodsName; - - - @Schema(description = "商品材质") - private String material; - - - @Schema(description = "商品颜色") - private String color; - - - @Schema(description = "商品纹路") - private Boolean texture; - - -// @Schema(description = "宽") -// private BigDecimal width; -// -// -// @Schema(description = "高") -// private BigDecimal height; -// -// - @Schema(description = "厚") - private BigDecimal thickness; - - -// @Schema(description = "面积") -// private BigDecimal area; - - - @Schema(description = "小板数量") - private Integer plateNum; - - - @Schema(description = "大板数量") - private Integer goodsNum; - - - @Schema(description = "尺寸规格") - private String spec; - - -} 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 a01ebf5b7..b98090140 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 @@ -15,6 +15,7 @@ import com.cf.imes.module.executor.controller.admin.manage.pack.vo.PackPageReqVO import com.cf.imes.module.executor.controller.admin.manage.pack.vo.PackRespVO; import com.cf.imes.module.executor.controller.admin.manage.pack.vo.PrintOrderPackRespVO; import com.cf.imes.module.executor.controller.admin.manage.query.vo.productionStatus.OrderPlatePageReqVO; +import com.cf.imes.module.executor.controller.admin.order.vo.order.LabelOrderData; import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderCountProducePeriodRespVO; import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderOverdueRespVO; import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderPageReqVO; @@ -299,4 +300,7 @@ public interface OrderMapper extends BaseMapperX { IPage selectOrderIdList(@Param("page") IPage page, @Param("pageReqVO") PackPageReqVO pageReqVO, @Param("organId") Long organId); + + List selectLabelOrderData(@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/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 36d42dede..311d2cbc9 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 @@ -7,6 +7,7 @@ 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.manage.pack.vo.OrderPartsRespVO; import com.cf.imes.module.executor.controller.admin.manage.query.vo.pack.PackageDetailsRespVO; +import com.cf.imes.module.executor.controller.admin.order.vo.order.LabelOrderPartsData; import com.cf.imes.module.executor.controller.admin.orderParts.vo.OrderPartsPageReqVO; import com.cf.imes.module.executor.controller.admin.orderParts.vo.OrderPartsPrintRespVO; import com.cf.imes.module.executor.controller.admin.orderParts.vo.PartGoodsRespVO; @@ -125,4 +126,8 @@ public interface OrderPartsMapper extends BaseMapperX { void updateParts(@Param("partsId") Long partsId,@Param("orderId") Long orderId,@Param("organId") Long organId); + + + List selectLabelOrderPartsData(@Param("orderIds") List orderIds, @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/dal/mysql/pack/OrderPackageMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/pack/OrderPackageMapper.java index 2d710f180..5db4e14ef 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/pack/OrderPackageMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/pack/OrderPackageMapper.java @@ -11,6 +11,7 @@ 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.manage.pack.vo.PackRespVO; import com.cf.imes.module.executor.controller.admin.manage.query.vo.pack.OrderPackageVO; +import com.cf.imes.module.executor.controller.admin.order.vo.order.LabelOrderPackData; import com.cf.imes.module.executor.dal.dataobject.pack.OrderPackageDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -92,4 +93,9 @@ public interface OrderPackageMapper extends BaseMapperX { .eqIfPresent(OrderPackageDO::getOrderId, orderId) .eq(OrderPackageDO::getStatus,OrderPackageStatusEnum.PACKAGED.getStatus())); } + + + List selectLabelOrderPackData(@Param("packIds") List packIds,@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/planitem/PlanItemMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/planitem/PlanItemMapper.java index 33e02ab3b..313a661af 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/planitem/PlanItemMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/planitem/PlanItemMapper.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; 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.LabelOrderPlateData; import com.cf.imes.module.executor.controller.admin.plan.vo.*; import com.cf.imes.module.executor.controller.admin.plate.vo.OrderPlateIds; import com.cf.imes.module.executor.dal.dataobject.order.OrderDO; @@ -90,4 +91,7 @@ public interface PlanItemMapper extends BaseMapperX { .select(PlanItemDO::getGoodsId)); } + List selectLabelOrderPlateDataByPlanId(@Param("planId") Long planId, @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/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 d2ebd596e..1600aabd7 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 @@ -13,6 +13,7 @@ import com.cf.imes.module.executor.controller.admin.manage.pack.vo.PackRespVO; import com.cf.imes.module.executor.controller.admin.manage.pack.vo.PlateDetailsRespVO; import com.cf.imes.module.executor.controller.admin.manage.process.vo.PlateDetails; import com.cf.imes.module.executor.controller.admin.manage.query.vo.pack.PackageDetailsRespVO; +import com.cf.imes.module.executor.controller.admin.order.vo.order.LabelOrderPlateData; import com.cf.imes.module.executor.controller.admin.plan.saveOptimize.PrintOrderPackReqVO; import com.cf.imes.module.executor.controller.admin.plan.vo.NotPlanOrderPlateRespVO; import com.cf.imes.module.executor.controller.admin.plan.vo.PlateDetailRespVO; @@ -318,4 +319,7 @@ public interface PlateMapper extends BaseMapperX { List selectOrderPackPlateList(@Param("orderIds") List orderIds, @Param("organId") Long organId); IPage selectPackPlateList(@Param("page") IPage page, @Param("packageId") Long packageId, @Param("organId") Long organId); + + List selectLabelOrderPlateDataByOrderId(@Param("orderId") Long orderId,@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/optimizeplan/OptimizePlanServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java index a9ab900fc..cdf053456 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java @@ -637,6 +637,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { // 查询生产单对应的包裹信息 List printOrderPackReqVOS = plateMapper.selectPlanPackList(ids,getUserOrganId()); + if(CollUtil.isNotEmpty(printOrderPackReqVOS)) { for (Long orderId : orderIds) { // 统计每个订单的包装数量 diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java index c3e651c45..fad5723d6 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java @@ -179,4 +179,7 @@ public interface OrderService { * @param importAsyncReqVO */ void orderImportAsync(OrderImportAsyncReqVO importAsyncReqVO, MultipartFile file); + + OrderAllData getOrderAllData(Long orderId, Long planId); + } \ 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 6e909001e..b20c3fea7 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 @@ -40,6 +40,7 @@ import com.cf.imes.module.executor.dal.dataobject.orderItem.OrderItemDO; import com.cf.imes.module.executor.dal.dataobject.orderParts.OrderPartsDO; import com.cf.imes.module.executor.dal.dataobject.orderParts.PartsDO; import com.cf.imes.module.executor.dal.dataobject.ordermodel.OrderModelDO; +import com.cf.imes.module.executor.dal.dataobject.pack.OrderPackageDO; import com.cf.imes.module.executor.dal.dataobject.plan.PlanDO; import com.cf.imes.module.executor.dal.dataobject.plate.PlateDO; import com.cf.imes.module.executor.dal.dataobject.plate.PlateGoodDO; @@ -54,6 +55,7 @@ import com.cf.imes.module.executor.dal.mysql.orderParts.PartsMapper; import com.cf.imes.module.executor.dal.mysql.pack.OrderPackageMapper; import com.cf.imes.module.executor.dal.mysql.pack.OrderPrepackagedMapper; import com.cf.imes.module.executor.dal.mysql.plan.PlanMapper; +import com.cf.imes.module.executor.dal.mysql.planItem.PlanItemMapper; import com.cf.imes.module.executor.dal.mysql.plate.PlateGoodMapper; import com.cf.imes.module.executor.dal.mysql.plate.PlateMapper; import com.cf.imes.module.executor.dal.mysql.rawgoods.RawGoodsMapper; @@ -62,11 +64,13 @@ import com.cf.imes.module.executor.enums.DataTypeEnum; import com.cf.imes.module.executor.enums.OrderDeletedEnum; import com.cf.imes.module.executor.enums.OrderStatusEnum; import com.cf.imes.module.executor.service.customplateno.CustomPlateNoGenerateService; +import com.cf.imes.module.executor.service.optimizeplan.OptimizePlanService; import com.cf.imes.module.executor.service.orderImport.OrderImportHandler; import com.cf.imes.module.executor.service.orderImport.factory.OrderImportHandlerFactory; import com.cf.imes.module.executor.service.plan.PlanService; import com.cf.imes.module.executor.util.deviseData.structure.FieldConstants; import com.cf.imes.module.executor.util.deviseData.structure.PlateDetail; +import com.cf.imes.module.executor.util.elasticsearch.EsUtils; import com.cf.imes.module.executor.util.fileConversion.admin.api.webcad.ApiDataTypeVo; import org.springframework.aop.framework.AopContext; import org.springframework.beans.factory.annotation.Autowired; @@ -82,11 +86,7 @@ import java.io.*; import java.math.BigDecimal; import java.net.URLEncoder; import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.ZoneId; -import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; -import java.time.format.DateTimeParseException; import java.time.temporal.ChronoUnit; import java.util.*; import java.util.function.Function; @@ -1432,4 +1432,90 @@ public class OrderServiceImpl implements OrderService { } + @Resource + private PlanItemMapper planItemMapper; + + + @Resource + private EsUtils esUtils; + + + @Override + public OrderAllData getOrderAllData(Long orderId, Long planId) { + + + Long organId = getUserOrganId(); + + List orderIds = new ArrayList<>(); + + OrderAllData orderAllData = new OrderAllData(); + + List labelOrderPlateData; + + if(planId != null){ + + PlanDO planDO = planMapper.selectById(planId); + AssertUtils.notEmpty(planDO,PLAN_NOT_EXISTS); + + orderAllData.setPlan(planDO); + + String orderNos = Optional.ofNullable(planDO.getOrderNos()).orElse("[]"); + + orderIds.addAll(JSON.parseArray(orderNos).toJavaList(Long.class).stream().distinct().toList()); + + // 板材信息 + labelOrderPlateData = planItemMapper.selectLabelOrderPlateDataByPlanId(planId,organId); + + }else { + + orderIds.add(orderId); + + // 板材信息 + labelOrderPlateData = plateMapper.selectLabelOrderPlateDataByOrderId(orderId,organId); + + } + + + // 生产单信息 + List labelOrderData = orderMapper.selectLabelOrderData(orderIds, organId); + + List packIds = labelOrderPlateData.stream().map(LabelOrderPlateData::getPackageNo).distinct().toList(); + + List plateIdList = labelOrderPlateData.stream().map(LabelOrderPlateData::getPlateId).distinct().toList(); + + + // 小板造型信息 + List orderModelDOS = esUtils.getEsDocument("orderId","plateId", orderIds,plateIdList, plateIdList.size(), OptimizePlanService.ORDER_PLATE_MODEL, OrderModelDO.class); + + // 配件信息 + List labelOrderPartsData = orderPartsMapper.selectLabelOrderPartsData(orderIds, organId); + + // 包裹信息 + List labelOrderPackData = orderPackageMapper.selectLabelOrderPackData(packIds, organId); + + labelOrderPackData.forEach(f-> f.setPackNum(f.getPackageId().size())); + + List packageDOS = orderPackageMapper.selectBatchIds(packIds); + + labelOrderPlateData.forEach(f->{ + + f.setOrderDate(labelOrderData.stream().filter(o->o.getOrderNo().equals(f.getOrderId())).findFirst().orElse(new LabelOrderData()).getOrderDate()); + f.setDeliveryDate(labelOrderData.stream().filter(o->o.getOrderNo().equals(f.getOrderId())).findFirst().orElse(new LabelOrderData()).getDeliveryDate()); + f.setPackageSerialNo(packageDOS.stream().filter(o->o.getId().equals(f.getPackageNo())).findFirst().orElse(new OrderPackageDO()).getPackageNo()); + + }); + + + orderAllData.setOrderList(labelOrderData); + orderAllData.setPackDataList(labelOrderPackData); + orderAllData.setPlateDataList(labelOrderPlateData); + orderAllData.setPartsDataList(labelOrderPartsData); + orderAllData.setPlateModels(orderModelDOS); + + + return orderAllData; + + } + + } \ 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 852754adf..1bdb3e2f2 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 @@ -471,7 +471,7 @@ public class PlanServiceImpl implements PlanService { // 根据排单ID查询ES中的优化数据 - List optimizeBoardModelDOS = esUtils.getEsDocument(FIELD_PLANID, planIds, 999, ORDER_REMAIN_PLATE_MODEL, OptimizeBoardModelDO.class); + List optimizeBoardModelDOS = esUtils.getEsDocument(FIELD_PLANID, planIds, 500, ORDER_REMAIN_PLATE_MODEL, OptimizeBoardModelDO.class); // 获取排单对应的生产单的信息 diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/elasticsearch/EsUtils.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/elasticsearch/EsUtils.java index 84c69a797..fa6a57933 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/elasticsearch/EsUtils.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/elasticsearch/EsUtils.java @@ -252,6 +252,39 @@ public class EsUtils { + public List getEsDocument(String filedName1,String filedName2, List value1,List value2,Integer size, String index, Class targetClass) { + + List fieldValues1 = value1.stream().map(FieldValue::of).toList(); + List fieldValues2 = value2.stream().map(FieldValue::of).toList(); + SearchRequest.Builder builder = new SearchRequest.Builder(); + builder.index(index); + builder.size(size); + + builder.query(q->q.bool(b->b.filter(f->{ + f.terms(t->t.field(filedName1).terms(e->e.value(fieldValues1))); + f.terms(t->t.field(filedName2).terms(e->e.value(fieldValues2))); + return f; + }))); + + + try { + SearchResponse search = elasticsearchClient.search(builder.build(), targetClass); + List> hits = search.hits().hits(); + if (CollUtil.isNotEmpty(hits)) { + return hits.stream().map(Hit::source).toList(); + } + return new ArrayList<>(); + }catch (JsonpMappingException e){ + log.error(e.getMessage()); + throw new ServiceException(ORDER_DATA_ERROR); + }catch (IOException | ElasticsearchException e) { + log.error(e.getMessage()); + throw new ServiceException(DATA_DATA_ERROR); + } + + } + + // ES 文档删除 public void deleteEsDocument(String filedName,Long value, String index) { 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 63bffb46c..e4217ad26 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 @@ -604,4 +604,34 @@ + + \ No newline at end of file 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 586e5e885..54cd3ed34 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 @@ -190,8 +190,8 @@ op.category as category, op.subparts as subparts from order_parts op - left join order_item oi on op.organ_id = oi.organ_id and op.order_id = oi.order_id and op.id = oi.parts_id - left join order_body ob on oi.organ_id = ob.organ_id and oi.order_id = ob.order_id and oi.body_id = ob.id + join order_item oi on op.organ_id = oi.organ_id and op.order_id = oi.order_id and op.id = oi.parts_id + join order_body ob on oi.organ_id = ob.organ_id and oi.order_id = ob.order_id and oi.body_id = ob.id where op.organ_id = #{organId} and op.deleted = false @@ -375,8 +375,35 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/planitem/PlanItemMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/planitem/PlanItemMapper.xml index fcc910598..f01509865 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/planitem/PlanItemMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/planitem/PlanItemMapper.xml @@ -453,4 +453,48 @@ + + + \ 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 702db26c9..6a250477b 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 @@ -730,75 +730,10 @@ - + + + + + + diff --git a/cf-module-system/cf-module-system-biz/src/main/resources/mapper/process/DataSourceMapper.xml b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/process/DataSourceMapper.xml index e6bbc9e92..ffac7a11c 100644 --- a/cf-module-system/cf-module-system-biz/src/main/resources/mapper/process/DataSourceMapper.xml +++ b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/process/DataSourceMapper.xml @@ -19,6 +19,6 @@ select a.*, b.id field_id, b.name field_name, b.source_id field_source_id, b.keyName field_key from system_data_source a left join system_data_source_field b on a.id = b.source_id - where a.type in (1,2) and b.id not in (19,20) + where a.type in (1,2) and b.id not in (19,20,35) \ No newline at end of file