From 858f10899cc7e6c35647a4a61f30f35e88af2407 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期四, 09 十一月 2023 14:18:50 +0800
Subject: [PATCH] #规划分离核价归一

---
 src/main/java/com/zy/crm/manager/entity/PriOnline2.java               |  102 ++++++++
 src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java |  174 ++++++++------
 src/main/java/com/zy/crm/manager/controller/PlanController.java       |   50 ++++
 src/main/webapp/static/js/plan/plan.js                                |   99 ++++++++
 src/main/resources/mapper/PriOnline2Mapper.xml                        |   13 +
 src/main/webapp/static/js/priOnline2/priOnline.js                     |  143 ++++++-----
 src/main/webapp/views/plan/plan.html                                  |    9 
 src/main/java/com/zy/crm/manager/entity/Plan.java                     |   71 ++++-
 8 files changed, 495 insertions(+), 166 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 cae4711..305ffbc 100644
--- a/src/main/java/com/zy/crm/manager/controller/PlanController.java
+++ b/src/main/java/com/zy/crm/manager/controller/PlanController.java
@@ -118,6 +118,23 @@
         });
     }
 
+    @RequestMapping(value = "/plan/assistantPlan/view/auth")
+    @ManagerAuth(memo = "鏌ョ湅鍓鍒掔敵璇峰崟")
+    @Transactional
+    public R assistantPlanView(@RequestParam Long hostPlanId) {
+        Plan plan = planService.selectById(hostPlanId);
+        if (plan.getAssistantHostSign()==1){
+            EntityWrapper<Plan> wrapper = new EntityWrapper<>();
+            wrapper.eq("id",plan.getHostPlanId());
+            Page<Plan> planPage = planService.selectPage(new Page<>(1, 1), wrapper);
+            return R.ok(planPage);
+        }
+        EntityWrapper<Plan> wrapper = new EntityWrapper<>();
+        wrapper.eq("id",plan.getAssistantPlanId());
+        Page<Plan> planPage = planService.selectPage(new Page<>(1, 1), wrapper);
+        return R.ok(planPage);
+    }
+
     @RequestMapping(value = "/plan/add/auth")
     @ManagerAuth(memo = "娣诲姞瑙勫垝鐢宠鍗�")
     @Transactional
@@ -169,6 +186,11 @@
             manager = getUser();
         }
         PlanType planType = planTypeService.selectById(plan.getPlanType());
+        if (planType.getType().equals(2)) {
+            plan.setStatus2(0);
+        }else {
+            plan.setStatus2(10);
+        }
         User planLeader = planTypeService.findPlanLeader(planType);
         plan.setSettleMsg(JSON.toJSONString(SettleDto.init(plan, manager, planLeader)));
 
@@ -333,6 +355,7 @@
                  Plan planB = planService.selectById(planA.getHostPlanId());
                  planB.setAssistantPlanId(0L);
                  planB.setHostPlanId(0L);
+                 planB.setStatus2(0);
                  planService.updateById(planB);
              }else {
                  if (!Cools.isEmpty(planA.getAssistantPlanId()) && planA.getAssistantPlanId()!=0){
@@ -511,8 +534,7 @@
 //                break;
             case 1:
                 // 鏌ユ壘瑙勫垝缁勯暱
-                PlanType planType = planTypeService.selectById(plan.getPlanType());
-                User planLeader = planTypeService.findPlanLeader(planType);
+                User planLeader = userService.selectById(plan.getDirector());
                 if (Cools.isEmpty(planLeader)) {
                     throw new CoolException("鏈煡鎵惧埌瑙勫垝缁勯暱锛岃鑱旂郴绠$悊鍛�");
                 }
@@ -654,6 +676,12 @@
                 plan.setUpdateBy(getUserId());
                 plan.setUpdateTime(new Date());
 
+                if (plan.getAssistantHostSign()==1){
+                    Plan planHost = planService.selectById(plan.getHostPlanId());
+                    planHost.setStatus2(1);
+                    planService.updateById(planHost);
+                }
+
                 if (!planService.updateById(plan)) {
                     throw new CoolException("瀹℃牳澶辫触锛岃鑱旂郴绠$悊鍛�");
                 }
@@ -717,6 +745,9 @@
         }
         // 鏌ユ壘瑙勫垝缁勯暱
         PlanType planType = planTypeService.selectById(plan.getPlanType());
+        if (plan.getAssistantHostSign()==1){
+            planType.setType(1);
+        }
         User planLeader = planTypeService.findPlanLeader(planType);
         if (Cools.isEmpty(planLeader)) {
             throw new CoolException("鏈煡鎵惧埌瑙勫垝缁勯暱锛岃鑱旂郴绠$悊鍛�");
@@ -783,6 +814,7 @@
         EntityWrapper<Plan> wrapper = new EntityWrapper<>();
         wrapper.like("name", condition);
         wrapper.eq("status",1);
+        wrapper.eq("assistant_host_sign",0);
 
         List<ProcessPermissions> processPermissionsList = processPermissionsService.selectList(new EntityWrapper<ProcessPermissions>().eq("process_memo", 4).or().eq("process_memo", 5));//2锛氭牳浠锋祦绋�
         int type =0;
@@ -817,6 +849,20 @@
             map.put("value", plan.getName());
             result.add(map);
         }
+        if (type==1){
+            EntityWrapper<Plan> wrapper2 = new EntityWrapper<>();
+            wrapper2.like("name", condition);
+            wrapper2.eq("status",1);
+            wrapper2.eq("assistant_host_sign",1);
+            List<Plan> plan2s = planService.selectList(wrapper2);
+            for (Plan plan : plan2s){
+                Map<String, Object> map = new HashMap<>();
+                map.put("id", plan.getId());
+//            map.put("value", plan.getName()+"---"+plan.getId());
+                map.put("value", plan.getName());
+                result.add(map);
+            }
+        }
         return R.ok(result);
     }
 
