清单导入

This commit is contained in:
yuezhihang
2022-04-27 19:11:16 +08:00
parent 41b19d1481
commit 44ed3af251
6 changed files with 353 additions and 182 deletions
@@ -27,5 +27,7 @@ public interface StandDataDao extends BaseMapper<StandData> {
List<StandData> searchStandData(SearchStandContext searchStandContext); List<StandData> searchStandData(SearchStandContext searchStandContext);
List<StandData> searchStandDataThree(SearchStandContext searchStandContext);
} }
@@ -59,5 +59,7 @@ public class SearchStandContext implements Serializable {
@ApiModelProperty(value = "项目编号") @ApiModelProperty(value = "项目编号")
private String ItemNumber; private String ItemNumber;
private String standCode;
} }
@@ -36,6 +36,13 @@ public class ExportEmptyModel {
private String compareFlag; private String compareFlag;
private String syrzCode; private String syrzCode;
//国内海外为1 企标为2 政策为3
private String standName;
private String standEnName;
private String sycx;
private String nylx;
private String zrbm;
private String sycpx;
} }
@@ -3,8 +3,12 @@ package com.adc.da.slrs.sarLawsDetailedList.service.impl;
import com.adc.da.att.service.IAttFileEOService; import com.adc.da.att.service.IAttFileEOService;
import com.adc.da.mq.CreateUpdateMQService; import com.adc.da.mq.CreateUpdateMQService;
import com.adc.da.slrs.processModel.utils.ExcelImportUtilByWk; import com.adc.da.slrs.processModel.utils.ExcelImportUtilByWk;
import com.adc.da.slrs.regulations.dao.StandDataDao;
import com.adc.da.slrs.regulations.entity.SearchStandContext;
import com.adc.da.slrs.regulations.entity.StandData;
import com.adc.da.slrs.sarBussionessStand.dao.SarBussionessStandDao; import com.adc.da.slrs.sarBussionessStand.dao.SarBussionessStandDao;
import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand;
import com.adc.da.slrs.sarBussionessStand.service.ISarBussionessStandService;
import com.adc.da.slrs.sarLawsAttrDetailedList.dao.SarLawsAttrDetailedListDao; import com.adc.da.slrs.sarLawsAttrDetailedList.dao.SarLawsAttrDetailedListDao;
import com.adc.da.slrs.sarLawsAttrDetailedList.entity.SarLawsAttrDetailedList; import com.adc.da.slrs.sarLawsAttrDetailedList.entity.SarLawsAttrDetailedList;
import com.adc.da.slrs.sarLawsAttrDetailedList.service.ISarLawsAttrDetailedListService; import com.adc.da.slrs.sarLawsAttrDetailedList.service.ISarLawsAttrDetailedListService;
@@ -15,6 +19,7 @@ import com.adc.da.slrs.sarLawsDetailedList.service.ISarLawsDetailedListService;
import com.adc.da.slrs.sarLawsStandInfo.dao.SarLawsStandInfoDao; import com.adc.da.slrs.sarLawsStandInfo.dao.SarLawsStandInfoDao;
import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfo; import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfo;
import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfoPage; import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfoPage;
import com.adc.da.slrs.sarLawsStandInfo.service.ISarLawsStandInfoService;
import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao; import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao;
import com.adc.da.slrs.sarStandardsInfo.entity.SarBussionessStandEOPage; import com.adc.da.slrs.sarStandardsInfo.entity.SarBussionessStandEOPage;
import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo; import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo;
@@ -45,6 +50,7 @@ import org.springframework.web.multipart.MultipartFile;
import java.lang.reflect.Array; import java.lang.reflect.Array;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
import static com.adc.da.login.util.UserUtils.getUserName; import static com.adc.da.login.util.UserUtils.getUserName;
@@ -83,6 +89,10 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
private SarBussionessStandDao sarBussionessStandDao; private SarBussionessStandDao sarBussionessStandDao;
@Autowired @Autowired
private SarLawsStandInfoDao sarLawsStandInfoDao; private SarLawsStandInfoDao sarLawsStandInfoDao;
@Autowired
private ISarLawsStandInfoService sarLawsStandInfoService;
@Autowired
private ISarBussionessStandService sarBussionessStandService;
//查询数据字典 //查询数据字典
@Autowired @Autowired
private IDicTypeEOService dicTypeEOService; private IDicTypeEOService dicTypeEOService;
@@ -90,6 +100,9 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
//查询数据字典 //查询数据字典
@Autowired @Autowired
private CreateUpdateMQService createUpdateMQService; private CreateUpdateMQService createUpdateMQService;
//查询数据字典 searchStandDataThree
@Autowired
private StandDataDao standDateDao;
@Override @Override
@@ -98,23 +111,25 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
for (String id : idList) { for (String id : idList) {
//把老的弄出来 //把老的弄出来
QueryWrapper<SarLawsAttrDetailedList> wrapper2 = new QueryWrapper<>(); QueryWrapper<SarLawsAttrDetailedList> wrapper2 = new QueryWrapper<>();
wrapper2.eq("detailed_list_id",id); wrapper2.eq("detailed_list_id", id);
List<SarLawsAttrDetailedList> sarLawsAttrDetailedLists=sarLawsAttrDetailedListDao.selectList(wrapper2); List<SarLawsAttrDetailedList> sarLawsAttrDetailedLists = sarLawsAttrDetailedListDao.selectList(wrapper2);
List<String> list1=new ArrayList<>(); List<String> list1 = new ArrayList<>();
if (sarLawsAttrDetailedLists.size()>0){ if (sarLawsAttrDetailedLists.size() > 0) {
sarLawsAttrDetailedLists.forEach(sarLawsAttrDetailedList -> {list1.add(sarLawsAttrDetailedList.getStandId());}); sarLawsAttrDetailedLists.forEach(sarLawsAttrDetailedList -> {
list1.add(sarLawsAttrDetailedList.getStandId());
});
} }
wrapper.eq("detailed_list_id", id); wrapper.eq("detailed_list_id", id);
sarLawsAttrDetailedListDao.delete(wrapper); sarLawsAttrDetailedListDao.delete(wrapper);
// -- eeee // -- eeee
//移除之后 需要判定一下 还有没有其他地方引用 //移除之后 需要判定一下 还有没有其他地方引用
QueryWrapper<SarLawsAttrDetailedList> wrapper1 = new QueryWrapper<>(); QueryWrapper<SarLawsAttrDetailedList> wrapper1 = new QueryWrapper<>();
wrapper1.in("stand_id",list1); wrapper1.in("stand_id", list1);
List<SarLawsAttrDetailedList> res=sarLawsAttrDetailedListDao.selectList(wrapper); List<SarLawsAttrDetailedList> res = sarLawsAttrDetailedListDao.selectList(wrapper);
res.forEach(sarLawsAttrDetailedList -> { res.forEach(sarLawsAttrDetailedList -> {
list1.remove(sarLawsAttrDetailedList.getStandId()); list1.remove(sarLawsAttrDetailedList.getStandId());
}); });
if (null!=list1 && list1.size()>0){ if (null != list1 && list1.size() > 0) {
sarStandardsInfoDao.updateISRELATEACCESSById("2", list1); sarStandardsInfoDao.updateISRELATEACCESSById("2", list1);
} }
@@ -345,10 +360,10 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
timeDto = null; timeDto = null;
} }
service.insertDetailedList(sarLawsDetailedList.getId(), timeDto); service.insertDetailedList(sarLawsDetailedList.getId(), timeDto);
if (null!=timeDto) { if (null != timeDto) {
List<SarStandardsInfo> sarStandardsInfos=new ArrayList<>(); List<SarStandardsInfo> sarStandardsInfos = new ArrayList<>();
timeDto.forEach(timeDto1 -> { timeDto.forEach(timeDto1 -> {
SarStandardsInfo sarStandardsInfo=new SarStandardsInfo(); SarStandardsInfo sarStandardsInfo = new SarStandardsInfo();
sarStandardsInfo.setId(timeDto1.getStandId()); sarStandardsInfo.setId(timeDto1.getStandId());
sarStandardsInfo.setIsRelateAccess("1"); sarStandardsInfo.setIsRelateAccess("1");
sarStandardsInfos.add(sarStandardsInfo); sarStandardsInfos.add(sarStandardsInfo);
@@ -381,7 +396,7 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
wrapper.eq("sort_key", sortKey); wrapper.eq("sort_key", sortKey);
Page<SarLawsDetailedList> pageRes = new Page<>(page, pageSize); Page<SarLawsDetailedList> pageRes = new Page<>(page, pageSize);
IPage<SarLawsDetailedList> userIPage = sarLawsDetailedListDao.selectPage(pageRes, wrapper); IPage<SarLawsDetailedList> userIPage = sarLawsDetailedListDao.selectPage(pageRes, wrapper);
if ( userIPage.getRecords().size()>0){ if (userIPage.getRecords().size() > 0) {
if ("1".equals(sortKey)) { if ("1".equals(sortKey)) {
Map<String, Object> map = iDicTypeEOService.getDicTypeListCode(); Map<String, Object> map = iDicTypeEOService.getDicTypeListCode();
List<SarLawsDetailedList> list = userIPage.getRecords(); List<SarLawsDetailedList> list = userIPage.getRecords();
@@ -675,23 +690,23 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
} }
service.updateDetailedLaws(detailedUpDto.getId(), timeDto); service.updateDetailedLaws(detailedUpDto.getId(), timeDto);
QueryWrapper<SarLawsAttrDetailedList> wrapper = new QueryWrapper<>(); QueryWrapper<SarLawsAttrDetailedList> wrapper = new QueryWrapper<>();
wrapper.eq("detailed_list_id",detailedUpDto.getId()); wrapper.eq("detailed_list_id", detailedUpDto.getId());
List<SarLawsAttrDetailedList> sarLawsAttrDetailedLists=sarLawsAttrDetailedListDao.selectList(wrapper); List<SarLawsAttrDetailedList> sarLawsAttrDetailedLists = sarLawsAttrDetailedListDao.selectList(wrapper);
List<String> list1=new ArrayList<>(); List<String> list1 = new ArrayList<>();
List<String> list2=new ArrayList<>(); List<String> list2 = new ArrayList<>();
//避免出现数据丢失 处理一下适用认证信息 //避免出现数据丢失 处理一下适用认证信息
Hashtable<String,String> hashtable=new Hashtable<>(); Hashtable<String, String> hashtable = new Hashtable<>();
if (sarLawsAttrDetailedLists.size()>0){ if (sarLawsAttrDetailedLists.size() > 0) {
sarLawsAttrDetailedLists.forEach(sarLawsAttrDetailedList -> { sarLawsAttrDetailedLists.forEach(sarLawsAttrDetailedList -> {
dealWithHashTableData(list1, list2, hashtable, sarLawsAttrDetailedList); dealWithHashTableData(list1, list2, hashtable, sarLawsAttrDetailedList);
}); });
} }
list1.removeAll(Arrays.asList(detailedUpDto.getInforlist().split(","))); list1.removeAll(Arrays.asList(detailedUpDto.getInforlist().split(",")));
if (list1.size()>0){ if (list1.size() > 0) {
QueryWrapper<SarLawsAttrDetailedList> wrapper1 = new QueryWrapper<>(); QueryWrapper<SarLawsAttrDetailedList> wrapper1 = new QueryWrapper<>();
wrapper1.in("stand_id",list1); wrapper1.in("stand_id", list1);
List<SarLawsAttrDetailedList> res=sarLawsAttrDetailedListDao.selectList(wrapper); List<SarLawsAttrDetailedList> res = sarLawsAttrDetailedListDao.selectList(wrapper);
if (res.size()>0){ if (res.size() > 0) {
res.forEach(sarLawsAttrDetailedList -> { res.forEach(sarLawsAttrDetailedList -> {
dealWithHashTableData(list1, list2, hashtable, sarLawsAttrDetailedList); dealWithHashTableData(list1, list2, hashtable, sarLawsAttrDetailedList);
}); });
@@ -710,7 +725,7 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
//剩下的数据是需要加入到认证清单的 //剩下的数据是需要加入到认证清单的
list2.removeAll(list1); list2.removeAll(list1);
//下面写消息队列了开始 //下面写消息队列了开始
createUpdateMQService.sendMQ(hashtable,list1,list2); createUpdateMQService.sendMQ(hashtable, list1, list2);
// //更新标准是否纳入认证清单 // //更新标准是否纳入认证清单
// sarStandardsInfoDao.updateISRELATEACCESSById("1", Arrays.asList(detailedUpDto.getInforlist().split(","))); // sarStandardsInfoDao.updateISRELATEACCESSById("1", Arrays.asList(detailedUpDto.getInforlist().split(",")));
@@ -720,7 +735,7 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
private void dealWithHashTableData(List<String> list1, List<String> list2, Hashtable<String, String> hashtable, SarLawsAttrDetailedList sarLawsAttrDetailedList) { private void dealWithHashTableData(List<String> list1, List<String> list2, Hashtable<String, String> hashtable, SarLawsAttrDetailedList sarLawsAttrDetailedList) {
list1.add(sarLawsAttrDetailedList.getStandId()); list1.add(sarLawsAttrDetailedList.getStandId());
list2.add(sarLawsAttrDetailedList.getStandId()); list2.add(sarLawsAttrDetailedList.getStandId());
if (null != hashtable.get(sarLawsAttrDetailedList.getStandId()) && !"-".equals( sarLawsAttrDetailedList.getSyrz())) { if (null != hashtable.get(sarLawsAttrDetailedList.getStandId()) && !"-".equals(sarLawsAttrDetailedList.getSyrz())) {
if (sarLawsAttrDetailedList.getSyrz().contains(",")) { if (sarLawsAttrDetailedList.getSyrz().contains(",")) {
List<String> middle = new ArrayList<>(Arrays.asList(sarLawsAttrDetailedList.getSyrz().split(","))); List<String> middle = new ArrayList<>(Arrays.asList(sarLawsAttrDetailedList.getSyrz().split(",")));
middle.forEach(s -> { middle.forEach(s -> {
@@ -729,15 +744,15 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
hashtable.put(sarLawsAttrDetailedList.getStandId(), as + "," + s); hashtable.put(sarLawsAttrDetailedList.getStandId(), as + "," + s);
} }
}); });
}else { } else {
hashtable.put(sarLawsAttrDetailedList.getStandId(), hashtable.get(sarLawsAttrDetailedList.getStandId()) + "," + sarLawsAttrDetailedList.getSyrz()); hashtable.put(sarLawsAttrDetailedList.getStandId(), hashtable.get(sarLawsAttrDetailedList.getStandId()) + "," + sarLawsAttrDetailedList.getSyrz());
} }
}else { } else {
// 先确定hashTable中不为空 // 先确定hashTable中不为空
if (!"-".equals( sarLawsAttrDetailedList.getSyrz())) { if (!"-".equals(sarLawsAttrDetailedList.getSyrz())) {
hashtable.put(sarLawsAttrDetailedList.getStandId(), sarLawsAttrDetailedList.getSyrz()); hashtable.put(sarLawsAttrDetailedList.getStandId(), sarLawsAttrDetailedList.getSyrz());
}
} }
}
} }
@@ -801,7 +816,7 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
sarLawsAttrDetailedListService.insertDetailedList(lawsDetailed.getId(), timeDtos); sarLawsAttrDetailedListService.insertDetailedList(lawsDetailed.getId(), timeDtos);
//更新标准是否纳入认证清单 //更新标准是否纳入认证清单
sarStandardsInfoDao.updateISRELATEACCESSById("1", Arrays.asList(timeDto.getStandId()) ); sarStandardsInfoDao.updateISRELATEACCESSById("1", Arrays.asList(timeDto.getStandId()));
break; break;
} }
} }
@@ -811,127 +826,195 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
@Override @Override
public List<ExportEmptyModel> importData(MultipartFile file, StringBuilder stringBuilder) { public List<ExportEmptyModel> importData(MultipartFile file, StringBuilder stringBuilder) {
List<ExportEmptyModel> res= ExcelImportUtilByWk.readExcelpublic(ExportEmptyModel.class,file,stringBuilder); List<ExportEmptyModel> res = ExcelImportUtilByWk.readExcelpublic(ExportEmptyModel.class, file, stringBuilder);
//数据字典数据组装 //数据字典数据组装
Map<String, Object> dicTypeEO = dicTypeEOService.getDicTypeListCode(); Map<String, Object> dicTypeEO = dicTypeEOService.getDicTypeListCode();
Map<String,String> dict=new HashMap<>(); Map<String, String> dict = new HashMap<>();
List<Map<String, String>> arr = (List<Map<String, String>>) dicTypeEO.get("SYRZCLASS"); List<Map<String, String>> arr = (List<Map<String, String>>) dicTypeEO.get("SYRZCLASS");
arr.forEach(stringStringMap -> { arr.forEach(stringStringMap -> {
dict.put(stringStringMap.get("label"),stringStringMap.get("value")); dict.put(stringStringMap.get("label"), stringStringMap.get("value"));
}); });
if (null==res){ if (null == res) {
stringBuilder.append("请误导入空文件;"); stringBuilder.append("请误导入空文件;");
} }
//先校验是否存在一堆空数据 //先校验是否存在一堆空数据
if (null != res && "".equals(stringBuilder.toString())) { if (null != res && "".equals(stringBuilder.toString())) {
int i=1; int i = 1;
for (ExportEmptyModel e:res) { for (ExportEmptyModel e : res) {
if (null==e.getStandNumber() || e.getStandNumber().isEmpty()){ if (null == e.getStandNumber() || e.getStandNumber().isEmpty()) {
stringBuilder.append(""+i+"行标准编号不能为空;"); stringBuilder.append("" + i + "行标准编号不能为空;");
} }
if (null==e.getSyrz() || e.getSyrz().isEmpty()){ if (null == e.getSyrz() || e.getSyrz().isEmpty()) {
stringBuilder.append(""+i+"行适用认证不能为空;"); stringBuilder.append("" + i + "行适用认证不能为空;");
} }
i++; i++;
} }
} }
//数据校验 先做重复交验+再做是否存在校验 //数据校验 先做重复交验+再做是否存在校验
if (null != res && "".equals(stringBuilder.toString())) { if (null != res && "".equals(stringBuilder.toString())) {
for (int i = 0; i <res.size(); i++) { for (int i = 0; i < res.size(); i++) {
for (int j=0;j<res.size();j++){ for (int j = 0; j < res.size(); j++) {
String a=res.get(i).getStandNumber().replaceAll(" ","").replaceAll(" ",""); String a = res.get(i).getStandNumber().replaceAll(" ", "").replaceAll(" ", "");
String b=res.get(j).getStandNumber().replaceAll(" ","").replaceAll(" ",""); String b = res.get(j).getStandNumber().replaceAll(" ", "").replaceAll(" ", "");
if (a.equals(b) && i<j && !"1".equals(res.get(j).getCompareFlag())){ if (a.equals(b) && i < j && !"1".equals(res.get(j).getCompareFlag())) {
stringBuilder.append(""+(i+1)+"行数据与第"+(j+1)+"行数据重复;"); stringBuilder.append("" + (i + 1) + "行数据与第" + (j + 1) + "行数据重复;");
res.get(j).setCompareFlag("1"); res.get(j).setCompareFlag("1");
} }
} }
} }
//如果没有重复 那么错误提示标识应该为空 现在开始验证标准是否存在 //如果没有重复 那么错误提示标识应该为空 现在开始验证标准是否存在
if ("".equals(stringBuilder.toString())){ if ("".equals(stringBuilder.toString())) {
int i=1; int i = 1;
for (ExportEmptyModel exportEmptyModel:res) { for (ExportEmptyModel exportEmptyModel : res) {
SearchStandContext searchStandContext = new SearchStandContext();
//判定是不是存在于国内海外标准中 searchStandContext.setStandCode(exportEmptyModel.getStandNumber());
SarStandardsInfoEOPage infoEOPage = new SarStandardsInfoEOPage(); List<StandData> standData = standDateDao.searchStandDataThree(searchStandContext);
infoEOPage.setUserId(LoginUserUtil.getUserId()); if (null != standData && standData.size() > 0) {
infoEOPage.setPage(1); exportEmptyModel.setId(standData.get(0).getStandId());
infoEOPage.setPageSize(999);
infoEOPage.setValidFlag("0");
infoEOPage.setStandNumber(exportEmptyModel.getStandNumber());
List<SarStandardsInfo> infos=standardsInfoDao.getSarStandardsInfoByNum(infoEOPage ,"0");
if (null!= infos && infos.size()>0){
exportEmptyModel.setId(infos.get(0).getId());
}
if (null==exportEmptyModel.getId()) {
//判断是否在政策里
SarBussionessStandEOPage page = new SarBussionessStandEOPage();
page.setPage(1);
page.setPageSize(999);
page.setValidFlag("0");
page.setUserId(LoginUserUtil.getUserId());
page.setStandCode(exportEmptyModel.getStandNumber());
List<SarBussionessStand> sarBussionessStands = sarBussionessStandDao.getBussionessStandInfoByNum(page);
if (null != sarBussionessStands && sarBussionessStands.size() > 0) {
exportEmptyModel.setId(sarBussionessStands.get(0).getId());
} }
} if (null == exportEmptyModel.getId() || exportEmptyModel.getId().isEmpty()) {
if (null==exportEmptyModel.getId()) { stringBuilder.append("" + i + "行标准号不存在,请检查标准号是否正确;");
//判断是否在企标里 List<SarLawsStandInfo> getSarStandardsInfoPage(SarLawsStandInfoPage page);
SarLawsStandInfoPage lawsStandInfoPage = new SarLawsStandInfoPage();
lawsStandInfoPage.setPage(1);
lawsStandInfoPage.setPageSize(999);
lawsStandInfoPage.setValidFlag("0");
lawsStandInfoPage.setLawsNumber(exportEmptyModel.getStandNumber());
lawsStandInfoPage.setUserId(LoginUserUtil.getUserId());
List<SarLawsStandInfo> sarLawsStandInfos = sarLawsStandInfoDao.getSarStandardsInfoByNum(lawsStandInfoPage);
if (null != sarLawsStandInfos && sarLawsStandInfos.size() > 0) {
exportEmptyModel.setId(sarLawsStandInfos.get(0).getId());
} }
} //验证完标准号 再来验证适用认证 写的是否合理 字典编码 SYRZCLASS0
if (null==exportEmptyModel.getId() || exportEmptyModel.getId().isEmpty()){ exportEmptyModel.setSyrz(exportEmptyModel.getSyrz().trim().replaceAll("", ","));
stringBuilder.append(""+i+"行标准号不存在,请检查标准号是否正确;"); if (exportEmptyModel.getSyrz().contains(",") || null != dict.get(exportEmptyModel.getSyrz())) {
} if (exportEmptyModel.getSyrz().contains(",")) {
//验证完标准号 再来验证适用认证 写的是否合理 字典编码 SYRZCLASS0 StringBuilder syrz = new StringBuilder();
exportEmptyModel.setSyrz(exportEmptyModel.getSyrz().trim().replaceAll("",",")); StringBuilder sy = new StringBuilder();
if (exportEmptyModel.getSyrz().contains(",") || null != dict.get(exportEmptyModel.getSyrz())){ List<String> syrzs = new ArrayList<>(Arrays.asList(exportEmptyModel.getSyrz().split(",")));
if (exportEmptyModel.getSyrz().contains(",")){ syrzs.forEach(s -> {
StringBuilder syrz=new StringBuilder(); if (null != dict.get(s.trim())) {
StringBuilder sy=new StringBuilder(); syrz.append(dict.get(s.trim()) + ",");
List<String> syrzs=new ArrayList<>(Arrays.asList(exportEmptyModel.getSyrz().split(","))); } else {
syrzs.forEach(s -> { syrz.append("-1" + ",");
if (null!=dict.get(s.trim())){ }
syrz.append(dict.get(s.trim())+","); sy.append(s.trim() + ",");
}else { });
syrz.append("-1"+","); if (syrz.toString().contains("-1")) {
stringBuilder.append("" + i + "行适用认证填写错误,请检查;");
} else {
exportEmptyModel.setSyrzCode(syrz.toString().substring(0, syrz.toString().length() - 1));
exportEmptyModel.setSyrz(sy.toString().substring(0, sy.toString().length() - 1));
}
} else {
if (null != dict.get(exportEmptyModel.getSyrz())) {
exportEmptyModel.setSyrzCode(dict.get(exportEmptyModel.getSyrz()));
} else {
stringBuilder.append("" + i + "行适用认证填写错误,请检查;");
} }
sy.append(s.trim()+",");
});
if (syrz.toString().contains("-1")){
stringBuilder.append(""+i+"行适用认证填写错误,请检查;");
}else {
exportEmptyModel.setSyrzCode(syrz.toString().substring(0,syrz.toString().length()-1));
exportEmptyModel.setSyrz(sy.toString().substring(0,sy.toString().length()-1));
}
}else {
if (null!=dict.get(exportEmptyModel.getSyrz())) {
exportEmptyModel.setSyrzCode(dict.get(exportEmptyModel.getSyrz()));
}else {
stringBuilder.append(""+i+"行适用认证填写错误,请检查;");
} }
} else {
stringBuilder.append("" + i + "行适用认证填写错误,请检查;");
} }
}else { i++;
stringBuilder.append(""+i+"行适用认证填写错误,请检查;");
}
i++;
} }
} }
//查询数据并赋值
if (stringBuilder.toString().length() <= 0) {
dealWithData(res);
}
return res; return res;
}else { } else {
return null; return null;
} }
} }
public List<ExportEmptyModel> dealWithData(List<ExportEmptyModel> res) {
List<ExportEmptyModel> result = new ArrayList<>();
//判定是不是存在于国内海外标准中
StringBuilder stringBuilder = new StringBuilder();
Map<String, ExportEmptyModel> map = new HashMap<>();
res.forEach(exportEmptyModel -> {
if (null != exportEmptyModel.getId() && !exportEmptyModel.getId().isEmpty()) {
stringBuilder.append(exportEmptyModel.getId() + ",");
map.put(exportEmptyModel.getId(), exportEmptyModel);
}
});
String[] ids = stringBuilder.toString().substring(0, stringBuilder.toString().length() - 1).split(",");
SarStandardsInfoEOPage infoEOPage = new SarStandardsInfoEOPage();
infoEOPage.setUserId(LoginUserUtil.getUserId());
infoEOPage.setPage(1);
infoEOPage.setPageSize(map.keySet().size() + 1);
infoEOPage.setValidFlag("0");
infoEOPage.setIdlist(ids);
List<SarStandardsInfo> infos = null;
try {
infos = sarStandardsInfoService.getSarStandardsInfoPageBak1(infoEOPage);
} catch (Exception e) {
e.printStackTrace();
}
if (null != infos && infos.size() > 0) {
infos.forEach(sarStandardsInfo -> {
ExportEmptyModel model = map.get(sarStandardsInfo.getId());
model.setStandName(sarStandardsInfo.getStandName());
model.setStandEnName(sarStandardsInfo.getStandEnName());
model.setNylx(null!=sarStandardsInfo.getAttrInfoCaseMap().get("nylx").toString() ?sarStandardsInfo.getAttrInfoCaseMap().get("nylx").toString():"");
model.setSycpx(null!=sarStandardsInfo.getAttrInfoCaseMap().get("sycpx").toString() ?sarStandardsInfo.getAttrInfoCaseMap().get("sycpx").toString():"");
model.setZrbm(null!=sarStandardsInfo.getAttrInfoCaseMap().get("zrbm").toString() ?sarStandardsInfo.getAttrInfoCaseMap().get("zrbm").toString():"");
model.setSycx(null!=sarStandardsInfo.getAttrInfoCaseMap().get("cllx").toString() ?sarStandardsInfo.getAttrInfoCaseMap().get("cllx").toString():"");
result.add(model);
});
}
//判断是否在政策里
SarBussionessStandEOPage page = new SarBussionessStandEOPage();
page.setPage(1);
page.setPageSize(map.keySet().size() + 1);
page.setValidFlag("0");
page.setUserId(LoginUserUtil.getUserId());
page.setIdlist(ids);
page.setIsKU("0");
List<SarBussionessStand> sarBussionessStands = null;
try {
sarBussionessStands = sarBussionessStandService.getSarBussionStandPage(page);
} catch (Exception e) {
e.printStackTrace();
}
if (null != sarBussionessStands && sarBussionessStands.size() > 0) {
sarBussionessStands.forEach(sarStandardsInfo -> {
ExportEmptyModel model = map.get(sarStandardsInfo.getId());
model.setStandName(sarStandardsInfo.getStandName());
model.setStandEnName(sarStandardsInfo.getStandEnName());
model.setNylx(null!=sarStandardsInfo.getAttrInfoCaseMap().get("nylx").toString() ?sarStandardsInfo.getAttrInfoCaseMap().get("nylx").toString():"");
model.setSycpx(null!=sarStandardsInfo.getAttrInfoCaseMap().get("sycpx").toString() ?sarStandardsInfo.getAttrInfoCaseMap().get("sycpx").toString():"");
model.setZrbm(null!=sarStandardsInfo.getAttrInfoCaseMap().get("zrbm").toString() ?sarStandardsInfo.getAttrInfoCaseMap().get("zrbm").toString():"");
model.setSycx(null!=sarStandardsInfo.getAttrInfoCaseMap().get("cllx").toString() ?sarStandardsInfo.getAttrInfoCaseMap().get("cllx").toString():"");
result.add(model);
});
}
//判断是否在企标里 List<SarLawsStandInfo> getSarStandardsInfoPage(SarLawsStandInfoPage page);
SarLawsStandInfoPage lawsStandInfoPage = new SarLawsStandInfoPage();
lawsStandInfoPage.setPage(1);
lawsStandInfoPage.setPageSize(map.keySet().size() + 1);
lawsStandInfoPage.setValidFlag("0");
lawsStandInfoPage.setIdlist(ids);
lawsStandInfoPage.setUserId(LoginUserUtil.getUserId());
List<SarLawsStandInfo> sarLawsStandInfos = null;
try {
sarLawsStandInfos = sarLawsStandInfoService.getSarStandardsInfoPageBak(lawsStandInfoPage);
} catch (Exception e) {
e.printStackTrace();
}
if (null != sarLawsStandInfos && sarLawsStandInfos.size() > 0) {
sarLawsStandInfos.forEach(sarStandardsInfo -> {
ExportEmptyModel model = map.get(sarStandardsInfo.getId());
model.setStandName(sarStandardsInfo.getLawsName());
model.setStandEnName(sarStandardsInfo.getLawsEnName());
model.setNylx(null!=sarStandardsInfo.getAttrInfoCaseMap().get("nylxlaws").toString() ?sarStandardsInfo.getAttrInfoCaseMap().get("nylxlaws").toString():"");
//没有使用产品线
// model.setSycpx(null!=sarStandardsInfo.getLawsSycx() ?sarStandardsInfo.getLawsSycx():"");
model.setZrbm(null!=sarStandardsInfo.getAttrInfoCaseMap().get("zrbmlaws").toString() ?sarStandardsInfo.getAttrInfoCaseMap().get("zrbmlaws").toString():"");
model.setSycx(null!=sarStandardsInfo.getLawsSycx() ?sarStandardsInfo.getLawsSycx():"");
result.add(model);
});
}
return result;
}
} }
@@ -2,57 +2,134 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.adc.da.slrs.regulations.dao.StandDataDao"> <mapper namespace="com.adc.da.slrs.regulations.dao.StandDataDao">
<resultMap id="BaseResultMap" type="com.adc.da.slrs.regulations.entity.StandData" > <resultMap id="BaseResultMap" type="com.adc.da.slrs.regulations.entity.StandData">
</resultMap> </resultMap>
<select id="searchStandData" resultMap="BaseResultMap" <select id="searchStandData" resultMap="BaseResultMap"
parameterType="com.adc.da.slrs.regulations.entity.SearchStandContext"> parameterType="com.adc.da.slrs.regulations.entity.SearchStandContext">
SELECT SELECT
t.standId, t.standId,
t.standType, t.standType,
t.standSort, t.standSort,
t.standNumber, t.standNumber,
t.standName t.standName
FROM ( FROM (
SELECT SELECT
sar_standards_info.id AS standId, sar_standards_info.id AS standId,
sar_standards_info.STAND_TYPE AS standType, sar_standards_info.STAND_TYPE AS standType,
sar_standards_info.STAND_SORT AS standSort, sar_standards_info.STAND_SORT AS standSort,
sar_standards_info.STAND_NUMBER AS standNumber, sar_standards_info.STAND_NUMBER AS standNumber,
sar_standards_info.STAND_NAME AS standName sar_standards_info.STAND_NAME AS standName
FROM FROM
sar_standards_info sar_standards_info
LEFT JOIN SAR_STAND_ATTR_INFO ON ( LEFT JOIN SAR_STAND_ATTR_INFO ON (
SAR_STAND_ATTR_INFO.stand_id = SAR_STANDARDS_INFO.id SAR_STAND_ATTR_INFO.stand_id = SAR_STANDARDS_INFO.id
AND SAR_STAND_ATTR_INFO.valid_flag = 0 AND SAR_STAND_ATTR_INFO.valid_flag = 0
) )
WHERE sar_standards_info.valid_flag = 0 WHERE sar_standards_info.valid_flag = 0
<if test="vppsCode != null and vppsCode != ''"> <if test="vppsCode != null and vppsCode != ''">
and (SAR_STAND_ATTR_INFO.KCCVPPSBM like concat('%',#{vppsCode},'%') or SAR_STAND_ATTR_INFO.CYCVPPSBM like concat('%',#{vppsCode},'%')) and (SAR_STAND_ATTR_INFO.KCCVPPSBM like concat('%',#{vppsCode},'%') or SAR_STAND_ATTR_INFO.CYCVPPSBM like
</if> concat('%',#{vppsCode},'%'))
<if test="vppsName != null and vppsName != ''"> </if>
and (SAR_STAND_ATTR_INFO.KCCVPPSCN like concat('%',#{vppsName},'%') or SAR_STAND_ATTR_INFO.CYCVPPSCN like concat('%',#{vppsName},'%')) <if test="vppsName != null and vppsName != ''">
</if> and (SAR_STAND_ATTR_INFO.KCCVPPSCN like concat('%',#{vppsName},'%') or SAR_STAND_ATTR_INFO.CYCVPPSCN like
UNION concat('%',#{vppsName},'%'))
SELECT </if>
sar_bussioness_stand.id AS standId, UNION
'BUSINESS_STAND' AS standType, SELECT
sar_bussioness_stand.STAND_SORT AS standSort, sar_bussioness_stand.id AS standId,
sar_bussioness_stand.STAND_NUMBER AS standNumber, 'BUSINESS_STAND' AS standType,
sar_bussioness_stand.STAND_NAME AS standName sar_bussioness_stand.STAND_SORT AS standSort,
FROM sar_bussioness_stand.STAND_NUMBER AS standNumber,
sar_bussioness_stand sar_bussioness_stand.STAND_NAME AS standName
LEFT JOIN sar_buss_stand_attr_info ON ( FROM
sar_buss_stand_attr_info.stand_id = sar_bussioness_stand.id sar_bussioness_stand
AND sar_buss_stand_attr_info.valid_flag = 0 LEFT JOIN sar_buss_stand_attr_info ON (
) sar_buss_stand_attr_info.stand_id = sar_bussioness_stand.id
WHERE sar_bussioness_stand.valid_flag = 0 AND sar_buss_stand_attr_info.valid_flag = 0
<if test="vppsCode != null and vppsCode != ''"> )
and (sar_buss_stand_attr_info.KCVPPSBMBUSS like concat('%',#{vppsCode},'%') or sar_buss_stand_attr_info.CYCVPPSBMBUSS like concat('%',#{vppsCode},'%')) WHERE sar_bussioness_stand.valid_flag = 0
</if> <if test="vppsCode != null and vppsCode != ''">
<if test="vppsName != null and vppsName != ''"> and (sar_buss_stand_attr_info.KCVPPSBMBUSS like concat('%',#{vppsCode},'%') or
and (sar_buss_stand_attr_info.KCVPPSCNBUSS like concat('%',#{vppsName},'%') or sar_buss_stand_attr_info.CYCVPPSCNBUSS like concat('%',#{vppsName},'%')) sar_buss_stand_attr_info.CYCVPPSBMBUSS like concat('%',#{vppsCode},'%'))
</if> </if>
) t <if test="vppsName != null and vppsName != ''">
and (sar_buss_stand_attr_info.KCVPPSCNBUSS like concat('%',#{vppsName},'%') or
sar_buss_stand_attr_info.CYCVPPSCNBUSS like concat('%',#{vppsName},'%'))
</if>
) t
</select>
<select id="searchStandDataThree" resultMap="BaseResultMap">
SELECT
t.standId,
t.standType
FROM (
SELECT
sar_standards_info.id AS standId,
sar_standards_info.STAND_TYPE AS standType
FROM
sar_standards_info
LEFT JOIN SAR_STAND_ATTR_INFO ON (
SAR_STAND_ATTR_INFO.stand_id = SAR_STANDARDS_INFO.id
AND SAR_STAND_ATTR_INFO.valid_flag = 0
)
WHERE sar_standards_info.valid_flag = 0
<if test="vppsCode != null and vppsCode != ''">
and (SAR_STAND_ATTR_INFO.KCCVPPSBM like concat('%',#{vppsCode},'%') or SAR_STAND_ATTR_INFO.CYCVPPSBM like
concat('%',#{vppsCode},'%'))
</if>
<if test="vppsName != null and vppsName != ''">
and (SAR_STAND_ATTR_INFO.KCCVPPSCN like concat('%',#{vppsName},'%') or SAR_STAND_ATTR_INFO.CYCVPPSCN like
concat('%',#{vppsName},'%'))
</if>
<if test="standCode != null and standCode != ''">
and (
(trim(replace(concat(SAR_STANDARDS_INFO.STAND_SORT,' ',SAR_STANDARDS_INFO.STAND_NUMBER,'-',
SAR_STANDARDS_INFO.STAND_YEAR),' ','')) like trim(replace(concat(concat('%',#{standCode}),'%'),' ','')) and
SAR_STANDARDS_INFO.STAND_YEAR != '')
or (trim(replace(concat(SAR_STANDARDS_INFO.STAND_SORT,' ',SAR_STANDARDS_INFO.STAND_NUMBER),' ','')) like
trim(replace(concat(concat('%',#{standCode}),'%'),' ',''))))
</if>
UNION
SELECT
sar_bussioness_stand.id AS standId,
'BUSINESS_STAND' AS standType
FROM
sar_bussioness_stand
LEFT JOIN sar_buss_stand_attr_info ON (
sar_buss_stand_attr_info.stand_id = sar_bussioness_stand.id
AND sar_buss_stand_attr_info.valid_flag = 0
)
WHERE sar_bussioness_stand.valid_flag = 0
<if test="vppsCode != null and vppsCode != ''">
and (sar_buss_stand_attr_info.KCVPPSBMBUSS like concat('%',#{vppsCode},'%') or
sar_buss_stand_attr_info.CYCVPPSBMBUSS like concat('%',#{vppsCode},'%'))
</if>
<if test="vppsName != null and vppsName != ''">
and (sar_buss_stand_attr_info.KCVPPSCNBUSS like concat('%',#{vppsName},'%') or
sar_buss_stand_attr_info.CYCVPPSCNBUSS like concat('%',#{vppsName},'%'))
</if>
<if test="standCode != null" >
and (SAR_BUSSIONESS_STAND.STAND_CODE = #{standCode}
or REPLACE( SAR_BUSSIONESS_STAND.STAND_CODE,' ','') = REPLACE( #{standCode},' ',''))
</if>
UNION
SELECT
SAR_LAWS_STAND_INFO.id AS standId,
'LAWS_TYPE' AS standType
FROM
SAR_LAWS_STAND_INFO
LEFT JOIN sar_laws_attr_info ON (
sar_laws_attr_info.LAWS_ID = SAR_LAWS_STAND_INFO.id
AND sar_laws_attr_info.valid_flag = 0
)
WHERE SAR_LAWS_STAND_INFO.valid_flag = 0
<if test="standCode != null and standCode != ''">
and SAR_LAWS_STAND_INFO.LAWS_NUMBER = #{standCode}
</if>
) t
</select> </select>
</mapper> </mapper>
@@ -668,13 +668,13 @@
<!--<if test="validFlag != null" >--> <!--<if test="validFlag != null" >-->
<!--and SAR_BUSSIONESS_STAND.valid_flag = #{validFlag}--> <!--and SAR_BUSSIONESS_STAND.valid_flag = #{validFlag}-->
<!--</if>--> <!--</if>-->
<!--&lt;!&ndash; 导出数据过程中,选择的id &ndash;&gt;--> <!-- 导出数据过程中,选择的id -->
<!--<if test="idlist != null" >--> <if test="idlist != null" >
<!--and SAR_BUSSIONESS_STAND.id in--> and SAR_BUSSIONESS_STAND.id in
<!--<foreach collection="idlist" index="index" item="item" open="(" separator="," close=")">--> <foreach collection="idlist" index="index" item="item" open="(" separator="," close=")">
<!--#{item}--> #{item}
<!--</foreach>--> </foreach>
<!--</if>--> </if>
<!--<if test="id != null and id != '' " >--> <!--<if test="id != null and id != '' " >-->
<!--and SAR_BUSSIONESS_STAND.id = #{id}--> <!--and SAR_BUSSIONESS_STAND.id = #{id}-->
<!--</if>--> <!--</if>-->