From 4286ae309c64fe2d0eef729e6b92a5945f403b33 Mon Sep 17 00:00:00 2001 From: "zhaokaiyao@91isoft.com" <6922339zky> Date: Sun, 17 Oct 2021 19:59:00 +0800 Subject: [PATCH 01/12] =?UTF-8?q?=E6=A0=87=E5=87=86excl=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ImportExcelController.java | 23 +- .../service/impl/ImportExcelServiceImpl.java | 286 +++++++++++------- 2 files changed, 198 insertions(+), 111 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/controller/ImportExcelController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/controller/ImportExcelController.java index 1a36d323..7ba28226 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/controller/ImportExcelController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/controller/ImportExcelController.java @@ -4,6 +4,7 @@ import com.adc.da.base.web.BaseController; import com.adc.da.common.ReadExcel; import com.adc.da.http.ResponseMessage; import com.adc.da.slrs.ImportExcelDatas.comment.ExclErrorOut; +import com.adc.da.slrs.ImportExcelDatas.comment.ExclExport; import com.adc.da.slrs.ImportExcelDatas.entity.ImportDto; import com.adc.da.slrs.ImportExcelDatas.service.ImportExcelService; import com.adc.da.slrs.ImportExcelDatas.service.impl.ImportExcelServiceImpl; @@ -34,7 +35,7 @@ import java.util.Map; @RestController @Api(description = "|SarStandPutTime|") -@RequestMapping("/ImportExcel") +@RequestMapping("/api/ImportExcel") public class ImportExcelController extends BaseController { @Autowired @@ -43,14 +44,24 @@ public class ImportExcelController extends BaseController { @Autowired private ExclErrorOut exclErrorOut; - @ApiOperation("批量删除用户收藏") + + @ApiOperation("从excl中导入标准信息") @PostMapping("/import") public void deleteList(MultipartFile file, MultipartFile file2, HttpServletResponse response, HttpServletRequest request) throws IOException { Map> mapMap=importExcelService.getExcelData(file,file2); + /** + * 导入系统 + */ List errorList = importExcelService.storageExclData(mapMap); +// mapMap.put("导入后的信息",errorList); // List guonei= mapMap.get("GNBZ"); // List haiwai = mapMap.get("HWBZ"); // List qibiao = mapMap.get("QYBZ"); + + + /** + * 生成错误表格 + */ OutputStream os = null; Workbook workbook = null; try { @@ -61,7 +72,11 @@ public class ImportExcelController extends BaseController { response.setContentType("application/force-download"); //导出数据 String headStr="标准号,标准名称,英文名称,发布时间,实施时间,标准状态,代替标准号,附件路径,错误原因"; - workbook = exclErrorOut.exportDatas(errorList,headStr); +// workbook = exclErrorOut.exportDatas(guonei,headStr); + + ExclExport exclExport = new ExclExport(); + workbook = exclExport.exportData(mapMap, headStr); + os = response.getOutputStream(); workbook.write(os); os.flush(); @@ -75,8 +90,8 @@ public class ImportExcelController extends BaseController { } - // return responseMessage; + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/impl/ImportExcelServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/impl/ImportExcelServiceImpl.java index 5175ea6c..98ded226 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/impl/ImportExcelServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/impl/ImportExcelServiceImpl.java @@ -2,7 +2,6 @@ package com.adc.da.slrs.ImportExcelDatas.service.impl; import com.adc.da.att.service.IAttFileEOService; import com.adc.da.att.vo.AttFileVo; -import com.adc.da.http.Result; import com.adc.da.slrs.ImportExcelDatas.dao.ImportExcelDao; import com.adc.da.slrs.ImportExcelDatas.entity.ImportDto; import com.adc.da.slrs.ImportExcelDatas.service.ImportExcelService; @@ -10,9 +9,7 @@ import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; import com.adc.da.slrs.sarBussionessStand.service.ISarBussionessStandService; import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo; import com.adc.da.slrs.sarStandardsInfo.service.ISarStandardsInfoService; -import com.adc.da.sys.dao.DicTypeEODao; import com.adc.da.sys.entity.DicTypeEO; -import com.adc.da.sys.entity.DictionaryEO; import com.adc.da.sys.service.impl.DicTypeEOServiceImpl; import com.adc.da.util.UUIDUtils; import com.adc.da.utils.util.InitStandAttrUtil; @@ -26,13 +23,13 @@ import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.InputStream; import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; import java.util.regex.Pattern; @Service @@ -70,6 +67,7 @@ public class ImportExcelServiceImpl extends ServiceImpl middle = new HashMap<>(); datas.forEach(items -> { + System.out.print("."); //判断是否是正确的数据 String[] as = items.split(","); - if (!inDate(as[0], dates)) { + if( as.length < 8){ + ImportDto importDto = new ImportDto(); + importDto.setErrorStr(items); + error.add(importDto); + + } else if (!inDate(as[0], dates) ) { ImportDto importDto = getImportDto(as); error.add(importDto); - middle.put(as[0].trim(), "error-" + error.size()); + middle.put(as[7].trim(), "error-" + error.size()); } else { //数据二次拆解 针对标准进行拆解 String[] step2 = as[0].trim().split(" "); @@ -131,15 +135,15 @@ public class ImportExcelServiceImpl extends ServiceImpl { String[] fj = items2.split(","); if (fj.length > 2) { - if (null != middle.get(null != fj[2] ? fj[2].trim() : "")) { + if (null != middle.get(null != fj[1] ? fj[1].trim() : "")) { //对应数据位置 - String[] location = middle.get(fj[2].trim()).split("-"); + String[] location = middle.get(fj[1].trim()).split("-"); +// List importDtos = res.get(location[0]); + res.get(location[0]).get(Integer.parseInt(location[1]) - 1).setPath(fj[3]); } } @@ -189,10 +195,15 @@ public class ImportExcelServiceImpl extends ServiceImpl error = new ArrayList<>(); - private List fileError = new ArrayList<>(); @Autowired private ISarStandardsInfoService sarStandardsInfoService; @@ -278,12 +289,38 @@ public class ImportExcelServiceImpl extends ServiceImpl error = new ArrayList<>(); + + private List fileError = new ArrayList<>(); + + private HashSet sarSort = new HashSet<>(); + + + @Override public List storageExclData(Map> importListMap) { - +//TODO 利用stream把list变为set +// List list = dicTypeEOService.list(); +// list.stream().flatMap(dicTypeEO -> { +// return dicTypeEO; +// }.co) + List isExist = dicTypeEOService.getTypeIdByDicIdAndTypeName("JKSADFH564S", null, null, null); + isExist.forEach(item->{ + sarSort.add(item.getDicTypeCode()); + }); error = importListMap.get("error"); + + AtomicInteger QYBZcount= new AtomicInteger(); + AtomicInteger QYBZcountUpdate= new AtomicInteger(); + AtomicInteger HWBZcount= new AtomicInteger(); + AtomicInteger HWBZcountUpdate= new AtomicInteger(); + AtomicInteger GNBZcount= new AtomicInteger(); + AtomicInteger GNBZcountUpdate= new AtomicInteger(); + /** * 初始化国内外标准属性字段 */ @@ -296,24 +333,26 @@ public class ImportExcelServiceImpl extends ServiceImpl { + if (true ) { + String standID = UUIDUtils.randomUUID20(); - String standID = UUIDUtils.randomUUID20(); + //使用初始化的属性字段映射 获得key值,value为"" + Map mapField = standAttrMap; + SarStandardsInfo ForeignEO = parseImportDtoToStandardsInfo(item,mapField, standID); - //使用初始化的属性字段映射 获得key值,value为"" - Map mapField = standAttrMap; - SarStandardsInfo ForeignEO = parseImportDtoToStandardsInfo(item,mapField, standID); + if (ForeignEO != null) { + ForeignEO.setValidFlag("0"); + ForeignEO.setStandType("FOREIGN"); + QueryWrapper standSaveWrapper = new QueryWrapper<>(); + standSaveWrapper + .eq("STAND_SORT", ForeignEO.getStandSort()) + .eq("STAND_NUMBER", ForeignEO.getStandNumber()) + .eq("STAND_YEAR", ForeignEO.getStandYear()); - if (ForeignEO != null) { - ForeignEO.setValidFlag("0"); - ForeignEO.setStandType("FOREIGN"); - QueryWrapper standSaveWrapper = new QueryWrapper<>(); - standSaveWrapper - .eq("STAND_SORT", ForeignEO.getStandSort()) - .eq("STAND_NUMBER", ForeignEO.getStandNumber()) - .eq("STAND_YEAR", ForeignEO.getStandYear()); - - SarStandardsInfo one = sarStandardsInfoService.getOne(standSaveWrapper); + SarStandardsInfo one = sarStandardsInfoService.getOne(standSaveWrapper); @@ -322,6 +361,9 @@ public class ImportExcelServiceImpl extends ServiceImpl { - String standID = UUIDUtils.randomUUID20(); - //使用初始化的属性字段映射 获得key值,value为"" - Map mapStandField = standAttrMap; - SarStandardsInfo InlandEO = parseImportDtoToStandardsInfo(item, mapStandField,standID); - - if (InlandEO != null) { - InlandEO.setValidFlag("0"); - InlandEO.setStandType("INLAND"); + if (true) { + String standID = UUIDUtils.randomUUID20(); + //使用初始化的属性字段映射 获得key值,value为"" + Map mapStandField = standAttrMap; + SarStandardsInfo InlandEO = parseImportDtoToStandardsInfo(item, mapStandField, standID); + + if (InlandEO != null) { - QueryWrapper standSaveWrapper = new QueryWrapper<>(); - standSaveWrapper - .eq("STAND_SORT", InlandEO.getStandSort()) - .eq("STAND_NUMBER", InlandEO.getStandNumber()) - .eq("STAND_YEAR", InlandEO.getStandYear()); + InlandEO.setValidFlag("0"); + InlandEO.setStandType("INLAND"); - SarStandardsInfo one = sarStandardsInfoService.getOne(standSaveWrapper); - if (one != null) { + QueryWrapper standSaveWrapper = new QueryWrapper<>(); + standSaveWrapper + .eq("STAND_SORT", InlandEO.getStandSort()) + .eq("STAND_NUMBER", InlandEO.getStandNumber()) + .eq("STAND_YEAR", InlandEO.getStandYear()); - InlandEO.setId(one.getId()); - try { - sarStandardsInfoService.updateSarStandardsInfo(InlandEO); - } catch (Exception e) { - item.setErrorStr("国内标准更新失败"); - error.add(item); - e.printStackTrace(); + SarStandardsInfo one = sarStandardsInfoService.getOne(standSaveWrapper); + if (one != null) { + + + InlandEO.setId(one.getId()); + try { + sarStandardsInfoService.updateSarStandardsInfo(InlandEO); + } catch (Exception e) { + item.setErrorStr("国内标准更新失败"); + error.add(item); + e.printStackTrace(); + } + + + } else { + + + try { + sarStandardsInfoService.createSarStandardsInfo(InlandEO); + } catch (Exception e) { + item.setErrorStr("国内标准新增失败"); + error.add(item); + e.printStackTrace(); + } } - - } else { - - - try { - sarStandardsInfoService.createSarStandardsInfo(InlandEO); - } catch (Exception e) { - item.setErrorStr("国内标准新增失败"); - error.add(item); - e.printStackTrace(); - } + item.setErrorStr("标准号无法解析"); + error.add(item); + importListMap.replace("error", error); } - } else { - item.setErrorStr("标准号无法解析"); - error.add(item); - importListMap.replace("error", error); - } + } }); @@ -420,38 +472,61 @@ public class ImportExcelServiceImpl extends ServiceImpl{ bussAttrMap.put(item,""); }); + importListMap.get("QYBZ").forEach(item -> { - String standId = UUIDUtils.randomUUID20(); - SarBussionessStand BussEO = parseImportDtoToSarBussionessStand(item, bussAttrMap,standId); - if (BussEO != null) { - try { - QueryWrapper saveWrapper = new QueryWrapper<>(); - saveWrapper.eq("STAND_CODE", item.getStandId()); - SarBussionessStand one = sarBussionessStandService.getOne(saveWrapper); - if (one != null) { - BussEO.setId(one.getId()); - sarBussionessStandService.updateSarBussionessStand(BussEO); - } else { - sarBussionessStandService.createSarBussionessStand(BussEO); + if (true){ +// if (item.getStandId().contains("Q/FT T396—2021") ){ + + String standId = UUIDUtils.randomUUID20(); + SarBussionessStand BussEO = parseImportDtoToSarBussionessStand(item, bussAttrMap,standId); + + if (BussEO != null) { + + try { + QueryWrapper saveWrapper = new QueryWrapper<>(); + saveWrapper.eq("STAND_CODE", item.getStandId()); + SarBussionessStand one = sarBussionessStandService.getOne(saveWrapper); + if (one != null) { + BussEO.setId(one.getId()); + sarBussionessStandService.updateSarBussionessStand(BussEO); + QYBZcountUpdate.getAndIncrement(); + QYBZcount.getAndIncrement(); + System.out.println("企业标准执行更新====第: "+QYBZcount+"行"); + + } else { + sarBussionessStandService.createSarBussionessStand(BussEO); + QYBZcount.getAndIncrement(); + System.out.println("企业标准执行新增第: "+QYBZcount+"行"); + } + + + } catch (Exception e) { + item.setErrorStr("数据格式错误"); + error.add(item); + + e.printStackTrace(); + } - - } catch (Exception e) { - item.setErrorStr("数据格式错误"); - error.add(item); - - e.printStackTrace(); - } - } + }); error.addAll(fileError); + System.out.println("执行结束"); + System.out.println("执行国内标准"+GNBZcount+"条"); + System.out.println("国内标准执行更新"+GNBZcountUpdate+"条"); + System.out.println("执行国外标准"+HWBZcount+"条"); + System.out.println("海外标准执行更新"+HWBZcountUpdate+"条"); + System.out.println("执行企业标准"+QYBZcount+"条"); + System.out.println("企业标准执行更新"+QYBZcountUpdate+"条"); + + return error; } @@ -464,13 +539,10 @@ public class ImportExcelServiceImpl extends ServiceImpl fieldMap, String standId) { - - HashMap analysis = analysisStandId(importDto); if (analysis == null) { return null; } - SarStandardsInfo sarStandardsInfoEO = new SarStandardsInfo(); sarStandardsInfoEO.setId(standId); @@ -507,21 +579,21 @@ public class ImportExcelServiceImpl extends ServiceImpl isExist = dicTypeEOService.getTypeIdByDicIdAndTypeName("JKSADFH564S", null, sort, null); - if (isExist == null || isExist.isEmpty() || isExist.size()==0){ +// List isExist = dicTypeEOService.getTypeIdByDicIdAndTypeName("JKSADFH564S", null, sort, null); + if (!sarSort.contains(sort)){ DicTypeEO dicTypeVO = new DicTypeEO(); dicTypeVO.setId(null); @@ -682,6 +754,7 @@ public class ImportExcelServiceImpl extends ServiceImpl0){ + sarSort.add(sort); importDto.setErrorStr("标准类别不存在,已新增"); }else { importDto.setErrorStr("标准类别不存在,新增失败"); @@ -692,7 +765,6 @@ public class ImportExcelServiceImpl extends ServiceImpl Date: Mon, 18 Oct 2021 16:46:24 +0800 Subject: [PATCH 02/12] =?UTF-8?q?=E6=9C=BA=E6=9E=84=E6=A0=91=E5=BD=A2?= =?UTF-8?q?=E7=BB=93=E6=9E=84=20=E4=B8=8D=E9=87=87=E7=94=A8=E7=94=A8?= =?UTF-8?q?=E9=80=92=E5=BD=92=E6=9F=A5=E8=AF=A2=E6=95=B0=E6=8D=AE=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TsInstitutionController.java | 8 ++ .../sarInstitution/dao/TsInstitutionDao.java | 3 +- .../service/ITsInstitutionService.java | 8 ++ .../impl/TsInstitutionServiceImpl.java | 97 +++++++++++++++---- .../sarInstitution/TsInstitutionMapper.xml | 18 ++++ 5 files changed, 116 insertions(+), 18 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/controller/TsInstitutionController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/controller/TsInstitutionController.java index 7826e189..1615a683 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/controller/TsInstitutionController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/controller/TsInstitutionController.java @@ -93,6 +93,14 @@ public class TsInstitutionController extends BaseController { } + @ApiOperation("通过部门机构名称查询部门树形结构 废弃使用") + @GetMapping("/findInstitution") + public List findInstitution(String institutionName){ + //TODO 调用业务接口 + tsInstitutionService.findInstitutionTreeByName(institutionName); + return null; + } + public static void main(String[] args) { // System.out.println(json); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/dao/TsInstitutionDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/dao/TsInstitutionDao.java index 0ea1a63b..8f7b76a9 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/dao/TsInstitutionDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/dao/TsInstitutionDao.java @@ -3,6 +3,7 @@ package com.adc.da.slrs.sarInstitution.dao; import com.adc.da.slrs.sarInstitution.entity.InstitutionAndUser; import com.adc.da.slrs.sarInstitution.entity.TsInstitution; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import java.util.List; @@ -29,7 +30,7 @@ public interface TsInstitutionDao extends BaseMapper { List selectNextUser(String institutionId); - + List selectTreeByIds(@Param("rootIds") List rootIds); /** * 查询最高级机构及其人员 diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/ITsInstitutionService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/ITsInstitutionService.java index 8350d452..af1e8996 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/ITsInstitutionService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/ITsInstitutionService.java @@ -43,5 +43,13 @@ public interface ITsInstitutionService extends IService { */ public List getFirst(); + + /** + * 根据机构部门名称查询机构树 + * @param institutionName + * @return + */ + public List findInstitutionTreeByName(String institutionName); + int clearData(); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/impl/TsInstitutionServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/impl/TsInstitutionServiceImpl.java index 57e64d77..db93a5a6 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/impl/TsInstitutionServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/impl/TsInstitutionServiceImpl.java @@ -15,8 +15,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; /** *

@@ -38,14 +38,48 @@ public class TsInstitutionServiceImpl extends ServiceImpl getInstitution() { + + //查询第一层机构 List institutionRoot=tsInstitutionDao.selectRoot(); - for(TsInstitution tsInstitution:institutionRoot){ - tsInstitution.setChildren(recursionGetInstitution(tsInstitution)); - } - return institutionRoot; + + //转换为hashSet + List root = institutionRoot.stream() + .map(item -> item.getId()) + .collect(Collectors.toList()); + HashSet rootSet = new HashSet<>(root); + + List institutionList = this.list();//查询所有的的数据 + //获取父节点,0表示父节点 + List collect = institutionList.stream() + .filter(e -> rootSet.contains(e.getId())) + .map(e -> { + + List childNode = getChildNode(e, institutionList); + + e.setChildren(new ArrayList<>(childNode)); + return e; + }).collect(Collectors.toList()); + + return collect; } + /** + * 递归查询子节点 + * @param root + * @param contentKnowledgeList + * @return + */ + private List getChildNode(TsInstitution root, List contentKnowledgeList) { + List childrenList = contentKnowledgeList.stream().filter(e -> Objects.equals(e.getParentId(), root.getId())).map( + e -> { + List childNode = getChildNode(e, contentKnowledgeList); + e.setChildren(new ArrayList<>(childNode)); + return e; + } + ).collect(Collectors.toList()); + return childrenList; + } @@ -109,21 +143,29 @@ public class TsInstitutionServiceImpl extends ServiceImpl getInstitutionAndUser(String userName) { - //查询第一层机构 - List institutionRoot=tsInstitutionDao.selectRootAndUser(userName); + List tsInstitutions = new ArrayList<>(); - //把查到的数据结构修改,把用户放 - for(TsInstitution tsInstitution:institutionRoot){ - tsInstitution.setDisabled(true); - tsInstitution.setChildren( recursionGetInstitutionAndUser(tsInstitution) ); - for(TsUserVO user:tsInstitution.getUsers()){ - if(tsInstitution.getChildren()==null){ - tsInstitution.setChildren(new ArrayList<>()); + //当条件为null时避免查询全部,直接返回第一级 + if (userName==null||userName==""){ + tsInstitutions=this.getFirst(); + }else { + //查询第一层机构 + tsInstitutions=tsInstitutionDao.selectRootAndUser(userName); + + //把查到的数据结构修改,把用户放 + for(TsInstitution tsInstitution:tsInstitutions){ + tsInstitution.setDisabled(true); +// tsInstitution.setChildren( recursionGetInstitutionAndUser(tsInstitution) ); + for(TsUserVO user:tsInstitution.getUsers()){ + if(tsInstitution.getChildren()==null){ + tsInstitution.setChildren(new ArrayList<>()); + } +// tsInstitution.getChildren().add(user); } - tsInstitution.getChildren().add(user); } } - return institutionRoot; + + return tsInstitutions; } /** @@ -213,6 +255,27 @@ public class TsInstitutionServiceImpl extends ServiceImpl findInstitutionTreeByName(String institutionName) { + + QueryWrapper tsInstitutionQuery = new QueryWrapper<>(); + tsInstitutionQuery.select("id") + .like("name",institutionName); + + /** + * 查询出id的数据集合并转换成String类型 + */ + List rootIds = this.listObjs(tsInstitutionQuery) + .stream() + .map(item -> item.toString()) + .collect(Collectors.toList()); + + List tsInstitutions = tsInstitutionDao.selectTreeByIds(rootIds); + + + return null; + } + @Override public int clearData() { return tsInstitutionDao.clearData(); diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarInstitution/TsInstitutionMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarInstitution/TsInstitutionMapper.xml index d5c48467..b3f53de2 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarInstitution/TsInstitutionMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarInstitution/TsInstitutionMapper.xml @@ -40,6 +40,24 @@ select * from ts_user WHERE institution_id=#{institutionId} + + + + + + + From f74da3d65d6a0f55dbd4253724f8a8b688c4f39d Mon Sep 17 00:00:00 2001 From: "zhaokaiyao@91isoft.com" <6922339zky> Date: Tue, 19 Oct 2021 17:21:12 +0800 Subject: [PATCH 06/12] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=9C=BA=E6=9E=84?= =?UTF-8?q?=E4=BA=BA=E5=91=98,=E6=A8=A1=E7=B3=8A=E6=9F=A5=E8=AF=A2,?= =?UTF-8?q?=E4=B8=8D=E9=9C=80=E8=A6=81id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/mybatis/mapper/sarUser/TsUserMapper.xml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarUser/TsUserMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarUser/TsUserMapper.xml index 2249eb2e..b5e3c5f8 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarUser/TsUserMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarUser/TsUserMapper.xml @@ -34,7 +34,11 @@ on u.usid=up.user_id left join ts_position p on up.position_id=p.id - where u.institution_id=#{TsUser.institutionId} + where 1=1 + + and u.institution_id=#{TsUser.institutionId} + + and u.uname like concat('%',#{TsUser.uname},'%') From 740db92f9044f3fd103a4a02fb24bb77448ed063 Mon Sep 17 00:00:00 2001 From: "zhaokaiyao@91isoft.com" <6922339zky> Date: Tue, 19 Oct 2021 17:58:11 +0800 Subject: [PATCH 07/12] commit --- .../resources/mybatis/mapper/sarPosition/TsPositionMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarPosition/TsPositionMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarPosition/TsPositionMapper.xml index 236c04fd..951c8e74 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarPosition/TsPositionMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarPosition/TsPositionMapper.xml @@ -30,8 +30,8 @@ p.name like concat(concat('%',#{name}),'%') + order by locate(#{name},p.name) - order by locate(#{name},p.name) limit ${(current-1) * pageSize},${pageSize} From d09cdb1d42930f82da09a7868239e1eccf266c18 Mon Sep 17 00:00:00 2001 From: "zhaokaiyao@91isoft.com" <6922339zky> Date: Wed, 20 Oct 2021 11:24:49 +0800 Subject: [PATCH 08/12] =?UTF-8?q?=E9=80=9A=E8=BF=87id=E7=BB=91=E5=AE=9A?= =?UTF-8?q?=E8=B4=A3=E4=BB=BB=E5=B7=A5=E7=A8=8B=E5=B8=88=E5=92=8C=E8=B4=A3?= =?UTF-8?q?=E4=BB=BB=E9=83=A8=E9=97=A8=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/SarStandardsInfoServiceImpl.java | 32 ++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java index 341c2033..5d5f14fa 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java @@ -1,6 +1,9 @@ package com.adc.da.slrs.sarStandardsInfo.service.impl; import com.adc.da.att.entity.AttFileEO; +import com.adc.da.slrs.sarPosition.entity.TsPosition; +import com.adc.da.slrs.sarPosition.service.ITsPositionService; +import com.adc.da.slrs.sarUser.entity.TsUser; import com.adc.da.att.service.IAttFileEOService; import com.adc.da.att.vo.AttFileVo; import com.adc.da.common.*; @@ -69,6 +72,7 @@ import com.alibaba.fastjson.serializer.SerializerFeature; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import net.sf.json.JSONObject; +import org.apache.catalina.User; import org.apache.commons.lang3.StringUtils; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.util.PDFTextStripper; @@ -116,6 +120,9 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl 0 && InitStandAttrUtil.selectionFieldList.contains(name)) { value = entry.getValue().toString(); List valArr = Arrays.asList(value.split(",")); - value = dicTypeEODao.getDicNamesByCodes(valArr); + + switch (name){ + //通过id绑定责任工程师名称 + case "ZRGCS":{ + QueryWrapper tsUserQW = new QueryWrapper<>(); + tsUserQW.select("UNAME") + .in("USID",valArr); + List stringList = tsUserService.listObjs(tsUserQW, o ->o.toString()); + value= String.join(",", stringList); + break; + } + //通过id绑定责任部门师名称 + case "ZRBM":{ + QueryWrapper tsPositionQW = new QueryWrapper<>(); + tsPositionQW.select("name") + .in("id",valArr); + List stringList = iTsPositionService.listObjs(tsPositionQW, o -> o.toString()); + value = String.join(",", stringList); + break; + } + default:value = dicTypeEODao.getDicNamesByCodes(valArr); + } + + entry.setValue(value); } } From ad91f84dfb77ad26cdede589d49c8181aa678ba2 Mon Sep 17 00:00:00 2001 From: "zhaokaiyao@91isoft.com" <6922339zky> Date: Wed, 20 Oct 2021 14:33:21 +0800 Subject: [PATCH 09/12] =?UTF-8?q?=E5=BD=93=E5=89=8D=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E4=B8=BA=E6=A0=87=E5=87=86=E7=B1=BB=E5=88=AB=E6=97=B6=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E8=BE=93=E5=85=A5=E7=9A=84code=E4=B8=BAname=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/adc/da/sys/service/impl/DicTypeEOServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/service/impl/DicTypeEOServiceImpl.java b/adc-da-sys/src/main/java/com/adc/da/sys/service/impl/DicTypeEOServiceImpl.java index 5f2fb13f..98c3ccaf 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sys/service/impl/DicTypeEOServiceImpl.java +++ b/adc-da-sys/src/main/java/com/adc/da/sys/service/impl/DicTypeEOServiceImpl.java @@ -101,6 +101,8 @@ public class DicTypeEOServiceImpl extends ServiceImpl im if(!StringUtils.isNotEmpty(dicTypeEO.getDicTypeCode())){ dicTypeEO.setDicTypeCode(UUIDUtils.randomUUID10()); } + }else { + dicTypeEO.setDicTypeCode(dicTypeEO.getDicTypeName()); } String id = UUIDUtils.randomUUID20(); dicTypeEO.setId(id); From 7b87743f9f12bff59f0cc1917527c30d9d4c09f8 Mon Sep 17 00:00:00 2001 From: "zhaokaiyao@91isoft.com" <6922339zky> Date: Wed, 20 Oct 2021 14:49:51 +0800 Subject: [PATCH 10/12] =?UTF-8?q?TODO=E6=A0=91=E5=BD=A2=E7=BB=93=E6=9E=84H?= =?UTF-8?q?ash?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sarInstitution/entity/TsInstitution.java | 10 +++ .../da/slrs/sarInstitution/util/TreeUtil.java | 90 +++++++++++++++++-- 2 files changed, 94 insertions(+), 6 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/entity/TsInstitution.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/entity/TsInstitution.java index 478f2e20..208c0c21 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/entity/TsInstitution.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/entity/TsInstitution.java @@ -11,6 +11,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; +import java.util.ArrayList; +import java.util.Arrays; import java.util.List; /** @@ -73,4 +75,12 @@ public class TsInstitution extends BaseEntity { this.parentId = parentId; this.name = name; } + +// public void addChildren(TsInstitution node){ +// if (this.children==null){ +// this.children=Arrays.asList(node); +// }else { +// this.children.add(node); +// } +// } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/util/TreeUtil.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/util/TreeUtil.java index db486e80..b7ab6e4d 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/util/TreeUtil.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/util/TreeUtil.java @@ -3,10 +3,7 @@ package com.adc.da.slrs.sarInstitution.util; import com.adc.da.slrs.sarInstitution.entity.TsInstitution; import org.springframework.stereotype.Component; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; @Component @@ -41,8 +38,9 @@ public class TreeUtil { * @return */ private List getChildNode(TsInstitution root, List contentKnowledgeList) { - List childrenList = contentKnowledgeList.stream().filter(e -> Objects.equals(e.getParentId(), root.getId())).map( - e -> { + List childrenList = contentKnowledgeList.stream() + .filter(e -> Objects.equals(e.getParentId(), root.getId())) + .map(e -> { List childNode = getChildNode(e, contentKnowledgeList); e.setChildren(new ArrayList<>(childNode)); return e; @@ -51,4 +49,84 @@ public class TreeUtil { return childrenList; } + + + +// public List getChildAsHash(TsInstitution root, Map hashInstitution){ +// String id = root.getId(); +// if (hashInstitution.containsKey(id)){ +// +// } +// return null; +// } + + +// //TODO 利用HashMap组装树结构 +// +// public List treeAsHash(List institutionList,List rootList) { +// +// Map idMap = institutionList.stream() +// .collect(Collectors.toMap(TsInstitution::getId, tsInstitution -> tsInstitution)); +// +// Map pid_institution = institutionList.stream() +// .collect(Collectors.toMap(TsInstitution::getParentId, institution -> institution)); +// +// for (TsInstitution institution : rootList) { +// +// String id = institution.getId(); +// if (pid_institution.containsKey(id)) { +// institution.addChildren(pid_institution.get(id)); +// +// } +// +// } +// +// +// Set rootSet = rootList.stream() +// .map(TsInstitution::getId) +// .collect(Collectors.toSet()); +// +// Iterator it = institutionList.iterator(); +// +// ArrayList resultList = new ArrayList<>(); +// +// +// HashMap id_obj = new HashMap<>(); +// while (it.hasNext()) { +// TsInstitution next = it.next(); +// +// String parentId = next.getParentId(); +// id_obj.put(next.getId(), next); +// if (rootSet.contains(parentId)) { +// id_obj.put(next.getId(), next); +// } else if (id_obj.containsKey(parentId)) { +// id_obj.get(parentId).addChildren(next); +// } +// +// } +// return null ; +// +// } + + + +// +// +// +// List list = dbMapper.getNodeList(); +// ArrayList rootNodes = new ArrayList<>(); +// Map map = new HashMap<>(); +// for (TreeNodeDTO node :list) { +// map.put(node.getId(), node); +// Integer parentId = node.getParentId(); +// // 判断是否有父节点 (没有父节点本身就是个父菜单) +// if (parentId.equals('0')){ +// rootNodes.add(node); +// // 找出不是父级菜单的且集合中包括其父菜单ID +// } else if (map.containsKey(parentId)){ +// map.get(parentId).getChildren().add(node); +// } +// } +// +// } } From f6508c6e1a47cd8f77f607781e10630a413b4ef8 Mon Sep 17 00:00:00 2001 From: "zhaokaiyao@91isoft.com" <6922339zky> Date: Wed, 20 Oct 2021 14:51:05 +0800 Subject: [PATCH 11/12] =?UTF-8?q?TODO=E6=A0=87=E5=87=86excl=E5=AF=BC?= =?UTF-8?q?=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ImportExcelServiceImpl.java | 50 ++++++++++--------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/impl/ImportExcelServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/impl/ImportExcelServiceImpl.java index 98ded226..2cb63faa 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/impl/ImportExcelServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/impl/ImportExcelServiceImpl.java @@ -51,7 +51,9 @@ public class ImportExcelServiceImpl extends ServiceImpl { + /*importListMap.get("HWBZ").forEach(item -> { if (true ) { String standID = UUIDUtils.randomUUID20(); @@ -394,14 +396,14 @@ public class ImportExcelServiceImpl extends ServiceImpl { + /*importListMap.get("GNBZ").forEach(item -> { if (true) { @@ -457,7 +459,7 @@ public class ImportExcelServiceImpl extends ServiceImpl isExist = dicTypeEOService.getTypeIdByDicIdAndTypeName("JKSADFH564S", null, sort, null); - if (!sarSort.contains(sort)){ - - DicTypeEO dicTypeVO = new DicTypeEO(); - dicTypeVO.setId(null); - dicTypeVO.setDicId("JKSADFH564S"); - dicTypeVO.setDicTypeCode(sort); - dicTypeVO.setDicTypeName(sort); - dicTypeVO.setShowIndex(1); - Integer dicTypeEO = dicTypeEOService.saveDictype(dicTypeVO); - if (dicTypeEO>0){ - sarSort.add(sort); - importDto.setErrorStr("标准类别不存在,已新增"); - }else { - importDto.setErrorStr("标准类别不存在,新增失败"); - } - error.add(importDto); - } +// if (!sarSort.contains(sort)){ +// +// DicTypeEO dicTypeVO = new DicTypeEO(); +// dicTypeVO.setId(null); +// dicTypeVO.setDicId("JKSADFH564S"); +// dicTypeVO.setDicTypeCode(sort); +// dicTypeVO.setDicTypeName(sort); +// dicTypeVO.setShowIndex(1); +// Integer dicTypeEO = dicTypeEOService.saveDictype(dicTypeVO); +// if (dicTypeEO>0){ +// sarSort.add(sort); +// importDto.setErrorStr("标准类别不存在,已新增"); +// }else { +// importDto.setErrorStr("标准类别不存在,新增失败"); +// } +// error.add(importDto); +// } From bef55f395a3a89827cd58ca4729405a38c77356b Mon Sep 17 00:00:00 2001 From: "zhaokaiyao@91isoft.com" <6922339zky> Date: Wed, 20 Oct 2021 14:52:07 +0800 Subject: [PATCH 12/12] =?UTF-8?q?TODO=E6=A8=A1=E5=9D=97=E5=8D=95=E5=85=83?= =?UTF-8?q?=E6=A0=91=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SarModelTreeController.java | 2 +- .../impl/SarModuleTreeServiceImpl.java | 56 +++++++++++++++---- 2 files changed, 45 insertions(+), 13 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarModelTree/controller/SarModelTreeController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarModelTree/controller/SarModelTreeController.java index dcbc369e..53ca743f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarModelTree/controller/SarModelTreeController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarModelTree/controller/SarModelTreeController.java @@ -42,7 +42,7 @@ public class SarModelTreeController extends BaseController { @GetMapping("/list") public ResponseMessage> getAll(){ List tsResources = iSarModelTreeService.getAll(null); -// List tsResources = iSarModuleTreeService.getAll(null); +// TODO List tsResources = iSarModuleTreeService.getAll(null); return Result.success(tsResources); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarModelTree/service/impl/SarModuleTreeServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarModelTree/service/impl/SarModuleTreeServiceImpl.java index 7a44d284..2fc5df32 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarModelTree/service/impl/SarModuleTreeServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarModelTree/service/impl/SarModuleTreeServiceImpl.java @@ -17,6 +17,7 @@ import org.springframework.stereotype.Service; import java.util.LinkedList; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; @Service @@ -25,27 +26,38 @@ public class SarModuleTreeServiceImpl extends ServiceImpl getAll(SarModelTree sarModelTree) { QueryWrapper treeQueryWrapper = new QueryWrapper<>(); treeQueryWrapper.groupBy("FTVSTYPE1"); List moduleTreeList = this.baseMapper.selectList(treeQueryWrapper); - - //把SarModuleTree类型的list集合转换为SarModelTree类型的list集合 - List sarModelTreeList = moduleTreeList.stream().map(SarModuleTree -> { - SarModelTree modelTree = new SarModelTree(); - modelTree.setId(SarModuleTree.getGuid()); - modelTree.setName(SarModuleTree.getFtvstype1()); -// modelTree.setModel("TS"+SarModuleTree.get); - return modelTree; - }).collect(Collectors.toList()); - - return sarModelTreeList; + //返回转换元素后的数组 + return listTransform(moduleTreeList); } + /** + * 根据根节点查询其所有的子节点 + * @param parent + * @return + */ @Override public List recursionGetChildren(SarModelTree parent) { + + QueryWrapper treeQueryWrapper = new QueryWrapper<>(); + treeQueryWrapper.eq("GUID",parent.getId()); + List moduleTreeList = this.baseMapper.selectList(treeQueryWrapper); + + + Map> collect = moduleTreeList.stream().collect(Collectors.groupingBy(SarModuleTree::getFtvstype1)); + collect.forEach((k, v)->{ + SarModelTree modelTree = new SarModelTree(); + //TODO 生成树型结构 +// modelTree + }); return null; } @@ -93,5 +105,25 @@ public class SarModuleTreeServiceImpl extends ServiceImpl对修改关闭,对扩展开放 + * @param moduleTreeList + * @return + */ + public List listTransform(List moduleTreeList){ + + return moduleTreeList.stream().map(SarModuleTree -> { + SarModelTree modelTree = new SarModelTree(); + modelTree.setId(SarModuleTree.getGuid()); + modelTree.setName(SarModuleTree.getFtvstype1()); + modelTree.setModel("TS" + +SarModuleTree.getFtvstype2().substring(SarModuleTree.getFtvstype2().length()-2) + +SarModuleTree.getSeriesid() + +SarModuleTree.getReserved() + +SarModuleTree.getStarted()); //"TS"+SF_ID+SE_ID+SU_ID 拼接模块编号ID + return modelTree; + }).collect(Collectors.toList()); + } }