From e3a94fff7f518b2c84296ec4427c985676354096 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期四, 28 三月 2024 08:54:57 +0800
Subject: [PATCH] #周计划

---
 src/main/java/com/zy/crm/manager/mapper/WeeklyMapper.java            |    5 +
 src/main/java/com/zy/crm/manager/entity/WeeklyDailyPlan.java         |    4 
 src/main/java/com/zy/crm/manager/service/impl/WeeklyServiceImpl.java |   10 +++
 src/main/java/com/zy/crm/manager/entity/Weekly.java                  |   20 ------
 src/main/webapp/static/js/weekly/weekly.js                           |    3 
 src/main/java/com/zy/crm/manager/entity/param/CstmrUtilsParam.java   |   11 +++
 src/main/java/com/zy/crm/manager/controller/WeeklyController.java    |   81 +++++++++++++++++++++++---
 src/main/resources/mapper/WeeklyMapper.xml                           |    8 ++
 src/main/java/com/zy/crm/manager/service/WeeklyService.java          |    5 +
 9 files changed, 113 insertions(+), 34 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 a28ae8e..087bba8 100644
--- a/src/main/java/com/zy/crm/manager/controller/WeeklyController.java
+++ b/src/main/java/com/zy/crm/manager/controller/WeeklyController.java
@@ -5,9 +5,10 @@
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.core.common.DateUtils;
-import com.zy.crm.manager.entity.ReimburseOnlineDetl;
+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.param.CstmrUtilsParam;
 import com.zy.crm.manager.entity.param.WeeklyDomainParam;
 import com.zy.crm.manager.service.WeeklyDailyPlanService;
 import com.zy.crm.manager.service.WeeklyService;
@@ -18,12 +19,14 @@
 import com.core.domain.KeyValueVo;
 import com.zy.crm.common.web.BaseController;
 import com.zy.crm.manager.utils.TimeCalculatorUtils;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.*;
 
