jinlin
2023-11-14 3a985f6b77989c95029d273864aa5f782e15ef96
Changes
10个文件已修改
415 ■■■■ 已修改文件
modules/mainPart/src/main/java/com/zt/life/modules/project/controller/SoftwareTestOrderController.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/project/dao/ProjectDao.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/project/dto/SoftwareTestOrderDto.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/project/model/Project.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/project/model/SoftwareTestOrder.java 169 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/project/model/SoftwareTestOrderDeliverable.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/project/model/SoftwareTestOrderMeasured.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/project/service/ProjectService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/resources/mapper/project/ProjectDao.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/project/controller/SoftwareTestOrderController.java
@@ -13,6 +13,7 @@
import com.zt.common.validator.group.DefaultGroup;
import com.zt.common.validator.group.UpdateGroup;
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;
@@ -26,10 +27,14 @@
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -78,52 +83,7 @@
    @GetMapping("getDto")
    @ApiOperation("信息")
    public Result<SoftwareTestOrderDto> getDto(Long orderId, Long projectId) {
        SoftwareTestOrderDto data = new SoftwareTestOrderDto();
        if (orderId != null) {
            data.setId(orderId);
            SoftwareTestOrder softwareTestOrder = softwareTestOrderService.get(orderId);
            data.setSoftwareTestOrder(softwareTestOrder);
            if (projectId == null)
                projectId = softwareTestOrder.getProjectId();
            data.setTestAgencyInfo(testAgencyInfoService.get(orderId));
            List<SoftwareTestOrderDeliverable> deliverableList = softwareTestOrderDeliverableService.childrenTables(orderId);
            if (deliverableList.isEmpty()) {
                deliverableList = softwareTestOrderService.deliverableDict();
                deliverableList = deliverableList.stream()
                        .peek(deliverable -> {
                            if (deliverable.getIdentify() == null) {
                                // 修改 identify 字段的值为新值
                                deliverable.setIdentify("1.0.0");
                            }
                        })
                        .collect(Collectors.toList());
            }
            data.setSoftwareTestOrderDeliverableList(deliverableList);
            List<SoftwareTestOrderMeasured> measuredList = softwareTestOrderMeasuredService.childrenTables(orderId);
            if (measuredList.isEmpty()) {
                measuredList = softwareTestOrderService.MeasuredDict();
                measuredList = measuredList.stream()
                        .peek(measured -> {
                            if (measured.getIdentify() == null) {
                                // 修改 identify 字段的值为新值
                                measured.setIdentify("1.0.0");
                            }
                        })
                        .collect(Collectors.toList());
            }
            data.setSoftwareTestOrderMeasuredList(measuredList);} else {
            data.setTestAgencyInfo(testAgencyInfoService.get(10000L));
        }
        if (projectId != null) {
            data.setProjectId(projectId);
            data.setProject(projectService.get(projectId));
        }
        SoftwareTestOrderDto data = softwareTestOrderService.getDto(orderId, projectId);
        return Result.ok(data);
    }
