From 7804e0f43c902645e29a5a7fccd2c741f86cd312 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期五, 01 十二月 2023 08:14:05 +0800 Subject: [PATCH] # --- src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java | 453 +++++++++++++++++++++++++++++++++----------------------- 1 files changed, 265 insertions(+), 188 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 b5e5cbf..acba7ea 100644 --- a/src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java +++ b/src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java @@ -12,10 +12,12 @@ import com.core.common.R; import com.core.domain.KeyValueVo; import com.core.exception.CoolException; +import com.zy.crm.common.entity.PhoneCodeTypeParam; import com.zy.crm.common.model.SettleDto; import com.zy.crm.common.web.BaseController; import com.zy.crm.manager.entity.*; import com.zy.crm.manager.service.*; +import com.zy.crm.manager.utils.CompanySearchUtils; import com.zy.crm.system.entity.User; import com.zy.crm.system.service.UserService; import org.springframework.beans.factory.annotation.Autowired; @@ -42,7 +44,7 @@ private PlanService planService; @Autowired - private PlanTypeService planTypeService; + private PlanTypeService planTypeService; @Autowired private ProcessPermissionsService processPermissionsService; @@ -56,6 +58,14 @@ @Autowired private UserService userService; + @Autowired + private PriOnline2FollService priOnline2FollService; + + @Autowired + private SmsCodeService smsCodeService; + + String PZH = " 鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�� "; + @RequestMapping(value = "/priOnline2/{id}/auth") @ManagerAuth public R get(@PathVariable("id") String id) { @@ -63,7 +73,7 @@ assert priOnline2 != null; JSONObject resultObj = JSON.parseObject(JSON.toJSONString(priOnline2)); // 姝ラ鏉$浉鍏� - resultObj.put("step", priOnline2.getSettle() == 4 ? 0 : priOnline2.getSettle() + 1); + resultObj.put("step", priOnline2.getSettle().equals(priOnline2.getSettleSize()) ? 0 : priOnline2.getSettle() + 1); return R.ok().add(resultObj); } @@ -79,63 +89,91 @@ @RequestMapping(value = "/priOnline2/list/auth") @ManagerAuth - public R list(@RequestParam(defaultValue = "1")Integer curr, - @RequestParam(defaultValue = "10")Integer limit, - @RequestParam(required = false)String orderByField, - @RequestParam(required = false)String orderByType, - @RequestParam(required = false)String condition, - @RequestParam Map<String, Object> param){ + public R list(@RequestParam(defaultValue = "1") Integer curr, + @RequestParam(defaultValue = "10") Integer limit, + @RequestParam(required = false) String orderByField, + @RequestParam(required = false) String orderByType, + @RequestParam(required = false) String allSwitch, + @RequestParam(required = false) String condition, + @RequestParam Map<String, Object> paramSou) { EntityWrapper<PriOnline2> wrapper = new EntityWrapper<>(); - wrapper.setSqlSelect("id,title,create_time as createTime,filepath,settle,item_id as itemId,order_num as orderNum,template_name as templateName,user_id as userId,dept_id as deptId,status,update_time as updateTime,check_data as checkData,update_user_id as updateUserId,member_id as memberId"); + wrapper.setSqlSelect("id,title,create_time as createTime,assistant_plan_id as assistantPlanId,host_plan_id as hostPlanId,assistant_host_sign as assistantHostSign,filepath,settle,settle_size as settleSize,item_id as itemId,order_num as orderNum,template_name as templateName,user_id as userId,dept_id as deptId,status,update_time as updateTime,check_data as checkData,update_user_id as updateUserId,member_id as memberId"); // wrapper.in("member_id", getUserRoleBelongsToUserId("allopen")); - excludeTrash(param); + excludeTrash(paramSou); + Map<String, Object> param = convertallSwitch(paramSou); + + if (!Cools.isEmpty(allSwitch)){ + List<PriOnline2> priOnline2List = priOnline2Service.listByAll(getUserId()); + Page<PriOnline2> page1 = new Page<PriOnline2>(curr, limit).setRecords(priOnline2List); + page1.setTotal(priOnline2Service.listByAllTotal(getUserId())); + return R.ok(page1); + } + convert(param, wrapper); allLike(PriOnline2.class, param.keySet(), wrapper, condition); - wrapper.or().eq("member_id",getUserId()); - if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + wrapper.or().eq("member_id", getUserId()); +// if (!Cools.isEmpty(orderByField)) { +// wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType)); +// } + wrapper.orderBy("update_time",false); + wrapper.orderBy("create_time",false); return R.ok(priOnline2Service.selectPage(new Page<>(curr, limit), wrapper)); } - private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ + private Map<String, Object> convertallSwitch(Map<String, Object> map) { + for (Map.Entry<String, Object> entry : map.entrySet()) { + if (entry.getKey().equals("allSwitch")) { + map.remove("allSwitch"); + } + } + return map; + } + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) { boolean signUserId = false; boolean signDeptId = false; boolean signHostId = false; - for (Map.Entry<String, Object> entry : map.entrySet()){ - if (entry.getKey().equals("dept_id")){ + for (Map.Entry<String, Object> entry : map.entrySet()) { + if (entry.getKey().equals("dept_id")) { signDeptId = true; - if (String.valueOf(entry.getValue()).equals("19")){ + if (String.valueOf(entry.getValue()).equals("19")) { signHostId = true; } } } - for (Map.Entry<String, Object> entry : map.entrySet()){ + for (Map.Entry<String, Object> entry : map.entrySet()) { String val = String.valueOf(entry.getValue()); - if (val.contains(RANGE_TIME_LINK)){ + if (val.contains(RANGE_TIME_LINK)) { String[] dates = val.split(RANGE_TIME_LINK); wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); - } else if (entry.getKey().equals("dept_id")){ - if (!val.equals("19")){ + } else if (entry.getKey().equals("dept_id")) { + if (!val.equals("19")) { wrapper.eq(entry.getKey(), val); } - } else if (entry.getKey().equals("user_id") && !signDeptId){ + } else if (entry.getKey().equals("user_id") && !signDeptId) { signUserId = true; wrapper.eq(entry.getKey(), val); } else { wrapper.like(entry.getKey(), val); } } - if (!signUserId && !signDeptId){ - wrapper.eq("user_id", getUserId()); + if (!signUserId && !signDeptId) { + if (getRole().getId() == 1) { + wrapper.or().eq("host_id", getHostId()); + } else if (getRole().getId() == 2) { + wrapper.eq("dept_id", getDeptId()); + } else { + wrapper.eq("user_id", getUserId()); + } } - if (signHostId){ - wrapper.or().eq("host_id",1); + if (signHostId) { + wrapper.or().eq("host_id", getHostId()); } } @RequestMapping(value = "/priOnline2/add/auth") @ManagerAuth(memo = "娣诲姞鏍镐环绠$悊") - public R add(@RequestBody Map<String,Object> map) { + public R add(@RequestBody Map<String, Object> map) { PriOnline2 priOnline2 = new PriOnline2(); priOnline2.setCreateTime(new Date()); priOnline2.setTitle(map.get("title").toString()); @@ -149,6 +187,13 @@ // Item item = itemService.selectById(priOnline.getItemId()); Plan plan = planService.selectById(priOnline2.getItemId()); User userUp = userService.selectById(plan.getUserId()); + priOnline2.setAssistantHostSign(plan.getAssistantHostSign()); + priOnline2.setAssistantPlanId(plan.getAssistantPlanId()); + priOnline2.setHostPlanId(plan.getId()); + if (plan.getAssistantHostSign()==1){ + priOnline2.setHostPlanId(plan.getHostPlanId()); + } + //涓氬姟鍛� priOnline2.setUserId(userUp.getId()); @@ -162,13 +207,12 @@ //鐘舵�侊紝鏈畬鎴� priOnline2.setStatus(0); - if (plan.getStatus()!=1){ + if (plan.getStatus() != 1) { return R.error("姝よ鍒掑崟鐘舵�佹敼鍙橈紝璇峰埛鏂伴〉闈㈤噸鏂伴�夋嫨锛�"); } - priOnline2.setMemberId(getUserId()); Cstmr cstmr = cstmrService.selectById(plan.getCstmrId()); - priOnline2.setTemplateName(cstmr.getName()); //鐢叉柟鍗曚綅鍚嶇О + priOnline2.setTemplateName(cstmr.getName()); //瀹㈡埛淇℃伅鍚嶇О priOnline2.setSettle(0); @@ -178,34 +222,68 @@ // }catch (Exception e){ // manager = getUser(); // } - String node="2-"; - PlanType planType = planTypeService.selectById(plan.getPlanType()); - node = node+planType.getType(); +// String node="2-"; +// PlanType planType = planTypeService.selectById(plan.getPlanType()); +// node = node+planType.getType(); +// ProcessPermissions processPermissions = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 5).eq("process", "2-1"));//2锛氭牳浠锋祦绋� +// User manager = userService.selectById(processPermissions.getUserId()); // 鑾峰彇鏍镐环娴佺▼鑺傜偣2纭浜� - ProcessPermissions processPermissions = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 5).eq("process", node));//2锛氭姤浠锋祦绋� - User manager = userService.selectById(processPermissions.getUserId()); // 鑾峰彇鎶ヤ环娴佺▼鑺傜偣2纭浜� - - // 鑾峰彇涓氬姟鍛� + // 鑾峰彇涓氬姟鍛� List<String> initNames = new ArrayList<>(); initNames.add("鎺ュ彇鏍镐环浠诲姟"); initNames.add("瀹屾垚鏍镐环"); - initNames.add("缁忕悊瀹℃牳"); +// initNames.add("缁忕悊瀹℃牳"); initNames.add("涓氬姟鍛樼‘璁�"); - priOnline2.setSettleMsg(JSON.toJSONString(SettleDto.initSalesPricing(manager,getUser(),userUp,initNames,3))); - + List<User> users = new ArrayList<>(); + users.add(getUser()); + users.add(getUser()); +// users.add(new User()); + users.add(userUp); + priOnline2.setSettleMsg(JSON.toJSONString(SettleDto.InItFlowPath(users, initNames, users.size()))); + priOnline2.setSettleSize(users.size()); + priOnline2.setPlanId(plan.getId()); + if (users.size()>1){ + priOnline2.setMemberId(users.get(1).getId()); + } else { + priOnline2.setMemberId(getUserId()); + } //璁剧疆椤圭洰娴佺▼ plan.setStep(2); plan.setStatus(2); planService.updateById(plan); priOnline2Service.insert(priOnline2); + + // 鑷姩娣诲姞璺熻繘浜� + for (User user:users){ + List<PriOnline2Foll> priOnline2Folls = priOnline2FollService.selectList(new EntityWrapper<PriOnline2Foll>().eq("pri_online2_id", priOnline2.getId()).eq("user_id", user.getId())); + if (Cools.isEmpty(priOnline2Folls) || priOnline2Folls.size()==0){ + PriOnline2Foll priOnline2Foll = new PriOnline2Foll(); + priOnline2Foll.setPriOnline2Id(priOnline2.getId()); + priOnline2Foll.setUserId(user.getId()); + if (!priOnline2FollService.insert(priOnline2Foll)) { + throw new CoolException("淇濆瓨澶辫触锛岃閲嶈瘯"); + } + } + } + + + if (plan.getAssistantHostSign()==1){ + Plan plan1 = planService.selectById(plan.getHostPlanId()); + plan1.setStatus2(2); + planService.updateById(plan1); + } + return R.ok(); } @RequestMapping(value = "/priOnline2/addOther/auth") @ManagerAuth(memo = "鍙﹀瓨鏍镐环绠$悊") - public R addOther(@RequestBody Map<String,Object> map) { + public R addOther(@RequestBody Map<String, Object> map) { + if (true){ + return R.error("绂佹锛�"); + } PriOnline2 online = priOnline2Service.selectById(Long.parseLong(map.get("id").toString())); PriOnline2 priOnline2 = new PriOnline2(); @@ -235,9 +313,9 @@ return R.ok(); } - @RequestMapping(value = "/priOnline2/update/auth") - @ManagerAuth(memo = "鏇存柊鏍镐环绠$悊") - public R update(@RequestBody Map<String,Object> map){ + @RequestMapping(value = "/priOnline2/update/auth") + @ManagerAuth(memo = "鏇存柊鏍镐环绠$悊") + public R update(@RequestBody Map<String, Object> map) { PriOnline2 priOnline2 = priOnline2Service.selectById(Long.parseLong(map.get("id").toString())); if (priOnline2.getStatus() == 1) { return R.error("鏍镐环宸插畬鎴愶紝绂佹淇濆瓨"); @@ -255,7 +333,7 @@ //鏇存柊鐘舵�� @RequestMapping(value = "/priOnline2/updateForm/auth") @ManagerAuth(memo = "鏇存柊鏍镐环绠$悊鐘舵��") - public R updateForm(Long id,Integer status,String title,String templateName){ + public R updateForm(Long id, Integer status, String title, String templateName) { PriOnline2 priOnline2 = priOnline2Service.selectById(id); priOnline2.setStatus(status); priOnline2.setUpdateTime(new Date()); @@ -269,7 +347,7 @@ @ManagerAuth(memo = "涓婁紶璇环鏂囦欢") public R uploadCheck(@RequestParam("id") Integer id, @RequestParam("checkData") String checkData, - @RequestParam("file") MultipartFile[] files){ + @RequestParam("file") MultipartFile[] files) { PriOnline2 priOnline2 = priOnline2Service.selectById(id); if (priOnline2.getStatus() == 1) { return R.error("鏍镐环宸插畬鎴愶紝绂佹涓婁紶"); @@ -279,7 +357,7 @@ MultipartFile file = files[0]; SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd_HHmmss"); - String path = ClassUtils.getDefaultClassLoader().getResource("excel/uploadCheckData").getPath(); + String path = ClassUtils.getDefaultClassLoader().getResource("excel/uploadCheckData").getPath(); //鏂囦欢鍚庣紑鍚� String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); //涓婁紶鏂囦欢鍚� @@ -290,7 +368,7 @@ //鏈嶅姟鍣ㄧ淇濆瓨鐨勬枃浠跺璞� File serverFile = new File(filepath); - if(!serverFile.exists()) { + if (!serverFile.exists()) { try { //鍒涘缓鏂囦欢 serverFile.createNewFile(); @@ -336,14 +414,14 @@ @RequestMapping(value = "/priOnline2/delete/auth") @ManagerAuth(memo = "鍒犻櫎鏍镐环绠$悊") - public R delete(Long[] ids){ - try{ - if (Cools.isEmpty(ids) || ids.length==0){ + public R delete(Long[] ids) { + try { + if (Cools.isEmpty(ids) || ids.length == 0) { return R.error(); } - for (Long id : ids){ - int priQuote= priQuoteService.selectCount(new EntityWrapper<PriQuote>().eq("pri_online_id", id)); - if (priQuote!=0){ + for (Long id : ids) { + int priQuote = priQuoteService.selectCount(new EntityWrapper<PriQuote>().eq("pri_online_id", id)); + if (priQuote != 0) { return R.error("瀛樺湪鍏宠仈鐨勬姤浠峰崟锛岀姝㈠垹闄わ紒锛侊紒"); } // int priSales = priSalesService.selectCount(new EntityWrapper<PriSales>().eq("pri_online2_id", id)); @@ -356,18 +434,23 @@ Plan plan = planService.selectById(priOnline2.getItemId()); plan.setStatus(1); planService.updateById(plan); + if (plan.getAssistantHostSign()==1){ + Plan planHost = planService.selectById(priOnline2.getHostPlanId()); + planHost.setStatus2(1); + planService.updateById(planHost); + } } priOnline2Service.deleteBatchIds(Arrays.asList(ids)); return R.ok(); - }catch (Exception e){ + } catch (Exception e) { return R.error(e.getMessage()); } } @RequestMapping(value = "/priOnline2/export/auth") @ManagerAuth - public R export(@RequestBody JSONObject param){ + public R export(@RequestBody JSONObject param) { EntityWrapper<PriOnline2> wrapper = new EntityWrapper<>(); List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); Map<String, Object> map = excludeTrash(param.getJSONObject("priOnline")); @@ -384,7 +467,7 @@ wrapper.in("user_id", getUserRoleBelongsToUserId("allopen")); Page<PriOnline2> page = priOnline2Service.selectPage(new Page<>(0, 10), wrapper); List<Map<String, Object>> result = new ArrayList<>(); - for (PriOnline2 priOnline2 : page.getRecords()){ + for (PriOnline2 priOnline2 : page.getRecords()) { Map<String, Object> map = new HashMap<>(); map.put("id", priOnline2.getId()); // map.put("value", priOnline2.getOrderNum() + "/" + priOnline2.getPlanId$() + "/" + priOnline2.getMemberId$()); @@ -402,12 +485,12 @@ wrapper.in("user_id", getUserRoleBelongsToUserId("allopen")); Page<PriOnline2> page = priOnline2Service.selectPage(new Page<>(0, 10), wrapper); List<Map<String, Object>> result = new ArrayList<>(); - for (PriOnline2 priOnline2 : page.getRecords()){ + for (PriOnline2 priOnline2 : page.getRecords()) { Map<String, Object> map = new HashMap<>(); 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); } @@ -418,7 +501,7 @@ @ManagerAuth public R query(@RequestBody JSONObject param) { Wrapper<PriOnline2> wrapper = new EntityWrapper<PriOnline2>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); - if (null != priOnline2Service.selectOne(wrapper)){ + if (null != priOnline2Service.selectOne(wrapper)) { return R.parse(BaseRes.REPEAT).add(getComment(PriOnline2.class, String.valueOf(param.get("key")))); } return R.ok(); @@ -433,150 +516,144 @@ return R.ok().add(vos); } + @PostMapping(value = "/priOnline2/approvalEnd/auth") + @ManagerAuth(memo = "鎷掔粷鐢宠鍗�") + public R approvalEnd(@RequestParam Long priOnlineId, + @RequestParam(required = false) Long plannerId) { + PriOnline2 priOnline2 = priOnline2Service.selectById(priOnlineId); + Date now = new Date(); + Long memberId = priOnline2.getMemberId(); + User member = userService.selectById(memberId); + if (!member.getId().equals(getUserId())) { + return R.error("鎶辨瓑锛屾偍娌℃湁瀹℃牳鐨勬潈闄�"); + } + List<SettleDto> planDtos = JSON.parseArray(priOnline2.getSettleMsg(), SettleDto.class); + List<SettleDto> planDtoList = new ArrayList<>(); + boolean sign = true; + for (SettleDto dto : planDtos) { + if (dto.getStep().equals(1)) { + priOnline2.setMemberId(dto.getUserId()); + } + if (sign && dto.getUserId().equals(memberId) && priOnline2.getSettle() + 1 == dto.getStep()) { + if (Cools.isEmpty(dto.getMsg())) { + dto.setMsg(DateUtils.convert(now) + " " + member.getNickname() + "鍥為��瀹℃壒"); + } else { + dto.setMsg(dto.getMsg() + PZH + DateUtils.convert(now) + " " + member.getNickname() + "鍥為��瀹℃壒"); + } + sign = false; + } + if (sign) { + dto.setMsg(dto.getMsg() + PZH + DateUtils.convert(now) + " " + member.getNickname() + "鍥為��瀹℃壒"); + } + + planDtoList.add(dto); + } + priOnline2.setStatus(0); + priOnline2.setSettle(0); + priOnline2.setUpdateUserId(getUserId()); + priOnline2.setUpdateTime(now); + + priOnline2.setSettleMsg(JSON.toJSONString(planDtoList)); + priOnline2Service.updateById(priOnline2); + return R.ok("鍥為��鎴愬姛"); + } + @PostMapping(value = "/priOnline2/approval/auth") @ManagerAuth public R approvalBusinessTrip(@RequestParam Long priOnlineId, - @RequestParam(required = false) Long plannerId){ + @RequestParam(required = false) Long plannerId) { PriOnline2 priOnline2 = priOnline2Service.selectById(priOnlineId); assert priOnline2 != null; Date now = new Date(); - switch (priOnline2.getSettle()) { - case 0: - // 鏈儴闂ㄧ粡鐞嗗鏍� 鑺傜偣璐熻矗浜� - Plan plan1 = planService.selectById(priOnline2.getItemId()); - PlanType planType1 = planTypeService.selectById(plan1.getPlanType()); + Long nextUserId = getUserId(); + User user = userService.selectById(priOnline2.getMemberId()); - 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()) || Cools.isEmpty(user)){ + return R.error("鎶辨瓑锛屾偍鏃犻渶纭锛侊紒锛�"); + } - if (Cools.isEmpty(getUser())) { - return R.error("鎶辨瓑锛屾偍娌℃湁鎻愪氦鐨勬潈闄�"); - } - if (!getUserId().equals(getUser().getId())) { - return R.error("鎶辨瓑锛屾偍娌℃湁鎻愪氦鐨勬潈闄�"); - } - // 淇敼 settle 姝ラ鏁版嵁 - List<SettleDto> list1 = JSON.parseArray(priOnline2.getSettleMsg(), SettleDto.class); - for (SettleDto dto : list1) { - switch (dto.getStep()) { - case 0: - dto.setCurr(Boolean.FALSE); - break; - case 1: - dto.setCurr(Boolean.TRUE); - dto.setMsg(getUser().getNickname() + "鎻愪氦瀹屾垚"); - dto.setTime(DateUtils.convert(now)); - break; - default: - break; - } - } - priOnline2.setSettleMsg(JSON.toJSONString(list1)); - // 淇敼瑙勫垝鍗曠姸鎬� - priOnline2.setSettle(1); - priOnline2.setUpdateUserId(getUserId()); - priOnline2.setUpdateTime(now); - priOnline2.setMemberId(manager1.getId()); - - if (!priOnline2Service.updateById(priOnline2)) { - throw new CoolException("鎻愪氦澶辫触锛岃鑱旂郴绠$悊鍛�"); - } - break; - case 1: - // 鏈儴闂ㄧ粡鐞嗗鏍� 鑺傜偣璐熻矗浜� - Plan plan = planService.selectById(priOnline2.getItemId()); - PlanType planType = planTypeService.selectById(plan.getPlanType()); - - ProcessPermissions processPermissions = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 5).eq("process", "2-"+planType.getType()));//2锛氭姤浠锋祦绋� - User manager = userService.selectById(processPermissions.getUserId()); // 鑾峰彇鎶ヤ环娴佺▼鑺傜偣2纭浜� - -// User manager = new User(); -// try{ -// manager = userService.getDeptManager(getHostId(), getUser().getDeptId()); // 鑾峰彇閮ㄩ棬棰嗗 -// }catch (Exception e){ -// manager = user; -// } - if (manager.getId().equals(getUserId())) { - - // 淇敼 settle 姝ラ鏁版嵁 - List<SettleDto> list = JSON.parseArray(priOnline2.getSettleMsg(), SettleDto.class); - for (SettleDto dto : list) { - switch (dto.getStep()) { - case 1: - dto.setCurr(Boolean.FALSE); - break; - case 2: - dto.setCurr(Boolean.TRUE); - dto.setMsg(manager.getNickname() + "瀹℃壒閫氳繃"); - dto.setTime(DateUtils.convert(now)); - break; - default: - break; - } - } - priOnline2.setSettleMsg(JSON.toJSONString(list)); - - // 淇敼瑙勫垝鍗曠姸鎬� - priOnline2.setSettle(2); // 鐢宠閫氳繃 - priOnline2.setUpdateTime(now); - priOnline2.setUpdateUserId(getUserId()); - priOnline2.setMemberId(plan.getUserId()); - if (!priOnline2Service.updateById(priOnline2)) { - throw new CoolException("瀹℃牳澶辫触锛岃鑱旂郴绠$悊鍛�"); - } + if (!getUserId().equals(user.getId())) { + return R.error("鎶辨瓑锛屾偍鏃犻渶纭锛侊紒锛�"); + } + // 淇敼 settle 姝ラ鏁版嵁 + List<SettleDto> list = JSON.parseArray(priOnline2.getSettleMsg(), SettleDto.class); + for (SettleDto dto : list) { + if (dto.getStep().equals(priOnline2.getSettle())) { + dto.setCurr(Boolean.TRUE); + } else if (dto.getStep().equals(priOnline2.getSettle() + 1)) { + dto.setCurr(Boolean.TRUE); + if (Cools.isEmpty(dto.getMsg())) { + dto.setMsg(user.getNickname() + "瀹℃壒閫氳繃"); } else { - return R.error("鎶辨瓑锛屾偍娌℃湁瀹℃牳鐨勬潈闄愶紒锛侊紒"); + dto.setMsg(dto.getMsg() + PZH + DateUtils.convert(new Date()) + " " + user.getNickname() + "瀹℃壒閫氳繃"); } - break; - case 2: - // 涓氬姟鍛� - User salesman0 = userService.selectById(priOnline2.getUserId()); - if (!getUserId().equals(salesman0.getId())) { - return R.error("鎶辨瓑锛屾偍鏃犻渶纭锛侊紒锛�"); + dto.setTime(DateUtils.convert(new Date())); + } else if (dto.getStep().equals(priOnline2.getSettle() + 2)) { + if (Cools.isEmpty(dto.getUserId())){ + nextUserId= 0L; + }else { + nextUserId=dto.getUserId(); } - // 淇敼 settle 姝ラ鏁版嵁 - List<SettleDto> list2 = JSON.parseArray(priOnline2.getSettleMsg(), SettleDto.class); - for (SettleDto dto : list2) { - switch (dto.getStep()) { - case 2: - dto.setCurr(Boolean.TRUE); - break; - case 3: - dto.setCurr(Boolean.TRUE); - dto.setMsg("涓氬姟鍛�" + salesman0.getNickname() + "浠ョ‘璁�"); - dto.setTime(DateUtils.convert(new Date())); - break; - default: - break; - } - } - priOnline2.setSettleMsg(JSON.toJSONString(list2)); - // 淇敼瑙勫垝鍗曠姸鎬� - priOnline2.setSettle(3); // 瀹℃壒閫氳繃 - priOnline2.setStatus(1); - priOnline2.setUpdateTime(new Date()); - priOnline2.setUpdateUserId(getUserId()); + } + } + priOnline2.setSettleMsg(JSON.toJSONString(list)); + // 淇敼瑙勫垝鍗曠姸鎬� + priOnline2.setSettle(priOnline2.getSettle() + 1); // 瀹℃壒閫氳繃 + if (user.getId().equals(priOnline2.getUserId())) { + priOnline2.setStatus(1); + } + priOnline2.setUpdateTime(now); + priOnline2.setUpdateUserId(getUserId()); + priOnline2.setMemberId(nextUserId); - if (!priOnline2Service.updateById(priOnline2)) { - throw new CoolException("纭澶辫触锛岃鑱旂郴绠$悊鍛�"); + if (!priOnline2Service.updateById(priOnline2)) { + throw new CoolException("纭澶辫触锛岃鑱旂郴绠$悊鍛�"); + } + + Plan plan = planService.selectById(priOnline2.getItemId()); + plan.setStatus(3); + planService.selectById(plan); + + if (user.getId().equals(priOnline2.getUserId())) { + if (priOnline2.getAssistantHostSign()==0){ + User manager = new User(); + try { + manager = userService.getDeptManager(getHostId(), getUser().getDeptId()); // 鑾峰彇閮ㄩ棬棰嗗 + } catch (Exception e) { + manager = getUser(); } - try{ - priQuoteAdd(priOnline2.getId(),plannerId); - }catch (Exception e){ + try { + priQuoteAdd(priOnline2.getId(), plannerId); + } catch (Exception e) { return R.error("鑷姩鐢熸垚鎶ヤ环鍗曞け璐�"); } - break; - default: - return R.error(); + if (!smsCodeService.sendSmsCodeText(manager.getMobile(), PhoneCodeTypeParam.ALIYUN_M1ABAC630E,getUserId())) { + return R.ok("瀹℃壒鎴愬姛浣嗙煭淇″彂閫佸け璐�!"); + } + }else { + try { + Plan planHost = planService.selectById(priOnline2.getHostPlanId()); + planHost.setStatus2(3); + planService.selectById(planHost); + } catch (Exception e) { + return R.error("鏇存柊涓昏〃澶辫触"); + } + } + }else { + User phoneUser = userService.selectById(nextUserId); + if (!smsCodeService.sendSmsCodeText(phoneUser.getMobile(), PhoneCodeTypeParam.ALIYUN_M1ABAC630E,getUserId())) { + return R.ok("瀹℃壒鎴愬姛浣嗙煭淇″彂閫佸け璐�!"); + } } + return R.ok("瀹℃壒鎴愬姛"); } - public void priQuoteAdd(Long priOnlineId,Long priType){ + public void priQuoteAdd(Long priOnlineId, Long priType) { Pri pri = null; - if (priType==1L){ + if (priType == 1L) { pri = priService.selectById(114); - }else { + } else { pri = priService.selectById(115); } @@ -613,16 +690,16 @@ // priQuote.setForm(JSON.toJSONString(map)); // 鑷畾涔夎〃鍗曞唴瀹� priQuote.setSettle(1); // 1.寮�濮� User manager = new User(); - try{ + try { manager = userService.getDeptManager(getHostId(), getUser().getDeptId()); // 鑾峰彇閮ㄩ棬棰嗗 - }catch (Exception e){ + } 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()))); + priQuote.setSettleMsg(JSON.toJSONString(SettleDto.initPriQuote(plan, manager, president, getUser()))); planService.updateById(plan); @@ -631,10 +708,10 @@ @PostMapping(value = "/priOnline2/priQuoteAdd/list/auth") @ManagerAuth - public R priOnline2priQuoteAdd(@RequestParam Long planId){ + public R priOnline2priQuoteAdd(@RequestParam Long planId) { List<KeyValueVo> vos = new ArrayList<>(); - vos.add(new KeyValueVo("鎶ヤ环妯℃澘1", 1L)); - vos.add(new KeyValueVo("鎶ヤ环妯℃澘2", 2L)); + vos.add(new KeyValueVo("璐ф灦妯℃澘", 1L)); + vos.add(new KeyValueVo("闆嗘垚妯℃澘", 2L)); return R.ok().add(vos); } -- Gitblit v1.9.1