From a6535d6c9889a4240d037367db3c481a679e15a0 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期二, 10 十月 2023 09:09:54 +0800 Subject: [PATCH] #一键出差、报销完善相关 --- src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java | 119 ++++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 97 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java b/src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java index ea85bb5..0a9e933 100644 --- a/src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java +++ b/src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java @@ -144,24 +144,28 @@ priOnline2.setItemId(Long.parseLong(map.get("itemId").toString())); SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss"); priOnline2.setOrderNum(format.format(new Date())); - //鍒涘缓浜哄憳 - priOnline2.setUserId(getUserId()); - //鍒涘缓浜哄憳閮ㄩ棬 - priOnline2.setDeptId(getDeptId()); - //鏇存柊鏃堕棿 - priOnline2.setUpdateTime(new Date()); - //鏇存柊浜哄憳 - priOnline2.setUpdateUserId(getUserId()); - //鐘舵�侊紝鏈畬鎴� - priOnline2.setStatus(0); //涓氬姟鍛� // Item item = itemService.selectById(priOnline.getItemId()); Plan plan = planService.selectById(priOnline2.getItemId()); + User userUp = userService.selectById(plan.getUserId()); + + //涓氬姟鍛� + priOnline2.setUserId(userUp.getId()); + //涓氬姟鍛橀儴闂� + priOnline2.setDeptId(userUp.getDeptId()); + //鏇存柊浜哄憳 + priOnline2.setUpdateUserId(getUserId()); + //鏇存柊鏃堕棿 + priOnline2.setUpdateTime(new Date()); + + //鐘舵�侊紝鏈畬鎴� + priOnline2.setStatus(0); + if (plan.getStatus()!=1){ return R.error("姝よ鍒掑崟鐘舵�佹敼鍙橈紝璇峰埛鏂伴〉闈㈤噸鏂伴�夋嫨锛�"); } - priOnline2.setMemberId(plan.getUserId()); + priOnline2.setMemberId(getUserId()); Cstmr cstmr = cstmrService.selectById(plan.getCstmrId()); priOnline2.setTemplateName(cstmr.getName()); //鐢叉柟鍗曚綅鍚嶇О @@ -182,7 +186,7 @@ ProcessPermissions processPermissions = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 5).eq("process", node));//2锛氭姤浠锋祦绋� User manager = userService.selectById(processPermissions.getUserId()); // 鑾峰彇鎶ヤ环娴佺▼鑺傜偣2纭浜� - User userUp = userService.selectById(plan.getUserId()); // 鑾峰彇涓氬姟鍛� + // 鑾峰彇涓氬姟鍛� List<String> initNames = new ArrayList<>(); initNames.add("鎺ュ彇鏍镐环浠诲姟"); initNames.add("瀹屾垚鏍镐环"); @@ -403,7 +407,7 @@ map.put("id", priOnline2.getId()); // map.put("value", priOnline2.getOrderNum() + "/" + priOnline2.getPlanId$() + "/" + priOnline2.getMemberId$()); // map.put("value", priOnline2.getOrderNum() + "/" + priOnline2.getTemplateName()); - map.put("value", priOnline2.getOrderNum() + "/" + priOnline2.getPlanId$() + "/" + priOnline2.getMemberId$() + "/" + priOnline2.getTemplateName()); + map.put("value", priOnline2.getOrderNum() + "/" + priOnline2.getPlanId$() + "/" + priOnline2.getUser$() + "/" + priOnline2.getTemplateName()); result.add(map); } @@ -438,13 +442,12 @@ Date now = new Date(); switch (priOnline2.getSettle()) { case 0: - User user2 = userService.selectById(priOnline2.getUserId()); - User manager1 = new User(); - try{ - manager1 = userService.getDeptManager(getHostId(), user2.getDeptId()); // 鑾峰彇閮ㄩ棬棰嗗 - }catch (Exception e){ - manager1 = user2; - } + // 鏈儴闂ㄧ粡鐞嗗鏍� 鑺傜偣璐熻矗浜� + Plan plan1 = planService.selectById(priOnline2.getItemId()); + PlanType planType1 = planTypeService.selectById(plan1.getPlanType()); + + ProcessPermissions processPermissions1 = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 5).eq("process", "2-"+planType1.getType()));//2锛氭姤浠锋祦绋� + User manager1 = userService.selectById(processPermissions1.getUserId()); // 鑾峰彇鎶ヤ环娴佺▼鑺傜偣2纭浜� if (Cools.isEmpty(getUser())) { return R.error("鎶辨瓑锛屾偍娌℃湁鎻愪氦鐨勬潈闄�"); @@ -480,8 +483,6 @@ } break; case 1: - User user = userService.selectById(priOnline2.getUserId()); - // 鏈儴闂ㄧ粡鐞嗗鏍� 鑺傜偣璐熻矗浜� Plan plan = planService.selectById(priOnline2.getItemId()); PlanType planType = planTypeService.selectById(plan.getPlanType()); @@ -518,6 +519,8 @@ // 淇敼瑙勫垝鍗曠姸鎬� priOnline2.setSettle(2); // 鐢宠閫氳繃 priOnline2.setUpdateTime(now); + priOnline2.setUpdateUserId(getUserId()); + priOnline2.setMemberId(plan.getUserId()); if (!priOnline2Service.updateById(priOnline2)) { throw new CoolException("瀹℃牳澶辫触锛岃鑱旂郴绠$悊鍛�"); } @@ -552,9 +555,15 @@ priOnline2.setSettle(3); // 瀹℃壒閫氳繃 priOnline2.setStatus(1); priOnline2.setUpdateTime(new Date()); + priOnline2.setUpdateUserId(getUserId()); if (!priOnline2Service.updateById(priOnline2)) { throw new CoolException("纭澶辫触锛岃鑱旂郴绠$悊鍛�"); + } + try{ + priQuoteAdd(priOnline2.getId(),plannerId); + }catch (Exception e){ + return R.error("鑷姩鐢熸垚鎶ヤ环鍗曞け璐�"); } break; default: @@ -563,4 +572,70 @@ return R.ok("瀹℃壒鎴愬姛"); } + public void priQuoteAdd(Long priOnlineId,Long priType){ + Pri pri = null; + if (priType==1L){ + pri = priService.selectById(114); + }else { + pri = priService.selectById(115); + } + + PriOnline2 priOnline2 = priOnline2Service.selectById(priOnlineId); + + PriQuote priQuote = new PriQuote(); + priQuote.setCreateTime(new Date()); + priQuote.setTitle(pri.getTitle()); + priQuote.setTemplateName(priOnline2.getTemplateName()); + priQuote.setSheetData(pri.getSheetData()); + priQuote.setPriOnlineId(priOnlineId); + priQuote.setItemId(priOnline2.getItemId()); + priQuote.setOrderNum(priOnline2.getOrderNum()); + SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss"); + priQuote.setInOrderNum(format.format(new Date())); + //涓氬姟鍛� + Plan plan = planService.selectById(priQuote.getItemId()); + User userUp = userService.selectById(plan.getUserId()); + //涓氬姟鍛� + priQuote.setUserId(userUp.getId()); + //鏇存柊浜哄憳 + priQuote.setUpdateUserId(getUserId()); + //鎵�灞為儴闂� + priQuote.setDeptId(userUp.getDeptId()); + //鏇存柊鏃堕棿 + priQuote.setUpdateTime(new Date()); + //妯℃澘 + Integer i = priType == 1L ? 1 : 2; + priQuote.setTemplate(i.toString()); + + //璁剧疆椤圭洰娴佺▼ + plan.setStep(3); + +// priQuote.setForm(JSON.toJSONString(map)); // 鑷畾涔夎〃鍗曞唴瀹� + priQuote.setSettle(1); // 1.寮�濮� + User manager = new User(); + try{ + manager = userService.getDeptManager(getHostId(), getUser().getDeptId()); // 鑾峰彇閮ㄩ棬棰嗗 + }catch (Exception e){ + manager = getUser(); + } + priQuote.setMemberId(manager.getId()); + + ProcessPermissions processPermissions = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 2).eq("process", "3-1"));//2锛氭姤浠锋祦绋� + User president = userService.selectById(processPermissions.getUserId()); // 鑾峰彇鎶ヤ环娴佺▼鑺傜偣3-1纭浜� + priQuote.setSettleMsg(JSON.toJSONString(SettleDto.initPriQuote(plan, manager,president,getUser()))); + + planService.updateById(plan); + + priQuoteService.insert(priQuote); + } + + @PostMapping(value = "/priOnline2/priQuoteAdd/list/auth") + @ManagerAuth + public R priOnline2priQuoteAdd(@RequestParam Long planId){ + List<KeyValueVo> vos = new ArrayList<>(); + vos.add(new KeyValueVo("鎶ヤ环妯℃澘1", 1L)); + vos.add(new KeyValueVo("鎶ヤ环妯℃澘2", 2L)); + return R.ok().add(vos); + } + } -- Gitblit v1.9.1