From 9e328b797e1bf9109d0a2185045176ac61735c06 Mon Sep 17 00:00:00 2001
From: mrzhssss <pro6@qq.com>
Date: 星期六, 15 一月 2022 08:33:48 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/zypms' into zypms
---
src/main/java/zy/cloud/wms/manager/controller/ProjectPlanController.java | 202 +++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 190 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..efb12a6 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,45 @@
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");
+ 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);
- if (!Cools.isEmpty(orderByField)) {
- wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
- }
+
+// HashSet<String> excludeItems = new HashSet<>();
+// excludeItems.add("id");
+// excludeItems.add("item_id");
+// excludeItems.add("weight_num");
+// excludeItems.add("create_time");
+// excludeItems.add("create_id");
+// excludeItems.add("modify_time");
+// excludeItems.add("modify_id");
+//
+// allLike(ProjectPlan.class,excludeItems,wrapper, (String) param.get("id"));
+ wrapper.orderBy("item_id");
return R.ok(projectPlanService.selectPage(new Page<>(curr, limit), wrapper));
}
@@ -70,6 +94,24 @@
@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 +119,18 @@
@RequestMapping(value = "/projectPlan/update/auth")
@ManagerAuth
public R update(ProjectPlan projectPlan) {
+
if (Cools.isEmpty(projectPlan) || null == projectPlan.getId()) {
return R.error();
}
+
+ if (projectPlan.getDelay() < 0){
+ throw new CoolException("寤舵湡澶╂暟涓嶅彲涓鸿礋鏁�");
+ }
+
+ projectPlan.setModifyTime(new Date());
+ projectPlan.setModifyId(getUserId());
+
projectPlanService.updateById(projectPlan);
return R.ok();
}
@@ -130,10 +181,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 +199,129 @@
}
+ /**
+ * 鑾峰彇寤舵湡椤圭洰
+ * @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);
+ itemsDTOs.add(itemsDTO);
+ }
+ return R.ok().add(itemsDTOs);
+ }
+
+
+
}
--
Gitblit v1.9.1