@@ -163,4 +123,22 @@
        return Result.ok();
    }
    @GetMapping("exportWord/{id}")
    @ApiOperation("打印测试委托单")
    @LogOperation("打印测试委托单")
    public void exportWord(@PathVariable("id") Long id, HttpServletRequest request, HttpServletResponse response) {
        softwareTestOrderService.exportWord(id, request, response);
    }
    @GetMapping("getCode")
    @ApiOperation("编号")
    public Result<List<String>> getCode() {
        return Result.ok( projectService.getCode());
    }
    @GetMapping("getProject/{code}")
    @ApiOperation("项目数据")
    public Result<Project> getProject(@Param("code") String code) {
        return Result.ok(projectService.getProject(code));
    }
}
modules/mainPart/src/main/java/com/zt/life/modules/project/dao/ProjectDao.java
@@ -20,4 +20,7 @@
    List<Project> getList(Map<String, Object> params);
    List<String> getCode();
    Project getProject(String code);
}
modules/mainPart/src/main/java/com/zt/life/modules/project/dto/SoftwareTestOrderDto.java
@@ -20,8 +20,8 @@
    private Project project;
    private TestAgencyInfo TestAgencyInfo;
    @ApiModelProperty(value = "被测件")
    private List<SoftwareTestOrderMeasured> softwareTestOrderMeasuredList = new ArrayList<>();
    private List<SoftwareTestOrderMeasured> measuredList = new ArrayList<>();
    @ApiModelProperty(value = "交付件")
    private List<SoftwareTestOrderDeliverable> softwareTestOrderDeliverableList = new ArrayList<>();
    private List<SoftwareTestOrderDeliverable> deliverableList = new ArrayList<>();
}
modules/mainPart/src/main/java/com/zt/life/modules/project/model/Project.java
@@ -51,8 +51,8 @@
    @ApiModelProperty(value = "项目编号")
    private String code;
    @ApiModelProperty(value = "项目标识")
    private String identity;
    @ApiModelProperty(value = "软件标识")
    private String softwareIdentity;
    @ApiModelProperty(value = "密级")
    private Integer secretClass;
