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/OrderPrintDetailRespVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPrintDetailRespVO.java new file mode 100644 index 000000000..9119b1bdc --- /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/OrderPrintDetailRespVO.java @@ -0,0 +1,94 @@ +package com.cf.imes.module.executor.controller.admin.order.vo.order; + +import com.fasterxml.jackson.annotation.JsonInclude; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * + * + * @author Gqr + * @since 2026/5/11 10:43 + */ +@Schema(description = "管理后台 - 生产单明细打印信息 Response VO") +@Data +@JsonInclude(JsonInclude.Include.NON_NULL) +public class OrderPrintDetailRespVO { + + @Schema(description = "订单ID") + private Long orderId; + + @Schema(description = "房间名称-板材类型显示") + private String roomName; + + @Schema(description = "柜体名称") + private String bodyName; + + @Schema(description = "板材ID") + private Long plateId; + + @Schema(description = "板编号") + private String plateNo; + + @Schema(description = "自定义板编号") + private String customPlateNo; + + @Schema(description = "板名称") + private String plateName; + + @Schema(description = "材料") + private String material; + + @Schema(description = "颜色") + private String color; + + @Schema(description = "宽度") + private Double width; + + @Schema(description = "长度") + private Double height; + + @Schema(description = "厚度") + private Double thickness; + + @Schema(description = "备注(板材和配件都要传递)") + private String remark; + + @Schema(description = "配件名称-配件类型显示") + private String partsName; + + @Schema(description = "配件ID") + private Long partsId; + + @Schema(description = "型号") + private String model; + + @Schema(description = "规格") + private String spec; + + @Schema(description = "明细配件类型, 2 五金/配件 3 其他 4 报价配件") + private String type; + + @Schema(description = "单位") + private String unit; + + @Schema(description = "品牌") + private String brand; + + @Schema(description = "厂家") + private String factory; + + @Schema(description = "配件颜色") + private String partsColor; + + @Schema(description = "开料长") + private BigDecimal splitHeight; + + @Schema(description = "开料宽") + private BigDecimal splitWidth; + + @Schema(description = "数量") + private Double num; +} 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/OrderPrintInfoRespVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPrintInfoRespVO.java new file mode 100644 index 000000000..e4741832a --- /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/OrderPrintInfoRespVO.java @@ -0,0 +1,52 @@ +package com.cf.imes.module.executor.controller.admin.order.vo.order; + +import com.fasterxml.jackson.annotation.JsonInclude; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 生产单信息打印 Response VO") +@Data +@JsonInclude(JsonInclude.Include.NON_NULL) +public class OrderPrintInfoRespVO { + + @Schema(description = "订单号", example = "15091") + private Long id; + + @Schema(description = "订单日期") + private LocalDateTime orderDate; + + @Schema(description = "交付日期") + private LocalDateTime deliveryDate; + + @Schema(description = "订单类型", example = "1") + private Integer orderType; + + @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 = "备注", example = "你猜") + private String remark; +} \ 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/OrderPrintRespVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPrintRespVO.java new file mode 100644 index 000000000..24fbd928b --- /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/OrderPrintRespVO.java @@ -0,0 +1,25 @@ +package com.cf.imes.module.executor.controller.admin.order.vo.order; + +import com.fasterxml.jackson.annotation.JsonInclude; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +/** + * + * + * @author Gqr + * @since 2026/5/11 10:42 + */ + +@Schema(description = "管理后台 - 生产单打印信息 Response VO") +@Data +@JsonInclude(JsonInclude.Include.NON_NULL) +public class OrderPrintRespVO { + @Schema(description = "生产单明细打印信息列表") + private List orderPrintDetailRespVOList; + + @Schema(description = "生产单信息打印列表") + private List orderPrintInfoVOList; +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/ordercomponent/OrderComponentController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/ordercomponent/OrderComponentController.java index bbcebd806..f9b98f35d 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/ordercomponent/OrderComponentController.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/ordercomponent/OrderComponentController.java @@ -2,6 +2,7 @@ package com.cf.imes.module.executor.controller.admin.ordercomponent; import com.cf.imes.framework.common.pojo.CommonResult; import com.cf.imes.framework.common.pojo.PageResult; +import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderPrintRespVO; import com.cf.imes.module.executor.controller.admin.order.vo.order.OrdersViewCadViewInfoRespVO; import com.cf.imes.module.executor.controller.admin.ordercomponent.vo.OrderComponentRespVO; import com.cf.imes.module.executor.controller.admin.ordercomponent.vo.OrderDetailComponentListReqVO; @@ -106,4 +107,11 @@ public class OrderComponentController { orderComponentService.restoreOrderComponent(orderId, id); return success(true); } + + @PostMapping("/print") + @Operation(summary = "获取订单部件打印列表") + @PreAuthorize("@ss.hasPermission('production:assemblyList:print')") + public CommonResult getOrderComponentPrintList(@Valid @RequestBody OrderDetailComponentListReqVO reqVO) { + return success(orderComponentService.getOrderComponentPrintList(reqVO)); + } } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderItem/OrderItemMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderItem/OrderItemMapper.java index 1db010a91..82948b384 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderItem/OrderItemMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderItem/OrderItemMapper.java @@ -8,6 +8,7 @@ import com.cf.imes.module.executor.controller.admin.manage.pack.vo.PlateDetailsR import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderGoodsDetailRespVO; import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderGoodsRespVO; import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderPlatesDetailRespVO; +import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderPrintDetailRespVO; import com.cf.imes.module.executor.controller.admin.orderParts.vo.OrderPartsRespVO; import com.cf.imes.module.executor.controller.admin.plate.vo.PlateRespVO; import com.cf.imes.module.executor.dal.dataobject.orderItem.OrderItemDO; @@ -280,4 +281,22 @@ public interface OrderItemMapper extends BaseMapperX { List selectOrderViewParts(@Param("orderId") Long orderId, @Param("bodyIds") Set bodyIds, @Param("componentIds") Set componentIds); + + /** + * 查询订单板件打印信息列表 + * + * @param orderIds + * @param componentIds + * @return + */ + List selectOrdersPrintPlatesList(@Param("orderIds") List orderIds, @Param("componentIds") Set componentIds); + + /** + * 查询订单板件打印信息列表 + * + * @param orderIds + * @param componentIds + * @return + */ + List selectOrdersPrintPartsList(@Param("orderIds") List orderIds, @Param("componentIds") Set componentIds); } \ 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/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 2ba062f15..cf4ecbe5a 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 @@ -222,4 +222,12 @@ public interface OrderService { * @return */ List getPackOrdersInfo(List orderIds); + + /** + * 获取订单打印信息 + * + * @param orderIds + * @return + */ + List getOrderPrintInfo(List orderIds); } \ 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 79b25cb72..7c42aafe8 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 @@ -1794,4 +1794,17 @@ public class OrderServiceImpl implements OrderService { ); return BeanUtil.copyToList(orderDOS, PackOrdersInfoRespVO.class); } + + @Override + public List getOrderPrintInfo(List orderIds) { + // 查询订单 + List orderDOS = orderMapper.selectList(new LambdaQueryWrapper() + .in(OrderDO::getId, orderIds) + .eq(OrderDO::getDeleted, DeletedCodeEnum.NOT_DELETED.getStatus()) + .select(OrderDO::getId, OrderDO::getOrderDate, OrderDO::getDeliveryDate, OrderDO::getOrderType, OrderDO::getCustomOrderNo + , OrderDO::getCustomer, OrderDO::getAddress, OrderDO::getPhoneNumber, OrderDO::getDealer, OrderDO::getDealerPhoneNumber + , OrderDO::getSalesman, OrderDO::getSplitter, OrderDO::getRemark) + ); + return BeanUtil.copyToList(orderDOS, OrderPrintInfoRespVO.class); + } } \ 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/ordercomponent/OrderComponentService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/ordercomponent/OrderComponentService.java index 0cabf2daf..456230229 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/ordercomponent/OrderComponentService.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/ordercomponent/OrderComponentService.java @@ -1,6 +1,7 @@ package com.cf.imes.module.executor.service.ordercomponent; import com.cf.imes.framework.common.pojo.PageResult; +import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderPrintRespVO; import com.cf.imes.module.executor.controller.admin.order.vo.order.OrdersViewCadViewInfoRespVO; import com.cf.imes.module.executor.controller.admin.ordercomponent.vo.OrderComponentRespVO; import com.cf.imes.module.executor.controller.admin.ordercomponent.vo.OrderDetailComponentListReqVO; @@ -111,4 +112,12 @@ public interface OrderComponentService { * @return */ OrdersViewCadViewInfoRespVO getOrderViewCadInfo(OrderDetailComponentPageReqVO pageReqVO); + + /** + * 查询部件打印信息 + * + * @param pageReqVO + * @return + */ + OrderPrintRespVO getOrderComponentPrintList(OrderDetailComponentListReqVO 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/ordercomponent/OrderComponentServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/ordercomponent/OrderComponentServiceImpl.java index 76eb4bd1e..f59d3e02a 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/ordercomponent/OrderComponentServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/ordercomponent/OrderComponentServiceImpl.java @@ -17,6 +17,8 @@ import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.common.util.Assert.AssertUtils; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils; +import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderPrintDetailRespVO; +import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderPrintRespVO; import com.cf.imes.module.executor.controller.admin.order.vo.order.OrdersViewCadViewInfoRespVO; import com.cf.imes.module.executor.controller.admin.ordercomponent.vo.OrderComponentRespVO; import com.cf.imes.module.executor.controller.admin.ordercomponent.vo.OrderDetailComponentListReqVO; @@ -38,6 +40,7 @@ import com.cf.imes.module.executor.dal.mysql.ordercomponent.OrderComponentMapper import com.cf.imes.module.executor.dal.mysql.plate.PlateMapper; import com.cf.imes.module.executor.service.manage.pack.PackService; import com.cf.imes.module.executor.service.order.OrderInfoVersionControlService; +import com.cf.imes.module.executor.service.order.OrderService; import com.cf.imes.module.infra.api.file.FileApi; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; @@ -101,6 +104,9 @@ public class OrderComponentServiceImpl implements OrderComponentService { @Resource private PackService packService; + @Resource + private OrderService orderService; + @Override public List getOrderComponentList(OrderDetailComponentListReqVO reqVO) { List resultList = new ArrayList<>(); @@ -856,4 +862,21 @@ public class OrderComponentServiceImpl implements OrderComponentService { ordersViewCadViewInfoRespVO.setParts(partResult); return ordersViewCadViewInfoRespVO; } + + @Override + public OrderPrintRespVO getOrderComponentPrintList(OrderDetailComponentListReqVO pageReqVO) { + OrderPrintRespVO result = new OrderPrintRespVO(); + List orderIds = pageReqVO.getOrderIds(); + Set componentIds = pageReqVO.getComponentIds(); + + // 订单信息 + result.setOrderPrintInfoVOList(orderService.getOrderPrintInfo(orderIds)); + + // 组合板件+配件 + List ordersPrintPlatesList = orderItemMapper.selectOrdersPrintPlatesList(orderIds, componentIds); + ordersPrintPlatesList.addAll(orderItemMapper.selectOrdersPrintPartsList(orderIds, componentIds)); + + result.setOrderPrintDetailRespVOList(ordersPrintPlatesList); + return result; + } } \ No newline at end of file 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 188a37848..10a8a868e 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 @@ -770,4 +770,94 @@ + + + + \ No newline at end of file