|
|
@@ -11,6 +11,7 @@ import com.hotent.uc.manager.OrgManager;
|
|
|
import com.hotent.uc.manager.UserManager;
|
|
|
import com.hotent.uc.model.Org;
|
|
|
import com.hotent.uc.model.User;
|
|
|
+import com.hotent.uc.util.ContextUtil;
|
|
|
import com.hotent.util.FileUploadUtil;
|
|
|
import com.hotent.util.wordexcelutils.CompleteTemplateProcessor;
|
|
|
import com.hotent.util.wordexcelutils.SmartTemplateWriter;
|
|
|
@@ -113,6 +114,7 @@ public class AsyncMaterialSummaryService {
|
|
|
"成本监审集体审议记录",
|
|
|
"成本监审工作底稿",
|
|
|
"成本监审提取资料登记表",
|
|
|
+ "提取的成本资料和会计凭证等复印件",
|
|
|
"中止定价成本监审料通知书(含送达回证)"
|
|
|
};
|
|
|
|
|
|
@@ -209,6 +211,7 @@ public class AsyncMaterialSummaryService {
|
|
|
case 14:
|
|
|
// 中止定价成本监审料通知书(含送达回证)
|
|
|
generateType14Details(summary, mainTask, childTasks, documents);
|
|
|
+ break;
|
|
|
default:
|
|
|
throw new RuntimeException("未知的资料类型");
|
|
|
}
|
|
|
@@ -225,7 +228,9 @@ public class AsyncMaterialSummaryService {
|
|
|
int orderNum = 1;
|
|
|
// 获取"成本监审报告"、"成本监审报告签发稿"、"送达回证"
|
|
|
List<CostProjectDocument> matchedDocuments = documents.stream()
|
|
|
- .filter(doc -> "政府定价成本监审结论报告".equals(doc.getDocumentName()))
|
|
|
+ .filter(doc -> "政府定价成本监审结论报告".equals(doc.getDocumentName())
|
|
|
+ || "政府定价成本监审结论报告-送达回证".equals(doc.getDocumentName())
|
|
|
+ )
|
|
|
.sorted(Comparator.comparing(doc -> doc.getOrderNum() != null ? doc.getOrderNum() : 0))
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
@@ -238,7 +243,7 @@ public class AsyncMaterialSummaryService {
|
|
|
detail.setAuditedUnitName("");
|
|
|
detail.setFileSource("系统生成电子文书");
|
|
|
detail.setPageCount(0);
|
|
|
- detail.setAttachmentUrl(document.getElectronicDocumentUrl() != null ? document.getElectronicDocumentUrl() : "");
|
|
|
+ detail.setAttachmentUrl(document.getActUrl() != null ? document.getActUrl() : "");
|
|
|
detail.setOrderNum(orderNum++);
|
|
|
detail.setIsDeleted("0");
|
|
|
costProjectTaskMaterialSummaryDetailManager.save(detail);
|
|
|
@@ -308,7 +313,7 @@ public class AsyncMaterialSummaryService {
|
|
|
detail.setAuditedUnitName("");
|
|
|
detail.setFileSource("系统生成电子文书");
|
|
|
detail.setPageCount(0);
|
|
|
- detail.setAttachmentUrl(document.getElectronicDocumentUrl() != null ? document.getElectronicDocumentUrl() : "");
|
|
|
+ detail.setAttachmentUrl(document.getActUrl() != null ? document.getActUrl() : "");
|
|
|
detail.setOrderNum(orderNum++);
|
|
|
detail.setIsDeleted("0");
|
|
|
costProjectTaskMaterialSummaryDetailManager.save(detail);
|
|
|
@@ -322,7 +327,7 @@ public class AsyncMaterialSummaryService {
|
|
|
int orderNum = 1;
|
|
|
// 获取"成本资料清单"
|
|
|
List<CostProjectDocument> matchedDocuments = documents.stream()
|
|
|
- .filter(doc -> "成本资料清单".equals(doc.getDocumentName()))
|
|
|
+ .filter(doc -> "成本监审资料提取资料登记表".equals(doc.getDocumentName()))
|
|
|
.sorted(Comparator.comparing(doc -> doc.getOrderNum() != null ? doc.getOrderNum() : 0))
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
@@ -335,7 +340,7 @@ public class AsyncMaterialSummaryService {
|
|
|
detail.setAuditedUnitName("");
|
|
|
detail.setFileSource("系统生成电子文书");
|
|
|
detail.setPageCount(0);
|
|
|
- detail.setAttachmentUrl(document.getElectronicDocumentUrl() != null ? document.getElectronicDocumentUrl() : "");
|
|
|
+ detail.setAttachmentUrl(document.getActUrl() != null ? document.getActUrl() : "");
|
|
|
detail.setOrderNum(orderNum++);
|
|
|
detail.setIsDeleted("0");
|
|
|
costProjectTaskMaterialSummaryDetailManager.save(detail);
|
|
|
@@ -412,33 +417,11 @@ public class AsyncMaterialSummaryService {
|
|
|
detail.setAuditedUnitName("");
|
|
|
detail.setFileSource("系统生成电子文书");
|
|
|
detail.setPageCount(0);
|
|
|
- detail.setAttachmentUrl(document.getElectronicDocumentUrl() != null ? document.getElectronicDocumentUrl() : "");
|
|
|
+ detail.setAttachmentUrl(document.getActUrl() != null ? document.getActUrl() : "");
|
|
|
detail.setOrderNum(orderNum++);
|
|
|
detail.setIsDeleted("0");
|
|
|
costProjectTaskMaterialSummaryDetailManager.save(detail);
|
|
|
}
|
|
|
- // 获取任务的报送资料要求(被监审单位提交的补充资料)
|
|
|
- List<CostProjectTaskMaterial> list = costProjectTaskMaterialManager.list(
|
|
|
- new LambdaQueryWrapper<>(CostProjectTaskMaterial.class)
|
|
|
- .eq(CostProjectTaskMaterial::getTaskId, mainTask.getId())
|
|
|
- );
|
|
|
- for (CostProjectTaskMaterial material : list) {
|
|
|
- // 只处理已上传的资料
|
|
|
- if ("1".equals(material.getIsUpload()) && StringUtil.isNotEmpty(material.getFileUrl())) {
|
|
|
- CostProjectTaskMaterialSummaryDetail detail = new CostProjectTaskMaterialSummaryDetail();
|
|
|
- detail.setMasterId(summary.getId());
|
|
|
- detail.setTaskId(mainTask.getId());
|
|
|
- detail.setDocumentName(material.getInformationName() != null ? material.getInformationName() : "补充资料");
|
|
|
- detail.setDocumentNumber("");
|
|
|
- detail.setAuditedUnitName("");
|
|
|
- detail.setFileSource("监审单位反馈文件");
|
|
|
- detail.setPageCount(0);
|
|
|
- detail.setAttachmentUrl(material.getFileUrl());
|
|
|
- detail.setOrderNum(orderNum++);
|
|
|
- detail.setIsDeleted("0");
|
|
|
- costProjectTaskMaterialSummaryDetailManager.save(detail);
|
|
|
- }
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
// ==================== 类型7:成本审核初步意见告知书(含送达回证) ====================
|
|
|
@@ -462,7 +445,7 @@ public class AsyncMaterialSummaryService {
|
|
|
detail.setAuditedUnitName("");
|
|
|
detail.setFileSource("系统生成电子文书");
|
|
|
detail.setPageCount(0);
|
|
|
- detail.setAttachmentUrl(document.getElectronicDocumentUrl() != null ? document.getElectronicDocumentUrl() : "");
|
|
|
+ detail.setAttachmentUrl(document.getActUrl() != null ? document.getActUrl() : "");
|
|
|
detail.setOrderNum(orderNum++);
|
|
|
detail.setIsDeleted("0");
|
|
|
costProjectTaskMaterialSummaryDetailManager.save(detail);
|
|
|
@@ -489,7 +472,7 @@ public class AsyncMaterialSummaryService {
|
|
|
detail.setAuditedUnitName("");
|
|
|
detail.setFileSource("监审单位反馈文件");
|
|
|
detail.setPageCount(0);
|
|
|
- detail.setAttachmentUrl(document.getFeedbackDocumentUrl() != null ? document.getFeedbackDocumentUrl() : "");
|
|
|
+ detail.setAttachmentUrl(document.getActUrl() != null ? document.getActUrl() : "");
|
|
|
detail.setOrderNum(orderNum++);
|
|
|
detail.setIsDeleted("0");
|
|
|
costProjectTaskMaterialSummaryDetailManager.save(detail);
|
|
|
@@ -539,7 +522,7 @@ public class AsyncMaterialSummaryService {
|
|
|
detail.setAuditedUnitName("");
|
|
|
detail.setFileSource("系统生成电子文书");
|
|
|
detail.setPageCount(0);
|
|
|
- detail.setAttachmentUrl(document.getElectronicDocumentUrl() != null ? document.getElectronicDocumentUrl() : "");
|
|
|
+ detail.setAttachmentUrl(document.getActUrl() != null ? document.getActUrl() : "");
|
|
|
detail.setOrderNum(orderNum++);
|
|
|
detail.setIsDeleted("0");
|
|
|
costProjectTaskMaterialSummaryDetailManager.save(detail);
|
|
|
@@ -565,7 +548,7 @@ public class AsyncMaterialSummaryService {
|
|
|
detail.setAuditedUnitName("");
|
|
|
detail.setFileSource("系统生成电子文书");
|
|
|
detail.setPageCount(0);
|
|
|
- detail.setAttachmentUrl(document.getElectronicDocumentUrl() != null ? document.getElectronicDocumentUrl() : "");
|
|
|
+ detail.setAttachmentUrl(document.getActUrl() != null ? document.getActUrl() : "");
|
|
|
detail.setOrderNum(orderNum++);
|
|
|
detail.setIsDeleted("0");
|
|
|
costProjectTaskMaterialSummaryDetailManager.save(detail);
|
|
|
@@ -612,7 +595,7 @@ public class AsyncMaterialSummaryService {
|
|
|
detail.setAuditedUnitName("");
|
|
|
detail.setFileSource("系统生成电子文书");
|
|
|
detail.setPageCount(0);
|
|
|
- detail.setAttachmentUrl(document.getElectronicDocumentUrl() != null ? document.getElectronicDocumentUrl() : "");
|
|
|
+ detail.setAttachmentUrl(document.getActUrl() != null ? document.getActUrl() : "");
|
|
|
detail.setOrderNum(orderNum++);
|
|
|
detail.setIsDeleted("0");
|
|
|
costProjectTaskMaterialSummaryDetailManager.save(detail);
|
|
|
@@ -659,7 +642,7 @@ public class AsyncMaterialSummaryService {
|
|
|
detail.setAuditedUnitName("");
|
|
|
detail.setFileSource("系统生成电子文书");
|
|
|
detail.setPageCount(0);
|
|
|
- detail.setAttachmentUrl(document.getElectronicDocumentUrl() != null ? document.getElectronicDocumentUrl() : "");
|
|
|
+ detail.setAttachmentUrl(document.getActUrl() != null ? document.getActUrl() : "");
|
|
|
detail.setOrderNum(orderNum++);
|
|
|
detail.setIsDeleted("0");
|
|
|
costProjectTaskMaterialSummaryDetailManager.save(detail);
|
|
|
@@ -708,11 +691,36 @@ public class AsyncMaterialSummaryService {
|
|
|
detail.setAuditedUnitName("");
|
|
|
detail.setFileSource("监审单位反馈文件");
|
|
|
detail.setPageCount(0);
|
|
|
- detail.setAttachmentUrl(document.getFeedbackDocumentUrl() != null ? document.getFeedbackDocumentUrl() : "");
|
|
|
+ detail.setAttachmentUrl(document.getActUrl() != null ? document.getActUrl() : "");
|
|
|
detail.setOrderNum(orderNum++);
|
|
|
detail.setIsDeleted("0");
|
|
|
costProjectTaskMaterialSummaryDetailManager.save(detail);
|
|
|
}
|
|
|
+ // 获取子任务的资料登记表
|
|
|
+ for (CostProjectTask childTask : childTasks) {
|
|
|
+ // 获取任务的报送资料要求(被监审单位提交的补充资料)
|
|
|
+ List<CostProjectTaskMaterial> list = costProjectTaskMaterialManager.list(
|
|
|
+ new LambdaQueryWrapper<>(CostProjectTaskMaterial.class)
|
|
|
+ .eq(CostProjectTaskMaterial::getTaskId, childTask.getId())
|
|
|
+ );
|
|
|
+ for (CostProjectTaskMaterial material : list) {
|
|
|
+ // 只处理已上传的资料
|
|
|
+ if ("1".equals(material.getIsUpload()) && StringUtil.isNotEmpty(material.getFileUrl())) {
|
|
|
+ CostProjectTaskMaterialSummaryDetail detail = new CostProjectTaskMaterialSummaryDetail();
|
|
|
+ detail.setMasterId(summary.getId());
|
|
|
+ detail.setTaskId(mainTask.getId());
|
|
|
+ detail.setDocumentName(material.getInformationName() != null ? material.getInformationName() : "补充资料");
|
|
|
+ detail.setDocumentNumber("");
|
|
|
+ detail.setAuditedUnitName("");
|
|
|
+ detail.setFileSource("监审单位反馈文件");
|
|
|
+ detail.setPageCount(0);
|
|
|
+ detail.setAttachmentUrl(material.getFileUrl());
|
|
|
+ detail.setOrderNum(orderNum++);
|
|
|
+ detail.setIsDeleted("0");
|
|
|
+ costProjectTaskMaterialSummaryDetailManager.save(detail);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// ==================== 类型14:中止定价成本监审料通知书(含送达回证) ====================
|
|
|
@@ -735,7 +743,7 @@ public class AsyncMaterialSummaryService {
|
|
|
detail.setAuditedUnitName("");
|
|
|
detail.setFileSource("监审单位反馈文件");
|
|
|
detail.setPageCount(0);
|
|
|
- detail.setAttachmentUrl(document.getFeedbackDocumentUrl() != null ? document.getFeedbackDocumentUrl() : "");
|
|
|
+ detail.setAttachmentUrl(document.getActUrl() != null ? document.getActUrl() : "");
|
|
|
detail.setOrderNum(orderNum++);
|
|
|
detail.setIsDeleted("0");
|
|
|
costProjectTaskMaterialSummaryDetailManager.save(detail);
|
|
|
@@ -1058,7 +1066,7 @@ public class AsyncMaterialSummaryService {
|
|
|
*/
|
|
|
public String generateArchiveDocument(com.hotent.project.req.ArchiveProofreadReq req) throws Exception {
|
|
|
Integer documentType = req.getDocumentType();
|
|
|
- String existingId = req.getId();
|
|
|
+ String existingId = req.getRelatedId();
|
|
|
|
|
|
// 如果id不为空,从数据库获取已有记录的documentType(id是主表ID)
|
|
|
if (StringUtil.isNotEmpty(existingId)) {
|
|
|
@@ -1123,6 +1131,16 @@ public class AsyncMaterialSummaryService {
|
|
|
if (StringUtil.isNotEmpty(existingId)) {
|
|
|
// 编辑:existingId是主表ID,查找对应的明细记录
|
|
|
masterId = existingId;
|
|
|
+ CostProjectTaskMaterialSummary existingSummary = costProjectTaskMaterialSummaryManager.getById(masterId);
|
|
|
+ if (existingSummary != null) {
|
|
|
+ // 更新task的卷宗号和归档人
|
|
|
+ CostProjectTask task = costProjectTaskManager.getById(existingSummary.getTaskId());
|
|
|
+ if (task != null) {
|
|
|
+ task.setArchiveNo(req.getArchiveNo());
|
|
|
+ task.setArchiveUser(ContextUtil.getCurrentUser().getAccount());
|
|
|
+ costProjectTaskManager.updateById(task);
|
|
|
+ }
|
|
|
+ }
|
|
|
CostProjectTaskMaterialSummaryDetail existingDetail = costProjectTaskMaterialSummaryDetailManager.getOne(
|
|
|
new LambdaQueryWrapper<CostProjectTaskMaterialSummaryDetail>()
|
|
|
.eq(CostProjectTaskMaterialSummaryDetail::getMasterId, masterId)
|
|
|
@@ -1155,6 +1173,13 @@ public class AsyncMaterialSummaryService {
|
|
|
summary.setIsDeleted("0");
|
|
|
costProjectTaskMaterialSummaryManager.save(summary);
|
|
|
masterId = summary.getId();
|
|
|
+ // 更新task的卷宗号和归档人
|
|
|
+ CostProjectTask task = costProjectTaskManager.getById(req.getTaskId());
|
|
|
+ if (task != null) {
|
|
|
+ task.setArchiveNo(req.getArchiveNo());
|
|
|
+ task.setArchiveUser(ContextUtil.getCurrentUser().getAccount());
|
|
|
+ costProjectTaskManager.updateById(task);
|
|
|
+ }
|
|
|
|
|
|
// 创建明细记录
|
|
|
CostProjectTaskMaterialSummaryDetail detail = new CostProjectTaskMaterialSummaryDetail();
|
|
|
@@ -1419,7 +1444,7 @@ public class AsyncMaterialSummaryService {
|
|
|
XWPFTable table = tables.get(0);
|
|
|
|
|
|
// 找到模板行(第二行,第一行是表头)
|
|
|
- int templateRowIndex = 1;
|
|
|
+ int templateRowIndex = 0;
|
|
|
if (table.getRows().size() <= templateRowIndex) {
|
|
|
logger.warn("表格行数不足");
|
|
|
return;
|