From d699794bb024ae7d5bb66fa24070745eb92c9b05 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期四, 03 八月 2023 12:36:07 +0800
Subject: [PATCH] #核价管理功能完善

---
 src/main/java/com/zy/crm/manager/controller/PriOnlineController.java |   44 +++++++++++++++++----
 src/main/java/com/zy/crm/manager/entity/PriOnline.java               |   24 +++++++++--
 src/main/webapp/static/js/priOnline/priOnline.js                     |    2 
 src/main/webapp/static/js/plan/plan.js                               |    4 +-
 src/main/java/com/zy/crm/manager/entity/Order.java                   |    9 ++++
 src/main/resources/mapper/PriOnlineMapper.xml                        |    2 +
 src/main/java/com/zy/crm/manager/controller/OrderController.java     |   17 ++++++++
 src/main/webapp/views/priOnline/priOnline.html                       |    6 +-
 8 files changed, 87 insertions(+), 21 deletions(-)

diff --git a/src/main/java/com/zy/crm/manager/controller/OrderController.java b/src/main/java/com/zy/crm/manager/controller/OrderController.java
index 9ff6024..5d99861 100644
--- a/src/main/java/com/zy/crm/manager/controller/OrderController.java
+++ b/src/main/java/com/zy/crm/manager/controller/OrderController.java
@@ -120,6 +120,23 @@
         return R.ok(result);
     }
 
+    @RequestMapping(value = "/orderQueryName/auth")
+    @ManagerAuth
+    public R queryName(String condition) {
+        EntityWrapper<Order> wrapper = new EntityWrapper<>();
+        wrapper.like("name", condition);
+        wrapper.eq("user_id",getUserId());
+        Page<Order> page = orderService.selectPage(new Page<>(0, 10), wrapper);
+        List<Map<String, Object>> result = new ArrayList<>();
+        for (Order order : page.getRecords()){
+            Map<String, Object> map = new HashMap<>();
+            map.put("id", order.getId());
+            map.put("value", order.getName());
+            result.add(map);
+        }
+        return R.ok(result);
+    }
+
     @RequestMapping(value = "/order/check/column/auth")
     @ManagerAuth
     public R query(@RequestBody JSONObject param) {
diff --git a/src/main/java/com/zy/crm/manager/controller/PriOnlineController.java b/src/main/java/com/zy/crm/manager/controller/PriOnlineController.java
index 8333bff..a4e190b 100644
--- a/src/main/java/com/zy/crm/manager/controller/PriOnlineController.java
+++ b/src/main/java/com/zy/crm/manager/controller/PriOnlineController.java
@@ -6,9 +6,11 @@
 import com.baomidou.mybatisplus.plugins.Page;
 import com.core.common.DateUtils;
 import com.zy.crm.manager.entity.Item;
+import com.zy.crm.manager.entity.Order;
 import com.zy.crm.manager.entity.Pri;
 import com.zy.crm.manager.entity.PriOnline;
 import com.zy.crm.manager.service.ItemService;
+import com.zy.crm.manager.service.OrderService;
 import com.zy.crm.manager.service.PriOnlineService;
 import com.core.annotations.ManagerAuth;
 import com.core.common.BaseRes;
@@ -17,6 +19,7 @@
 import com.core.domain.KeyValueVo;
 import com.zy.crm.common.web.BaseController;
 import com.zy.crm.manager.service.PriService;
+import com.zy.crm.system.entity.Role;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.io.ClassPathResource;
 import org.springframework.util.ClassUtils;
@@ -38,7 +41,7 @@
     private PriService priService;
 
     @Autowired
-    private ItemService itemService;
+    private OrderService orderService;
 
     @RequestMapping(value = "/priOnline/{id}/auth")
     @ManagerAuth
@@ -65,7 +68,7 @@
                   @RequestParam(required = false)String condition,
                   @RequestParam Map<String, Object> param){
         EntityWrapper<PriOnline> wrapper = new EntityWrapper<>();
-        wrapper.setSqlSelect("id,title,create_time as createTime,filepath,item_id as itemId,order_num as orderNum,template_name as templateName,user_id as userId,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,filepath,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);
@@ -75,15 +78,33 @@
     }
 
     private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
+        Long deptId = getDeptId();
+        boolean signUserId = false;
+        boolean signDeptId = false;
+        for (Map.Entry<String, Object> entry : map.entrySet()){
+            if (entry.getKey().equals("dept_id")){
+                signDeptId = true;
+            }
+        }
         for (Map.Entry<String, Object> entry : map.entrySet()){
             String val = String.valueOf(entry.getValue());
             if (val.contains(RANGE_TIME_LINK)){
                 String[] dates = val.split(RANGE_TIME_LINK);
                 wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
                 wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
+            } else if (entry.getKey().equals("dept_id")){
+                if (!val.equals("19")){
+                    wrapper.eq(entry.getKey(), val);
+                }
+            } else if (entry.getKey().equals("user_id") && !signDeptId){
+                signUserId = true;
+                wrapper.eq(entry.getKey(), val);
             } else {
                 wrapper.like(entry.getKey(), val);
             }
+        }
+        if (!signUserId && !signDeptId){
+            wrapper.eq("user_id", getUserId());
         }
     }
 
