From 7e408b4de778506c1544fa8f34ff289dd8b8c8df Mon Sep 17 00:00:00 2001 From: LSH Date: 星期二, 26 三月 2024 15:27:25 +0800 Subject: [PATCH] #完善工具类 --- src/main/java/com/zy/crm/manager/controller/ContractController.java | 81 +++++++++++++++++++++++----------------- 1 files changed, 47 insertions(+), 34 deletions(-) diff --git a/src/main/java/com/zy/crm/manager/controller/ContractController.java b/src/main/java/com/zy/crm/manager/controller/ContractController.java index 9faf5ca..4a81066 100644 --- a/src/main/java/com/zy/crm/manager/controller/ContractController.java +++ b/src/main/java/com/zy/crm/manager/controller/ContractController.java @@ -1,7 +1,6 @@ package com.zy.crm.manager.controller; import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; @@ -26,16 +25,12 @@ import com.zy.crm.system.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.io.InputStreamResource; -import org.springframework.http.HttpHeaders; -import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.util.ClassUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.IOException; +import java.io.*; import java.text.SimpleDateFormat; import java.util.*; @@ -53,7 +48,7 @@ @Autowired private ProcessPermissionsService processPermissionsService; - @RequestMapping(value = "/contract/{id}/auth") + @RequestMapping(value = "/contract/{id}/auth2") @ManagerAuth public R get(@PathVariable("id") String id) { Contract contract = contractService.selectById(String.valueOf(id)); @@ -110,10 +105,16 @@ } } if (!signUserId && !signDeptId){ - wrapper.eq("user_id", getUserId()); + if (getRole().getId()==1){ + wrapper.or().eq("host_id",getHostId()); + }else if (getRole().getId()==2){ + wrapper.eq("dept_id",getDeptId()); + }else { + wrapper.eq("user_id", getUserId()); + } } if (signHostId){ - wrapper.or().eq("host_id",1); + wrapper.or().eq("host_id",getHostId()); } } @@ -126,16 +127,22 @@ contract.setDeptId(getDeptId()); contract.setCreateTime(now); - contract.setSettle(0); + contract.setSettle(1); - User manager = userService.getDeptManager(getHostId(), getUser().getDeptId()); // 鑾峰彇閮ㄩ棬棰嗗 + User manager = new User(); + try{ + manager = userService.getDeptManager(getHostId(), getUser().getDeptId()); // 鑾峰彇閮ㄩ棬棰嗗 + }catch (Exception e){ + manager = getUser(); + } + contract.setDirector(manager.getId()); List<String> initNames = new ArrayList<>(); - initNames.add("鍒涘缓浜у搧璐圭敤鏄庣粏妯℃澘"); - initNames.add("鎻愪氦浜у搧璐圭敤鏄庣粏"); + initNames.add("鍒涘缓鍚堝悓妯℃澘"); + initNames.add("鎻愪氦鍚堝悓"); initNames.add("閮ㄩ棬缁忕悊瀹℃牳"); ProcessPermissions processPermissions = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 7).eq("process", "3-1" ));//7锛氬悎鍚岀鐞� User president = userService.selectById(processPermissions.getUserId()); - initNames.add("鎬昏鍔�"+president.getNickname()+"瀹℃牳"); + initNames.add("鎬荤粡鍔�"+president.getNickname()+"瀹℃牳"); initNames.add("涓氬姟鍛樼‘璁�"); contract.setSettleMsg(JSON.toJSONString(SettleDto.initContract(manager,getUser(),president,initNames,4))); @@ -239,7 +246,11 @@ /////////////////////////鐢熸垚Tab琛ㄦ牸鏁版嵁///////////////////////// String fileName = this.getClass().getClassLoader().getResource("contractTemplate/" + contractTemplate + ".docx").getPath();//鑾峰彇鏂囦欢璺緞 - return WordUtils.generate(fileName, map, tabParam); + +// String outPdfPath = fileName.split("\\.")[0]+".pdf"; + ResponseEntity<InputStreamResource> generate = WordUtils.generate(fileName, map, tabParam); +// WordUtils.documents4jWordToPdf(fileName,outPdfPath); + return generate; } catch (Exception e) { return null; } @@ -260,7 +271,7 @@ //鏂囦欢鍚庣紑鍚� String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); //涓婁紶鏂囦欢鍚� - String filename = format.format(new Date()) + suffix; + String filename = format.format(new Date()) + "_" + file.getOriginalFilename(); //鏈�缁堟枃浠惰矾寰� String filepath = path + "/" + filename; //OSS鏂囦欢瀛樺偍璺緞 @@ -288,20 +299,17 @@ @RequestMapping(value = "/contract/download/auth") @ManagerAuth(memo = "涓嬭浇鍚堝悓") - public ResponseEntity<InputStreamResource> download(@RequestParam("id") Integer id) { + public R download(@RequestParam("id") Integer id) { Contract contract = contractService.selectById(id); if (contract == null) { - return null; + return R.error(); } if (Cools.isEmpty(contract.getFilepath())) { - return null; + return R.error(); } - try { - return ossService.downloadFile(contract.getFilepath());//浠嶰SS涓笅杞芥枃浠� - } catch (Exception e) { - return null; - } + String download = ossService.download(contract.getFilepath());//鑾峰彇OSS涓存椂涓嬭浇URL + return R.ok().add(download); } @RequestMapping(value = "/contract/export/auth") @@ -350,18 +358,15 @@ return R.ok().add(vos); } - @PostMapping(value = "/contracr/approval/auth") + @PostMapping(value = "/contract/approval/auth") @ManagerAuth - public R approvalBusinessTrip(@RequestParam Long contracrId, + public R approvalBusinessTrip(@RequestParam Long contractId, @RequestParam(required = false) Long plannerId){ - Contract contract = contractService.selectById(contracrId); + Contract contract = contractService.selectById(contractId); assert contract != null; Date now = new Date(); switch (contract.getSettle()) { case 0: - User user2 = userService.selectById(contract.getUserId()); - User manager1 = userService.getDeptManager(getHostId(), user2.getDeptId()); - if (Cools.isEmpty(getUser())) { return R.error("鎶辨瓑锛屾偍娌℃湁鎻愪氦鐨勬潈闄�"); } @@ -380,6 +385,9 @@ dto.setMsg(getUser().getNickname() + "鎻愪氦瀹屾垚"); dto.setTime(DateUtils.convert(now)); break; + case 2: + contract.setDirector(dto.getUserId()); + break; default: break; } @@ -395,8 +403,8 @@ break; case 1: // 鏈儴闂ㄧ粡鐞嗗鏍� - User user = userService.selectById(contract.getUserId()); - User manager = userService.getDeptManager(getHostId(), user.getDeptId()); + User manager = userService.selectById(contract.getDirector()); + if (manager.getId().equals(getUserId())) { // 淇敼 settle 姝ラ鏁版嵁 @@ -410,6 +418,9 @@ dto.setCurr(Boolean.TRUE); dto.setMsg("閮ㄩ棬缁忕悊" + manager.getNickname() + "瀹℃壒閫氳繃"); dto.setTime(DateUtils.convert(now)); + break; + case 3: + contract.setDirector(dto.getUserId()); break; default: break; @@ -428,8 +439,7 @@ } break; case 2: - ProcessPermissions processPermissions = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 7).eq("process", "3-1"));//3锛氭姤閿�娴佺▼ - User planLeader = userService.selectById(processPermissions.getUserId()); // 鑾峰彇鍚堝悓绠$悊娴佺▼鑺傜偣纭浜� + User planLeader = userService.selectById(contract.getDirector()); if (planLeader.getId().equals(getUserId())) { @@ -445,6 +455,9 @@ dto.setMsg("鎬昏鍔�" + planLeader.getNickname() + "瀹℃壒閫氳繃"); dto.setTime(DateUtils.convert(now)); break; + case 4: + contract.setDirector(dto.getUserId()); + break; default: break; } -- Gitblit v1.9.1