ezhizao_zx 1 年間 前
コミット
54db8c2a77

+ 65 - 2
src/main/java/cn/ezhizao/project/business/switchDept/controller/SwitchController.java

@@ -19,6 +19,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -195,11 +196,73 @@ public class SwitchController extends BaseController {
                 }
             }
         });
-        return success();
+        return dayworkItemService.updateBatchById(updates) &&
+                dayworkItemService.saveBatch(inserts) &&
+                dayworkService.updateBatchById(updateDayworks) &&
+                (addResources.isEmpty() || bizProductionResourceGroupSubPlanService.saveBatch(addResources))
+                ? success() : error();
     }
 
     @PostMapping("/turnoverOutsourceAll")
     public AjaxResult turnoverOutsourceAll(@RequestBody BizDayworkItem item) {
-        return success();
+        // 设置工时
+        // 获取箱子关联的所有批次
+        SysUser user = SecurityUtils.getLoginUser().getUser();
+        SysDept sysDept = sysDeptMapper.selectDeptByCode(item.getDeptCode());
+        item.setDeptId(sysDept.getDeptId());
+        item.setDeptName(sysDept.getDeptName());
+        List<BizDayworkItem> addItems = new ArrayList<>();
+        List<BizDayworkItem> updateItems = new ArrayList<>();
+        List<BizDaywork> updateDayworks = new ArrayList<>();
+        // 关联批次的所有最后一条报工
+        BizDayworkItem conditions = new BizDayworkItem();
+        conditions.setIds(item.getIds());
+        List<BizDayworkItem> bizDayworkItems = dayworkItemService.getList(conditions);
+        for (BizDayworkItem v : bizDayworkItems) {
+//            BizDayworkItem lastItem = bizDayworkItems.stream().filter(l -> l.getDayworkId().equals(v.getId())).findFirst().orElse(null);
+//            if (lastItem != null && lastItem.getStatus().equals("3")) {
+//                List<BizDayworkItem> allItem = bizDayworkItemList.stream().filter(l -> l.getDayworkId().equals(v.getId()) && l.getTechnologicalProcessDetailId().equals(lastItem.getTechnologicalProcessDetailId())).collect(Collectors.toList());
+//                Integer lot = allItem.stream().mapToInt(BizDayworkItem::getQualifiedNum).sum();
+                BizDayworkItem bizItem = new BizDayworkItem();
+                bizItem.setDayworkId(v.getDayworkId());
+                bizItem.setProcessId(v.getProcessId());
+                bizItem.setTechnologicalProcessDetailId(v.getTechnologicalProcessDetailId());
+                bizItem.setStatus(v.getStatus());
+                BizDaywork daywork = v.getDaywork();
+                daywork.setDeptId(item.getDeptId());
+                updateDayworks.add(daywork);
+                if(daywork.getIsAmend()==1){
+                    bizItem.setFormDayworkItemId(1L);
+                }
+                bizItem.setLotId(v.getLotId());
+                bizItem.setLotCode(v.getLotCode());
+                bizItem.setUserId(user.getUserId());
+                bizItem.setUserName(user.getUserName());
+                bizItem.setNickName(user.getNickName());
+                bizItem.setWorkingHours(0L);
+                bizItem.setTenantId(v.getTenantId());
+                bizItem.setProductionPlanDetailId(v.getProductionPlanDetailId());
+                bizItem.setProductionPlanId(v.getProductionPlanId());
+                bizItem.setProductionPlanDetailSubDetailId(v.getProductionPlanDetailSubDetailId());
+                bizItem.setProductionPlanDetailSubDetailEquipmentId(v.getProductionPlanDetailSubDetailEquipmentId());
+                bizItem.setQualifiedNum(v.getQualifiedNum());
+                bizItem.setTechnologicalProcessId(v.getTechnologicalProcessId());
+                bizItem.setProdNum(v.getProdNum());
+                bizItem.setDeptId(item.getDeptId());
+                bizItem.setDeptName(item.getDeptName());
+                bizItem.setStartTime(item.getStartTime());
+                bizItem.setTurnoverType(item.getTurnoverType());
+                bizItem.setTurnoverArea(item.getTurnoverArea());
+                bizItem.setPlaceId(item.getPlaceId());
+                bizItem.setPlace(item.getPlace());
+                bizItem.setProcessStepNumber(item.getProcessStepNumber());
+                addItems.add(bizItem);
+                v.setStatus("7");
+                updateItems.add(v);
+//                batch = batch && bizDayworkItemService.saveOrUpdate(bizItem);
+
+//            }
+        }
+        return dayworkService.updateBatchById(updateDayworks) && dayworkItemService.saveBatch(addItems) && dayworkItemService.updateBatchById(updateItems) ? success("保存成功") : error("保存失败");
     }
 }