Răsfoiți Sursa

排程任务列表过滤未排程完的任务

yzc 1 an în urmă
părinte
comite
f5c2578cb7

+ 1 - 1
hx-mes/src/main/java/com/fjhx/mes/controller/production/ProduceOrderDetailController.java

@@ -43,7 +43,7 @@ public class ProduceOrderDetailController {
      */
     @PostMapping("/schedulingTaskPage")
     public Page<ProductionOrderDetailVo> schedulingTaskPage(@RequestBody ProduceOrderDetailSelectDto dto) {
-        return produceOrderDetailService.getPage(dto);
+        return produceOrderDetailService.schedulingTaskPage(dto);
     }
 
     /**

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

@@ -57,4 +57,9 @@ public class ProduceOrderDetailSelectDto extends BaseSelectDto {
      */
     private Long contractCompanyId;
 
+    /**
+     * 工序id
+     */
+    private Long processesId;
+
 }

+ 19 - 14
hx-mes/src/main/java/com/fjhx/mes/service/production/impl/ProduceOrderDetailServiceImpl.java

@@ -70,6 +70,25 @@ public class ProduceOrderDetailServiceImpl extends ServiceImpl<ProduceOrderDetai
     public Page<ProductionOrderDetailVo> getPage(ProduceOrderDetailSelectDto dto) {
         IWrapper<ProductionOrderDetail> wrapper = getWrapper();
 
+        return commPage(dto, wrapper);
+    }
+
+    @Override
+    public Page<ProductionOrderDetailVo> schedulingTaskPage(ProduceOrderDetailSelectDto dto) {
+        IWrapper<ProductionOrderDetail> wrapper = getWrapper();
+
+        //显示当前工序,未排程完的任务
+        wrapper.eq("ps.processes_id", dto.getProcessesId());
+        wrapper.having("IFNULL(SUM( ps.quantity ),0)<pod.quantity");
+
+        return commPage(dto, wrapper);
+    }
+
+    private Page<ProductionOrderDetailVo> commPage(ProduceOrderDetailSelectDto dto, IWrapper<ProductionOrderDetail> wrapper) {
+        //只显示投产的数据
+        wrapper.isNotNull("po.produce_time");
+        wrapper.groupBy("pod.id");
+
         //生产状态
         wrapper.eq("pod", ProductionOrderDetail::getProduceStatus, dto.getProduceStatus());
         //交期-时间范围过滤
@@ -109,20 +128,6 @@ public class ProduceOrderDetailServiceImpl extends ServiceImpl<ProduceOrderDetai
             wrapper.eq("c.contract_type", dto.getContractType());
         }
 
-        return commPage(dto, wrapper);
-    }
-
-    @Override
-    public Page<ProductionOrderDetailVo> schedulingTaskPage(ProduceOrderDetailSelectDto dto) {
-        IWrapper<ProductionOrderDetail> wrapper = getWrapper();
-
-        return commPage(dto, wrapper);
-    }
-
-    private Page<ProductionOrderDetailVo> commPage(ProduceOrderDetailSelectDto dto, IWrapper<ProductionOrderDetail> wrapper) {
-        //只显示投产的数据
-        wrapper.isNotNull("po.produce_time");
-
         Page<ProductionOrderDetailVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         List<ProductionOrderDetailVo> records = page.getRecords();
         if (ObjectUtil.isEmpty(records)) {

+ 1 - 0
hx-mes/src/main/resources/mapper/production/ProduceOrderDetailMapper.xml

@@ -32,6 +32,7 @@
         FROM production_order_detail pod
                  LEFT JOIN production_order po ON pod.produce_order_id = po.id
                  LEFT JOIN contract c ON pod.contract_id = c.id
+                 LEFT JOIN production_scheduling ps ON ps.task_id = pod.id
             ${ew.customSqlSegment}
     </select>
 </mapper>