+@Slf4j
 @RestController
 public class WeeklyController extends BaseController {
 
@@ -145,21 +148,23 @@
     public R formAdd(@RequestBody WeeklyDomainParam param){
         try{
             if (Cools.isEmpty(param)){
-                return R.error("鍙傛暟涓虹┖锛歐eeklyDomainParam");
+                throw new CoolException("鍙傛暟涓虹┖锛歐eeklyDomainParam");
             } else if (Cools.isEmpty(param.getWeeklyDailyPlanList()) || param.getWeeklyDailyPlanList().size()==0){
-                return R.error("鍙傛暟涓虹┖锛歐eeklyDailyPlanList");
+                throw new CoolException("鍙傛暟涓虹┖锛歐eeklyDailyPlanList");
             } else if (Cools.isEmpty(param.getWeeklyType())){
-                return R.error("鍙傛暟涓虹┖锛歐eeklyDailyPlanList");
+                throw new CoolException("鍙傛暟涓虹┖锛歐eeklyDailyPlanList");
             } else if (Cools.isEmpty(param.getType())){
-                return R.error("鍙傛暟涓虹┖锛歍ype");
+                throw new CoolException("鍙傛暟涓虹┖锛歍ype");
             } else if (Cools.isEmpty(param.getWeeklyType())){
-                return R.error("鍙傛暟涓虹┖锛歐eekly");
+                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);
@@ -168,7 +173,7 @@
 
 
             List<Date> dateList = new ArrayList<>();//鑾峰彇鍛ㄤ竴涓庡懆鏃ユ棩鏈�
-            switch (param.getType()){
+            switch (param.getWeeklyType()) {
                 case 1:
                     dateList = TimeCalculatorUtils.WeeklyMondayAndSundayFront(now);
                     weekly.setStatus(2);
@@ -182,15 +187,69 @@
                     weekly.setStatus(0);
                     break;
                 default:
-                    return R.error("鍙傛暟寮傚父锛歐eekly="+param.getType());
+                    log.error("鍙傛暟寮傚父锛歐eekly="+param.getType());
+                    throw new CoolException("鍙傛暟寮傚父锛歐eekly="+param.getType());
             }
+
+            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);//鑾峰彇鍛ㄤ竴鍒板懆鏃ユ棩鏈�
-            System.out.println(dates.toString());
+
+            try{
+                weeklyService.insert(weekly);
+            } catch (Exception e) {
+                log.error("鏂板鍛ㄨ鍒掍富琛ㄥけ璐ワ紝寮傚父淇℃伅锛�"+e);
+                throw new CoolException("鏂板鍛ㄨ鍒掍富琛ㄥけ璐�");
+            }
+
+            List<CstmrUtilsParam> cstmrUtilsParamList = new ArrayList<>();
+            for (WeeklyDailyPlan weeklyDailyPlan : param.getWeeklyDailyPlanList()){
+
+                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){
-            return R.error("寮傚父锛�"+e);
+            log.error("鍒涘缓鍛ㄨ鍒掑紓甯革紝寮傚父淇℃伅锛�"+e);
+            throw new CoolException("鍒涘缓鍛ㄨ鍒掑け璐�==>"+e);
         }
 
-        return R.ok();
+        return R.ok("鍒涘缓鎴愬姛");
     }
 
     @RequestMapping(value = "/weekly/detl/all/auth")
diff --git a/src/main/java/com/zy/crm/manager/entity/Weekly.java b/src/main/java/com/zy/crm/manager/entity/Weekly.java
index bd71913..73337b5 100644
--- a/src/main/java/com/zy/crm/manager/entity/Weekly.java
+++ b/src/main/java/com/zy/crm/manager/entity/Weekly.java
@@ -8,21 +8,6 @@
 import com.zy.crm.system.entity.*;
 import com.zy.crm.system.service.*;
 import org.springframework.format.annotation.DateTimeFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import com.core.common.SpringUtils;
-import com.core.common.SpringUtils;
-import com.core.common.SpringUtils;
-import com.core.common.SpringUtils;
-import com.zy.crm.system.service.UserService;
-import com.zy.crm.system.entity.User;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import com.core.common.SpringUtils;
-import com.zy.crm.system.service.UserService;
-import com.zy.crm.system.entity.User;
-import java.text.SimpleDateFormat;
-import java.util.Date;
 import com.core.common.SpringUtils;
 import com.zy.crm.system.service.UserService;
 import com.zy.crm.system.entity.User;
@@ -49,7 +34,6 @@
      * 寮�濮嬫棩鏈�
      */
     @ApiModelProperty(value= "寮�濮嬫棩鏈�")
-    @TableId(value = "start_time", type = IdType.INPUT)
     @TableField("start_time")
     @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
     private Date startTime;
@@ -58,7 +42,6 @@
      * 缁撴潫鏃ユ湡
      */
     @ApiModelProperty(value= "缁撴潫鏃ユ湡")
-    @TableId(value = "end_time", type = IdType.INPUT)
     @TableField("end_time")
     @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
     private Date endTime;
@@ -67,7 +50,6 @@
      * 鎵�灞炰汉鍛�
      */
     @ApiModelProperty(value= "鎵�灞炰汉鍛�")
-    @TableId(value = "user_id", type = IdType.INPUT)
     @TableField("user_id")
     private Long userId;
 
@@ -142,7 +124,7 @@
     /**
      * update_time
      */
-    @ApiModelProperty(value= "update_time")
+    @ApiModelProperty(value= "鏇存柊鏃堕棿")
     @TableField("update_time")
     @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
     private Date updateTime;
diff --git a/src/main/java/com/zy/crm/manager/entity/WeeklyDailyPlan.java b/src/main/java/com/zy/crm/manager/entity/WeeklyDailyPlan.java
index 9339cda..8178326 100644
--- a/src/main/java/com/zy/crm/manager/entity/WeeklyDailyPlan.java
+++ b/src/main/java/com/zy/crm/manager/entity/WeeklyDailyPlan.java
@@ -163,7 +163,7 @@
     @ApiModelProperty(value= "鍛ㄦ姤ID")
     @TableId(value = "weekly_id", type = IdType.INPUT)
     @TableField("weekly_id")
-    private Integer weeklyId;
+    private Long weeklyId;
 
     /**
      * 鐢叉柟鍗曚綅ID
@@ -188,7 +188,7 @@
 
     public WeeklyDailyPlan() {}
 
-    public WeeklyDailyPlan(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 WeeklyDailyPlan(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;
diff --git a/src/main/java/com/zy/crm/manager/entity/param/CstmrUtilsParam.java b/src/main/java/com/zy/crm/manager/entity/param/CstmrUtilsParam.java
new file mode 100644
index 0000000..1dfe11c
--- /dev/null
+++ b/src/main/java/com/zy/crm/manager/entity/param/CstmrUtilsParam.java
@@ -0,0 +1,11 @@
+package com.zy.crm.manager.entity.param;
+
+import lombok.Data;
+
+@Data
+public class CstmrUtilsParam {
+
+    private Long cstmrId;
+
+    private String cstmrName;
+}
diff --git a/src/main/java/com/zy/crm/manager/mapper/WeeklyMapper.java b/src/main/java/com/zy/crm/manager/mapper/WeeklyMapper.java
index 7ac82dc..f7e8c52 100644
--- a/src/main/java/com/zy/crm/manager/mapper/WeeklyMapper.java
+++ b/src/main/java/com/zy/crm/manager/mapper/WeeklyMapper.java
@@ -3,10 +3,15 @@
 import com.zy.crm.manager.entity.Weekly;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
+
+import java.util.Date;
 
 @Mapper
 @Repository
 public interface WeeklyMapper extends BaseMapper<Weekly> {
 
+    Integer selectUserStartAndEnd(@Param("startTime")Date startTime,  @Param("endTime")Date endTime,  @Param("userId")Long userId);
+
 }
diff --git a/src/main/java/com/zy/crm/manager/service/WeeklyService.java b/src/main/java/com/zy/crm/manager/service/WeeklyService.java
index dac5a3d..3ca6174 100644
--- a/src/main/java/com/zy/crm/manager/service/WeeklyService.java
+++ b/src/main/java/com/zy/crm/manager/service/WeeklyService.java
@@ -3,6 +3,11 @@
 import com.zy.crm.manager.entity.Weekly;
 import com.baomidou.mybatisplus.service.IService;
 
+import java.util.Date;
+import java.util.List;
+
 public interface WeeklyService extends IService<Weekly> {
 
+    Integer selectUserStartAndEnd(List<Date> timeList, Long userId);
+
 }
diff --git a/src/main/java/com/zy/crm/manager/service/impl/WeeklyServiceImpl.java b/src/main/java/com/zy/crm/manager/service/impl/WeeklyServiceImpl.java
index 2ebf899..e4fb6da 100644
--- a/src/main/java/com/zy/crm/manager/service/impl/WeeklyServiceImpl.java
+++ b/src/main/java/com/zy/crm/manager/service/impl/WeeklyServiceImpl.java
@@ -1,12 +1,22 @@
 package com.zy.crm.manager.service.impl;
 
+import com.core.common.Cools;
 import com.zy.crm.manager.mapper.WeeklyMapper;
 import com.zy.crm.manager.entity.Weekly;
 import com.zy.crm.manager.service.WeeklyService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.Date;
+import java.util.List;
+
 @Service("weeklyService")
 public class WeeklyServiceImpl extends ServiceImpl<WeeklyMapper, Weekly> implements WeeklyService {
 
+    @Override
+    public Integer selectUserStartAndEnd(List<Date> timeList, Long userId){
+        Integer integer = this.baseMapper.selectUserStartAndEnd(timeList.get(0), timeList.get(1), userId);
+        return Cools.isEmpty(integer)? 0:integer;
+    };
+
 }
diff --git a/src/main/resources/mapper/WeeklyMapper.xml b/src/main/resources/mapper/WeeklyMapper.xml
index d4a0c4e..a64ea63 100644
--- a/src/main/resources/mapper/WeeklyMapper.xml
+++ b/src/main/resources/mapper/WeeklyMapper.xml
@@ -33,4 +33,12 @@
 
     </resultMap>
 
+    <select id="selectUserStartAndEnd" resultMap="BaseResultMap">
+        select count(1) from man_weekly
+        where 1=1
+        and start_time = #{startTime}
+        and end_time = #{endTime}
+        and user_id = #{userId}
+    </select>
+
 </mapper>
diff --git a/src/main/webapp/static/js/weekly/weekly.js b/src/main/webapp/static/js/weekly/weekly.js
index e50a029..655fbc8 100644
--- a/src/main/webapp/static/js/weekly/weekly.js
+++ b/src/main/webapp/static/js/weekly/weekly.js
@@ -104,7 +104,7 @@
             ,{field: 'settleSize', align: 'center',title: '娴佺▼闀垮害',hide : true}
             ,{field: 'settleCurrent', align: 'center',title: '褰撳墠杩涘害',hide : true}
             ,{field: 'cstmrIdsPlan', align: 'center',title: '璁″垝鐢叉柟鍗曚綅ID闆嗗悎',hide : true}
-            ,{field: 'weeklyAll', align: 'center',title: '鍛ㄦ暟',hide : false}                                                                                                                                                                                                                                                                                                                                                     
+            ,{field: 'weeklyAll', align: 'center',title: '鍛ㄦ暟',hide : false}
             ,{field: 'weeklyNowMonth', align: 'center',title: '褰撴湀绗嚑鍛�',hide : true}
             ,{field: 'weeklyYear', align: 'center',title: '骞�',hide : true}
             ,{field: 'weeklyMonth', align: 'center',title: '鏈�',hide : true}
@@ -430,7 +430,6 @@
                         contentType:'application/json;charset=UTF-8',
                         method: 'POST',
                         success: function (res) {
-                            console.log(data)
                             layer.closeAll('loading');
                             if (res.code === 200){
                                 layer.close(dIndex);

--
Gitblit v1.9.1