瀏覽代碼

批次详情-第5版

wangxin 1 年之前
父節點
當前提交
0411c97cb2

+ 22 - 5
src/main/java/cn/ezhizao/project/business/controller/BizTechnologicalAmendController.java

@@ -141,7 +141,7 @@ public class BizTechnologicalAmendController extends BaseController {
         }
         lot.setCarrierName(carrierName.toString());
         //设置furnaceNoInfo
-        lot.setFurnaceNoInfo(bizFurnaceNoInfoService.getList(furnaceNoInfo).size() > 0 ? bizFurnaceNoInfoService.getList(furnaceNoInfo).get(0) : null);
+        lot.setFurnaceNoInfo(bizFurnaceNoInfoService.getList(furnaceNoInfo).size() > 0 ? bizFurnaceNoInfoService.getList(furnaceNoInfo).get(0) : new BizFurnaceNoInfo());
         lot.getProductionPlanDetail().setRequisitionDepartmentName(sysDeptService.selectDeptById(daywork.getDeptId()).getDeptName());
         lot = getLot(lot);
 
@@ -161,13 +161,16 @@ public class BizTechnologicalAmendController extends BaseController {
         } else if (lot.getIsWasteRecycling() == 1) { //是否废品回用
 
         } else {
+            //查询工序信息
             processDetail.setTechnologicalProcessId(lot.getTechnologicalProcessId());
             List<BizTechnologicalProcessDetail> processDetailList = bizTechnologicalProcessDetailService.query().eq("technological_process_id", lot.getTechnologicalProcessId()).list();
+            //查询报工信息
             BizDayworkItem item = new BizDayworkItem();
             item.setDayworkId(lot.getDaywork().getId());
             List<BizDayworkItem> dayworkItems = bizDayworkItemService.selectList(item);
 
             for (BizTechnologicalProcessDetail t : processDetailList) {
+                //给备料赋值,备料没有废品,默认完成
                 if (processDetailList.get(0).getProcessId().equals(t.getProcessId())) {
                     t.setInvestNum(lot.getProductionQuantity());
                     t.setAbandonNum(0);
@@ -175,31 +178,45 @@ public class BizTechnologicalAmendController extends BaseController {
                     t.setStatus("2");
                 }
                 for (BizDayworkItem d : dayworkItems) {
+                    //根据工序判断,查询每道工序的报工信息
                     if (t.getProcessId().equals(d.getProcessId())) {
-
+                        //查询状态为完成货工序已完成的状态,计算合格量,废品,投入量
                         if(d.getStatus().equals("2")||d.getStatus().equals("3")){
-                            System.out.println(d.getRejectNum()+",+++++++++++++++++++++++++++++++++++++++++++++++++");
                             if(d.getRejectNum()!=null){
                                 t.setAbandonNum(t.getAbandonNum()==null?d.getRejectNum():t.getAbandonNum() + d.getRejectNum());
-
                             }else {
                                 t.setAbandonNum(0);
                             }
                             t.setQualifiedNum(t.getQualifiedNum()==null?d.getQualifiedNum():t.getQualifiedNum() + d.getQualifiedNum());
                             t.setInvestNum(d.getProdNum());
                         }
+                        //未开始时合格量默,废品默认为0
                         if (d.getStatus().equals("0")) {
                             t.setAbandonNum(0);
                             t.setQualifiedNum(0);
                             t.setInvestNum(d.getProdNum());
+                            //设置状态为未开始
                             t.setStatus("0");
                         } else if (d.getStatus().equals("1") || d.getStatus().equals("2")) {
+                            //设置状态为进行中
                             t.setInvestNum(d.getProdNum());
                             t.setStatus("1");
                         } else {
+                            //设置状态为已完成
                             t.setStatus("2");
                         }
-
+                        //设置当前批次状态,当第一道序(不包括备料)状态为未开始时批次状态为未开始
+                        if(processDetailList.get(1).getProcessId().equals(t.getProcessId())&&d.getStatus().equals("0")){
+                            lot.getDaywork().setStatus(0);
+                        } else if(processDetailList.get(processDetailList.size() - 1).getProcessId().equals(d.getProcessId())){
+                            //最后一道工序如果状态为不是"未开始,进行中,已完成"当前批次已完成
+                            if(!d.getStatus().equals("1")&&!d.getStatus().equals("2")&&!d.getStatus().equals("0")){
+                                lot.getDaywork().setStatus(2);
+                            }
+                        }else{
+                            //当前批次已完成
+                            lot.getDaywork().setStatus(1);
+                        }
                     }
                 }
             }