diff --git a/src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java b/src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java
index a78fcc4..ddc1a0a 100644
--- a/src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java
+++ b/src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java
@@ -89,7 +89,7 @@
                   @RequestParam(required = false) String condition,
                   @RequestParam Map<String, Object> param) {
         EntityWrapper<PriOnline2> wrapper = new EntityWrapper<>();
-        wrapper.setSqlSelect("id,title,create_time as createTime,filepath,settle,settle_size as settleSize,item_id as itemId,order_num as orderNum,template_name as templateName,user_id as userId,dept_id as deptId,status,update_time as updateTime,check_data as checkData,update_user_id as updateUserId,member_id as memberId");
+        wrapper.setSqlSelect("id,title,create_time as createTime,assistant_plan_id as assistantPlanId,host_plan_id as hostPlanId,assistant_host_sign as assistantHostSign,filepath,settle,settle_size as settleSize,item_id as itemId,order_num as orderNum,template_name as templateName,user_id as userId,dept_id as deptId,status,update_time as updateTime,check_data as checkData,update_user_id as updateUserId,member_id as memberId");
 //        wrapper.in("member_id", getUserRoleBelongsToUserId("allopen"));
         excludeTrash(param);
         convert(param, wrapper);
@@ -143,68 +143,68 @@
             wrapper.or().eq("host_id", 1);
         }
     }
