feat: scc流程添加标准

This commit is contained in:
2024-07-18 15:25:59 +08:00
parent 095009d9f8
commit b2570c371b
3 changed files with 51 additions and 3 deletions
@@ -30,10 +30,14 @@ import com.jero.modules.activiti.process.standardComplianceCheck.service.IProces
import com.jero.modules.activiti.process.standardComplianceCheck.service.IProcessStandardComplianceCheckService;
import com.jero.modules.activiti.service.ProcessNodeLinkService;
import com.jero.modules.activiti.util.ExcelUtils;
import com.jero.modules.laws.documenttool.entity.LawsDocumentSplit;
import com.jero.modules.laws.documenttool.mapper.DocumentSplitMapper;
import com.jero.modules.laws.documenttool.service.IDocumentSplitService;
import com.jero.modules.laws.enterprise.util.BeanCopyUtils;
import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.split.entity.SarFileSplitInfoEO;
import com.jero.modules.split.service.ISarFileSplitInfoService;
import com.jero.modules.sys.utils.UserUtils;
import com.jero.modules.system.entity.SysDepart;
import com.jero.modules.system.service.ISysDepartService;
@@ -93,6 +97,12 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
@Resource
private IOSSFileService ossFileService;
@Resource
private ISarFileSplitInfoService sarFileSplitInfoService;
@Resource
private DocumentSplitMapper documentSplitMapper;
@Override
public void startProcess(ProcessInfoVO<ProcessSccVO> processInfoVO) {
// 流程Key
@@ -394,17 +404,37 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
@Override
public List<ProcessStandardComplianceCheckDetail> generate(ProcessStandardComplianceCheck scc) throws Exception {
String splitFileSource = scc.getSplitFileSource();
List<ProcessStandardComplianceCheckDetail> detailInfoList;
// 找到拆分数据
if (StrUtil.isBlank(splitFileSource)) {
MultipartFile splitFile = this.getFileById(scc.getSplitFile());
detailInfoList = this.getSplitData(scc, splitFile);
} else {
detailInfoList = this.getSplitDataByStandard(scc.getStandardId(), splitFileSource);
}
// 获取两个文件
MultipartFile modelFile = this.getFileById(scc.getModelFile());
MultipartFile splitFile = this.getFileById(scc.getSplitFile());
// 文件内容转换
List<ModelExcelVO> modelExcelVOList = this.getModelExcelData(modelFile);
// 找到拆分数据
List<ProcessStandardComplianceCheckDetail> detailInfoList = this.getSplitData(scc, splitFile);
// 根据主表数据和车型文件生成子表数据并保存
return this.saveAllDetailData(modelExcelVOList, detailInfoList);
}
private List<ProcessStandardComplianceCheckDetail> getSplitDataByStandard(String standardId, String fileType) {
List<ProcessStandardComplianceCheckDetail> list = new ArrayList<>();
SarFileSplitInfoEO sarFileSplitInfoEO =
sarFileSplitInfoService.getOne(new LambdaQueryWrapper<SarFileSplitInfoEO>()
.eq(SarFileSplitInfoEO::getStandardId, standardId)
.eq(SarFileSplitInfoEO::getFileType, fileType)
.isNull(SarFileSplitInfoEO::getPublishBeforeId), false);
if (!Objects.isNull(sarFileSplitInfoEO)){
LawsDocumentSplit lawsDocumentSplit = new LawsDocumentSplit();
lawsDocumentSplit.setInfoId(sarFileSplitInfoEO.getId());
list = documentSplitMapper.selectClauseListScc(lawsDocumentSplit);
}
return list;
}
@Override
public ProcessInfoVO<ProcessSccVO> getHandleData(String taskId) {
if (!actFlowCommonService.taskExists(taskId)) {
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.modules.activiti.process.standardComplianceCheck.entity.ProcessStandardComplianceCheckDetail;
import com.jero.modules.activiti.process.standardinterpret.entity.ProcessStandardInterpretClause;
import com.jero.modules.laws.documenttool.entity.*;
import com.jero.modules.split.entity.SarFileSplitInfoEO;
@@ -215,4 +216,6 @@ public interface DocumentSplitMapper extends BaseMapper<LawsDocumentSplit> {
List<String> queryLawsDocumentSplitGroupByMenuId(@Param("infoId") String infoId);
List<ProcessStandardInterpretClause> selectClauseList(@Param("lawsDocumentSplit") LawsDocumentSplit lawsDocumentSplit);
List<ProcessStandardComplianceCheckDetail> selectClauseListScc(@Param("lawsDocumentSplit") LawsDocumentSplit lawsDocumentSplit);
}
@@ -273,6 +273,21 @@
</if>
</select>
<select id="selectClauseListScc"
resultType="com.jero.modules.activiti.process.standardComplianceCheck.entity.ProcessStandardComplianceCheckDetail">
SELECT s.id clauseId,
item_num as termNumber,
item_title as termTitle,
item_content as termContent,
responsible_department as authDept
FROM laws_document_split s
LEFT JOIN SAR_FILE_SPLIT_MENU m ON s.MENU_ID = m.id
WHERE del_flag = 0
<if test="lawsDocumentSplit.infoId != null and lawsDocumentSplit.infoId != ''">
AND s.info_id = #{lawsDocumentSplit.infoId}
</if>
</select>
<update id="editDocumentSplitDetail">
UPDATE laws_document_split
SET ${updateSet}