modules/mainPart/src/main/java/com/zt/life/modules/project/model/SoftwareTestOrder.java
@@ -10,6 +10,7 @@
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.util.List;
/**
 * software_test_order
@@ -139,8 +140,8 @@
    private String softwareName;
    @TableField(exist = false)
    @ApiModelProperty(value = "项目标识")
    private String identity;
    @ApiModelProperty(value = "软件标识")
    private String softwareIdentity;
    @TableField(exist = false)
    @ApiModelProperty(value = "密级")
@@ -195,157 +196,17 @@
    @ApiModelProperty(value = "是否被测件")
    private String isMeasured;
    @TableField(exist = false)
    @ApiModelProperty(value = "测试类型1第1列")
    List<String> testType11;
    @TableField(exist = false)
    @ApiModelProperty(value = "测试类型1第2列")
    List<String> testType12;
    @TableField(exist = false)
    @ApiModelProperty(value = "测试类型2第1列")
    List<String> testType21;
    @TableField(exist = false)
    @ApiModelProperty(value = "测试类型2第2列")
    List<String> testType22;
    public String getEntrustUnitName() {
        return entrustUnitName;
    }
    public void setEntrustUnitName(String entrustUnitName) {
        this.entrustUnitName = entrustUnitName;
    }
    public String getEntrustUnitAddress() {
        return entrustUnitAddress;
    }
    public void setEntrustUnitAddress(String entrustUnitAddress) {
        this.entrustUnitAddress = entrustUnitAddress;
    }
    public String getEntrustUnitContact() {
        return entrustUnitContact;
    }
    public void setEntrustUnitContact(String entrustUnitContact) {
        this.entrustUnitContact = entrustUnitContact;
    }
    public String getEntrustUnitContWay() {
        return entrustUnitContWay;
    }
    public void setEntrustUnitContWay(String entrustUnitContWay) {
        this.entrustUnitContWay = entrustUnitContWay;
    }
    public String getDevelopUnitName() {
        return developUnitName;
    }
    public void setDevelopUnitName(String developUnitName) {
        this.developUnitName = developUnitName;
    }
    public String getDevelopUnitAddress() {
        return developUnitAddress;
    }
    public void setDevelopUnitAddress(String developUnitAddress) {
        this.developUnitAddress = developUnitAddress;
    }
    public String getDevelopUnitContact() {
        return developUnitContact;
    }
    public void setDevelopUnitContact(String developUnitContact) {
        this.developUnitContact = developUnitContact;
    }
    public String getDevelopUnitContWay() {
        return developUnitContWay;
    }
    public void setDevelopUnitContWay(String developUnitContWay) {
        this.developUnitContWay = developUnitContWay;
    }
    public String getSoftwareName() {
        return softwareName;
    }
    public void setSoftwareName(String softwareName) {
        this.softwareName = softwareName;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getIdentity() {
        return identity;
    }
    public void setIdentity(String identity) {
        this.identity = identity;
    }
    public Integer getSecretClass() {
        return secretClass;
    }
    public void setSecretClass(Integer secretClass) {
        this.secretClass = secretClass;
    }
    public Integer getCriticalLevel() {
        return criticalLevel;
    }
    public void setCriticalLevel(Integer criticalLevel) {
        this.criticalLevel = criticalLevel;
    }
    public Integer getTestLevel() {
        return testLevel;
    }
    public void setTestLevel(Integer testLevel) {
        this.testLevel = testLevel;
    }
    public String getSoftwareType() {
        return softwareType;
    }
    public void setSoftwareType(String softwareType) {
        this.softwareType = softwareType;
    }
    public String getProjectLeader() {
        return projectLeader;
    }
    public void setProjectLeader(String projectLeader) {
        this.projectLeader = projectLeader;
    }
    public String getProjectTesters() {
        return projectTesters;
    }
    public void setProjectTesters(String projectTesters) {
        this.projectTesters = projectTesters;
    }
    public String getProjectReviewer() {
        return projectReviewer;
    }
    public void setProjectReviewer(String projectReviewer) {
        this.projectReviewer = projectReviewer;
    }
    public Integer getIsContract() {
        return isContract;
    }
    public void setIsContract(Integer isContract) {
        this.isContract = isContract;
    }
}
modules/mainPart/src/main/java/com/zt/life/modules/project/model/SoftwareTestOrderDeliverable.java
@@ -23,17 +23,15 @@
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "序号")
    private Integer num;
    private Integer no;
    @ApiModelProperty(value = "委托单ID")
    private Long orderId;
    
    @ApiModelProperty(value = "标识/版本")
    private String identify;
    @TableField(exist = false)
    @ApiModelProperty(value = "字典标签/名称")
    private String dictLabel;
    @ApiModelProperty(value = "交付物名称")
    private String name;
}
modules/mainPart/src/main/java/com/zt/life/modules/project/model/SoftwareTestOrderMeasured.java
@@ -22,13 +22,14 @@
public class SoftwareTestOrderMeasured extends BusiEntity {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "序号")
    private Integer num;
    @ApiModelProperty(value = "委托单ID")
    private Long orderId;
    @ApiModelProperty(value = "序号")
    private Integer no;
    @ApiModelProperty(value = "被测件名称")
    private String name;
    @ApiModelProperty(value = "标识/版本")
    private String identify;
@@ -36,8 +37,6 @@
    @ApiModelProperty(value = "是否被测件")
    private String isMeasured;
    @TableField(exist = false)
    @ApiModelProperty(value = "字典标签/名称")
    private String dictLabel;
}
modules/mainPart/src/main/java/com/zt/life/modules/project/service/ProjectService.java
@@ -41,4 +41,11 @@
    }
    public List<String> getCode() {
        return baseDao.getCode();
    }
    public Project getProject(String code) {
        return baseDao.getProject(code);
    }
}
modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java
@@ -1,6 +1,11 @@
package com.zt.life.modules.project.service;
import com.zt.common.service.BaseService;
import com.zt.core.sys.dto.DictDto;
import com.zt.core.sys.dto.DictItemDto;
import com.zt.core.sys.dto.DictLeafDto;
import com.zt.life.export.dto.WordFile;
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.SoftwareTestOrder;
@@ -8,14 +13,22 @@
import com.zt.life.modules.project.model.SoftwareTestOrderMeasured;
import com.zt.life.modules.sysBaseInfo.service.TestAgencyInfoService;
import com.zt.modules.coderule.service.SysCodeRuleService;
import com.zt.modules.sys.service.SysDictTypeService;
import lombok.val;
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;
import java.util.Map;
import java.util.stream.Collectors;
/**
@@ -37,6 +50,11 @@
    private TestAgencyInfoService testAgencyInfoService;
    @Autowired
    private SysCodeRuleService sysCodeRuleService;
    @Autowired
    private SysDictTypeService sysDictTypeService;
    @Autowired
    private WordFileService wordFileService;
    /**
     * 分页查询
@@ -71,7 +89,7 @@
            softwareTestOrderId = softwareTestOrderDto.getSoftwareTestOrder().getId();
        }
        for (SoftwareTestOrderMeasured softwareTestOrderMeasured : softwareTestOrderDto.getSoftwareTestOrderMeasuredList()) {
        for (SoftwareTestOrderMeasured softwareTestOrderMeasured : softwareTestOrderDto.getMeasuredList()) {
            softwareTestOrderMeasured.setOrderId(softwareTestOrderId);
            if (softwareTestOrderMeasured.getId() != null) {
                softwareTestOrderMeasuredService.update(softwareTestOrderMeasured);
@@ -80,7 +98,7 @@
            }
        }
        for (SoftwareTestOrderDeliverable softwareTestOrderDeliverable : softwareTestOrderDto.getSoftwareTestOrderDeliverableList()) {
        for (SoftwareTestOrderDeliverable softwareTestOrderDeliverable : softwareTestOrderDto.getDeliverableList()) {
            softwareTestOrderDeliverable.setOrderId(softwareTestOrderId);
            if (softwareTestOrderDeliverable.getId() != null) {
                softwareTestOrderDeliverableService.update(softwareTestOrderDeliverable);
@@ -98,6 +116,54 @@
        return true;
    }
    public SoftwareTestOrderDto getDto(Long orderId, Long projectId) {
        SoftwareTestOrderDto data = new SoftwareTestOrderDto();
        if (orderId != null) {
            data.setId(orderId);
            SoftwareTestOrder softwareTestOrder = this.get(orderId);
            data.setSoftwareTestOrder(softwareTestOrder);
            if (projectId == null)
                projectId = softwareTestOrder.getProjectId();
            data.setTestAgencyInfo(testAgencyInfoService.get(orderId));
            List<SoftwareTestOrderDeliverable> deliverableList = softwareTestOrderDeliverableService.childrenTables(orderId);
            if (deliverableList.isEmpty()) {
                deliverableList = this.deliverableDict();
                deliverableList = deliverableList.stream()
                        .peek(deliverable -> {
                            if (deliverable.getIdentify() == null) {
                                // 修改 identify 字段的值为新值
                                deliverable.setIdentify("1.0.0");
                            }
                        })
                        .collect(Collectors.toList());
            }
            data.setDeliverableList(deliverableList);
            List<SoftwareTestOrderMeasured> measuredList = softwareTestOrderMeasuredService.childrenTables(orderId);
            if (measuredList.isEmpty()) {
                measuredList = this.MeasuredDict();
                measuredList = measuredList.stream()
                        .peek(measured -> {
                            if (measured.getIdentify() == null) {
                                // 修改 identify 字段的值为新值
                                measured.setIdentify("1.0.0");
                            }
                        })
                        .collect(Collectors.toList());
            }
            data.setMeasuredList(measuredList);
        } else {
            data.setTestAgencyInfo(testAgencyInfoService.get(10000L));
        }
        if (projectId != null) {
            data.setProjectId(projectId);
            data.setProject(projectService.get(projectId));
        }
        return data;
    }
    public List<SoftwareTestOrderDeliverable> deliverableDict() {
        return  baseDao.getdeliverableDictList();
@@ -106,4 +172,60 @@
    public List<SoftwareTestOrderMeasured> MeasuredDict() {
        return baseDao.getMeasuredDictList();
    }
    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 {
            wordFileService.exportWordFile(request, dataObj, wordFile, response);
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}
modules/mainPart/src/main/resources/mapper/project/ProjectDao.xml
@@ -17,4 +17,15 @@
        </if>
    </select>
    <select id="getCode" resultType="java.lang.String">
        SELECT p.CODE FROM Project p where p.is_delete =0
    </select>
    <select id="getProject" resultType="com.zt.life.modules.project.model.Project">
         SELECT *
         FROM project
         WHERE code = #{code}
         and is_delete = 0
    </select>
</mapper>