From f43258c4e2394cb6182db9c94f5c5a6d033fd5d4 Mon Sep 17 00:00:00 2001 From: mrzhssss <pro6@qq.com> Date: 星期一, 12 九月 2022 13:53:41 +0800 Subject: [PATCH] ## --- src/main/java/zy/cloud/wms/manager/controller/ProjectPlanController.java | 338 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 311 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..c3b43e2 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,36 @@ 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)); + 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 +195,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 +213,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