jinlin
2023-11-17 67c8dac39303431aef48238a70beef9720222810
modules/mainPart/src/main/java/com/zt/life/modules/project/controller/SoftwareTestOrderController.java
@@ -14,13 +14,13 @@
import com.zt.common.validator.group.UpdateGroup;
import com.zt.life.modules.project.dto.SoftwareTestOrderDto;
import com.zt.life.modules.project.model.SoftwareTestOrder;
import com.zt.life.modules.project.model.SoftwareTestOrderDeliverable;
import com.zt.life.modules.project.model.SoftwareTestOrderMeasured;
import com.zt.life.modules.project.service.ProjectService;
import com.zt.life.modules.project.service.SoftwareTestOrderDeliverableService;
import com.zt.life.modules.project.service.SoftwareTestOrderMeasuredService;
import com.zt.life.modules.project.service.SoftwareTestOrderService;
import com.zt.life.modules.sysBaseInfo.service.TestAgencyInfoService;
import com.zt.life.sys.dto.OssDto;
import com.zt.life.sys.service.SysOssConfigService;
import com.zt.modules.coderule.service.SysCodeRuleService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@@ -30,10 +30,10 @@
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@@ -60,6 +60,9 @@
    @Autowired
    private SysCodeRuleService sysCodeRuleService;
    @Autowired
    private SysOssConfigService sysOssConfigService;
    @GetMapping("page")
    @ApiOperation("分页")
    @ApiImplicitParams({
@@ -67,6 +70,7 @@
            @ApiImplicitParam(name = Constant.Q.LIMIT, value = Constant.QV.LIMIT, required = true, dataType = Constant.QT.INT),
            @ApiImplicitParam(name = Constant.Q.ORDER_FIELD, value = Constant.QV.ORDER_FIELD, dataType = Constant.QT.STRING),
            @ApiImplicitParam(name = Constant.Q.ORDER, value = Constant.QV.ORDER, dataType = Constant.QT.STRING),
            @ApiImplicitParam(name = "softwareName", value = "软件名称", dataType = Constant.QT.STRING, format = "software_name^EQ"),
            @ApiImplicitParam(name = "testBasis", value = "测试依据", dataType = Constant.QT.STRING, format = "test_basis^EQ"),
            @ApiImplicitParam(name = "testType", value = "测试类型", dataType = Constant.QT.STRING, format = "test_type^EQ"),
            @ApiImplicitParam(name = "testStandard", value = "测试标准", dataType = Constant.QT.STRING, format = "test_standard^EQ"),
@@ -77,53 +81,14 @@
    @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());
    public Result<SoftwareTestOrderDto> getDto(Long projectId,Long orderId) {
        SoftwareTestOrderDto data = softwareTestOrderService.getDto(projectId, orderId);
        if (orderId!=null) {
            OssDto ossDto = sysOssConfigService.getOssByBusiType(orderId, "test_order");
            if (ossDto != null) {
                data.setFiles(ossDto);
            }
            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));
        }
        return Result.ok(data);
    }
@@ -145,14 +110,14 @@
    @PutMapping
    @ApiOperation("修改")
    @LogOperation("修改")
    public Result update(@RequestBody SoftwareTestOrderDto softwareTestOrderDtor) {
    public Result update(@RequestBody SoftwareTestOrderDto softwareTestOrderDto) {
        //效验数据
        ValidatorUtils.validateEntity(softwareTestOrderDtor.getSoftwareTestOrder(), UpdateGroup.class, DefaultGroup.class);
        Boolean result = softwareTestOrderService.save(softwareTestOrderDtor);
        ValidatorUtils.validateEntity(softwareTestOrderDto.getSoftwareTestOrder(), UpdateGroup.class, DefaultGroup.class);
        Boolean result = softwareTestOrderService.save(softwareTestOrderDto);
        return Result.ok();
    }
    @DeleteMapping
    @DeleteMapping("deleteOrder")
    @ApiOperation("删除")
    @LogOperation("删除")
    public Result delete(@RequestBody Long[] ids) {
@@ -163,4 +128,10 @@
        return Result.ok();
    }
    @GetMapping("exportWord")
    @ApiOperation("打印测试委托单")
    @LogOperation("打印测试委托单")
    public void exportWord(Long id, HttpServletRequest request, HttpServletResponse response) {
        softwareTestOrderService.exportWord(id, request, response);
    }
}