jinlin
2024-01-12 f491d30b0a69148bd0991b3d5b1c4cf9f8216949
modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskTraceItemService.java
@@ -1,7 +1,12 @@
package com.zt.life.modules.riskTraceRecord.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.project.service.ProjectService;
import com.zt.life.modules.qaAuditReport.dto.QaAuditReportDto;
import com.zt.life.modules.qaAuditReport.model.QaAuditReport;
@@ -12,11 +17,18 @@
import com.zt.life.modules.riskTraceRecord.model.RiskTraceItem;
import com.zt.life.modules.riskTraceRecord.model.RiskTraceRecord;
import com.zt.life.sys.service.SysOssConfigService;
import com.zt.modules.oss.service.SysOssService;
import com.zt.modules.workflow.dto.FlowInfoDto;
import com.zt.modules.workflow.service.WorkflowService;
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;
@@ -26,11 +38,11 @@
/**
 * risk_trace_item
 *
 * @author zt generator
 * @author zt generator
 * @since 1.0.0 2024-01-09
 */
@Service
public class RiskTraceItemService  extends BaseService<RiskTraceItemDao, RiskTraceItem> {
public class RiskTraceItemService extends BaseService<RiskTraceItemDao, RiskTraceItem> {
    @Autowired
    private RiskMeasureService measureService;
@@ -40,6 +52,15 @@
    @Autowired
    private ProjectService projectService;
    @Autowired
    private SysOssService sysOssService;
    @Autowired
    private WordFileService wordFileService;
    @Autowired
    private SysOssConfigService sysOssConfigService;
    /**
     * 分页查询
     *
@@ -47,14 +68,13 @@
     * @return
     */
    public List<RiskTraceItem> page(QueryFilter queryFilter) {
        return baseDao.getList(queryFilter.getQueryParams());
        List<RiskTraceItem> list = baseDao.getList(queryFilter.getQueryParams());
       /* if (list != null && list.size() > 0) {
            sysOssService.setListOsses(list, "risk_trace_item");
        }*/
        return list;
    }
    private List<RiskTraceItem> getList(Long riskId) {
        Map<String, Object> params = new HashMap<>();
        params.put("riskId",riskId);
        return baseDao.getList(params);
    }
    /**
     * 删除
     *
@@ -64,7 +84,7 @@
        super.deleteLogic(ids);
    }
    public RiskTraceDto getDto(Long projectId, Long riskId){
    public RiskTraceDto getDto(Long projectId, Long riskId) {
        RiskTraceDto data = new RiskTraceDto();
        if (riskId != null) {
            data.setId(riskId);
@@ -73,23 +93,28 @@
            if (riskMeasure != null && projectId == null) {
                projectId = data.getProjectId();
            }
            List<RiskTraceItem> itemList = this.getList(riskId);
            data.setItemList(itemList);
            List<RiskTraceRecord> recordList = recordService.getList(riskId);
            data.setRecordList(recordList);
            List<RiskTraceRecord> riskList = recordService.getList(riskId);
            data.setRiskList(riskList);
        } else {
            RiskMeasure riskMeasure = new RiskMeasure();
            data.setRiskMeasure(riskMeasure);
            List<RiskTraceItem> itemList = this.getList(null);
            List<RiskTraceItem> itemList = this.getList(riskId);
            data.setItemList(itemList);
            List<RiskTraceRecord> recordList = new ArrayList<>();
            data.setRecordList(recordList);
            List<RiskTraceRecord> riskList = recordService.getList(riskId);
            data.setRiskList(riskList);
        }
        if (projectId != null) {
            data.setProjectId(projectId);
            data.getRiskMeasure().setProjectId(projectId);
            data.setProject(projectService.get(projectId));
        }
        return data;
    }
    private List<RiskTraceItem> getList(Long riskId) {
        Map<String, Object> params = new HashMap<>();
        params.put("riskId", riskId);
        return baseDao.getList(params);
    }
@@ -102,28 +127,47 @@
            riskId = riskTraceDto.getRiskMeasure().getId();
        }
        for (RiskTraceRecord record : riskTraceDto.getRecordList()) {
            record.setRiskId(riskId);
            if (record.getId() != null) {
                RiskTraceRecord record2 = recordService.get(record.getId());
                if (CommonUtils.isActureChangeData(record,record2)) {
                    recordService.update(record2);
                }
            } else {
                recordService.insert(record);
            }
        }
        for (RiskTraceItem item : riskTraceDto.getItemList()) {
            item.setRiskId(riskId);
            if (item.getId() != null) {
                RiskTraceItem item2 = this.get(item.getId());
                if (CommonUtils.isActureChangeData(item,item2)) {
                    baseDao.updateById(item2);
                }
            } else {
                baseDao.insert(item);
            if (item.getRiskId() == null) {
                item.setId(null);
                item.setRiskId(riskId);
                this.insert(item);
            }
        }
        for (int i = 0; i < riskTraceDto.getRiskList().size(); i++) {
            RiskTraceRecord risk = riskTraceDto.getRiskList().get(i);
            RiskTraceItem item = null;
            if (riskTraceDto.getItemList().size() > 0) {
                item = riskTraceDto.getItemList().get(i);
            }
            risk.setRiskId(riskId);
            if (risk.getId() != null) {
                recordService.update(risk);
            } else {
                risk.setItemId(item.getId());
                recordService.insert(risk);
            }
        }
        sysOssConfigService.updateOss(riskTraceDto.getId(), riskTraceDto.getFiles());// 保存附件
        return true;
    }
    public void exportRiskRecord(Long id, HttpServletRequest request, HttpServletResponse response) {
        try {
            RiskTraceDto dataObj = this.getDto(null, id);
            WordFile wordFile = new WordFile();
            wordFile.setModulePath("测试风险跟踪记录.docx");
            if (dataObj.getProject() == null) {
                dataObj.setProject(projectService.get(dataObj.getRiskMeasure().getProjectId()));
            }
            wordFile.setWordName(dataObj.getProject().getSoftwareName() + "_测试风险跟踪记录.docx");
            wordFileService.exportWordFile(request, dataObj, wordFile, response);
        } catch (UnsupportedEncodingException | FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}