From a33070f3623761e8c14e818294d0f30e388a57ae Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期四, 09 十一月 2023 11:58:54 +0800
Subject: [PATCH] #副PLAN

---
 src/main/resources/mapper/PlanMapper.xml                        |    4 
 src/main/webapp/views/priOnline2/priOnline.html                 |    2 
 src/main/java/com/zy/crm/manager/controller/PlanController.java |   92 +++++++++++++
 src/main/java/com/zy/crm/manager/entity/PlanType.java           |    5 
 src/main/webapp/static/js/plan/plan.js                          |   39 +++++
 src/main/webapp/views/plan/plan.html                            |    3 
 src/main/java/com/zy/crm/manager/entity/Plan.java               |  239 +++++++++++++++++++++------------
 7 files changed, 291 insertions(+), 93 deletions(-)

diff --git a/src/main/java/com/zy/crm/manager/controller/PlanController.java b/src/main/java/com/zy/crm/manager/controller/PlanController.java
index 0cd26b0..cae4711 100644
--- a/src/main/java/com/zy/crm/manager/controller/PlanController.java
+++ b/src/main/java/com/zy/crm/manager/controller/PlanController.java
@@ -189,6 +189,84 @@
         return R.ok();
     }
 
+    @RequestMapping(value = "/plan/assistantPlan/add/auth")
+    @ManagerAuth(memo = "娣诲姞鍓鍒掔敵璇峰崟")
+    @Transactional
+    public R assistantPlanAdd(@RequestParam Long hostPlanId) {
+        Plan hostPlan = planService.selectById(hostPlanId);
+        if (!Cools.isEmpty(hostPlan.getAssistantPlanId()) && hostPlan.getAssistantPlanId()!=0){
+            return R.error("姝よ鍒掑崟宸插瓨鍦ㄥ壇瑙勫垝鍗曪紝id涓�"+hostPlan.getAssistantPlanId());
+        }
+        // pre
+        Plan plan = new Plan(hostPlan);
+        // begin
+        Long hostId = getHostId();
+        if (planService.selectByUuid(hostId, plan.getUuid()) != null) {
+            throw new CoolException("瑙勫垝鍗曞凡瀛樺湪");
+        }
+
+        Order order = orderService.selectById(plan.getOrderId());
+        if (Cools.isEmpty(order)) {
+            throw new CoolException("璺熻釜椤圭洰涓嶅瓨鍦�");
+        }
+
+        if (!order.getDirector().equals(getUserId())){
+            throw new CoolException("鍙厑璁歌窡韪」鐩礋璐d汉娣诲姞鎵�閫夐」鐩鍒掔敵璇峰崟");
+        }
+
+        Date now = new Date();
+        plan.setHostId(hostId);
+        plan.setUuid(planService.getUuid(hostId));  // 瑙勫垝鍗曚唬鍙�
+        plan.setDeptId(getDeptId());               // 鎵�灞為儴闂�
+        plan.setUserId(getUserId());               // 鎵�灞炰汉鍛�
+
+        plan.setAppleTime(now);
+        plan.setCreateBy(getUserId());
+        plan.setCreateTime(now);
+        plan.setUpdateBy(getUserId());
+        plan.setUpdateTime(now);
+        plan.setStatus(0);
+        plan.setStatus2(0);
+        plan.setStep(1);
+        plan.setSettle(1);  // 1.寮�濮�
+        plan.setAssistantHostSign(1);//鍓鍒掑崟
+
+        User manager = new User();
+        try{
+            manager = userService.getDeptManager(getHostId(), getUser().getDeptId());        // 鑾峰彇閮ㄩ棬棰嗗
+        }catch (Exception e){
+            manager = getUser();
+        }
+        PlanType planType = new PlanType(hostPlan.getHostId(),1);//1:璐ф灦
+        User planLeader = planTypeService.findPlanLeader(planType);
+        plan.setSettleMsg(JSON.toJSONString(SettleDto.init(plan, manager, planLeader)));
+
+        plan.setDirector(planLeader.getId());
+
+        if (!planService.insert(plan)) {
+            throw new CoolException("淇濆瓨澶辫触锛岃閲嶈瘯");
+        }
+        plan.setAssistantPlanId(plan.getId());
+        plan.setHostPlanId(hostPlanId);
+        if (!planService.updateById(plan)) {
+            throw new CoolException("鏇存柊澶辫触锛岃閲嶈瘯");
+        }
+        // 鑷姩娣诲姞璺熻繘浜�
+        PlanFoll planFoll = new PlanFoll();
+        planFoll.setPlanId(plan.getId());
+        planFoll.setUserId(planLeader.getId());
+        if (!planFollService.insert(planFoll)) {
+            throw new CoolException("淇濆瓨澶辫触锛岃閲嶈瘯");
+        }
+
+        hostPlan.setAssistantPlanId(plan.getId());
+        hostPlan.setHostPlanId(hostPlanId);
+        if (!planService.updateById(hostPlan)) {
+            throw new CoolException("鏇存柊澶辫触锛岃閲嶈瘯");
+        }
+        return R.ok("淇濆瓨鎴愬姛");
+    }
+
 	@RequestMapping(value = "/plan/update/auth")
 	@ManagerAuth(memo = "鏇存柊瑙勫垝鐢宠鍗�")
     @Transactional
