diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/controller/SarStandardsInfoController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/controller/SarStandardsInfoController.java index f44e099d..ac543139 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/controller/SarStandardsInfoController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/controller/SarStandardsInfoController.java @@ -154,4 +154,19 @@ public class SarStandardsInfoController extends BaseController return Result.success("0", "添加成功", sarStandardsInfoEO); } + @ApiOperation(value = "|SarStandardsInfoEO|修改") + @PostMapping(value = "/updateSarStandardsInfo") + //401问题2021-03-31暂时注释掉 liuhuiwen +// @RequiresPermissions("lawss:sarStandardsInfo:updateSarStandardsInfo") + public ResponseMessage updateSarStandardsInfo(@RequestBody SarStandardsInfo sarStandardsInfoEO) throws Exception { + int result = sarStandardsInfoEOService.updateSarStandardsInfo(sarStandardsInfoEO); + if (result > 0) { + return Result.success("", "修改成功", sarStandardsInfoEO); + } else { + return Result.error("修改失败"); + } + } + + + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/dao/SarStandardsInfoDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/dao/SarStandardsInfoDao.java index 8d64ae59..55aec82b 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/dao/SarStandardsInfoDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/dao/SarStandardsInfoDao.java @@ -6,6 +6,7 @@ import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfoEOPage; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import javax.annotation.Resource; import java.util.List; /** @@ -16,6 +17,7 @@ import java.util.List; * @author super_liu * @since 2021-05-31 */ +@Resource public interface SarStandardsInfoDao extends BaseMapper { List getSarStandardsInfoPage(SarStandardsInfoEOPage page); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/ISarStandardsInfoService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/ISarStandardsInfoService.java index fe626a62..92e09989 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/ISarStandardsInfoService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/ISarStandardsInfoService.java @@ -23,8 +23,8 @@ public interface ISarStandardsInfoService extends IService { List getSarStandardsInfoPage(SarStandardsInfoEOPage page) throws Exception; void createSarStandardsInfo(SarStandardsInfo sarStandardsInfoEO) throws Exception; -// -// int updateSarStandardsInfo(SarStandardsInfo sarStandardsInfoEO) throws Exception; + + int updateSarStandardsInfo(SarStandardsInfo sarStandardsInfoEO) throws Exception; // // int deleteSarStandards(String ids); // diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java index 81cc368b..69c4ddd9 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java @@ -814,4 +814,131 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl + */ + public int updateSarStandardsInfo(SarStandardsInfo sarStandardsInfoEO) throws Exception { + String standId = sarStandardsInfoEO.getId(); + // 查询修改前数据信息,为修改代替标准号使用 + SarStandardsInfo beforeSarStandardsInfo = dao.selectById(standId); + attrInfoDetails(beforeSarStandardsInfo); + sarStandardsInfoEO.setModifyTime(new Date()); + // 根据其他字段,生成标准状态 +// updateStandState(sarStandardsInfoEO,beforeSarStandardsInfo.getStandState()); + int result = dao.updateById(sarStandardsInfoEO); + //先删除标准关联表,然后插入数据 + sarStandValEODao.deleteDataByStandid(standId); + //删除文件详情表数据 + sarStandFileEODao.deleteByStandId(standId); + SarStandFile sarStandFileEO = new SarStandFile(); + sarStandFileEO.setStandId(sarStandardsInfoEO.getId()); + Map map = (Map) JSONObject.fromObject(sarStandardsInfoEO.getSarStandAttrEOStr()); + sarStandFileEO.setIdlist(null); + List listFile = sarStandFileEODao.selectFileByStandIdAndId(sarStandFileEO); +// if (listFile != null) { +// if (!listFile.isEmpty()) { +// for (int f = 0; f < listFile.size(); f++) { +// //删除文件信息表数据 +// sarFileInfoEODao.deleteByfileId(listFile.get(f).getId()); +// //删除转换表ot_convert数据 +// otConvertEODao.deleteByAttId(listFile.get(f).getAttId()); +// } +// } +// } + sarStandPutTimeEODao.deleteByStandId(standId); + // 修改属性表数据 + sarStandAttrInfoEODao.deleteStandAttrByStandId(standId); + createStandAttrInfo(sarStandardsInfoEO); + //编写预警信息 +// writeWarnings(sarStandardsInfoEO); + //修改标准过程中,重新修改代替标准号对应的标准的被代替标准号 +// updateReplacedNumber(sarStandardsInfoEO,beforeSarStandardsInfo); + // 根据引用标准修改其他被引用标准 + updateCiteStand(sarStandardsInfoEO,beforeSarStandardsInfo,"DTBJH","BDTBZBH"); + updateCiteStand(sarStandardsInfoEO,beforeSarStandardsInfo,"YYBJ","BYYBJ"); + // 根据对应其他标准修改其他对应其他标准 + updateRelateStand(sarStandardsInfoEO,"CBBH"); + // 根据代替标准号修改被代替的标准的状态 修改为已修订状态 + replaseStandState(sarStandardsInfoEO); + // 记录修改日志 + saveUpdateLog(sarStandardsInfoEO,beforeSarStandardsInfo); +// if(elasflag) { +// createStandMQService.sendStandMQ(sarStandardsInfoEO,"update"); +// List bhs = new ArrayList<>(Arrays.asList(String.valueOf(map.get("DTBJH")).split(","))); +// for (String bh :bhs) { +// SarStandardsInfoEOPage page = new SarStandardsInfoEOPage(); +// int countStand = 10000; +// int countSuccess = 0; +// page.setValidFlag("0"); +// page.setPageSize(countStand); +// page.setMenuId("nomenu"); +// page.setStandType("ALL"); +// page.setStandNumber(bh); +// List rowsStand = dao.selectStandardsInfoBynumber(page); +// for (SarStandardsInfo sarStandardsInfo : rowsStand) { +// List sarStandardsInfoEOS = new ArrayList<>(); +// sarStandardsInfoEOS.add(sarStandardsInfo); +// attrInfo(sarStandardsInfoEOS); +// if (sarStandardsInfoEOS.size()>0) { +// sarStandardsInfo = sarStandardsInfoEOS.get(0); +// countSuccess++; +// if (sarStandardsInfo.getAttrInfoMap() != null) { +// if (sarStandardsInfo.getAttrInfoMap().containsKey("BDTBZBH")){ +// String bdtbh = String.valueOf(sarStandardsInfo.getAttrInfoMap().get("BDTBZBH")); +// sarStandardsInfo.getAttrInfoMap().put("BDTBH", bdtbh); +// sarStandardsInfo.setSarStandAttrEOStr(com.alibaba.fastjson.JSONObject.toJSONString(sarStandardsInfo.getAttrInfoMap())); +// } +// +// } +// createStandMQService.sendStandMQ(sarStandardsInfo, "update"); +// } +// } +// } +// } + return result; + } + + public void saveUpdateLog(SarStandardsInfo sarStandardsInfoEO,SarStandardsInfo beforeSarStandardsInfo) throws Exception{ + Map newMap = new HashMap<>(); + Map oldMap = beforeSarStandardsInfo.getAttrInfoMap(); + String attrStr = sarStandardsInfoEO.getSarStandAttrEOStr(); + if (StringUtils.isNotBlank(attrStr)) { + newMap = JSONObject.fromObject(attrStr); + } + newMap = changeMap(sarStandardsInfoEO,newMap); + oldMap = changeMap(beforeSarStandardsInfo,oldMap); + // 增加关联事件 + String number = sarStandardsInfoEO.getStandSort() + " " + sarStandardsInfoEO.getStandNumber(); + if (StringUtils.isNotBlank(sarStandardsInfoEO.getStandYear())) { + number += "-" + sarStandardsInfoEO.getStandYear(); + } + String content = number + " 《" + sarStandardsInfoEO.getStandName() + "》"; + sarUpdLogEOService.createUpdateLog(sarStandardsInfoEO.getStandType()+"_STAND",sarStandardsInfoEO.getId(),oldMap,newMap,content); + } + + public Map changeMap (SarStandardsInfo sarStandardsInfoEO,Map map) { + map.put("country",sarStandardsInfoEO.getCountry()); + map.put("isRelateAccess",sarStandardsInfoEO.getIsRelateAccess()); + map.put("standSort",sarStandardsInfoEO.getStandSort()); + map.put("standNumber",sarStandardsInfoEO.getStandNumber()); + map.put("standYear",sarStandardsInfoEO.getStandYear()); + map.put("standName",sarStandardsInfoEO.getStandName()); + map.put("standEnName",sarStandardsInfoEO.getStandEnName()); + map.put("standNature",sarStandardsInfoEO.getStandNature()); + map.put("standState",sarStandardsInfoEO.getStandState()); +// if (sarStandardsInfoEO.getIssueTime() != null) { +// SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); +// String issueStr = format.format(sarStandardsInfoEO.getIssueTime()); +// +// } + map.put("issueTime",sarStandardsInfoEO.getIssueTime()); + map.put("synopsis",sarStandardsInfoEO.getSynopsis()); + return map; + } + }