diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandItems/controller/SarStandItemsController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandItems/controller/SarStandItemsController.java index 6b6847e4..d6df0d61 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandItems/controller/SarStandItemsController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandItems/controller/SarStandItemsController.java @@ -8,6 +8,7 @@ import com.adc.da.http.Result; import com.adc.da.slrs.sarLawsAttrDetailedList.entity.LawsDto; import com.adc.da.slrs.sarStandItems.entity.*; import com.adc.da.slrs.sarStandItems.service.impl.SarStandItemsServiceImpl; +import com.adc.da.slrs.standardSplit.entity.SarFileSplitItemsEO; import com.adc.da.util.UUIDUtils; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.ApiOperation; @@ -95,6 +96,16 @@ public class SarStandItemsController extends BaseController { return Result.success(pageInfo); } + @ApiOperation(value = "分解单查询") + @GetMapping("/selectSarItemAndInterpretation") + public ResponseMessage selectSarItemAndInterpretation(String standId)throws Exception{ + FindSarItemsPageReqDTO page = new FindSarItemsPageReqDTO(); + page.setStandId(standId); + Map map = ServiceImpl.selectSarItemAndInterpretation(page.getStandId()); + page.getPager().setRowCount((Integer) map.get("count")); + return Result.success(getPageInfo(page.getPager(), (List) map.get("list"))); + } + @ApiOperation(value = "分解单更新") @PutMapping("/updateSarItemAndInterpretation") public ResponseMessage updateSarItemAndInterpretation(@RequestBody SarStandItems resolveListForm){ diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandItems/service/impl/SarStandItemsServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandItems/service/impl/SarStandItemsServiceImpl.java index 2204a86d..3668e110 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandItems/service/impl/SarStandItemsServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandItems/service/impl/SarStandItemsServiceImpl.java @@ -12,9 +12,16 @@ import com.adc.da.slrs.sarStandardsInfo.entity.ActSarItemsEO; import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo; import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfoEOPage; import com.adc.da.slrs.sarStandardsInfo.service.ISarStandardsInfoService; +import com.adc.da.slrs.standardSplit.dao.SarFileSplitInfoEODao; +import com.adc.da.slrs.standardSplit.dao.SarFileSplitItemsEODao; +import com.adc.da.slrs.standardSplit.dao.SarFileSplitItemsParamsEODao; +import com.adc.da.slrs.standardSplit.entity.*; +import com.adc.da.slrs.standardSplit.service.SarFileSplitMenuEOService; import com.adc.da.slrs.sysInfo.service.SysInfoEOService; import com.adc.da.sys.entity.DicTypeEO; import com.adc.da.sys.service.IDicTypeEOService; +import com.adc.da.utils.treetool.Tree; +import com.adc.da.utils.treetool.TreeNode; import com.adc.da.utils.util.InitStandAttrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -52,6 +59,18 @@ public class SarStandItemsServiceImpl extends ServiceImpl queryItemsByList(SarStandItemsEOPage page, String resType){ List itemsEOList = dao.queryItemsByList(page); List actitemsEOList = new ArrayList<>(); @@ -351,4 +370,74 @@ public class SarStandItemsServiceImpl extends ServiceImpl selectSarItemAndInterpretation(String standId)throws Exception { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("STAND_ID",standId); + SarFileSplitInfoEO sarFileSplitInfoEO = sarFileSplitInfoEODao.selectOne(queryWrapper); + + String infoId = sarFileSplitInfoEO.getInfoId(); + + SarFileSplitItemsEOPage page = new SarFileSplitItemsEOPage(); + String id = sarFileSplitMenuEOService.selectByInfoId(infoId); + page.setId(id); + //ValidFlag为0的意思是有效,设置这个文件分解清单的有效性为有效 + page.setValidFlag("0"); + //把SAR_FILE_SPLIT_MENU表里的数据按照display_seq的从小到大的正序进行排列 + page.setOrderBy("SAR_FILE_SPLIT_MENU.display_seq asc"); + //如果SAR_FILE_SPLIT_ITEMS表里的拆分目录ID即MenuId不为空 + if (com.adc.da.util.utils.StringUtils.isNotEmpty(page.getMenuId())) { + //把根据条件查询SAR_FILE_SPLIT_MENU表查出来的数据放到sarFileSplitMenuEOList里 + List sarFileSplitMenuEOList = sarFileSplitMenuEOService.queryByList(new SarFileSplitMenuEOPage()); + //把这个sarFileSplitMenuEOList转换成树的形式 + Tree tree = new Tree<>(sarFileSplitMenuEOList); + //treeNode就是树的子节点中的SAR_FILE_SPLIT_ITEMS表中的menuId + TreeNode treeNode = tree.getTreeNode(page.getMenuId()); + + List menuIds = new ArrayList<>(); + //然后把刚刚的treeNode的nodeId放到menuIds数组里 + menuIds.add(treeNode.getNodeId()); + for (TreeNode node : treeNode.getAllChildren()) { + //把所有的treeNode的nodeId放到menuIds数组里 + menuIds.add(node.getNodeId()); + } + //把它放到MenuIdList里 + page.setMenuIdList(menuIds); + } + //数出SAR_FILE_SPLIT_ITEMS这个表里MENU_ID不为空或id不为空的记录一共有几条(基本上就是数出这个表一共有几条数据) + int count = sarFileSplitItemsEODao.queryByCount(page); + //把page里的值当做条件一顿左联查询了SAR_FILE_SPLIT_ITEMS这个表 + List rows = sarFileSplitItemsEODao.queryByPage(page); + //如果查询出来的结果不为空 + if (rows != null && !rows.isEmpty()) { + //遍历rows + for (SarFileSplitItemsEO sarFileSplitItemsEO : rows) { + //查询svpps + String svppsShow = sysInfoEOService.getSvppsNamesByIds(sarFileSplitItemsEO.getSvpps()); + sarFileSplitItemsEO.setSvppsShow(svppsShow); + SarFileSplitItemsParamsEOPage paramPage = new SarFileSplitItemsParamsEOPage(); + paramPage.setItemId(sarFileSplitItemsEO.getId()); + List paramList = sarFileSplitItemsParamsEODao.queryByList(paramPage); + sarFileSplitItemsEO.setParamsList(paramList); + String foName = sysInfoEOService.getRoleNamesByIds(sarFileSplitItemsEO.getFo()); + sarFileSplitItemsEO.setFoShow(foName); + //TODO 2021年6月17日 补充责任部门和项目评估角色回显时如果时多个时回显为空的情况 + String dutyEngineerName = sysInfoEOService.getRoleNamesByIds(sarFileSplitItemsEO.getDutyEngineer()); + sarFileSplitItemsEO.setDutyEngineerShow(dutyEngineerName); + //责任部门多个时 + String orgNames = sysInfoEOService.getOrgNamesByIds(sarFileSplitItemsEO.getResponsibleUnit()); + sarFileSplitItemsEO.setResponsibleUnitShow(orgNames); + } + + } + Map map = new HashMap<>(); + map.put("list",rows); + map.put("count",count); + return map; + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/dao/SarFileSplitItemsEODao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/dao/SarFileSplitItemsEODao.java index 722ae9d0..1a1f00fe 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/dao/SarFileSplitItemsEODao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/dao/SarFileSplitItemsEODao.java @@ -8,6 +8,8 @@ import com.adc.da.slrs.standardSplit.entity.SarStandItemsEO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + import java.util.List; /** @@ -59,4 +61,6 @@ public interface SarFileSplitItemsEODao extends BaseMapper int deleteByPrimaryKey(String id); + @Select("select ID from sar_file_split_info where INFO_ID=#{infoId}") + String selectByInfoId(String infoId); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/SarFileSplitMenuEOService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/SarFileSplitMenuEOService.java index 193d4cbe..d869ac74 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/SarFileSplitMenuEOService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/SarFileSplitMenuEOService.java @@ -32,4 +32,6 @@ public interface SarFileSplitMenuEOService { String addMenuForImport(SarFileSplitMenuEO sarFileSplitMenuEO); List getChildData(String id); + + String selectByInfoId(String infoId); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitMenuEOServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitMenuEOServiceImpl.java index 4000382a..23326ec0 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitMenuEOServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitMenuEOServiceImpl.java @@ -459,6 +459,12 @@ public class SarFileSplitMenuEOServiceImpl implements SarFileSplitMenuEOService return dealData(id,res); } + @Override + public String selectByInfoId(String infoId) { + String info = sarFileSplitItemsEODao.selectByInfoId(infoId); + return info; + } + private List dealData(String id ,List res){ List strings = SarFileSplitMenuEODao.getChildData(id); res.addAll(strings);