@@ -250,6 +328,20 @@
              if (priOnline2!=0){
                  return R.error("瀛樺湪鍏宠仈鐨勬牳浠峰崟锛岀姝㈠垹闄わ紒锛侊紒");
              }
+             Plan planA = planService.selectById(id);
+             if (planA.getAssistantHostSign()==1){
+                 Plan planB = planService.selectById(planA.getHostPlanId());
+                 planB.setAssistantPlanId(0L);
+                 planB.setHostPlanId(0L);
+                 planService.updateById(planB);
+             }else {
+                 if (!Cools.isEmpty(planA.getAssistantPlanId()) && planA.getAssistantPlanId()!=0){
+                     Plan planB = planService.selectById(planA.getAssistantPlanId());
+                     if (!Cools.isEmpty(planB)){
+                         return R.error("瀛樺湪鍏宠仈鐨勫壇瑙勫垝鍗曪紝绂佹鍒犻櫎锛侊紒锛� 鍓鍒掑崟ID锛�"+planB.getId());
+                     }
+                 }
+             }
              planService.deleteById(id);
         }
         return R.ok();
diff --git a/src/main/java/com/zy/crm/manager/entity/Plan.java b/src/main/java/com/zy/crm/manager/entity/Plan.java
index 4e02dbf..5837250 100644
--- a/src/main/java/com/zy/crm/manager/entity/Plan.java
+++ b/src/main/java/com/zy/crm/manager/entity/Plan.java
@@ -33,327 +33,380 @@
     /**
      * ID
      */
-    @ApiModelProperty(value= "ID")
+    @ApiModelProperty(value = "ID")
     @TableId(value = "id", type = IdType.AUTO)
     private Long id;
 
     /**
      * 鎵�灞炲晢鎴�
      */
-    @ApiModelProperty(value= "鎵�灞炲晢鎴�")
+    @ApiModelProperty(value = "鎵�灞炲晢鎴�")
     @TableField("host_id")
     private Long hostId;
 
     /**
      * 鎵�灞為儴闂�
      */
-    @ApiModelProperty(value= "鎵�灞為儴闂�")
+    @ApiModelProperty(value = "鎵�灞為儴闂�")
     @TableField("dept_id")
     private Long deptId;
 
     /**
      * 涓氬姟绫诲瀷
      */
-    @ApiModelProperty(value= "涓氬姟绫诲瀷")
+    @ApiModelProperty(value = "涓氬姟绫诲瀷")
     @TableField("plan_type")
     private Long planType;
 
     /**
      * 涓氬姟鍛�
      */
-    @ApiModelProperty(value= "涓氬姟鍛�")
+    @ApiModelProperty(value = "涓氬姟鍛�")
     @TableField("user_id")
     private Long userId;
 
     /**
      * 璺熻釜椤圭洰
      */
