|
|
@ -31,7 +31,9 @@ import com.epmet.commons.tools.enums.HouseTypeEnum; |
|
|
|
import com.epmet.commons.tools.enums.RelationshipEnum; |
|
|
|
import com.epmet.commons.tools.exception.RenException; |
|
|
|
import com.epmet.commons.tools.page.PageData; |
|
|
|
import com.epmet.commons.tools.redis.common.CustomerOrgRedis; |
|
|
|
import com.epmet.commons.tools.redis.common.CustomerStaffRedis; |
|
|
|
import com.epmet.commons.tools.redis.common.bean.GridInfoCache; |
|
|
|
import com.epmet.commons.tools.security.dto.TokenDto; |
|
|
|
import com.epmet.commons.tools.utils.ConvertUtils; |
|
|
|
import com.epmet.commons.tools.utils.Result; |
|
|
@ -496,12 +498,33 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
|
|
|
|
// 志愿者处理
|
|
|
|
if (personData.getIsVolunteer().equals(NumConstant.ONE_STR)){ |
|
|
|
List<String> volunteers = baseDao.selectVolunteerByUserId(formDTO.getUserId()); |
|
|
|
volunteers.forEach(v -> { |
|
|
|
|
|
|
|
}); |
|
|
|
List<String> volunteerList = baseDao.selectVolunteerByUserId(formDTO.getUserId()); |
|
|
|
if (!CollectionUtils.isEmpty(volunteerList)){ |
|
|
|
List<String> volunteers = new ArrayList<>(); |
|
|
|
List<String> finalVolunteers = volunteers; |
|
|
|
volunteerList.forEach(v -> { |
|
|
|
List<String> collect = Arrays.stream(v.split(",")).collect(Collectors.toList()); |
|
|
|
finalVolunteers.addAll(collect); |
|
|
|
}); |
|
|
|
volunteers = volunteers.stream().distinct().collect(Collectors.toList()); |
|
|
|
// 去customize 查询志愿者类别
|
|
|
|
Result<List<String>> volunteerResult = operCustomizeOpenFeignClient.volunteerLabelByValues(volunteers, personData.getCustomerId()); |
|
|
|
if (!volunteerResult.success()){ |
|
|
|
throw new RenException("查询志愿者类别失败..."); |
|
|
|
} |
|
|
|
personData.setVolunteerCategory(volunteerResult.getData()); |
|
|
|
} |
|
|
|
} |
|
|
|
// TODO
|
|
|
|
// 网格名
|
|
|
|
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(personData.getGridId()); |
|
|
|
if (null != gridInfo){ |
|
|
|
personData.setGridName(gridInfo.getGridNamePath()); |
|
|
|
} |
|
|
|
/** |
|
|
|
* 人员类别 |
|
|
|
* 先查询customize配置的 |
|
|
|
* 再根据配置去查询字段 |
|
|
|
*/ |
|
|
|
return personData; |
|
|
|
} |
|
|
|
|
|
|
@ -534,7 +557,8 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
* desc:条件导出 |
|
|
|
* |
|
|
|
* |
|
|
|
* @param formItemMap |
|
|
|
* @param formItemMap key 表名 value formItem |
|
|
|
* @param resiMainList |
|
|
|
* @param customerId |
|
|
|
* @param formCode |
|
|
|
* @param baseTableName |
|
|
@ -542,11 +566,21 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public Map<String, Map<String, Object>> getDataForExport(Map<String, FormItem> formItemMap, String customerId, String formCode, String baseTableName, List<ResiUserQueryValueDTO> conditions) { |
|
|
|
public Map<String, Map<String, Object>> getDataForExport(Map<String, FormItem> formItemMap, Map<String, Map<String, Object>> resiMainList, String customerId, String formCode, String baseTableName, List<ResiUserQueryValueDTO> conditions) { |
|
|
|
List<Map<String, Object>> mapList = this.dynamicQuery(customerId, formCode, baseTableName, conditions); |
|
|
|
Map<String, Map<String, Object>> result = new LinkedHashMap<>(); |
|
|
|
mapList.stream().filter(Objects::nonNull).forEach(map -> { |
|
|
|
String resiId = (String) map.getOrDefault(UserConstant.IC_RESI_USER, ""); |
|
|
|
|
|
|
|
if ("ic_resi_user".equals(baseTableName)) { |
|
|
|
resiId = (String) map.get("ID"); |
|
|
|
} |
|
|
|
|
|
|
|
if (StringUtils.isBlank(resiId)){ |
|
|
|
log.error("getDataForExport error,resiId:{}",resiId); |
|
|
|
return; |
|
|
|
} |
|
|
|
result.put(resiId, map); |
|
|
|
for (Map.Entry<String, FormItem> e : formItemMap.entrySet()) { |
|
|
|
String k = e.getKey(); |
|
|
|
FormItem v = e.getValue(); |
|
|
@ -554,8 +588,16 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
if (temp != null) { |
|
|
|
if (v.getOptionSourceType().equals("remote")) { |
|
|
|
try { |
|
|
|
Map<String, IcResiUserImportServiceImpl.ColumnWrapper> columnWrappers = new HashMap<>(); |
|
|
|
if(v.getItemId().equals("1078")){ |
|
|
|
Map<String, Object> userMap = resiMainList.get(map.get(UserConstant.IC_RESI_USER)); |
|
|
|
Object gridId = userMap.get(UserConstant.GRID_ID); |
|
|
|
IcResiUserImportServiceImpl.ColumnWrapper value = new IcResiUserImportServiceImpl.ColumnWrapper(); |
|
|
|
value.setColValue(gridId.toString()); |
|
|
|
columnWrappers.put("1001", value); |
|
|
|
} |
|
|
|
//todo 获取 options
|
|
|
|
Map<String, String> stringMap = icResiUserImportService.listRemoteOptions(new HashMap<>(), v.getOptionSourceValue(), null); |
|
|
|
Map<String, String> stringMap = icResiUserImportService.listRemoteOptions(columnWrappers, v.getOptionSourceValue(), null); |
|
|
|
if ("checkbox".equals(v.getItemType())) { |
|
|
|
stringMap.forEach((label, value) -> map.put(value, temp.toString().contains(value) ? "是" : "否")); |
|
|
|
} else if ("select".equals(v.getItemType())) { |
|
|
@ -590,15 +632,8 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if ("ic_resi_user".equals(baseTableName)) { |
|
|
|
resiId = (String) map.get("ID"); |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(resiId)){ |
|
|
|
log.error("getDataForExport error,resiId:{}",resiId); |
|
|
|
return; |
|
|
|
} |
|
|
|
result.put(resiId, map); |
|
|
|
if (!"ic_resi_user".equals(baseTableName)) { |
|
|
|
map.putAll(resiMainList.get(resiId)); |
|
|
|
return; |
|
|
|
} |
|
|
|
Object gridId = map.get(UserConstant.GRID_ID); |
|
|
@ -607,7 +642,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi |
|
|
|
formDTO.setGridId(gridId.toString()); |
|
|
|
Result<CustomerGridDTO> gridInfoRes = govOrgOpenFeignClient.getGridBaseInfoByGridId(formDTO); |
|
|
|
if (gridInfoRes != null && gridInfoRes.success() && gridInfoRes.getData() != null) { |
|
|
|
map.put(UserConstant.GRID_ID, gridInfoRes.getData().getGridName()); |
|
|
|
map.put(UserConstant.GRID_NAME, gridInfoRes.getData().getGridName()); |
|
|
|
} |
|
|
|
} |
|
|
|
Object homeId = map.get(UserConstant.HOME_ID); |
|
|
|