From 1772fc5e211f9e9e0ab4cdc6c29b436aac178c2a Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期五, 23 二月 2024 12:19:55 +0800
Subject: [PATCH] 修改
---
modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java | 256 ++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 251 insertions(+), 5 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..f764c70 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,75 @@
package com.zt.life.modules.project.service;
+import cn.hutool.core.convert.Convert;
import com.zt.common.service.BaseService;
+import com.zt.common.utils.CommonUtils;
+import com.zt.core.context.User;
+import com.zt.core.context.UserContext;
+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.modules.mainPart.utils.GetShowDictList;
+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.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;
+import com.zt.life.modules.qaAuditReport.model.QaAuditReportIncongruent;
+import com.zt.life.modules.sysBaseInfo.service.TestAgencyInfoService;
+import com.zt.life.sys.service.SysOssConfigService;
+import com.zt.modules.coderule.service.SysCodeRuleService;
+import com.zt.modules.oss.service.SysOssService;
+import com.zt.modules.sys.service.SysDictTypeService;
+import org.apache.tomcat.util.bcel.classfile.Constant;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.zt.common.db.query.QueryFilter;
-import javax.annotation.Resource;
-import java.util.List;
+
+import javax.naming.Context;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.FileNotFoundException;
+import java.io.UnsupportedEncodingException;
+import java.text.SimpleDateFormat;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
+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;
+ @Autowired
+ private GetShowDictList getShowDictList;
+
+ @Autowired
+ private SysOssConfigService sysOssConfigService;
+
+ @Autowired
+ private SysOssService sysOssService;
/**
* 鍒嗛〉鏌ヨ
@@ -25,7 +78,19 @@
* @return
*/
public List<SoftwareTestOrder> page(QueryFilter queryFilter) {
- return baseDao.getList(queryFilter.getQueryParams());
+ User user = UserContext.getUser();
+ Integer secretClass = user.getSecretClass();
+ Long deptId = user.getDeptId();
+ queryFilter.getQueryParams().put("secretClass",secretClass);
+ queryFilter.getQueryParams().put("deptId",deptId);
+ List<SoftwareTestOrder> list = baseDao.getList(queryFilter.getQueryParams());
+ if (list != null && list.size() > 0) {
+ sysOssService.setListOsses(list, "test_order");
+ }
+ return list;
+ }
+ public String selectOrderId(Long projectId) {
+ return baseDao.selectOrderId(projectId);
}
@@ -38,4 +103,185 @@
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");
+ map.put("projectId",softwareTestOrderDto.getProjectId().toString());
+ /* DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+ softwareTestOrderDto.getSoftwareTestOrder().getEntrustSignDate();*/
+ softwareTestOrderDto.getSoftwareTestOrder().setProjectId(softwareTestOrderDto.getProjectId());
+ 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) {
+ SoftwareTestOrderMeasured Measured = softwareTestOrderMeasuredService.get(softwareTestOrderMeasured.getId());
+ if (CommonUtils.isActureChangeData(softwareTestOrderMeasured,Measured)) {
+ softwareTestOrderMeasuredService.update(softwareTestOrderMeasured);
+ }
+ } else {
+ softwareTestOrderMeasured.setOrderId(softwareTestOrderId);
+ softwareTestOrderMeasuredService.insert(softwareTestOrderMeasured);
+ }
+ }
+
+ for (SoftwareTestOrderDeliverable softwareTestOrderDeliverable : softwareTestOrderDto.getDeliverableList()) {
+ softwareTestOrderDeliverable.setOrderId(softwareTestOrderId);
+ if (softwareTestOrderDeliverable.getId() != null) {
+ softwareTestOrderDeliverableService.update(softwareTestOrderDeliverable);
+ } else {
+ softwareTestOrderDeliverable.setOrderId(softwareTestOrderId);
+ softwareTestOrderDeliverableService.insert(softwareTestOrderDeliverable);
+ }
+ }
+
+ if (softwareTestOrderDto.getTestAgencyInfo().getId() == 10000) {
+ softwareTestOrderDto.getTestAgencyInfo().setId(softwareTestOrderId);
+ testAgencyInfoService.insert(softwareTestOrderDto.getTestAgencyInfo());
+ } else {
+ testAgencyInfoService.update(softwareTestOrderDto.getTestAgencyInfo());
+ }
+ sysOssConfigService.updateOss(softwareTestOrderDto.getId(), softwareTestOrderDto.getFiles());// 淇濆瓨闄勪欢
+ return true;
+ }
+
+ public SoftwareTestOrderDto getDto(Long projectId, Long orderId) {
+ SoftwareTestOrderDto data = new SoftwareTestOrderDto();
+ if (orderId != null) {
+ data.setId(orderId);
+ SoftwareTestOrder softwareTestOrder = this.get(orderId);
+ data.setSoftwareTestOrder(softwareTestOrder);
+
+ projectId = softwareTestOrder.getProjectId();
+
+ data.setTestAgencyInfo(testAgencyInfoService.get(orderId));
+
+ List<SoftwareTestOrderDeliverable> deliverableList = softwareTestOrderDeliverableService.getList(orderId);
+ data.setDeliverableList(deliverableList);
+
+ List<SoftwareTestOrderMeasured> measuredList = softwareTestOrderMeasuredService.getList(orderId);
+ data.setMeasuredList(measuredList);
+ } else {
+ Project project = projectService.get(projectId);
+ String projectCode = project.getCode();
+ String softIdentity =project.getSoftwareIdentity();
+ List<?> testItemResult = baseDao.dictList("testItem_type", projectCode,softIdentity);
+ data.setMeasuredList((List<SoftwareTestOrderMeasured>) testItemResult);
+
+ List<?> productLibraryResult = baseDao.dictList("product_library_file", projectCode,null);
+ data.setDeliverableList((List<SoftwareTestOrderDeliverable>) productLibraryResult);
+ }
+
+ if (projectId != null) {
+ data.setProjectId(projectId);
+ data.setProject(projectService.get(projectId));
+ }
+
+ if (data.getTestAgencyInfo() == null)
+ data.setTestAgencyInfo(testAgencyInfoService.get(10000L));
+
+ return data;
+ }
+
+ public void exportWord(Long id, HttpServletRequest request, HttpServletResponse response) {
+ try {
+ SoftwareTestOrderDto dataObj = this.getDto(null, id);
+ //鐗规畩鍒楄〃鐢熸垚
+ List<DictDto> userDicts = sysDictTypeService.getUserDicts();
+ DictDto testType1Dict = userDicts.stream()
+ .filter(c -> c.getDictType().equals("test_type1"))
+ .collect(Collectors.toList()).get(0);
+
+ List<HashMap<String, Object>> testType11 = new ArrayList<>();
+ List<HashMap<String, Object>> testType12 = new ArrayList<>();
+ List<HashMap<String, Object>> testType21 = new ArrayList<>();
+ List<HashMap<String, Object>> 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();
+ HashMap<String, Object> stateItem = new HashMap<>();
+ stateItem.put("item", desc);
+ if ((i++) % 2 == 0) {
+ testType12.add(stateItem);
+ } else {
+ testType11.add(stateItem);
+ }
+ }
+
+ i = 0;
+ testType = "," + dataObj.getSoftwareTestOrder().getTestType2() + ",";
+ for (DictItemDto dictItemDto : ((DictLeafDto) testType1Dict).getDataList()) {
+ String value = dictItemDto.getDictValue();
+ String desc = (testType.contains("," + value + ",") ? "鈽�" : "鈻�") + dictItemDto.getDictLabel();
+ HashMap<String, Object> stateItem = new HashMap<>();
+ stateItem.put("item", desc);
+ if ((i++) % 2 == 0) {
+ testType22.add(stateItem);
+ } else {
+ testType21.add(stateItem);
+ }
+ }
+
+ dataObj.getSoftwareTestOrder().setTestType11(testType11);
+ dataObj.getSoftwareTestOrder().setTestType12(testType12);
+ dataObj.getSoftwareTestOrder().setTestType21(testType21);
+ dataObj.getSoftwareTestOrder().setTestType22(testType22);
+
+ //閫氱敤瀛楀吀鍒楄〃瀛楃涓茬敓鎴�
+ String criticalLevelStr = getShowDictList.getShowDictList(dataObj.getProject().getCriticalLevel(), "critical_level", false);
+ dataObj.getSoftwareTestOrder().setCriticalLevelStr(criticalLevelStr);
+
+ for (SoftwareTestOrderMeasured measured : dataObj.getMeasuredList()) {
+ String value = measured.getIsMeasured();
+ String isMeasuredStr = getShowDictList.getShowDictList(value, "is_or_not", false);
+ measured.setIsMeasuredStr(isMeasuredStr);
+ }
+
+ String secretClass = getShowDictList.getShowDictList(dataObj.getProject().getSecretClass(), "secret_class", false);
+ dataObj.getSoftwareTestOrder().setSecretClassStr(secretClass);
+
+ String sortwareTypeStr = getShowDictList.getShowDictList(dataObj.getProject().getSoftwareType(), "software_type", false);
+ dataObj.getSoftwareTestOrder().setSortwareTypeStr(sortwareTypeStr);
+
+ String testBasisStr = getShowDictList.getShowDictList(dataObj.getSoftwareTestOrder().getTestBasis(), "test_basis", true);
+ dataObj.getSoftwareTestOrder().setTestBasisStr(testBasisStr);
+
+ String testStandardStr = getShowDictList.getShowDictList(dataObj.getSoftwareTestOrder().getTestStandard(), "test_standard", true);
+ dataObj.getSoftwareTestOrder().setTestStandardStr(testStandardStr);
+
+ String testLevelStr = getShowDictList.getShowDictList(dataObj.getSoftwareTestOrder().getTestLevel(), "test_level", false);
+ dataObj.getSoftwareTestOrder().setTestLevelStr(testLevelStr);
+
+ String test = dataObj.getSoftwareTestOrder().getOtherRequire();
+ String otherRequireStr = getShowDictList.getShowDictList(test, "is_or_not", false);
+ dataObj.getSoftwareTestOrder().setOtherRequireStr(otherRequireStr);
+
+ String articleNatureStr = getShowDictList.getShowDictList(dataObj.getSoftwareTestOrder().getArticleNature(), "article_nature", false);
+ dataObj.getSoftwareTestOrder().setArticleNatureStr(articleNatureStr);
+
+ String sampleStatusStr = getShowDictList.getShowDictList(dataObj.getSoftwareTestOrder().getSampleStatus(), "is_or_not", false);
+ dataObj.getSoftwareTestOrder().setSampleStatusStr(sampleStatusStr);
+
+ WordFile wordFile = new WordFile();
+ wordFile.setModulePath("娴嬭瘯濮旀墭鍗�.docx");
+ wordFile.setWordName(dataObj.getProject().getSoftwareName() + "_娴嬭瘯濮旀墭鍗�.docx");
+ wordFileService.exportWordFile(request, dataObj, wordFile, response);
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ }
+ }
}
--
Gitblit v1.9.1