package com.zt.life.modules.contractReview.service;
|
|
import cn.hutool.core.convert.Convert;
|
import com.zt.common.service.BaseService;
|
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.model.BaselineRelease;
|
import com.zt.life.modules.contractReview.dao.ContractReviewDao;
|
import com.zt.life.modules.contractReview.dto.ContractReviewDto;
|
import com.zt.life.modules.contractReview.model.ContractReview;
|
import com.zt.life.modules.contractReview.model.ContractReviewItem;
|
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.service.ProjectService;
|
import com.zt.life.modules.project.service.SoftwareTestOrderDeliverableService;
|
import com.zt.life.modules.project.service.SoftwareTestOrderService;
|
import com.zt.life.modules.sysBaseInfo.service.TestAgencyInfoService;
|
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 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;
|
|
|
/**
|
* contract_review
|
*
|
* @author zt generator
|
* @since 1.0.0 2023-12-15
|
*/
|
@Service
|
public class ContractReviewService extends BaseService<ContractReviewDao, ContractReview> {
|
|
@Autowired
|
private SysOssConfigService sysOssConfigService;
|
@Autowired
|
private SoftwareTestOrderService softwareTestOrderService;
|
|
@Autowired
|
private SysOssService sysOssService;
|
|
@Autowired
|
private TestAgencyInfoService testAgencyInfoService;
|
|
@Autowired
|
private SysCodeRuleService sysCodeRuleService;
|
|
@Autowired
|
private ProjectService projectService;
|
|
@Autowired
|
private ContractReviewItemService itemService;
|
|
@Autowired
|
private WorkflowService workflowService;
|
|
@Autowired
|
private GetShowDictList getShowDictList;
|
|
@Autowired
|
private WordFileService wordFileService;
|
|
@Autowired
|
private GetFilesPath getFilesPath;
|
|
/**
|
* 分页查询
|
*
|
* @param queryFilter
|
* @return
|
*/
|
public List<ContractReview> page(QueryFilter queryFilter) {
|
User user = UserContext.getUser();
|
Integer secretClass = user.getSecretClass();
|
Long deptId = user.getDeptId();
|
queryFilter.getQueryParams().put("secretClass",secretClass);
|
queryFilter.getQueryParams().put("deptId",deptId);
|
List<ContractReview> list = baseDao.getList(queryFilter.getQueryParams());
|
if (list.size() > 0) {
|
sysOssService.setListOsses(list, "contract_review");
|
}
|
return list;
|
}
|
|
/**
|
* 删除
|
*
|
* @param ids
|
*/
|
public void delete(Long[] ids) {
|
super.deleteLogic(ids);
|
}
|
|
public Boolean save(ContractReviewDto reviewDto) {
|
Long reviewId = reviewDto.getContractReview().getId();
|
if (reviewId != null)
|
baseDao.updateById(reviewDto.getContractReview());
|
else {
|
Map<String, String> map = new HashMap<>();
|
map.put("funCode", "contract_review");
|
map.put("projectId", reviewDto.getProjectId().toString());
|
reviewDto.getContractReview().setProjectId(reviewDto.getProjectId());
|
reviewDto.getContractReview().setCode(sysCodeRuleService.getNewCode(map));
|
baseDao.insert(reviewDto.getContractReview());
|
reviewId = reviewDto.getContractReview().getId();
|
}
|
|
for (ContractReviewItem reviewItem : reviewDto.getReviewItemList()) {
|
reviewItem.setReviewId(reviewId);
|
if (reviewItem.getId() != null) {
|
itemService.update(reviewItem);
|
} else {
|
reviewItem.setReviewId(reviewId);
|
itemService.insert(reviewItem);
|
}
|
}
|
|
if (reviewDto.getTestAgencyInfo().getId() == 10000) {
|
reviewDto.getTestAgencyInfo().setId(reviewId);
|
testAgencyInfoService.insert(reviewDto.getTestAgencyInfo());
|
} else {
|
testAgencyInfoService.update(reviewDto.getTestAgencyInfo());
|
}
|
sysOssConfigService.updateOss(reviewDto.getId(), reviewDto.getFiles());// 保存附件
|
return true;
|
}
|
|
public ContractReviewDto getDto(Long projectId, Long reviewId) {
|
ContractReviewDto data = new ContractReviewDto();
|
if (reviewId != null) {
|
data.setId(reviewId);
|
ContractReview contractReview = this.get(reviewId);
|
data.setContractReview(contractReview);
|
if (projectId == null) {
|
projectId = contractReview.getProjectId();
|
}
|
|
data.setTestAgencyInfo(testAgencyInfoService.get(reviewId));
|
|
List<ContractReviewItem> reviewItemList = itemService.getList(reviewId);
|
data.setReviewItemList(reviewItemList);
|
|
} else {
|
ContractReview contractReview = new ContractReview();
|
data.setContractReview(contractReview);
|
String dictType ="contract_review_item";
|
List<?> resultList = itemService.itemList(dictType);
|
List<?> reviewItemList = resultList;
|
data.setReviewItemList((List<ContractReviewItem>) reviewItemList);
|
}
|
|
if (projectId != null) {
|
data.setProjectId(projectId);
|
Project project = projectService.get(projectId);
|
data.setProject(project);
|
}
|
data.getContractReview().setOrderCode(softwareTestOrderService.selectOrderId(projectId));
|
if (data.getTestAgencyInfo() == null)
|
data.setTestAgencyInfo(testAgencyInfoService.get(10000L));
|
return data;
|
}
|
|
|
public void exportReview(Long id, HttpServletRequest request, HttpServletResponse response) {
|
try {
|
ContractReviewDto dataObj = this.getDto(null, id);
|
|
//通用字典列表字符串生成
|
String reviewTypeStr = getShowDictList.getShowDictList(dataObj.getContractReview().getReviewType(), "review_type", false);
|
dataObj.getContractReview().setReviewType(reviewTypeStr);
|
|
for (ContractReviewItem reviewItem : dataObj.getReviewItemList()) {
|
String value = reviewItem.getResult();
|
String ResultStr = getShowDictList.getShowDictList(value, "tristate1", false);
|
reviewItem.setResult(ResultStr);
|
}
|
|
|
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();
|
}
|
}
|
}
|