From b89ff3ae8af0424292bd7c2674f1e0e01c315a6e Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期二, 12 十二月 2023 15:05:31 +0800 Subject: [PATCH] 修改 --- modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/ConfigItemWarehouse.java | 3 modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/controller/ConfigItemWarehouseController.java | 7 + modules/mainPart/src/main/java/com/zt/life/modules/configItemChange/controller/ConfigItemChangeController.java | 8 ++ modules/mainPart/src/main/java/com/zt/life/modules/configItemChange/service/ConfigItemChangeService.java | 74 ++++++++++++++++++ modules/mainPart/src/main/java/com/zt/life/modules/configItemChange/model/ConfigItemChange.java | 3 web/src/views/modules/configItemChange/ConfigItemChange-AddOrUpdate.vue | 13 +++ web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue | 13 +++ modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java | 68 +++++++++++++++++ modules/mainPart/src/main/resources/mapper/configItemWarehouse/WarehouseConfigItemDao.xml | 10 + 9 files changed, 196 insertions(+), 3 deletions(-) diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/configItemChange/controller/ConfigItemChangeController.java b/modules/mainPart/src/main/java/com/zt/life/modules/configItemChange/controller/ConfigItemChangeController.java index a3b5006..bc02474 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/configItemChange/controller/ConfigItemChangeController.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/configItemChange/controller/ConfigItemChangeController.java @@ -28,6 +28,8 @@ 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; @@ -128,4 +130,10 @@ List<WarehouseConfigItem> resultList = configItemService.warehouseConfigList(projectId,ids); return PageResult.ok(resultList); } + @GetMapping("exportConfigChange") + @ApiOperation("鎵撳嵃鍙樻洿鐢宠鍗�") + @LogOperation("鎵撳嵃鍙樻洿鐢宠鍗�") + public void exportConfigChange(Long id, HttpServletRequest request, HttpServletResponse response) { + configItemChangeService.exportConfigChange(id,request, response); + } } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/configItemChange/model/ConfigItemChange.java b/modules/mainPart/src/main/java/com/zt/life/modules/configItemChange/model/ConfigItemChange.java index 72b943a..8020b3c 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/configItemChange/model/ConfigItemChange.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/configItemChange/model/ConfigItemChange.java @@ -93,6 +93,9 @@ @JsonFormat(pattern = "yyyy-MM-dd") private Date approvalDate; + @ApiModelProperty(value = "鎵瑰噯绛惧瓧浜篒D") + private Long approvalId; + @ApiModelProperty(value = "鍑哄簱CM鎿嶄綔") private String outboundCmOperations; diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/configItemChange/service/ConfigItemChangeService.java b/modules/mainPart/src/main/java/com/zt/life/modules/configItemChange/service/ConfigItemChangeService.java index 7b1b237..b386f46 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/configItemChange/service/ConfigItemChangeService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/configItemChange/service/ConfigItemChangeService.java @@ -1,16 +1,22 @@ package com.zt.life.modules.configItemChange.service; +import cn.hutool.core.convert.Convert; import com.zt.common.db.query.QueryFilter; import com.zt.common.service.BaseService; +import com.zt.life.export.dto.WordFile; +import com.zt.life.export.service.WordFileService; import com.zt.life.modules.configItemChange.dao.ConfigItemChangeDao; import com.zt.life.modules.configItemChange.dto.ConfigItemChangeDto; import com.zt.life.modules.configItemChange.model.ConfigItemChange; +import com.zt.life.modules.configItemWarehouse.dto.ConfigItemWarehouseDto; import com.zt.life.modules.configItemWarehouse.model.WarehouseCmAudit; import com.zt.life.modules.configItemWarehouse.model.WarehouseConfigItem; import com.zt.life.modules.configItemWarehouse.model.WarehouseQaAudit; import com.zt.life.modules.configItemWarehouse.service.WarehouseCmAuditService; import com.zt.life.modules.configItemWarehouse.service.WarehouseConfigItemService; import com.zt.life.modules.configItemWarehouse.service.WarehouseQaAuditService; +import com.zt.life.modules.mainPart.utils.GetFilesPath; +import com.zt.life.modules.mainPart.utils.GetShowDictList; import com.zt.life.modules.project.service.ProjectService; import com.zt.life.modules.testCheckOrder.model.TestCheckOrder; import com.zt.life.modules.testCheckOrder.service.TestCheckOrderService; @@ -22,6 +28,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.FileNotFoundException; +import java.io.UnsupportedEncodingException; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -61,6 +71,16 @@ @Autowired private TestCheckOrderService testCheckOrderService; + + @Autowired + private GetShowDictList getShowDictList; + + @Autowired + private WordFileService wordFileService; + + @Autowired + private GetFilesPath getFilesPath; + /** * 鍒嗛〉鏌ヨ @@ -186,4 +206,58 @@ return data; } + public void exportConfigChange(Long id, HttpServletRequest request, HttpServletResponse response) { + try { + ConfigItemChangeDto dataObj = this.getDto(null, id); + + String qaAuditorPath = "鏂囦欢鍥剧墖:"+ getFilesPath.getSignPath(Convert.toLong(dataObj.getConfigItemChange().getQaAuditorId())); + dataObj.getConfigItemChange().setQaAuditor(qaAuditorPath); + String cmAuditorPath = "鏂囦欢鍥剧墖:"+getFilesPath.getSignPath(Convert.toLong(dataObj.getConfigItemChange().getCmAuditorId())); + dataObj.getConfigItemChange().setCmAuditor(cmAuditorPath); + String implementerPath = "鏂囦欢鍥剧墖:"+getFilesPath.getSignPath(Convert.toLong(dataObj.getConfigItemChange().getImplementerId())); + dataObj.getConfigItemChange().setImplementer(implementerPath); + String approvalSignPath = "鏂囦欢鍥剧墖:"+getFilesPath.getSignPath(Convert.toLong(dataObj.getConfigItemChange().getApprovalId())); + dataObj.getConfigItemChange().setApprovalSign(approvalSignPath); + String warehouseOperatorPath = "鏂囦欢鍥剧墖:"+getFilesPath.getSignPath(Convert.toLong(dataObj.getConfigItemChange().getWarehouseOperatorId())); + dataObj.getConfigItemChange().setWarehouseOperator(warehouseOperatorPath); + /*String outboundOperatorPath = "鏂囦欢鍥剧墖:"+getFilesPath.getSignPath(Convert.toLong(dataObj.getConfigItemChange().getOutboundOperatorId())); + dataObj.getConfigItemChange().setOutboundOperator(outboundOperatorPath);*/ + //閫氱敤瀛楀吀鍒楄〃瀛楃涓茬敓鎴� + String libraryTypeStr = getShowDictList.getShowDictList(dataObj.getConfigItemChange().getLibraryType(), "library_type", false); + dataObj.getConfigItemChange().setLibraryType(libraryTypeStr); + + String QaAuditResultStr = getShowDictList.getShowDictList(dataObj.getConfigItemChange().getQaAuditResults(), "is_pass", false); + dataObj.getConfigItemChange().setQaAuditResults(QaAuditResultStr); + + String CmAuditResultStr = getShowDictList.getShowDictList(dataObj.getConfigItemChange().getCmAuditResults(), "is_pass", false); + dataObj.getConfigItemChange().setCmAuditResults(CmAuditResultStr); + + String ApprovalOpinionStr = getShowDictList.getShowDictList(dataObj.getConfigItemChange().getApprovalOpinions(), "is_agree", false); + dataObj.getConfigItemChange().setApprovalOpinions(ApprovalOpinionStr); + + for (WarehouseCmAudit cmAuditList : dataObj.getCmAuditList()) { + String value = cmAuditList.getExamineResult(); + String ExamineResultStr = getShowDictList.getShowDictList(value, "tristate2", false); + cmAuditList.setExamineResult(ExamineResultStr); + } + for (WarehouseQaAudit qaAuditList : dataObj.getQaAuditList()) { + String value = qaAuditList.getExamineResult(); + String ExamineResultStr = getShowDictList.getShowDictList(value, "tristate2", false); + qaAuditList.setExamineResult(ExamineResultStr); + } + for (WarehouseConfigItem configItemList : dataObj.getConfigChangeList()) { + String value = configItemList.getSecretClass(); + String secretClassStr = getShowDictList.getShowDictList(value, "secret_class", false); + configItemList.setSecretClass(secretClassStr); + } + 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(); + } + } } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/controller/ConfigItemWarehouseController.java b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/controller/ConfigItemWarehouseController.java index 3de3851..ad643c8 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/controller/ConfigItemWarehouseController.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/controller/ConfigItemWarehouseController.java @@ -29,6 +29,7 @@ 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; @@ -120,5 +121,11 @@ return Result.ok(); } + @GetMapping("exportWarehouseOrder") + @ApiOperation("鎵撳嵃鍏ュ簱鐢宠鍗�") + @LogOperation("鎵撳嵃鍏ュ簱鐢宠鍗�") + public void exportWarehouseOrder(Long id,HttpServletRequest request, HttpServletResponse response) { + configItemWarehouseService.exportWarehouseOrder(id,request, response); + } } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/ConfigItemWarehouse.java b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/ConfigItemWarehouse.java index 43b662c..3c524d5 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/ConfigItemWarehouse.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/ConfigItemWarehouse.java @@ -71,6 +71,9 @@ @ApiModelProperty(value = "鎵瑰噯绛惧瓧") private String approvalSign; + @ApiModelProperty(value = "鎵瑰噯绛惧瓧") + private String approvalId; + @ApiModelProperty(value = "鎵瑰噯鏃ユ湡") @JsonFormat(pattern = "yyyy-MM-dd") private Date approvalDate; diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java index 4d1257c..d544997 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java @@ -1,7 +1,10 @@ package com.zt.life.modules.configItemWarehouse.service; +import cn.hutool.core.convert.Convert; import com.zt.common.service.BaseService; import com.zt.common.utils.CommonUtils; +import com.zt.life.export.dto.WordFile; +import com.zt.life.export.service.WordFileService; import com.zt.life.modules.configItemWarehouse.dao.ConfigItemWarehouseDao; import com.zt.life.modules.configItemWarehouse.dto.ConfigItemWarehouseDto; import com.zt.life.modules.configItemWarehouse.model.ConfigItemWarehouse; @@ -12,6 +15,8 @@ import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrder; import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrderTechnical; import com.zt.life.modules.itemCirculatOrder.service.ItemCirculatOrderTechnicalService; +import com.zt.life.modules.mainPart.utils.GetFilesPath; +import com.zt.life.modules.mainPart.utils.GetShowDictList; import com.zt.life.modules.project.model.SoftwareTestOrderDeliverable; import com.zt.life.modules.project.model.SoftwareTestOrderMeasured; import com.zt.life.modules.project.service.ProjectService; @@ -29,6 +34,10 @@ 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.HashMap; import java.util.List; import java.util.Map; @@ -68,6 +77,15 @@ @Autowired private TestCheckOrderService testCheckOrderService; + + @Autowired + private GetShowDictList getShowDictList; + + @Autowired + private WordFileService wordFileService; + + @Autowired + private GetFilesPath getFilesPath; /** * 鍒嗛〉鏌ヨ @@ -207,4 +225,54 @@ return data; } + public void exportWarehouseOrder(Long id, HttpServletRequest request, HttpServletResponse response) { + try { + ConfigItemWarehouseDto dataObj = this.getDto(null, id); + + String qaAuditorPath = "鏂囦欢鍥剧墖:"+ getFilesPath.getSignPath(Convert.toLong(dataObj.getConfigItemWarehouse().getQaAuditorId())); + dataObj.getConfigItemWarehouse().setQaAuditor(qaAuditorPath); + String cmAuditorPath = "鏂囦欢鍥剧墖:"+getFilesPath.getSignPath(Convert.toLong(dataObj.getConfigItemWarehouse().getCmAuditorId())); + dataObj.getConfigItemWarehouse().setCmAuditor(cmAuditorPath); + String approvalSignPath = "鏂囦欢鍥剧墖:"+getFilesPath.getSignPath(Convert.toLong(dataObj.getConfigItemWarehouse().getApprovalId())); + dataObj.getConfigItemWarehouse().setApprovalSign(approvalSignPath); + String operatorPath = "鏂囦欢鍥剧墖:"+getFilesPath.getSignPath(Convert.toLong(dataObj.getConfigItemWarehouse().getOperatorId())); + dataObj.getConfigItemWarehouse().setOperator(operatorPath); + //閫氱敤瀛楀吀鍒楄〃瀛楃涓茬敓鎴� + String libraryTypeStr = getShowDictList.getShowDictList(dataObj.getConfigItemWarehouse().getLibraryType(), "library_type", false); + dataObj.getConfigItemWarehouse().setLibraryType(libraryTypeStr); + + String QaAuditResultStr = getShowDictList.getShowDictList(dataObj.getConfigItemWarehouse().getQaAuditResults(), "is_pass", false); + dataObj.getConfigItemWarehouse().setQaAuditResults(QaAuditResultStr); + + String CmAuditResultStr = getShowDictList.getShowDictList(dataObj.getConfigItemWarehouse().getCmAuditResults(), "is_pass", false); + dataObj.getConfigItemWarehouse().setCmAuditResults(CmAuditResultStr); + + String ApprovalOpinionStr = getShowDictList.getShowDictList(dataObj.getConfigItemWarehouse().getApprovalOpinions(), "is_agree", false); + dataObj.getConfigItemWarehouse().setApprovalOpinions(ApprovalOpinionStr); + + for (WarehouseCmAudit cmAuditList : dataObj.getCmAuditList()) { + String value = cmAuditList.getExamineResult(); + String ExamineResultStr = getShowDictList.getShowDictList(value, "tristate2", false); + cmAuditList.setExamineResult(ExamineResultStr); + } + for (WarehouseQaAudit qaAuditList : dataObj.getQaAuditList()) { + String value = qaAuditList.getExamineResult(); + String ExamineResultStr = getShowDictList.getShowDictList(value, "tristate2", false); + qaAuditList.setExamineResult(ExamineResultStr); + } + for (WarehouseConfigItem configItemList : dataObj.getConfigItemList()) { + String value = configItemList.getSecretClass(); + String secretClassStr = getShowDictList.getShowDictList(value, "secret_class", false); + configItemList.setSecretClass(secretClassStr); + } + 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(); + } + } } diff --git a/modules/mainPart/src/main/resources/mapper/configItemWarehouse/WarehouseConfigItemDao.xml b/modules/mainPart/src/main/resources/mapper/configItemWarehouse/WarehouseConfigItemDao.xml index 92dfa12..0af6c8b 100644 --- a/modules/mainPart/src/main/resources/mapper/configItemWarehouse/WarehouseConfigItemDao.xml +++ b/modules/mainPart/src/main/resources/mapper/configItemWarehouse/WarehouseConfigItemDao.xml @@ -17,7 +17,9 @@ </if> </select> <select id="itemList" resultType="com.zt.life.modules.configItemWarehouse.model.WarehouseConfigItem"> - SELECT p.secret_class, + SET @row_number = 0; + SELECT (@row_number := @row_number + 1) AS no, + p.secret_class, SUBSTRING(m.name, LOCATE('杞欢', m.name), LENGTH(m.name)) AS itemName, m.identify AS version, m.name AS Item_identify @@ -27,7 +29,8 @@ WHERE s.is_delete = 0 AND s.id = m.order_id UNION - SELECT NULL AS secretClass, + SELECT (@row_number := @row_number + 1) AS no, + NULL AS secretClass, '杞欢娴嬭瘯濮旀墭鍗�' AS itemName, NULL AS version, s.code AS itemIdentify @@ -35,7 +38,8 @@ WHERE s.is_delete = 0 AND s.project_id = ${projectId} UNION - SELECT NULL AS secretClass, + SELECT (@row_number := @row_number + 1) AS no, + NULL AS secretClass, '鐗╁搧娴佽浆鍗�' AS itemName, NULL AS version, i.code AS itemIdentify diff --git a/web/src/views/modules/configItemChange/ConfigItemChange-AddOrUpdate.vue b/web/src/views/modules/configItemChange/ConfigItemChange-AddOrUpdate.vue index e7f22df..9239b8f 100644 --- a/web/src/views/modules/configItemChange/ConfigItemChange-AddOrUpdate.vue +++ b/web/src/views/modules/configItemChange/ConfigItemChange-AddOrUpdate.vue @@ -286,12 +286,17 @@ <add-or-update-check ref="addOrUpdate" @recall="setCheckId"/> <ConfigItemList ref="configItemList" @getChangeItemList="getChangeItemList"></ConfigItemList> </el-form> + <template v-slot:footer> + <el-button v-if="dataForm.disabled" type="primary" @click="print()">鎵撳嵃</el-button> + </template> </zt-dialog> </template> <script> import AddOrUpdateCheck from '../testCheckOrder/TestCheckOrder-AddOrUpdate' import ConfigItemList from './configItemList.vue' + import qs from "qs"; + import Cookies from "js-cookie"; export default { data() { @@ -434,6 +439,14 @@ console.log(checkId, row, "setCheckId(checkId, row)") this.$set(row, 'checkId', checkId) }, + async print(){ + var params = qs.stringify({ + token: Cookies.get('token'), + id:this.dataForm.id + }) + let apiURL = `/configItemChange/ConfigItemChange/exportConfigChange` + window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${params}` + }, // 鑾峰彇淇℃伅 async getInfo() { let params = { diff --git a/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue b/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue index 462cae9..01ae420 100644 --- a/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue +++ b/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue @@ -238,11 +238,16 @@ </div> <add-or-update-check ref="addOrUpdate" @recall="setCheckId"/> </el-form> + <template v-slot:footer> + <el-button v-if="dataForm.disabled" type="primary" @click="print()">鎵撳嵃</el-button> + </template> </zt-dialog> </template> <script> import AddOrUpdateCheck from '../testCheckOrder/TestCheckOrder-AddOrUpdate' + import qs from "qs"; + import Cookies from "js-cookie"; export default { data() { @@ -391,6 +396,14 @@ } console.log(this.dataForm, "getInfo this.dataForm") }, + async print(){ + var params = qs.stringify({ + token: Cookies.get('token'), + id:this.dataForm.id + }) + let apiURL = `/configItemWarehouse/ConfigItemWarehouse/exportWarehouseOrder` + window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${params}` + }, // 琛ㄥ崟鎻愪氦 async formSubmit(submitType) { if (this.showColumn && submitType == 'bl') { -- Gitblit v1.9.1