-    @RequestMapping(value = "/priOnline2/HJ/add/auth")
-    @ManagerAuth(memo = "鎺ュ彇闆嗘垚鏍镐环浠诲姟")
-    public R addHJ(PriOnline2 priOnline2) {
-        PriOnline2 priOnline21 = priOnline2Service.selectById(priOnline2.getId());
-        if (priOnline21.getSettle()!=1 || !priOnline21.getMemberId().equals(0L)){
-            return R.error("姝ら泦鎴愭牳浠峰崟鐘舵�佸凡鏀瑰彉锛岃鍒锋柊椤甸潰閲嶆柊閫夋嫨锛�");
-        }
-        Date now = new Date();
-        priOnline21.setMemberId(getUserId());
+//    @RequestMapping(value = "/priOnline2/HJ/add/auth")
+//    @ManagerAuth(memo = "鎺ュ彇闆嗘垚鏍镐环浠诲姟")
+//    public R addHJ(PriOnline2 priOnline2) {
+//        PriOnline2 priOnline21 = priOnline2Service.selectById(priOnline2.getId());
+//        if (priOnline21.getSettle()!=1 || !priOnline21.getMemberId().equals(0L)){
+//            return R.error("姝ら泦鎴愭牳浠峰崟鐘舵�佸凡鏀瑰彉锛岃鍒锋柊椤甸潰閲嶆柊閫夋嫨锛�");
+//        }
+//        Date now = new Date();
+//        priOnline21.setMemberId(getUserId());
+//
+//
+//        List<SettleDto> planDtos = JSON.parseArray(priOnline21.getSettleMsg(), SettleDto.class);
+//        List<SettleDto> planDtoList = new ArrayList<>();
+//        for (SettleDto dto : planDtos) {
+//            if (dto.getStep().equals(2)) {
+//                dto.setUserId(getUserId());
+//                dto.setUsername(getUser().getNickname());
+//                if (Cools.isEmpty(dto.getMsg())) {
+//                    dto.setMsg(getUser().getNickname() + "鎺ュ彇鏍镐环");
+//                } else {
+//                    dto.setMsg(dto.getMsg() + PZH + DateUtils.convert(now) + " " + getUser().getNickname() + "鎺ュ彇鏍镐环");
+//                }
+//                dto.setTime(DateUtils.convert(new Date()));
+//            }
+//            planDtoList.add(dto);
+//        }
+//        priOnline21.setSettleMsg(JSON.toJSONString(planDtoList));
+//        priOnline21.setUpdateUserId(getUserId());
+//        priOnline21.setUpdateTime(now);
+//        priOnline2Service.updateById(priOnline21);
+//        return R.ok("鎺ュ彇鎴愬姛");
+//    }
 
-
-        List<SettleDto> planDtos = JSON.parseArray(priOnline21.getSettleMsg(), SettleDto.class);
-        List<SettleDto> planDtoList = new ArrayList<>();
-        for (SettleDto dto : planDtos) {
-            if (dto.getStep().equals(2)) {
-                dto.setUserId(getUserId());
-                dto.setUsername(getUser().getNickname());
-                if (Cools.isEmpty(dto.getMsg())) {
-                    dto.setMsg(getUser().getNickname() + "鎺ュ彇鏍镐环");
-                } else {
-                    dto.setMsg(dto.getMsg() + PZH + DateUtils.convert(now) + " " + getUser().getNickname() + "鎺ュ彇鏍镐环");
-                }
-                dto.setTime(DateUtils.convert(new Date()));
-            }
-            planDtoList.add(dto);
-        }
-        priOnline21.setSettleMsg(JSON.toJSONString(planDtoList));
-        priOnline21.setUpdateUserId(getUserId());
-        priOnline21.setUpdateTime(now);
-        priOnline2Service.updateById(priOnline21);
-        return R.ok("鎺ュ彇鎴愬姛");
-    }
-
-    @RequestMapping(value = "/priOnline2/HJ/search/auth")
-    @ManagerAuth
-    public R priOnline2Search(String condition) {
-        EntityWrapper<PriOnline2> wrapper = new EntityWrapper<>();
-        wrapper.like("template_name", condition);
-        wrapper.eq("member_id",0L);
-
-        List<ProcessPermissions> processPermissionsList = processPermissionsService.selectList(new EntityWrapper<ProcessPermissions>().eq("process_memo", 5));//2锛氭牳浠锋祦绋�
-        int type =0;
-        for (ProcessPermissions processPermissions:processPermissionsList){
-            if (getUserId().equals(processPermissions.getUserId())){
-                type=1;
-                break;
-            }
-        }
-        if (type==0){
-            return R.error("浣犱笉鏄牳浠峰憳,鏃犳潈鎺ヤ换鍔�");
-        }
-        List<Map<String, Object>> result = new ArrayList<>();
-
-        List<PriOnline2> priOnline2s = priOnline2Service.selectList(wrapper);
-        for (PriOnline2 priOnline2 : priOnline2s){
-            Map<String, Object> map = new HashMap<>();
-            map.put("id", priOnline2.getId());
-            map.put("name", priOnline2.getTemplateName()+" - ID:"+priOnline2.getId());
-            result.add(map);
-        }
-        return R.ok(result);
-    }
+//    @RequestMapping(value = "/priOnline2/HJ/search/auth")
+//    @ManagerAuth
+//    public R priOnline2Search(String condition) {
+//        EntityWrapper<PriOnline2> wrapper = new EntityWrapper<>();
+//        wrapper.like("template_name", condition);
+//        wrapper.eq("member_id",0L);
+//
+//        List<ProcessPermissions> processPermissionsList = processPermissionsService.selectList(new EntityWrapper<ProcessPermissions>().eq("process_memo", 5));//2锛氭牳浠锋祦绋�
+//        int type =0;
+//        for (ProcessPermissions processPermissions:processPermissionsList){
+//            if (getUserId().equals(processPermissions.getUserId())){
+//                type=1;
+//                break;
+//            }
+//        }
+//        if (type==0){
+//            return R.error("浣犱笉鏄牳浠峰憳,鏃犳潈鎺ヤ换鍔�");
+//        }
+//        List<Map<String, Object>> result = new ArrayList<>();
+//
+//        List<PriOnline2> priOnline2s = priOnline2Service.selectList(wrapper);
+//        for (PriOnline2 priOnline2 : priOnline2s){
+//            Map<String, Object> map = new HashMap<>();
+//            map.put("id", priOnline2.getId());
+//            map.put("name", priOnline2.getTemplateName()+" - ID:"+priOnline2.getId());
+//            result.add(map);
+//        }
+//        return R.ok(result);
+//    }
 
 
     @RequestMapping(value = "/priOnline2/add/auth")
@@ -223,6 +223,10 @@
 //        Item item = itemService.selectById(priOnline.getItemId());
         Plan plan = planService.selectById(priOnline2.getItemId());
         User userUp = userService.selectById(plan.getUserId());
+        priOnline2.setAssistantHostSign(plan.getAssistantHostSign());
+        priOnline2.setAssistantPlanId(plan.getAssistantPlanId());
+        priOnline2.setHostPlanId(plan.getHostPlanId());
+
 
         //涓氬姟鍛�
         priOnline2.setUserId(userUp.getId());
