From ac30fef411f7e61a9c4bbedaf338fbf26396cd2e Mon Sep 17 00:00:00 2001 From: whycxzp <glperry@163.com> Date: 星期四, 26 六月 2025 20:29:51 +0800 Subject: [PATCH] 工单审批完善 --- src/main/java/com/whyc/pojo/web_site/WorkflowMain.java | 13 ++---- src/main/java/com/whyc/service/WorkflowMainService.java | 63 +++++++++++++++++++++++++++++++ src/main/java/com/whyc/controller/WorkflowMainController.java | 7 ++- 3 files changed, 70 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/whyc/controller/WorkflowMainController.java b/src/main/java/com/whyc/controller/WorkflowMainController.java index 8e47704..6049e98 100644 --- a/src/main/java/com/whyc/controller/WorkflowMainController.java +++ b/src/main/java/com/whyc/controller/WorkflowMainController.java @@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import java.io.IOException; import java.util.List; import java.util.Map; @@ -32,10 +33,10 @@ return service.submit(main); }*/ @PostMapping("submit") - @ApiOperation(value = "鎻愪氦鍗曟嵁", notes = "浼犲弬:taskDesc,mainType,mainTypeCN,mainTypeEn,dealRoleId,processLevel") - public Response<Integer> submit(@RequestParam String mainJsonStr, @RequestPart List<MultipartFile> fileList, @RequestPart List<MultipartFile> picList){ + @ApiOperation(value = "鎻愪氦鍗曟嵁", notes = "") + public Response<Integer> submit(@RequestParam String mainJsonStr, @RequestPart(required = false) List<MultipartFile> fileList, @RequestPart(required = false) List<MultipartFile> picList) throws IOException { WorkflowMain main = JsonUtil.getGson().fromJson(mainJsonStr, WorkflowMain.class); - return service.submit(main); + return service.submit(main,fileList,picList); } diff --git a/src/main/java/com/whyc/pojo/web_site/WorkflowMain.java b/src/main/java/com/whyc/pojo/web_site/WorkflowMain.java index 9e2dc09..ace8692 100644 --- a/src/main/java/com/whyc/pojo/web_site/WorkflowMain.java +++ b/src/main/java/com/whyc/pojo/web_site/WorkflowMain.java @@ -69,16 +69,16 @@ @ApiModelProperty("宸ュ崟鐘舵��") private Integer status; /**闄勪欢鍚嶇О*/ - @ApiModelProperty("闄勪欢鍚嶇О") + @ApiModelProperty("闄勪欢鍚嶇О,澶氫釜鐢ㄩ�楀彿闅斿紑") private String fileName; /**闄勪欢鍦板潃*/ - @ApiModelProperty("闄勪欢鍦板潃") + @ApiModelProperty("闄勪欢鍦板潃,澶氫釜鐢ㄩ�楀彿闅斿紑") private String fileUrl; /**鍥剧墖鍚嶇О*/ - @ApiModelProperty("鍥剧墖鍚嶇О") + @ApiModelProperty("鍥剧墖鍚嶇О,澶氫釜鐢ㄩ�楀彿闅斿紑") private String picName; /**鍥剧墖鍦板潃*/ - @ApiModelProperty("鍥剧墖鍦板潃") + @ApiModelProperty("鍥剧墖鍦板潃,澶氫釜鐢ㄩ�楀彿闅斿紑") private String picUrl; /**褰掓。鎰忚*/ @ApiModelProperty("褰掓。鎰忚") @@ -103,9 +103,4 @@ @TableField(exist = false) private List<WorkflowDevice> deviceList; - @TableField(exist = false) - private List<MultipartFile> fileList; - - @TableField(exist = false) - private List<MultipartFile> picList; } diff --git a/src/main/java/com/whyc/service/WorkflowMainService.java b/src/main/java/com/whyc/service/WorkflowMainService.java index bed00c2..8f5a728 100644 --- a/src/main/java/com/whyc/service/WorkflowMainService.java +++ b/src/main/java/com/whyc/service/WorkflowMainService.java @@ -20,9 +20,12 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.ServletContext; +import java.io.File; +import java.io.IOException; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -244,7 +247,7 @@ */ @Transactional - public Response submit(WorkflowMain main){ + public Response submit(WorkflowMain main, List<MultipartFile> fileList, List<MultipartFile> picList) throws IOException { //1.鎻愪氦鍒板崟鎹鎵规祦绋� //濡傛灉瀛樺湪鍏宠仈鍗曟嵁id,棣栧厛鏍¢獙鎻愪氦鐨勬暟閲� Date now = new Date(); @@ -299,6 +302,64 @@ deviceList.get(i).setQuantityUnprocessed(deviceList.get(i).getQuantity()); } } + //濡傛灉瀛樺湪闄勪欢鍜屽浘鐗�,鍒欏瓨鍏ュ搴斿瓧娈� + //瀵瑰瓨鍌ㄨ矾寰勮繘琛屽畾涔� + String timeFormat = ThreadLocalUtil.format(ThreadLocalUtil.TIME_YYYY_MM_DD_HH_MM_SS_UNION, now); + String dirMonth = ThreadLocalUtil.format(ThreadLocalUtil.TIME_YYYY_MM, now); + String fileDirPath = CommonUtil.getRootFile() + "workflow" + File.separator + dirMonth; + File fileDir = new File(fileDirPath); + //濡傛灉鏂囦欢澶逛笉瀛樺湪鍒欏垱寤� + if (!fileDir.exists()) { + fileDir.mkdirs(); + } + StringBuilder fileUrlSb = new StringBuilder(); + StringBuilder fileNameSb = new StringBuilder(); + if (fileList != null && fileList.size() > 0) { + for (int i = 0; i < fileList.size(); i++) { + MultipartFile multipartFile = fileList.get(i); + String fileName = multipartFile.getOriginalFilename(); + //灏唂ileName涓彲鑳藉瓨鍦ㄧ殑,鍘绘帀 + fileName = fileName.replace(",",""); + String filePath = fileDirPath + File.separator + timeFormat+"_"+fileName; + + multipartFile.transferTo(new File(filePath)); + String split = "pis_file"+File.separator+"workflow"; + String fileUrl = File.separator + filePath.substring(filePath.indexOf(split)); + if(i == fileList.size()-1) { + fileUrlSb.append(fileUrl); + fileNameSb.append(fileName); + }else { + fileUrlSb.append(fileUrl).append(","); + fileNameSb.append(fileName).append(","); + } + } + } + main.setFileUrl(fileUrlSb.toString()); + main.setFileName(fileNameSb.toString()); + + StringBuilder picUrlSb = new StringBuilder(); + StringBuilder picNameSb = new StringBuilder(); + if (picList != null && picList.size() > 0) { + for (int i = 0; i < picList.size(); i++) { + MultipartFile multipartFile = picList.get(i); + String picName = multipartFile.getOriginalFilename(); + //灏唒icName涓彲鑳藉瓨鍦ㄧ殑,鍘绘帀 + picName = picName.replace(",",""); + String picPath = fileDirPath + File.separator + picName; + multipartFile.transferTo(new File(picPath)); + String split = "pis_file"+File.separator+"workflow"; + String picUrl = File.separator + picPath.substring(picPath.indexOf(split)); + if(i == picList.size()-1) { + picUrlSb.append(picUrl); + picNameSb.append(picName); + }else { + picUrlSb.append(picUrl).append(","); + picNameSb.append(picName).append(","); + } + } + } + main.setPicUrl(picUrlSb.toString()); + main.setPicName(picNameSb.toString()); add(main); //涓昏〃鍏宠仈鐨勭墿鏂欐彃鍏� for (WorkflowDevice device : deviceList) { -- Gitblit v1.9.1