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