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); } } 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 = "批准签字人ID") private Long approvalId; @ApiModelProperty(value = "出库CM操作") private String outboundCmOperations; 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(); } } } 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); } } 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; 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(); } } } 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 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 = { 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') {