Browse Source

邀请报工

wangxin 1 year ago
parent
commit
6054efb961

+ 16 - 12
src/main/java/cn/ezhizao/project/business/product/controller/BizDayworkController.java

@@ -148,8 +148,8 @@ public class BizDayworkController extends BaseController {
         List<BizLot> lots = new ArrayList<>();
         List<BizLot> lots = new ArrayList<>();
         if (!keywords.isEmpty()) {
         if (!keywords.isEmpty()) {
             lots = bizLotService.query().like("lot_code", keywords).list();
             lots = bizLotService.query().like("lot_code", keywords).list();
-            if(lots.isEmpty()){
-              return success(new ArrayList<>());
+            if (lots.isEmpty()) {
+                return success(new ArrayList<>());
             }
             }
         }
         }
 
 
@@ -208,7 +208,7 @@ public class BizDayworkController extends BaseController {
             item.setIsWaste(lotList.stream().filter(v -> v.getId().equals(item.getLotId())).collect(Collectors.toList()).get(0).getIsWaste());
             item.setIsWaste(lotList.stream().filter(v -> v.getId().equals(item.getLotId())).collect(Collectors.toList()).get(0).getIsWaste());
             // 根据当前的dayworkId,获取相应的daywork_item集合,并根据创建日期进行倒叙排序
             // 根据当前的dayworkId,获取相应的daywork_item集合,并根据创建日期进行倒叙排序
             List<BizDayworkItem> currentDayworkItems = allDayworkItems.stream()
             List<BizDayworkItem> currentDayworkItems = allDayworkItems.stream()
-                    .filter(di -> di.getDayworkId().equals(item.getId()))
+                    .filter(di -> di.getDayworkId().equals(item.getId()) && di.getUserId().equals(userId))
                     .sorted(Comparator.comparing(BizDayworkItem::getCreateTime).reversed())
                     .sorted(Comparator.comparing(BizDayworkItem::getCreateTime).reversed())
                     .collect(Collectors.toList());
                     .collect(Collectors.toList());
             // 获取最后一条报工明细
             // 获取最后一条报工明细
@@ -234,7 +234,7 @@ public class BizDayworkController extends BaseController {
         // 如果有报工数据
         // 如果有报工数据
         if (!dayworkList.isEmpty()) {
         if (!dayworkList.isEmpty()) {
             // 将符合条件(需要在页面展示的daywork)的 dayworkList 中的 technologicalProcessId,整合到一个List集合中,需要根据这些technologicalProcessId,获取到相应的工艺工序清单
             // 将符合条件(需要在页面展示的daywork)的 dayworkList 中的 technologicalProcessId,整合到一个List集合中,需要根据这些technologicalProcessId,获取到相应的工艺工序清单
-            System.out.println("有报工数据:"+dayworkList);
+            System.out.println("有报工数据:" + dayworkList);
             List<Long> technologicalProcessIds = dayworkList.stream()
             List<Long> technologicalProcessIds = dayworkList.stream()
                     .map(BizDaywork::getTechnologicalProcessId)
                     .map(BizDaywork::getTechnologicalProcessId)
                     .collect(Collectors.toList());
                     .collect(Collectors.toList());
@@ -408,19 +408,23 @@ public class BizDayworkController extends BaseController {
                                 // 通过get(0)的方式,获得最新的一条报工记录
                                 // 通过get(0)的方式,获得最新的一条报工记录
                                 .filter(tp -> tp.getProcessStepNumber().equals(tempDayworkItems.get(0).getProcessStepNumber()))
                                 .filter(tp -> tp.getProcessStepNumber().equals(tempDayworkItems.get(0).getProcessStepNumber()))
                                 .findFirst().orElse(null);
                                 .findFirst().orElse(null);
-                        tempProcess.setId(technologicalDetail.getProcessId());
-                        tempProcess.setProcessAlias(technologicalDetail.getProcessAlias());
-                        tempProcess.setProcessCode(technologicalDetail.getProcessCode());
-                        tempProcess.setProcessStepNumber(technologicalDetail.getProcessStepNumber());
+                        if (technologicalDetail != null) {
+                            tempProcess.setId(technologicalDetail.getProcessId());
+                            tempProcess.setProcessAlias(technologicalDetail.getProcessAlias());
+                            tempProcess.setProcessCode(technologicalDetail.getProcessCode());
+                            tempProcess.setProcessStepNumber(technologicalDetail.getProcessStepNumber());
+                        }
                     } else {
                     } else {
                         BizTechnologicalProcessDetail technologicalProcessDetail = processList.stream()
                         BizTechnologicalProcessDetail technologicalProcessDetail = processList.stream()
                                 // 通过get(0)的方式,获得最新的一条报工记录
                                 // 通过get(0)的方式,获得最新的一条报工记录
                                 .filter(tp -> tp.getProcessStepNumber().equals(tempDayworkItems.get(0).getProcessStepNumber()))
                                 .filter(tp -> tp.getProcessStepNumber().equals(tempDayworkItems.get(0).getProcessStepNumber()))
                                 .findFirst().orElse(null);
                                 .findFirst().orElse(null);
-                        tempProcess.setId(technologicalProcessDetail.getProcessId());
-                        tempProcess.setProcessAlias(technologicalProcessDetail.getProcessAlias());
-                        tempProcess.setProcessCode(technologicalProcessDetail.getProcessCode());
-                        tempProcess.setProcessStepNumber(technologicalProcessDetail.getProcessStepNumber());
+                        if (technologicalProcessDetail != null) {
+                            tempProcess.setId(technologicalProcessDetail.getProcessId());
+                            tempProcess.setProcessAlias(technologicalProcessDetail.getProcessAlias());
+                            tempProcess.setProcessCode(technologicalProcessDetail.getProcessCode());
+                            tempProcess.setProcessStepNumber(technologicalProcessDetail.getProcessStepNumber());
+                        }
                     }
                     }
                     // 最新的一条报工记录对应的工序,就是当前批次的当前工序
                     // 最新的一条报工记录对应的工序,就是当前批次的当前工序
                     daywork.setCurrentProcess(tempProcess);
                     daywork.setCurrentProcess(tempProcess);

+ 28 - 0
src/main/java/cn/ezhizao/project/business/product/controller/BizDayworkItemController.java

@@ -661,7 +661,30 @@ public class BizDayworkItemController extends BaseController {
         //查询出当前批次
         //查询出当前批次
         BizDaywork queryDaywork = new BizDaywork();
         BizDaywork queryDaywork = new BizDaywork();
         queryDaywork.setId(details.get(0).getProtemDayworkId());
         queryDaywork.setId(details.get(0).getProtemDayworkId());
+
+        SysUser user = SecurityUtils.getLoginUser().getUser();
+        Long currentUserId = user.getUserId();
+
         BizDaywork daywork = bizDayworkService.getList(queryDaywork).get(0);
         BizDaywork daywork = bizDayworkService.getList(queryDaywork).get(0);
+        List<BizDayworkItem>  allDayworkItems=new ArrayList<>();
+        BizDayworkItem latest=null;
+         if(daywork!=null){
+             allDayworkItems = bizDayworkItemService.query().eq("daywork_id",daywork.getId()).list();
+             // 根据当前的dayworkId,获取相应的daywork_item集合,并根据创建日期进行倒叙排序
+             List<BizDayworkItem> currentDayworkItems = allDayworkItems.stream()
+                     .filter(di -> di.getDayworkId().equals(daywork.getId()) && di.getUserId().equals(currentUserId))
+                     .sorted(Comparator.comparing(BizDayworkItem::getCreateTime).reversed())
+                     .collect(Collectors.toList());
+
+             // 获取最后一条报工明细
+             latest = currentDayworkItems.get(0);
+         }
+
+        //如果没找到自己的报工数据最后一条,提示
+        if(latest==null){
+            return error("未匹配到最后一条报工信息");
+        }
+
         //协作者是否在部门人员里,如果没有,添加
         //协作者是否在部门人员里,如果没有,添加
         QueryWrapper<SysDeptUser> queryWrapper = new QueryWrapper<>();
         QueryWrapper<SysDeptUser> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("dept_id", details.get(0).getDeptId());
         queryWrapper.eq("dept_id", details.get(0).getDeptId());
@@ -759,9 +782,14 @@ public class BizDayworkItemController extends BaseController {
             bizDayworkItem.setUserId(item.getCommonId());
             bizDayworkItem.setUserId(item.getCommonId());
             bizDayworkItem.setUserName(item.getCommonCode());
             bizDayworkItem.setUserName(item.getCommonCode());
             bizDayworkItem.setNickName(item.getCommonName());
             bizDayworkItem.setNickName(item.getCommonName());
+            bizDayworkItem.setProcessStepNumber(latest.getProcessStepNumber());
+            bizDayworkItem.setProdNum(latest.getProdNum());
+            bizDayworkItem.setTechnologicalProcessId(latest.getTechnologicalProcessId());
+            bizDayworkItem.setProductionPlanDetailId(latest.getProductionPlanDetailId());
             bizDayworkItem.setTechnologicalProcessDetailId(item.getTechnologicalProcessDetailId());
             bizDayworkItem.setTechnologicalProcessDetailId(item.getTechnologicalProcessDetailId());
             //0114 这里要把前段显示的item的processId传进来
             //0114 这里要把前段显示的item的processId传进来
             bizDayworkItem.setProcessId(daywork.getCurrentProcess().getId());
             bizDayworkItem.setProcessId(daywork.getCurrentProcess().getId());
+            bizDayworkItem.setDeptName(latest.getDeptName());
             bizDayworkItem.setDeptId(details.get(0).getDeptId());
             bizDayworkItem.setDeptId(details.get(0).getDeptId());
             newItemList.add(bizDayworkItem);
             newItemList.add(bizDayworkItem);
         }
         }