@@ -263,17 +267,11 @@
         List<String> initNames = new ArrayList<>();
         initNames.add("鎺ュ彇鏍镐环浠诲姟");
         initNames.add("瀹屾垚鏍镐环");
-        if (planType.getType().equals(2)) {
-            initNames.add("瀹屾垚鏍镐环");
-        }
 //        initNames.add("缁忕悊瀹℃牳");
         initNames.add("涓氬姟鍛樼‘璁�");
         List<User> users = new ArrayList<>();
         users.add(getUser());
         users.add(getUser());
-        if (planType.getType().equals(2)) {
-            users.add(new User());
-        }
         users.add(userUp);
         priOnline2.setSettleMsg(JSON.toJSONString(SettleDto.InItFlowPath(users, initNames, users.size())));
         priOnline2.setSettleSize(users.size());
@@ -285,12 +283,23 @@
         planService.updateById(plan);
 
         priOnline2Service.insert(priOnline2);
+
+
+        if (plan.getAssistantHostSign()==1){
+            Plan plan1 = planService.selectById(plan.getHostPlanId());
+            plan1.setStatus2(2);
+            planService.updateById(plan1);
+        }
+
         return R.ok();
     }
 
     @RequestMapping(value = "/priOnline2/addOther/auth")
     @ManagerAuth(memo = "鍙﹀瓨鏍镐环绠$悊")
     public R addOther(@RequestBody Map<String, Object> map) {
+        if (true){
+            return R.error("绂佹锛�");
+        }
         PriOnline2 online = priOnline2Service.selectById(Long.parseLong(map.get("id").toString()));
 
         PriOnline2 priOnline2 = new PriOnline2();
@@ -441,6 +450,11 @@
                 Plan plan = planService.selectById(priOnline2.getItemId());
                 plan.setStatus(1);
                 planService.updateById(plan);
+                if (plan.getAssistantHostSign()==1){
+                    Plan planHost = planService.selectById(priOnline2.getHostPlanId());
+                    planHost.setStatus2(1);
+                    planService.updateById(planHost);
+                }
             }
 
             priOnline2Service.deleteBatchIds(Arrays.asList(ids));
@@ -614,12 +628,28 @@
         if (!priOnline2Service.updateById(priOnline2)) {
             throw new CoolException("纭澶辫触锛岃鑱旂郴绠$悊鍛�");
         }
+
+        Plan plan = planService.selectById(priOnline2.getItemId());
+        plan.setStatus(3);
+        planService.selectById(plan);
+
         if (user.getId().equals(priOnline2.getUserId())) {
-            try {
-                priQuoteAdd(priOnline2.getId(), plannerId);
-            } catch (Exception e) {
-                return R.error("鑷姩鐢熸垚鎶ヤ环鍗曞け璐�");
+            if (priOnline2.getAssistantHostSign()==0){
+                try {
+                    priQuoteAdd(priOnline2.getId(), plannerId);
+                } catch (Exception e) {
+                    return R.error("鑷姩鐢熸垚鎶ヤ环鍗曞け璐�");
+                }
+            }else {
+                try {
+                    Plan planHost = planService.selectById(priOnline2.getHostPlanId());
+                    planHost.setStatus2(3);
+                    planService.selectById(planHost);
+                } catch (Exception e) {
+                    return R.error("鏇存柊涓昏〃澶辫触");
+                }
             }
+
         }
 
         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 5837250..069b34f 100644
--- a/src/main/java/com/zy/crm/manager/entity/Plan.java
+++ b/src/main/java/com/zy/crm/manager/entity/Plan.java
@@ -351,6 +351,47 @@
         return null;
     }
 
+    public String getStatusAll$(){
+        if (this.status2>3 || this.getAssistantHostSign()==1){
+            return getStatus$();
+        }else {
+            return "闆嗘垚"+getStatus$()+"/"+"璐ф灦"+getStatus2$();
+        }
+
+    }
+
+    public String getStatus$(){
+        if (null == this.status){ return null; }
+        switch (this.status){
+            case 3:
+                return "瀹屾垚鏍镐环";
+            case 2:
+                return "寮�濮嬫牳浠�";
+            case 1:
+                return "绛夊緟鏍镐环";
+            case 0:
+                return "鍒濆";
+            default:
+                return String.valueOf(this.status);
+        }
+    }
+
+    public String getStatus2$(){
+        if (null == this.status2){ return null; }
+        switch (this.status2){
+            case 3:
+                return "瀹屾垚鏍镐环";
+            case 2:
+                return "寮�濮嬫牳浠�";
+            case 1:
+                return "绛夊緟鏍镐环";
+            case 0:
+                return "鍒濆";
+            default:
+                return String.valueOf(this.status2);
+        }
+    }
+
     public String getUserId$() {
         UserService service = SpringUtils.getBean(UserService.class);
         User user = service.selectById(this.userId);
@@ -416,6 +457,20 @@
         }
     }
 
