From 964c095a69cc70115b6c5c185c0682aeb68da5ab Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期一, 12 九月 2022 14:47:27 +0800
Subject: [PATCH] #
---
src/main/java/zy/cloud/wms/manager/controller/ProjectPlanController.java | 343 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 316 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..304eccd 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;
@@ -22,6 +18,9 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
import java.util.*;
@RestController
@@ -34,11 +33,14 @@
@Autowired
private FlowStatusService flowStatusService;
+
@RequestMapping(value = "/projectPlan/{id}/auth")
@ManagerAuth
public R get(@PathVariable("id") String id) {
return R.ok(projectPlanService.selectById(String.valueOf(id)));
}
+
+
@RequestMapping(value = "/projectPlan/list/auth")
@ManagerAuth
@@ -48,16 +50,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 +96,7 @@
if (!Cools.isEmpty(checkExist)) {
throw new CoolException("鏉冮噸鍊煎啿绐�,璇锋鏌�");
}
+
FlowStatus id = flowStatusService.selectOne(new EntityWrapper<FlowStatus>()
.eq("id", projectPlan.getFlowId()));
if (!Cools.isEmpty(id)) {
@@ -106,27 +118,41 @@
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();
}
+
+ @RequestMapping("/projectPlan/update/homepage")
+ public R updateByHomepage(@RequestParam HashMap<String,Object> param){
+ String itemId = (String) param.get("itemId");
+ String weightNum = (String) param.get("weightNum");
+ //String realStartTime = (String) param.get("realStartTime");
+ String realEndTime = (String) param.get("realEndTime");
+ ProjectPlan projectPlan = projectPlanService.selectOne(new EntityWrapper<ProjectPlan>()
+ .eq("item_id", itemId)
+ .eq("weight_num", weightNum));
+ try {
+ //projectPlan.setRealStartTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(realStartTime));
+ if (realEndTime == null || realEndTime.equals("")) {
+
+ }else {
+ projectPlan.setRealEndTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(realEndTime));
+
+ }
+ } catch (ParseException e) {
+ throw new RuntimeException(e);
+ }
+ projectPlanService.updateById(projectPlan);
+ return R.ok();
+ }
+
@RequestMapping(value = "/projectPlan/delete/auth")
@ManagerAuth
@@ -174,10 +200,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 +218,265 @@
}
+ /**
+ * 鑾峰彇寤舵湡椤圭洰
+ * @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(
+ @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
+ ){
+
+ EntityWrapper<FlowStatus> wrapper = new EntityWrapper<>();
+ excludeTrash(param);
+ convert(param, wrapper);
+ wrapper.orderBy("weight_num");
+ List<FlowStatus> flowStatuses = flowStatusService.selectList(wrapper);
+
+ return R.ok().add(flowStatuses);
+ }
+
+
+ /**
+ * 杩旂粰鏉ㄦ垚寮哄墠绔�
+ */
+ @RequestMapping("/projectPlan/toFront/asrs")
+ public R toFrontAsrs(){
+ EntityWrapper<Item> wrapper = new EntityWrapper<>();
+ wrapper.eq("type",10);
+ List<Item> itemsArray = itemService.selectList(wrapper);
+ ArrayList<ItemDTO> itemDtos = new ArrayList<>();
+ for (Item item : itemsArray) {
+ ItemDTO itemDto = new ItemDTO();
+ itemDto.setProjectName(item.getName());
+ itemDto.setProjectType(item.getType$());
+ itemDto.setProjectStartTime(item.getStartTime$());
+ itemDto.setProjectEndTime(item.getEndTime$());
+ List<ProjectPlan> projectPlans = projectPlanService.selectList(new EntityWrapper<ProjectPlan>()
+ .eq("item_id", item.getId())
+ .orderBy("weight_num", true));
+ itemDto.setProjectPlans(projectPlans);
+ itemDtos.add(itemDto);
+ }
+ return R.ok().add(itemDtos);
+
+
+ }
+ @RequestMapping("/projectPlan/toFront/common")
+ public R toFrontCommon(){
+ EntityWrapper<Item> wrapper = new EntityWrapper<>();
+ wrapper.ne("type",10);
+ List<Item> itemsArray = itemService.selectList(wrapper);
+ ArrayList<ItemDTO> itemDtos = new ArrayList<>();
+ for (Item item : itemsArray) {
+ ItemDTO itemDto = new ItemDTO();
+ itemDto.setProjectName(item.getName());
+ itemDto.setProjectType(item.getType$());
+ itemDto.setProjectStartTime(item.getStartTime$());
+ itemDto.setProjectEndTime(item.getEndTime$());
+ List<ProjectPlan> projectPlans = projectPlanService.selectList(new EntityWrapper<ProjectPlan>()
+ .eq("item_id", item.getId())
+ .orderBy("weight_num", true));
+ itemDto.setProjectPlans(projectPlans);
+ itemDtos.add(itemDto);
+ }
+ return R.ok().add(itemDtos);
+
+
+ }
+
+ /**
+ * 杩斿洖缁欏皬鏉ㄥ墠绔暟鎹�
+ * 鏃х増鏈�,宸插純鐢�
+ * @return
+ */
+// @RequestMapping("/projectPlan/toFront/old")
+// public R toFrontOld(
+// @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
+// ){
+// EntityWrapper<Item> itemEntityWrapper = new EntityWrapper<>();
+// excludeTrash(param);
+// convert(param, itemEntityWrapper);
+// List<Item> items = itemService.selectList(itemEntityWrapper
+// .eq("status","1"));
+// List<ItemDTO> itemDTOS = new ArrayList<>();
+//
+// for (Item item : items) {
+//
+// ItemDTO itemDTO = new ItemDTO();
+// List<FlowsDTO> flows = new ArrayList<>();
+// itemDTO.setId(item.getName());
+// itemDTO.setStartDay(item.getStartTime$());
+// itemDTO.setEndDay(item.getEndTime$());
+// itemDTO.setPresaleAmt(item.getPresaleAmt());
+// itemDTO.setPlandeAmt(item.getPlandeAmt());
+// itemDTO.setRealdeAmt(item.getRealdeAmt());
+// itemDTO.setPlaninAmt(item.getPlaninAmt());
+// itemDTO.setRealinAmt(item.getRealinAmt());
+// itemDTO.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);
+// }
+// itemDTO.setNodes(flows);
+// itemDTOS.add(itemDTO);
+// }
+// return R.ok().add(itemDTOS);
+// }
+
+ /**
+ * 椤圭洰姹囨�绘暟鎹�
+ */
+ @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(data.getTotalQuantity()-data.getIntoSum());//闈為泦鎴愰」鐩暟
+ List<Item> list = itemService.inspected();
+ data.setInspected(list.size());//宸查獙鏀堕」鐩暟閲�
+ data.setWrongInspected(data.getTotalQuantity()-data.getInspected());//鏈獙鏀堕」鐩暟閲�
+ List<Item> lists = itemService.finished();
+ data.setFinished(lists.size());//宸插畬宸ユ湭楠屾敹鏁伴噺
+ return R.ok().add(data);
+ }
+
}
--
Gitblit v1.9.1