-    @ApiModelProperty(value= "璺熻釜椤圭洰")
+    @ApiModelProperty(value = "璺熻釜椤圭洰")
     @TableField("order_id")
     private Long orderId;
 
     /**
      * 鐢叉柟鍗曚綅
      */
-    @ApiModelProperty(value= "鐢叉柟鍗曚綅")
+    @ApiModelProperty(value = "鐢叉柟鍗曚綅")
     @TableField("cstmr_id")
     private Long cstmrId;
 
     /**
      * 瑙勫垝鍗曚唬鍙�
      */
-    @ApiModelProperty(value= "瑙勫垝鍗曚唬鍙�")
+    @ApiModelProperty(value = "瑙勫垝鍗曚唬鍙�")
     private String uuid;
 
     /**
      * 瑙勫垝鍗曞悕绉�
      */
-    @ApiModelProperty(value= "瑙勫垝鍗曞悕绉�")
+    @ApiModelProperty(value = "瑙勫垝鍗曞悕绉�")
     private String name;
 
     /**
      * 鐢宠鏃ユ湡
      */
-    @ApiModelProperty(value= "鐢宠鏃ユ湡")
+    @ApiModelProperty(value = "鐢宠鏃ユ湡")
     @TableField("apple_time")
-    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
     private Date appleTime;
 
     /**
      * 鏂规鎵�闇�
      */
-    @ApiModelProperty(value= "鏂规鎵�闇�")
+    @ApiModelProperty(value = "鏂规鎵�闇�")
     @TableField("plan_need")
     private String planNeed;
 
     /**
      * 绔嬮」 1: 鏄�  0: 鍚�
      */
-    @ApiModelProperty(value= "绔嬮」 1: 鏄�  0: 鍚�  ")
+    @ApiModelProperty(value = "绔嬮」 1: 鏄�  0: 鍚�  ")
     @TableField("be_item")
     private Integer beItem;
 
     /**
      * 琛ㄥ崟鍐呭
      */
-    @ApiModelProperty(value= "琛ㄥ崟鍐呭")
+    @ApiModelProperty(value = "琛ㄥ崟鍐呭")
     private String form;
 
     /**
      * 瑙勫垝鍛�
      */
-    @ApiModelProperty(value= "瑙勫垝鍛�")
+    @ApiModelProperty(value = "瑙勫垝鍛�")
     private Long planner;
 
     /**
      * 瀹屾垚鏃堕棿
      */
-    @ApiModelProperty(value= "瀹屾垚鏃堕棿")
+    @ApiModelProperty(value = "瀹屾垚鏃堕棿")
     @TableField("finish_time")
-    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
     private Date finishTime;
 
     /**
      * 鏇存敼鏂规 1: 鏄�  0: 鍚�
      */
-    @ApiModelProperty(value= "鏇存敼鏂规 1: 鏄�  0: 鍚�  ")
+    @ApiModelProperty(value = "鏇存敼鏂规 1: 鏄�  0: 鍚�  ")
     private Integer change;
 
     /**
      * 鏇存敼娆℃暟
      */
-    @ApiModelProperty(value= "鏇存敼娆℃暟")
+    @ApiModelProperty(value = "鏇存敼娆℃暟")
     @TableField("change_time")
     private Integer changeTime;
 
     /**
      * 鏇存敼鏂规鍘熷洜
      */
-    @ApiModelProperty(value= "鏇存敼鏂规鍘熷洜")
+    @ApiModelProperty(value = "鏇存敼鏂规鍘熷洜")
     @TableField("change_reason")
     private String changeReason;
 
     /**
      * 瑙勬牸濂栭噾
      */
-    @ApiModelProperty(value= "瑙勬牸濂栭噾")
+    @ApiModelProperty(value = "瑙勬牸濂栭噾")
     @TableField("plan_bonus")
     private Double planBonus;
 
     /**
      * 瑙勬牸缁勯暱濂栭噾
      */
-    @ApiModelProperty(value= "瑙勬牸缁勯暱濂栭噾")
+    @ApiModelProperty(value = "瑙勬牸缁勯暱濂栭噾")
     @TableField("plan_leader_bonus")
     private Double planLeaderBonus;
 
     /**
      * 闄勪欢
      */