+    public String getAssistantHostSign$() {
+        if (null == this.assistantHostSign) {
+            return null;
+        }
+        switch (this.assistantHostSign) {
+            case 1:
+                return "鍓祦绋�";
+            case 0:
+                return "涓绘祦绋�";
+            default:
+                return String.valueOf(this.assistantHostSign);
+        }
+    }
+
     public String getFinishTime$() {
         if (Cools.isEmpty(this.finishTime)) {
             return "";
@@ -475,22 +530,6 @@
             return String.valueOf(user.getNickname());
         }
         return null;
-    }
-
-    public String getStatus$() {
-        if (null == this.status) {
-            return null;
-        }
-        switch (this.status) {
-            case 2:
-                return "寮�濮嬫牳浠�";
-            case 1:
-                return "绛夊緟鏍镐环";
-            case 0:
-                return "鏈畬鎴�";
-            default:
-                return String.valueOf(this.status);
-        }
     }
 
     public String getCreateBy$() {
diff --git a/src/main/java/com/zy/crm/manager/entity/PriOnline2.java b/src/main/java/com/zy/crm/manager/entity/PriOnline2.java
index 715860a..4c9f42d 100644
--- a/src/main/java/com/zy/crm/manager/entity/PriOnline2.java
+++ b/src/main/java/com/zy/crm/manager/entity/PriOnline2.java
@@ -150,6 +150,47 @@
     @ApiModelProperty(value= "")
     private String form;
 
+    /**
+     * 闆嗘垚椤圭洰璐ф灦鏍镐环鐘舵��
+     */
+    @ApiModelProperty(value = "鐘舵�� 3: 瀹屾垚鏍镐环 2: 寮�濮嬫牳浠� 1: 绛夊緟鏍镐环  0: 鍒濆  ")
+    private Integer status2;
+
+    /**
+     * 鑺傜偣璐熻矗浜�
+     */
+    @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_pri_id")
+    private Long assistantPriId;
+
+    /**
+     * 鑺傜偣璐熻矗浜�
+     */
+    @ApiModelProperty(value = "涓籶lanId")
+    @TableField("host_pri_id")
+    private Long hostPriId;
+
+    /**
+     * 鑺傜偣璐熻矗浜�
+     */
+    @ApiModelProperty(value = "涓籶lanId")
+    @TableField("assistant_host_sign")
+    private Integer assistantHostSign;
+
     public PriOnline2() {}
 
     public PriOnline2(String title, String sheetData, Date createTime, String filepath,Integer settle,Integer settleSize) {
@@ -180,6 +221,20 @@
                 return "瀹℃壒閫氳繃";
             default:
                 return String.valueOf(this.settle);
+        }
+    }
+
+    public String getAssistantHostSign$() {
+        if (null == this.assistantHostSign) {
+            return null;
+        }
+        switch (this.assistantHostSign) {
+            case 1:
+                return "鍓祦绋�";
+            case 0:
+                return "涓绘祦绋�";
+            default:
+                return String.valueOf(this.assistantHostSign);
         }
     }
 
@@ -262,15 +317,50 @@
         return null;
     }
 
