From 775a4818b1ff4f18f17b24108cc92c23f728ea61 Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期五, 19 四月 2024 15:03:16 +0800 Subject: [PATCH] # --- src/main/java/com/zy/crm/manager/controller/WeeklyController.java | 198 ++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 179 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/zy/crm/manager/controller/WeeklyController.java b/src/main/java/com/zy/crm/manager/controller/WeeklyController.java index c46f76c..96064e7 100644 --- a/src/main/java/com/zy/crm/manager/controller/WeeklyController.java +++ b/src/main/java/com/zy/crm/manager/controller/WeeklyController.java @@ -45,6 +45,8 @@ private WeeklyFollService weeklyFollService; @Autowired private SmsCodeService smsCodeService; + @Autowired + private CstmrService cstmrService; String PZH = " 鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�� "; Integer PBN = 3; @@ -83,16 +85,76 @@ return R.ok(weeklyService.selectPage(new Page<>(curr, limit), wrapper)); } +// private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ +// for (Map.Entry<String, Object> entry : map.entrySet()){ +// String val = String.valueOf(entry.getValue()); +// 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 { +// wrapper.like(entry.getKey(), val); +// } +// } +// } + + @RequestMapping(value = "/weekly/list/auth2") + @ManagerAuth + public R list2(@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) { + EntityWrapper<Weekly> wrapper = new EntityWrapper<>(); + excludeTrash(param); + convert(param, wrapper); + allLike(Weekly.class, param.keySet(), wrapper, condition); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + return R.ok(weeklyService.selectPage(new Page<>(curr, limit), wrapper)); + } + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ + Long deptId = getDeptId(); + boolean signUserId = false; + boolean signDeptId = false; + boolean signHostId = false; + for (Map.Entry<String, Object> entry : map.entrySet()){ + if (entry.getKey().equals("dept_id")){ + signDeptId = true; + if (String.valueOf(entry.getValue()).equals("19")){ + signHostId = true; + } + } + } for (Map.Entry<String, Object> entry : map.entrySet()){ String val = String.valueOf(entry.getValue()); 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")){ + wrapper.eq(entry.getKey(), val); + } + } else if (entry.getKey().equals("user_id") && !signDeptId){ + signUserId = true; + wrapper.eq(entry.getKey(), val); } else { wrapper.like(entry.getKey(), val); } + } + 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",getHostId()); } } @@ -306,6 +368,10 @@ try{ weeklyDailyPlanService.insert(weeklyDailyPlan); + WeeklyDailyReality weeklyDailyReality = new WeeklyDailyReality(); + weeklyDailyReality.sync(weeklyDailyPlan); + weeklyDailyRealityService.insert(weeklyDailyReality); + } catch (Exception e){ log.error("鏂板鏃ヨ鍒掑け璐�"+e); throw new CoolException("鏂板鏃ヨ鍒掑け璐�"); @@ -320,7 +386,8 @@ } catch (Exception e){ log.error("鍒涘缓鍛ㄨ鍒掑紓甯革紝寮傚父淇℃伅锛�"+e); - throw new CoolException("鍒涘缓鍛ㄨ鍒掑け璐�==>"+e); + return R.error("鍒涘缓鍛ㄨ鍒掑け璐�==>"+e); +// throw new CoolException("鍒涘缓鍛ㄨ鍒掑け璐�==>"+e); } return R.ok("鍒涘缓鎴愬姛"); @@ -441,7 +508,8 @@ weeklyService.insert(weekly); } catch (Exception e) { log.error("鏂板鍛ㄨ鍒掍富琛ㄥけ璐ワ紝寮傚父淇℃伅锛�"+e); - throw new CoolException("鏂板鍛ㄨ鍒掍富琛ㄥけ璐�"); + return R.error("鏂板鍛ㄨ鍒掍富琛ㄥけ璐�"); +// throw new CoolException("鏂板鍛ㄨ鍒掍富琛ㄥけ璐�"); } List<CstmrUtilsParam> cstmrUtilsParamList = new ArrayList<>(); @@ -467,7 +535,8 @@ weeklyDailyRealityService.insert(weeklyDailyReality); } catch (Exception e){ log.error("鏂板鏃ヨ鍒掑け璐�"+e); - throw new CoolException("鏂板鏃ヨ鍒掑け璐�"); +// throw new CoolException("鏂板鏃ヨ鍒掑け璐�"); + return R.error("鏂板鏃ヨ鍒掑け璐�"); } } @@ -479,7 +548,8 @@ } catch (Exception e){ log.error("鍒涘缓鍛ㄨ鍒掑紓甯革紝寮傚父淇℃伅锛�"+e); - throw new CoolException("鍒涘缓鍛ㄨ鍒掑け璐�==>"+e); +// throw new CoolException("鍒涘缓鍛ㄨ鍒掑け璐�==>"+e); + return R.error("鍒涘缓鍛ㄨ鍒掑け璐�==>"+e); } return R.ok("鍒涘缓鎴愬姛"); @@ -497,13 +567,12 @@ throw new CoolException("鍙傛暟涓虹┖锛歐eeklyDailyPlanList"); } else if (Cools.isEmpty(param.getWeeklyId())){ throw new CoolException("鍙傛暟涓虹┖锛歐eeklyId"); - } else if (Cools.isEmpty(param.getWeeklyType())){ - throw new CoolException("鍙傛暟涓虹┖锛歐eeklyDailyPlanList"); } else if (Cools.isEmpty(param.getType())){ throw new CoolException("鍙傛暟涓虹┖锛歍ype"); - } else if (Cools.isEmpty(param.getWeeklyType())){ - throw new CoolException("鍙傛暟涓虹┖锛歐eekly"); } +// if (Cools.isEmpty(param.getWeeklyType())){ +// throw new CoolException("鍙傛暟涓虹┖锛歐eekly"); +// } Date now = new Date(); Weekly weekly = weeklyService.selectById(param.getWeeklyId()); weekly.setUpdateBy(getUserId()); @@ -524,28 +593,40 @@ throw new CoolException("鏇存柊鍛ㄨ鍒掍富琛ㄥけ璐�"); } - List<CstmrUtilsParam> cstmrUtilsParamList = new ArrayList<>(); + List<WeeklyDailyPlan> weeklyDailyPlanList = weeklyDailyPlanService.selectList(new EntityWrapper<WeeklyDailyPlan>().eq("weekly_id", weekly.getId())); + List<Long> ids = new ArrayList<>(); + for (WeeklyDailyPlan weeklyDailyPlan: param.getWeeklyDailyPlanList()) { + if (!Cools.isEmpty(weeklyDailyPlan.getId())) { + ids.add(weeklyDailyPlan.getId()); + } + } + try{ + for (WeeklyDailyPlan weeklyDailyPlan2:weeklyDailyPlanList){ + if (!ids.contains(weeklyDailyPlan2.getId())){ + weeklyDailyPlanService.deleteById(weeklyDailyPlan2.getId()); + } + } + }catch (Exception e){ + + } for (WeeklyDailyPlan weeklyDailyPlan: param.getWeeklyDailyPlanList()){ WeeklyDailyPlan weeklyDailyPlan1 = new WeeklyDailyPlan(); if (!Cools.isEmpty(weeklyDailyPlan.getId())){ Long weeklyDailyPlanId = weeklyDailyPlan.getId(); weeklyDailyPlan1 = weeklyDailyPlanService.selectById(weeklyDailyPlan.getId()); - if (Cools.isEmpty(weeklyDailyPlan)){ + if (Cools.isEmpty(weeklyDailyPlan1)){ throw new CoolException("鏇存柊澶辫触锛歩d:"+weeklyDailyPlanId); } - if (!Cools.isEmpty(weeklyDailyPlan1.getComment())){ -// weeklyDailyPlan1.setComment(weeklyDailyPlan1.getComment()+";"+weeklyDailyPlan.getComment()); - weeklyDailyPlan1.setComment(weeklyDailyPlan.getComment()); - }else { - weeklyDailyPlan1.setComment(weeklyDailyPlan.getComment()); - } + weeklyDailyPlan1.setComment(weeklyDailyPlan.getComment()); weeklyDailyPlan1.setWorkContent(weeklyDailyPlan.getWorkContent()); weeklyDailyPlan1.setWorkPurpose(weeklyDailyPlan.getWorkPurpose()); + weeklyDailyPlan1.setWeeklyMatter(weeklyDailyPlan.getWeeklyMatter()); + weeklyDailyPlan1.setAddr(weeklyDailyPlan.getAddr()); weeklyDailyPlan1.setMemo(weeklyDailyPlan.getMemo()); weeklyDailyPlan1.setUpdateBy(getUserId()); weeklyDailyPlan1.setUpdateTime(now); if (!Cools.isEmpty(weeklyDailyPlan.getCstmrId())){ - weeklyDailyPlan1.setCstmrId(weeklyDailyPlan1.getCstmrId()); + weeklyDailyPlan1.setCstmrId(weeklyDailyPlan.getCstmrId()); } weeklyDailyPlanService.updateById(weeklyDailyPlan1); @@ -568,6 +649,9 @@ try{ weeklyDailyPlanService.insert(weeklyDailyPlan); + WeeklyDailyReality weeklyDailyReality = new WeeklyDailyReality(); + weeklyDailyReality.sync(weeklyDailyPlan); + weeklyDailyRealityService.insert(weeklyDailyReality); } catch (Exception e){ log.error("鏂板鏃ヨ鍒掑け璐�"+e); throw new CoolException("鏂板鏃ヨ鍒掑け璐�"); @@ -595,8 +679,6 @@ throw new CoolException("鍙傛暟涓虹┖锛歐eeklyDailyRealityList"); } else if (Cools.isEmpty(param.getWeeklyId())){ throw new CoolException("鍙傛暟涓虹┖锛歐eeklyId"); - } else if (Cools.isEmpty(param.getWeeklyType())){ - throw new CoolException("鍙傛暟涓虹┖锛歐eeklyDailyPlanList"); } else if (Cools.isEmpty(param.getType())){ throw new CoolException("鍙傛暟涓虹┖锛歍ype"); } else if (Cools.isEmpty(param.getWeeklyType())){ @@ -800,4 +882,82 @@ } return R.ok("鍥為��鎴愬姛"); } + + @RequestMapping(value = "/weekly/from/add/phone/auth") + @ManagerAuth(memo = "鍛ㄨ鍒�/鏃ヨ鍒�/鏃ュ疄闄�") + @Transactional + public R formAddModifyPhone(@RequestBody WeeklyDomainParam param){ + try{ + if (Cools.isEmpty(param)){ + throw new CoolException("鍙傛暟涓虹┖锛歐eeklyDomainParam"); + } else if (Cools.isEmpty(param.getWeeklyDailyRealityList()) || param.getWeeklyDailyRealityList().size()==0){ + throw new CoolException("鍙傛暟涓虹┖锛歐eeklyDailyRealityList"); + } else if (Cools.isEmpty(param.getWeeklyId())){ + throw new CoolException("鍙傛暟涓虹┖锛歐eeklyId"); +// } else if (Cools.isEmpty(param.getType())){ +// throw new CoolException("鍙傛暟涓虹┖锛歍ype"); +// } else if (Cools.isEmpty(param.getWeeklyType())){ +// throw new CoolException("鍙傛暟涓虹┖锛歐eekly"); + } + Date now = new Date(); + Weekly weekly = weeklyService.selectById(param.getWeeklyId()); + weekly.setUpdateBy(getUserId()); + weekly.setUpdateTime(now); + + + List<Date> dateList = new ArrayList<>();//鑾峰彇鍛ㄤ竴涓庡懆鏃ユ棩鏈� + dateList = TimeCalculatorUtils.WeeklyMondayAndSundayNow(weekly.getStartTime()); + + List<Date> dates = TimeCalculatorUtils.WeeklyListDays(dateList);//鑾峰彇鍛ㄤ竴鍒板懆鏃ユ棩鏈� + + try{ + weeklyService.updateById(weekly); + } catch (Exception e) { + log.error("鏇存柊鍛ㄨ鍒掍富琛ㄥけ璐ワ紝寮傚父淇℃伅锛�"+e); + throw new CoolException("鏇存柊鍛ㄨ鍒掍富琛ㄥけ璐�"); + } + + List<CstmrUtilsParam> cstmrUtilsParamList = new ArrayList<>(); + for (WeeklyDailyReality weeklyDailyReality: param.getWeeklyDailyRealityList()){ + Cstmr cstmr = null; + if (!Cools.isEmpty(weeklyDailyReality.getCstmrName())){ + cstmr = cstmrService.selectByName(getHostId(), weeklyDailyReality.getCstmrName()); + if(Cools.isEmpty(cstmr)){ + throw new CoolException("鏈煡璇㈠埌鐢叉柟鍗曚綅锛�"); + }else { + weeklyDailyReality.setCstmrId(cstmr.getId()); + } + } + weeklyDailyReality.setHostId(getHostId()); + weeklyDailyReality.setDeptId(getDeptId()); // 鎵�灞為儴闂� + weeklyDailyReality.setUserId(getUserId()); // 鎵�灞炰汉鍛� + + weeklyDailyReality.setDirector(getUserId()); // 鎵�灞炰汉鍛� + + weeklyDailyReality.setCreateBy(getUserId()); + weeklyDailyReality.setCreateTime(now); + weeklyDailyReality.setUpdateBy(getUserId()); + weeklyDailyReality.setUpdateTime(now); + + weeklyDailyReality.setStatus(weekly.getStatus()); + + weeklyDailyReality.setDailyTime(dates.get(weeklyDailyReality.getWeeklyDay()-1)); + weeklyDailyReality.setWeeklyId(weekly.getId()); + + try{ + weeklyDailyRealityService.insert(weeklyDailyReality); + } catch (Exception e){ + log.error("鏂板鏃ヨ鍒掑け璐�"+e); + throw new CoolException("鏂板鏃ヨ鍒掑け璐�"); + } + + } + + } catch (Exception e){ + log.error("鏇存柊鍛ㄨ鍒掑紓甯革紝寮傚父淇℃伅锛�"+e); + throw new CoolException("鏇存柊鍛ㄨ鍒掑け璐�==>"+e); + } + + return R.ok("鏇存柊鎴愬姛"); + } } -- Gitblit v1.9.1