From bf2fbd9f3e90dd2ef508c5944ae63491397b42ae Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期六, 04 十一月 2023 10:35:26 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/crm/manager/controller/PlanController.java | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 105 insertions(+), 7 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 8fd9277..bcf9b16 100644
--- a/src/main/java/com/zy/crm/manager/controller/PlanController.java
+++ b/src/main/java/com/zy/crm/manager/controller/PlanController.java
@@ -33,6 +33,7 @@
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
+import javax.xml.crypto.Data;
import java.io.IOException;
import java.io.InputStream;
import java.util.*;
@@ -54,6 +55,11 @@
private OrderService orderService;
@Autowired
private SmsCodeService smsCodeService;
+ @Autowired
+ private ProcessPermissionsService processPermissionsService;
+
+ String PZH=" 鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�� ";
+
@GetMapping(value = "/plan/{id}/auth")
@ManagerAuth
@@ -83,10 +89,22 @@
@RequestParam(required = false) String condition,
@RequestParam(required = false, value = "dept_id") Long deptId,
@RequestParam(required = false, value = "user_id") Long userId) {
+ Long director = null;
+ if (deptId==null && userId == null){
+ if (getRole().getId()==3){
+ userId = getUserId();
+ }else if (getRole().getId()==2){
+ deptId = getDeptId();
+ userId = null;
+ }
+ director = getUserId();
+ }
+
return R.ok(planService.getPage(new Page<>(curr, limit)
, getHostId()
, deptId == null ? null : String.valueOf(deptId)
- , userId == null ? getUserId() : userId
+ , userId
+ , director
, condition)
);
}
@@ -139,6 +157,7 @@
plan.setUpdateBy(getUserId());
plan.setUpdateTime(now);
plan.setStatus(0);
+ plan.setStep(1);
plan.setForm(JSON.toJSONString(param)); // 鑷畾涔夎〃鍗曞唴瀹�
plan.setSettle(1); // 1.寮�濮�
@@ -151,6 +170,8 @@
PlanType planType = planTypeService.selectById(plan.getPlanType());
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("淇濇寔澶辫触锛岃閲嶈瘯");
@@ -416,6 +437,7 @@
if (Cools.isEmpty(plannerId)) {
return R.error("鎸囧畾瑙勫垝鍛樹笉鑳戒负绌�");
}
+ plan.setDirector(plannerId);
User planner = userService.selectById(plannerId);
// 淇敼 settle 姝ラ鏁版嵁
List<SettleDto> list = JSON.parseArray(plan.getSettleMsg(), SettleDto.class);
@@ -426,7 +448,11 @@
break;
case 2:
dto.setCurr(Boolean.TRUE);
- dto.setMsg("鍞墠缁勯暱" + planLeader.getNickname() + "瀹℃壒閫氳繃");
+ if (Cools.isEmpty(dto.getMsg())){
+ dto.setMsg("鍞墠缁勯暱" + planLeader.getNickname() + "瀹℃壒閫氳繃");
+ }else {
+ dto.setMsg(dto.getMsg()+PZH+DateUtils.convert(new Date())+" "+"鍞墠缁勯暱" + planLeader.getNickname() + "瀹℃壒閫氳繃");
+ }
dto.setTime(DateUtils.convert(new Date()));
break;
case 3:
@@ -471,6 +497,8 @@
}
// 涓氬姟鍛�
User salesman = userService.selectById(plan.getUserId());
+ plan.setDirector(salesman.getId());
+
// 淇敼 settle 姝ラ鏁版嵁
List<SettleDto> list0 = JSON.parseArray(plan.getSettleMsg(), SettleDto.class);
for (SettleDto dto : list0) {
@@ -480,7 +508,11 @@
break;
case 3:
dto.setCurr(Boolean.TRUE);
- dto.setMsg("瑙勫垝鍛�" + plannerUser.getNickname() + "瀹℃壒閫氳繃");
+ if (Cools.isEmpty(dto.getMsg())){
+ dto.setMsg("瑙勫垝鍛�" + plannerUser.getNickname() + "瀹℃壒閫氳繃");
+ }else {
+ dto.setMsg(dto.getMsg()+PZH+DateUtils.convert(new Date())+" "+"瑙勫垝鍛�" + plannerUser.getNickname() + "瀹℃壒閫氳繃");
+ }
dto.setTime(DateUtils.convert(new Date()));
break;
case 4:
@@ -516,7 +548,11 @@
break;
case 4:
dto.setCurr(Boolean.TRUE);
- dto.setMsg("涓氬姟鍛�" + salesman0.getNickname() + "瀹℃壒閫氳繃");
+ if (Cools.isEmpty(dto.getMsg())){
+ dto.setMsg("涓氬姟鍛�" + salesman0.getNickname() + "瀹℃壒閫氳繃");
+ }else {
+ dto.setMsg(dto.getMsg()+PZH+DateUtils.convert(new Date())+" "+"涓氬姟鍛�" + salesman0.getNickname() + "瀹℃壒閫氳繃");
+ }
dto.setTime(DateUtils.convert(new Date()));
break;
default:
@@ -538,6 +574,48 @@
return R.error();
}
return R.ok("瀹℃壒鎴愬姛");
+ }
+
+ @PostMapping(value = "/plan/approvalEnd/auth")
+ @ManagerAuth(memo = "鎷掔粷鐢宠鍗�")
+ public R approvalEnd(@RequestParam Long planId,
+ @RequestParam(required = false) Long plannerId) {
+ Plan plan = planService.selectById(planId);
+ Date now = new Date();
+ Long directorId = plan.getDirector();
+ User director = userService.selectById(directorId);
+ if (!director.getId().equals(getUserId())){
+ return R.error("鎶辨瓑锛屾偍娌℃湁瀹℃牳鐨勬潈闄�");
+ }
+ List<SettleDto> planDtos = JSON.parseArray(plan.getSettleMsg(), SettleDto.class);
+ List<SettleDto> planDtoList = new ArrayList<>();
+ boolean sign = true;
+ for (SettleDto dto : planDtos) {
+ if (dto.getStep().equals(2)){
+ plan.setDirector(dto.getUserId());
+ }
+ if (sign && dto.getUserId().equals(directorId) && plan.getSettle()+1==dto.getStep()){
+ if (Cools.isEmpty(dto.getMsg())){
+ dto.setMsg(DateUtils.convert(now)+" "+director.getNickname()+"鍥為��瀹℃壒");
+ }else {
+ dto.setMsg(dto.getMsg()+PZH+DateUtils.convert(now)+" "+director.getNickname()+"鍥為��瀹℃壒");
+ }
+ sign = false;
+ }
+ if (sign){
+ dto.setMsg(dto.getMsg()+PZH+DateUtils.convert(now)+" "+director.getNickname()+"鍥為��瀹℃壒");
+ }
+
+ planDtoList.add(dto);
+ }
+ plan.setStatus(0);
+ plan.setStep(1);
+ plan.setSettle(1);
+ plan.setSettleMsg(JSON.toJSONString(planDtoList));
+ plan.setUpdateBy(getUserId());
+ plan.setUpdateTime(now);
+ planService.updateById(plan);
+ return R.ok("鍥為��鎴愬姛");
}
@PostMapping(value = "/plan/planner/list/auth")
@@ -613,13 +691,33 @@
wrapper.like("name", condition);
wrapper.eq("status",1);
- int type =1;
- if (getUser().getNickname().equals("鏉庝笘璞�3绾�")){
- type=2;
+
+ ProcessPermissions processPermissions1 = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 5).eq("process", "1-1"));//2锛氭牳浠锋祦绋�
+ User manager1 = userService.selectById(processPermissions1.getUserId()); // 鑾峰彇鏍镐环娴佺▼鑺傜偣1纭浜�
+
+ ProcessPermissions processPermissions2 = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 5).eq("process", "1-2"));//2锛氭牳浠锋祦绋�
+ User manager2 = userService.selectById(processPermissions2.getUserId()); // 鑾峰彇鏍镐环娴佺▼鑺傜偣1纭浜�
+
+ ProcessPermissions processPermissions3= processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 5).eq("process", "1-3"));//2锛氭牳浠锋祦绋�
+ User manager3 = userService.selectById(processPermissions3.getUserId()); // 鑾峰彇鏍镐环娴佺▼鑺傜偣1纭浜�
+
+ int type =0;
+ if (getUserId().equals(manager1.getId())){
+ type=1;//(璐ф灦)
+ }else if (getUserId().equals(manager2.getId()) || getUserId().equals(manager3.getId())){
+ type = 2;//(闆嗘垚)
+ }else {
+ return R.error("浣犱笉鏄牳浠峰憳,鏃犳潈鎺ヤ换鍔�");
}
List<Long> typeList = new ArrayList<>();
List<PlanType> planTypes = planTypeService.selectList(new EntityWrapper<PlanType>().eq("type", type));
+ if (type==1){
+ planTypes = planTypeService.selectList(new EntityWrapper<PlanType>());
+ }
+ if (Cools.isEmpty(planTypes) || planTypes.size()==0){
+ return R.ok();
+ }
for (PlanType planType : planTypes){
typeList.add(planType.getId());
}
--
Gitblit v1.9.1