-    @ApiModelProperty(value= "闄勪欢")
+    @ApiModelProperty(value = "闄勪欢")
     private String files;
 
     /**
      * 杩涘害 1: 寮�濮�  2: 缁勯暱瀹℃牳  3: 鍞墠缁勯暱瀹℃牳  4: 瑙勫垝鍛樺鏍�  5: 瀹℃壒閫氳繃
      */
-    @ApiModelProperty(value= "杩涘害 1: 寮�濮�  2: 缁勯暱瀹℃牳  3: 鍞墠瀹℃牳  4: 瑙勫垝鍛樺鏍�  5: 瀹℃壒閫氳繃  ")
+    @ApiModelProperty(value = "杩涘害 1: 寮�濮�  2: 缁勯暱瀹℃牳  3: 鍞墠瀹℃牳  4: 瑙勫垝鍛樺鏍�  5: 瀹℃壒閫氳繃  ")
     private Integer settle;
 
     /**
      * 瀹℃牳杩涘害
      */
-    @ApiModelProperty(value= "瀹℃牳杩涘害")
+    @ApiModelProperty(value = "瀹℃牳杩涘害")
     @TableField("settle_msg")
     private String settleMsg;
 
     /**
      * 璇勮
      */
-    @ApiModelProperty(value= "璇勮")
+    @ApiModelProperty(value = "璇勮")
     private String comment;
 
     /**
      * 鐘舵�� 1: 姝e父  0: 绂佺敤
      */
-    @ApiModelProperty(value= "鐘舵�� 1: 姝e父  0: 绂佺敤  ")
+    @ApiModelProperty(value = "鐘舵�� 1: 姝e父  0: 绂佺敤  ")
     private Integer status;
 
     /**
      * 娣诲姞浜哄憳
      */
-    @ApiModelProperty(value= "娣诲姞浜哄憳")
+    @ApiModelProperty(value = "娣诲姞浜哄憳")
     @TableField("create_by")
     private Long createBy;
 
     /**
      * 娣诲姞鏃堕棿
      */
-    @ApiModelProperty(value= "娣诲姞鏃堕棿")
+    @ApiModelProperty(value = "娣诲姞鏃堕棿")
     @TableField("create_time")
-    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date createTime;
 
     /**
      * 淇敼浜哄憳
      */
-    @ApiModelProperty(value= "淇敼浜哄憳")
+    @ApiModelProperty(value = "淇敼浜哄憳")
     @TableField("update_by")
     private Long updateBy;
 
     /**
      * 淇敼鏃堕棿
      */
-    @ApiModelProperty(value= "淇敼鏃堕棿")
+    @ApiModelProperty(value = "淇敼鏃堕棿")
     @TableField("update_time")
-    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date updateTime;
 
     /**
      * 娉ㄩ噴
      */
-    @ApiModelProperty(value= "娉ㄩ噴")
+    @ApiModelProperty(value = "娉ㄩ噴")
     private String memo;
 
     /**
      * 椤圭洰杩涘害娴佺▼{1锛氶」鐩垱寤猴紝2锛氭牳浠峰鐞嗭紝3锛氫骇鍝佽垂鐢ㄦ槑缁嗭紝4锛氭姤浠烽绠楀崟锛�5锛氭姤浠峰崟}
      */
-    @ApiModelProperty(value= "椤圭洰杩涘害娴佺▼{1锛氶」鐩垱寤猴紝2锛氭牳浠峰鐞嗭紝3锛氫骇鍝佽垂鐢ㄦ槑缁嗭紝4锛氭姤浠烽绠楀崟锛�5锛氭姤浠峰崟}")
+    @ApiModelProperty(value = "椤圭洰杩涘害娴佺▼{1锛氶」鐩垱寤猴紝2锛氭牳浠峰鐞嗭紝3锛氫骇鍝佽垂鐢ㄦ槑缁嗭紝4锛氭姤浠烽绠楀崟锛�5锛氭姤浠峰崟}")
     private Integer step;
 
     /**
      * 涓氬姟鍛樿仈绯绘柟寮�
      */
