完善市场法规库清单添加接口
This commit is contained in:
+59
-39
@@ -23,6 +23,8 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
||||
import org.jeecgframework.poi.excel.entity.ImportParams;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -56,6 +58,8 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
@Resource
|
||||
private ILawsCommonService lawsCommonService;
|
||||
|
||||
private static final String NOT_DATA = "数据不存在";
|
||||
|
||||
|
||||
@Override
|
||||
public Result<?> getPage(LawsMarketStandardDetail marketStandardDetail, HttpServletRequest request,
|
||||
@@ -68,7 +72,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
if(!StringUtils.isBlank(marketStandardDetail.getManifestVersion())){
|
||||
LawsMarketStandard lawsMarketStandardOld = marketStandardService.getById(manifestId);
|
||||
if(Objects.isNull(lawsMarketStandardOld)){
|
||||
return Result.error("数据不存在");
|
||||
return Result.error(NOT_DATA);
|
||||
}
|
||||
LambdaQueryWrapper<LawsMarketStandard> queryLawsMarketStandard = new LambdaQueryWrapper<>();
|
||||
queryLawsMarketStandard.eq(LawsMarketStandard::getManifestNo,lawsMarketStandardOld.getManifestNo());
|
||||
@@ -96,7 +100,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
if(!StringUtils.isBlank(manifestVersion)){
|
||||
LawsMarketStandard lawsMarketStandardOld = marketStandardService.getById(manifestId);
|
||||
if(Objects.isNull(lawsMarketStandardOld)){
|
||||
return Result.error("数据不存在");
|
||||
return Result.error(NOT_DATA);
|
||||
}
|
||||
LambdaQueryWrapper<LawsMarketStandard> queryLawsMarketStandard = new LambdaQueryWrapper<>();
|
||||
queryLawsMarketStandard.eq(LawsMarketStandard::getManifestNo,lawsMarketStandardOld.getManifestNo());
|
||||
@@ -131,13 +135,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
return Result.error("excel文件表头错误,请重新下载");
|
||||
}
|
||||
try {
|
||||
List<LawsMarketStandardDetailExcel> listLawsMarketStandardDetailExcel = ExcelImportUtil.importExcel(
|
||||
file.getInputStream(), LawsMarketStandardDetailExcel.class, params);
|
||||
if(!CollectionUtils.isEmpty(listLawsMarketStandardDetailExcel)
|
||||
&& listLawsMarketStandardDetailExcel.size() >= 2){
|
||||
listLawsMarketStandardDetailExcel = listLawsMarketStandardDetailExcel.
|
||||
subList(2,listLawsMarketStandardDetailExcel.size());
|
||||
}
|
||||
List<LawsMarketStandardDetailExcel> listLawsMarketStandardDetailExcel = getLawsMarketStandardDetailExcels(file, params);
|
||||
if(CollectionUtils.isEmpty(listLawsMarketStandardDetailExcel)){
|
||||
return Result.error("导入数据为空");
|
||||
}
|
||||
@@ -157,16 +155,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
}
|
||||
StringBuilder m = new StringBuilder();
|
||||
// 获取当前清单的标准
|
||||
LambdaQueryWrapper<LawsMarketStandardDetail> queryLawsMarketStandardDetail = new LambdaQueryWrapper<>();
|
||||
queryLawsMarketStandardDetail.select(LawsMarketStandardDetail::getStandardId);
|
||||
queryLawsMarketStandardDetail.eq(LawsMarketStandardDetail::getManifestId,manifestId);
|
||||
queryLawsMarketStandardDetail.isNotNull(LawsMarketStandardDetail::getStandardId);
|
||||
List<LawsMarketStandardDetail> listStandardId = list(queryLawsMarketStandardDetail);
|
||||
List<String> listStandardIds = new ArrayList<>();
|
||||
if(!CollectionUtils.isEmpty(listStandardId)){
|
||||
listStandardIds = listStandardId.stream().map(LawsMarketStandardDetail::getStandardId)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
List<String> listStandardIds = getStandardIds(manifestId);
|
||||
// 验证标准编号是否重复
|
||||
List<String> listStandardIdRepeat = new ArrayList<>();
|
||||
for (int i = 0; i < listLawsMarketStandardDetail.size(); i++) {
|
||||
@@ -184,22 +173,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
s.append(dict);
|
||||
}
|
||||
// 验证标准编号
|
||||
if(!StringUtils.isBlank(p.getStandardNumber())){
|
||||
List<LawsMarketStandardDetail> listStandardNumberData = listIds.stream().filter(o->
|
||||
Objects.equals(o.getStandardNumber(),p.getStandardNumber())).collect(Collectors.toList());
|
||||
if(CollectionUtils.isEmpty(listStandardNumberData)){
|
||||
s.append("标准编号不存在;");
|
||||
}else{
|
||||
String id = listStandardNumberData.get(0).getStandardId();
|
||||
p.setStandardId(id);
|
||||
if(!CollectionUtils.isEmpty(listStandardIds) && listStandardIds.contains(id)){
|
||||
s.append("标准编号已存在;");
|
||||
}else if(!CollectionUtils.isEmpty(listStandardIdRepeat) && listStandardIdRepeat.contains(id)){
|
||||
s.append("标准编号重复;");
|
||||
}
|
||||
listStandardIdRepeat.add(listStandardNumberData.get(0).getId());
|
||||
}
|
||||
}
|
||||
checkStandard(listIds, listStandardIds, listStandardIdRepeat, p, s);
|
||||
if(!StringUtils.isBlank(s.toString())){
|
||||
m.append("第").append(i + 4).append("行,").append(s.toString());
|
||||
}
|
||||
@@ -224,6 +198,52 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private List<LawsMarketStandardDetailExcel> getLawsMarketStandardDetailExcels(MultipartFile file, ImportParams params) throws Exception {
|
||||
List<LawsMarketStandardDetailExcel> listLawsMarketStandardDetailExcel = ExcelImportUtil.importExcel(
|
||||
file.getInputStream(), LawsMarketStandardDetailExcel.class, params);
|
||||
if(!CollectionUtils.isEmpty(listLawsMarketStandardDetailExcel)
|
||||
&& listLawsMarketStandardDetailExcel.size() >= 2){
|
||||
listLawsMarketStandardDetailExcel = listLawsMarketStandardDetailExcel.
|
||||
subList(2,listLawsMarketStandardDetailExcel.size());
|
||||
}
|
||||
return listLawsMarketStandardDetailExcel;
|
||||
}
|
||||
|
||||
private void checkStandard(List<LawsMarketStandardDetail> listIds, List<String> listStandardIds, List<String> listStandardIdRepeat, LawsMarketStandardDetail p, StringBuilder s) {
|
||||
if(!StringUtils.isBlank(p.getStandardNumber())){
|
||||
List<LawsMarketStandardDetail> listStandardNumberData = listIds.stream().filter(o->
|
||||
Objects.equals(o.getStandardNumber(),p.getStandardNumber())).collect(Collectors.toList());
|
||||
if(CollectionUtils.isEmpty(listStandardNumberData)){
|
||||
s.append("标准编号不存在;");
|
||||
}else{
|
||||
String id = listStandardNumberData.get(0).getStandardId();
|
||||
p.setStandardId(id);
|
||||
if(!CollectionUtils.isEmpty(listStandardIds) && listStandardIds.contains(id)){
|
||||
s.append("标准编号已存在;");
|
||||
}else if(!CollectionUtils.isEmpty(listStandardIdRepeat) && listStandardIdRepeat.contains(id)){
|
||||
s.append("标准编号重复;");
|
||||
}
|
||||
listStandardIdRepeat.add(listStandardNumberData.get(0).getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private List<String> getStandardIds(String manifestId) {
|
||||
LambdaQueryWrapper<LawsMarketStandardDetail> queryLawsMarketStandardDetail = new LambdaQueryWrapper<>();
|
||||
queryLawsMarketStandardDetail.select(LawsMarketStandardDetail::getStandardId);
|
||||
queryLawsMarketStandardDetail.eq(LawsMarketStandardDetail::getManifestId,manifestId);
|
||||
queryLawsMarketStandardDetail.isNotNull(LawsMarketStandardDetail::getStandardId);
|
||||
List<LawsMarketStandardDetail> listStandardId = list(queryLawsMarketStandardDetail);
|
||||
List<String> listStandardIds = new ArrayList<>();
|
||||
if(!CollectionUtils.isEmpty(listStandardId)){
|
||||
listStandardIds = listStandardId.stream().map(LawsMarketStandardDetail::getStandardId)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
return listStandardIds;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void downloadTemplate(HttpServletResponse response) {
|
||||
// 模板存放地址
|
||||
@@ -267,7 +287,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
queryOld.groupBy(LawsMarketStandardDetail::getStandardId);
|
||||
List<LawsMarketStandardDetail> listOld = list(queryOld);
|
||||
if(CollectionUtils.isEmpty(listOld)){
|
||||
return Result.error("数据不存在");
|
||||
return Result.error(NOT_DATA);
|
||||
}
|
||||
LambdaQueryWrapper<LawsMarketStandardDetail> queryNew = new LambdaQueryWrapper<>();
|
||||
queryNew.eq(LawsMarketStandardDetail::getManifestId,newId);
|
||||
@@ -277,7 +297,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
listOld = listOld.stream().filter(o->!listStandardId.contains(o.getStandardId())).collect(Collectors.toList());
|
||||
}
|
||||
if(CollectionUtils.isEmpty(listOld)){
|
||||
return Result.error("数据不存在");
|
||||
return Result.error(NOT_DATA);
|
||||
}
|
||||
setData(newId, listOld);
|
||||
saveBatch(listOld);
|
||||
@@ -318,7 +338,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
checkData(id);
|
||||
LawsMarketStandardDetail lawsMarketStandardDetail = getById(id);
|
||||
if(Objects.isNull(lawsMarketStandardDetail)){
|
||||
throw new JeroBootException("数据不存在");
|
||||
throw new JeroBootException(NOT_DATA);
|
||||
}
|
||||
removeById(id);
|
||||
// 更细状态
|
||||
@@ -332,7 +352,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
checkData(ids);
|
||||
LawsMarketStandardDetail lawsMarketStandardDetail = getById(ids.split(",")[0]);
|
||||
if(Objects.isNull(lawsMarketStandardDetail)){
|
||||
throw new JeroBootException("数据不存在");
|
||||
throw new JeroBootException(NOT_DATA);
|
||||
}
|
||||
// 更细状态
|
||||
marketStandardService.updateStatus(lawsMarketStandardDetail.getManifestId());
|
||||
|
||||
Reference in New Issue
Block a user