From ea269db73631ff50e9d161f69b044b915cdac089 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期四, 28 三月 2024 16:52:11 +0800 Subject: [PATCH] #周计划 --- src/main/webapp/views/weekly/weekly.html | 3 src/main/java/com/zy/crm/manager/entity/param/WeeklyDomainParam.java | 4 src/main/webapp/static/js/weekly/weekly.js | 300 +++++++++++++++++++++++++- src/main/java/com/zy/crm/manager/controller/WeeklyController.java | 302 +++++++++++++++++++++++++++ src/main/java/com/zy/crm/manager/controller/WeeklyCostTypesController.java | 14 src/main/java/com/zy/crm/manager/entity/WeeklyDailyReality.java | 24 + 6 files changed, 621 insertions(+), 26 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); + } } diff --git a/src/main/java/com/zy/crm/manager/controller/WeeklyCostTypesController.java b/src/main/java/com/zy/crm/manager/controller/WeeklyCostTypesController.java index 1ec71d1..45ba72a 100644 --- a/src/main/java/com/zy/crm/manager/controller/WeeklyCostTypesController.java +++ b/src/main/java/com/zy/crm/manager/controller/WeeklyCostTypesController.java @@ -6,10 +6,7 @@ import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.plugins.Page; import com.core.common.DateUtils; -import com.zy.crm.manager.entity.ReimburseCostTypes; -import com.zy.crm.manager.entity.ReimburseOnlineDetl; -import com.zy.crm.manager.entity.WeeklyCostTypes; -import com.zy.crm.manager.entity.WeeklyDailyPlan; +import com.zy.crm.manager.entity.*; import com.zy.crm.manager.service.WeeklyCostTypesService; import com.core.annotations.ManagerAuth; import com.core.common.BaseRes; @@ -137,11 +134,18 @@ @RequestMapping(value = "/weeklyCostTypes/covert/plan/{id}/auth") @ManagerAuth - public R covert(@PathVariable("id") Integer id) { + public R covertPlan(@PathVariable("id") Integer id) { WeeklyDailyPlan weeklyDailyPlan = new WeeklyDailyPlan(id); return R.ok().add(weeklyDailyPlan); } + @RequestMapping(value = "/weeklyCostTypes/covert/reality/{id}/auth") + @ManagerAuth + public R covertReality(@PathVariable("id") Integer id) { + WeeklyDailyReality weeklyDailyReality = new WeeklyDailyReality(id); + return R.ok().add(weeklyDailyReality); + } + // xm-select 鎼滅储鍟嗗搧鍒楄〃 @RequestMapping("/weeklyCostTypes/all/get/kv") @ManagerAuth diff --git a/src/main/java/com/zy/crm/manager/entity/WeeklyDailyReality.java b/src/main/java/com/zy/crm/manager/entity/WeeklyDailyReality.java index bfb4674..7d0b865 100644 --- a/src/main/java/com/zy/crm/manager/entity/WeeklyDailyReality.java +++ b/src/main/java/com/zy/crm/manager/entity/WeeklyDailyReality.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.enums.IdType; import com.baomidou.mybatisplus.annotations.TableField; +import com.zy.crm.manager.service.WeeklyCostTypesService; import com.zy.crm.system.entity.*; import com.zy.crm.system.service.*; import org.springframework.format.annotation.DateTimeFormat; @@ -74,13 +75,13 @@ private Long deptId; /** - * 鐘舵�� 3: 宸插叧闂� 2: 闇�澶勭悊 1: 杩涜涓� 0: 鏈紑濮� + * 鐘舵�� 3: 宸插叧闂� 2: 闇�澶勭悊 1: 杩涜涓� 0: 鏈紑濮� */ @ApiModelProperty(value= "鐘舵�� 3: 宸插叧闂� 2: 闇�澶勭悊 1: 杩涜涓� 0: 鏈紑濮� ") private Integer status; /** - * 杩涘害 0: 榛樿 1: 寮�濮� 2: 缁勯暱寰呭 3: 缁勯暱瀹℃牳 4: 瑙勫垝寰呭 5: 瑙勫垝瀹℃牳 6: 瀹℃壒涓� 7: 瀹℃壒閫氳繃 + * 杩涘害 0: 榛樿 1: 寮�濮� 2: 缁勯暱寰呭 3: 缁勯暱瀹℃牳 4: 瑙勫垝寰呭 5: 瑙勫垝瀹℃牳 6: 瀹℃壒涓� 7: 瀹℃壒閫氳繃 */ @ApiModelProperty(value= "杩涘害 0: 榛樿 1: 寮�濮� 2: 缁勯暱寰呭 3: 缁勯暱瀹℃牳 4: 瑙勫垝寰呭 5: 瑙勫垝瀹℃牳 6: 瀹℃壒涓� 7: 瀹℃壒閫氳繃 ") private Integer settle; @@ -175,7 +176,7 @@ @ApiModelProperty(value= "鍛ㄦ姤ID") @TableId(value = "weekly_id", type = IdType.INPUT) @TableField("weekly_id") - private Integer weeklyId; + private Long weeklyId; /** * 鐢叉柟鍗曚綅ID @@ -200,7 +201,11 @@ public WeeklyDailyReality() {} - public WeeklyDailyReality(Date dailyTime,Long userId,Long hostId,Long deptId,Integer status,Integer settle,String settleMsg,String comment,Long createBy,Date createTime,Long updateBy,Date updateTime,String weeklyMatter,Long director,Integer settleSize,Integer settleCurrent,Integer weeklyId,Long cstmrId,Integer weeklyDay,String memo) { + public WeeklyDailyReality(Integer weeklyDay) { + this.weeklyDay = weeklyDay; + } + + public WeeklyDailyReality(Date dailyTime,Long userId,Long hostId,Long deptId,Integer status,Integer settle,String settleMsg,String comment,Long createBy,Date createTime,Long updateBy,Date updateTime,String weeklyMatter,Long director,Integer settleSize,Integer settleCurrent,Long weeklyId,Long cstmrId,Integer weeklyDay,String memo) { this.dailyTime = dailyTime; this.userId = userId; this.hostId = hostId; @@ -246,6 +251,17 @@ // null // 澶囨敞 // ); + + public String getWeeklyDay$(){ + if (null == this.weeklyDay){ return ""; } + WeeklyCostTypesService weeklyCostTypesService = SpringUtils.getBean(WeeklyCostTypesService.class); + WeeklyCostTypes weeklyCostTypes = weeklyCostTypesService.selectById(this.weeklyDay); + if (!Cools.isEmpty(weeklyCostTypes)){ + return String.valueOf(weeklyCostTypes.getTypeName()); + } + return null; + } + public String getDailyTime$(){ if (Cools.isEmpty(this.dailyTime)){ return ""; diff --git a/src/main/java/com/zy/crm/manager/entity/param/WeeklyDomainParam.java b/src/main/java/com/zy/crm/manager/entity/param/WeeklyDomainParam.java index 7bd1382..0e85f65 100644 --- a/src/main/java/com/zy/crm/manager/entity/param/WeeklyDomainParam.java +++ b/src/main/java/com/zy/crm/manager/entity/param/WeeklyDomainParam.java @@ -9,12 +9,14 @@ @Data public class WeeklyDomainParam { + private Integer weeklyId; + private Integer weeklyType; private Integer type; private List<WeeklyDailyPlan> weeklyDailyPlanList; - private List<WeeklyDailyReality> weeklyDailyRealities; + private List<WeeklyDailyReality> weeklyDailyRealityList; } diff --git a/src/main/webapp/static/js/weekly/weekly.js b/src/main/webapp/static/js/weekly/weekly.js index 3231054..afa0435 100644 --- a/src/main/webapp/static/js/weekly/weekly.js +++ b/src/main/webapp/static/js/weekly/weekly.js @@ -333,6 +333,9 @@ case "edit": showEditModel(data); break; + case "editReality": + showEditModel2(data); + break; case "lookPlan": var $a = $(obj.tr).find('a[lay-event="lookPlan"]'); var offset = $a.offset(); @@ -360,17 +363,17 @@ cols: [[ {type: 'numbers'} ,{field: 'weeklyDay$', align: 'center',title: '鏄熸湡'} - ,{field: 'workContent', title: '宸ヤ綔鍐呭', style: 'color: blue;font-weight: bold', edit:true} - ,{field: 'workPurpose', title: '宸ヤ綔鐩殑', style: 'color: blue;font-weight: bold', edit:true} - ,{field: 'comment', title: '璇勮', style: 'color: blue;font-weight: bold', edit:true} - ,{field: 'weeklyMatter', title: '闇�鍗忓姪浜嬮」', style: 'color: blue;font-weight: bold', edit:true} + ,{field: 'workContent', title: '宸ヤ綔鍐呭', edit:true} + ,{field: 'workPurpose', title: '宸ヤ綔鐩殑', edit:true} + ,{field: 'comment', title: '璇勮', edit:true} + ,{field: 'weeklyMatter', title: '闇�鍗忓姪浜嬮」', edit:true} // ,{field: 'dailyTime$', align: 'center',title: '鏃ユ姤鏃ユ湡'} // ,{field: 'settleMsg', align: 'center',title: '瀹℃牳杩涘害'} // ,{field: 'director', align: 'center',title: '璐熻矗浜�'} // ,{field: 'settleSize', align: 'center',title: '娴佺▼闀垮害'} // ,{field: 'settleCurrent', align: 'center',title: '褰撳墠杩涘害'} - ,{field: 'cstmrId', align: 'center',title: '鐢叉柟鍗曚綅ID', style: 'color: blue;font-weight: bold', templet: '#cstmrId'}//, templet: function () { return htmlCstme;} - ,{field: 'memo', align: 'center',title: '澶囨敞', style: 'color: blue;font-weight: bold', edit:true} + ,{field: 'cstmrId', align: 'center',title: '鐢叉柟鍗曚綅ID', templet: '#cstmrId'}//, templet: function () { return htmlCstme;} + ,{field: 'memo', align: 'center',title: '澶囨敞', edit:true} ]], request: { pageName: 'curr', @@ -422,17 +425,17 @@ cols: [[ {type: 'numbers'} ,{field: 'weeklyDay$', align: 'center',title: '鏄熸湡'} - ,{field: 'workContent', title: '宸ヤ綔鍐呭', style: 'color: blue;font-weight: bold', edit:true} - ,{field: 'workPurpose', title: '宸ヤ綔鐩殑', style: 'color: blue;font-weight: bold', edit:true} - ,{field: 'comment', title: '璇勮', style: 'color: blue;font-weight: bold', edit:true} - ,{field: 'weeklyMatter', title: '闇�鍗忓姪浜嬮」', style: 'color: blue;font-weight: bold', edit:true} + ,{field: 'workContent', align: 'center', title: '宸ヤ綔鍐呭', edit:true} + ,{field: 'workPurpose', title: '宸ヤ綔鐩殑', edit:true} + ,{field: 'comment', title: '璇勮', edit:true} + ,{field: 'weeklyMatter', title: '闇�鍗忓姪浜嬮」', edit:true} // ,{field: 'dailyTime$', align: 'center',title: '鏃ユ姤鏃ユ湡'} // ,{field: 'settleMsg', align: 'center',title: '瀹℃牳杩涘害'} // ,{field: 'director', align: 'center',title: '璐熻矗浜�'} // ,{field: 'settleSize', align: 'center',title: '娴佺▼闀垮害'} // ,{field: 'settleCurrent', align: 'center',title: '褰撳墠杩涘害'} - ,{field: 'cstmrId', align: 'center',title: '鐢叉柟鍗曚綅ID', style: 'color: blue;font-weight: bold', templet: '#cstmrId'}//, templet: function () { return htmlCstme;} - ,{field: 'memo', align: 'center',title: '澶囨敞', width: 100, style: 'color: blue;font-weight: bold', edit:true} + ,{field: 'cstmrId', align: 'center',title: '鐢叉柟鍗曚綅ID', templet: '#cstmrId'}//, templet: function () { return htmlCstme;} + ,{field: 'memo', align: 'center',title: '澶囨敞', edit:true} ]], request: { pageName: 'curr', @@ -506,7 +509,7 @@ headers: {'token': localStorage.getItem('token')}, data: JSON.stringify({ weeklyType: Number(data.field.weeklyType), - orderId: data.field.orderId, + weeklyId: data.field.id, // type: Number(data.field.type), type: Number(1), weeklyDailyPlanList: nList @@ -595,8 +598,8 @@ method: 'POST', success: function (res) { if (res.code === 200) { - console.log("res111111111111") - console.log(res) + // console.log("res111111111111") + // console.log(res) var template = $('#cstmrId').html(); // 鑾峰彇妯℃澘鍐呭 var compiledTemplate = Handlebars.compile(template); // 缂栬瘧妯℃澘 var html = compiledTemplate(res.data); // 灏嗘暟鎹簲鐢ㄥ埌妯℃澘涓� @@ -757,6 +760,273 @@ }); } + // 鏄剧ず琛ㄥ崟寮圭獥 + function showEditModel2(expTpe) { + admin.open({ + type: 1, + title: (expTpe ? '鍒涘缓' : '鍒涘缓') + '鏃ヨ绋�', + content: $('#editDialog').html(), + area: '2200px', + success: function (layero, dIndex) { + $(layero).children('.layui-layer-content').css('overflow', 'visible'); + var isExpAdd = !expTpe; + if (expTpe){ + document.getElementById('weeklyDisplay').style.display = 'none'; + } + // 鍥炴樉鏁版嵁 + form.val('editForm', expTpe); + console.log(expTpe) + if (expTpe) { + // $('#orderNo').attr("disabled", "disabled"); + } + // 琛ㄥ崟鎻愪氦浜嬩欢 + form.on('submit(weeklyEditSubmit)', function (data) { + // 缁勮鏁版嵁 + if (xxDataList.length <= 0) { + layer.tips('璇锋坊鍔犳姤閿�鏄庣粏', '#matAddBtnComment', {tips: [1, '#ff4c4c']}); + return false; + } + let nList = admin.util.deepClone(xxDataList); + for (let xi = 0; xi < nList.length; xi++) { + // if (nList[xi].anfme <= 0){ + // layer.msg('鏄庣粏淇敼鏁伴噺涓嶅悎娉�', {icon: 2}); + // return false; + // } + } + layer.load(2); + $.ajax({ + url: baseUrl+"/weekly/from/" + (isExpAdd?"add":"modify") + "/auth2", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify({ + weeklyType: Number(data.field.weeklyType), + weeklyId: data.field.id, + // type: Number(data.field.type), + type: Number(1), + weeklyDailyRealityList: nList + }), + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + layer.closeAll('loading'); + if (res.code === 200){ + layer.close(dIndex); + $(".layui-laypage-btn")[0].click(); + layer.msg(res.msg, {icon: 1}); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + return false; + }); + // 鏄庣粏琛ㄦ牸 + var xxDataList = []; + var tbOptions = { + elem: '#formSSXMTable', + headers: {token: localStorage.getItem('token')}, + data: xxDataList, + page: true, + height: '350px;', + cellMinWidth: 100, + cols: [[ + {type: 'numbers', title: '#'} + ,{field: 'weeklyDay$', align: 'center',title: '鏄熸湡'} + ,{field: 'workContent', title: '宸ヤ綔鍐呭', style: 'color: blue;font-weight: bold', edit:true} + ,{field: 'workPurpose', title: '宸ヤ綔鐩殑', style: 'color: blue;font-weight: bold', edit:true} + ,{field: 'comment', title: '璇勮', style: 'color: blue;font-weight: bold', edit:true} + ,{field: 'weeklyMatter', title: '闇�鍗忓姪浜嬮」', style: 'color: blue;font-weight: bold', edit:true} + // ,{field: 'dailyTime$', align: 'center',title: '鏃ユ姤鏃ユ湡'} + // ,{field: 'settleMsg', align: 'center',title: '瀹℃牳杩涘害'} + // ,{field: 'director', align: 'center',title: '璐熻矗浜�'} + // ,{field: 'settleSize', align: 'center',title: '娴佺▼闀垮害'} + // ,{field: 'settleCurrent', align: 'center',title: '褰撳墠杩涘害'} + ,{field: 'cstmrId', align: 'center',title: '鐢叉柟鍗曚綅ID', style: 'color: blue;font-weight: bold', templet: '#cstmrId'}//, templet: function () { return htmlCstme;} + ,{field: 'memo', align: 'center',title: '澶囨敞', width: 100, style: 'color: blue;font-weight: bold', edit:true} + ,{align: 'center', title: '鎿嶄綔', toolbar: '#formSSXMTableBar', minWidth: 80, width: 80, fixed: 'right'} + ]], + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + done: function (res, curr, count) { + $(".layui-table-cell").css('overflow', 'visible');//瑙e喅layui鏁版嵁琛ㄦ牸涓祵濂椾笅鎷夋鏄剧ず闂 + $(layero).find('.layui-table-view').css('margin', '0'); + var options = this; + + // 鑾峰彇褰撳墠琛屾暟鎹� + table.getRowData = function(elem){ + var index = $(elem).closest('tr').data('index'); + return table.cache[options.id][index] || {}; + }; + + $('.select-cstmr').on('change', function(){ + console.log("cstmrId") + var value = this.value; // 鑾峰彇閫変腑椤� value + var data = table.getRowData(this); + xxDataList.forEach(res => { + if (data.LAY_TABLE_INDEX === res.LAY_TABLE_INDEX){ + console.log(res) + // console.log(data) + res.cstmrId = value; + } + }) + }); + }, + size: '' + }; + if (!isExpAdd) { + $.ajax({ + url: baseUrl+"/weekly/detl/all/auth2?weeklyId=" + expTpe.id, + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + async: false, + success: function (res) { + if (res.code === 200){ + xxDataList = res.data; + tbOptions.data = xxDataList; + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}) + } + } + }) + } + var insTbSSXM = table.render(tbOptions); + // 宸ュ叿鏉$偣鍑讳簨浠� + table.on('tool(formSSXMTable)', function (obj) { + var data = obj.data; + var layEvent = obj.event; + if (layEvent === 'edit') { + showEditModel2(data); + } else if (layEvent === 'del') { + layer.confirm('纭畾瑕佸垹闄ゅ悧锛�', { + shade: .1, + skin: 'layui-layer-admin' + }, function (i) { + layer.close(i); + for (var j = 0; j < xxDataList.length; j++) { + if (xxDataList[j].matnr === data.matnr && xxDataList[j].batch === data.batch) { + xxDataList.splice(j, 1); + break; + } + } + insTbSSXM.reload({data: xxDataList, page: {curr: 1}}); + }); + } + }); + // 鏄庣粏鏁版嵁淇敼 + table.on('edit(formSSXMTable)', function (obj) { + let index = obj.tr.attr("data-index"); + let data = xxDataList[index]; + if (obj.field === 'anfme'){ + let vle = Number(obj.value); + if (isNaN(vle)) { + layer.msg("璇疯緭鍏ユ暟瀛�", {icon: 2}); + return false; + } else { + if (vle <= 0) { + layer.msg("鏁伴噺蹇呴』澶т簬闆�", {icon: 2}); + return false; + } + } + } + data[obj.field] = obj.value; + insTbSSXM.reload({data: xxDataList}); + }); + + $('#matAddBtnComment').click(function () { + showEditModel2(); + }); + + // 鏄剧ず娣诲姞鏄庣粏琛ㄥ崟寮圭獥 + function showEditModel2(exp) { + admin.open({ + type: 1, + offset: '150px', + area: '680px', + title: (exp ? '淇敼' : '娣诲姞') + '鏄庣粏', + content: $('#matEditDialog').html(), + success: function (layero, dIndex) { + // 鍥炴樉鏁版嵁 + form.val('matEditForm', exp); + // 琛ㄥ崟鎻愪氦浜嬩欢 + form.on('submit(matEditSubmit)', function (data) { + let selectList = matXmSelect.getValue(); + console.log(selectList) + for (let i = 0; i<selectList.length; i++) { + let item = selectList[i]; + // 鏌ヨ鐗╂枡璇︽儏 + $.ajax({ + url: baseUrl+"/weeklyCostTypes/covert/reality/"+item.value+"/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + async: false, + success: function (res) { + if (res.code === 200){ + var bige=true; + + if (bige){ + // console.log("-------2.3-------") + xxDataList.push(res.data); + insTbSSXM.reload({data: xxDataList, page: {curr: 1}}); + } + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}) + } + } + }) + } + layer.close(dIndex); + return false; + }); + // 娓叉煋鐗╂枡閫夋嫨 + var matXmSelect = xmSelect.render({ + el: '#weeklyCostTypes', + style: { + width: '340px', + }, + autoRow: true, + toolbar: { show: true }, + filterable: true, + remoteSearch: true, + remoteMethod: function(val, cb, show){ + $.ajax({ + url: baseUrl+"/weeklyCostTypes/all/get/kv", + headers: {'token': localStorage.getItem('token')}, + data: { + condition: val + }, + method: 'POST', + success: function (res) { + if (res.code === 200){ + cb(res.data) + } else { + cb([]); + layer.msg(res.msg, {icon: 2}); + } + } + }); + } + }) + // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯 + $(layero).children('.layui-layer-content').css('overflow', 'visible'); + layui.form.render('select'); + } + }); + } + } + }); + } + function approval2(planId, plannerId, dIdx) { let loadIndex = layer.load(2); $.ajax({ diff --git a/src/main/webapp/views/weekly/weekly.html b/src/main/webapp/views/weekly/weekly.html index 6b2d8d2..3d924f4 100644 --- a/src/main/webapp/views/weekly/weekly.html +++ b/src/main/webapp/views/weekly/weekly.html @@ -102,7 +102,8 @@ <!-- <a class="layui-btn layui-btn-xs btn-edit" lay-event="approval2">鎻愪氦</a>--> {{# } }} <!-- <a class="layui-btn layui-btn-xs btn-edit" lay-event="approval">鎻愪氦</a>--> - <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">缂栬緫</a> + <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">璁″垝</a> + <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="editReality">琛岀▼</a> <!-- <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a>--> </script> -- Gitblit v1.9.1