@@ -106,6 +127,8 @@
         priOnline.setOrderNum(format.format(new Date()));
         //鍒涘缓浜哄憳
         priOnline.setUserId(getUserId());
+        //鍒涘缓浜哄憳閮ㄩ棬
+        priOnline.setDeptId(getDeptId());
         //鏇存柊鏃堕棿
         priOnline.setUpdateTime(new Date());
         //鏇存柊浜哄憳
@@ -113,12 +136,14 @@
         //鐘舵�侊紝鏈畬鎴�
         priOnline.setStatus(0);
         //涓氬姟鍛�
-        Item item = itemService.selectById(priOnline.getItemId());
-        priOnline.setMemberId(item.getMember());
+//        Item item = itemService.selectById(priOnline.getItemId());
+        Order order = orderService.selectById(priOnline.getItemId());
+        priOnline.setMemberId(order.getUserId());
+
 
         //璁剧疆椤圭洰娴佺▼
-        item.setStep(2);
-        itemService.updateById(item);
+        order.setStep(2);
+        orderService.updateById(order);
 
         priOnlineService.insert(priOnline);
         return R.ok();
@@ -147,8 +172,9 @@
         //鐘舵�侊紝鏈畬鎴�
         priOnline.setStatus(0);
         //涓氬姟鍛�
-        Item item = itemService.selectById(priOnline.getItemId());
-        priOnline.setMemberId(item.getMember());
+//        Item item = itemService.selectById(priOnline.getItemId());
+        Order order = orderService.selectById(priOnline.getItemId());
+        priOnline.setMemberId(order.getUserId());
 
         priOnlineService.insert(priOnline);
         return R.ok();
@@ -285,7 +311,7 @@
         for (PriOnline priOnline : page.getRecords()){
             Map<String, Object> map = new HashMap<>();
             map.put("id", priOnline.getId());
-            map.put("value", priOnline.getOrderNum() + "/" + priOnline.getItemId$() + "/" + priOnline.getMemberId$());
+            map.put("value", priOnline.getOrderNum() + "/" + priOnline.getOrderId$() + "/" + priOnline.getMemberId$());
             result.add(map);
         }
         return R.ok(result);
diff --git a/src/main/java/com/zy/crm/manager/entity/Order.java b/src/main/java/com/zy/crm/manager/entity/Order.java
index 218df66..36c4605 100644
--- a/src/main/java/com/zy/crm/manager/entity/Order.java
+++ b/src/main/java/com/zy/crm/manager/entity/Order.java
@@ -173,6 +173,12 @@
     @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
     private Date updateTime;
 
