From 14d82196f6be4297ab4bed18840ded9848b359ef Mon Sep 17 00:00:00 2001
From: wang..123 <brook_w@163.com>
Date: 星期四, 24 三月 2022 16:01:54 +0800
Subject: [PATCH] #

---
 src/main/java/zy/cloud/wms/manager/controller/ProjectPlanController.java |  193 +++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 166 insertions(+), 27 deletions(-)

diff --git a/src/main/java/zy/cloud/wms/manager/controller/ProjectPlanController.java b/src/main/java/zy/cloud/wms/manager/controller/ProjectPlanController.java
index 4f48cf5..36943a1 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/ProjectPlanController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/ProjectPlanController.java
@@ -1,16 +1,12 @@
 package zy.cloud.wms.manager.controller;
 
-import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.core.common.DateUtils;
 import com.core.exception.CoolException;
-import zy.cloud.wms.manager.entity.FlowStatus;
-import zy.cloud.wms.manager.entity.Item;
-import zy.cloud.wms.manager.entity.Node;
-import zy.cloud.wms.manager.entity.ProjectPlan;
+import zy.cloud.wms.manager.entity.*;
 import zy.cloud.wms.manager.service.FlowStatusService;
 import zy.cloud.wms.manager.service.ItemService;
 import zy.cloud.wms.manager.service.ProjectPlanService;
@@ -40,6 +36,8 @@
         return R.ok(projectPlanService.selectById(String.valueOf(id)));
     }
 
+
+
     @RequestMapping(value = "/projectPlan/list/auth")
     @ManagerAuth
     public R list(@RequestParam(defaultValue = "1") Integer curr,
@@ -48,16 +46,25 @@
                   @RequestParam(required = false) String orderByType,
                   @RequestParam Map<String, Object> param) {
         String target = (String) param.get("items");
+        String search = (String) param.get("id");
         param.remove("items");
+        param.remove("id");
 
         EntityWrapper<ProjectPlan> wrapper = new EntityWrapper<>();
-        wrapper.eq("item_id",target);
+        if (target != null && !target.equals("0")){
+            wrapper.eq("item_id",target);
+        }else{
+            List<Item> items = itemService.selectList(new EntityWrapper<Item>()
+                    .eq("status", "2"));
+            for (Item item : items) {
+                wrapper.ne("item_id",item.getId());
+            }
+
+        }
         excludeTrash(param);
         convert(param, wrapper);
-        wrapper.orderBy("weight_num");
-//        if (!Cools.isEmpty(orderByField)) {
-//            wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
-//        }
+
+        wrapper.orderBy("item_id");
         return R.ok(projectPlanService.selectPage(new Page<>(curr, limit), wrapper));
     }
 
@@ -85,6 +92,7 @@
         if (!Cools.isEmpty(checkExist)) {
             throw new CoolException("鏉冮噸鍊煎啿绐�,璇锋鏌�");
         }
+
         FlowStatus id = flowStatusService.selectOne(new EntityWrapper<FlowStatus>()
                 .eq("id", projectPlan.getFlowId()));
         if (!Cools.isEmpty(id)) {
@@ -106,25 +114,14 @@
             return R.error();
         }
 
-        ProjectPlan checkExist = projectPlanService.selectOne(new EntityWrapper<ProjectPlan>()
-                .eq("item_id", projectPlan.getItemId())
-                .eq("weight_num", projectPlan.getWeightNum()));
-        if (!Cools.isEmpty(checkExist)) {
-            throw new CoolException("鏉冮噸鍊煎啿绐�,璇锋鏌�");
+        if (projectPlan.getDelay() < 0){
+            throw new CoolException("寤舵湡澶╂暟涓嶅彲涓鸿礋鏁�");
         }
-        FlowStatus id = flowStatusService.selectOne(new EntityWrapper<FlowStatus>()
-                .eq("id", projectPlan.getFlowId()));
-        if (!Cools.isEmpty(id)) {
-            projectPlan.setFlowName(id.getName());
-        }else {
-            throw new CoolException("鏃犳硶閫氳繃鑺傜偣ID鎵惧埌瀵瑰簲鑺傜偣");
-        }
+
         projectPlan.setModifyTime(new Date());
         projectPlan.setModifyId(getUserId());
-        projectPlanService.update(projectPlan,new EntityWrapper<ProjectPlan>()
-                .eq("item_id",projectPlan.getItemId())
-                .eq("weight_num",projectPlan.getWeightNum()));
-//        projectPlanService.updateById(projectPlan);
+
+        projectPlanService.updateById(projectPlan);
         return R.ok();
     }
 
@@ -174,10 +171,12 @@
         return R.ok();
     }
 
