From 55313f7b1d3dc7959b6d1e93f9e652be0b0bc646 Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期二, 14 十一月 2023 14:15:18 +0800 Subject: [PATCH] Changes --- modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java | 194 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 192 insertions(+), 2 deletions(-) diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java index 0c32f2e..707c2a7 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java @@ -1,22 +1,60 @@ 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; +import com.zt.life.modules.project.model.SoftwareTestOrderDeliverable; +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; /** * software_test_order * - * @author zt generator + * @author zt generator * @since 1.0.0 2023-11-08 */ @Service -public class SoftwareTestOrderService extends BaseService<SoftwareTestOrderDao, SoftwareTestOrder> { +public class SoftwareTestOrderService extends BaseService<SoftwareTestOrderDao, SoftwareTestOrder> { + + @Autowired + private ProjectService projectService; + @Autowired + private SoftwareTestOrderDeliverableService softwareTestOrderDeliverableService; + @Autowired + private SoftwareTestOrderMeasuredService softwareTestOrderMeasuredService; + @Autowired + private TestAgencyInfoService testAgencyInfoService; + @Autowired + private SysCodeRuleService sysCodeRuleService; + + @Autowired + private SysDictTypeService sysDictTypeService; + @Autowired + private WordFileService wordFileService; /** * 鍒嗛〉鏌ヨ @@ -38,4 +76,156 @@ super.deleteLogic(ids); } + + public Boolean save(SoftwareTestOrderDto softwareTestOrderDto) { + Long softwareTestOrderId = softwareTestOrderDto.getSoftwareTestOrder().getId(); + if (softwareTestOrderId != null) + baseDao.updateById(softwareTestOrderDto.getSoftwareTestOrder()); + else { + Map<String, String> map = new HashMap<>(); + map.put("funCode", "software_test_order"); + softwareTestOrderDto.getSoftwareTestOrder().setCode(sysCodeRuleService.getNewCode(map)); + baseDao.insert(softwareTestOrderDto.getSoftwareTestOrder()); + softwareTestOrderId = softwareTestOrderDto.getSoftwareTestOrder().getId(); + } + + for (SoftwareTestOrderMeasured softwareTestOrderMeasured : softwareTestOrderDto.getMeasuredList()) { + softwareTestOrderMeasured.setOrderId(softwareTestOrderId); + if (softwareTestOrderMeasured.getId() != null) { + softwareTestOrderMeasuredService.update(softwareTestOrderMeasured); + } else { + softwareTestOrderMeasuredService.insert(softwareTestOrderMeasured); + } + } + + for (SoftwareTestOrderDeliverable softwareTestOrderDeliverable : softwareTestOrderDto.getDeliverableList()) { + softwareTestOrderDeliverable.setOrderId(softwareTestOrderId); + if (softwareTestOrderDeliverable.getId() != null) { + softwareTestOrderDeliverableService.update(softwareTestOrderDeliverable); + } else { + softwareTestOrderDeliverableService.insert(softwareTestOrderDeliverable); + } + } + + if (softwareTestOrderDto.getTestAgencyInfo().getId() == 10000) { + softwareTestOrderDto.getTestAgencyInfo().setId(softwareTestOrderId); + testAgencyInfoService.insert(softwareTestOrderDto.getTestAgencyInfo()); + } else { + testAgencyInfoService.update(softwareTestOrderDto.getTestAgencyInfo()); + } + 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(); + } + + 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(); + } + } } -- Gitblit v1.9.1