jinlin
2023-11-13 639bc12e3fcca3b3290349fce00336a4dfae1c9d
modules/mainPart/src/main/java/com/zt/life/modules/project/controller/SoftwareTestOrderController.java
@@ -14,12 +14,14 @@
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.modules.coderule.service.SysCodeRuleService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -27,6 +29,11 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@@ -50,6 +57,8 @@
    private SoftwareTestOrderMeasuredService softwareTestOrderMeasuredService;
    @Autowired
    private TestAgencyInfoService testAgencyInfoService;
    @Autowired
    private SysCodeRuleService sysCodeRuleService;
    @GetMapping("page")
    @ApiOperation("分页")
@@ -66,23 +75,47 @@
        return PageResult.ok(softwareTestOrderService.page(queryFilter));
    }
    @GetMapping("{id}")
    @GetMapping("getDto")
    @ApiOperation("信息")
    public Result<SoftwareTestOrderDto> get(@PathVariable("id") Long id, @PathVariable("projectId") Long projectId) {
    public Result<SoftwareTestOrderDto> getDto(Long orderId, Long projectId) {
        SoftwareTestOrderDto data = new SoftwareTestOrderDto();
        if (id != null) {
            data.setId(id);
            SoftwareTestOrder softwareTestOrder = softwareTestOrderService.get(id);
        if (orderId != null) {
            data.setId(orderId);
            SoftwareTestOrder softwareTestOrder = softwareTestOrderService.get(orderId);
            data.setSoftwareTestOrder(softwareTestOrder);
            if (projectId == null)
                projectId = softwareTestOrder.getProjectId();
            data.setTestAgencyInfo(testAgencyInfoService.get(id));
            data.setSoftwareTestOrderDeliverableList(softwareTestOrderDeliverableService.childrenTables(id));
            data.setSoftwareTestOrderMeasuredList(softwareTestOrderMeasuredService.childrenTables(id));
        } else {
            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) {
@@ -102,10 +135,10 @@
        //效验数据
        ValidatorUtils.validateEntity(softwareTestOrderDto.getSoftwareTestOrder(), AddGroup.class, DefaultGroup.class);
        Map<String,String> map = new HashMap<>();
        map.put("funCode","software_test_order");
        softwareTestOrderDto.getSoftwareTestOrder().setCode(sysCodeRuleService.getNewCode(map));
        Boolean result = softwareTestOrderService.save(softwareTestOrderDto);
        return Result.ok();
    }