feat: There is no way the,Laws
This commit is contained in:
+18
@@ -5,6 +5,7 @@ import com.adc.da.base.entity.BaseEntity;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import com.adc.da.slrs.sarStandAttrDetails.entity.SarStandAttrDetails;
|
||||
import com.adc.da.slrs.sarStandItems.entity.SarStandItems;
|
||||
import com.adc.da.slrs.standardSplit.entity.SarStandAttrDetailsEO;
|
||||
import com.adc.da.sys.entity.DicTypeEO;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
@@ -145,6 +146,17 @@ public class SarLawsStandInfo extends BaseEntity {
|
||||
private String param2;
|
||||
|
||||
// 非表字段
|
||||
@ApiModelProperty(value = "代替文件号")
|
||||
@TableField(exist = false)
|
||||
private String replaceFileNum;
|
||||
|
||||
@ApiModelProperty(value = "被代替文件号")
|
||||
@TableField(exist = false)
|
||||
private String replacedFileNum;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String processNum;//流程编号
|
||||
|
||||
@TableField(exist = false)
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private String firstPutTime;
|
||||
@@ -240,4 +252,10 @@ public class SarLawsStandInfo extends BaseEntity {
|
||||
@TableField(exist = false)
|
||||
private List<DicTypeEO> dicTypeList = new ArrayList(); // 记录标准涉及到的所有数据字典数据
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<SarStandItems> itemsList = new ArrayList<>();
|
||||
@ApiModelProperty(value = "分解单条款内容")
|
||||
@TableField(exist = false)
|
||||
private Map<String,String> mapItems = new TreeMap<>();
|
||||
|
||||
}
|
||||
|
||||
+5
@@ -5,6 +5,7 @@ import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand;
|
||||
import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfo;
|
||||
import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfoPage;
|
||||
import com.adc.da.slrs.sarStandardsInfo.entity.SarBussionessStandEOPage;
|
||||
import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
@@ -19,6 +20,10 @@ import java.util.List;
|
||||
*/
|
||||
public interface ISarLawsStandInfoService extends IService<SarLawsStandInfo> {
|
||||
|
||||
void createSarStandardsInfo(SarLawsStandInfo sarLawsStandInfo) throws Exception;
|
||||
|
||||
void attrInfoDetails (SarLawsStandInfo row) throws Exception;
|
||||
|
||||
List<SarLawsStandInfo> selectStandardsByStandNumber(String replaceStandNum);
|
||||
|
||||
ResponseMessage<SarLawsStandInfo> deleteSarLawsStandInfo(SarLawsStandInfoPage page) throws Exception;
|
||||
|
||||
+186
-1
@@ -2,6 +2,7 @@ package com.adc.da.slrs.sarLawsStandInfo.service.impl;
|
||||
|
||||
import com.adc.da.att.entity.AttFileEO;
|
||||
import com.adc.da.att.service.IAttFileEOService;
|
||||
import com.adc.da.common.SarStandStateEnum;
|
||||
import com.adc.da.common.SarTypeEnum;
|
||||
import com.adc.da.common.SelectionTypeEnum;
|
||||
import com.adc.da.common.UseModuleEnum;
|
||||
@@ -30,6 +31,7 @@ import com.adc.da.slrs.sarLawsFile.dao.SarLawsFileDao;
|
||||
import com.adc.da.slrs.sarLawsFile.entity.SarLawsFile;
|
||||
import com.adc.da.slrs.sarLawsInfo.dao.SarLawsInfoDao;
|
||||
import com.adc.da.slrs.sarLawsItems.dao.SarLawsItemsDao;
|
||||
import com.adc.da.slrs.sarLawsItems.entity.SarLawsItems;
|
||||
import com.adc.da.slrs.sarLawsMenu.dao.SarLawsMenuDao;
|
||||
import com.adc.da.slrs.sarLawsMenu.entity.SarLawsMenu;
|
||||
import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfo;
|
||||
@@ -41,6 +43,7 @@ import com.adc.da.slrs.sarLawsVal.entity.SarLawsVal;
|
||||
import com.adc.da.slrs.sarResource.entity.TsResource;
|
||||
import com.adc.da.slrs.sarResource.service.ITsResourceService;
|
||||
import com.adc.da.slrs.sarStandAttrInfo.dao.SarStandAttrInfoDao;
|
||||
import com.adc.da.slrs.sarStandItems.entity.FindSarItemsPageReqDTO;
|
||||
import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao;
|
||||
import com.adc.da.slrs.sarStandardsInfo.entity.SarAdvanceSearchVO;
|
||||
import com.adc.da.slrs.sarUpdLog.service.ISarUpdLogService;
|
||||
@@ -611,10 +614,13 @@ public class SarLawsStandInfoServiceImpl extends ServiceImpl<SarLawsStandInfoDao
|
||||
String fileIds = "";
|
||||
for (Map.Entry<String,String> entry : sarStandAttrMap.entrySet()) {
|
||||
String attrKey = entry.getKey();
|
||||
String attrValue = entry.getValue();
|
||||
String attrValue = String.valueOf(entry.getValue());
|
||||
if (InitStandAttrUtil.queryFieldListLaws != null && !InitStandAttrUtil.queryFieldListLaws.isEmpty()) {
|
||||
if (InitStandAttrUtil.queryFieldListLaws.contains(attrKey)) {
|
||||
fieldsBuilder.append("," + attrKey);
|
||||
if ("DTWJHLAWS".equals(attrKey)) {
|
||||
sarBussionessStandEO.setReplaceFileNum(attrValue);
|
||||
}
|
||||
// 多选项,文件类型需要单独处理 向子表添加数据
|
||||
if (InitStandAttrUtil.selectionFieldListLaws.contains(attrKey)) {
|
||||
selectionMap.put(attrKey,attrValue);
|
||||
@@ -807,6 +813,185 @@ public class SarLawsStandInfoServiceImpl extends ServiceImpl<SarLawsStandInfoDao
|
||||
return this.baseMapper.selectList(wrapper);
|
||||
}
|
||||
|
||||
/***
|
||||
* @Description: 新增政策
|
||||
* @Return: void
|
||||
*/
|
||||
public void createSarStandardsInfo(SarLawsStandInfo sarLawsStandInfo) throws Exception {
|
||||
// 处理基础表信息
|
||||
sarLawsStandInfo.setId(UUIDUtils.randomUUID20());
|
||||
sarLawsStandInfo.setCreationUser(LoginUserUtil.getUserId());
|
||||
sarLawsStandInfo.setValidFlag(0);
|
||||
sarLawsStandInfo.setCreationTime(new Date());
|
||||
sarLawsStandInfo.setModifyTime(new Date());
|
||||
//根据新建标准所在目录,确定此处是否需要在标准目录关联表中插入数据
|
||||
if (StringUtils.isNotEmpty(sarLawsStandInfo.getMenuId())) {
|
||||
SarLawsMenu sarLawsMenu = new SarLawsMenu();
|
||||
sarLawsMenu.setLawsId(sarLawsStandInfo.getId());
|
||||
sarLawsMenu.setMenuId(sarLawsStandInfo.getMenuId());
|
||||
sarLawsMenu.setValidFlag(ValueStateEnum.VALUE_TRUE.getValue());
|
||||
sarLawsMenu.setId(UUIDUtils.randomUUID20());
|
||||
sarLawsMenuDao.insert(sarLawsMenu);
|
||||
}
|
||||
int insertResult = this.baseMapper.insert(sarLawsStandInfo);
|
||||
if (insertResult > 0) {
|
||||
// 修改属性表数据
|
||||
List<SarLawsAttrInfo> standAttrInfos = sarLawsAttrInfoDao.selectList(new QueryWrapper<SarLawsAttrInfo>().eq("LAWS_ID",sarLawsStandInfo.getId()));
|
||||
if(!standAttrInfos.isEmpty()){
|
||||
sarLawsAttrInfoDao.deleteLawsAttrByStandId(standAttrInfos.get(0).getLawsId());
|
||||
}
|
||||
//编写预警信息
|
||||
// writeWarnings(sarStandardsInfoEO);
|
||||
// 处理属性表信息
|
||||
if (StringUtils.isNotBlank(sarLawsStandInfo.getSarStandAttrEOStr())) {
|
||||
createStandAttrInfo(sarLawsStandInfo);
|
||||
}
|
||||
updateCiteStand(sarLawsStandInfo, null, "DTWJHLAWS", "BDTWJHLAWS");
|
||||
// updateCiteStand(sarLawsStandInfo, null, "BFDTBZ", "BBFDTBZ");
|
||||
// updateRelateStand(sarStandardsInfoEO, "CBBH");
|
||||
// 根据代替标准号修改被代替的标准的状态 修改为已修订状态
|
||||
// replaseStandState(sarStandardsInfoEO);
|
||||
// 增加关联事件
|
||||
String number = "";
|
||||
if (StringUtils.isNotBlank(sarLawsStandInfo.getLawsNumber())) {
|
||||
number = sarLawsStandInfo.getLawsNumber();
|
||||
}
|
||||
String content = "新增" + number + " 《" + sarLawsStandInfo.getLawsName() + "》";
|
||||
sarUpdLogEOService.createBaseLog(sarLawsStandInfo.getId(), sarLawsStandInfo.getLawsType() + "_Laws", content);
|
||||
if(elasflag) {
|
||||
// 消息队列
|
||||
attrInfoShowSearchDetails(sarLawsStandInfo,"add");
|
||||
FindSarItemsPageReqDTO pageInfo = new FindSarItemsPageReqDTO();
|
||||
pageInfo.setStandId(sarLawsStandInfo.getId());
|
||||
pageInfo.setFileType("FBGBJBD");
|
||||
|
||||
/**
|
||||
* SarItemVO换为sarItemVOS
|
||||
* List<SarItemVO> sarItemVOS = standItemsDao.querySarItemAndInterpretation(pageInfo);
|
||||
* .collect(Collectors.toMap(SarItemVO::getItemsNum, SarItemVO::getItemsName));
|
||||
*/
|
||||
|
||||
List<SarLawsItems> sarItemVOS = sarLawsItemsDao.querySarItemAndInterpretation(pageInfo);
|
||||
if(!sarItemVOS.isEmpty()){
|
||||
Map<String,String> collectMap = sarItemVOS.stream().filter((e) -> e.getItemsNum() != null && e.getItemsName() != null)
|
||||
.collect(Collectors.toMap(SarLawsItems::getItemsNum, SarLawsItems::getTermsConditions));
|
||||
sarLawsStandInfo.setMapItems(collectMap);
|
||||
}
|
||||
createStandMQService.sendLawsMQ(sarLawsStandInfo,"add");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 新增修改标准过程中,根据代替标准号,修改被代替标准号对应的标准
|
||||
public void updateCiteStand(SarLawsStandInfo sarLawsStandInfo, SarLawsStandInfo beforeSarStandardsInfo, String upField, String beUpedField) throws Exception {
|
||||
// 记录要被代替标准号的数据
|
||||
// SarStandardsInfoEO chageEO= new SarStandardsInfoEO();
|
||||
SarLawsStandInfo sarStandardsSelectEO = new SarLawsStandInfo();
|
||||
String addStrandNumber = "";
|
||||
String beforeStrandNumber = "";
|
||||
if (StringUtils.isNotEmpty(sarLawsStandInfo.getLawsNumber())) {
|
||||
addStrandNumber = sarLawsStandInfo.getLawsNumber();
|
||||
}
|
||||
if (beforeSarStandardsInfo != null) {
|
||||
if (StringUtils.isNotEmpty(beforeSarStandardsInfo.getLawsNumber())) {
|
||||
beforeStrandNumber = beforeSarStandardsInfo.getLawsNumber();
|
||||
}
|
||||
}
|
||||
// 以“,”分隔查看之前是否有 ,如果有不修改,如果没有,追加修改
|
||||
String newCiteStand = "";
|
||||
if ("DTWJHLAWS".equals(upField)) {
|
||||
newCiteStand = sarLawsStandInfo.getReplaceFileNum();
|
||||
}
|
||||
|
||||
if (StringUtils.isNotEmpty(newCiteStand) && newCiteStand.split(",").length > 0) {
|
||||
// 主要逻辑处理新增的
|
||||
String nowEOrepNums[] = newCiteStand.split(",");
|
||||
for (String citeStand : nowEOrepNums) {
|
||||
sarStandardsSelectEO.setLawsNumber(citeStand);
|
||||
List<SarLawsStandInfo> result = selectStandardsByStandNumber(citeStand);
|
||||
if (result != null && result.size() > 0) {
|
||||
String standId = result.get(0).getId();
|
||||
String field = beUpedField;
|
||||
String citedStand = sarLawsAttrInfoDao.selectFieldValByLawsId(field, result.get(0).getId());
|
||||
String changeCitedStand = "";
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(citedStand)) {
|
||||
String[] beforeReplacedStandNumStr = citedStand.split(",");
|
||||
if (Arrays.asList(beforeReplacedStandNumStr).contains(addStrandNumber)) {
|
||||
continue;
|
||||
} else {
|
||||
changeCitedStand = citedStand + "," + addStrandNumber;
|
||||
}
|
||||
} else {
|
||||
changeCitedStand = addStrandNumber;
|
||||
}
|
||||
sarLawsAttrInfoDao.updateLawsInfo(standId, field, changeCitedStand);
|
||||
}
|
||||
}
|
||||
// 如果id不为空,说明是修改,有逻辑删除的执行以下语句,存在之前是三项,现在修改成两项的情况
|
||||
if (null != beforeSarStandardsInfo) {
|
||||
String oldCiteStand = String.valueOf(beforeSarStandardsInfo.getAttrInfoMap().get(upField));
|
||||
if (StringUtils.isNotEmpty(oldCiteStand)) {
|
||||
String[] beforeEOrepNums = oldCiteStand.split(",");
|
||||
for (String beforeStr : beforeEOrepNums) {
|
||||
// 如果再旧的中包含,在新的中没有,需要删除
|
||||
if (!Arrays.asList(nowEOrepNums).contains(beforeStr)) {
|
||||
sarStandardsSelectEO.setLawsNumber(beforeStr);
|
||||
List<SarLawsStandInfo> result = selectStandardsByStandNumber(beforeStr);
|
||||
if (result != null && result.size() > 0) {
|
||||
String standId = result.get(0).getId();
|
||||
String field = beUpedField;
|
||||
String citedStand = sarLawsAttrInfoDao.selectFieldValByLawsId(field, result.get(0).getId());
|
||||
String changeCitedStand = "";
|
||||
if (StringUtils.isNotBlank(citedStand)) {
|
||||
String[] beforerepalced = citedStand.split(",");
|
||||
ArrayList beforlist = new ArrayList<>(Arrays.asList(beforerepalced));
|
||||
if (beforlist.contains(beforeStrandNumber)) {
|
||||
beforlist.remove(beforeStrandNumber);
|
||||
changeCitedStand = StringUtils.join(beforlist.toArray(), ",");
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
sarLawsAttrInfoDao.updateLawsInfo(standId, field, changeCitedStand);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
// 如果为空,判断是否为修改
|
||||
if (null != beforeSarStandardsInfo) {
|
||||
String oldCiteStand = String.valueOf(beforeSarStandardsInfo.getAttrInfoMap().get("YYBJ"));
|
||||
if (StringUtils.isNotEmpty(oldCiteStand)) {
|
||||
String[] beforeEOrepNums = oldCiteStand.split(",");
|
||||
for (String beforeStr : beforeEOrepNums) {
|
||||
// 如果再旧的中包含,在新的中没有,需要删除,相关数据取第一条是因为标准号是唯一的
|
||||
sarStandardsSelectEO.setLawsNumber(beforeStr);
|
||||
List<SarLawsStandInfo> result = selectStandardsByStandNumber(beforeStr);
|
||||
if (result != null && result.size() > 0) {
|
||||
String standId = result.get(0).getId();
|
||||
String field = "BDTWJHLAWS";
|
||||
String citedStand = sarLawsAttrInfoDao.selectFieldValByLawsId(field, result.get(0).getId());
|
||||
String changeCitedStand = "";
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(citedStand)) {
|
||||
String[] beforerepalced = citedStand.split(",");
|
||||
ArrayList beforlist = new ArrayList<>(Arrays.asList(beforerepalced));
|
||||
if (beforlist.contains(beforeStrandNumber)) {
|
||||
beforlist.remove(beforeStrandNumber);
|
||||
changeCitedStand = org.apache.commons.lang3.StringUtils.join(beforlist.toArray(), ",");
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
sarLawsAttrInfoDao.updateLawsInfo(standId, field, changeCitedStand);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user