提交 2b721b5d 编写于 作者: O o2null

Merge branch 'fix/cms_import_document_refresh_review' into 'wrdp'

[cms]导入文档同步权限刷新,原为异步刷新权限

See merge request o2oa/o2oa!2200
......@@ -19,6 +19,8 @@ import com.x.cms.core.entity.Document;
import com.x.cms.core.entity.content.Data;
public class QueueDataRowImport extends AbstractQueue<ImportDataRow> {
private CmsBatchOperationProcessService cmsBatchOperationProcessService = new CmsBatchOperationProcessService();
public void execute( ImportDataRow dataRow ) throws Exception {
int curRow = dataRow.getCurRow();
......@@ -114,9 +116,10 @@ public class QueueDataRowImport extends AbstractQueue<ImportDataRow> {
}
if(flag) {
new CmsBatchOperationPersistService().addOperation(
cmsBatchOperationProcessService.refreshDocumentReview(document.getId());
/*new CmsBatchOperationPersistService().addOperation(
CmsBatchOperationProcessService.OPT_OBJ_DOCUMENT,
CmsBatchOperationProcessService.OPT_TYPE_PERMISSION, document.getId(), document.getId(), "导入新文档:ID=" + document.getId());
CmsBatchOperationProcessService.OPT_TYPE_PERMISSION, document.getId(), document.getId(), "导入新文档:ID=" + document.getId());*/
}
}else {
System.out.println("数据导入不成功,propertyNames为空,无法识别数据列对应的属性!");
......
......@@ -276,6 +276,54 @@ public class CmsBatchOperationProcessService {
CacheManager.notify( Document.class );
}
/**
* 根据数据库中的文档的信息,重新计算文档的Review信息
* 全部删除,然后再重新插入Review记录
* @param docId
* @throws Exception
*/
public void refreshDocumentReview(String docId ) throws Exception {
try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
reviewService.refreshDocumentReview( emc, docId );
Document document = emc.find( docId, Document.class );
if( document != null ) {
emc.beginTransaction( Document.class );
document.setReviewed( true );
if( StringUtils.isEmpty( document.getAppAlias() )) {
document.setAppAlias( document.getAppName() );
}
document.setSequenceAppAlias( document.getAppAlias() + document.getId() );
document.setSequenceCategoryAlias( document.getCategoryAlias() + document.getId() );
if( StringUtils.isNotEmpty( document.getTitle() ) && document.getTitle().length() > 30 ) {
document.setSequenceTitle( document.getTitle().substring(0, 30) + document.getId() );
}else {
document.setSequenceTitle( document.getTitle() + document.getId() );
}
if( StringUtils.isNotEmpty( document.getCreatorPerson() ) && document.getCreatorPerson().length() > 50 ) {
document.setSequenceCreatorPerson( document.getCreatorPerson().substring(0, 50) + document.getId() );
}else {
document.setSequenceCreatorPerson( document.getCreatorPerson() + document.getId() );
}
if( StringUtils.isNotEmpty( document.getCreatorUnitName() ) && document.getCreatorUnitName().length() > 50 ) {
document.setSequenceCreatorUnitName( document.getCreatorUnitName().substring(0, 50) + document.getId() );
}else {
document.setSequenceCreatorUnitName( document.getCreatorUnitName() + document.getId() );
}
emc.check( document, CheckPersistType.all );
emc.commit();
}
} catch (Exception e) {
logger.warn("refreshDocumentReview error:{}",e.getMessage());
}finally {
CacheManager.notify( Review.class );
CacheManager.notify( Document.class );
}
}
/**
* 将栏目下所有的文档删除,最后删除当前的批处理信息
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册