国内外拆分查询

This commit is contained in:
SUNJIABIN
2023-04-07 18:07:21 +08:00
parent 3fe12077cb
commit dc4fbe8131
5 changed files with 112 additions and 0 deletions
@@ -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<SarStandItems> {
return Result.success(pageInfo);
}
@ApiOperation(value = "分解单查询")
@GetMapping("/selectSarItemAndInterpretation")
public ResponseMessage selectSarItemAndInterpretation(String standId)throws Exception{
FindSarItemsPageReqDTO page = new FindSarItemsPageReqDTO();
page.setStandId(standId);
Map<String,Object> map = ServiceImpl.selectSarItemAndInterpretation(page.getStandId());
page.getPager().setRowCount((Integer) map.get("count"));
return Result.success(getPageInfo(page.getPager(), (List<SarStandItems>) map.get("list")));
}
@ApiOperation(value = "分解单更新")
@PutMapping("/updateSarItemAndInterpretation")
public ResponseMessage updateSarItemAndInterpretation(@RequestBody SarStandItems resolveListForm){
@@ -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<SarStandItemsDao, SarS
@Autowired
private IDicTypeEOService iDicTypeEOService;
@Autowired
private SarFileSplitInfoEODao sarFileSplitInfoEODao;
@Autowired
private SarFileSplitMenuEOService sarFileSplitMenuEOService;
@Autowired
private SarFileSplitItemsEODao sarFileSplitItemsEODao;
@Autowired
private SarFileSplitItemsParamsEODao sarFileSplitItemsParamsEODao;
public List<ActSarItemsEO> queryItemsByList(SarStandItemsEOPage page, String resType){
List<SarStandItems> itemsEOList = dao.queryItemsByList(page);
List<ActSarItemsEO> actitemsEOList = new ArrayList<>();
@@ -351,4 +370,74 @@ public class SarStandItemsServiceImpl extends ServiceImpl<SarStandItemsDao, SarS
}
return sarStandItemsDtos;
}
/**
* 分解单查询
* @param standId
* @return
*/
public Map<String,Object> selectSarItemAndInterpretation(String standId)throws Exception {
QueryWrapper<SarFileSplitInfoEO> 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<SarFileSplitMenuEO> sarFileSplitMenuEOList = sarFileSplitMenuEOService.queryByList(new SarFileSplitMenuEOPage());
//把这个sarFileSplitMenuEOList转换成树的形式
Tree tree = new Tree<>(sarFileSplitMenuEOList);
//treeNode就是树的子节点中的SAR_FILE_SPLIT_ITEMS表中的menuId
TreeNode treeNode = tree.getTreeNode(page.getMenuId());
List<String> 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<SarFileSplitItemsEO> 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<SarFileSplitItemsParamsEO> 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<String,Object> map = new HashMap<>();
map.put("list",rows);
map.put("count",count);
return map;
}
}
@@ -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<SarFileSplitItemsEO>
int deleteByPrimaryKey(String id);
@Select("select ID from sar_file_split_info where INFO_ID=#{infoId}")
String selectByInfoId(String infoId);
}
@@ -32,4 +32,6 @@ public interface SarFileSplitMenuEOService {
String addMenuForImport(SarFileSplitMenuEO sarFileSplitMenuEO);
List<String> getChildData(String id);
String selectByInfoId(String infoId);
}
@@ -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<String> dealData(String id ,List<String> res){
List<String> strings = SarFileSplitMenuEODao.getChildData(id);
res.addAll(strings);