From 3528bc13c81aa4a37e6fc411bcd0800a1871acff Mon Sep 17 00:00:00 2001
From: mrzhssss <pro6@qq.com>
Date: 星期五, 14 一月 2022 08:10:21 +0800
Subject: [PATCH] 更新提交

---
 src/main/java/zy/cloud/wms/manager/controller/ProjectPlanController.java |  182 ++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 170 insertions(+), 12 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 8641548..1f81ed4 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/ProjectPlanController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/ProjectPlanController.java
@@ -1,14 +1,13 @@
 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 zy.cloud.wms.manager.entity.Item;
-import zy.cloud.wms.manager.entity.Node;
-import zy.cloud.wms.manager.entity.ProjectPlan;
+import com.core.exception.CoolException;
+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;
 import com.core.annotations.ManagerAuth;
@@ -28,6 +27,8 @@
     private ProjectPlanService projectPlanService;
     @Autowired
     private ItemService itemService;
+    @Autowired
+    private FlowStatusService flowStatusService;
 
     @RequestMapping(value = "/projectPlan/{id}/auth")
     @ManagerAuth
@@ -35,22 +36,37 @@
         return R.ok(projectPlanService.selectById(String.valueOf(id)));
     }
 
+
+
     @RequestMapping(value = "/projectPlan/list/auth")
     @ManagerAuth
     public R list(@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,
-                  @RequestParam String target) {
-        param.remove("target");
+                  @RequestParam Map<String, Object> param) {
+        String target = (String) param.get("items");
+        param.remove("items");
         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);
-        if (!Cools.isEmpty(orderByField)) {
-            wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
-        }
+
+        wrapper.orderBy("item_id");
+
+
+//        if (!Cools.isEmpty(orderByField)) {
+//            wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
+//        }
         return R.ok(projectPlanService.selectPage(new Page<>(curr, limit), wrapper));
     }
 
@@ -70,6 +86,23 @@
     @RequestMapping(value = "/projectPlan/add/auth")
     @ManagerAuth
     public R add(ProjectPlan projectPlan) {
+
+
+        ProjectPlan checkExist = projectPlanService.selectOne(new EntityWrapper<ProjectPlan>()
+                .eq("item_id", projectPlan.getItemId())
+                .eq("weight_num", projectPlan.getWeightNum()));
+        if (!Cools.isEmpty(checkExist)) {
+            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.setCreateId(getUserId());
+        projectPlan.setModifyId(getUserId());
         projectPlanService.insert(projectPlan);
         return R.ok();
     }
@@ -77,9 +110,14 @@
     @RequestMapping(value = "/projectPlan/update/auth")
     @ManagerAuth
     public R update(ProjectPlan projectPlan) {
+
         if (Cools.isEmpty(projectPlan) || null == projectPlan.getId()) {
             return R.error();
         }
+
+        projectPlan.setModifyTime(new Date());
+        projectPlan.setModifyId(getUserId());
+
         projectPlanService.updateById(projectPlan);
         return R.ok();
     }
@@ -130,10 +168,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) {
@@ -146,4 +186,122 @@
 
     }
 
+    /**
+     * 鑾峰彇寤舵湡椤圭洰
+     * @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();
+
+            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) {
+                projectPlan.setFlowName(projectPlan.getFlowId$());
+            }
+
+            itemsDTO.setNodes(allPlans);
+            itemsDTOs.add(itemsDTO);
+        }
+        return R.ok().add(itemsDTOs);
+    }
+
+
+
 }

--
Gitblit v1.9.1