+
+    @ApiModelProperty(value= "椤圭洰杩涘害娴佺▼{1锛氶」鐩垱寤猴紝2锛氭牳浠峰鐞嗭紝3锛氫骇鍝佽垂鐢ㄦ槑缁嗭紝4锛氭姤浠烽绠楀崟锛�5锛氭姤浠峰崟}")
+    @TableField("step")
+    private int step;
+
+
     /**
      * 娉ㄩ噴
      */
@@ -181,7 +187,7 @@
 
     public Order() {}
 
-    public Order(Long hostId,Long deptId,Long userId,Long cstmrId,String uuid,String name,Double money,Long company,String remarks,Long director,String province,String city,String district,String town,String addr,String files,Integer status,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) {
+    public Order(Long hostId,Long deptId,Long userId,Long cstmrId,String uuid,String name,Double money,Long company,String remarks,Long director,String province,String city,String district,String town,String addr,String files,Integer status,Long createBy,Date createTime,Long updateBy,Date updateTime,Integer step,String memo) {
         this.hostId = hostId;
         this.deptId = deptId;
         this.userId = userId;
@@ -203,6 +209,7 @@
         this.createTime = createTime;
         this.updateBy = updateBy;
         this.updateTime = updateTime;
+        this.step = step;
         this.memo = memo;
     }
 
diff --git a/src/main/java/com/zy/crm/manager/entity/PriOnline.java b/src/main/java/com/zy/crm/manager/entity/PriOnline.java
index dab502d..45e4b45 100644
--- a/src/main/java/com/zy/crm/manager/entity/PriOnline.java
+++ b/src/main/java/com/zy/crm/manager/entity/PriOnline.java
@@ -8,6 +8,7 @@
 
 import com.core.common.SpringUtils;
 import com.zy.crm.manager.service.ItemService;
+import com.zy.crm.manager.service.OrderService;
 import com.zy.crm.system.entity.User;
 import com.zy.crm.system.service.UserService;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -70,6 +71,10 @@
     @TableField("user_id")
     private Long userId;
 
+    @ApiModelProperty(value= "鍒涘缓浜哄憳鐢ㄦ埛閮ㄩ棬")
+    @TableField("dept_id")
+    private Long deptId;
+
     @ApiModelProperty(value= "鐘舵�亄0锛氭湭瀹屾垚锛�1锛氬凡瀹屾垚}")
     @TableField("status")
     private Integer status;
@@ -124,11 +129,20 @@
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
     }
 
-    public String getItemId$() {
-        ItemService itemService = SpringUtils.getBean(ItemService.class);
-        Item item = itemService.selectById(this.itemId);
-        if (!Cools.isEmpty(item)){
-            return String.valueOf(item.getName());
+//    public String getItemId$() {
+//        ItemService itemService = SpringUtils.getBean(ItemService.class);
+//        Item item = itemService.selectById(this.itemId);
+//        if (!Cools.isEmpty(item)){
+//            return String.valueOf(item.getName());
+//        }
+//        return null;
+//    }
+
+    public String getOrderId$() {
+        OrderService orderService = SpringUtils.getBean(OrderService.class);
+        Order order = orderService.selectById(this.itemId);
+        if (!Cools.isEmpty(order)){
+            return String.valueOf(order.getName());
         }
         return null;
     }
diff --git a/src/main/resources/mapper/PriOnlineMapper.xml b/src/main/resources/mapper/PriOnlineMapper.xml
index d001338..27d3a6d 100644
--- a/src/main/resources/mapper/PriOnlineMapper.xml
+++ b/src/main/resources/mapper/PriOnlineMapper.xml
@@ -13,6 +13,7 @@
         <result column="order_num" property="orderNum" />
         <result column="template_name" property="templateName" />
         <result column="user_id" property="userId" />
+        <result column="dept_id" property="deptId" />
         <result column="status" property="status" />
         <result column="update_time" property="updateTime" />
         <result column="check_data" property="checkData" />
@@ -28,6 +29,7 @@
         <result column="order_num" property="orderNum" />
         <result column="template_name" property="templateName" />
         <result column="user_id" property="userId" />
+        <result column="dept_id" property="deptId" />
         <result column="status" property="status" />
         <result column="update_time" property="updateTime" />
     </resultMap>
diff --git a/src/main/webapp/static/js/plan/plan.js b/src/main/webapp/static/js/plan/plan.js
index af13058..ae1fe6b 100644
--- a/src/main/webapp/static/js/plan/plan.js
+++ b/src/main/webapp/static/js/plan/plan.js
@@ -197,7 +197,7 @@
         }
     });
 
