Ver Fonte

fix:完善生产订单功能

qingwudarao há 5 meses atrás
pai
commit
221813fcb4

+ 16 - 8
ruoyi-modules/ruoyi-bulkOrder/src/main/java/org/dromara/bulk/domain/bo/OrderListBo.java

@@ -1,9 +1,10 @@
 package org.dromara.bulk.domain.bo;
 
 import jakarta.validation.Valid;
+import jakarta.validation.constraints.Max;
+import jakarta.validation.constraints.Min;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
-import jakarta.validation.constraints.Size;
 import lombok.Data;
 import org.dromara.commodityManagement.domain.bo.TemplateBo;
 
@@ -124,43 +125,50 @@ public class OrderListBo {
     /**
      * 烧花,0否,1是
      */
-    @Size(max = 1,message = "超出范围,0否,1是")
+    @Min(value = 0,message = "超出范围,0否,1是")
+    @Max(value = 1,message = "超出范围,0否,1是")
     private int isBurnFlowers = 0;
 
     /**
      * 快返,0否,1是
      */
-    @Size(max = 1,message = "超出范围,0否,1是")
+    @Min(value = 0,message = "超出范围,0否,1是")
+    @Max(value = 1,message = "超出范围,0否,1是")
     private int isQuickReturn = 0;
 
     /**
      * 作废0否,1是
      */
-    @Size(max = 1,message = "超出范围,0否,1是")
+    @Min(value = 0,message = "超出范围,0否,1是")
+    @Max(value = 1,message = "超出范围,0否,1是")
     private int isToVoid = 0;
 
     /**
      * 复色,0否,1是
      */
-    @Size(max = 1,message = "超出范围,0否,1是")
+    @Min(value = 0,message = "超出范围,0否,1是")
+    @Max(value = 1,message = "超出范围,0否,1是")
     private int isMulticolor = 0;
 
     /**
      * 首单,0否,1是
      */
-    @Size(max = 1,message = "超出范围,0否,1是")
+    @Min(value = 0,message = "超出范围,0否,1是")
+    @Max(value = 1,message = "超出范围,0否,1是")
     private int isFirstOrder = 0;
 
     /**
      * 加急,0否,1是
      */
-    @Size(max = 1,message = "超出范围,0否,1是")
+    @Min(value = 0,message = "超出范围,0否,1是")
+    @Max(value = 1,message = "超出范围,0否,1是")
     private int isUrgent = 0;
 
     /**
      * 补货,0否,1是
      */
-    @Size(max = 1,message = "超出范围,0否,1是")
+    @Min(value = 0,message = "超出范围,0否,1是")
+    @Max(value = 1,message = "超出范围,0否,1是")
     private int isBuhuo = 0;
 
     /**

+ 14 - 0
ruoyi-modules/ruoyi-productionManagementOfBulkOrders/src/main/java/org/dromara/productionManagement/controller/ProductionPlanController.java

@@ -1,17 +1,31 @@
 package org.dromara.productionManagement.controller;
 
+import cn.dev33.satoken.annotation.SaIgnore;
 import lombok.RequiredArgsConstructor;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.common.web.core.BaseController;
+import org.dromara.productionManagement.domain.bo.ProductionPlanBo;
+import org.dromara.productionManagement.domain.vo.ProductionPlanVo;
 import org.dromara.productionManagement.service.ProductionPlanService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 /**
  * 生产计划管理接口
  */
+@SaIgnore
 @RestController
 @RequiredArgsConstructor
 @RequestMapping("/productionManagement/productionPlan")
 public class ProductionPlanController extends BaseController {
+
     private final ProductionPlanService productionPlanService;
+
+    @GetMapping("/PageList")
+    public TableDataInfo<ProductionPlanVo> selectPageProductionPlan(@Validated ProductionPlanBo productionPlanBo, PageQuery pageQuery){
+        return productionPlanService.selectVoPage(productionPlanBo, pageQuery);
+    }
 }

+ 8 - 1
ruoyi-modules/ruoyi-productionManagementOfBulkOrders/src/main/java/org/dromara/productionManagement/domain/bo/ProductionPlanBo.java

@@ -1,6 +1,7 @@
 package org.dromara.productionManagement.domain.bo;
 
 import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 import org.dromara.productionManagement.domain.ProductionPlan;
 
@@ -24,7 +25,7 @@ public class ProductionPlanBo{
     /**
      * 订单编号
      */
-    private String scNo = null;
+    private String scNo;
 
     /**
      * 生产计划单号
@@ -199,6 +200,7 @@ public class ProductionPlanBo{
     /**
      * 1排产中,2.产前确认中,3.打印中,4.后整中,5烧花中,6.入库
      */
+    @NotNull(message = "工艺状态不能为空")
     private int craftStatus;
 
     /**
@@ -290,4 +292,9 @@ public class ProductionPlanBo{
      *
      */
     private int shFactoryId;
+
+    /**
+     * 成衣厂
+     */
+    private String garmentFactory;
 }

+ 10 - 4
ruoyi-modules/ruoyi-productionManagementOfBulkOrders/src/main/java/org/dromara/productionManagement/mapper/ProductionPlanMapper.java

@@ -1,6 +1,11 @@
 package org.dromara.productionManagement.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
 import org.dromara.productionManagement.domain.ProductionPlan;
 import org.dromara.productionManagement.domain.vo.ProductionPlanVo;
@@ -11,9 +16,10 @@ import org.dromara.productionManagement.domain.vo.ProductionPlanVo;
 @Mapper
 public interface ProductionPlanMapper extends BaseMapperPlus<ProductionPlan, ProductionPlanVo> {
     /**
-     * 根据id查询订单编号
-     * @param id id
-     * @return 订单编号
+     * 查询生产计划
+     * @param page 分页对象
+     * @param wrapper 查询条件
+     * @return 结果
      */
-    String selectOrderNumberById(Long id);
+    Page<ProductionPlanVo> selectProductionPlanVo(IPage<ProductionPlanVo> page, @Param(Constants.WRAPPER) QueryWrapper<ProductionPlan> wrapper);
 }

+ 2 - 2
ruoyi-modules/ruoyi-productionManagementOfBulkOrders/src/main/java/org/dromara/productionManagement/service/ProductionPlanService.java

@@ -1,7 +1,7 @@
 package org.dromara.productionManagement.service;
 
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.productionManagement.domain.bo.ProductionPlanBo;
 import org.dromara.productionManagement.domain.vo.ProductionPlanVo;
 
@@ -10,5 +10,5 @@ import org.dromara.productionManagement.domain.vo.ProductionPlanVo;
  */
 public interface ProductionPlanService {
 
-    Page<ProductionPlanVo> selectVoPage(ProductionPlanBo productionPlanBo, PageQuery pageQuery);
+    TableDataInfo<ProductionPlanVo> selectVoPage(ProductionPlanBo productionPlanBo, PageQuery pageQuery);
 }

+ 11 - 8
ruoyi-modules/ruoyi-productionManagementOfBulkOrders/src/main/java/org/dromara/productionManagement/service/impl/ProductionPlanServiceImpl.java

@@ -1,11 +1,12 @@
 package org.dromara.productionManagement.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.RequiredArgsConstructor;
-import org.dromara.bulk.mapper.BulkOrderListMapper;
-import org.dromara.bulk.mapper.UserOrderMapper;
-import org.dromara.bulk.mapper.UserOrderTemplateMapper;
+import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.productionManagement.domain.ProductionPlan;
 import org.dromara.productionManagement.domain.bo.ProductionPlanBo;
 import org.dromara.productionManagement.domain.vo.ProductionPlanVo;
 import org.dromara.productionManagement.mapper.ProductionPlanMapper;
@@ -20,12 +21,14 @@ import org.springframework.stereotype.Service;
 public class ProductionPlanServiceImpl implements ProductionPlanService {
 
     private final ProductionPlanMapper productionPlanMapper;
-    private final BulkOrderListMapper bulkOrderListMapper;
-    private final UserOrderMapper userOrderMapper;
-    private final UserOrderTemplateMapper userOrderTemplateMapper;
 
     @Override
-    public Page<ProductionPlanVo> selectVoPage(ProductionPlanBo productionPlanBo, PageQuery pageQuery) {
-        return null;
+    public TableDataInfo<ProductionPlanVo> selectVoPage(ProductionPlanBo productionPlanBo, PageQuery pageQuery) {
+        QueryWrapper<ProductionPlan> qw = new QueryWrapper<>();
+        qw.eq("p.craft_status",productionPlanBo.getCraftStatus());
+        qw.eq(null != productionPlanBo.getUserId(),"p.user_id", productionPlanBo.getUserId());
+        qw.eq(StringUtils.isNotBlank(productionPlanBo.getGarmentFactory()),"gi.garment_factory", productionPlanBo.getGarmentFactory());
+        Page<ProductionPlanVo> page = productionPlanMapper.selectProductionPlanVo(pageQuery.build(), qw);
+        return TableDataInfo.build(page);
     }
 }

+ 68 - 6
ruoyi-modules/ruoyi-productionManagementOfBulkOrders/src/main/resources/mapper/ProductionPlanMapper.xml

@@ -1,9 +1,71 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.dromara.productionManagement.mapper.ProductionPlanMapper">
-    <select id="selectOrderNumberById" resultType="java.lang.String">
-        SELECT order_num FROM fa_kuyou_plan WHERE id = #{id}
+
+    <resultMap id="ProductionPlanVoResult" type="org.dromara.productionManagement.domain.vo.ProductionPlanVo">
+        <!-- 基础字段映射 -->
+        <id     property="id"           column="id"          />
+        <result property="sysNo"        column="sys_no"      />
+        <result property="scNo"         column="sc_no"       />
+        <!-- 其他字段映射... -->
+
+        <!-- 关联用户订单 -->
+        <association property="userOrder" javaType="org.dromara.bulk.domain.vo.UserOrderVo">
+            <id     property="id"           column="uo_id"       />
+            <result property="orderNumber"  column="uo_order_num"/>
+            <!-- 其他用户订单字段... -->
+        </association>
+
+        <!-- 关联客户信息 -->
+        <association property="customer" javaType="org.dromara.customerManagement.domain.vo.CustomerVo">
+            <id     property="id"           column="c_id"        />
+            <result property="factoryName"  column="c_factory_name"/>
+            <!-- 其他客户字段... -->
+        </association>
+
+        <!-- 关联商品信息 -->
+        <association property="goodsInfo" javaType="org.dromara.bulk.domain.vo.BulkOrderListVo">
+            <id     property="id"           column="gi_id"       />
+            <result property="goodsName"    column="gi_goods_name"/>
+            <!-- 其他商品字段... -->
+        </association>
+
+        <!-- 关联底布信息 -->
+        <association property="diBu" javaType="org.dromara.commodityManagement.domain.vo.DiBuVo">
+            <id     property="id"           column="d_id"        />
+            <result property="name"         column="d_name"      />
+            <!-- 其他底布字段... -->
+        </association>
+
+        <!-- 关联版图列表 -->
+        <collection property="templateList" ofType="org.dromara.bulk.domain.vo.UserOrderTemplateVo">
+            <id     property="id"           column="tpl_id"      />
+            <result property="name"         column="tpl_name"    />
+            <!-- 其他版图字段... -->
+        </collection>
+    </resultMap>
+
+    <select id="selectProductionPlanVo" resultMap="ProductionPlanVoResult">
+        SELECT
+            p.*,
+            uo.id as uo_id,
+            uo.order_num as uo_order_num,
+            c.id as c_id,
+            c.factory_name as c_factory_name,
+            gi.id as gi_id,
+            gi.goods_name as gi_goods_name,
+            d.id as d_id,
+            d.name as d_name,
+            tpl.id as tpl_id,
+            tpl.name as tpl_name
+        FROM
+            fa_kuyou_plan p
+        LEFT JOIN fa_kuyou_user_order uo ON p.order_num = uo.order_num
+        LEFT JOIN fa_kuyou_user c ON uo.user_id = c.id
+        LEFT JOIN fa_kuyou_plan_info gi ON p.id = gi.plan_id
+        LEFT JOIN fa_kuyou_dibu d ON gi.base_cloth = d.name
+        LEFT JOIN fa_kuyou_user_order_template tpl ON p.id = tpl.plan_id
+        ${ew.getCustomSqlSegment()}
     </select>
+
 </mapper>