-    public String getStatus$() {
-        if (null == this.status){ return null; }
-        switch (this.status){
+    public String getStatusAll$(){
+        PlanService planService = SpringUtils.getBean(PlanService.class);
+        Plan plan = planService.selectById(this.itemId);
+        if (plan.getStatus2()>3 || (!Cools.isEmpty(this.getAssistantHostSign()) && this.getAssistantHostSign()==1)){
+            return getStatus$();
+        }else {
+            return "闆嗘垚"+getStatus$()+"/"+"璐ф灦"+getStatus2$();
+        }
+
+    }
+
+    public String getStatus$(){
+        PlanService planService = SpringUtils.getBean(PlanService.class);
+        Plan plan = planService.selectById(this.itemId);
+        if (null == plan.getStatus()){ return null; }
+        switch (plan.getStatus()){
+            case 3:
+                return "瀹屾垚鏍镐环";
+            case 2:
+                return "寮�濮嬫牳浠�";
             case 1:
-                return "宸插畬鎴�";
+                return "绛夊緟鏍镐环";
             case 0:
-                return "鏈畬鎴�";
+                return "鍒濆";
             default:
-                return String.valueOf(this.status);
+                return String.valueOf(plan.getStatus());
+        }
+    }
+
+    public String getStatus2$(){
+        PlanService planService = SpringUtils.getBean(PlanService.class);
+        Plan plan = planService.selectById(this.itemId);
+        if (null == plan.getStatus2()){ return null; }
+        switch (plan.getStatus2()){
+            case 3:
+                return "瀹屾垚鏍镐环";
+            case 2:
+                return "寮�濮嬫牳浠�";
+            case 1:
+                return "绛夊緟鏍镐环";
+            case 0:
+                return "鍒濆";
+            default:
+                return String.valueOf(plan.getStatus2());
         }
     }
 
diff --git a/src/main/resources/mapper/PriOnline2Mapper.xml b/src/main/resources/mapper/PriOnline2Mapper.xml
index d1a7bd1..6a1cc3d 100644
--- a/src/main/resources/mapper/PriOnline2Mapper.xml
+++ b/src/main/resources/mapper/PriOnline2Mapper.xml
@@ -19,6 +19,11 @@
         <result column="check_data" property="checkData" />
         <result column="settle" property="settle" />
         <result column="settle_size" property="settleSize" />
+        <result column="assistant_plan_id" property="assistantPlanId" />
+        <result column="host_plan_id" property="hostPlanId" />
+        <result column="assistant_pri_id" property="assistantPriId" />
+        <result column="host_pri_id" property="hostPriId" />
+        <result column="assistant_host_sign" property="assistantHostSign" />
     </resultMap>
 
     <!-- 鏌ヨ缁撴灉涓嶅寘鍚玡xcel鏁版嵁data锛屼互鍏嶇粨鏋滈泦杩囧ぇ -->
@@ -36,6 +41,14 @@
         <result column="update_time" property="updateTime" />
         <result column="settle" property="settle" />
         <result column="settle_size" property="settleSize" />
+        <result column="assistant_plan_id" property="assistantPlanId" />
+        <result column="host_plan_id" property="hostPlanId" />
+        <result column="assistant_host_sign" property="assistantHostSign" />
+        <result column="assistant_plan_id" property="assistantPlanId" />
+        <result column="host_plan_id" property="hostPlanId" />
+        <result column="assistant_pri_id" property="assistantPriId" />
+        <result column="host_pri_id" property="hostPriId" />
+        <result column="assistant_host_sign" property="assistantHostSign" />
     </resultMap>
 
     <select id="listByPage" resultMap="NoDataResultMap">
diff --git a/src/main/webapp/static/js/plan/plan.js b/src/main/webapp/static/js/plan/plan.js
index 372ba08..531ab26 100644
--- a/src/main/webapp/static/js/plan/plan.js
+++ b/src/main/webapp/static/js/plan/plan.js
@@ -196,12 +196,14 @@
             ,{field: 'settle$', align: 'center',title: '杩涘害', width: 150}
             // ,{field: 'settleMsg', align: 'center',title: '瀹℃牳杩涘害'}
             // ,{field: 'comment', align: 'center',title: '璇勮'}
-            ,{field: 'status$', align: 'center',title: '鐘舵��'}
+            ,{field: 'statusAll$', align: 'center',title: '鐘舵��'}
             ,{field: 'createTime$', align: 'left',title: '娣诲姞鏃ユ湡', width: 160, hide: true}
             ,{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: 'center', align: 'left',title: '鍏宠仈娴佺▼', toolbar: '#tbLook', minWidth: 160, hide: false}
+            ,{field: 'assistantHostSign$', align: 'left',title: '涓诲壇鏍囪', hide: false}
+            ,{field: 'assistantHostSign', align: 'left',title: '涓诲壇鏍囪', hide: true}
             ,{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}
@@ -657,6 +659,99 @@
                     }
                 });
                 break;
