From fabb29dfd7fdcc19727c459c8ef309a86d73ed09 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期二, 17 十月 2023 10:37:14 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/crm/manager/entity/Contract.java               |    6 +++
 src/main/java/com/zy/crm/common/model/SettleDto.java                |   14 +++---
 src/main/java/com/zy/crm/manager/controller/ContractController.java |   50 ++++++++++++++-----------
 src/main/webapp/views/contract/contract_more.html                   |    2 
 src/main/webapp/views/contract/contract.html                        |   10 +++--
 5 files changed, 48 insertions(+), 34 deletions(-)

diff --git a/src/main/java/com/zy/crm/common/model/SettleDto.java b/src/main/java/com/zy/crm/common/model/SettleDto.java
index 4fa7f41..ce79013 100644
--- a/src/main/java/com/zy/crm/common/model/SettleDto.java
+++ b/src/main/java/com/zy/crm/common/model/SettleDto.java
@@ -290,7 +290,7 @@
             SettleDto dto = new SettleDto();
             dto.setStep(i);
             switch (i) {
-                case 0:
+                case 1:
                     dto.setTitle("寮�濮�");
                     dto.setMsg(user.getUsername() + names.get(i));
                     dto.setUserId(user.getId());
@@ -299,12 +299,12 @@
                     dto.setCurr(Boolean.TRUE);
                     list.add(dto);
                     break;
-                case 1:
-                    dto.setTitle(names.get(i));
-                    dto.setUserId(user.getId());
-                    dto.setUsername(user.getNickname());
-                    list.add(dto);
-                    break;
+//                case 1:
+//                    dto.setTitle(names.get(i));
+//                    dto.setUserId(user.getId());
+//                    dto.setUsername(user.getNickname());
+//                    list.add(dto);
+//                    break;
                 case 2:
                     dto.setTitle(names.get(i));
                     dto.setUserId(manager.getId());
diff --git a/src/main/java/com/zy/crm/manager/controller/ContractController.java b/src/main/java/com/zy/crm/manager/controller/ContractController.java
index 9faf5ca..0e120e9 100644
--- a/src/main/java/com/zy/crm/manager/controller/ContractController.java
+++ b/src/main/java/com/zy/crm/manager/controller/ContractController.java
@@ -1,7 +1,6 @@
 package com.zy.crm.manager.controller;
 
 import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
@@ -26,16 +25,12 @@
 import com.zy.crm.system.service.UserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.io.InputStreamResource;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
 import org.springframework.util.ClassUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.IOException;
+import java.io.*;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -53,7 +48,7 @@
     @Autowired
     private ProcessPermissionsService processPermissionsService;
 
-    @RequestMapping(value = "/contract/{id}/auth")
+    @RequestMapping(value = "/contract/{id}/auth2")
     @ManagerAuth
     public R get(@PathVariable("id") String id) {
         Contract contract = contractService.selectById(String.valueOf(id));
@@ -126,16 +121,22 @@
         contract.setDeptId(getDeptId());
         contract.setCreateTime(now);
 
-        contract.setSettle(0);
+        contract.setSettle(1);
 
-        User manager = userService.getDeptManager(getHostId(), getUser().getDeptId());        // 鑾峰彇閮ㄩ棬棰嗗
+        User manager = new User();
+        try{
+            manager = userService.getDeptManager(getHostId(), getUser().getDeptId());        // 鑾峰彇閮ㄩ棬棰嗗
+        }catch (Exception e){
+            manager = getUser();
+        }
+        contract.setDirector(manager.getId());
         List<String> initNames = new ArrayList<>();
-        initNames.add("鍒涘缓浜у搧璐圭敤鏄庣粏妯℃澘");
-        initNames.add("鎻愪氦浜у搧璐圭敤鏄庣粏");
+        initNames.add("鍒涘缓鍚堝悓妯℃澘");
+        initNames.add("鎻愪氦鍚堝悓");
         initNames.add("閮ㄩ棬缁忕悊瀹℃牳");
         ProcessPermissions processPermissions = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 7).eq("process",  "3-1" ));//7锛氬悎鍚岀鐞�
         User president = userService.selectById(processPermissions.getUserId());
-        initNames.add("鎬昏鍔�"+president.getNickname()+"瀹℃牳");
+        initNames.add("鎬荤粡鍔�"+president.getNickname()+"瀹℃牳");
         initNames.add("涓氬姟鍛樼‘璁�");
         contract.setSettleMsg(JSON.toJSONString(SettleDto.initContract(manager,getUser(),president,initNames,4)));
 
@@ -350,18 +351,15 @@
         return R.ok().add(vos);
     }
 
-    @PostMapping(value = "/contracr/approval/auth")
+    @PostMapping(value = "/contract/approval/auth")
     @ManagerAuth
