From 14d82196f6be4297ab4bed18840ded9848b359ef Mon Sep 17 00:00:00 2001 From: wang..123 <brook_w@163.com> Date: 星期四, 24 三月 2022 16:01:54 +0800 Subject: [PATCH] # --- src/main/java/zy/cloud/wms/manager/controller/ProjectPlanController.java | 193 +++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 166 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..36943a1 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,144 @@ } + /** + * 鑾峰彇寤舵湡椤圭洰 + * @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); + itemsDTO.setItems(items); + 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