-    //婕旂ず澶氭枃浠跺垪琛�
+    //澶氭枃浠跺垪琛�
     var uploadListIns = upload.render({
         elem: '#data-btn-file2'
         ,elemList: $('#data-btn-file3') //鍒楄〃鍏冪礌瀵硅薄
@@ -261,7 +261,7 @@
                 ,tds = tr.children();
             tds.eq(3).find('.demo-reload').removeClass('layui-hide'); //鏄剧ず閲嶄紶
         }
-        ,progress: function(n, elem, e, index){ //娉ㄦ剰锛歩ndex 鍙傛暟涓� layui 2.6.6 鏂板
+        ,progress: function(n, elem, e, index){
             element.progress('progress-demo-'+ index, n + '%'); //鎵ц杩涘害鏉°�俷 鍗充负杩斿洖鐨勮繘搴︾櫨鍒嗘瘮
         }
     });
diff --git a/src/main/webapp/static/js/priOnline/priOnline.js b/src/main/webapp/static/js/priOnline/priOnline.js
index 8344899..09d0a0c 100644
--- a/src/main/webapp/static/js/priOnline/priOnline.js
+++ b/src/main/webapp/static/js/priOnline/priOnline.js
@@ -86,7 +86,7 @@
             ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80}
             ,{field: 'templateName', align: 'center',title: '妯℃澘鍚�'}
             ,{field: 'orderNum', align: 'center',title: '璁㈠崟鍙�'}
-            ,{field: 'itemId$', align: 'center',title: '椤圭洰鍚�'}
+            ,{field: 'orderId$', align: 'center',title: '椤圭洰鍚�'}
             ,{field: 'createTime$', align: 'center',title: '鍒涘缓鏃堕棿'}
             ,{field: 'updateTime$', align: 'center',title: '鏇存柊鏃堕棿'}
             ,{field: 'status$', align: 'center',title: '鐘舵��'}
diff --git a/src/main/webapp/views/priOnline/priOnline.html b/src/main/webapp/views/priOnline/priOnline.html
index 22f85dc..bef3762 100644
--- a/src/main/webapp/views/priOnline/priOnline.html
+++ b/src/main/webapp/views/priOnline/priOnline.html
@@ -98,10 +98,10 @@
           <label class="layui-form-label layui-form-required">椤圭洰鍚�: </label>
           <div class="layui-input-block cool-auto-complete">
             <input class="layui-input" name="itemId" placeholder="璇疯緭鍏ラ」鐩悕" style="display: none" lay-verify="required">
-            <input id="itemId$" name="itemId$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ラ」鐩悕" onfocus=this.blur()>
+            <input id="orderId$" name="orderId$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ラ」鐩悕" onfocus=this.blur()>
             <div class="cool-auto-complete-window">
-              <input class="cool-auto-complete-window-input" data-key="itemQueryBydirector" onkeyup="autoLoad(this.getAttribute('data-key'))">
-              <select class="cool-auto-complete-window-select" data-key="itemQueryBydirectorSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+              <input class="cool-auto-complete-window-input" data-key="orderQueryNameBydirector" onkeyup="autoLoad(this.getAttribute('data-key'))">
+              <select class="cool-auto-complete-window-select" data-key="orderQueryNameBydirectorSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
               </select>
             </div>
           </div>

--
Gitblit v1.9.1