-    public R approvalBusinessTrip(@RequestParam Long contracrId,
+    public R approvalBusinessTrip(@RequestParam Long contractId,
                                   @RequestParam(required = false) Long plannerId){
-        Contract contract = contractService.selectById(contracrId);
+        Contract contract = contractService.selectById(contractId);
         assert contract != null;
         Date now = new Date();
         switch (contract.getSettle()) {
             case 0:
-                User user2 = userService.selectById(contract.getUserId());
-                User manager1 = userService.getDeptManager(getHostId(), user2.getDeptId());
-
                 if (Cools.isEmpty(getUser())) {
                     return R.error("鎶辨瓑锛屾偍娌℃湁鎻愪氦鐨勬潈闄�");
                 }
@@ -380,6 +378,9 @@
                             dto.setMsg(getUser().getNickname() + "鎻愪氦瀹屾垚");
                             dto.setTime(DateUtils.convert(now));
                             break;
+                        case 2:
+                            contract.setDirector(dto.getUserId());
+                            break;
                         default:
                             break;
                     }
@@ -395,8 +396,8 @@
                 break;
             case 1:
                 // 鏈儴闂ㄧ粡鐞嗗鏍�
-                User user = userService.selectById(contract.getUserId());
-                User manager = userService.getDeptManager(getHostId(), user.getDeptId());
+                User manager = userService.selectById(contract.getDirector());
+
                 if (manager.getId().equals(getUserId())) {
 
                     // 淇敼 settle 姝ラ鏁版嵁
@@ -410,6 +411,9 @@
                                 dto.setCurr(Boolean.TRUE);
                                 dto.setMsg("閮ㄩ棬缁忕悊" + manager.getNickname() + "瀹℃壒閫氳繃");
                                 dto.setTime(DateUtils.convert(now));
+                                break;
+                            case 3:
+                                contract.setDirector(dto.getUserId());
                                 break;
                             default:
                                 break;
@@ -428,8 +432,7 @@
                 }
                 break;
             case 2:
-                ProcessPermissions processPermissions = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 7).eq("process", "3-1"));//3锛氭姤閿�娴佺▼
-                User planLeader = userService.selectById(processPermissions.getUserId());       // 鑾峰彇鍚堝悓绠$悊娴佺▼鑺傜偣纭浜�
+                User planLeader = userService.selectById(contract.getDirector());
 
                 if (planLeader.getId().equals(getUserId())) {
 
@@ -445,6 +448,9 @@
                                 dto.setMsg("鎬昏鍔�" + planLeader.getNickname() + "瀹℃壒閫氳繃");
                                 dto.setTime(DateUtils.convert(now));
                                 break;
+                            case 4:
+                                contract.setDirector(dto.getUserId());
+                                break;
                             default:
                                 break;
                         }
diff --git a/src/main/java/com/zy/crm/manager/entity/Contract.java b/src/main/java/com/zy/crm/manager/entity/Contract.java
index 8040b03..da2e995 100644
--- a/src/main/java/com/zy/crm/manager/entity/Contract.java
+++ b/src/main/java/com/zy/crm/manager/entity/Contract.java
@@ -205,6 +205,12 @@
     @TableField("settle_msg")
     private String settleMsg;
 
+    /**
+     * 鑺傜偣璐熻矗浜�
+     */
+    @ApiModelProperty(value= "鑺傜偣璐熻矗浜�")
+    private Long director;
+
     public Contract() {}
 
     public Contract(Long id, String customer, String address, String company, String companyAddress, String taxNum, String bank, String bankNum, Date createTime, Date updateTime, Long userId, Long updateBy, String filepath, String city, String shippingAddress, String shippingName, String shippingPhone, Double price, String email, String name, Integer status, String memo, String boss, String serial, Long deptId, Long hostId,Integer settle,String settleMsg) {
diff --git a/src/main/webapp/views/contract/contract.html b/src/main/webapp/views/contract/contract.html
index cd17b32..e9fcf8c 100644
--- a/src/main/webapp/views/contract/contract.html
+++ b/src/main/webapp/views/contract/contract.html
@@ -74,18 +74,20 @@
     {{# if (d.settle == 0) { }}
         <a class="layui-btn layui-btn-xs btn-edit" lay-event="approval">鎻愪氦</a>
     {{# } }}
-    {{# if (d.settle == 1) { }}
+    {{# if (d.settle == 1 || d.settle == 2) { }}
         <a class="layui-btn layui-btn-xs btn-edit" lay-event="approval">瀹℃壒</a>
     {{# } }}
-    {{# if (d.settle == 2) { }}
+    {{# if (d.settle == 3) { }}
         <a class="layui-btn layui-btn-xs btn-edit" lay-event="approval">纭</a>
     {{# } }}
-    {{# if (d.settle == 0 || d.settle == 1) { }}
+    {{# if (d.settle == 0 || d.settle == 1 || d.settle == 2) { }}
         <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a>
         <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">缂栬緫</a>
     {{# } }}
+    {{# if (d.settle == 4) { }}
+        <a class="layui-btn layui-btn-xs btn-edit" lay-event="generate">鐢熸垚鍚堝悓</a>
+    {{# } }}
     <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="sales">鍚堝悓鏄庣粏</a>
-    <a class="layui-btn layui-btn-xs btn-edit" lay-event="generate">鐢熸垚鍚堝悓</a>
     <a class="layui-btn layui-btn-xs btn-edit" lay-event="upload">涓婁紶鍚堝悓</a>
     <a class="layui-btn layui-btn-xs btn-edit" lay-event="download">涓嬭浇</a>
 </script>
diff --git a/src/main/webapp/views/contract/contract_more.html b/src/main/webapp/views/contract/contract_more.html
index 7095b3c..0049247 100644
--- a/src/main/webapp/views/contract/contract_more.html
+++ b/src/main/webapp/views/contract/contract_more.html
@@ -135,7 +135,7 @@
         function init(){
             notice.msg('姝e湪杞藉叆鏁版嵁......', {icon: 4, position: "topRight"});
             $.ajax({
-                url: baseUrl + "/contract/" + contractId + "/auth",
+                url: baseUrl + "/contract/" + contractId + "/auth2",
                 headers: {'token': localStorage.getItem('token')},
                 method: 'GET',
                 success: function (res) {

--
Gitblit v1.9.1