+            case "look":
+                var $a = $(obj.tr).find('a[lay-event="look"]');
+                var offset = $a.offset();
+                var top2 = offset.top;
+                var left = offset.left;
+                layer.open({
+                    type: 1,
+                    title: false,
+                    area: '2100px',
+                    offset: [top2 + 'px', (left - 1430 + $a.outerWidth()) + 'px'],
+                    shade: .01,
+                    shadeClose: true,
+                    fixed: false,
+                    content: '<table id="lookSSXMTable" lay-filter="lookSSXMTable"></table>',
+                    success: function (layero) {
+                        table.render({
+                            elem: '#lookSSXMTable',
+                            headers: {token: localStorage.getItem('token')},
+                            url: baseUrl+'/plan/assistantPlan/view/auth',
+                            where: {
+                                hostPlanId: data.id
+                            },
+                            page: true,
+                            cellMinWidth: 100,
+                            cols: [[
+                                {field: 'id', align: 'center',title: 'ID'}
+                                ,{field: 'userId$', align: 'left',title: '涓氬姟鍛�',hide: false, width: 100}
+                                ,{field: 'planType$', align: 'left',title: '涓氬姟绫诲瀷', width: 150,hide: false}
+                                ,{
+                                    field: 'name',
+                                    align: 'left',
+                                    title: '鍞墠瑙勫垝鐢宠鍗曞悕绉�',
+                                    width: 220,
+                                    style: 'cursor:pointer',
+                                    event: 'more',
+                                    hide: false
+                                }
+                                ,{field: 'uuid', align: 'left',title: '瑙勫垝鍗曞彿', width: 100,hide: false}
+                                ,{
+                                    field: 'planNeed$',
+                                    align: 'left',
+                                    title: '鎵�闇�',
+                                    templet:function(d){
+                                        return emptyShow(d.planNeed$)
+                                    },
+                                    hide: false
+                                }
+                                ,{field: 'deptId$', align: 'left',title: '鎵�灞為儴闂�',hide: true}
+                                ,{field: 'planner$', align: 'left',title: '瑙勫垝鍛�',hide: false, width: 100}
+                                ,{
+                                    field: 'orderId$',
+                                    align: 'left',
+                                    title: '璺熻釜椤圭洰',
+                                    width: 220,
+                                    style: 'cursor:pointer',
+                                    event: 'orderMore',hide: false
+                                }
+                                ,{field: 'appleTime$', align: 'left',title: '鐢宠鏃ユ湡', hide: false}
+                                ,{field: 'settle$', align: 'center',title: '杩涘害', width: 150}
+                                ,{field: 'statusAll$', align: 'center',title: '鐘舵��'}
+                                ,{field: 'createTime$', align: 'left',title: '娣诲姞鏃ユ湡', width: 160, hide: true}
+                                ,{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: true}
+                                ,{field: 'hostPlanId', align: 'left',title: '涓籌D', hide: true}
+                                ,{field: 'assistantPlanId', align: 'left',title: '鍓疘D', hide: true}
+                                ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width: 340}
+                            ]],
+                            request: {
+                                pageName: 'curr',
+                                pageSize: 'limit'
+                            },
+                            parseData: function (res) {
+                                console.log(res)
+                                return {
+                                    'code': res.code,
+                                    'msg': res.msg,
+                                    'count': res.data.total,
+                                    'data': res.data.records
+                                }
+                            },
+                            response: {
+                                statusCode: 200
+                            },
+                            done: function () {
+                                $(layero).find('.layui-table-view').css('margin', '0');
+                            },
+                            size: ''
+                        });
+                    }
+                });
+                break;
         }
     });
 
diff --git a/src/main/webapp/static/js/priOnline2/priOnline.js b/src/main/webapp/static/js/priOnline2/priOnline.js
index de4daa2..06438ed 100644
--- a/src/main/webapp/static/js/priOnline2/priOnline.js
+++ b/src/main/webapp/static/js/priOnline2/priOnline.js
@@ -104,7 +104,7 @@
                 hide: false
             }
             , {field: 'itemId', align: 'center', title: '瑙勫垝鍗曞彿', hide: true}
