Parcourir la source

生产订单添加是否欠货

yzc il y a 11 mois
Parent
commit
43d2bbe95f

+ 5 - 0
hx-mes/src/main/java/com/fjhx/mes/entity/production/dto/ProduceOrderSelectDto.java

@@ -74,4 +74,9 @@ public class ProduceOrderSelectDto extends BaseSelectDto {
      */
     private String neProduceStatus;
 
+    /**
+     * 是否欠料过滤
+     */
+    private Integer lackStatus;
+
 }

+ 5 - 0
hx-mes/src/main/java/com/fjhx/mes/entity/production/vo/ProductionOrderVo.java

@@ -76,4 +76,9 @@ public class ProductionOrderVo extends ProductionOrder {
      */
     private String qualityLv;
 
+    /**
+     * 欠料状态
+     */
+    private Integer lackStatus;
+
 }

+ 3 - 0
hx-mes/src/main/java/com/fjhx/mes/service/production/impl/ProduceOrderServiceImpl.java

@@ -167,6 +167,9 @@ public class ProduceOrderServiceImpl extends ServiceImpl<ProduceOrderMapper, Pro
             wrapper.notIn(ProductionOrder::getProduceStatus, neProduceStatus.split(","));
         }
 
+        //欠料状态过滤
+        wrapper.apply("IFNULL( t2.lackStatus, 0 )", dto.getLackStatus());
+
         Page<ProductionOrderVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         List<ProductionOrderVo> records = page.getRecords();
         if (ObjectUtil.isEmpty(records)) {

+ 14 - 2
hx-mes/src/main/resources/mapper/production/ProduceOrderMapper.xml

@@ -2,7 +2,7 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fjhx.mes.mapper.production.ProduceOrderMapper">
 	<select id="getPage" resultType="com.fjhx.mes.entity.production.vo.ProductionOrderVo">
-		select po.id,
+        select po.id,
                po.contract_id,
                po.code,
                po.produce_time,
@@ -20,9 +20,21 @@
                po.confirm_status,
                c.contract_type,
                c.of_company_id                                                as contractCompanyId,
-               c.quality_lv
+               c.quality_lv,
+               IFNULL(t2.lackStatus, 0)                                       as lackStatus
         from production_order po
                  LEFT JOIN contract c ON po.contract_id = c.id
+                 LEFT JOIN (SELECT sd.prod_order_id,
+                                   CASE
+                                       WHEN SUM(CASE WHEN sd.`status` IN (15, 30) OR ep.arrival_status != 20 OR sw.`status` != 2 THEN 1 ELSE 0 END) >
+                                            0 THEN 1
+                                       ELSE 0 END AS lackStatus
+                            FROM subscribe_detail sd
+                                     LEFT JOIN ehsd_purchase_product epp ON epp.subscribe_detail_id = sd.id
+                                     LEFT JOIN ehsd_purchase ep ON epp.purchase_id = ep.id
+                                AND ep.`status` IN (10, 30, 60)
+                                     LEFT JOIN stock_wait sw ON sw.purchase_id = ep.id
+                            GROUP BY sd.prod_order_id) t2 ON t2.prod_order_id = po.id
             ${ew.customSqlSegment}
     </select>
     <select id="getSchedulingList" resultType="com.fjhx.mes.entity.production.vo.ProductionOrderVo">

+ 2 - 0
hx-purchase/src/main/java/com/fjhx/purchase/entity/subscribe/dto/SubscribeDetailSelectDto.java

@@ -88,4 +88,6 @@ public class SubscribeDetailSelectDto extends BaseSelectDto {
      * 是否是待采购页面
      */
     private Integer isWaitPurchase;
+
+    private Long contractId;
 }

+ 3 - 0
hx-purchase/src/main/java/com/fjhx/purchase/service/subscribe/impl/SubscribeDetailServiceImpl.java

@@ -147,6 +147,9 @@ public class SubscribeDetailServiceImpl extends ServiceImpl<SubscribeDetailMappe
             wrapper.and(q -> q.eq("t2", Subscribe::getIsInStock, 1).or().ne("t2", SubscribeDetail::getDataType, 0));
         }
 
+        //合同id过滤
+        wrapper.eq(SubscribeDetail::getContractId, dto.getContractId());
+
         Page<SubscribeDetailVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         List<SubscribeDetailVo> records = page.getRecords();
 

+ 3 - 1
hx-sale/src/main/java/com/fjhx/sale/entity/purchase/dto/EhsdPurchaseSelectDto.java

@@ -16,7 +16,7 @@ public class EhsdPurchaseSelectDto extends BaseSelectDto {
     /**
      * 到货状态
      */
-    private Integer arrivalStatus;
+    private String arrivalStatus;
 
     /**
      * 付款状态
@@ -37,4 +37,6 @@ public class EhsdPurchaseSelectDto extends BaseSelectDto {
      * 归属公司
      */
     private Long companyId;
+
+    private Long dataResourceId;
 }

+ 8 - 0
hx-sale/src/main/java/com/fjhx/sale/service/purchase/impl/EhsdPurchaseServiceImpl.java

@@ -190,6 +190,14 @@ public class EhsdPurchaseServiceImpl extends ServiceImpl<EhsdPurchaseMapper, Ehs
         //交付时间范围过滤
         wrapper.ge("t1.delivery_time", dto.getBeginTime());
         wrapper.le("t1.delivery_time", dto.getEndTime());
+
+        //合同id
+        wrapper.eq(EhsdPurchase::getDataResourceId, dto.getDataResourceId());
+
+        //到货状态
+        if (ObjectUtil.isNotEmpty(dto.getArrivalStatus())) {
+            wrapper.in(EhsdPurchase::getArrivalStatus, dto.getArrivalStatus().split(","));
+        }
     }
 
     private void setPageInfo(List<EhsdPurchaseVo> records) {

+ 2 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/dto/StockWaitSelectDto.java

@@ -34,4 +34,6 @@ public class StockWaitSelectDto extends BaseSelectDto {
      */
     private Long companyId;
 
+    private Long contractId;
+
 }

+ 2 - 0
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockWaitServiceImpl.java

@@ -94,6 +94,8 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
         wrapper.eq("sw", StockWait::getBusinessType, dto.getBusinessType());
         wrapper.eq("sw", StockWait::getBusinessCode, dto.getKeyword());
 
+        wrapper.eq("sw", StockWait::getContractId, dto.getContractId());
+
         //先报损超领、丢件超领,然后创建时间升序
         wrapper.orderByDesc("field(sw.business_type,4,5)");
         wrapper.orderByAsc("sw", StockWait::getCreateTime);