-    @ApiModelProperty(value= "涓氬姟鍛樿仈绯绘柟寮�")
+    @ApiModelProperty(value = "涓氬姟鍛樿仈绯绘柟寮�")
     private String userXmlSelPhone;
 
     /**
      * 鑺傜偣璐熻矗浜�
      */
-    @ApiModelProperty(value= "鑺傜偣璐熻矗浜�")
+    @ApiModelProperty(value = "鑺傜偣璐熻矗浜�")
     private Long director;
 
-    public Plan() {}
+    /**
+     * 闆嗘垚椤圭洰璐ф灦鏍镐环鐘舵��
+     */
+    @ApiModelProperty(value = "鐘舵�� 3: 瀹屾垚鏍镐环 2: 寮�濮嬫牳浠� 1: 绛夊緟鏍镐环  0: 鍒濆  ")
+    private Integer status2;
 
-    public String getHostId$(){
+    /**
+     * 鑺傜偣璐熻矗浜�
+     */
+    @ApiModelProperty(value = "鍓痯lanId")
+    @TableField("assistant_plan_id")
+    private Long assistantPlanId;
+
+    /**
+     * 鑺傜偣璐熻矗浜�
+     */
+    @ApiModelProperty(value = "涓籶lanId")
+    @TableField("host_plan_id")
+    private Long hostPlanId;
+
+    /**
+     * 鑺傜偣璐熻矗浜�
+     */
+    @ApiModelProperty(value = "涓籶lanId")
+    @TableField("assistant_host_sign")
+    private Integer assistantHostSign;
+
+    public Plan() {
+    }
+
+    public Plan(Plan plan) {
+        this.hostId = plan.getHostId();
+        this.deptId = plan.getDeptId();
+        this.planType = plan.getPlanType();
+        this.userId = plan.getUserId();
+        this.orderId = plan.getOrderId();
+        this.cstmrId = plan.getCstmrId();
+        this.name = plan.getName();
+        this.planNeed = plan.getPlanNeed();
+        this.beItem = plan.getBeItem();
+        this.form = plan.getForm();
+        this.finishTime = plan.getFinishTime();
+        this.change = plan.getChange();
+        this.changeTime = plan.getChangeTime();
+        this.changeReason = plan.getChangeReason();
+        this.planBonus = plan.getPlanBonus();
+        this.planLeaderBonus = plan.getPlanLeaderBonus();
+        this.files = plan.getFiles();
+        this.comment = plan.getComment();
+        this.memo = plan.getMemo();
+        this.userXmlSelPhone = plan.getUserXmlSelPhone();
+    }
+
+    public String getHostId$() {
         HostService service = SpringUtils.getBean(HostService.class);
         Host host = service.selectById(this.hostId);
-        if (!Cools.isEmpty(host)){
+        if (!Cools.isEmpty(host)) {
             return String.valueOf(host.getName());
         }
         return null;
     }
 
-    public String getDirector$(){
-        if (this.director==null) return "";
+    public String getDirector$() {
+        if (this.director == null) return "";
         UserService service = SpringUtils.getBean(UserService.class);
         User user = service.selectById(this.director);
-        if (!Cools.isEmpty(user)){
+        if (!Cools.isEmpty(user)) {
             return String.valueOf(user.getNickname());
         }
         return null;
     }
 
-    public String getDeptId$(){
+    public String getDeptId$() {
         DeptService service = SpringUtils.getBean(DeptService.class);
         Dept dept = service.selectById(this.deptId);
-        if (!Cools.isEmpty(dept)){
+        if (!Cools.isEmpty(dept)) {
             return String.valueOf(dept.getName());
         }
         return null;
     }
 
-    public String getPlanType$(){
+    public String getPlanType$() {
         PlanTypeService service = SpringUtils.getBean(PlanTypeService.class);
         PlanType planType = service.selectById(this.planType);
-        if (!Cools.isEmpty(planType)){
+        if (!Cools.isEmpty(planType)) {
             return String.valueOf(planType.getName());
         }
         return null;
     }
 
-    public Integer getPLType$(){
+    public Integer getPLType$() {
         PlanTypeService service = SpringUtils.getBean(PlanTypeService.class);
         PlanType planType = service.selectById(this.planType);
-        if (!Cools.isEmpty(planType)){
+        if (!Cools.isEmpty(planType)) {
             return planType.getType();
         }
         return null;
     }
 
-    public String getUserId$(){
+    public String getUserId$() {
         UserService service = SpringUtils.getBean(UserService.class);
         User user = service.selectById(this.userId);
-        if (!Cools.isEmpty(user)){
+        if (!Cools.isEmpty(user)) {
             return String.valueOf(user.getNickname());
         }
         return null;
     }
 
-    public String getOrderId$(){
+    public String getOrderId$() {
         OrderService service = SpringUtils.getBean(OrderService.class);
         Order order = service.selectById(this.orderId);
-        if (!Cools.isEmpty(order)){
+        if (!Cools.isEmpty(order)) {
             return String.valueOf(order.getName());
         }
         return null;
     }
 
-    public String getCstmrId$(){
+    public String getCstmrId$() {
         CstmrService service = SpringUtils.getBean(CstmrService.class);
         Cstmr cstmr = service.selectById(this.cstmrId);
-        if (!Cools.isEmpty(cstmr)){
+        if (!Cools.isEmpty(cstmr)) {
             return String.valueOf(cstmr.getName());
         }
         return null;
     }
 
-    public String getAppleTime$(){
-        if (Cools.isEmpty(this.appleTime)){
+    public String getAppleTime$() {
+        if (Cools.isEmpty(this.appleTime)) {
             return "";
         }
         return new SimpleDateFormat("yyyy-MM-dd").format(this.appleTime);
     }
 
-    public String getPlanNeed$(){
-        if (Cools.isEmpty(this.planNeed)){
+    public String getPlanNeed$() {
+        if (Cools.isEmpty(this.planNeed)) {
             return null;
         }
         PlanNeedService service = SpringUtils.getBean(PlanNeedService.class);
         String[] planNeeds = this.planNeed.split("-");
-        String name="";
-        for (String planNeeda : planNeeds){
+        String name = "";
+        for (String planNeeda : planNeeds) {
             PlanNeed planNeed = service.selectById(Integer.parseInt(planNeeda));
-            if (!Cools.isEmpty(planNeed)){
+            if (!Cools.isEmpty(planNeed)) {
 //                return String.valueOf(planNeed.getName());
-                name = name+planNeed.getName()+";";
+                name = name + planNeed.getName() + ";";
             }
         }
         return name;
     }
 
-    public String getBeItem$(){
-        if (null == this.beItem){ return null; }
-        switch (this.beItem){
+    public String getBeItem$() {
+        if (null == this.beItem) {
+            return null;
+        }
+        switch (this.beItem) {
             case 1:
                 return "鏄�";
             case 0:
@@ -363,16 +416,18 @@
         }
     }
 
-    public String getFinishTime$(){
-        if (Cools.isEmpty(this.finishTime)){
+    public String getFinishTime$() {
+        if (Cools.isEmpty(this.finishTime)) {
             return "";
         }
         return new SimpleDateFormat("yyyy-MM-dd").format(this.finishTime);
     }
 
-    public String getChange$(){
-        if (null == this.change){ return null; }
-        switch (this.change){
+    public String getChange$() {
+        if (null == this.change) {
+            return null;
+        }
+        switch (this.change) {
             case 1:
                 return "鏄�";
             case 0:
@@ -382,9 +437,11 @@
         }
     }
 
-    public String getSettle$(){
-        if (null == this.settle){ return null; }
-        switch (this.settle){
+    public String getSettle$() {
+        if (null == this.settle) {
+            return null;
+        }
+        switch (this.settle) {
 //            case 1:
 //                return "绛夊緟缁勯暱瀹℃牳";
             case 1:
@@ -400,29 +457,31 @@
         }
     }
 
-    public String getPlanner$(){
-        if (this.planner==null) return "鏈垎閰�";
+    public String getPlanner$() {
+        if (this.planner == null) return "鏈垎閰�";
         UserService service = SpringUtils.getBean(UserService.class);
         User user = service.selectById(this.planner);
-        if (!Cools.isEmpty(user)){
+        if (!Cools.isEmpty(user)) {
             return String.valueOf(user.getNickname());
         }
         return "";
     }
 
-    public String getNowHeadman$(){
+    public String getNowHeadman$() {
         PlanTypeService planTypeService = SpringUtils.getBean(PlanTypeService.class);
         PlanType planType = planTypeService.selectById(this.planType);
         User user = planTypeService.findPlanLeader(planType);
-        if (!Cools.isEmpty(user)){
+        if (!Cools.isEmpty(user)) {
             return String.valueOf(user.getNickname());
         }
         return null;
     }
 
-    public String getStatus$(){
-        if (null == this.status){ return null; }
-        switch (this.status){
+    public String getStatus$() {
+        if (null == this.status) {
+            return null;
+        }
+        switch (this.status) {
             case 2:
                 return "寮�濮嬫牳浠�";
             case 1:
@@ -434,33 +493,33 @@
         }
     }
 
-    public String getCreateBy$(){
+    public String getCreateBy$() {
         UserService service = SpringUtils.getBean(UserService.class);
         User user = service.selectById(this.createBy);
-        if (!Cools.isEmpty(user)){
+        if (!Cools.isEmpty(user)) {
             return String.valueOf(user.getNickname());
         }
         return null;
     }
 
-    public String getCreateTime$(){
-        if (Cools.isEmpty(this.createTime)){
+    public String getCreateTime$() {
+        if (Cools.isEmpty(this.createTime)) {
             return "";
         }
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
     }
 
-    public String getUpdateBy$(){
+    public String getUpdateBy$() {
         UserService service = SpringUtils.getBean(UserService.class);
         User user = service.selectById(this.updateBy);
-        if (!Cools.isEmpty(user)){
+        if (!Cools.isEmpty(user)) {
             return String.valueOf(user.getNickname());
         }
         return null;
     }
 
-    public String getUpdateTime$(){
-        if (Cools.isEmpty(this.updateTime)){
+    public String getUpdateTime$() {
+        if (Cools.isEmpty(this.updateTime)) {
             return "";
         }
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
diff --git a/src/main/java/com/zy/crm/manager/entity/PlanType.java b/src/main/java/com/zy/crm/manager/entity/PlanType.java
index aa2a22c..6b18800 100644
--- a/src/main/java/com/zy/crm/manager/entity/PlanType.java
+++ b/src/main/java/com/zy/crm/manager/entity/PlanType.java
@@ -122,6 +122,11 @@
 
     public PlanType() {}
 
+    public PlanType(Long hostId,Integer type) {
+        this.hostId = hostId;
+        this.type = type;
+    }
+
     public PlanType(Long hostId,String name,String flag,String formId,String data,Integer status,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) {
         this.hostId = hostId;
         this.name = name;
diff --git a/src/main/resources/mapper/PlanMapper.xml b/src/main/resources/mapper/PlanMapper.xml
index 0d63880..631763e 100644
--- a/src/main/resources/mapper/PlanMapper.xml
+++ b/src/main/resources/mapper/PlanMapper.xml
@@ -36,6 +36,10 @@
         <result column="memo" property="memo" />
         <result column="user_xml_sel_phone" property="userXmlSelPhone" />
         <result column="director" property="director" />
+        <result column="status2" property="status2" />
+        <result column="assistant_plan_id" property="assistantPlanId" />
+        <result column="host_plan_id" property="hostPlanId" />
+        <result column="assistant_host_sign" property="assistantHostSign" />
 
     </resultMap>
 
diff --git a/src/main/webapp/static/js/plan/plan.js b/src/main/webapp/static/js/plan/plan.js
index 4aad49b..aaa3675 100644
--- a/src/main/webapp/static/js/plan/plan.js
+++ b/src/main/webapp/static/js/plan/plan.js
@@ -139,7 +139,7 @@
         skin: 'line',
         cols: [[
             {type: 'checkbox'}
-            // ,{field: 'id', align: 'center',title: 'ID'}
+            ,{field: 'id', align: 'center',title: 'ID'}
             // ,{field: 'hostId$', align: 'center',title: '鎵�灞炲晢鎴�'}
             ,{field: 'userId$', align: 'left',title: '涓氬姟鍛�',hide: false, width: 100}
             ,{field: 'planType$', align: 'left',title: '涓氬姟绫诲瀷', width: 150,hide: false}
@@ -201,7 +201,9 @@
             ,{field: 'updateBy$', align: 'left',title: '淇敼浜�', width: 100}
             ,{field: 'updateTime$', align: 'left',title: '淇敼鏃堕棿', hide: true}
             ,{field: 'memo', align: 'left',title: '娉ㄩ噴', hide: true}
-
+            ,{field: 'assistantHostSign', align: 'left',title: '涓诲壇鏍囪', hide: false}
+            ,{field: 'hostPlanId', align: 'left',title: '涓籌D', hide: false}
+            ,{field: 'assistantPlanId', align: 'left',title: '鍓疘D', hide: false}
             ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width: 340}
         ]],
         request: {
@@ -594,6 +596,9 @@
                     approvalEnd(data.id);
                 });
                 break;
+            case 'assistantPlan':
+                assistantPlan(data);
+                break;
             case 'edit':
                 showEditModel(data);
                 break;
@@ -808,6 +813,36 @@
         });
     }
 
+    /* 鏂板缓 */
+    function assistantPlan(data) {
+        layer.confirm('纭畾瑕佹柊寤鸿揣鏋惰鍒掑鎵瑰悧锛�', {
+            skin: 'layui-layer-admin',
+            shade: .1
+        }, function (i) {
+            layer.close(i);
+            var loadIndex = layer.load(2);
+            $.ajax({
+                url: baseUrl+"/plan/assistantPlan/add/auth",
+                headers: {'token': localStorage.getItem('token')},
+                data: {
+                    hostPlanId: data.id
+                },
+                method: 'POST',
+                success: function (res) {
+                    layer.close(loadIndex);
+                    if (res.code === 200){
+                        layer.msg(res.msg, {icon: 1});
+                        tableReload();
+                    } else if (res.code === 403){
+                        top.location.href = baseUrl+"/";
+                    } else {
+                        layer.msg(res.msg, {icon: 2});
+                    }
+                }
+            })
+        });
+    }
+
     /* 鍒犻櫎 */
     function del(ids) {
         layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', {
diff --git a/src/main/webapp/views/plan/plan.html b/src/main/webapp/views/plan/plan.html
index e7e832b..fabf5c0 100644
--- a/src/main/webapp/views/plan/plan.html
+++ b/src/main/webapp/views/plan/plan.html
@@ -144,6 +144,9 @@
         <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>
         <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a>
     {{# } }}
+    {{# if (d.assistantHostSign == 0) { }}
+        <a class="layui-btn layui-btn-xs btn-edit" lay-event="assistantPlan">鍒涘缓璐ф灦瑙勫垝浠诲姟</a>
+    {{# } }}
 
 </script>
 
diff --git a/src/main/webapp/views/priOnline2/priOnline.html b/src/main/webapp/views/priOnline2/priOnline.html
index 3bee7d9..c79b53c 100644
--- a/src/main/webapp/views/priOnline2/priOnline.html
+++ b/src/main/webapp/views/priOnline2/priOnline.html
@@ -66,7 +66,7 @@
 <script type="text/html" id="toolbar">
     <div class="layui-btn-container">
         <button class="layui-btn layui-btn-sm" lay-event="addBlank">鏂板鏍镐环</button>
-        <button class="layui-btn layui-btn-sm" lay-event="addBlank2">鎺ュ彇闆嗘垚鏍镐环浠诲姟</button>
+<!--        <button class="layui-btn layui-btn-sm" lay-event="addBlank2">鎺ュ彇闆嗘垚鏍镐环浠诲姟</button>-->
         <button class="layui-btn layui-btn-sm layui-btn-danger" lay-event="deleteData">鍒犻櫎</button>
     </div>
 </script>

--
Gitblit v1.9.1