Эх сурвалжийг харах

待采购 增加提交状态过滤

yzc 1 жил өмнө
parent
commit
837d927725

+ 5 - 1
hx-purchase/src/main/java/com/fjhx/purchase/entity/subscribe/dto/SubscribeDetailSelectDto.java

@@ -64,7 +64,6 @@ public class SubscribeDetailSelectDto extends BaseSelectDto {
     private String productName;
     private String productName;
 
 
 
 
-
     /**
     /**
      * 申购编码
      * 申购编码
      */
      */
@@ -74,4 +73,9 @@ public class SubscribeDetailSelectDto extends BaseSelectDto {
      * 申购状态 0草稿 10、审批中;20、驳回  30、通过
      * 申购状态 0草稿 10、审批中;20、驳回  30、通过
      */
      */
     private Integer subscribeStatus;
     private Integer subscribeStatus;
+
+    /**
+     * 提交状态 1未提交已采购为0 2部分提交已采购大于0小于申购 3已提交采购数大于等于申购数
+     */
+    private Integer subStatus;
 }
 }

+ 15 - 1
hx-purchase/src/main/java/com/fjhx/purchase/service/subscribe/impl/SubscribeDetailServiceImpl.java

@@ -111,7 +111,21 @@ public class SubscribeDetailServiceImpl extends ServiceImpl<SubscribeDetailMappe
             wrapper.notIn("t1", SubscribeDetail::getStatus, dto.getNeStatus().split(","));
             wrapper.notIn("t1", SubscribeDetail::getStatus, dto.getNeStatus().split(","));
         }
         }
 
 
-
+        if (ObjectUtil.isNotEmpty(dto.getSubStatus())) {
+            //已采购为0
+            if (1 == dto.getSubStatus()) {
+                wrapper.eq("(SELECT IF ( sum( pd.count ) IS NULL, 0, sum( pd.count )) FROM purchase_detail pd WHERE pd.subscribe_detail_id = t1.id)", 0);
+            }
+            //已采购大于0小于申购数
+            if (2 == dto.getSubStatus()) {
+                wrapper.gt("(SELECT IF ( sum( pd.count ) IS NULL, 0, sum( pd.count )) FROM purchase_detail pd WHERE pd.subscribe_detail_id = t1.id)", 0);
+                wrapper.eq("((SELECT IF ( sum( pd.count ) IS NULL, 0, sum( pd.count )) FROM purchase_detail pd WHERE pd.subscribe_detail_id = t1.id)<t1.count)", 1);
+            }
+            //采购数大于等于申购数
+            if (3 == dto.getSubStatus()) {
+                wrapper.eq("((SELECT IF ( sum( pd.count ) IS NULL, 0, sum( pd.count )) FROM purchase_detail pd WHERE pd.subscribe_detail_id = t1.id)>=t1.count)", 1);
+            }
+        }
         wrapper.orderByDesc("t1", SubscribeDetail::getCreateTime);
         wrapper.orderByDesc("t1", SubscribeDetail::getCreateTime);
 
 
         Page<SubscribeDetailVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         Page<SubscribeDetailVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);