From becc16e36e8fdad39eb32661acb73375c6cbdfb4 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期日, 30 三月 2025 18:00:45 +0800
Subject: [PATCH] 工作单支持多图片

---
 service-oa/src/main/java/com/java110/oa/cmd/work/ListWorkTaskItemCmd.java |   72 ++++++++++++++++++++++++++---------
 1 files changed, 53 insertions(+), 19 deletions(-)

diff --git a/service-oa/src/main/java/com/java110/oa/cmd/work/ListWorkTaskItemCmd.java b/service-oa/src/main/java/com/java110/oa/cmd/work/ListWorkTaskItemCmd.java
index 8ece285..12d1741 100644
--- a/service-oa/src/main/java/com/java110/oa/cmd/work/ListWorkTaskItemCmd.java
+++ b/service-oa/src/main/java/com/java110/oa/cmd/work/ListWorkTaskItemCmd.java
@@ -21,17 +21,21 @@
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.dto.work.WorkPoolFileDto;
+import com.java110.intf.oa.IWorkPoolFileV1InnerServiceSMO;
 import com.java110.intf.oa.IWorkTaskItemV1InnerServiceSMO;
 import com.java110.utils.cache.MappingCache;
 import com.java110.utils.constant.MappingConstant;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.ListUtil;
 import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import com.java110.dto.work.WorkTaskItemDto;
+
 import java.util.List;
 import java.util.ArrayList;
+
 import org.springframework.http.ResponseEntity;
 import org.springframework.http.HttpStatus;
 import org.slf4j.Logger;
@@ -51,9 +55,12 @@
 @Java110Cmd(serviceCode = "task.listWorkTaskItem")
 public class ListWorkTaskItemCmd extends Cmd {
 
-  private static Logger logger = LoggerFactory.getLogger(ListWorkTaskItemCmd.class);
+    private static Logger logger = LoggerFactory.getLogger(ListWorkTaskItemCmd.class);
     @Autowired
     private IWorkTaskItemV1InnerServiceSMO workTaskItemV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IWorkPoolFileV1InnerServiceSMO workPoolFileV1InnerServiceSMOImpl;
 
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
@@ -64,31 +71,58 @@
     @Override
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
 
-           WorkTaskItemDto workTaskItemDto = BeanConvertUtil.covertBean(reqJson, WorkTaskItemDto.class);
+        WorkTaskItemDto workTaskItemDto = BeanConvertUtil.covertBean(reqJson, WorkTaskItemDto.class);
 
-           int count = workTaskItemV1InnerServiceSMOImpl.queryWorkTaskItemsCount(workTaskItemDto);
+        int count = workTaskItemV1InnerServiceSMOImpl.queryWorkTaskItemsCount(workTaskItemDto);
 
-           List<WorkTaskItemDto> workTaskItemDtos = null;
+        List<WorkTaskItemDto> workTaskItemDtos = null;
 
-           if (count > 0) {
-               workTaskItemDtos = workTaskItemV1InnerServiceSMOImpl.queryWorkTaskItems(workTaskItemDto);
-               String imgUrl = MappingCache.getValue(MappingConstant.FILE_DOMAIN, "IMG_PATH");
+        if (count > 0) {
+            workTaskItemDtos = workTaskItemV1InnerServiceSMOImpl.queryWorkTaskItems(workTaskItemDto);
 
-               for (WorkTaskItemDto tmpWorkTaskItemDto : workTaskItemDtos) {
-                   if(StringUtil.isEmpty(tmpWorkTaskItemDto.getPathUrl())){
-                       continue;
-                   }
-                   tmpWorkTaskItemDto.setPathUrl(imgUrl + tmpWorkTaskItemDto.getPathUrl());
-               }
+            queryTaskFile(workTaskItemDtos);
 
-           } else {
-               workTaskItemDtos = new ArrayList<>();
-           }
+        } else {
+            workTaskItemDtos = new ArrayList<>();
+        }
 
-           ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, workTaskItemDtos);
+        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, workTaskItemDtos);
 
-           ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
 
-           cmdDataFlowContext.setResponseEntity(responseEntity);
+        cmdDataFlowContext.setResponseEntity(responseEntity);
     }
+
+    private void queryTaskFile(List<WorkTaskItemDto> workTaskItemDtos) {
+        if (ListUtil.isNull(workTaskItemDtos)) {
+            return;
+        }
+        List<String> itemIds = new ArrayList<>();
+        for (WorkTaskItemDto workTaskItemDto : workTaskItemDtos) {
+            itemIds.add(workTaskItemDto.getItemId());
+        }
+
+        WorkPoolFileDto workPoolFileDto = new WorkPoolFileDto();
+        workPoolFileDto.setFileType(WorkPoolFileDto.FILE_TYPE_END);
+        workPoolFileDto.setItemIds(itemIds.toArray(new String[itemIds.size()]));
+        List<WorkPoolFileDto> workPoolFileDtos = workPoolFileV1InnerServiceSMOImpl.queryWorkPoolFiles(workPoolFileDto);
+        if (ListUtil.isNull(workPoolFileDtos)) {
+            return;
+        }
+        List<String> pathUrls = null;
+        String imgUrl = MappingCache.getValue(MappingConstant.FILE_DOMAIN, "IMG_PATH");
+
+        for (WorkTaskItemDto workTaskItemDto : workTaskItemDtos) {
+            pathUrls = new ArrayList<>();
+            for (WorkPoolFileDto tWorkPoolFileDto : workPoolFileDtos) {
+                if (!workTaskItemDto.getItemId().equals(tWorkPoolFileDto.getItemId())) {
+                    continue;
+                }
+                pathUrls.add(imgUrl + tWorkPoolFileDto.getPathUrl());
+            }
+            workTaskItemDto.setPathUrls(pathUrls);
+        }
+    }
+
+
 }

--
Gitblit v1.8.0