From 92459e3e326488acae77e068c37eb4b96eae5ebf Mon Sep 17 00:00:00 2001 From: LSH Date: 星期三, 27 三月 2024 12:41:48 +0800 Subject: [PATCH] #周计划 --- src/main/java/com/zy/crm/manager/controller/OrderController.java | 180 ++++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 128 insertions(+), 52 deletions(-) diff --git a/src/main/java/com/zy/crm/manager/controller/OrderController.java b/src/main/java/com/zy/crm/manager/controller/OrderController.java index 006bf7f..0f17ce7 100644 --- a/src/main/java/com/zy/crm/manager/controller/OrderController.java +++ b/src/main/java/com/zy/crm/manager/controller/OrderController.java @@ -42,7 +42,9 @@ @Autowired private PriOnline2Service priOnline2Service; @Autowired - private PriSalesService priSalesService; + private PriQuoteService priQuoteService; + @Autowired + private FollowUpService followUpService; @RequestMapping(value = "/order/{id}/auth") @ManagerAuth @@ -62,10 +64,23 @@ if (param.get("status") != null) { status = Integer.parseInt(param.get("status").toString()); } + + Long director = null; + if (deptId==null && userId == null){ + if (getRole().getId()==3){ + userId = getUserId(); + }else if (getRole().getId()==2){ + deptId = getDeptId(); + userId = null; + } + director = getUserId(); + } + return R.ok(orderService.getPage(new Page<>(curr, limit) , getHostId() , deptId == null ? null : String.valueOf(deptId) - , userId == null ? getUserId() : userId + , userId + , director , condition , status) ); @@ -110,7 +125,29 @@ } Date now = new Date(); + if (order.getStatus()!=0){ + if (Cools.isEmpty(order.getMemoExperience())){ + return R.error("璇疯緭鍏ュ績寰椾綋浼�"); + }else { + FollowUp followUp = new FollowUp(); + followUp.setWorkMsg(order.getMemoExperience()); + followUp.setOrderId(order.getId()); + followUp.setUserId(getUserId()); + followUp.setCreateBy(getUserId()); + followUp.setUpdateBy(getUserId()); + followUp.setDirector(getUserId()); + followUp.setDeptId(getDeptId()); + followUp.setCreateTime(now); + followUp.setUpdateTime(now); + followUpService.insert(followUp); + } + }else { + if (Cools.isEmpty(order.getMemoExperience())) { + order.setMemoExperience(null); + } + } + order.setMemoExperience(null); order.setUpdateBy(getUserId()); order.setUpdateTime(now); Order orderOld = orderService.selectById(order.getId()); @@ -132,48 +169,91 @@ } public void updateDirector(Long orderId, User user , Date now){ + User manager = new User(); + try{ + manager = userService.getDeptManager(getHostId(), user.getDeptId()); // 鑾峰彇閮ㄩ棬棰嗗 + }catch (Exception e){ + manager = user; + } try{ List<Plan> plans = planService.selectList(new EntityWrapper<Plan>().eq("order_id", orderId)); for (Plan plan:plans){ - if (plan.getSettle$().equals("瀹℃壒閫氳繃")){ + boolean signPlan = false; + List<PriOnline2> priOnline2s = priOnline2Service.selectList(new EntityWrapper<PriOnline2>().eq("item_id", plan.getId())); + if (!Cools.isEmpty(priOnline2s)){ + for (PriOnline2 priOnline2:priOnline2s){ + boolean signPriOnline2 = false; + List<PriQuote> priQuotes = priQuoteService.selectList(new EntityWrapper<PriQuote>().eq("pri_online_id", priOnline2.getId())); + if (!Cools.isEmpty(priQuotes)){ + for (PriQuote priQuote:priQuotes){ + if (priQuote.getSettle()>=4){ + continue; + } + signPriOnline2 = true; + priQuote.setUserId(user.getId()); + priQuote.setDeptId(user.getDeptId()); + priQuote.setHostId(user.getHostId()); + priQuote.setUpdateUserId(getUserId()); + priQuote.setUpdateTime(now); + + List<SettleDto> priQuoteDtos = JSON.parseArray(priQuote.getSettleMsg(), SettleDto.class); + List<SettleDto> priQuoteDtoList = new ArrayList<>(); + for (SettleDto dto : priQuoteDtos) { + if (priQuoteDtos.indexOf(dto) == 0) { + dto.setMsg(dto.getMsg() + " 鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�� " + DateUtils.convert(now) + " 璺熻釜椤圭洰淇敼璐熻矗浜轰负锛�" + priQuote.getUserId$()); + dto.setUserId(priQuote.getUserId()); + dto.setUsername(priQuote.getUserId$()); + } else if (dto.getStep() == 2) { + dto.setMsg(dto.getMsg() + " 鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�� " + DateUtils.convert(now) + " 璺熻釜椤圭洰淇敼璐熻矗浜烘椂鍚屾淇敼璐熻矗浜虹粡鐞嗕负锛�" + manager.getNickname()); + dto.setUserId(manager.getId()); + dto.setUsername(manager.getNickname()); + } else if (dto.getStep() == 4) { + dto.setUserId(priQuote.getUserId()); + dto.setUsername(priQuote.getUserId$()); + } + priQuoteDtoList.add(dto); + } + priQuote.setSettleMsg(JSON.toJSONString(priQuoteDtoList)); + + priQuoteService.updateById(priQuote); + } + }else { + signPriOnline2=true; + } + if (!signPriOnline2){ + continue; + } + signPlan = true; + + priOnline2.setUserId(user.getId()); + priOnline2.setDeptId(user.getDeptId()); + priOnline2.setHostId(user.getHostId()); + priOnline2.setUpdateUserId(getUserId()); + priOnline2.setUpdateTime(now); + List<SettleDto> priOnline2Dtos = JSON.parseArray(priOnline2.getSettleMsg(), SettleDto.class); + List<SettleDto> priOnline2DtoList = new ArrayList<>(); + for (SettleDto dto : priOnline2Dtos) { + if (priOnline2Dtos.indexOf(dto) == 0) { + dto.setMsg(dto.getMsg() + " 鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�� " + DateUtils.convert(now) + " 璺熻釜椤圭洰淇敼璐熻矗浜轰负锛�" + priOnline2.getUser$()); + } else if (priOnline2Dtos.indexOf(dto) == priOnline2Dtos.size()-1) { + dto.setUserId(priOnline2.getUserId()); + dto.setUsername(priOnline2.getUser$()); + } + priOnline2DtoList.add(dto); + } + priOnline2.setSettleMsg(JSON.toJSONString(priOnline2DtoList)); + + priOnline2Service.updateById(priOnline2); + } + + }else { + signPlan=true; + } + + if (!signPlan){ continue; } - List<PriOnline2> priOnline2s = priOnline2Service.selectList(new EntityWrapper<PriOnline2>().eq("item_id", plan.getId())); - for (PriOnline2 priOnline2:priOnline2s){ - List<PriSales> priSalesList = priSalesService.selectList(new EntityWrapper<PriSales>().eq("pri_online2_id", priOnline2.getId())); - for (PriSales priSales:priSalesList){ - priSales.setUserId(user.getId()); - priSales.setDeptId(user.getDeptId()); - priSales.setHostId(user.getHostId()); - priSalesService.updateById(priSales); - } - priOnline2.setUserId(user.getId()); - priOnline2.setDeptId(user.getDeptId()); - priOnline2.setHostId(user.getHostId()); - priOnline2.setUpdateUserId(getUserId()); - priOnline2.setUpdateTime(now); -// List<SettleDto> priOnline2Dtos = JSON.parseArray(plan.getSettleMsg(), SettleDto.class); -// List<SettleDto> priOnline2DtoList = new ArrayList<>(); -// for (SettleDto dto : priOnline2Dtos) { -// switch (dto.getStep()) { -// case 1: -// dto.setMsg(dto.getMsg()+" 鈥斺�斺�斺�斺�斺�� "+DateUtils.convert(now)+" 璺熻釜椤圭洰淇敼璐熻矗浜轰负锛�"+plan.getUserId$()); -// dto.setUserId(plan.getUserId()); -// dto.setUsername(plan.getUserId$()); -// break; -// case 4: -// dto.setUserId(plan.getUserId()); -// dto.setUsername(plan.getUserId$()); -// break; -// default: -// break; -// } -// priOnline2DtoList.add(dto); -// } -// plan.setSettleMsg(JSON.toJSONString(priOnline2DtoList)); - priOnline2Service.updateById(priOnline2); - } plan.setUserId(user.getId()); plan.setDeptId(user.getDeptId()); plan.setHostId(user.getHostId()); @@ -183,18 +263,13 @@ List<SettleDto> planDtos = JSON.parseArray(plan.getSettleMsg(), SettleDto.class); List<SettleDto> planDtoList = new ArrayList<>(); for (SettleDto dto : planDtos) { - switch (dto.getStep()) { - case 1: - dto.setMsg(dto.getMsg()+" 鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�� "+DateUtils.convert(now)+" 璺熻釜椤圭洰淇敼璐熻矗浜轰负锛�"+plan.getUserId$()); - dto.setUserId(plan.getUserId()); - dto.setUsername(plan.getUserId$()); - break; - case 4: - dto.setUserId(plan.getUserId()); - dto.setUsername(plan.getUserId$()); - break; - default: - break; + if (planDtos.indexOf(dto) == 0) { + dto.setMsg(dto.getMsg() + " 鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�� " + DateUtils.convert(now) + " 璺熻釜椤圭洰淇敼璐熻矗浜轰负锛�" + plan.getUserId$()); + dto.setUserId(plan.getUserId()); + dto.setUsername(plan.getUserId$()); + } else if (dto.getStep().equals(plan.getSettleSize())) { + dto.setUserId(plan.getUserId()); + dto.setUsername(plan.getUserId$()); } planDtoList.add(dto); } @@ -254,7 +329,7 @@ wrapper.like("name", condition); Long id = getRole().getId(); if (id.equals(1L)) { - wrapper.eq("host_id", 1); + wrapper.eq("host_id", getHostId()); } else if (id.equals(2L)) { wrapper.eq("dept_id", getDeptId()); } else { @@ -291,6 +366,7 @@ , getHostId() , role.judgeLeader() ? String.valueOf(user.getDeptId()) : null , user.getId() + , null , condition , 0); List<KeyValueVo> vos = new ArrayList<>(); @@ -304,7 +380,7 @@ * excel瀵煎叆 */ @PostMapping(value = "/order/excel/import/auth") - @ManagerAuth(memo = "鐢叉柟鍗曚綅Excel瀵煎叆") + @ManagerAuth(memo = "瀹㈡埛淇℃伅Excel瀵煎叆") // @Transactional public R orderExcelImport(MultipartFile file) throws IOException { InputStream inStream = file.getInputStream(); -- Gitblit v1.9.1