jinlin
2023-11-15 9247ffa2d7991e996b13df9b32d448972fd3cbfc
modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java
@@ -8,6 +8,7 @@
import com.zt.life.export.service.WordFileService;
import com.zt.life.modules.project.dao.SoftwareTestOrderDao;
import com.zt.life.modules.project.dto.SoftwareTestOrderDto;
import com.zt.life.modules.project.model.Project;
import com.zt.life.modules.project.model.SoftwareTestOrder;
import com.zt.life.modules.project.model.SoftwareTestOrderDeliverable;
import com.zt.life.modules.project.model.SoftwareTestOrderMeasured;
@@ -79,6 +80,7 @@
    public Boolean save(SoftwareTestOrderDto softwareTestOrderDto) {
        Long softwareTestOrderId = softwareTestOrderDto.getSoftwareTestOrder().getId();
        if (softwareTestOrderId != null)
            baseDao.updateById(softwareTestOrderDto.getSoftwareTestOrder());
        else {
            Map<String, String> map = new HashMap<>();
@@ -118,12 +120,13 @@
        return true;
    }
    public SoftwareTestOrderDto getDto(Long projectId,Long orderId) {
    public SoftwareTestOrderDto getDto(Long projectId, Long orderId) {
        SoftwareTestOrderDto data = new SoftwareTestOrderDto();
        if (orderId != null) {
            data.setId(orderId);
            SoftwareTestOrder softwareTestOrder = this.get(orderId);
            data.setSoftwareTestOrder(softwareTestOrder);
            projectId = softwareTestOrder.getProjectId();
            data.setTestAgencyInfo(testAgencyInfoService.get(orderId));
@@ -134,73 +137,74 @@
            List<SoftwareTestOrderMeasured> measuredList = softwareTestOrderMeasuredService.childrenTables(orderId);
            data.setMeasuredList(measuredList);
        } else {
            List<?> testItemResult = baseDao.dictList("testItem_type");
            Project project = projectService.get(projectId);
            String projectCode = project.getCode();
            List<?> testItemResult = baseDao.dictList("testItem_type",projectCode);
            List<?> measuredList = testItemResult;
            data.setMeasuredList((List<SoftwareTestOrderMeasured>) measuredList);
            List<?> productLibraryResult = baseDao.dictList("product_library_file");
            List<?> productLibraryResult = baseDao.dictList("product_library_file",projectCode);
            List<?> deliverableList = productLibraryResult;
            data.setDeliverableList((List<SoftwareTestOrderDeliverable>) deliverableList);
        }
        if (data.getTestAgencyInfo() == null)
            data.setTestAgencyInfo(testAgencyInfoService.get(10000L));
        if (projectId != null) {
            data.setProjectId(projectId);
            data.setProject(projectService.get(projectId));
        }
        if (data.getTestAgencyInfo() == null)
            data.setTestAgencyInfo(testAgencyInfoService.get(10000L));
        return data;
    }
    public void exportWord(Long id, HttpServletRequest request, HttpServletResponse response) {
        WordFile wordFile = new WordFile();
        wordFile.setModulePath("aaaa");
        wordFile.setWordName("aaa");
        SoftwareTestOrderDto dataObj = this.getDto(id, null);
        List<DictDto> userDicts = sysDictTypeService.getUserDicts();
        DictDto testType1Dict = userDicts.stream()
                .filter(c -> c.getDictType().equals("test_type1"))
                .collect(Collectors.toList()).get(0);
        List<String> testType11 = new ArrayList<>();
        List<String> testType12 = new ArrayList<>();
        List<String> testType21 = new ArrayList<>();
        List<String> testType22 = new ArrayList<>();
        int i = 0;
        String testType = "," + dataObj.getSoftwareTestOrder().getTestType1() + ",";
        for (DictItemDto dictItemDto : ((DictLeafDto) testType1Dict).getDataList()) {
            String value = dictItemDto.getDictValue();
            String desc = (testType.contains("," + value + ",") ? "☑" : "□") + dictItemDto.getDictLabel();
            if ((i++) % 2 == 0) {
                testType12.add(desc);
            } else {
                testType11.add(desc);
            }
        }
        i = 0;
        testType = "," + dataObj.getSoftwareTestOrder().getTestType2() + ",";
        for (DictItemDto dictItemDto : ((DictLeafDto) testType1Dict).getDataList()) {
            String value = dictItemDto.getDictValue();
            String desc = (testType.contains("," + value + ",") ? "☑" : "□") + dictItemDto.getDictLabel();
            if ((i++) % 2 == 0) {
                testType22.add(desc);
            } else {
                testType21.add(desc);
            }
        }
        dataObj.getSoftwareTestOrder().setTestType11(testType11);
        dataObj.getSoftwareTestOrder().setTestType12(testType12);
        dataObj.getSoftwareTestOrder().setTestType21(testType21);
        dataObj.getSoftwareTestOrder().setTestType22(testType22);
        List<Object> measuredList = new ArrayList<>();
        try {
            SoftwareTestOrderDto dataObj = this.getDto(null, id);
            List<DictDto> userDicts = sysDictTypeService.getUserDicts();
            DictDto testType1Dict = userDicts.stream()
                    .filter(c -> c.getDictType().equals("test_type1"))
                    .collect(Collectors.toList()).get(0);
            List<String> testType11 = new ArrayList<>();
            List<String> testType12 = new ArrayList<>();
            List<String> testType21 = new ArrayList<>();
            List<String> testType22 = new ArrayList<>();
            int i = 0;
            String testType = "," + dataObj.getSoftwareTestOrder().getTestType1() + ",";
            for (DictItemDto dictItemDto : ((DictLeafDto) testType1Dict).getDataList()) {
                String value = dictItemDto.getDictValue();
                String desc = (testType.contains("," + value + ",") ? "☑" : "□") + dictItemDto.getDictLabel();
                if ((i++) % 2 == 0) {
                    testType12.add(desc);
                } else {
                    testType11.add(desc);
                }
            }
            i = 0;
            testType = "," + dataObj.getSoftwareTestOrder().getTestType2() + ",";
            for (DictItemDto dictItemDto : ((DictLeafDto) testType1Dict).getDataList()) {
                String value = dictItemDto.getDictValue();
                String desc = (testType.contains("," + value + ",") ? "☑" : "□") + dictItemDto.getDictLabel();
                if ((i++) % 2 == 0) {
                    testType22.add(desc);
                } else {
                    testType21.add(desc);
                }
            }
            dataObj.getSoftwareTestOrder().setTestType11(testType11);
            dataObj.getSoftwareTestOrder().setTestType12(testType12);
            dataObj.getSoftwareTestOrder().setTestType21(testType21);
            dataObj.getSoftwareTestOrder().setTestType22(testType22);
            WordFile wordFile = new WordFile();
            wordFile.setModulePath("测试委托单.docx");
            wordFile.setWordName(dataObj.getProject().getSoftwareName()+"_测试委托单");
            wordFileService.exportWordFile(request, dataObj, wordFile, response);
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();