+
     @RequestMapping("/projectPlan/allProjects")
     public R allProjects() {
 
-        List<Item> items = itemService.selectList(null);
+        List<Item> items = itemService.selectList(new EntityWrapper<Item>()
+                .ne("status","2"));
 
         List<Map<String, Object>> result = new ArrayList<>();
         for (Item item : items) {
@@ -190,4 +189,144 @@
 
     }
 
+    /**
+     * 鑾峰彇寤舵湡椤圭洰
+     * @param curr
+     * @param limit
+     * @param orderByField
+     * @param orderByType
+     * @param param
+     * @return
+     */
+
+    @RequestMapping("/projectPlan/diffProjects")
+    public R diffProjects(@RequestParam(defaultValue = "1") Integer curr,
+                          @RequestParam(defaultValue = "10") Integer limit,
+                          @RequestParam(required = false) String orderByField,
+                          @RequestParam(required = false) String orderByType,
+                          @RequestParam Map<String, Object> param){
+        String name = (String) param.get("id");
+
+        Wrapper<ProjectPlan> condition = new EntityWrapper<ProjectPlan>();
+        if (!Cools.isEmpty(name)) {
+            Item targetItem = itemService.selectOne(new EntityWrapper<Item>()
+                    .like("name", name));
+
+            if (!Cools.isEmpty(targetItem)) {
+
+                condition
+                        .eq("item_id",targetItem.getId())
+                        .and()
+                        .gt("delay", 0)
+                        .or()
+                        .isNotNull("delay_reason")
+                        .and()
+                        .ne("delay_reason", "")
+                        .and()
+                        .eq("item_id",targetItem.getId());
+            }else {
+                return R.ok(new Page<>(curr,limit));
+            }
+
+        }else {
+            condition
+                    .gt("delay", 0)
+                    .or()
+                    .isNotNull("delay_reason")
+                    .and()
+                    .ne("delay_reason", "");
+        }
+        Page<ProjectPlan> projectPlanPage = projectPlanService.selectPage(new Page<>(curr, limit), condition);
+        return R.ok(projectPlanPage);
+    }
+
+    /**
+     * 鎵撳嵃鏂规硶
+     * @param param
+     * @return
+     */
+    @RequestMapping("/projectPlan/diffProjects/export")
+    public R diffExport(@RequestBody JSONObject param){
+
+//        EntityWrapper<ProjectPlan> wrapper = new EntityWrapper<>();
+//        hostEq(wrapper);
+        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+//        Map<String, Object> map = excludeTrash(param.getJSONObject("item"));
+//        convert(map, wrapper);
+//        List<ProjectPlan> projectPlans = projectPlanService.selectList(wrapper);
+
+        Wrapper<ProjectPlan> condition = new EntityWrapper<ProjectPlan>()
+                .gt("delay", 0)
+                .or()
+                .isNotNull("delay_reason")
+                .and()
+                .ne("delay_reason", "");
+        List<ProjectPlan> projectPlans = projectPlanService.selectList(condition);
+        return R.ok(exportSupport(projectPlans, fields));
+    }
+
+    /**
+     * 杩斿洖鎵�鏈夎妭鐐圭被鍨嬬粰灏忔潹鍐欑殑鍓嶇
+     * @return
+     */
+    @RequestMapping("/projectPlan/flowStatus")
+    public R flowStatus(){
+        EntityWrapper<FlowStatus> wrapper = new EntityWrapper<>();
+        wrapper.orderBy("weight_num");
+        List<FlowStatus> flowStatuses = flowStatusService.selectList(wrapper);
+
+        return R.ok().add(flowStatuses);
+    }
+
+    /**
+     * 杩斿洖缁欏皬鏉ㄥ墠绔暟鎹�
+     * @return
+     */
+    @RequestMapping("/projectPlan/toFront")
+    public R toFront(){
+        List<Item> items = itemService.selectList(new EntityWrapper<Item>()
+                .eq("status","1"));
+        List<ItemsDTO> itemsDTOs = new ArrayList<>();
+
+        for (Item item : items) {
+
+            ItemsDTO itemsDTO = new ItemsDTO();
+            List<FlowsDTO> flows = new ArrayList<>();
+            itemsDTO.setId(item.getName());
+            itemsDTO.setStartDay(item.getStartTime$());
+            itemsDTO.setEndDay(item.getEndTime$());
+            List<ProjectPlan> allPlans = projectPlanService.selectList(new EntityWrapper<ProjectPlan>()
+                    .eq("item_id", item.getId()));
+            for (ProjectPlan projectPlan : allPlans) {
+                FlowsDTO flowsDTO = new FlowsDTO();
+                flowsDTO.setName(projectPlan.getFlowId$());
+                flowsDTO.setStartTime(projectPlan.getStartTime$());
+                flowsDTO.setEndTime$(projectPlan.getEndTime$());
+                flowsDTO.setRealStartTime$(projectPlan.getRealStartTime$());
+                flowsDTO.setRealEndTime$(projectPlan.getRealEndTime$());
+                flows.add(flowsDTO);
+            }
+            itemsDTO.setNodes(flows);
+            itemsDTO.setItems(items);
+            itemsDTOs.add(itemsDTO);
+        }
+        return R.ok().add(itemsDTOs);
+    }
+
+    /**
+     * 椤圭洰姹囨�绘暟鎹�
+     */
+    @RequestMapping("/projectPlan/dataSummary")
+    public R dataSummary(){
+        dataSummary data = new dataSummary();
+        Wrapper<Item> wrapper = new EntityWrapper<>();
+        data.setTotalQuantity(itemService.selectCount(wrapper));//椤圭洰鎬诲叡鏁伴噺
+        data.setIntoSum(itemService.selectCount(wrapper.eq("type","10")));//闆嗘垚椤圭洰鏁�
+        data.setWrongInto(itemService.selectCount(wrapper.ne("type","10")));//闈為泦鎴愰」鐩暟
+        data.setInspected(itemService.selectCount(wrapper.eq("realLADate","").and().eq("realLADate",null)));//宸查獙鏀堕」鐩暟閲�
+        data.setWrongInspected(itemService.selectCount(wrapper.ne("realLADate",null)));//鏈獙鏀堕」鐩暟閲�
+        data.setFinished(itemService.selectCount(wrapper.ne("realinDate", null).eq("realLADate", null)));//宸插畬宸ユ湭楠屾敹鏁伴噺
+        return R.ok().add(data);
+    }
+
 }

--
Gitblit v1.9.1