-            , {field: 'status$', align: 'center', title: '鐘舵��', hide: false}
+            , {field: 'statusAll$', align: 'center',title: '鐘舵��'}
             // ,{field: 'memberId$', align: 'center',title: ''}
             , {
                 field: 'settle$',
@@ -121,6 +121,10 @@
             , {field: 'createTime$', align: 'center', title: '鍒涘缓鏃堕棿', hide: true}
             , {field: 'updateUserId$', align: 'center', title: '鏇存柊浜哄憳', hide: false}
             , {field: 'updateTime$', align: 'center', title: '鏇存柊鏃堕棿', hide: false}
+            ,{field: 'assistantHostSign$', align: 'left',title: '涓诲壇鏍囪', hide: false}
+            ,{field: 'assistantHostSign', align: 'left',title: '涓诲壇鏍囪', hide: true}
+            ,{field: 'hostPlanId', align: 'left',title: '涓籌D', hide: false}
+            ,{field: 'assistantPlanId', align: 'left',title: '鍓疘D', hide: false}
             , {fixed: 'right', title: '鎿嶄綔', align: 'center', toolbar: '#operate', width: 350}
         ]],
         request: {
@@ -375,7 +379,7 @@
                     console.log(data)
                     layer.close(i);
                     // 鎸囧畾妯℃澘
-                    if ((data.settle === 1 && data.settleSize===3) || (data.settle===2 && data.settleSize===4)) {
+                    if (((data.settle === 1 && data.settleSize===3) || (data.settle===2 && data.settleSize===4)) && data.assistantHostSign==0) {
                         admin.open({
                             type: 1,
                             area: '300px',
@@ -600,17 +604,20 @@
             case "uploadLink":
                 // 鎵撳紑寮圭獥
                 // 鏋勫缓甯﹀弬鏁扮殑鍐呭
-                console.log(data)
+                var planIdSign = data.id;
+                if (data.assistantHostSign==1){
+                    planIdSign = data.hostPlanId;
+                }
                 layer.open({
                     type: 1,
-                    title: '涓婁紶鏂囦欢-'+data.itemId,
+                    title: '涓婁紶鏂囦欢-'+planIdSign,
                     content: $('#myModal')
                 });
                 // 鑾峰彇璺緞涓嬬殑鏂囦欢鍒楄〃锛屼娇鐢� jQuery 鐨� ajax 鏂规硶
                 $.ajax({
                     url: '/plan/view/file/auth',
                     data:{
-                        planId:data.itemId
+                        planId:planIdSign
                     },
                     success: function(response) {
                         if (response.code==200){
@@ -695,41 +702,41 @@
         });
     }
 
-    /* 寮圭獥 - 鏂板銆佷慨鏀� */
-    function showEditModel2(mData) {
-        admin.open({
-            type: 1,
-            area: '800px',
-            title: '鎺ュ彇' + '鏍镐环',
-            content: $('#editDialogHJ').html(),
-            success: function (layero, dIndex) {
-                let loadNameXml = loadNameXmlSel()
-                form.val('detailHJ', mData);
-                form.on('submit(editSubmitHJ)', function (data) {
-                    data.field.id = loadNameXml.getValue()[0] ? loadNameXml.getValue()[0].id : null;
-                    $.ajax({
-                        url: baseUrl+"/priOnline2/HJ/add/auth",
-                        headers: {'token': localStorage.getItem('token')},
-                        data: data.field,
-                        method: 'POST',
-                        success: function (res) {
-                            if (res.code === 200){
-                                layer.close(dIndex);
-                                layer.msg(res.msg, {icon: 1});
-                                tableReload()
-                            } else if (res.code === 403){
-                                top.location.href = baseUrl+"/";
-                            }else {
-                                layer.msg(res.msg, {icon: 2});
-                            }
-                        }
-                    })
-                });
-                $(layero).children('.layui-layer-content').css('overflow', 'visible');
-                layui.form.render('select');
-            }
-        });
-    }
+    // /* 寮圭獥 - 鏂板銆佷慨鏀� */
+    // function showEditModel2(mData) {
+    //     admin.open({
+    //         type: 1,
+    //         area: '800px',
+    //         title: '鎺ュ彇' + '鏍镐环',
+    //         content: $('#editDialogHJ').html(),
+    //         success: function (layero, dIndex) {
+    //             let loadNameXml = loadNameXmlSel()
+    //             form.val('detailHJ', mData);
+    //             form.on('submit(editSubmitHJ)', function (data) {
+    //                 data.field.id = loadNameXml.getValue()[0] ? loadNameXml.getValue()[0].id : null;
+    //                 $.ajax({
+    //                     url: baseUrl+"/priOnline2/HJ/add/auth",
+    //                     headers: {'token': localStorage.getItem('token')},
+    //                     data: data.field,
+    //                     method: 'POST',
+    //                     success: function (res) {
+    //                         if (res.code === 200){
+    //                             layer.close(dIndex);
+    //                             layer.msg(res.msg, {icon: 1});
+    //                             tableReload()
+    //                         } else if (res.code === 403){
+    //                             top.location.href = baseUrl+"/";
+    //                         }else {
+    //                             layer.msg(res.msg, {icon: 2});
+    //                         }
+    //                     }
+    //                 })
+    //             });
+    //             $(layero).children('.layui-layer-content').css('overflow', 'visible');
+    //             layui.form.render('select');
+    //         }
+    //     });
+    // }
 
     //鏇存柊form
     function showEditForm(mData) {
@@ -824,34 +831,34 @@
         })
     }
 
-    window.loadNameXmlSel = function () {
-        return xmSelect.render({
-            el: '#nameXmlSel',
-            autoRow: true,
-            filterable: true,
-            remoteSearch: true,
-            clickClose: true,
-            radio: true,
-            remoteMethod: function (val, cb, show) {
-                $.ajax({
-                    url: baseUrl + "/priOnline2/HJ/search/auth",
-                    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});
-                        }
-                    }
-                });
-            }
-        });
-    }
+    // window.loadNameXmlSel = function () {
+    //     return xmSelect.render({
+    //         el: '#nameXmlSel',
+    //         autoRow: true,
+    //         filterable: true,
+    //         remoteSearch: true,
+    //         clickClose: true,
+    //         radio: true,
+    //         remoteMethod: function (val, cb, show) {
+    //             $.ajax({
+    //                 url: baseUrl + "/priOnline2/HJ/search/auth",
+    //                 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});
+    //                     }
+    //                 }
+    //             });
+    //         }
+    //     });
+    // }
 
 });
 
diff --git a/src/main/webapp/views/plan/plan.html b/src/main/webapp/views/plan/plan.html
index fabf5c0..486c145 100644
--- a/src/main/webapp/views/plan/plan.html
+++ b/src/main/webapp/views/plan/plan.html
@@ -106,6 +106,15 @@
     </div>
 </div>
 
+<!-- 琛ㄦ牸鎿嶄綔鍒� -->
+<script type="text/html" id="tbLook">
+    <span class="layui-text">
+        <a href="javascript:;" lay-event="look">
+            <i class="layui-icon" style="font-size: 12px;">&#xe61a;</i> 鏌ョ湅鍏宠仈娴佺▼
+        </a>
+    </span>
+</script>
+
 <div id="myModal"  style="display: none;">
     <div style="padding: 10px">
         <div class="layui-upload">

--
Gitblit v1.9.1