feat: 迁移国内标准法规部分2 创建国内标准法规
This commit is contained in:
+14
@@ -140,4 +140,18 @@ public class SarStandardsInfoController extends BaseController<SarStandardsInfo>
|
||||
return Result.success(getPageInfo(page.getPager(), rows));
|
||||
}
|
||||
|
||||
@ApiOperation(value = "|SarStandardsInfoEO|新增")
|
||||
@PostMapping("/addarStandardsInfo")
|
||||
//401问题2021-03-31暂时注释掉 liuhuiwen
|
||||
// @RequiresPermissions("lawss:sarStandardsInfo:create")
|
||||
public ResponseMessage<SarStandardsInfo> create(@RequestBody SarStandardsInfo sarStandardsInfoEO) throws Exception {
|
||||
if (StringUtils.isBlank(sarStandardsInfoEO.getMenuId()) && "INLAND".equals(sarStandardsInfoEO.getStandType())) {
|
||||
sarStandardsInfoEO.setMenuId("64df1d5522bb49c09af2");
|
||||
} else if (StringUtils.isBlank(sarStandardsInfoEO.getMenuId()) && "FOREIGN".equals(sarStandardsInfoEO.getStandType())) {
|
||||
sarStandardsInfoEO.setMenuId("22179d54d4e640098e29");
|
||||
}
|
||||
sarStandardsInfoEOService.createSarStandardsInfo(sarStandardsInfoEO);
|
||||
return Result.success("0", "添加成功", sarStandardsInfoEO);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+2
@@ -22,6 +22,8 @@ public interface SarStandardsInfoDao extends BaseMapper<SarStandardsInfo> {
|
||||
|
||||
int getSarStandardsInfoCount(SarStandardsInfoEOPage page);
|
||||
|
||||
int insertSelective(SarStandardsInfo page);
|
||||
|
||||
SarStandardsInfo selectByPrimaryKeyAndModifyTime(SarStandardsInfo page);
|
||||
|
||||
List<SarStandardsInfo> selectStandardsByStandnumber(SarStandardsInfo sarStandardsInfoEO);
|
||||
|
||||
+24
-24
@@ -124,56 +124,56 @@ public class SarStandardsInfo extends BaseEntity {
|
||||
|
||||
|
||||
// 以下为非表中字段
|
||||
@Transient
|
||||
@TableField(exist = false)
|
||||
private String collectId; // 收藏表ID
|
||||
@Transient
|
||||
@TableField(exist = false)
|
||||
private String countryShow; //国家地区显示名称
|
||||
@Transient
|
||||
@TableField(exist = false)
|
||||
private String standSortShow; // 标准类别显示名称
|
||||
@Transient
|
||||
@TableField(exist = false)
|
||||
private String standStateShow; // 标准状态显示名称
|
||||
@Transient
|
||||
@TableField(exist = false)
|
||||
private String standNatureShow; // 标准性质显示名称
|
||||
@Transient
|
||||
@TableField(exist = false)
|
||||
private String sychronId; // 同步数据ID
|
||||
@Transient
|
||||
@TableField(exist = false)
|
||||
private List<DicTypeEO> dicTypeList = new ArrayList(); // 记录标准涉及到的所有数据字典数据
|
||||
@Transient
|
||||
@TableField(exist = false)
|
||||
private Map<String, Object> attrInfoMap = new LinkedHashMap<>(); //属性表字段与值
|
||||
@Transient
|
||||
@TableField(exist = false)
|
||||
private String sarStandAttrEOStr; //新增修改时属性表信息
|
||||
@Transient
|
||||
@TableField(exist = false)
|
||||
private String menuId; //目录ID
|
||||
@Transient
|
||||
@TableField(exist = false)
|
||||
private int upReplaceNumFlag; //记录是否修改了替代文件号
|
||||
@Transient
|
||||
@TableField(exist = false)
|
||||
private int upNumFlag; //记录是否修改了文件号
|
||||
@Transient
|
||||
@TableField(exist = false)
|
||||
private String fileIds; //全部文件ID
|
||||
@Transient
|
||||
@TableField(exist = false)
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private Date newCarPutTime;
|
||||
@Transient
|
||||
@TableField(exist = false)
|
||||
private List<SarStandItems> itemsList = new ArrayList<>();
|
||||
@Transient
|
||||
@TableField(exist = false)
|
||||
private String relateStand;//对应其他标准
|
||||
@Transient
|
||||
@TableField(exist = false)
|
||||
private String accessCountry;//纳入清单的国家
|
||||
@Transient
|
||||
@TableField(exist = false)
|
||||
private String processNum;//流程编号
|
||||
@Transient
|
||||
@TableField(exist = false)
|
||||
private String textStatus;//文本状态
|
||||
// 在库里的标准节点类型(工作组)
|
||||
@Transient
|
||||
@TableField(exist = false)
|
||||
private String menuType;
|
||||
@Transient
|
||||
@TableField(exist = false)
|
||||
private String allPutTime;
|
||||
@Transient
|
||||
@TableField(exist = false)
|
||||
private String jspg;
|
||||
@Transient
|
||||
@TableField(exist = false)
|
||||
private String CHJL;
|
||||
|
||||
@Transient
|
||||
@TableField(exist = false)
|
||||
private String putTime2;
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ public interface ISarStandardsInfoService extends IService<SarStandardsInfo> {
|
||||
|
||||
List<SarStandardsInfo> getSarStandardsInfoPage(SarStandardsInfoEOPage page) throws Exception;
|
||||
|
||||
// void createSarStandardsInfo(SarStandardsInfo sarStandardsInfoEO) throws Exception;
|
||||
void createSarStandardsInfo(SarStandardsInfo sarStandardsInfoEO) throws Exception;
|
||||
//
|
||||
// int updateSarStandardsInfo(SarStandardsInfo sarStandardsInfoEO) throws Exception;
|
||||
//
|
||||
|
||||
+583
@@ -3,26 +3,44 @@ package com.adc.da.slrs.sarStandardsInfo.service.impl;
|
||||
import com.adc.da.att.entity.AttFileEO;
|
||||
import com.adc.da.att.service.IAttFileEOService;
|
||||
import com.adc.da.common.*;
|
||||
import com.adc.da.person.entity.PersonMsgEO;
|
||||
import com.adc.da.person.service.IPersonCollectEOService;
|
||||
import com.adc.da.slrs.sarStandAttrInfo.dao.SarStandAttrInfoDao;
|
||||
import com.adc.da.slrs.sarStandFile.dao.SarStandFileDao;
|
||||
import com.adc.da.slrs.sarStandFile.entity.SarStandFile;
|
||||
import com.adc.da.slrs.sarStandItems.dao.SarStandItemsDao;
|
||||
import com.adc.da.slrs.sarStandItems.entity.SarStandItems;
|
||||
import com.adc.da.slrs.sarStandMenu.dao.SarStandMenuDao;
|
||||
import com.adc.da.slrs.sarStandMenu.entity.SarStandMenu;
|
||||
import com.adc.da.slrs.sarStandPutTime.dao.SarStandPutTimeDao;
|
||||
import com.adc.da.slrs.sarStandPutTime.entity.SarStandPutTime;
|
||||
import com.adc.da.slrs.sarStandVal.dao.SarStandValDao;
|
||||
import com.adc.da.slrs.sarStandVal.entity.SarStandVal;
|
||||
import com.adc.da.slrs.sarStandardsInfo.entity.*;
|
||||
import com.adc.da.slrs.sarMenu.service.ISarMenuService;
|
||||
import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao;
|
||||
import com.adc.da.slrs.sarStandardsInfo.service.ISarStandardsInfoService;
|
||||
import com.adc.da.slrs.sarUpdLog.service.ISarUpdLogService;
|
||||
import com.adc.da.slrs.sysInfo.service.SysInfoEOService;
|
||||
import com.adc.da.sys.common.SelectionResult;
|
||||
import com.adc.da.sys.constant.ValueStateEnum;
|
||||
import com.adc.da.sys.dao.DicTypeEODao;
|
||||
import com.adc.da.util.LoginUserUtil;
|
||||
import com.adc.da.util.UUIDUtils;
|
||||
import com.adc.da.utils.util.*;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import net.sf.json.JSONObject;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.sql.Clob;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
@@ -34,6 +52,7 @@ import java.util.*;
|
||||
* @since 2021-05-31
|
||||
*/
|
||||
@Service
|
||||
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
|
||||
public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao, SarStandardsInfo> implements ISarStandardsInfoService {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(SarStandardsInfoServiceImpl.class);
|
||||
@@ -50,9 +69,24 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
|
||||
@Autowired
|
||||
private IPersonCollectEOService personCollectEOService;
|
||||
|
||||
@Autowired
|
||||
private ISarUpdLogService sarUpdLogEOService;
|
||||
|
||||
@Autowired
|
||||
private SarStandFileDao sarStandFileEODao;
|
||||
|
||||
@Autowired
|
||||
private SarStandValDao sarStandValEODao;
|
||||
|
||||
@Autowired
|
||||
private SarStandPutTimeDao sarStandPutTimeEODao;
|
||||
|
||||
@Autowired
|
||||
private SarStandAttrInfoDao sarStandAttrInfoEODao;
|
||||
|
||||
@Autowired
|
||||
private SarStandMenuDao sarStandMenuEODao;
|
||||
|
||||
@Autowired
|
||||
private IAttFileEOService attFileEOService;
|
||||
|
||||
@@ -231,4 +265,553 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/***
|
||||
* @Description: 新增标准
|
||||
* @Author: yangxuenan
|
||||
* @Date: 2020/9/8 9:15
|
||||
* @Param: [sarStandardsInfoEO]
|
||||
* @Return: void
|
||||
*/
|
||||
public void createSarStandardsInfo(SarStandardsInfo sarStandardsInfoEO) throws Exception {
|
||||
// 处理基础表信息
|
||||
sarStandardsInfoEO.setId(UUIDUtils.randomUUID20());
|
||||
sarStandardsInfoEO.setCreationUser(LoginUserUtil.getUserId());
|
||||
sarStandardsInfoEO.setValidFlag("0");
|
||||
sarStandardsInfoEO.setCreationTime(new Date());
|
||||
sarStandardsInfoEO.setModifyTime(new Date());
|
||||
//根据新建标准所在目录,确定此处是否需要在标准目录关联表中插入数据
|
||||
if (StringUtils.isNotEmpty(sarStandardsInfoEO.getMenuId())) {
|
||||
SarStandMenu sarStandMenuEO = new SarStandMenu();
|
||||
sarStandMenuEO.setStandId(sarStandardsInfoEO.getId());
|
||||
sarStandMenuEO.setMenuId(sarStandardsInfoEO.getMenuId());
|
||||
sarStandMenuEO.setValidFlag(ValueStateEnum.VALUE_TRUE.getValue());
|
||||
sarStandMenuEO.setId(UUIDUtils.randomUUID20());
|
||||
sarStandMenuEODao.insert(sarStandMenuEO);
|
||||
}
|
||||
// 根据其他字段,生成标准状态
|
||||
updateStandState(sarStandardsInfoEO,null);
|
||||
int insertResult = dao.insertSelective(sarStandardsInfoEO);
|
||||
if (insertResult > 0) {
|
||||
// 修改属性表数据
|
||||
sarStandAttrInfoEODao.deleteStandAttrByStandId(sarStandardsInfoEO.getId());
|
||||
//编写预警信息
|
||||
// writeWarnings(sarStandardsInfoEO);
|
||||
updateCiteStand(sarStandardsInfoEO,null,"DTBJH","BDTBZBH");
|
||||
updateCiteStand(sarStandardsInfoEO,null,"YYBJ","BYYBJ");
|
||||
updateRelateStand(sarStandardsInfoEO,"CBBH");
|
||||
// 根据代替标准号修改被代替的标准的状态 修改为已修订状态
|
||||
replaseStandState(sarStandardsInfoEO);
|
||||
// 处理属性表信息
|
||||
if (StringUtils.isNotBlank(sarStandardsInfoEO.getSarStandAttrEOStr())) {
|
||||
createStandAttrInfo(sarStandardsInfoEO);
|
||||
}
|
||||
// 增加关联事件
|
||||
String number = sarStandardsInfoEO.getStandSort() + " " + sarStandardsInfoEO.getStandNumber();
|
||||
if (StringUtils.isNotBlank(sarStandardsInfoEO.getStandYear())) {
|
||||
number += "-" + sarStandardsInfoEO.getStandYear();
|
||||
}
|
||||
String content = "新增" + number + " 《" + sarStandardsInfoEO.getStandName() + "》";
|
||||
sarUpdLogEOService.createBaseLog(sarStandardsInfoEO.getId(),sarStandardsInfoEO.getStandType()+"_STAND",content);
|
||||
// if(elasflag) {
|
||||
// // 消息队列
|
||||
// createStandMQService.sendStandMQ(sarStandardsInfoEO,"add");
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
/***
|
||||
* @Description: 新增属性表数据
|
||||
* @Author: yangxuenan
|
||||
* @Date: 2020/9/8 9:53
|
||||
* @Param: [sarStandardsInfoEO]
|
||||
* @Return: void
|
||||
*/
|
||||
public void createStandAttrInfo (SarStandardsInfo sarStandardsInfoEO) throws Exception {
|
||||
String sarStandAttrEOStr = sarStandardsInfoEO.getSarStandAttrEOStr();
|
||||
String mustFields = FieldConvertUtil.mustFields;
|
||||
String mustValues = FieldConvertUtil.mustValues(sarStandardsInfoEO.getId());
|
||||
// 将字符串转为map进行解析
|
||||
Map<String,String> sarStandAttrMap = JSONObject.fromObject(sarStandAttrEOStr);
|
||||
StringBuilder fieldsBuilder = new StringBuilder();
|
||||
StringBuilder valuesBuilder = new StringBuilder();
|
||||
Map<String,String> selectionMap = new HashMap<>();
|
||||
Map<String,String> fileMap = new HashMap<>();
|
||||
Map<String,String> multiTimeMap = new HashMap<>();
|
||||
String fileIds = "";
|
||||
for (Map.Entry<String,String> entry : sarStandAttrMap.entrySet()) {
|
||||
String attrKey = entry.getKey();
|
||||
String attrValue = String.valueOf(entry.getValue());
|
||||
if (InitStandAttrUtil.queryFieldList != null && !InitStandAttrUtil.queryFieldList.isEmpty()) {
|
||||
if (InitStandAttrUtil.queryFieldList.contains(attrKey)) {
|
||||
fieldsBuilder.append("," + attrKey);
|
||||
if ("YYBJ".equals(attrKey)) {
|
||||
sarStandardsInfoEO.setCiteStand(attrValue);
|
||||
} else if ("CBBH".equals(attrKey)) {
|
||||
sarStandardsInfoEO.setRelateStand(attrValue);
|
||||
} else if ("DTBJH".equals(attrKey)) {
|
||||
sarStandardsInfoEO.setReplaceStandNum(attrValue);
|
||||
}
|
||||
// 多选项,文件类型需要单独处理 向子表添加数据
|
||||
if (InitStandAttrUtil.selectionFieldList.contains(attrKey)) {
|
||||
selectionMap.put(attrKey,attrValue);
|
||||
} else if (InitStandAttrUtil.fileFieldList.contains(attrKey)) {
|
||||
fileMap.put(attrKey,attrValue);
|
||||
fileIds += attrValue + ",";
|
||||
if(attrKey.equals("XXZLXX")){
|
||||
// this.saveMsgDynamicInfo(attrValue,sarStandardsInfoEO.getStandName(),sarStandardsInfoEO.getId(),sarStandardsInfoEO.getStandSort()+" "+sarStandardsInfoEO.getStandNumber()+"-"+sarStandardsInfoEO.getStandYear());
|
||||
}
|
||||
} else if (InitStandAttrUtil.multiTimeFieldList.contains(attrKey)) {
|
||||
multiTimeMap.put(attrKey,attrValue);
|
||||
}
|
||||
// 不同类型存储数据需单独处理值
|
||||
if (InitStandAttrUtil.numFieldList.contains(attrKey)) {
|
||||
if (StringUtils.isBlank(attrValue)) {
|
||||
attrValue = "null";
|
||||
}
|
||||
} else if (InitStandAttrUtil.timeFieldList.contains(attrKey)) {
|
||||
attrValue = FieldConvertUtil.changeTimeValue(attrValue);
|
||||
} else {
|
||||
attrValue = "'" + attrValue + "'";
|
||||
}
|
||||
valuesBuilder.append("," + attrValue);
|
||||
sarStandardsInfoEO.setFileIds(fileIds);
|
||||
}
|
||||
}
|
||||
}
|
||||
String insertField = mustFields + fieldsBuilder.toString();
|
||||
String insertValue = mustValues + valuesBuilder.toString();
|
||||
int insertRes = sarStandAttrInfoEODao.insertStandAttr(insertField,insertValue);
|
||||
if (insertRes > 0) {
|
||||
// 多选项处理
|
||||
createStandVal(sarStandardsInfoEO.getId(),selectionMap);
|
||||
// 文件处理
|
||||
createStandFile(sarStandardsInfoEO.getId(),fileMap);
|
||||
// 多时间处理
|
||||
createStandPutTime(sarStandardsInfoEO.getId(),multiTimeMap);
|
||||
}
|
||||
}
|
||||
|
||||
/***
|
||||
* @Description: 多选项处理
|
||||
* @Author: yangxuenan
|
||||
* @Date: 2020/9/8 14:37
|
||||
* @Param: [sarStandardsInfoEO, selectionMap]
|
||||
* @Return: void
|
||||
*/
|
||||
public void createStandVal (String standId,Map<String,String> selectionMap) {
|
||||
if (selectionMap != null && selectionMap.size() > 0) {
|
||||
List<SarStandVal> standValList = new ArrayList<>();
|
||||
for (Map.Entry<String,String> entry : selectionMap.entrySet()) {
|
||||
String value = entry.getValue();
|
||||
String field = entry.getKey();
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
String[] valArr = value.trim().split(",");
|
||||
for (String val : valArr) {
|
||||
SarStandVal sarStandValEO = new SarStandVal();
|
||||
sarStandValEO.setValidFlag(ValueStateEnum.VALUE_TRUE.getValue());
|
||||
sarStandValEO.setCreationTime(new Date());
|
||||
sarStandValEO.setModifyTime(new Date());
|
||||
sarStandValEO.setStandId(standId);
|
||||
sarStandValEO.setId(UUIDUtils.randomUUID20());
|
||||
sarStandValEO.setPropertyType(field);
|
||||
sarStandValEO.setPropertyVal(val);
|
||||
standValList.add(sarStandValEO);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (standValList != null && !standValList.isEmpty()) {
|
||||
sarStandValEODao.insertForeach(standValList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/***
|
||||
* @Description: 文件处理
|
||||
* @Author: yangxuenan
|
||||
* @Date: 2020/9/8 15:01
|
||||
* @Param: [standId, fileMap]
|
||||
* @Return: void
|
||||
*/
|
||||
public void createStandFile (String standId,Map<String,String> fileMap) throws Exception {
|
||||
if (fileMap != null && fileMap.size() > 0) {
|
||||
List<SarStandFile> standFileList = new ArrayList<>();
|
||||
for (Map.Entry<String,String> entry : fileMap.entrySet()) {
|
||||
String value = entry.getValue();
|
||||
String field = entry.getKey();
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
List<AttFileEO> fileList = attFileEOService.getMultiFileInfos(value);
|
||||
if (fileList != null && !fileList.isEmpty()) {
|
||||
createStandFileAppend(standId,field,fileList,standFileList);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (standFileList != null && !standFileList.isEmpty()) {
|
||||
sarStandFileEODao.insertForeach(standFileList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void createStandFileAppend (String standId,String field,List<AttFileEO> fileList,List<SarStandFile> standFileList) throws Exception {
|
||||
for (AttFileEO fileInfo : fileList) {
|
||||
SarStandFile sarStandFileEO = new SarStandFile();
|
||||
sarStandFileEO.setCreationUser(LoginUserUtil.getUserId());
|
||||
sarStandFileEO.setCreationTime(new Date());
|
||||
sarStandFileEO.setModifyTime(new Date());
|
||||
sarStandFileEO.setValidFlag("0");
|
||||
sarStandFileEO.setStandId(standId); //标准ID
|
||||
sarStandFileEO.setUseModel(UseModuleEnum.SOURCE_FILE.getValue()); //文件使用模式
|
||||
sarStandFileEO.setId(UUIDUtils.randomUUID20());
|
||||
sarStandFileEO.setAttId(fileInfo.getId()); //文件ID
|
||||
sarStandFileEO.setStandFileClassify(field); //文件分类
|
||||
sarStandFileEO.setFileName(fileInfo.getOldFileName());
|
||||
sarStandFileEO.setFileSuffix(fileInfo.getFileSuffix());
|
||||
sarStandFileEO.setOriAttId(fileInfo.getId());
|
||||
standFileList.add(sarStandFileEO);
|
||||
//文档转换
|
||||
if ("pdf".equals(fileInfo.getFileSuffix()) || "PDF".equals(fileInfo.getFileSuffix())) {
|
||||
SarStandFile newFileEO = new SarStandFile();
|
||||
newFileEO.setCreationUser(LoginUserUtil.getUserId());
|
||||
newFileEO.setCreationTime(new Date());
|
||||
newFileEO.setModifyTime(new Date());
|
||||
newFileEO.setValidFlag("0");
|
||||
newFileEO.setStandId(standId); //标准ID
|
||||
newFileEO.setId(UUIDUtils.randomUUID20());
|
||||
newFileEO.setAttId(fileInfo.getId()); //文件ID
|
||||
newFileEO.setStandFileClassify(field); //文件分类
|
||||
newFileEO.setFileName(fileInfo.getOldFileName());
|
||||
newFileEO.setFileSuffix(fileInfo.getFileSuffix());
|
||||
newFileEO.setUseModel(UseModuleEnum.WEB_FILE.getValue()); //文件使用模式 //文件名称@@@@@@@需要修改
|
||||
newFileEO.setOriAttId(fileInfo.getId());
|
||||
standFileList.add(newFileEO);
|
||||
} else {
|
||||
// String filePath = fileInfo.getFilePath() + fileInfo.getFileName();
|
||||
// ConvertMqEO convert = new ConvertMqEO();
|
||||
// convert.setLawsId(standId);
|
||||
// convert.setAttId(fileInfo.getId());
|
||||
// convert.setFilePath(filePath);
|
||||
// convert.setAddOrUp("0");
|
||||
// convert.setFileSuffix(fileInfo.getFileSuffix());
|
||||
// convert.setStandFileClassify(field);
|
||||
// convert.setConvertType(SarTypeEnum.STAND.getValue());
|
||||
// convert.setOriAttId(fileInfo.getId());
|
||||
// convertMq.sendMQ(convert);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void createStandPutTime(String standId,Map<String,String> multiTimeMap) throws Exception{
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
if (multiTimeMap != null && multiTimeMap.size() > 0) {
|
||||
List<SarStandPutTime> standTimeList = new ArrayList<>();
|
||||
for (Map.Entry<String, String> entry : multiTimeMap.entrySet()) {
|
||||
String value = entry.getValue();
|
||||
String field = entry.getKey();
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
String[] valArr = value.trim().split(",");
|
||||
int i=0;
|
||||
for (String val : valArr) {
|
||||
if ("N/A".equals(val) && "TBD".equals(val) && "已实施".equals(val)) {
|
||||
i++;
|
||||
Date date = sdf.parse(val);
|
||||
SarStandPutTime sarStandPutTimeEO = new SarStandPutTime();
|
||||
sarStandPutTimeEO.setId(UUIDUtils.randomUUID20());
|
||||
sarStandPutTimeEO.setStandId(standId);
|
||||
sarStandPutTimeEO.setTimeType(field);
|
||||
sarStandPutTimeEO.setCreationTime(new Date());
|
||||
// sarStandPutTimeEO.setOrderNum(Integer.valueOf(i));
|
||||
sarStandPutTimeEO.setTimeName(field);
|
||||
sarStandPutTimeEO.setPutTime(date);
|
||||
standTimeList.add(sarStandPutTimeEO);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// 批量新增
|
||||
if (standTimeList != null && !standTimeList.isEmpty()) {
|
||||
sarStandPutTimeEODao.insertForeach(standTimeList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 新增修改标准过程中,根据代替标准号,修改被代替标准号对应的标准
|
||||
public void updateCiteStand(SarStandardsInfo sarStandardsInfoEO,SarStandardsInfo beforeSarStandardsInfo,String upField,String beUpedField) throws Exception {
|
||||
// 记录要被代替标准号的数据
|
||||
// SarStandardsInfoEO chageEO= new SarStandardsInfoEO();
|
||||
SarStandardsInfo sarStandardsSelectEO = new SarStandardsInfo();
|
||||
String addStrandNumber = "";
|
||||
String beforeStrandNumber = "";
|
||||
if(StringUtils.isNotEmpty(sarStandardsInfoEO.getStandYear())){
|
||||
addStrandNumber = sarStandardsInfoEO.getStandSort()+" " +sarStandardsInfoEO.getStandNumber()+"-"+sarStandardsInfoEO.getStandYear();
|
||||
} else {
|
||||
addStrandNumber = sarStandardsInfoEO.getStandSort()+" " +sarStandardsInfoEO.getStandNumber();
|
||||
}
|
||||
if(beforeSarStandardsInfo!= null ) {
|
||||
if (StringUtils.isNotEmpty(beforeSarStandardsInfo.getStandYear())) {
|
||||
beforeStrandNumber = beforeSarStandardsInfo.getStandSort() + " " + beforeSarStandardsInfo.getStandNumber() + "-" + beforeSarStandardsInfo.getStandYear();
|
||||
} else {
|
||||
beforeStrandNumber = beforeSarStandardsInfo.getStandSort() + " " + beforeSarStandardsInfo.getStandNumber();
|
||||
}
|
||||
}
|
||||
// 以“,”分隔查看之前是否有 ,如果有不修改,如果没有,追加修改
|
||||
String newCiteStand = "";
|
||||
if ("YYBJ".equals(upField)) {
|
||||
newCiteStand = sarStandardsInfoEO.getCiteStand();
|
||||
} else if ("CBBH".equals(upField)) {
|
||||
newCiteStand = sarStandardsInfoEO.getRelateStand();
|
||||
} else if ("DTBJH".equals(upField)) {
|
||||
newCiteStand = sarStandardsInfoEO.getReplaceStandNum();
|
||||
}
|
||||
if(StringUtils.isNotEmpty(newCiteStand) && newCiteStand.split(",").length>0){
|
||||
// 主要逻辑处理新增的
|
||||
String nowEOrepNums[] = newCiteStand.split(",");
|
||||
for (String citeStand: nowEOrepNums){
|
||||
sarStandardsSelectEO.setStandNumber(citeStand);
|
||||
if (StringUtils.isNotBlank(sarStandardsSelectEO.getStandNumber())){
|
||||
String sort = "";
|
||||
if (sarStandardsSelectEO.getStandNumber().length()>3) {
|
||||
sort = sarStandardsSelectEO.getStandNumber().substring(0, 3);
|
||||
}
|
||||
if ("ECE".equals(sort)) {
|
||||
int length = sarStandardsSelectEO.getStandNumber().length();
|
||||
String number = sarStandardsSelectEO.getStandNumber().substring(3,length);
|
||||
sarStandardsSelectEO.setStandNumber("UN(ECE)" + number);
|
||||
}
|
||||
}
|
||||
List<SarStandardsInfo> result = dao.selectStandardsByStandnumber(sarStandardsSelectEO);
|
||||
if (result != null && result.size()>0){
|
||||
String standId = result.get(0).getId();
|
||||
String field = beUpedField;
|
||||
String citedStand = sarStandAttrInfoEODao.selectFieldValByStandId(field,result.get(0).getId());
|
||||
String changeCitedStand = "";
|
||||
if(StringUtils.isNotBlank(citedStand)){
|
||||
String[] beforeReplacedStandNumStr = citedStand.split(",");
|
||||
if (Arrays.asList(beforeReplacedStandNumStr).contains(addStrandNumber)){
|
||||
continue;
|
||||
} else {
|
||||
changeCitedStand = citedStand+","+ addStrandNumber;
|
||||
}
|
||||
} else {
|
||||
changeCitedStand = addStrandNumber;
|
||||
}
|
||||
sarStandAttrInfoEODao.updateStandInfo(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.setStandNumber(beforeStr);
|
||||
List<SarStandardsInfo> result = dao.selectStandardsByStandnumber(sarStandardsSelectEO);
|
||||
if (result != null && result.size()>0){
|
||||
String standId = result.get(0).getId();
|
||||
String field = beUpedField;
|
||||
String citedStand = sarStandAttrInfoEODao.selectFieldValByStandId(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;
|
||||
}
|
||||
sarStandAttrInfoEODao.updateStandInfo(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.setStandNumber(beforeStr);
|
||||
List<SarStandardsInfo> result = dao.selectStandardsByStandnumber(sarStandardsSelectEO);
|
||||
if (result != null && result.size()>0){
|
||||
String standId = result.get(0).getId();
|
||||
String field = "BYYBJ";
|
||||
String citedStand = sarStandAttrInfoEODao.selectFieldValByStandId(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;
|
||||
}
|
||||
sarStandAttrInfoEODao.updateStandInfo(standId,field,changeCitedStand);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void updateRelateStand(SarStandardsInfo sarStandardsInfoEO,String upField){
|
||||
String addStandNumber = "";
|
||||
if(StringUtils.isNotEmpty(sarStandardsInfoEO.getStandYear())){
|
||||
addStandNumber = sarStandardsInfoEO.getStandSort()+" " +sarStandardsInfoEO.getStandNumber()+"-"+sarStandardsInfoEO.getStandYear();
|
||||
} else {
|
||||
addStandNumber = sarStandardsInfoEO.getStandSort()+" " +sarStandardsInfoEO.getStandNumber();
|
||||
}
|
||||
if (StringUtils.isNotBlank(addStandNumber)) {
|
||||
String relateStand = "";
|
||||
if ("CBBH".equals(upField)) {
|
||||
relateStand = sarStandardsInfoEO.getRelateStand();
|
||||
}
|
||||
List<String> newStandIdList = new ArrayList<>();
|
||||
if (StringUtils.isNotBlank(relateStand)) {
|
||||
List<String> newRealteStandList = Arrays.asList(relateStand.split(","));
|
||||
for (String newRelate : newRealteStandList) {
|
||||
SarStandardsInfo selectEO = new SarStandardsInfo();
|
||||
selectEO.setStandNumber(newRelate);
|
||||
List<SarStandardsInfo> result = dao.selectStandardsByStandnumber(selectEO);
|
||||
// 新增关联
|
||||
if (result != null && result.size()>0) {
|
||||
String standId = result.get(0).getId();
|
||||
newStandIdList.add(standId);
|
||||
String relatedStand = sarStandAttrInfoEODao.selectFieldValByStandId(upField,standId);
|
||||
String changeStand = "";
|
||||
if(StringUtils.isNotBlank(relatedStand)){
|
||||
List beforelist = new ArrayList<>(Arrays.asList(relatedStand.split(",")));
|
||||
if (!beforelist.contains(addStandNumber)){
|
||||
beforelist.add(addStandNumber);
|
||||
changeStand = StringUtils.join(beforelist.toArray(), ",");
|
||||
sarStandAttrInfoEODao.updateStandInfo(standId,upField,changeStand);
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
sarStandAttrInfoEODao.updateStandInfo(standId,upField,addStandNumber);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//查询对应当前标准的数据,删除关联
|
||||
if (newStandIdList == null || newStandIdList.size() < 1) {
|
||||
newStandIdList = null;
|
||||
}
|
||||
List<SelectionResult> resultList = sarStandAttrInfoEODao.selectFieldValByContainsVal(upField,addStandNumber,newStandIdList);
|
||||
if (resultList != null && !resultList.isEmpty()) {
|
||||
for (SelectionResult result : resultList) {
|
||||
String relatedStand = result.getLabel();
|
||||
List beforlist = new ArrayList<>(Arrays.asList(relatedStand.split(",")));
|
||||
beforlist.remove(addStandNumber);
|
||||
if (beforlist != null && !beforlist.isEmpty()) {
|
||||
relatedStand = StringUtils.join(beforlist.toArray(), ",");
|
||||
} else {
|
||||
relatedStand = "";
|
||||
}
|
||||
sarStandAttrInfoEODao.updateStandInfo(result.getValue(),upField,relatedStand);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 代替标准号修改状态
|
||||
* @param sarStandardsInfoEO
|
||||
*/
|
||||
public void replaseStandState(SarStandardsInfo sarStandardsInfoEO) throws Exception {
|
||||
String newCiteStand = sarStandardsInfoEO.getReplaceStandNum();
|
||||
if(StringUtils.isNotBlank(newCiteStand)){
|
||||
String nowEOrepNums[] = newCiteStand.split(",");
|
||||
for (String citeStand: nowEOrepNums){
|
||||
SarStandardsInfo sarStandardsSelectEO =new SarStandardsInfo();
|
||||
sarStandardsSelectEO.setStandNumber(citeStand);
|
||||
List<SarStandardsInfo> result = dao.selectStandardsByStandnumber(sarStandardsSelectEO);
|
||||
if (result != null && !result.isEmpty()){
|
||||
SarStandardsInfo replaseStand = result.get(0);
|
||||
String standState = replaseStand.getStandState();
|
||||
String oldStandState = standState;
|
||||
String oldStandStateShow = SarStandStateEnum.getLableByVal(oldStandState);
|
||||
if(!SarStandStateEnum.N5KLTFLNRC.getValue().equals(standState)|| !SarStandStateEnum.TOVOID.getValue().equals(standState)){
|
||||
replaseStand.setStandState(SarStandStateEnum.N5KLTFLNRC.getValue());
|
||||
dao.updateById(replaseStand);
|
||||
//更新log日志
|
||||
sarUpdLogEOService.createBaseLog(replaseStand.getId(),replaseStand.getStandType()+"_STAND","入库流程当前标准因被新标准代替修改标准状态的值从《"+oldStandStateShow+"》为《\"已修订\"》");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void updateStandState (SarStandardsInfo sarStandardsInfoEO,String oldState) {
|
||||
String resultState = "";
|
||||
String newState = sarStandardsInfoEO.getStandState();
|
||||
String standNum = "";
|
||||
List<String> selectList = InitStandAttrUtil.standStateList;
|
||||
if (org.apache.commons.lang.StringUtils.isNotBlank(sarStandardsInfoEO.getStandYear())) {
|
||||
standNum = sarStandardsInfoEO.getStandSort() + " " + sarStandardsInfoEO.getStandNumber() + "-" + sarStandardsInfoEO.getStandYear();
|
||||
} else {
|
||||
standNum = sarStandardsInfoEO.getStandSort() + " " + sarStandardsInfoEO.getStandNumber();
|
||||
}
|
||||
// 根据数据信息判断当前应该状态
|
||||
if (!SarStandStateEnum.ZTXXYX.getValue().equals(newState)) {
|
||||
// 查询当前标准被代替信息
|
||||
List<String> countRep = dao.countReplaceMsg(standNum);
|
||||
int countFB = 0;
|
||||
int countQT = 0;
|
||||
if (countRep != null && !countRep.isEmpty()) {
|
||||
for (String state : countRep) {
|
||||
if (SarStandStateEnum.FJNVYX9Q7J.getValue().equals(state)) {
|
||||
countFB ++;
|
||||
break;
|
||||
} else if (selectList.indexOf(state) < selectList.indexOf(SarStandStateEnum.FJNVYX9Q7J.getValue())) {
|
||||
countQT ++;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (countFB > 0) {
|
||||
// newState = SarStandStateEnum.TOVOID.getValue();
|
||||
} else if (countQT > 0) {
|
||||
newState = SarStandStateEnum.ZTJJSS.getValue();
|
||||
} else {
|
||||
// 查询各个文件稿状态
|
||||
Map<String,String> sarStandAttrMap = JSONObject.fromObject(sarStandardsInfoEO.getSarStandAttrEOStr());
|
||||
if (sarStandAttrMap != null && !sarStandAttrMap.isEmpty()) {
|
||||
if (StringUtils.isNotBlank(sarStandAttrMap.get("FBGBJBD"))) {
|
||||
newState = SarStandStateEnum.FJNVYX9Q7J.getValue();
|
||||
} else if (StringUtils.isNotBlank(sarStandAttrMap.get("SSG"))) {
|
||||
newState = SarStandStateEnum.SUBMIT.getValue();
|
||||
} else if (StringUtils.isNotBlank(sarStandAttrMap.get("BPG"))) {
|
||||
newState = SarStandStateEnum.RADYSUBMIT.getValue();
|
||||
} else if (StringUtils.isNotBlank(sarStandAttrMap.get("ZQYJG"))) {
|
||||
newState = SarStandStateEnum.ADVICE.getValue();
|
||||
} else if (StringUtils.isNotBlank(sarStandAttrMap.get("CA"))) {
|
||||
newState = SarStandStateEnum.DRAFT.getValue();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// 与旧状态对比,判断是否修改
|
||||
if (StringUtils.isNotBlank(oldState)) {
|
||||
int newIndex = selectList.indexOf(newState);
|
||||
int endIndex = selectList.indexOf(oldState);
|
||||
if (newIndex < endIndex) {
|
||||
resultState = oldState;
|
||||
} else {
|
||||
resultState = newState;
|
||||
}
|
||||
} else {
|
||||
resultState = newState;
|
||||
}
|
||||
sarStandardsInfoEO.setStandState(resultState);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user