zx 1 an în urmă
părinte
comite
2acd7117c1

+ 111 - 4
src/main/java/cn/ezhizao/project/business/switchDept/controller/SwitchController.java

@@ -1,14 +1,21 @@
 package cn.ezhizao.project.business.switchDept.controller;
 
+import cn.ezhizao.common.utils.SecurityUtils;
 import cn.ezhizao.framework.web.controller.BaseController;
 import cn.ezhizao.framework.web.domain.AjaxResult;
 import cn.ezhizao.project.business.product.domain.*;
 import cn.ezhizao.project.business.product.service.*;
+import cn.ezhizao.project.business.resourceGroup.domain.BizProductionResourceGroup;
+import cn.ezhizao.project.business.resourceGroup.domain.BizProductionResourceGroupSubPlan;
+import cn.ezhizao.project.business.resourceGroup.service.IBizProductionResourceGroupService;
+import cn.ezhizao.project.business.resourceGroup.service.IBizProductionResourceGroupSubPlanService;
 import cn.ezhizao.project.business.technologicalProcessDetail.domain.BizTechnologicalProcessDetail;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import cn.ezhizao.project.system.domain.SysDept;
+import cn.ezhizao.project.system.domain.SysUser;
+import cn.ezhizao.project.system.mapper.SysDeptMapper;
+import cn.ezhizao.project.system.service.ISysDeptService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
@@ -35,6 +42,16 @@ public class SwitchController extends BaseController {
     IBizProductionPlanDetailService productionPlanDetailService;
     @Resource
     IBizLotTechnologicalProcessDetailService lotTechnologicalProcessDetailService;
+    @Resource
+    IBizProductionResourceGroupSubPlanService bizProductionResourceGroupSubPlanService;
+    @Resource
+    IBizProductionPlanDetailService bizProductionPlanDetailService;
+    @Resource
+    ISysDeptService sysDeptService;
+    @Resource
+    SysDeptMapper sysDeptMapper;
+    @Resource
+    IBizProductionResourceGroupService bizProductionResourceGroupService;
 
     @PostMapping("/getDayworkByCarrierCode")
     public AjaxResult getDayworkByCarrierCode(@RequestBody BizDayworkItem bizDayworkItem) {
@@ -95,4 +112,94 @@ public class SwitchController extends BaseController {
         }
     }
 
+    @GetMapping("/listAllDepts")
+    public AjaxResult listAllDepts() {
+        SysDept sysDept = new SysDept();
+        sysDept.setIsWorkSection(1);
+        List<SysDept> depts = sysDeptService.selectDeptList(sysDept);
+        return success(depts);
+    }
+
+    @PostMapping("/turnoverAll")
+    public AjaxResult turnoverAll(@RequestBody BizDayworkItem item) {
+        BizDayworkItem conditions = new BizDayworkItem();
+        conditions.setIds(item.getIds());
+        List<BizDayworkItem> items = dayworkItemService.getList(conditions);
+        List<BizDayworkItem> updates = new ArrayList<>();
+        List<BizDayworkItem> inserts = new ArrayList<>();
+        List<BizDaywork> updateDayworks = new ArrayList<>();
+        List<BizProductionResourceGroupSubPlan> addResources = new ArrayList<>();
+        SysUser user = SecurityUtils.getLoginUser().getUser();
+        SysDept sysDept = sysDeptMapper.selectDeptById(item.getDeptId());
+        List<BizProductionResourceGroup> productionResourceGroupList = bizProductionResourceGroupService.list(new QueryWrapper<BizProductionResourceGroup>().eq("dept_id", item.getDeptId()).eq("is_deactivate", 0));
+        items.forEach(l -> {
+            l.setStatus("7");
+            updates.add(l);
+            BizDayworkItem bizDayworkItem = new BizDayworkItem();
+            bizDayworkItem.setDayworkId(l.getDayworkId());
+            bizDayworkItem.setStatus(item.getStatus());
+            bizDayworkItem.setDeptId(item.getDeptId());
+            bizDayworkItem.setProcessId(l.getProcessId());
+            bizDayworkItem.setTechnologicalProcessDetailId(l.getTechnologicalProcessDetailId());
+            BizDaywork bizDaywork = l.getDaywork();
+            bizDaywork.setDeptId(item.getDeptId());
+            bizDayworkItem.setFormDayworkItemId(1L);
+            bizDayworkItem.setLotId(l.getLotId());
+            bizDayworkItem.setLotCode(l.getLotCode());
+            bizDayworkItem.setUserId(user.getUserId());
+            bizDayworkItem.setUserName(user.getUserName());
+            bizDayworkItem.setNickName(user.getNickName());
+            bizDayworkItem.setWorkingHours(0L);
+            bizDayworkItem.setTenantId(l.getTenantId());
+            bizDayworkItem.setProductionPlanDetailId(l.getProductionPlanDetailId());
+            bizDayworkItem.setProductionPlanId(l.getProductionPlanId());
+            bizDayworkItem.setProductionPlanDetailSubDetailId(l.getProductionPlanDetailSubDetailId());
+            bizDayworkItem.setProductionPlanDetailSubDetailEquipmentId(l.getProductionPlanDetailSubDetailEquipmentId());
+            bizDayworkItem.setQualifiedNum(l.getQualifiedNum());
+            bizDayworkItem.setTechnologicalProcessId(l.getTechnologicalProcessId());
+            bizDayworkItem.setProdNum(l.getProdNum());
+            bizDayworkItem.setEquipmentDetailId(l.getEquipmentDetailId());
+            bizDayworkItem.setEquipmentDetailCode(l.getEquipmentDetailCode());
+            bizDayworkItem.setDeptId(item.getDeptId());
+            bizDayworkItem.setDeptName(item.getDeptName());
+            bizDayworkItem.setStartTime(item.getStartTime());
+            bizDayworkItem.setTurnoverType(item.getTurnoverType());
+            bizDayworkItem.setTurnoverArea(item.getTurnoverArea());
+            bizDayworkItem.setPlaceId(item.getPlaceId());
+            bizDayworkItem.setPlace(item.getPlace());
+            bizDayworkItem.setProcessStepNumber(l.getProcessStepNumber());
+            updateDayworks.add(bizDaywork);
+            inserts.add(bizDayworkItem);
+            if (sysDept.getAutoAllocation() == 1) {
+                BizProductionResourceGroupSubPlan groupSubPlan=new BizProductionResourceGroupSubPlan();
+                groupSubPlan.setDeptId(bizDayworkItem.getDeptId());
+                groupSubPlan.setProductionPlanDetailId(bizDayworkItem.getProductionPlanDetailId());
+
+                List<BizProductionResourceGroupSubPlan> groupSubPlanList = bizProductionResourceGroupSubPlanService.getAotList(groupSubPlan);
+                //如果没分配
+                if(groupSubPlanList.size()==0) {
+                    //查产品id
+                    BizProductionPlanDetail productionPlanDetail = bizProductionPlanDetailService.getOne(new QueryWrapper<BizProductionPlanDetail>().eq("id", bizDayworkItem.getProductionPlanDetailId()));
+                    //存放保存的subPlanList
+//                    List<BizProductionResourceGroupSubPlan> subPlanList = new ArrayList<>();
+                    for (BizProductionResourceGroup info : productionResourceGroupList) {
+                        BizProductionResourceGroupSubPlan subPlan = new BizProductionResourceGroupSubPlan();
+                        subPlan.setProductId(productionPlanDetail.getProductId());
+                        subPlan.setProductionPlanDetailId(l.getProductionPlanDetailId());
+                        subPlan.setTechnologicalProcessId(l.getTechnologicalProcessId());
+                        subPlan.setResourceGroupId(info.getId());
+                        subPlan.setDeptId(bizDayworkItem.getDeptId());
+                        subPlan.setResourceGroupCode(info.getCode());
+                        addResources.add(subPlan);
+                    }
+                }
+            }
+        });
+        return success();
+    }
+
+    @PostMapping("/turnoverOutsourceAll")
+    public AjaxResult turnoverOutsourceAll(@RequestBody BizDayworkItem item) {
+        return success();
+    }
 }