From 24f998b69143b99846b646d05ecf185058ae5072 Mon Sep 17 00:00:00 2001
From: wang..123 <brook_w@163.com>
Date: 星期五, 25 三月 2022 10:43:44 +0800
Subject: [PATCH] #
---
src/main/java/zy/cloud/wms/manager/controller/ProjectPlanController.java | 244 +++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 217 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..e107a13 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,195 @@
}
+ /**
+ * 鑾峰彇寤舵湡椤圭洰
+ * @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$());
+ itemsDTO.setPresaleAmt(item.getPresaleAmt());
+ itemsDTO.setPlandeAmt(item.getPlandeAmt());
+ itemsDTO.setRealdeAmt(item.getRealdeAmt());
+ itemsDTO.setPlaninAmt(item.getPlaninAmt());
+ itemsDTO.setRealinAmt(item.getRealinAmt());
+ itemsDTO.setType(item.getType());
+
+ //add
+ Integer type = Integer.parseInt(item.getType());
+
+ 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$());
+ if(type==5) {
+ if(projectPlan.getFlowId()>=8 && projectPlan.getFlowId()<11){
+ flowsDTO.setStartTime("-");
+ flowsDTO.setEndTime$("-");
+ }else{
+ flowsDTO.setStartTime(projectPlan.getStartTime$());
+ flowsDTO.setEndTime$(projectPlan.getEndTime$());
+ flowsDTO.setRealStartTime$(projectPlan.getRealStartTime$());
+ flowsDTO.setRealEndTime$(projectPlan.getRealEndTime$());
+ }
+ }else if(type==1 || type==2 || type==6 || type==9) {
+ if((projectPlan.getFlowId()>=8&&projectPlan.getFlowId()<11) || projectPlan.getFlowId()==2 || projectPlan.getFlowId()==6){
+ flowsDTO.setStartTime("-");
+ flowsDTO.setEndTime$("-");
+ }else{
+ flowsDTO.setStartTime(projectPlan.getStartTime$());
+ flowsDTO.setEndTime$(projectPlan.getEndTime$());
+ flowsDTO.setRealStartTime$(projectPlan.getRealStartTime$());
+ flowsDTO.setRealEndTime$(projectPlan.getRealEndTime$());
+ }
+ }else if(type==3 || type==8){
+ if((projectPlan.getFlowId()>=8&&projectPlan.getFlowId()<11) || projectPlan.getFlowId()==6){
+ flowsDTO.setStartTime("-");
+ flowsDTO.setEndTime$("-");
+ }else{
+ flowsDTO.setStartTime(projectPlan.getStartTime$());
+ flowsDTO.setEndTime$(projectPlan.getEndTime$());
+ flowsDTO.setRealStartTime$(projectPlan.getRealStartTime$());
+ flowsDTO.setRealEndTime$(projectPlan.getRealEndTime$());
+ }
+ } else if(type==4){
+ if((projectPlan.getFlowId()>=8&&projectPlan.getFlowId()<11) || projectPlan.getFlowId()==6){
+ flowsDTO.setStartTime("-");
+ flowsDTO.setEndTime$("-");
+ }else{
+ flowsDTO.setStartTime(projectPlan.getStartTime$());
+ flowsDTO.setEndTime$(projectPlan.getEndTime$());
+ flowsDTO.setRealStartTime$(projectPlan.getRealStartTime$());
+ flowsDTO.setRealEndTime$(projectPlan.getRealEndTime$());
+ }
+ }else if(type==10){
+ 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);
+ }
+
+ /**
+ * 椤圭洰姹囨�绘暟鎹�
+ */
+ @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