From 96bea93e9591de5bd6e632b7bf9bb1e920f371ed Mon Sep 17 00:00:00 2001 From: LSH Date: 星期五, 10 十一月 2023 15:04:39 +0800 Subject: [PATCH] # --- src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java | 467 +++++++++++++++++++++++++++++++++------------------------- 1 files changed, 265 insertions(+), 202 deletions(-) diff --git a/src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java b/src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java index d7d7733..f020640 100644 --- a/src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java +++ b/src/main/java/com/zy/crm/manager/controller/PriOnline2Controller.java @@ -16,6 +16,7 @@ import com.zy.crm.common.web.BaseController; import com.zy.crm.manager.entity.*; import com.zy.crm.manager.service.*; +import com.zy.crm.manager.utils.CompanySearchUtils; import com.zy.crm.system.entity.User; import com.zy.crm.system.service.UserService; import org.springframework.beans.factory.annotation.Autowired; @@ -42,7 +43,7 @@ private PlanService planService; @Autowired - private PlanTypeService planTypeService; + private PlanTypeService planTypeService; @Autowired private ProcessPermissionsService processPermissionsService; @@ -56,7 +57,10 @@ @Autowired private UserService userService; - String PZH=" 鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�� "; + @Autowired + private PriOnline2FollService priOnline2FollService; + + String PZH = " 鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�� "; @RequestMapping(value = "/priOnline2/{id}/auth") @ManagerAuth @@ -65,7 +69,7 @@ assert priOnline2 != null; JSONObject resultObj = JSON.parseObject(JSON.toJSONString(priOnline2)); // 姝ラ鏉$浉鍏� - resultObj.put("step", priOnline2.getSettle() == 3 ? 0 : priOnline2.getSettle() + 1); + resultObj.put("step", priOnline2.getSettle().equals(priOnline2.getSettleSize()) ? 0 : priOnline2.getSettle() + 1); return R.ok().add(resultObj); } @@ -81,63 +85,152 @@ @RequestMapping(value = "/priOnline2/list/auth") @ManagerAuth - public R list(@RequestParam(defaultValue = "1")Integer curr, - @RequestParam(defaultValue = "10")Integer limit, - @RequestParam(required = false)String orderByField, - @RequestParam(required = false)String orderByType, - @RequestParam(required = false)String condition, - @RequestParam Map<String, Object> param){ + public R list(@RequestParam(defaultValue = "1") Integer curr, + @RequestParam(defaultValue = "10") Integer limit, + @RequestParam(required = false) String orderByField, + @RequestParam(required = false) String orderByType, + @RequestParam(required = false) String allSwitch, + @RequestParam(required = false) String condition, + @RequestParam Map<String, Object> paramSou) { EntityWrapper<PriOnline2> wrapper = new EntityWrapper<>(); - wrapper.setSqlSelect("id,title,create_time as createTime,filepath,settle,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.setSqlSelect("id,title,create_time as createTime,assistant_plan_id as assistantPlanId,host_plan_id as hostPlanId,assistant_host_sign as assistantHostSign,filepath,settle,settle_size as settleSize,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); + excludeTrash(paramSou); + Map<String, Object> param = convertallSwitch(paramSou); + + if (!Cools.isEmpty(allSwitch)){ + List<PriOnline2> priOnline2List = priOnline2Service.listByAll(getUserId()); + Page<PriOnline2> page1 = new Page<PriOnline2>(curr, limit).setRecords(priOnline2List); + page1.setTotal(priOnline2Service.listByAllTotal(getUserId())); + return R.ok(page1); + } + convert(param, wrapper); allLike(PriOnline2.class, param.keySet(), wrapper, condition); - wrapper.or().eq("member_id",getUserId()); - if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + wrapper.or().eq("member_id", getUserId()); + if (!Cools.isEmpty(orderByField)) { + wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType)); + } return R.ok(priOnline2Service.selectPage(new Page<>(curr, limit), wrapper)); } - private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ + private Map<String, Object> convertallSwitch(Map<String, Object> map) { + for (Map.Entry<String, Object> entry : map.entrySet()) { + if (entry.getKey().equals("allSwitch")) { + map.remove("allSwitch"); + } + } + return map; + } + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) { boolean signUserId = false; boolean signDeptId = false; boolean signHostId = false; - for (Map.Entry<String, Object> entry : map.entrySet()){ - if (entry.getKey().equals("dept_id")){ + for (Map.Entry<String, Object> entry : map.entrySet()) { + if (entry.getKey().equals("dept_id")) { signDeptId = true; - if (String.valueOf(entry.getValue()).equals("19")){ + if (String.valueOf(entry.getValue()).equals("19")) { signHostId = true; } } } - for (Map.Entry<String, Object> entry : map.entrySet()){ + for (Map.Entry<String, Object> entry : map.entrySet()) { String val = String.valueOf(entry.getValue()); - if (val.contains(RANGE_TIME_LINK)){ + 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")){ + } else if (entry.getKey().equals("dept_id")) { + if (!val.equals("19")) { wrapper.eq(entry.getKey(), val); } - } else if (entry.getKey().equals("user_id") && !signDeptId){ + } 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()); + if (!signUserId && !signDeptId) { + if (getRole().getId() == 1) { + wrapper.or().eq("host_id", 1); + } else if (getRole().getId() == 2) { + wrapper.eq("dept_id", getDeptId()); + } else { + wrapper.eq("user_id", getUserId()); + } } - if (signHostId){ - wrapper.or().eq("host_id",1); + if (signHostId) { + wrapper.or().eq("host_id", 1); } } +// @RequestMapping(value = "/priOnline2/HJ/add/auth") +// @ManagerAuth(memo = "鎺ュ彇闆嗘垚鏍镐环浠诲姟") +// public R addHJ(PriOnline2 priOnline2) { +// PriOnline2 priOnline21 = priOnline2Service.selectById(priOnline2.getId()); +// if (priOnline21.getSettle()!=1 || !priOnline21.getMemberId().equals(0L)){ +// return R.error("姝ら泦鎴愭牳浠峰崟鐘舵�佸凡鏀瑰彉锛岃鍒锋柊椤甸潰閲嶆柊閫夋嫨锛�"); +// } +// Date now = new Date(); +// priOnline21.setMemberId(getUserId()); +// +// +// List<SettleDto> planDtos = JSON.parseArray(priOnline21.getSettleMsg(), SettleDto.class); +// List<SettleDto> planDtoList = new ArrayList<>(); +// for (SettleDto dto : planDtos) { +// if (dto.getStep().equals(2)) { +// dto.setUserId(getUserId()); +// dto.setUsername(getUser().getNickname()); +// if (Cools.isEmpty(dto.getMsg())) { +// dto.setMsg(getUser().getNickname() + "鎺ュ彇鏍镐环"); +// } else { +// dto.setMsg(dto.getMsg() + PZH + DateUtils.convert(now) + " " + getUser().getNickname() + "鎺ュ彇鏍镐环"); +// } +// dto.setTime(DateUtils.convert(new Date())); +// } +// planDtoList.add(dto); +// } +// priOnline21.setSettleMsg(JSON.toJSONString(planDtoList)); +// priOnline21.setUpdateUserId(getUserId()); +// priOnline21.setUpdateTime(now); +// priOnline2Service.updateById(priOnline21); +// return R.ok("鎺ュ彇鎴愬姛"); +// } + +// @RequestMapping(value = "/priOnline2/HJ/search/auth") +// @ManagerAuth +// public R priOnline2Search(String condition) { +// EntityWrapper<PriOnline2> wrapper = new EntityWrapper<>(); +// wrapper.like("template_name", condition); +// wrapper.eq("member_id",0L); +// +// List<ProcessPermissions> processPermissionsList = processPermissionsService.selectList(new EntityWrapper<ProcessPermissions>().eq("process_memo", 5));//2锛氭牳浠锋祦绋� +// int type =0; +// for (ProcessPermissions processPermissions:processPermissionsList){ +// if (getUserId().equals(processPermissions.getUserId())){ +// type=1; +// break; +// } +// } +// if (type==0){ +// return R.error("浣犱笉鏄牳浠峰憳,鏃犳潈鎺ヤ换鍔�"); +// } +// List<Map<String, Object>> result = new ArrayList<>(); +// +// List<PriOnline2> priOnline2s = priOnline2Service.selectList(wrapper); +// for (PriOnline2 priOnline2 : priOnline2s){ +// Map<String, Object> map = new HashMap<>(); +// map.put("id", priOnline2.getId()); +// map.put("name", priOnline2.getTemplateName()+" - ID:"+priOnline2.getId()); +// result.add(map); +// } +// return R.ok(result); +// } + @RequestMapping(value = "/priOnline2/add/auth") @ManagerAuth(memo = "娣诲姞鏍镐环绠$悊") - public R add(@RequestBody Map<String,Object> map) { + public R add(@RequestBody Map<String, Object> map) { PriOnline2 priOnline2 = new PriOnline2(); priOnline2.setCreateTime(new Date()); priOnline2.setTitle(map.get("title").toString()); @@ -151,6 +244,13 @@ // Item item = itemService.selectById(priOnline.getItemId()); Plan plan = planService.selectById(priOnline2.getItemId()); User userUp = userService.selectById(plan.getUserId()); + priOnline2.setAssistantHostSign(plan.getAssistantHostSign()); + priOnline2.setAssistantPlanId(plan.getAssistantPlanId()); + priOnline2.setHostPlanId(plan.getId()); + if (plan.getAssistantHostSign()==1){ + priOnline2.setHostPlanId(plan.getHostPlanId()); + } + //涓氬姟鍛� priOnline2.setUserId(userUp.getId()); @@ -164,7 +264,7 @@ //鐘舵�侊紝鏈畬鎴� priOnline2.setStatus(0); - if (plan.getStatus()!=1){ + if (plan.getStatus() != 1) { return R.error("姝よ鍒掑崟鐘舵�佹敼鍙橈紝璇峰埛鏂伴〉闈㈤噸鏂伴�夋嫨锛�"); } priOnline2.setMemberId(getUserId()); @@ -182,18 +282,24 @@ // } // String node="2-"; -// PlanType planType = planTypeService.selectById(plan.getPlanType()); + PlanType planType = planTypeService.selectById(plan.getPlanType()); // node = node+planType.getType(); -// ProcessPermissions processPermissions = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 5).eq("process", node));//2锛氭牳浠锋祦绋� +// ProcessPermissions processPermissions = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 5).eq("process", "2-1"));//2锛氭牳浠锋祦绋� // User manager = userService.selectById(processPermissions.getUserId()); // 鑾峰彇鏍镐环娴佺▼鑺傜偣2纭浜� - // 鑾峰彇涓氬姟鍛� + // 鑾峰彇涓氬姟鍛� List<String> initNames = new ArrayList<>(); initNames.add("鎺ュ彇鏍镐环浠诲姟"); initNames.add("瀹屾垚鏍镐环"); // initNames.add("缁忕悊瀹℃牳"); initNames.add("涓氬姟鍛樼‘璁�"); - priOnline2.setSettleMsg(JSON.toJSONString(SettleDto.initSalesPricingPriOnline2(getUser(),userUp,initNames,2))); + List<User> users = new ArrayList<>(); + users.add(getUser()); + users.add(getUser()); + users.add(userUp); + priOnline2.setSettleMsg(JSON.toJSONString(SettleDto.InItFlowPath(users, initNames, users.size()))); + priOnline2.setSettleSize(users.size()); + priOnline2.setPlanId(plan.getId()); //璁剧疆椤圭洰娴佺▼ plan.setStep(2); @@ -201,12 +307,36 @@ planService.updateById(plan); priOnline2Service.insert(priOnline2); + + // 鑷姩娣诲姞璺熻繘浜� + for (User user:users){ + List<PriOnline2Foll> priOnline2Folls = priOnline2FollService.selectList(new EntityWrapper<PriOnline2Foll>().eq("pri_online2_id", plan.getId()).eq("user_id", user.getId())); + if (Cools.isEmpty(priOnline2Folls) || priOnline2Folls.size()==0){ + PriOnline2Foll priOnline2Foll = new PriOnline2Foll(); + priOnline2Foll.setPriOnline2Id(plan.getId()); + priOnline2Foll.setUserId(user.getId()); + if (!priOnline2FollService.insert(priOnline2Foll)) { + throw new CoolException("淇濆瓨澶辫触锛岃閲嶈瘯"); + } + } + } + + + if (plan.getAssistantHostSign()==1){ + Plan plan1 = planService.selectById(plan.getHostPlanId()); + plan1.setStatus2(2); + planService.updateById(plan1); + } + return R.ok(); } @RequestMapping(value = "/priOnline2/addOther/auth") @ManagerAuth(memo = "鍙﹀瓨鏍镐环绠$悊") - public R addOther(@RequestBody Map<String,Object> map) { + public R addOther(@RequestBody Map<String, Object> map) { + if (true){ + return R.error("绂佹锛�"); + } PriOnline2 online = priOnline2Service.selectById(Long.parseLong(map.get("id").toString())); PriOnline2 priOnline2 = new PriOnline2(); @@ -236,9 +366,9 @@ return R.ok(); } - @RequestMapping(value = "/priOnline2/update/auth") - @ManagerAuth(memo = "鏇存柊鏍镐环绠$悊") - public R update(@RequestBody Map<String,Object> map){ + @RequestMapping(value = "/priOnline2/update/auth") + @ManagerAuth(memo = "鏇存柊鏍镐环绠$悊") + public R update(@RequestBody Map<String, Object> map) { PriOnline2 priOnline2 = priOnline2Service.selectById(Long.parseLong(map.get("id").toString())); if (priOnline2.getStatus() == 1) { return R.error("鏍镐环宸插畬鎴愶紝绂佹淇濆瓨"); @@ -256,7 +386,7 @@ //鏇存柊鐘舵�� @RequestMapping(value = "/priOnline2/updateForm/auth") @ManagerAuth(memo = "鏇存柊鏍镐环绠$悊鐘舵��") - public R updateForm(Long id,Integer status,String title,String templateName){ + public R updateForm(Long id, Integer status, String title, String templateName) { PriOnline2 priOnline2 = priOnline2Service.selectById(id); priOnline2.setStatus(status); priOnline2.setUpdateTime(new Date()); @@ -270,7 +400,7 @@ @ManagerAuth(memo = "涓婁紶璇环鏂囦欢") public R uploadCheck(@RequestParam("id") Integer id, @RequestParam("checkData") String checkData, - @RequestParam("file") MultipartFile[] files){ + @RequestParam("file") MultipartFile[] files) { PriOnline2 priOnline2 = priOnline2Service.selectById(id); if (priOnline2.getStatus() == 1) { return R.error("鏍镐环宸插畬鎴愶紝绂佹涓婁紶"); @@ -280,7 +410,7 @@ MultipartFile file = files[0]; SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd_HHmmss"); - String path = ClassUtils.getDefaultClassLoader().getResource("excel/uploadCheckData").getPath(); + String path = ClassUtils.getDefaultClassLoader().getResource("excel/uploadCheckData").getPath(); //鏂囦欢鍚庣紑鍚� String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); //涓婁紶鏂囦欢鍚� @@ -291,7 +421,7 @@ //鏈嶅姟鍣ㄧ淇濆瓨鐨勬枃浠跺璞� File serverFile = new File(filepath); - if(!serverFile.exists()) { + if (!serverFile.exists()) { try { //鍒涘缓鏂囦欢 serverFile.createNewFile(); @@ -337,14 +467,14 @@ @RequestMapping(value = "/priOnline2/delete/auth") @ManagerAuth(memo = "鍒犻櫎鏍镐环绠$悊") - public R delete(Long[] ids){ - try{ - if (Cools.isEmpty(ids) || ids.length==0){ + public R delete(Long[] ids) { + try { + if (Cools.isEmpty(ids) || ids.length == 0) { return R.error(); } - for (Long id : ids){ - int priQuote= priQuoteService.selectCount(new EntityWrapper<PriQuote>().eq("pri_online_id", id)); - if (priQuote!=0){ + for (Long id : ids) { + int priQuote = priQuoteService.selectCount(new EntityWrapper<PriQuote>().eq("pri_online_id", id)); + if (priQuote != 0) { return R.error("瀛樺湪鍏宠仈鐨勬姤浠峰崟锛岀姝㈠垹闄わ紒锛侊紒"); } // int priSales = priSalesService.selectCount(new EntityWrapper<PriSales>().eq("pri_online2_id", id)); @@ -357,18 +487,23 @@ Plan plan = planService.selectById(priOnline2.getItemId()); plan.setStatus(1); planService.updateById(plan); + if (plan.getAssistantHostSign()==1){ + Plan planHost = planService.selectById(priOnline2.getHostPlanId()); + planHost.setStatus2(1); + planService.updateById(planHost); + } } priOnline2Service.deleteBatchIds(Arrays.asList(ids)); return R.ok(); - }catch (Exception e){ + } catch (Exception e) { return R.error(e.getMessage()); } } @RequestMapping(value = "/priOnline2/export/auth") @ManagerAuth - public R export(@RequestBody JSONObject param){ + public R export(@RequestBody JSONObject param) { EntityWrapper<PriOnline2> wrapper = new EntityWrapper<>(); List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); Map<String, Object> map = excludeTrash(param.getJSONObject("priOnline")); @@ -385,7 +520,7 @@ wrapper.in("user_id", getUserRoleBelongsToUserId("allopen")); Page<PriOnline2> page = priOnline2Service.selectPage(new Page<>(0, 10), wrapper); List<Map<String, Object>> result = new ArrayList<>(); - for (PriOnline2 priOnline2 : page.getRecords()){ + for (PriOnline2 priOnline2 : page.getRecords()) { Map<String, Object> map = new HashMap<>(); map.put("id", priOnline2.getId()); // map.put("value", priOnline2.getOrderNum() + "/" + priOnline2.getPlanId$() + "/" + priOnline2.getMemberId$()); @@ -403,7 +538,7 @@ wrapper.in("user_id", getUserRoleBelongsToUserId("allopen")); Page<PriOnline2> page = priOnline2Service.selectPage(new Page<>(0, 10), wrapper); List<Map<String, Object>> result = new ArrayList<>(); - for (PriOnline2 priOnline2 : page.getRecords()){ + for (PriOnline2 priOnline2 : page.getRecords()) { Map<String, Object> map = new HashMap<>(); map.put("id", priOnline2.getId()); // map.put("value", priOnline2.getOrderNum() + "/" + priOnline2.getPlanId$() + "/" + priOnline2.getMemberId$()); @@ -419,7 +554,7 @@ @ManagerAuth public R query(@RequestBody JSONObject param) { Wrapper<PriOnline2> wrapper = new EntityWrapper<PriOnline2>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); - if (null != priOnline2Service.selectOne(wrapper)){ + if (null != priOnline2Service.selectOne(wrapper)) { return R.parse(BaseRes.REPEAT).add(getComment(PriOnline2.class, String.valueOf(param.get("key")))); } return R.ok(); @@ -442,26 +577,26 @@ Date now = new Date(); Long memberId = priOnline2.getMemberId(); User member = userService.selectById(memberId); - if (!member.getId().equals(getUserId())){ + if (!member.getId().equals(getUserId())) { return R.error("鎶辨瓑锛屾偍娌℃湁瀹℃牳鐨勬潈闄�"); } List<SettleDto> planDtos = JSON.parseArray(priOnline2.getSettleMsg(), SettleDto.class); List<SettleDto> planDtoList = new ArrayList<>(); boolean sign = true; for (SettleDto dto : planDtos) { - if (dto.getStep().equals(1)){ + if (dto.getStep().equals(1)) { priOnline2.setMemberId(dto.getUserId()); } - if (sign && dto.getUserId().equals(memberId) && priOnline2.getSettle()+1==dto.getStep()){ - if (Cools.isEmpty(dto.getMsg())){ - dto.setMsg(DateUtils.convert(now)+" "+member.getNickname()+"鍥為��瀹℃壒"); - }else { - dto.setMsg(dto.getMsg()+PZH+DateUtils.convert(now)+" "+member.getNickname()+"鍥為��瀹℃壒"); + if (sign && dto.getUserId().equals(memberId) && priOnline2.getSettle() + 1 == dto.getStep()) { + if (Cools.isEmpty(dto.getMsg())) { + dto.setMsg(DateUtils.convert(now) + " " + member.getNickname() + "鍥為��瀹℃壒"); + } else { + dto.setMsg(dto.getMsg() + PZH + DateUtils.convert(now) + " " + member.getNickname() + "鍥為��瀹℃壒"); } sign = false; } - if (sign){ - dto.setMsg(dto.getMsg()+PZH+DateUtils.convert(now)+" "+member.getNickname()+"鍥為��瀹℃壒"); + if (sign) { + dto.setMsg(dto.getMsg() + PZH + DateUtils.convert(now) + " " + member.getNickname() + "鍥為��瀹℃壒"); } planDtoList.add(dto); @@ -479,161 +614,89 @@ @PostMapping(value = "/priOnline2/approval/auth") @ManagerAuth public R approvalBusinessTrip(@RequestParam Long priOnlineId, - @RequestParam(required = false) Long plannerId){ + @RequestParam(required = false) Long plannerId) { PriOnline2 priOnline2 = priOnline2Service.selectById(priOnlineId); assert priOnline2 != null; Date now = new Date(); - switch (priOnline2.getSettle()) { - case 0: - // 鏈儴闂ㄧ粡鐞嗗鏍� 鑺傜偣璐熻矗浜� - User user = userService.selectById(priOnline2.getMemberId()); + Long nextUserId = getUserId(); + User user = new User(); + List<SettleDto> list = new ArrayList<>(); - Plan plan1 = planService.selectById(priOnline2.getItemId()); -// PlanType planType1 = planTypeService.selectById(plan1.getPlanType()); -// -// ProcessPermissions processPermissions1 = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 5).eq("process", "2-"+planType1.getType()));//2锛氭牳浠锋祦绋� -// User manager1 = userService.selectById(processPermissions1.getUserId()); // 鑾峰彇鎶ヤ环娴佺▼鑺傜偣2纭浜� + user = userService.selectById(priOnline2.getMemberId()); - if (Cools.isEmpty(getUser())) { - return R.error("鎶辨瓑锛屾偍娌℃湁鎻愪氦鐨勬潈闄�"); - } - if (!getUserId().equals(user.getId())) { - return R.error("鎶辨瓑锛屾偍娌℃湁鎻愪氦鐨勬潈闄�"); - } - // 淇敼 settle 姝ラ鏁版嵁 - List<SettleDto> list1 = JSON.parseArray(priOnline2.getSettleMsg(), SettleDto.class); - for (SettleDto dto : list1) { - switch (dto.getStep()) { - case 0: - dto.setCurr(Boolean.FALSE); - break; - case 1: - dto.setCurr(Boolean.TRUE); - if (Cools.isEmpty(dto.getMsg())){ - dto.setMsg(user.getNickname() + "鎻愪氦瀹屾垚"); - }else { - dto.setMsg(dto.getMsg()+PZH+DateUtils.convert(new Date())+" " + user.getNickname() + "鎻愪氦瀹屾垚"); - } - dto.setTime(DateUtils.convert(now)); - break; - default: - break; - } - } - priOnline2.setSettleMsg(JSON.toJSONString(list1)); - // 淇敼瑙勫垝鍗曠姸鎬� - priOnline2.setSettle(1); - priOnline2.setUpdateUserId(getUserId()); - priOnline2.setUpdateTime(now); - priOnline2.setMemberId(plan1.getUserId()); + if (Cools.isEmpty(getUser()) || Cools.isEmpty(user)){ + return R.error("鎶辨瓑锛屾偍鏃犻渶纭锛侊紒锛�"); + } - if (!priOnline2Service.updateById(priOnline2)) { - throw new CoolException("鎻愪氦澶辫触锛岃鑱旂郴绠$悊鍛�"); + if (!getUserId().equals(user.getId())) { + return R.error("鎶辨瓑锛屾偍鏃犻渶纭锛侊紒锛�"); + } + // 淇敼 settle 姝ラ鏁版嵁 + list = JSON.parseArray(priOnline2.getSettleMsg(), SettleDto.class); + for (SettleDto dto : list) { + if (dto.getStep().equals(priOnline2.getSettle())) { + dto.setCurr(Boolean.TRUE); + } else if (dto.getStep().equals(priOnline2.getSettle() + 1)) { + dto.setCurr(Boolean.TRUE); + if (Cools.isEmpty(dto.getMsg())) { + dto.setMsg(user.getNickname() + "瀹℃壒閫氳繃"); + } else { + dto.setMsg(dto.getMsg() + PZH + DateUtils.convert(new Date()) + " " + user.getNickname() + "瀹℃壒閫氳繃"); } - break; -// case 1: -// // 鏈儴闂ㄧ粡鐞嗗鏍� 鑺傜偣璐熻矗浜� -// Plan plan = planService.selectById(priOnline2.getItemId()); -// PlanType planType = planTypeService.selectById(plan.getPlanType()); -// -// ProcessPermissions processPermissions = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 5).eq("process", "2-"+planType.getType()));//2锛氭姤浠锋祦绋� -// User manager = userService.selectById(processPermissions.getUserId()); // 鑾峰彇鎶ヤ环娴佺▼鑺傜偣2纭浜� -// -//// User manager = new User(); -//// try{ -//// manager = userService.getDeptManager(getHostId(), getUser().getDeptId()); // 鑾峰彇閮ㄩ棬棰嗗 -//// }catch (Exception e){ -//// manager = user; -//// } -// if (manager.getId().equals(getUserId())) { -// -// // 淇敼 settle 姝ラ鏁版嵁 -// List<SettleDto> list = JSON.parseArray(priOnline2.getSettleMsg(), SettleDto.class); -// for (SettleDto dto : list) { -// switch (dto.getStep()) { -// case 1: -// dto.setCurr(Boolean.FALSE); -// break; -// case 2: -// dto.setCurr(Boolean.TRUE); -// if (Cools.isEmpty(dto.getMsg())){ -// dto.setMsg(manager.getNickname() + "瀹℃壒閫氳繃"); -// }else { -// dto.setMsg(dto.getMsg()+PZH+DateUtils.convert(new Date())+" " + manager.getNickname() + "瀹℃壒閫氳繃"); -// } -// dto.setTime(DateUtils.convert(now)); -// break; -// default: -// break; -// } -// } -// priOnline2.setSettleMsg(JSON.toJSONString(list)); -// -// // 淇敼瑙勫垝鍗曠姸鎬� -// priOnline2.setSettle(2); // 鐢宠閫氳繃 -// priOnline2.setUpdateTime(now); -// priOnline2.setUpdateUserId(getUserId()); -// priOnline2.setMemberId(plan.getUserId()); -// if (!priOnline2Service.updateById(priOnline2)) { -// throw new CoolException("瀹℃牳澶辫触锛岃鑱旂郴绠$悊鍛�"); -// } -// } else { -// return R.error("鎶辨瓑锛屾偍娌℃湁瀹℃牳鐨勬潈闄愶紒锛侊紒"); -// } -// break; - case 1: - // 涓氬姟鍛� - User salesman0 = userService.selectById(priOnline2.getUserId()); - if (!getUserId().equals(salesman0.getId())) { - return R.error("鎶辨瓑锛屾偍鏃犻渶纭锛侊紒锛�"); + dto.setTime(DateUtils.convert(new Date())); + } else if (dto.getStep().equals(priOnline2.getSettle() + 2)) { + if (Cools.isEmpty(dto.getUserId())){ + nextUserId= 0L; + }else { + nextUserId=dto.getUserId(); } - // 淇敼 settle 姝ラ鏁版嵁 - List<SettleDto> list2 = JSON.parseArray(priOnline2.getSettleMsg(), SettleDto.class); - for (SettleDto dto : list2) { - switch (dto.getStep()) { - case 1: - dto.setCurr(Boolean.TRUE); - break; - case 2: - dto.setCurr(Boolean.TRUE); - 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: - break; - } - } - priOnline2.setSettleMsg(JSON.toJSONString(list2)); - // 淇敼瑙勫垝鍗曠姸鎬� - priOnline2.setSettle(2); // 瀹℃壒閫氳繃 - priOnline2.setStatus(1); - priOnline2.setUpdateTime(new Date()); - priOnline2.setUpdateUserId(getUserId()); + } + } + priOnline2.setSettleMsg(JSON.toJSONString(list)); + // 淇敼瑙勫垝鍗曠姸鎬� + priOnline2.setSettle(priOnline2.getSettle() + 1); // 瀹℃壒閫氳繃 + if (user.getId().equals(priOnline2.getUserId())) { + priOnline2.setStatus(1); + } + priOnline2.setUpdateTime(now); + priOnline2.setUpdateUserId(getUserId()); + priOnline2.setMemberId(nextUserId); - if (!priOnline2Service.updateById(priOnline2)) { - throw new CoolException("纭澶辫触锛岃鑱旂郴绠$悊鍛�"); - } - try{ - priQuoteAdd(priOnline2.getId(),plannerId); - }catch (Exception e){ + if (!priOnline2Service.updateById(priOnline2)) { + throw new CoolException("纭澶辫触锛岃鑱旂郴绠$悊鍛�"); + } + + Plan plan = planService.selectById(priOnline2.getItemId()); + plan.setStatus(3); + planService.selectById(plan); + + if (user.getId().equals(priOnline2.getUserId())) { + if (priOnline2.getAssistantHostSign()==0){ + try { + priQuoteAdd(priOnline2.getId(), plannerId); + } catch (Exception e) { return R.error("鑷姩鐢熸垚鎶ヤ环鍗曞け璐�"); } - break; - default: - return R.error(); + }else { + try { + Plan planHost = planService.selectById(priOnline2.getHostPlanId()); + planHost.setStatus2(3); + planService.selectById(planHost); + } catch (Exception e) { + return R.error("鏇存柊涓昏〃澶辫触"); + } + } + } + return R.ok("瀹℃壒鎴愬姛"); } - public void priQuoteAdd(Long priOnlineId,Long priType){ + public void priQuoteAdd(Long priOnlineId, Long priType) { Pri pri = null; - if (priType==1L){ + if (priType == 1L) { pri = priService.selectById(114); - }else { + } else { pri = priService.selectById(115); } @@ -670,16 +733,16 @@ // priQuote.setForm(JSON.toJSONString(map)); // 鑷畾涔夎〃鍗曞唴瀹� priQuote.setSettle(1); // 1.寮�濮� User manager = new User(); - try{ + try { manager = userService.getDeptManager(getHostId(), getUser().getDeptId()); // 鑾峰彇閮ㄩ棬棰嗗 - }catch (Exception e){ + } catch (Exception e) { manager = getUser(); } priQuote.setMemberId(manager.getId()); ProcessPermissions processPermissions = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 2).eq("process", "3-1"));//2锛氭姤浠锋祦绋� User president = userService.selectById(processPermissions.getUserId()); // 鑾峰彇鎶ヤ环娴佺▼鑺傜偣3-1纭浜� - priQuote.setSettleMsg(JSON.toJSONString(SettleDto.initPriQuote(plan, manager,president,getUser()))); + priQuote.setSettleMsg(JSON.toJSONString(SettleDto.initPriQuote(plan, manager, president, getUser()))); planService.updateById(plan); @@ -688,7 +751,7 @@ @PostMapping(value = "/priOnline2/priQuoteAdd/list/auth") @ManagerAuth - public R priOnline2priQuoteAdd(@RequestParam Long planId){ + public R priOnline2priQuoteAdd(@RequestParam Long planId) { List<KeyValueVo> vos = new ArrayList<>(); vos.add(new KeyValueVo("鎶ヤ环妯℃澘1", 1L)); vos.add(new KeyValueVo("鎶ヤ环妯℃澘2", 2L)); -- Gitblit v1.9.1