|
|
@ -37,6 +37,7 @@ import com.epmet.dao.IcUserDemandOperateLogDao; |
|
|
|
import com.epmet.dao.IcUserDemandRecDao; |
|
|
|
import com.epmet.dao.IcUserDemandSatisfactionDao; |
|
|
|
import com.epmet.dao.IcUserDemandServiceDao; |
|
|
|
import com.epmet.dto.CustomerAgencyDTO; |
|
|
|
import com.epmet.dto.CustomerGridDTO; |
|
|
|
import com.epmet.dto.IcUserDemandRecDTO; |
|
|
|
import com.epmet.dto.form.CustomerGridFormDTO; |
|
|
@ -607,7 +608,86 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD |
|
|
|
return resultDTO; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 数分析-服务措施分析-分页查询 |
|
|
|
* |
|
|
|
* @param formDTO |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public PageData<DemandRecResultDTO> pageListAnalysis(PageListAnalysisFormDTO formDTO) { |
|
|
|
if("agency".equals(formDTO.getOrgType())){ |
|
|
|
if(NumConstant.ZERO_STR.equals(formDTO.getPid())){ |
|
|
|
//当前传入的组织id=客户的根组织
|
|
|
|
formDTO.setGridPids(formDTO.getOrgId()); |
|
|
|
}else{ |
|
|
|
//找到当前组织的所有上级,再拼接上自己
|
|
|
|
Result<CustomerAgencyDTO> customerAgencyDTOResult=govOrgOpenFeignClient.getAgencyById(formDTO.getOrgId()); |
|
|
|
if(!customerAgencyDTOResult.success()||null==customerAgencyDTOResult.getData()){ |
|
|
|
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取组织信息异常govOrgOpenFeignClient.getAgencyById"); |
|
|
|
} |
|
|
|
formDTO.setGridPids(customerAgencyDTOResult.getData().getPids().concat(StrConstant.COLON).concat(formDTO.getOrgId())); |
|
|
|
} |
|
|
|
} |
|
|
|
PageInfo<DemandRecResultDTO> pageInfo= PageHelper.startPage(formDTO.getPageNo(), |
|
|
|
formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.pageListAnalysis(formDTO)); |
|
|
|
List<DemandRecResultDTO> list=pageInfo.getList(); |
|
|
|
if(CollectionUtils.isNotEmpty(list)){ |
|
|
|
//1、查询网格信息
|
|
|
|
List<String> gridIds=list.stream().map(DemandRecResultDTO::getGridId).collect(Collectors.toList()); |
|
|
|
Result<List<AllGridsByUserIdResultDTO>> gridInfoRes=govOrgOpenFeignClient.getGridListByGridIds(gridIds); |
|
|
|
List<AllGridsByUserIdResultDTO> gridInfoList = gridInfoRes.success() && !CollectionUtils.isEmpty(gridInfoRes.getData()) ? gridInfoRes.getData() : new ArrayList<>(); |
|
|
|
Map<String, AllGridsByUserIdResultDTO> gridInfoMap = gridInfoList.stream().collect(Collectors.toMap(AllGridsByUserIdResultDTO::getGridId, Function.identity())); |
|
|
|
|
|
|
|
//2、查询分类名称
|
|
|
|
List<String> categoryCodes=list.stream().map(DemandRecResultDTO::getCategoryCode).collect(Collectors.toList()); |
|
|
|
List<IcResiDemandDictEntity> dictList=demandDictService.listByCodes(formDTO.getCustomerId(),categoryCodes); |
|
|
|
Map<String, String> dictMap = dictList.stream().collect(Collectors.toMap(IcResiDemandDictEntity::getCategoryCode, IcResiDemandDictEntity::getCategoryName)); |
|
|
|
|
|
|
|
//3、查询志愿者
|
|
|
|
// 服务方类型:志愿者:volunteer;社会组织:social_org;社区自组织:community_org;区域党建单位:party_unit;
|
|
|
|
Map<String,String> userInfoMap=new HashMap<>(); |
|
|
|
List<String> userIdList=list.stream().filter(item->item.getServiceType().equals(UserDemandConstant.VOLUNTEER)).map(DemandRecResultDTO::getServerId).collect(Collectors.toList()); |
|
|
|
if(CollectionUtils.isNotEmpty(userIdList)){ |
|
|
|
Result<List<UserBaseInfoResultDTO>> userInfoRes = epmetUserOpenFeignClient.queryUserBaseInfo(userIdList); |
|
|
|
if(!userInfoRes.success()||CollectionUtils.isEmpty(userInfoRes.getData())){ |
|
|
|
throw new RenException("查询志愿者信息异常"); |
|
|
|
} |
|
|
|
userInfoMap=userInfoRes.getData().stream().collect(Collectors.toMap(UserBaseInfoResultDTO::getUserId, UserBaseInfoResultDTO::getRealName)); |
|
|
|
} |
|
|
|
|
|
|
|
//查询字典表
|
|
|
|
Result<Map<String, String>> reportTypeRes=adminOpenFeignClient.dictMap(DictTypeEnum.USER_DEMAND_REPORT_TYPE.getCode()); |
|
|
|
Map<String,String> reportTypeMap=reportTypeRes.success()&& MapUtils.isNotEmpty(reportTypeRes.getData())?reportTypeRes.getData():new HashMap<>(); |
|
|
|
|
|
|
|
Result<Map<String, String>> statusRes=adminOpenFeignClient.dictMap(DictTypeEnum.USER_DEMAND_STATUS.getCode()); |
|
|
|
Map<String,String> statusMap=statusRes.success()&& MapUtils.isNotEmpty(statusRes.getData())?statusRes.getData():new HashMap<>(); |
|
|
|
|
|
|
|
Result<Map<String, String>> serviceTypeRes=adminOpenFeignClient.dictMap(DictTypeEnum.USER_DEMAND_SERVICE_TYPE.getCode()); |
|
|
|
Map<String,String> serviceTypeMap=serviceTypeRes.success()&& MapUtils.isNotEmpty(serviceTypeRes.getData())?serviceTypeRes.getData():new HashMap<>(); |
|
|
|
|
|
|
|
for(DemandRecResultDTO res:list){ |
|
|
|
if (null != gridInfoMap && gridInfoMap.containsKey(res.getGridId())) { |
|
|
|
res.setGridName(gridInfoMap.get(res.getGridId()).getGridName()); |
|
|
|
} |
|
|
|
|
|
|
|
if (null != dictMap && dictMap.containsKey(res.getCategoryCode())) { |
|
|
|
res.setCategoryName(dictMap.get(res.getCategoryCode())); |
|
|
|
} |
|
|
|
res.setFirstCategoryName(demandDictService.getCategoryName(formDTO.getCustomerId(), res.getFirstCategoryCode())); |
|
|
|
if (null != userInfoMap && userInfoMap.containsKey(res.getServerId())) { |
|
|
|
res.setServiceName(userInfoMap.get(res.getServerId())); |
|
|
|
} |
|
|
|
//社区帮办:community;楼长帮办:building_caption;党员帮办:party;自身上报:self_help
|
|
|
|
res.setReportTypeName(reportTypeMap.containsKey(res.getReportType())?reportTypeMap.get(res.getReportType()):StrConstant.EPMETY_STR); |
|
|
|
//待处理:pending;已取消canceled;已派单:assigned;已接单:have_order;已完成:finished
|
|
|
|
res.setStatusName(statusMap.containsKey(res.getStatus())?statusMap.get(res.getStatus()):StrConstant.EPMETY_STR); |
|
|
|
//服务方类型:志愿者:volunteer;社会组织:social_org;社区自组织:community_org;区域党建单位:party_unit;
|
|
|
|
res.setServiceShowName(serviceTypeMap.containsKey(res.getServiceType())?res.getServiceName().concat("(").concat(serviceTypeMap.get(res.getServiceType())).concat(")"):StrConstant.EPMETY_STR); |
|
|
|
} |
|
|
|
} |
|
|
|
return new PageData<>(list, pageInfo.getTotal()); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |