From cdf29a8f6fb9990f82ccc1d3f47bfba48cfaf4fc Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期三, 10 一月 2024 17:24:53 +0800 Subject: [PATCH] 修改 --- modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/service/TestCheckOrderService.java | 106 ++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 97 insertions(+), 9 deletions(-) diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/service/TestCheckOrderService.java b/modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/service/TestCheckOrderService.java index 3f0dff6..c1d3206 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/service/TestCheckOrderService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/service/TestCheckOrderService.java @@ -1,6 +1,9 @@ package com.zt.life.modules.testCheckOrder.service; +import cn.hutool.core.convert.Convert; import com.zt.common.service.BaseService; +import com.zt.life.export.dto.WordFile; +import com.zt.life.export.service.WordFileService; import com.zt.life.modules.configItemWarehouse.dto.ConfigItemWarehouseDto; import com.zt.life.modules.configItemWarehouse.model.WarehouseCmAudit; import com.zt.life.modules.configItemWarehouse.model.WarehouseConfigItem; @@ -8,6 +11,8 @@ import com.zt.life.modules.itemCirculatOrder.dto.ItemCirculatOrderDto; import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrder; import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrderTechnical; +import com.zt.life.modules.mainPart.utils.GetFilesPath; +import com.zt.life.modules.mainPart.utils.GetShowDictList; import com.zt.life.modules.project.model.Project; import com.zt.life.modules.project.service.ProjectService; import com.zt.life.modules.testCheckOrder.dao.TestCheckOrderDao; @@ -17,10 +22,16 @@ import com.zt.life.sys.dto.OssDto; import com.zt.modules.coderule.service.SysCodeRuleService; import com.zt.modules.workflow.dto.FlowInfoDto; +import com.zt.modules.workflow.service.WorkflowService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.zt.common.db.query.QueryFilter; + import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.FileNotFoundException; +import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -30,11 +41,11 @@ /** * test_check_order * - * @author zt generator + * @author zt generator * @since 1.0.0 2023-12-05 */ @Service -public class TestCheckOrderService extends BaseService<TestCheckOrderDao, TestCheckOrder> { +public class TestCheckOrderService extends BaseService<TestCheckOrderDao, TestCheckOrder> { @Autowired private TestCheckOrderListService checkOrderListService; @@ -42,7 +53,19 @@ private ProjectService projectService; @Autowired + private GetShowDictList getShowDictList; + + @Autowired private SysCodeRuleService sysCodeRuleService; + + @Autowired + private WorkflowService workflowService; + + @Autowired + private GetFilesPath getFilesPath; + + @Autowired + private WordFileService wordFileService; /** @@ -52,7 +75,11 @@ * @return */ public List<TestCheckOrder> page(QueryFilter queryFilter) { - return baseDao.getList(queryFilter.getQueryParams()); + List<TestCheckOrder> list = baseDao.getList(queryFilter.getQueryParams()); + if (list.size() > 0) { + workflowService.getRunFlow(list, "csjcd"); + } + return list; } /** @@ -65,7 +92,7 @@ } - public CheckOrderDto getDto(Long checkId, Long projectId,String pageCode) { + public CheckOrderDto getDto(Long checkId, Long projectId, String pageCode) { CheckOrderDto data = new CheckOrderDto(); data.setPageCode(pageCode); if (checkId != null) { @@ -75,14 +102,14 @@ if (projectId == null) { projectId = checkOrder.getProjectId(); } - List<TestCheckOrderList> checkOrderList = checkOrderListService.getList(checkId); data.setCheckOrderList(checkOrderList); } else { TestCheckOrder checkOrder = new TestCheckOrder(); + checkOrder.setPageCode(pageCode); data.setCheckOrder(checkOrder); - List<TestCheckOrderList> checkOrderList = checkOrderListService.itemList(pageCode+"_check_item"); + List<TestCheckOrderList> checkOrderList = checkOrderListService.itemList(pageCode + "_check_item"); data.setCheckOrderList(checkOrderList); } if (projectId != null) { @@ -92,13 +119,14 @@ return data; } - public Boolean save(CheckOrderDto checkOrderDto) { + public Long save(CheckOrderDto checkOrderDto) { Long checkId = checkOrderDto.getCheckOrder().getId(); if (checkId != null) baseDao.updateById(checkOrderDto.getCheckOrder()); else { Map<String, String> map = new HashMap<>(); - map.put("funCode", "test_check_order"); + String pagecode = checkOrderDto.getPageCode(); + map.put("funCode", "test_check_order_" + pagecode); map.put("projectId", checkOrderDto.getProjectId().toString()); checkOrderDto.getCheckOrder().setProjectId(checkOrderDto.getProjectId()); checkOrderDto.getCheckOrder().setCode(sysCodeRuleService.getNewCode(map)); @@ -115,6 +143,66 @@ checkOrderListService.insert(checkOrderList); } } - return true; + + Long bizId = checkOrderDto.getCheckOrder().getId(); + FlowInfoDto flowInfoDto = checkOrderDto.getFlowInfoDto(); + + if (flowInfoDto != null && flowInfoDto.getSubmitType() != null && "tj,bl".contains(flowInfoDto.getSubmitType())) { + if ("tj".equals(flowInfoDto.getSubmitType())) { + workflowService.startFlow(flowInfoDto.getFlowCode(), bizId); + } + workflowService.approvePass(flowInfoDto.getFlowCode(), bizId, flowInfoDto.getStepIdMark()); + } + return checkId; + } + + public void exportCheckOrder(Long id, String pageCode, HttpServletRequest request, HttpServletResponse response) { + try { + CheckOrderDto dataObj = this.getDto(id, null, pageCode); + if (dataObj.getCheckOrder().getProcessorId() != null && dataObj.getCheckOrder().getVerifierId() != null) { + String processorPath = "鏂囦欢鍥剧墖:" + getFilesPath.getSignPath(Convert.toLong(dataObj.getCheckOrder().getProcessorId())); + dataObj.getCheckOrder().setProcessor(processorPath); + String verifierPath = "鏂囦欢鍥剧墖:" + getFilesPath.getSignPath(Convert.toLong(dataObj.getCheckOrder().getVerifierId())); + dataObj.getCheckOrder().setVerifier(verifierPath); + } + + //閫氱敤瀛楀吀鍒楄〃瀛楃涓茬敓鎴� + for (TestCheckOrderList checkOrderList : dataObj.getCheckOrderList()) { + String value = checkOrderList.getCheckResult(); + String checkResultStr = ""; + if ("plan".equals(pageCode) || "report".equals(pageCode) || "record".equals(pageCode) || "explain".equals(pageCode)) { + checkResultStr = getShowDictList.getShowDictList(value, "tristate1", false); + } else { + checkResultStr = getShowDictList.getShowDictList(value, "tristate2", false); + } + checkOrderList.setCheckResult(checkResultStr); + } + + Map<String, String> map = new HashMap<>(); + map.put("plan", "璁″垝"); + map.put("report", "鎶ュ憡"); + map.put("record", "璁板綍"); + map.put("explain", "璇存槑"); + map.put("contract", "鍚堝悓璇勫"); + map.put("require", "娴嬭瘯闇�姹傚垎鏋愪笌绛栧垝"); + map.put("execute", "娴嬭瘯璁捐銆佸疄鐜颁笌鎵ц"); + map.put("summary", "娴嬭瘯鎬荤粨"); + String type = map.get(pageCode); + dataObj.setPageCode(type); + WordFile wordFile = new WordFile(); + + if ("plan".equals(pageCode) || "report".equals(pageCode) || "record".equals(pageCode) || "explain".equals(pageCode)) { + wordFile.setModulePath("杞欢娴嬭瘯妫�鏌ュ崟.docx"); + wordFile.setWordName(dataObj.getProject().getSoftwareName() + "_杞欢娴嬭瘯" + type + "妫�鏌ュ崟.docx"); + } else { + wordFile.setModulePath("璐ㄩ噺淇濊瘉妫�鏌ュ崟.docx"); + wordFile.setWordName(dataObj.getProject().getSoftwareName() + "_璐ㄩ噺淇濊瘉妫�鏌ュ崟(" + type + ").docx"); + } + wordFileService.exportWordFile(request, dataObj, wordFile, response); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } } } -- Gitblit v1.9.1