jinlin
2024-01-02 a38a1ac77bb6ac9ea8bf0cf5f5f6b68d0e6e6974
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,8 +92,9 @@
    }
    public CheckOrderDto getDto(Long checkId, Long projectId,String itemType) {
    public CheckOrderDto getDto(Long checkId, Long projectId, String pageCode) {
        CheckOrderDto data = new CheckOrderDto();
        data.setPageCode(pageCode);
        if (checkId != null) {
            data.setId(checkId);
            TestCheckOrder checkOrder = this.get(checkId);
@@ -74,23 +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 =new ArrayList();
            if (itemType.equals("plan")){
                checkOrderList = checkOrderListService.itemList("plan_check_item");
            }else if (itemType.equals("explain")){
                checkOrderList = checkOrderListService.itemList("explain_check_item");
            }else if(itemType.equals("record")){
                checkOrderList = checkOrderListService.itemList("record_check_item");
            }else if (itemType.equals("report")){
                checkOrderList = checkOrderListService.itemList("report_check_item");
            }
            List<TestCheckOrderList> checkOrderList = checkOrderListService.itemList(pageCode + "_check_item");
            data.setCheckOrderList(checkOrderList);
        }
        if (projectId != null) {
@@ -100,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));
@@ -123,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();
        }
    }
}