fix(文档拆分): 标记标准拆分状态(已拆分、未拆分、已更新未拆分)

This commit is contained in:
yjz
2024-07-02 13:49:08 +08:00
parent 35f2482765
commit c411799706
7 changed files with 71 additions and 2 deletions
@@ -92,7 +92,27 @@ public class DocumentSplitCommon {
* 拆分状态 1:编辑中 2:已发布
*/
public static final String SPLIT_STATUS2 = "2";
/**
* 来源 1:国标 3:企标
*/
public static final String ORIDIN1 = "1";
/**
* 来源 1:国标 3:企标
*/
public static final String ORIDIN3 = "3";
/**
* 标准拆分状态 1:已拆分 2:未拆分 3:已更新未拆分
*/
public static final String STANDARD_SPLIT_STATUS1 = "1";
/**
* 标准拆分状态 1:已拆分 2:未拆分 3:已更新未拆分
*/
public static final String STANDARD_SPLIT_STATUS2 = "2";
/**
* 标准拆分状态 1:已拆分 2:未拆分 3:已更新未拆分
*/
public static final String STANDARD_SPLIT_STATUS3 = "3";
public static final String INTERPRETATION = "interpretation";
public static final String MEG_DEL = "删除成功!";
public static final String MEG_DEL_BATCH = "批量删除成功!";
}
}
@@ -9,6 +9,7 @@ import com.jero.common.api.vo.ResultCommon;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.exception.JeroBootException;
import com.jero.common.util.MessageUtils;
import com.jero.modules.laws.documenttool.common.DocumentSplitCommon;
import com.jero.modules.laws.documenttool.entity.DocumentSplitInfo;
import com.jero.modules.laws.documenttool.entity.LawsDocumentSplitView;
import com.jero.modules.laws.documenttool.entity.SplitFileInfo;
@@ -36,6 +37,7 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @Author: yjz
@@ -212,7 +214,10 @@ public class DocumentSplitController {
}
documentSplitService.isHorizontalOverstep(map.getId());
documentSplitService.checkOutOperation(Collections.singletonList(map.getId()));
SarFileSplitInfoEO sarFileSplitInfoEO = sarFileSplitInfoService.getById(map.getId());
sarFileSplitInfoService.deleteById(map.getId());
// 更新标准拆分状态
sarFileSplitInfoService.updateStandardSplitStatus(sarFileSplitInfoEO.getStandardId(), DocumentSplitCommon.STANDARD_SPLIT_STATUS2);
return Result.OK(MessageUtils.getMessage(ResultCommon.SUCCESSFULLY_DELETED));
}
@@ -233,7 +238,12 @@ public class DocumentSplitController {
List<String> list = Arrays.asList(map.getIds().split(","));
documentSplitService.isHorizontalOverstep(map.getIds());
documentSplitService.checkOutOperation(list);
List<SarFileSplitInfoEO> sarFileSplitInfoEOList = sarFileSplitInfoService.listByIds(Arrays.asList(map.getIds().split(",")));
sarFileSplitInfoService.deleteByIds(list);
// 更新标准拆分状态
sarFileSplitInfoService.updateStandardSplitStatus(sarFileSplitInfoEOList.stream()
.map(SarFileSplitInfoEO::getStandardId).collect(Collectors.joining(","))
, DocumentSplitCommon.STANDARD_SPLIT_STATUS2);
return Result.OK(MessageUtils.getMessage(ResultCommon.SUCCESSFULLY_DELETED_IN_BULK));
}
@@ -1394,6 +1394,8 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
sarFileSplitInfoEO.setTitle(fileInfo.getStandardName());
try {
add(sarFileSplitInfoEO);
// 更新标准拆分状态
sarFileSplitInfoService.updateStandardSplitStatus(sarFileSplitInfoEO.getStandardId(), DocumentSplitCommon.STANDARD_SPLIT_STATUS1);
// 提交事务
dataSourceTransactionManager.commit(transaction);
}catch (JeroBootException e){
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -209,6 +210,10 @@ public class LawsDomesticStandard implements Serializable {
@Excel(name = "草案", width = 15)
@ApiModelProperty(value = "草案")
private java.lang.String draft;
/**标准拆分状态*/
@Excel(name = "标准拆分状态", width = 15)
@Dict(dicCode = "standard_split_status")
private java.lang.String standardSplitStatus;
/**是否ASMS导入(1是)*/
private String isAsmsImport;
@@ -319,7 +319,9 @@ public class LawsEnterpriseStandard implements Serializable {
@ApiModelProperty(value = "老法规系统Id")
private String oldSystemId;
/**标准拆分状态*/
@Dict(dicCode = "standard_split_status")
private java.lang.String standardSplitStatus;
@TableField(exist = false)
private static final long serialVersionUID = 1809789807789012221L;
@@ -82,4 +82,7 @@ public interface ISarFileSplitInfoService extends IService<SarFileSplitInfoEO> {
// 根据企标Id删除数据
void deleteByStandardId(String ids);
// 更新标准拆分状态
void updateStandardSplitStatus(String standardIds, String standardSplitStatus);
}
@@ -1,5 +1,6 @@
package com.jero.modules.split.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -19,6 +20,7 @@ import com.jero.generater.modules.online.cgform.entity.OnlCgformField;
import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServiceImpl;
import com.jero.modules.document.enums.FieldTypeEnum;
import com.jero.modules.document.service.IBussDocumentLibraryEOService;
import com.jero.modules.laws.documenttool.common.DocumentSplitCommon;
import com.jero.modules.laws.standard.entity.LawsDomesticStandard;
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
import com.jero.modules.laws.standard.service.ILawsDomesticStandardService;
@@ -465,5 +467,30 @@ public class SarFileSplitInfoServiceImpl extends ServiceImpl<SarFileSplitInfoMap
}
}
@Override
public void updateStandardSplitStatus(String standardIds, String standardSplitStatus) {
List<String> idList = new ArrayList<>(Arrays.asList(standardIds.split(",")));
if (DocumentSplitCommon.STANDARD_SPLIT_STATUS2.equals(standardSplitStatus)){
List<SarFileSplitInfoEO> sarFileSplitInfoEOList = list(new LambdaQueryWrapper<SarFileSplitInfoEO>()
.isNull(SarFileSplitInfoEO::getPublishBeforeId)
.in(SarFileSplitInfoEO::getStandardId, idList));
List<String> collect = sarFileSplitInfoEOList.stream().map(SarFileSplitInfoEO::getStandardId).distinct()
.collect(Collectors.toList());
idList.removeAll(collect);
}
if (CollUtil.isEmpty(idList)){
return;
}
// 更新标准拆分状态
lawsDomesticStandardService.update(new LambdaUpdateWrapper<LawsDomesticStandard>()
.in(LawsDomesticStandard::getId, idList)
.set(LawsDomesticStandard::getStandardSplitStatus, standardSplitStatus));
ILawsEnterpriseStandardService.update(new LambdaUpdateWrapper<LawsEnterpriseStandard>()
.eq(LawsEnterpriseStandard::getId, idList)
.set(LawsEnterpriseStandard::getStandardSplitStatus, standardSplitStatus));
}
}