From 639bc12e3fcca3b3290349fce00336a4dfae1c9d Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期一, 13 十一月 2023 11:30:38 +0800
Subject: [PATCH] Changes

---
 modules/mainPart/src/main/java/com/zt/life/modules/project/controller/SoftwareTestOrderController.java |   57 +++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 45 insertions(+), 12 deletions(-)

diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/SoftwareTestOrderController.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/SoftwareTestOrderController.java
index 0a7579e..a67576f 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/SoftwareTestOrderController.java
+++ b/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();
     }
 

--
Gitblit v1.9.1