package com.zt.life.modules.configAuditReport.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.life.export.dto.WordFile;
|
import com.zt.life.export.service.WordFileService;
|
import com.zt.life.modules.baselineRelease.dto.BaselineDto;
|
import com.zt.life.modules.baselineRelease.model.BaselineRelease;
|
import com.zt.life.modules.baselineRelease.model.BaselineReleaseRemark;
|
import com.zt.life.modules.configAuditReport.dao.ConfigAuditReportDao;
|
import com.zt.life.modules.configAuditReport.dto.ConfigAuditDto;
|
import com.zt.life.modules.configAuditReport.model.ConfigAuditReport;
|
import com.zt.life.modules.configAuditReport.model.ConfigAuditReportContent;
|
import com.zt.life.modules.configAuditReport.model.ConfigAuditReportProblem;
|
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.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.project.service.ProjectService;
|
import com.zt.life.modules.testCheckOrder.model.TestCheckOrder;
|
import com.zt.life.modules.testCheckOrder.service.TestCheckOrderService;
|
import com.zt.life.sys.dto.OssDto;
|
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 io.swagger.annotations.ApiModelProperty;
|
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.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
|
/**
|
* config_audit_report
|
*
|
* @author zt generator
|
* @since 1.0.0 2023-12-21
|
*/
|
@Service
|
public class ConfigAuditReportService extends BaseService<ConfigAuditReportDao, ConfigAuditReport> {
|
@Autowired
|
private SysOssConfigService sysOssConfigService;
|
|
@Autowired
|
private SysOssService sysOssService;
|
|
@Autowired
|
private SysCodeRuleService sysCodeRuleService;
|
|
@Autowired
|
private ProjectService projectService;
|
|
@Autowired
|
private ConfigAuditReportContentService contentService;
|
|
@Autowired
|
private ConfigAuditReportProblemService problemService;
|
|
@Autowired
|
private GetShowDictList getShowDictList;
|
|
@Autowired
|
private WordFileService wordFileService;
|
|
/**
|
* 分页查询
|
*
|
* @param queryFilter
|
* @return
|
*/
|
public List<ConfigAuditReport> page(QueryFilter queryFilter) {
|
User user = UserContext.getUser();
|
Integer secretClass = user.getSecretClass();
|
queryFilter.getQueryParams().put("secretClass",secretClass);
|
List<ConfigAuditReport> list = baseDao.getList(queryFilter.getQueryParams());
|
if (list != null && list.size() > 0) {
|
sysOssService.setListOsses(list, "config_audit_report");
|
}
|
return list;
|
}
|
|
/**
|
* 删除
|
*
|
* @param ids
|
*/
|
public void delete(Long[] ids) {
|
super.deleteLogic(ids);
|
}
|
public ConfigAuditDto getDto(Long projectId, Long reportId) {
|
ConfigAuditDto data = new ConfigAuditDto();
|
if (reportId != null) {
|
data.setId(reportId);
|
ConfigAuditReport auditReport = this.get(reportId);
|
data.setAuditReport(auditReport);
|
if (auditReport != null && projectId == null) {
|
projectId = auditReport.getProjectId();
|
}
|
List<ConfigAuditReportProblem> problemList = problemService.getList(reportId);
|
List<ConfigAuditReportContent> contentList = contentService.getList(reportId);
|
data.setContentList(contentList);
|
data.setProblemList(problemList);
|
} else {
|
ConfigAuditReport auditReport = new ConfigAuditReport();
|
data.setAuditReport(auditReport);
|
List<ConfigAuditReportContent> contentList = contentService.dictList("config_check_item");
|
data.setContentList( contentList);
|
}
|
if (projectId != null) {
|
data.setProjectId(projectId);
|
data.setProject(projectService.get(projectId));
|
}
|
return data;
|
}
|
|
public Boolean save(ConfigAuditDto configAuditDto) {
|
Long reportId = configAuditDto.getAuditReport().getId();
|
if (reportId != null)
|
baseDao.updateById(configAuditDto.getAuditReport());
|
else {
|
Map<String, String> map = new HashMap<>();
|
map.put("funCode", "config_audit_report");
|
map.put("projectId", configAuditDto.getProjectId().toString());
|
configAuditDto.getAuditReport().setProjectId(configAuditDto.getProjectId());
|
configAuditDto.getAuditReport().setCode(sysCodeRuleService.getNewCode(map));
|
baseDao.insert(configAuditDto.getAuditReport());
|
reportId = configAuditDto.getAuditReport().getId();
|
}
|
|
for (ConfigAuditReportContent content : configAuditDto.getContentList()) {
|
content.setReportId(reportId);
|
if (content.getId() != null) {
|
ConfigAuditReportContent content2 = contentService.get(content.getId());
|
if (CommonUtils.isActureChangeData(content,content2)) {
|
contentService.update(content);
|
}
|
} else {
|
content.setProjectId(configAuditDto.getAuditReport().getProjectId());
|
contentService.insert(content);
|
}
|
}
|
|
for (ConfigAuditReportProblem problem : configAuditDto.getProblemList()) {
|
problem.setReportId(reportId);
|
if (problem.getId() != null) {
|
problemService.update(problem);
|
} else {
|
problemService.insert(problem);
|
}
|
}
|
sysOssConfigService.updateOss(configAuditDto.getId(), configAuditDto.getFiles());// 保存附件
|
return true;
|
}
|
|
public void exportConfigAudit(Long id, HttpServletRequest request, HttpServletResponse response) {
|
try {
|
ConfigAuditDto dataObj = this.getDto(null, id);
|
//通用字典列表字符串生成
|
for (ConfigAuditReportContent content : dataObj.getContentList()) {
|
String value = content.getAuditResult();
|
String auditResult = getShowDictList.getShowDictList(value, "status_tag", false);
|
content.setAuditResult(auditResult);
|
}
|
for (ConfigAuditReportProblem problem : dataObj.getProblemList()) {
|
String value = problem.getIsNotTrue();
|
String IsNotTrue = getShowDictList.getShowDictList(value, "is_or_not", false);
|
problem.setIsNotTrue(IsNotTrue);
|
}
|
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();
|
}
|
}
|
}
|