修改市场法规清单直接发布
This commit is contained in:
+40
-14
@@ -511,6 +511,7 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public Result<?> directRelease(String ids) {
|
||||
List<String> listIds = Arrays.asList(ids.split(","));
|
||||
List<LawsMarketStandard> lawsMarketStandardOldList = listByIds(listIds);
|
||||
@@ -519,14 +520,8 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
|
||||
}
|
||||
StringBuilder msg = new StringBuilder();
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
for (String listId : listIds) {
|
||||
Optional<LawsMarketStandard> op = lawsMarketStandardOldList.stream().filter(o->Objects.equals(o.getId(),listId)).findFirst();
|
||||
if(!op.isPresent()){
|
||||
continue;
|
||||
}
|
||||
LawsMarketStandard lawsMarketStandard = op.get();
|
||||
for (LawsMarketStandard lawsMarketStandard : lawsMarketStandardOldList) {
|
||||
// 已发布的清单所有人都可以查看,未发布的数据只能作者和管理管查看、编辑、删除
|
||||
|
||||
if(!Arrays.asList(sysUser.getRoleIds().split(",")).contains(lawsAdmin)
|
||||
&& Arrays.stream(sysUser.getRoleIds().split(",")).noneMatch(otherAdmin::contains)
|
||||
&& !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin)
|
||||
@@ -543,21 +538,52 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
|
||||
continue;
|
||||
}
|
||||
try {
|
||||
processMarketStandardReleaseService.checkProcessStatus(listId);
|
||||
processMarketStandardReleaseService.checkProcessStatus(lawsMarketStandard.getId());
|
||||
}catch (Exception e){
|
||||
msg.append(lawsMarketStandard.getManifestNo())
|
||||
.append("当前数据已发布的流程未结束,不可操作,");
|
||||
}
|
||||
|
||||
}
|
||||
if(!StringUtils.isEmpty(msg.toString())){
|
||||
return Result.error(msg.toString().substring(0,msg.toString().length() - 1));
|
||||
}
|
||||
LambdaUpdateWrapper<LawsMarketStandard> updateLawsMarketStandard = new LambdaUpdateWrapper<>();
|
||||
updateLawsMarketStandard.in(LawsMarketStandard::getId,listIds);
|
||||
updateLawsMarketStandard.set(LawsMarketStandard::getUpdateBy,sysUser.getUsername());
|
||||
updateLawsMarketStandard.set(LawsMarketStandard::getUpdateBy,new Date());
|
||||
updateLawsMarketStandard.set(LawsMarketStandard::getManifestStatus,MarketStandardConstants.MANIFEST_STATUS_PUBLISH);
|
||||
update(updateLawsMarketStandard);
|
||||
for (LawsMarketStandard lawsMarketStandardOld : lawsMarketStandardOldList) {
|
||||
LambdaQueryWrapper<LawsMarketStandard> queryLawsMarketStandard = new LambdaQueryWrapper<>();
|
||||
queryLawsMarketStandard.eq(LawsMarketStandard::getVersionFlag,lawsMarketStandardOld.getVersionFlag());
|
||||
long l = count(queryLawsMarketStandard);
|
||||
// 更新状态
|
||||
LambdaUpdateWrapper<LawsMarketStandard> updateLawsMarketStandard = new LambdaUpdateWrapper<>();
|
||||
updateLawsMarketStandard.eq(LawsMarketStandard::getId, lawsMarketStandardOld.getId());
|
||||
updateLawsMarketStandard.set(LawsMarketStandard::getReleaseDate,new Date());
|
||||
updateLawsMarketStandard.set(LawsMarketStandard::getManifestVersion, "V" + l + ".0");
|
||||
updateLawsMarketStandard.set(LawsMarketStandard::getManifestStatus,MarketStandardConstants.MANIFEST_STATUS_PUBLISH);
|
||||
updateLawsMarketStandard.set(LawsMarketStandard::getUpdateTime,new Date());
|
||||
updateLawsMarketStandard.set(LawsMarketStandard::getUpdateBy,sysUser.getUsername());
|
||||
update(updateLawsMarketStandard);
|
||||
|
||||
// 更新标准的市场数据
|
||||
LambdaQueryWrapper<LawsMarketStandardDetail> queryLawsMarketStandardDetail = new LambdaQueryWrapper<>();
|
||||
queryLawsMarketStandardDetail.eq(LawsMarketStandardDetail::getManifestId,lawsMarketStandardOld.getId());
|
||||
List<LawsMarketStandardDetail> listLawsMarketStandardDetail = lawsMarketStandardDetailService
|
||||
.list(queryLawsMarketStandardDetail);
|
||||
if(CollectionUtils.isEmpty(listLawsMarketStandardDetail)){
|
||||
continue;
|
||||
}
|
||||
List<LawsDomesticStandard> listLawsDomesticStandard = new ArrayList<>();
|
||||
String country = lawsMarketStandardOld.getCountry();
|
||||
for (LawsMarketStandardDetail lawsMarketStandardDetail : listLawsMarketStandardDetail) {
|
||||
String countryDetail = lawsMarketStandardDetail.getCountry();
|
||||
String dis = StringUtils.isEmpty(countryDetail) ? country : country + "," + countryDetail;
|
||||
List<String> data = Arrays.stream(dis.split(",")).distinct().collect(Collectors.toList());
|
||||
LawsDomesticStandard lawsDomesticStandard = new LawsDomesticStandard();
|
||||
lawsDomesticStandard.setId(lawsMarketStandardDetail.getStandardId());
|
||||
lawsDomesticStandard.setApplicableMarket(String.join(",",data));
|
||||
listLawsDomesticStandard.add(lawsDomesticStandard);
|
||||
}
|
||||
lawsDomesticStandardService.updateBatchById(listLawsDomesticStandard);
|
||||
lawsStandardMasterPlanService.syncMarketRegulationListUpdate(lawsMarketStandardOld.getId(),lawsMarketStandardOld.getCountry());
|
||||
}
|
||||
return Result.OK(ResultCommon.OK);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user