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