feat: There is no way the,

This commit is contained in:
super_liu
2022-03-24 22:55:15 +08:00
parent 309b59405c
commit d153a3be0f
3 changed files with 46 additions and 18 deletions
@@ -57,6 +57,10 @@ public class SarBussStandAttrInfo extends BaseEntity {
@TableField("TXLBBUSS")
private String txlbbuss;
@ApiModelProperty(value = "被代替企标编号")
@TableField("BDTQBBHBUSS")
private String bdtqbbhbuss;
@TableField(exist = false)
private String glwj;
//
@@ -55,8 +55,6 @@ public interface SarBussionessStandDao extends BaseMapper<SarBussionessStand> {
List<SarBussionessStand> selectSarBussionesDownloadFileInfo(String id);
List<SarBussionessStand> selectStandardsByStandnumber(SarBussionessStand sarStandardsInfoEO);
List<SarBussionessStand> selectStandByStandNumber(@Param("standCode") String standCode);
/**
@@ -628,13 +628,13 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
SarBussionessStand sarStandardsSelectEO = new SarBussionessStand();
String addStrandNumber = "";
String beforeStrandNumber = "";
if (org.apache.commons.lang3.StringUtils.isNotEmpty(sarBussionessStandEO.getStandYear())) {
if (StringUtils.isNotEmpty(sarBussionessStandEO.getStandYear())) {
addStrandNumber = sarBussionessStandEO.getStandSort() + " " + sarBussionessStandEO.getStandNumber() + "-" + sarBussionessStandEO.getStandYear();
} else {
addStrandNumber = sarBussionessStandEO.getStandSort() + " " + sarBussionessStandEO.getStandNumber();
}
if (beforeSarStandardsInfo != null) {
if (org.apache.commons.lang3.StringUtils.isNotEmpty(beforeSarStandardsInfo.getStandYear())) {
if (StringUtils.isNotEmpty(beforeSarStandardsInfo.getStandYear())) {
beforeStrandNumber = beforeSarStandardsInfo.getStandSort() + " " + beforeSarStandardsInfo.getStandNumber() + "-" + beforeSarStandardsInfo.getStandYear();
} else {
beforeStrandNumber = beforeSarStandardsInfo.getStandSort() + " " + beforeSarStandardsInfo.getStandNumber();
@@ -643,15 +643,15 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
// 以“,”分隔查看之前是否有 ,如果有不修改,如果没有,追加修改
String newCiteStand = "";
if ("DTQBBHBUSS".equals(upField)) {
newCiteStand = sarBussionessStandEO.getDTQBBHBUSS();
newCiteStand = sarBussionessStandEO.getReplaceStandNum();
} else if ("BDTQBBHBUSS".equals(upField)) {
newCiteStand = sarBussionessStandEO.getBDTQBBHBUSS();
newCiteStand = sarBussionessStandEO.getReplacedStandNum();
}
if (org.apache.commons.lang3.StringUtils.isNotEmpty(newCiteStand) && newCiteStand.split(",").length > 0) {
if (StringUtils.isNotEmpty(newCiteStand) && newCiteStand.split(",").length > 0) {
// 主要逻辑处理新增的
String nowEOrepNums[] = newCiteStand.split(",");
for (String citeStand : nowEOrepNums) {
sarStandardsSelectEO.setStandNumber(citeStand);
sarStandardsSelectEO.setStandCode(citeStand);
// if (StringUtils.isNotBlank(sarStandardsSelectEO.getStandNumber())) {
// String sort = "";
// if (sarStandardsSelectEO.getStandNumber().length() > 3) {
@@ -663,41 +663,67 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
// sarStandardsSelectEO.setStandNumber("UN(ECE)" + number);
// }
// }
List<SarBussionessStand> result = this.baseMapper.selectStandardsByStandnumber(sarStandardsSelectEO);
List<SarBussionessStand> result = this.baseMapper.selectStandardsByStandNumber(sarStandardsSelectEO);
if (result != null && result.size() > 0) {
String standId = result.get(0).getId();
String field = beUpedField;
String citedStand = sarBussStandAttrInfoEODao.selectFieldValByStandId(field, result.get(0).getId());
String changeCitedStand = "";
if (org.apache.commons.lang3.StringUtils.isNotBlank(citedStand)) {
if (StringUtils.isNotBlank(citedStand)) {
String[] beforeReplacedStandNumStr = citedStand.split(",");
if (Arrays.asList(beforeReplacedStandNumStr).contains(addStrandNumber)) {
continue;
} else {
changeCitedStand = citedStand + "," + addStrandNumber;
}
sarBussStandAttrInfoEODao.updateStandInfo(standId, field, changeCitedStand);
} else {
changeCitedStand = addStrandNumber;
String sarStandAttrEOStr = sarBussionessStandEO.getSarStandAttrEOStr();
String mustFields = FieldConvertUtil.mustFields;
String mustValues = FieldConvertUtil.mustValues(standId);
// 将字符串转为map进行解析
Map<String,String> sarStandAttrMap = JSONObject.fromObject(sarStandAttrEOStr);
StringBuilder fieldsBuilder = new StringBuilder();
StringBuilder valuesBuilder = new StringBuilder();
for (Map.Entry<String,String> entry : sarStandAttrMap.entrySet()) {
String attrKey = entry.getKey();
String attrValue = "";
if (InitStandAttrUtil.queryFieldListBuss != null && !InitStandAttrUtil.queryFieldListBuss.isEmpty()) {
if (InitStandAttrUtil.queryFieldListBuss.contains(attrKey)) {
if("BDTQBBHBUSS".equals(attrKey)){
valuesBuilder.append(",").append("'").append(changeCitedStand).append("'");
}else {
valuesBuilder.append(",").append("'").append(attrValue).append("'");
}
fieldsBuilder.append(",").append(attrKey);
}
}
}
String insertField = mustFields + fieldsBuilder.toString();
String insertValue = mustValues + valuesBuilder.toString();
sarBussStandAttrInfoEODao.insertStandAttr(insertField,insertValue);
}
sarBussStandAttrInfoEODao.updateStandInfo(standId, field, changeCitedStand);
}
}
// 如果id不为空,说明是修改,有逻辑删除的执行以下语句,存在之前是三项,现在修改成两项的情况
if (null != beforeSarStandardsInfo) {
String oldCiteStand = String.valueOf(beforeSarStandardsInfo.getAttrInfoMap().get(upField));
if (org.apache.commons.lang3.StringUtils.isNotEmpty(oldCiteStand)) {
if (StringUtils.isNotEmpty(oldCiteStand)) {
String[] beforeEOrepNums = oldCiteStand.split(",");
for (String beforeStr : beforeEOrepNums) {
// 如果再旧的中包含,在新的中没有,需要删除
if (!Arrays.asList(nowEOrepNums).contains(beforeStr)) {
sarStandardsSelectEO.setStandNumber(beforeStr);
List<SarBussionessStand> result = this.baseMapper.selectStandardsByStandnumber(sarStandardsSelectEO);
List<SarBussionessStand> result = this.baseMapper.selectStandardsByStandNumber(sarStandardsSelectEO);
if (result != null && result.size() > 0) {
String standId = result.get(0).getId();
String field = beUpedField;
String citedStand = sarBussStandAttrInfoEODao.selectFieldValByStandId(field, result.get(0).getId());
String changeCitedStand = "";
if (org.apache.commons.lang3.StringUtils.isNotBlank(citedStand)) {
if (StringUtils.isNotBlank(citedStand)) {
String[] beforerepalced = citedStand.split(",");
ArrayList beforlist = new ArrayList<>(Arrays.asList(beforerepalced));
if (beforlist.contains(beforeStrandNumber)) {
@@ -718,23 +744,23 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
// 如果为空,判断是否为修改
if (null != beforeSarStandardsInfo) {
String oldCiteStand = String.valueOf(beforeSarStandardsInfo.getAttrInfoMap().get("YYBJ"));
if (org.apache.commons.lang3.StringUtils.isNotEmpty(oldCiteStand)) {
if (StringUtils.isNotEmpty(oldCiteStand)) {
String[] beforeEOrepNums = oldCiteStand.split(",");
for (String beforeStr : beforeEOrepNums) {
// 如果再旧的中包含,在新的中没有,需要删除,相关数据取第一条是因为标准号是唯一的
sarStandardsSelectEO.setStandNumber(beforeStr);
List<SarBussionessStand> result = this.baseMapper.selectStandardsByStandnumber(sarStandardsSelectEO);
List<SarBussionessStand> result = this.baseMapper.selectStandardsByStandNumber(sarStandardsSelectEO);
if (result != null && result.size() > 0) {
String standId = result.get(0).getId();
String field = "BYYBJ";
String citedStand = sarBussStandAttrInfoEODao.selectFieldValByStandId(field, result.get(0).getId());
String changeCitedStand = "";
if (org.apache.commons.lang3.StringUtils.isNotBlank(citedStand)) {
if (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(), ",");
changeCitedStand = StringUtils.join(beforlist.toArray(), ",");
} else {
continue;
}