|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | import com.zt.life.modules.sysBaseInfo.service.TestAgencyInfoService; | 
|---|
|  |  |  | import com.zt.life.modules.testCheckOrder.model.TestCheckOrder; | 
|---|
|  |  |  | import com.zt.life.modules.testCheckOrder.service.TestCheckOrderService; | 
|---|
|  |  |  | 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.workflow.dto.FlowInfoDto; | 
|---|
|  |  |  | import com.zt.modules.workflow.service.WorkflowService; | 
|---|
|  |  |  | import org.apache.commons.lang3.StringUtils; | 
|---|
|  |  |  | 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.HashMap; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Map; | 
|---|
|  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * config_item_warehouse | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @author zt generator | 
|---|
|  |  |  | * @author zt generator | 
|---|
|  |  |  | * @since 1.0.0 2023-11-27 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Service | 
|---|
|  |  |  | public class ConfigItemWarehouseService  extends BaseService<ConfigItemWarehouseDao, ConfigItemWarehouse> { | 
|---|
|  |  |  | public class ConfigItemWarehouseService extends BaseService<ConfigItemWarehouseDao, ConfigItemWarehouse> { | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private SysOssConfigService sysOssConfigService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private WarehouseConfigItemService configItemService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private TestCheckOrderService testCheckOrderService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private GetShowDictList getShowDictList; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private WordFileService wordFileService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private GetFilesPath getFilesPath; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 分页查询 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public List<ConfigItemWarehouse> page(QueryFilter queryFilter) { | 
|---|
|  |  |  | return baseDao.getList(queryFilter.getQueryParams()); | 
|---|
|  |  |  | List<ConfigItemWarehouse> list= baseDao.getList(queryFilter.getQueryParams()); | 
|---|
|  |  |  | workflowService.getRunFlow(list,"pzxrk"); | 
|---|
|  |  |  | return list; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  | else { | 
|---|
|  |  |  | Map<String, String> map = new HashMap<>(); | 
|---|
|  |  |  | map.put("funCode", "config_item_warehouse"); | 
|---|
|  |  |  | map.put("projectId",configItemDto.getProjectId().toString()); | 
|---|
|  |  |  | map.put("projectId", configItemDto.getProjectId().toString()); | 
|---|
|  |  |  | configItemDto.getConfigItemWarehouse().setProjectId(configItemDto.getProjectId()); | 
|---|
|  |  |  | configItemDto.getConfigItemWarehouse().setCode(sysCodeRuleService.getNewCode(map)); | 
|---|
|  |  |  | baseDao.insert(configItemDto.getConfigItemWarehouse()); | 
|---|
|  |  |  | 
|---|
|  |  |  | for (WarehouseConfigItem configItem : configItemDto.getConfigItemList()) { | 
|---|
|  |  |  | configItem.setWarehouseId(warehouseId); | 
|---|
|  |  |  | if (configItem.getId() != null) { | 
|---|
|  |  |  | configItemService.update(configItem); | 
|---|
|  |  |  | WarehouseConfigItem configItem2 = configItemService.get(configItem.getId()); | 
|---|
|  |  |  | if (CommonUtils.isActureChangeData(configItem,configItem2)) { | 
|---|
|  |  |  | configItemService.update(configItem); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | Map<String, String> map = new HashMap<>(); | 
|---|
|  |  |  | String pageCode = configItem.getPageCode(); | 
|---|
|  |  |  | if (StringUtils.isNotBlank(pageCode) && "plan,explain,record,report".contains(pageCode)) { | 
|---|
|  |  |  | map.put("funCode", "test_" + pageCode); | 
|---|
|  |  |  | //map.put("projectId",configItemDto.getProjectId().toString()); | 
|---|
|  |  |  | configItem.setItemIdentify(sysCodeRuleService.getNewCode(map)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | configItem.setWarehouseId(warehouseId); | 
|---|
|  |  |  | configItem.setProjectId(configItemDto.getConfigItemWarehouse().getProjectId()); | 
|---|
|  |  |  | configItemService.insert(configItem); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Long checkId = configItem.getCheckId(); | 
|---|
|  |  |  | if (checkId != null) { | 
|---|
|  |  |  | TestCheckOrder testCheckOrder = testCheckOrderService.get(checkId); | 
|---|
|  |  |  | if (testCheckOrder.getConfigItemId() == null) { | 
|---|
|  |  |  | Long configItemId = configItem.getId(); | 
|---|
|  |  |  | testCheckOrder.setConfigItemId(configItemId); | 
|---|
|  |  |  | testCheckOrder.setConfigOrderId(warehouseId); | 
|---|
|  |  |  | testCheckOrderService.update(testCheckOrder); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | sysOssConfigService.updateOss(configItem.getId(), configItem.getFiles());// 保存附件 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | Long bizId = configItemDto.getConfigItemWarehouse().getId(); | 
|---|
|  |  |  | FlowInfoDto flowInfoDto = configItemDto.getFlowInfoDto(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (flowInfoDto != null && "tj,bl".contains(flowInfoDto.getSubmitType())) { | 
|---|
|  |  |  | if (flowInfoDto != null && flowInfoDto.getSubmitType() != null && "tj,bl".contains(flowInfoDto.getSubmitType())) { | 
|---|
|  |  |  | if ("tj".equals(flowInfoDto.getSubmitType())) { | 
|---|
|  |  |  | workflowService.startFlow(flowInfoDto.getFlowCode(), bizId); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | ConfigItemWarehouse configItemWarehouse = this.get(warehouseId); | 
|---|
|  |  |  | data.setConfigItemWarehouse(configItemWarehouse); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | projectId = configItemWarehouse.getProjectId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (projectId == null) { | 
|---|
|  |  |  | projectId = configItemWarehouse.getProjectId(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | List<WarehouseCmAudit> CmAuditList = cmAuditService.getList(warehouseId); | 
|---|
|  |  |  | data.setCmAuditList(CmAuditList); | 
|---|
|  |  |  | List<WarehouseQaAudit> QaAuditList = qaAuditService.getList(warehouseId); | 
|---|
|  |  |  | 
|---|
|  |  |  | data.setConfigItemList(ConfigItemList); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | ConfigItemWarehouse configItemWarehouse =new ConfigItemWarehouse(); | 
|---|
|  |  |  | ConfigItemWarehouse configItemWarehouse = new ConfigItemWarehouse(); | 
|---|
|  |  |  | data.setConfigItemWarehouse(configItemWarehouse); | 
|---|
|  |  |  | List<?> cmList = baseDao.itemList("warehouse_cm_audit"); | 
|---|
|  |  |  | List<?> CmAuditList = cmList; | 
|---|
|  |  |  | 
|---|
|  |  |  | 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(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|