Commit 7d0f01ac authored by 施翔轲's avatar 施翔轲

项目台账文件解析步骤更新

parent ce3a91c1
...@@ -27,6 +27,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -27,6 +27,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* 项目台账表(CbProjectRecord)表服务实现类 * 项目台账表(CbProjectRecord)表服务实现类
...@@ -85,22 +86,27 @@ public class CbProjectRecordServiceImpl extends ServiceImpl<CbProjectRecordMappe ...@@ -85,22 +86,27 @@ public class CbProjectRecordServiceImpl extends ServiceImpl<CbProjectRecordMappe
//校验项目是否存在 //校验项目是否存在
CbProjectRecord projectRecord = this.checkProjectExist(projectId); CbProjectRecord projectRecord = this.checkProjectExist(projectId);
List<CbProjectFile> projectFileList = new ArrayList<>();
//校验各个成本类型是否至少有1个文件 //校验各个成本类型是否至少有1个文件
//直接费成本 //直接费成本
this.checkCbTypeExistFile(projectId, CbProjectConstants.CB_TYPE_DIRECT_EXPENSE, CbProjectConstants.CB_TYPE_DIRECT_EXPENSE_NAME); projectFileList.addAll(this.checkCbTypeExistFile(projectId, CbProjectConstants.CB_TYPE_DIRECT_EXPENSE, CbProjectConstants.CB_TYPE_DIRECT_EXPENSE_NAME));
//工料汇总 //工料汇总
this.checkCbTypeExistFile(projectId, CbProjectConstants.CB_TYPE_QUANTITY_SUMMARY, CbProjectConstants.CB_TYPE_QUANTITY_SUMMARY_NAME); projectFileList.addAll(this.checkCbTypeExistFile(projectId, CbProjectConstants.CB_TYPE_QUANTITY_SUMMARY, CbProjectConstants.CB_TYPE_QUANTITY_SUMMARY_NAME));
//措施项目 //措施项目
this.checkCbTypeExistFile(projectId, CbProjectConstants.CB_TYPE_MEASURE_PROJECT, CbProjectConstants.CB_TYPE_MEASURE_PROJECT_NAME); projectFileList.addAll(this.checkCbTypeExistFile(projectId, CbProjectConstants.CB_TYPE_MEASURE_PROJECT, CbProjectConstants.CB_TYPE_MEASURE_PROJECT_NAME));
//其他项目 //其他项目
this.checkCbTypeExistFile(projectId, CbProjectConstants.CB_TYPE_OTHER_PROJECT, CbProjectConstants.CB_TYPE_OTHER_PROJECT_NAME); projectFileList.addAll(this.checkCbTypeExistFile(projectId, CbProjectConstants.CB_TYPE_OTHER_PROJECT, CbProjectConstants.CB_TYPE_OTHER_PROJECT_NAME));
//现场经费 //现场经费
this.checkCbTypeExistFile(projectId, CbProjectConstants.CB_TYPE_SCENE_EXPENSE, CbProjectConstants.CB_TYPE_SCENE_EXPENSE_NAME); projectFileList.addAll(this.checkCbTypeExistFile(projectId, CbProjectConstants.CB_TYPE_SCENE_EXPENSE, CbProjectConstants.CB_TYPE_SCENE_EXPENSE_NAME));
//成本汇总 //成本汇总
this.checkCbTypeExistFile(projectId, CbProjectConstants.CB_TYPE_SUMMARY, CbProjectConstants.CB_TYPE_SUMMARY_NAME); projectFileList.addAll(this.checkCbTypeExistFile(projectId, CbProjectConstants.CB_TYPE_SUMMARY, CbProjectConstants.CB_TYPE_SUMMARY_NAME));
//修改项目文件状态:解析中 //修改项目状态:解析中
projectRecord.setProjectFileStatus(CbProjectConstants.PROJECT_FILE_STATUS_PARSING); projectRecord.setProjectFileStatus(CbProjectConstants.PROJECT_FILE_STATUS_PARSING);
baseMapper.updateById(projectRecord);
//修改所有该项目的项目文件状态:解析中
CbProjectFileServiceImpl projectFileService = new CbProjectFileServiceImpl();
projectFileService.updateBatchById(projectFileList.stream().peek(projectFile -> projectFile.setFileParseStatus(CbProjectConstants.PROJECT_FILE_STATUS_PARSING)).collect(Collectors.toList()));
//TODO:调各个成本类型的解析文件方法 //TODO:调各个成本类型的解析文件方法
//直接费成本 //直接费成本
...@@ -123,13 +129,14 @@ public class CbProjectRecordServiceImpl extends ServiceImpl<CbProjectRecordMappe ...@@ -123,13 +129,14 @@ public class CbProjectRecordServiceImpl extends ServiceImpl<CbProjectRecordMappe
* @param cbType 成本类型字典(0:直接费成本、1:工料汇总、2:措施项目、3:其他项目、4:现场经费、5:成本汇总) * @param cbType 成本类型字典(0:直接费成本、1:工料汇总、2:措施项目、3:其他项目、4:现场经费、5:成本汇总)
* @param cbTypeName 成本类型名称 * @param cbTypeName 成本类型名称
*/ */
private void checkCbTypeExistFile(Long projectId, Integer cbType, String cbTypeName) { private List<CbProjectFile> checkCbTypeExistFile(Long projectId, Integer cbType, String cbTypeName) {
boolean isExist = projectFileMapper.exists(new LambdaQueryWrapper<CbProjectFile>() List<CbProjectFile> projectFileList = projectFileMapper.selectList(new LambdaQueryWrapper<CbProjectFile>()
.eq(CbProjectFile::getProjectId, projectId) .eq(CbProjectFile::getProjectId, projectId)
.eq(CbProjectFile::getCbType, cbType) .eq(CbProjectFile::getCbType, cbType)
//项目文件状态:解析 //项目文件状态:准备
.eq(CbProjectFile::getFileParseStatus, CbProjectConstants.PROJECT_FILE_STATUS_PREPARING)); .eq(CbProjectFile::getFileParseStatus, CbProjectConstants.PROJECT_FILE_STATUS_PREPARING));
Assert.isTrue(isExist, cbTypeName + "至少需要上传1个文件"); Assert.isFalse(projectFileList.isEmpty(), cbTypeName + "至少需要上传1个文件");
return projectFileList;
} }
/** /**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment