From 6591643b2208246b8990f6b2d9c226be4e038242 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期三, 22 十一月 2023 16:58:52 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/crm/manager/controller/PlanController.java | 176 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 164 insertions(+), 12 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 0cd26b0..d961d10 100644
--- a/src/main/java/com/zy/crm/manager/controller/PlanController.java
+++ b/src/main/java/com/zy/crm/manager/controller/PlanController.java
@@ -6,12 +6,10 @@
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.DateUtils;
-import com.core.common.R;
+import com.core.common.*;
import com.core.domain.KeyValueVo;
import com.core.exception.CoolException;
+import com.zy.crm.common.entity.PhoneCodeTypeParam;
import com.zy.crm.common.model.SettleDto;
import com.zy.crm.common.service.OssService;
import com.zy.crm.common.utils.FileSaveExampleUtil;
@@ -118,6 +116,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 +184,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)));
@@ -186,7 +206,99 @@
throw new CoolException("淇濇寔澶辫触锛岃閲嶈瘯");
}
+ if (!smsCodeService.sendSmsCodeText(planLeader.getMobile(), PhoneCodeTypeParam.ALIYUN_M1ABAC630E)) {
+ return R.ok("鍒涘缓鎴愬姛浣嗙煭淇″彂閫佸け璐�!");
+ }
+
return R.ok();
+ }
+
+ @RequestMapping(value = "/plan/assistantPlan/add/auth")
+ @ManagerAuth(memo = "娣诲姞鍓鍒掔敵璇峰崟")
+ @Transactional
+ public R assistantPlanAdd(@RequestParam Long hostPlanId) {
+ Plan hostPlan = planService.selectById(hostPlanId);
+ if (hostPlan.getAssistantHostSign()!=0){
+ return R.error("姝よ鍒掑崟涓嶉渶瑕佸垱寤哄壇娴佺▼");
+ }
+ PlanType planType2 = planTypeService.selectById(hostPlan.getPlanType());
+ if (planType2.getType()!=2){
+ return R.error("姝よ鍒掑崟涓嶉渶瑕佸垱寤哄壇娴佺▼");
+ }
+ if (!Cools.isEmpty(hostPlan.getAssistantPlanId()) && hostPlan.getAssistantPlanId()!=0){
+ return R.error("姝よ鍒掑崟宸插瓨鍦ㄥ壇瑙勫垝鍗曪紝id涓�"+hostPlan.getAssistantPlanId());
+ }
+ // pre
+ Plan plan = new Plan(hostPlan);
+ // begin
+ Long hostId = getHostId();
+ 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)); // 瑙勫垝鍗曚唬鍙�
+ plan.setDeptId(getDeptId()); // 鎵�灞為儴闂�
+ plan.setUserId(getUserId()); // 鎵�灞炰汉鍛�
+
+ plan.setAppleTime(now);
+ plan.setCreateBy(getUserId());
+ plan.setCreateTime(now);
+ plan.setUpdateBy(getUserId());
+ plan.setUpdateTime(now);
+ plan.setStatus(0);
+ plan.setStatus2(0);
+ plan.setStep(1);
+ plan.setSettle(1); // 1.寮�濮�
+ plan.setAssistantHostSign(1);//鍓鍒掑崟
+
+ User manager = new User();
+ try{
+ manager = userService.getDeptManager(getHostId(), getUser().getDeptId()); // 鑾峰彇閮ㄩ棬棰嗗
+ }catch (Exception e){
+ manager = getUser();
+ }
+ PlanType planType = new PlanType(hostPlan.getHostId(),1);//1:璐ф灦
+ 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("淇濆瓨澶辫触锛岃閲嶈瘯");
+ }
+ plan.setAssistantPlanId(plan.getId());
+ plan.setHostPlanId(hostPlanId);
+ if (!planService.updateById(plan)) {
+ throw new CoolException("鏇存柊澶辫触锛岃閲嶈瘯");
+ }
+ // 鑷姩娣诲姞璺熻繘浜�
+ PlanFoll planFoll = new PlanFoll();
+ planFoll.setPlanId(plan.getId());
+ planFoll.setUserId(planLeader.getId());
+ if (!planFollService.insert(planFoll)) {
+ throw new CoolException("淇濆瓨澶辫触锛岃閲嶈瘯");
+ }
+
+ hostPlan.setAssistantPlanId(plan.getId());
+ hostPlan.setHostPlanId(hostPlanId);
+ if (!planService.updateById(hostPlan)) {
+ throw new CoolException("鏇存柊澶辫触锛岃閲嶈瘯");
+ }
+ if (!smsCodeService.sendSmsCodeText(planLeader.getMobile(), PhoneCodeTypeParam.ALIYUN_M1ABAC630E)) {
+ return R.ok("鍒涘缓鎴愬姛浣嗙煭淇″彂閫佸け璐�!");
+ }
+ return R.ok("淇濆瓨鎴愬姛");
}
@RequestMapping(value = "/plan/update/auth")
@@ -249,6 +361,21 @@
int priOnline2 = priOnline2Service.selectCount(new EntityWrapper<PriOnline2>().eq("item_id", id));
if (priOnline2!=0){
return R.error("瀛樺湪鍏宠仈鐨勬牳浠峰崟锛岀姝㈠垹闄わ紒锛侊紒");
+ }
+ Plan planA = planService.selectById(id);
+ if (planA.getAssistantHostSign()==1){
+ 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){
+ Plan planB = planService.selectById(planA.getAssistantPlanId());
+ if (!Cools.isEmpty(planB)){
+ return R.error("瀛樺湪鍏宠仈鐨勫壇瑙勫垝鍗曪紝绂佹鍒犻櫎锛侊紒锛� 鍓鍒掑崟ID锛�"+planB.getId());
+ }
+ }
}
planService.deleteById(id);
}
@@ -419,8 +546,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("鏈煡鎵惧埌瑙勫垝缁勯暱锛岃鑱旂郴绠$悊鍛�");
}
@@ -466,11 +592,6 @@
plan.setUpdateBy(getUserId());
plan.setUpdateTime(new Date());
- boolean sendSmsCode = smsCodeService.sendSmsCodeText(planner.getMobile());
- if (!sendSmsCode) {
- System.out.println("鐭俊鍙戦�佸け璐ワ紒");
- }
-
if (!planService.updateById(plan)) {
throw new CoolException("瀹℃牳澶辫触锛岃鑱旂郴绠$悊鍛�");
}
@@ -481,6 +602,10 @@
planFoll.setUserId(planner.getId());
if (!planFollService.insert(planFoll)) {
throw new CoolException("瀹℃牳澶辫触锛岃鑱旂郴绠$悊鍛�");
+ }
+
+ if (!smsCodeService.sendSmsCodeText(planner.getMobile(), PhoneCodeTypeParam.ALIYUN_M6F3C81FE3)) {
+ return R.ok("瀹℃牳鎴愬姛浣嗙煭淇″彂閫佸け璐�!");
}
break;
case 2:
@@ -528,6 +653,9 @@
if (!planService.updateById(plan)) {
throw new CoolException("瀹℃牳澶辫触锛岃鑱旂郴绠$悊鍛�");
}
+ if (!smsCodeService.sendSmsCodeText(salesman.getMobile(), PhoneCodeTypeParam.ALIYUN_M1ABAC630E)) {
+ return R.ok("瀹℃牳鎴愬姛浣嗙煭淇″彂閫佸け璐�!");
+ }
break;
case 3:
// 涓氬姟鍛�
@@ -561,6 +689,12 @@
plan.setStatus(1); // 瀹℃壒閫氳繃
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("瀹℃牳澶辫触锛岃鑱旂郴绠$悊鍛�");
@@ -625,6 +759,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("鏈煡鎵惧埌瑙勫垝缁勯暱锛岃鑱旂郴绠$悊鍛�");
@@ -691,6 +828,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;
@@ -725,6 +863,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);
}
@@ -753,7 +905,7 @@
* excel瀵煎叆
*/
@PostMapping(value = "/plan/excel/import/auth")
- @ManagerAuth(memo = "鐢叉柟鍗曚綅Excel瀵煎叆")
+ @ManagerAuth(memo = "瀹㈡埛淇℃伅Excel瀵煎叆")
// @Transactional
public R planExcelImport(MultipartFile file) throws IOException {
InputStream inStream = file.getInputStream();
--
Gitblit v1.9.1