From efbc8993d6545d7ab898f5349a89915729fe5cb7 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期五, 06 十月 2023 14:12:31 +0800
Subject: [PATCH] #一键修改负责人
---
src/main/java/com/zy/crm/manager/controller/PlanController.java | 12 ++++
src/main/webapp/views/plan/plan.html | 15 ++--
src/main/java/com/zy/crm/manager/controller/OrderController.java | 113 ++++++++++++++++++++++++++++++++++---
3 files changed, 122 insertions(+), 18 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 27455e0..d8eebb7 100644
--- a/src/main/java/com/zy/crm/manager/controller/OrderController.java
+++ b/src/main/java/com/zy/crm/manager/controller/OrderController.java
@@ -1,24 +1,19 @@
package com.zy.crm.manager.controller;
+import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.core.annotations.ManagerAuth;
-import com.core.common.BaseRes;
-import com.core.common.Cools;
-import com.core.common.R;
+import com.core.common.*;
import com.core.domain.KeyValueVo;
import com.core.exception.CoolException;
+import com.zy.crm.common.model.SettleDto;
import com.zy.crm.common.web.BaseController;
import com.zy.crm.manager.controller.result.FollowerTableVo;
-import com.zy.crm.manager.entity.CstmrFoll;
-import com.zy.crm.manager.entity.Order;
-import com.zy.crm.manager.entity.OrderFoll;
-import com.zy.crm.manager.entity.Plan;
-import com.zy.crm.manager.service.OrderFollService;
-import com.zy.crm.manager.service.OrderService;
-import com.zy.crm.manager.service.PlanService;
+import com.zy.crm.manager.entity.*;
+import com.zy.crm.manager.service.*;
import com.zy.crm.system.entity.Role;
import com.zy.crm.system.entity.User;
import com.zy.crm.system.service.UserService;
@@ -44,6 +39,10 @@
private OrderService orderService;
@Autowired
private PlanService planService;
+ @Autowired
+ private PriOnline2Service priOnline2Service;
+ @Autowired
+ private PriSalesService priSalesService;
@RequestMapping(value = "/order/{id}/auth")
@ManagerAuth
@@ -104,16 +103,108 @@
@RequestMapping(value = "/order/update/auth")
@ManagerAuth(memo = "鏇存柊璺熻釜椤圭洰")
+ @Transactional
public R update(Order order){
if (Cools.isEmpty(order) || null==order.getId()){
return R.error();
}
+ Date now = new Date();
+
+
order.setUpdateBy(getUserId());
- order.setUpdateTime(new Date());
+ order.setUpdateTime(now);
+ Order orderOld = orderService.selectById(order.getId());
+ if (Cools.isEmpty(orderOld) || null==orderOld.getId()){
+ return R.error();
+ }
+ if (!orderOld.getDirector().equals(order.getDirector())){
+ User user = userService.selectById(order.getDirector());
+ order.setUserId(user.getId());
+ order.setDeptId(user.getDeptId());
+ order.setHostId(user.getHostId());
+
+ updateDirector(order.getId(),user,now);
+ }
orderService.updateById(order);
+
+
return R.ok();
}
+ public void updateDirector(Long orderId, User user , Date now){
+ try{
+ List<Plan> plans = planService.selectList(new EntityWrapper<Plan>().eq("order_id", orderId));
+ for (Plan plan:plans){
+ if (plan.getSettle$().equals("瀹℃壒閫氳繃")){
+ continue;
+ }
+ List<PriOnline2> priOnline2s = priOnline2Service.selectList(new EntityWrapper<PriOnline2>().eq("item_id", plan.getId()));
+ for (PriOnline2 priOnline2:priOnline2s){
+ List<PriSales> priSalesList = priSalesService.selectList(new EntityWrapper<PriSales>().eq("pri_online2_id", priOnline2.getId()));
+ for (PriSales priSales:priSalesList){
+ priSales.setUserId(user.getId());
+ priSales.setDeptId(user.getDeptId());
+ priSales.setHostId(user.getHostId());
+ priSalesService.updateById(priSales);
+ }
+ priOnline2.setUserId(user.getId());
+ priOnline2.setDeptId(user.getDeptId());
+ priOnline2.setHostId(user.getHostId());
+
+// List<SettleDto> priOnline2Dtos = JSON.parseArray(plan.getSettleMsg(), SettleDto.class);
+// List<SettleDto> priOnline2DtoList = new ArrayList<>();
+// for (SettleDto dto : priOnline2Dtos) {
+// switch (dto.getStep()) {
+// case 1:
+// dto.setMsg(dto.getMsg()+" 鈥斺�斺�斺�斺�斺�� "+DateUtils.convert(now)+" 璺熻釜椤圭洰淇敼璐熻矗浜轰负锛�"+plan.getUserId$());
+// dto.setUserId(plan.getUserId());
+// dto.setUsername(plan.getUserId$());
+// break;
+// case 4:
+// dto.setUserId(plan.getUserId());
+// dto.setUsername(plan.getUserId$());
+// break;
+// default:
+// break;
+// }
+// priOnline2DtoList.add(dto);
+// }
+// plan.setSettleMsg(JSON.toJSONString(priOnline2DtoList));
+
+ priOnline2Service.updateById(priOnline2);
+ }
+ plan.setUserId(user.getId());
+ plan.setDeptId(user.getDeptId());
+ plan.setHostId(user.getHostId());
+
+ List<SettleDto> planDtos = JSON.parseArray(plan.getSettleMsg(), SettleDto.class);
+ List<SettleDto> planDtoList = new ArrayList<>();
+ for (SettleDto dto : planDtos) {
+ switch (dto.getStep()) {
+ case 1:
+ dto.setMsg(dto.getMsg()+" 鈥斺�斺�斺�斺�斺�� "+DateUtils.convert(now)+" 璺熻釜椤圭洰淇敼璐熻矗浜轰负锛�"+plan.getUserId$());
+ dto.setUserId(plan.getUserId());
+ dto.setUsername(plan.getUserId$());
+ break;
+ case 4:
+ dto.setUserId(plan.getUserId());
+ dto.setUsername(plan.getUserId$());
+ break;
+ default:
+ break;
+ }
+ planDtoList.add(dto);
+ }
+ plan.setSettleMsg(JSON.toJSONString(planDtoList));
+ planService.updateById(plan);
+ }
+ }catch (Exception e){
+ R.error();
+ return;
+ }
+ R.ok();
+ }
+
@RequestMapping(value = "/order/delete/auth")
@ManagerAuth(memo = "鍒犻櫎璺熻釜椤圭洰")
public R delete(@RequestParam(value="ids[]") Long[] ids){
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 0ba45fb..8240376 100644
--- a/src/main/java/com/zy/crm/manager/controller/PlanController.java
+++ b/src/main/java/com/zy/crm/manager/controller/PlanController.java
@@ -61,6 +61,8 @@
private OssService ossService;
@Autowired
private PriOnline2Service priOnline2Service;
+ @Autowired
+ private OrderService orderService;
@GetMapping(value = "/plan/{id}/auth")
@ManagerAuth
@@ -124,6 +126,16 @@
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)); // 瑙勫垝鍗曚唬鍙�
diff --git a/src/main/webapp/views/plan/plan.html b/src/main/webapp/views/plan/plan.html
index 1255c7d..b195bce 100644
--- a/src/main/webapp/views/plan/plan.html
+++ b/src/main/webapp/views/plan/plan.html
@@ -207,6 +207,13 @@
</div>
</div>
<div class="layui-form-item">
+ <label class="layui-form-label layui-form-required">瀹㈡埛鍚嶇О: </label>
+ <div class="layui-input-block" >
+ <div id="cstmrXmlSel" name="cstmrXmlSel">
+ </div>
+ </div>
+ </div>
+ <div class="layui-form-item" style="display: none">
<label class="layui-form-label layui-form-required">涓氬姟鍛�: </label>
<div class="layui-input-block">
<div id="userXmlSel" name="userXmlSel">
@@ -227,13 +234,7 @@
<!-- <input class="layui-input" autocomplete="off" name="appleTime" id="appleTime$" placeholder="璇疯緭鍏ョ敵璇锋棩鏈�" lay-vertype="tips" lay-verify="required">-->
<!-- </div>-->
<!-- </div>-->
- <div class="layui-form-item">
- <label class="layui-form-label layui-form-required">瀹㈡埛鍚嶇О: </label>
- <div class="layui-input-block" >
- <div id="cstmrXmlSel" name="cstmrXmlSel">
- </div>
- </div>
- </div>
+
<div class="layui-form-item">
<label class="layui-form-label layui-form-required">涓氬姟绫诲瀷: </label>
<div class="layui-input-block">
--
Gitblit v1.9.1