From ea269db73631ff50e9d161f69b044b915cdac089 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期四, 28 三月 2024 16:52:11 +0800 Subject: [PATCH] #周计划 --- src/main/java/com/zy/crm/manager/controller/WeeklyController.java | 302 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 302 insertions(+), 0 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 2e66b58..7ee351b 100644 --- a/src/main/java/com/zy/crm/manager/controller/WeeklyController.java +++ b/src/main/java/com/zy/crm/manager/controller/WeeklyController.java @@ -8,9 +8,11 @@ import com.core.exception.CoolException; import com.zy.crm.manager.entity.Weekly; import com.zy.crm.manager.entity.WeeklyDailyPlan; +import com.zy.crm.manager.entity.WeeklyDailyReality; import com.zy.crm.manager.entity.param.CstmrUtilsParam; import com.zy.crm.manager.entity.param.WeeklyDomainParam; import com.zy.crm.manager.service.WeeklyDailyPlanService; +import com.zy.crm.manager.service.WeeklyDailyRealityService; import com.zy.crm.manager.service.WeeklyService; import com.core.annotations.ManagerAuth; import com.core.common.BaseRes; @@ -34,6 +36,8 @@ private WeeklyService weeklyService; @Autowired private WeeklyDailyPlanService weeklyDailyPlanService; + @Autowired + private WeeklyDailyRealityService weeklyDailyRealityService; @RequestMapping(value = "/weekly/{id}/auth") @ManagerAuth @@ -252,10 +256,308 @@ return R.ok("鍒涘缓鎴愬姛"); } + @RequestMapping(value = "/weekly/from/add/auth2") + @ManagerAuth(memo = "鍛ㄨ鍒�/鏃ヨ鍒�/鏃ュ疄闄�") + @Transactional + public R formAdd2(@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.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"); + } + Date now = new Date(); + Weekly weekly = new Weekly(); + weekly.setHostId(getHostId()); + weekly.setDeptId(getDeptId()); // 鎵�灞為儴闂� + weekly.setUserId(getUserId()); // 鎵�灞炰汉鍛� + + weekly.setDirector(getUserId()); // 鎵�灞炰汉鍛� + + weekly.setCreateBy(getUserId()); + weekly.setCreateTime(now); + weekly.setUpdateBy(getUserId()); + weekly.setUpdateTime(now); + + + List<Date> dateList = new ArrayList<>();//鑾峰彇鍛ㄤ竴涓庡懆鏃ユ棩鏈� + switch (param.getWeeklyType()) { + case 1: + dateList = TimeCalculatorUtils.WeeklyMondayAndSundayFront(now); + weekly.setStatus(2); + break; + case 2: + dateList = TimeCalculatorUtils.WeeklyMondayAndSundayNow(now); + weekly.setStatus(1); + break; + case 3: + dateList = TimeCalculatorUtils.WeeklyMondayAndSundayAfter(now); + weekly.setStatus(0); + break; + default: + log.error("璇烽�夋嫨鏃ユ湡锛氬弬鏁板紓甯革細Weekly="+param.getWeeklyType()); + throw new CoolException("璇烽�夋嫨鏃ユ湡"); + } + + Integer weeklyRepeatCount = weeklyService.selectUserStartAndEnd(dateList, getUserId()); + if (Cools.isEmpty(weeklyRepeatCount) && weeklyRepeatCount!=0){ + log.error("鍛ㄨ鍒掑凡瀛樺湪==銆嬪紑濮嬫棩鏈燂細"+dateList.get(0)+"缁撴潫鏃ユ湡锛�"+dateList.get(1)+"鍛樺伐锛�"+getUser().getNickname()); + throw new CoolException("鍛ㄨ鍒掑凡瀛樺湪==銆嬪紑濮嬫棩鏈燂細"+dateList.get(0)+"缁撴潫鏃ユ湡锛�"+dateList.get(1)+"鍛樺伐锛�"+getUser().getNickname()); + } + +// List<CstmrUtilsParam> cstmrUtilsParamList = JSON.parseArray(weekly.getCstmrIdsPlan(), CstmrUtilsParam.class); + + + weekly.setStartTime(dateList.get(0)); + weekly.setEndTime(dateList.get(1)); + weekly.setWeeklyYear(TimeCalculatorUtils.timeYest(weekly.getStartTime())); + weekly.setWeeklyMonth(TimeCalculatorUtils.timeMonth(weekly.getStartTime())); + weekly.setWeeklyDay(TimeCalculatorUtils.timeDay(weekly.getStartTime())); + weekly.setWeeklyNowMonth(TimeCalculatorUtils.WeeklyNowMonthDay(weekly.getStartTime())); + weekly.setWeeklyDayMonth(weekly.getWeeklyMonth()+"鏈堢"+weekly.getWeeklyNowMonth()+"鍛�"); + + List<Date> dates = TimeCalculatorUtils.WeeklyListDays(dateList);//鑾峰彇鍛ㄤ竴鍒板懆鏃ユ棩鏈� + + try{ + weeklyService.insert(weekly); + } catch (Exception e) { + log.error("鏂板鍛ㄨ鍒掍富琛ㄥけ璐ワ紝寮傚父淇℃伅锛�"+e); + throw new CoolException("鏂板鍛ㄨ鍒掍富琛ㄥけ璐�"); + } + + List<CstmrUtilsParam> cstmrUtilsParamList = new ArrayList<>(); + for (WeeklyDailyReality weeklyDailyReality : param.getWeeklyDailyRealityList()){ + + 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("鍒涘缓鎴愬姛"); + } + + + @RequestMapping(value = "/weekly/from/modify/auth") + @ManagerAuth(memo = "鍛ㄨ鍒�/鏃ヨ鍒�/鏃ュ疄闄�") + @Transactional + public R formAddModify(@RequestBody WeeklyDomainParam param){ + try{ + if (Cools.isEmpty(param)){ + throw new CoolException("鍙傛暟涓虹┖锛歐eeklyDomainParam"); + } else if (Cools.isEmpty(param.getWeeklyDailyPlanList()) || param.getWeeklyDailyPlanList().size()==0){ + 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"); + } + 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<CstmrUtilsParam> cstmrUtilsParamList = JSON.parseArray(weekly.getCstmrIdsPlan(), CstmrUtilsParam.class); + + 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 (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)){ + throw new CoolException("鏇存柊澶辫触锛歩d:"+weeklyDailyPlanId); + } + weeklyDailyPlan1.setComment(weeklyDailyPlan1.getComment()+";"+weeklyDailyPlan.getComment()); + weeklyDailyPlan1.setWorkContent(weeklyDailyPlan.getWorkContent()); + weeklyDailyPlan1.setWorkPurpose(weeklyDailyPlan.getWorkPurpose()); + weeklyDailyPlan1.setMemo(weeklyDailyPlan.getMemo()); + weeklyDailyPlan1.setUpdateBy(getUserId()); + weeklyDailyPlan1.setUpdateTime(now); + weeklyDailyPlanService.updateById(weeklyDailyPlan1); + + }else { + weeklyDailyPlan.setHostId(getHostId()); + weeklyDailyPlan.setDeptId(getDeptId()); // 鎵�灞為儴闂� + weeklyDailyPlan.setUserId(getUserId()); // 鎵�灞炰汉鍛� + + weeklyDailyPlan.setDirector(getUserId()); // 鎵�灞炰汉鍛� + + weeklyDailyPlan.setCreateBy(getUserId()); + weeklyDailyPlan.setCreateTime(now); + weeklyDailyPlan.setUpdateBy(getUserId()); + weeklyDailyPlan.setUpdateTime(now); + + weeklyDailyPlan.setStatus(weekly.getStatus()); + + weeklyDailyPlan.setDailyTime(dates.get(weeklyDailyPlan.getWeeklyDay()-1)); + weeklyDailyPlan.setWeeklyId(weekly.getId()); + + try{ + weeklyDailyPlanService.insert(weeklyDailyPlan); + } catch (Exception e){ + log.error("鏂板鏃ヨ鍒掑け璐�"+e); + throw new CoolException("鏂板鏃ヨ鍒掑け璐�"); + } + } + + } + + } catch (Exception e){ + log.error("鏇存柊鍛ㄨ鍒掑紓甯革紝寮傚父淇℃伅锛�"+e); + throw new CoolException("鏇存柊鍛ㄨ鍒掑け璐�==>"+e); + } + + return R.ok("鏇存柊鎴愬姛"); + } + + @RequestMapping(value = "/weekly/from/modify/auth2") + @ManagerAuth(memo = "鍛ㄨ鍒�/鏃ヨ鍒�/鏃ュ疄闄�") + @Transactional + public R formAddModify2(@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.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"); + } + 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<CstmrUtilsParam> cstmrUtilsParamList = JSON.parseArray(weekly.getCstmrIdsPlan(), CstmrUtilsParam.class); + + 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()){ + WeeklyDailyReality weeklyDailyReality1 = new WeeklyDailyReality(); + if (!Cools.isEmpty(weeklyDailyReality.getId())){ + Long weeklyDailyPlanId = weeklyDailyReality.getId(); + weeklyDailyReality1 = weeklyDailyRealityService.selectById(weeklyDailyReality.getId()); + if (Cools.isEmpty(weeklyDailyReality)){ + throw new CoolException("鏇存柊澶辫触锛歩d:"+weeklyDailyPlanId); + } + weeklyDailyReality1.setComment(weeklyDailyReality1.getComment()+";"+weeklyDailyReality.getComment()); + weeklyDailyReality1.setWorkContent(weeklyDailyReality.getWorkContent()); + weeklyDailyReality1.setWorkPurpose(weeklyDailyReality.getWorkPurpose()); + weeklyDailyReality1.setMemo(weeklyDailyReality.getMemo()); + weeklyDailyReality1.setUpdateBy(getUserId()); + weeklyDailyReality1.setUpdateTime(now); + weeklyDailyRealityService.updateById(weeklyDailyReality1); + + }else { + 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("鏇存柊鎴愬姛"); + } + @RequestMapping(value = "/weekly/detl/all/auth") @Transactional public R head(@RequestParam Integer weeklyId){ List<WeeklyDailyPlan> weeklyDailyPlans = weeklyDailyPlanService.selectList(new EntityWrapper<WeeklyDailyPlan>().eq("weekly_id", weeklyId)); return R.ok().add(weeklyDailyPlans); } + + @RequestMapping(value = "/weekly/detl/all/auth2") + @Transactional + public R head2(@RequestParam Integer weeklyId){ + List<WeeklyDailyReality> weeklyDailyRealities = weeklyDailyRealityService.selectList(new EntityWrapper<WeeklyDailyReality>().eq("weekly_id", weeklyId)); + return R.ok().add(weeklyDailyRealities); + } } -- Gitblit v1.9.1