diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardServiceImpl.java index 867ba324..66aaa144 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardServiceImpl.java @@ -19,6 +19,10 @@ import com.jero.modules.laws.marketStandard.mapper.LawsMarketStandardMapper; import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardDetailService; import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardService; import com.jero.modules.sys.entity.LawsWorkingGroupUserImport; +import com.jero.modules.system.entity.SysDict; +import com.jero.modules.system.entity.SysDictItem; +import com.jero.modules.system.service.ISysDictItemService; +import com.jero.modules.system.service.ISysDictService; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.poi.ss.formula.functions.T; @@ -30,6 +34,7 @@ import org.jeecgframework.poi.excel.entity.ImportParams; import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; @@ -58,6 +63,10 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl lists = marketStandardDetailVO.getLists(); lists.forEach(e -> e.setManifestId(manifest.getId())); @@ -111,15 +122,34 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl queryLawsMarketStandard = new QueryWrapper<>(); + queryLawsMarketStandard.select("max(manifest_no) as manifest_no"); + queryLawsMarketStandard.likeRight("manifest_no",s); + LawsMarketStandard lawsMarketStandard = getOne(queryLawsMarketStandard,false); + if(Objects.isNull(lawsMarketStandard)){ + return s + "01"; + } + String num = lawsMarketStandard.getManifestNo().substring(lawsMarketStandard.getManifestNo().length() - 2); + int m = Integer.parseInt(num); + return s + (m >= 10 ? (m + 1) : "0" + (m + 1)); } @Override - public void edit(MarketStandardDetailVO marketStandardDetailVO) { + public synchronized void edit(MarketStandardDetailVO marketStandardDetailVO) { + // todo 状态为已发布需要生成新数据,版本号等 // 修改清单信息 LawsMarketStandard manifest = marketStandardDetailVO.getManifest(); + LawsMarketStandard lawsMarketStandardOld = getById(manifest.getId()); + if(Objects.isNull(lawsMarketStandardOld)){ + throw new JeroBootException("数据不存在"); + } + List listCountry = Arrays.stream(manifest.getCountry().split(",")).sorted().collect(Collectors.toList()); + List listOldCountry = Arrays.stream(lawsMarketStandardOld.getCountry().split(",")).sorted().collect(Collectors.toList());; + if(!Objects.equals(listCountry,listOldCountry)){ + manifest.setManifestNo(generateManifestNo(manifest.getCountry())); + } updateById(manifest); // 删除旧数据 LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();