Browse Source

Merge branch 'dev_ic_platform' into develop

dev_shibei_match
wangxianzhang 4 years ago
parent
commit
fbb6c0b11d
  1. 2
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java
  2. 2
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java
  3. 2
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java
  4. 33
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
  5. 4
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java
  6. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java

2
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java

@ -74,6 +74,8 @@ public interface StrConstant {
*/
String STAR="*";
String QUESTION_MARK="?";
/**
* 空字符串
*/

2
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java

@ -463,7 +463,7 @@ public interface GovOrgOpenFeignClient {
* @Date 2021/10/26 14:02
*/
@PostMapping("/gov/org/customergrid/gridoption")
Result<List<OptionResultDTO>> getGridOption(@RequestBody AgencyIdFormDTO formDTO);
Result<List<OptionResultDTO>> getGridOption(@RequestBody GridOptionFormDTO formDTO);
/**
* 获取网格下支部小组

2
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java

@ -276,7 +276,7 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient {
}
@Override
public Result<List<OptionResultDTO>> getGridOption(AgencyIdFormDTO formDTO) {
public Result<List<OptionResultDTO>> getGridOption(GridOptionFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getGridOption", formDTO);
}

33
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java

@ -29,6 +29,7 @@ import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.ExceptionUtils;
@ -357,16 +358,14 @@ public class IcResiUserController {
CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(customerId, tokenDto.getUserId());
String staffOrgPath = null;
if (StringUtils.isNotBlank(staffInfoCacheResult.getAgencyPIds()) && !NumConstant.ZERO_STR.equals(staffInfoCacheResult.getAgencyPIds())) {
staffOrgPath = staffInfoCacheResult.getAgencyPIds().concat(":").concat(staffInfoCacheResult.getAgencyId());
staffOrgPath = staffInfoCacheResult.getAgencyPIds().concat(StrConstant.COLON).concat(staffInfoCacheResult.getAgencyId());
} else {
staffOrgPath = staffInfoCacheResult.getAgencyId();
}
pageFormDTO.setCustomerId(customerId);
pageFormDTO.setPageFlag(false);
List<FormItemResult> resiFormAllItems = icResiUserService.listFormItems(customerId, IC_RESI_FORM_CODE);
Map<String, Map<String, FormItemResult>> otherSheetItems = resiFormAllItems.stream()
.collect(Collectors.groupingBy(FormItemResult::getTableName, Collectors.toMap(FormItemResult::getColumnName, o -> o)));
//获取模版文件
File file = getExportTemplateFile(customerId);
@ -378,27 +377,35 @@ public class IcResiUserController {
pageFormDTO.setPageNo(NumConstant.ONE);
//子表是否停止查询
Set<String> stopSearchSet = new HashSet<>();
Map<String, WriteSheet> childTableWriteSheetMap = new HashMap<>();
//获取表单项
List<FormItemResult> resiFormAllItems = icResiUserService.listFormItems(customerId, IC_RESI_FORM_CODE);
//每个表对应的 item ;key:表名,value:<字段名:item对象>
Map<String, Map<String, FormItemResult>> tableItemMap = resiFormAllItems.stream()
.collect(Collectors.groupingBy(FormItemResult::getTableName,
Collectors.toMap(o->o.getColumnName().concat(NumConstant.ZERO == o.getColumnNum()? StrConstant.EPMETY_STR:o.getColumnNum().toString()), o -> o)));
Map<String, WriteSheet> childTableWriteSheetMap = new HashMap<>();
//表数据写入
//通过枚举获取相关表并按照sheetNo排序
List<IcResiUserTableEnum> resiTableList = Arrays.stream(IcResiUserTableEnum.values()).sorted(Comparator.comparing(IcResiUserTableEnum::getSheetNo)).collect(Collectors.toList());
List<IcResiUserTableEnum> resiTableList = Arrays.stream(IcResiUserTableEnum.values())
.sorted(Comparator.comparing(IcResiUserTableEnum::getSheetNo))
.collect(Collectors.toList());
for (IcResiUserTableEnum tableEnum : resiTableList) {
String tableName = tableEnum.getTableName();
pageFormDTO.setPageNo(NumConstant.ONE);
//循环一次 写入每个sheet
do {
Map<String, FormItemResult> itemMap1 = otherSheetItems.get(tableName);
Map<String, Map<String, Object>> resiChildMap = icResiUserService.getDataForExport(itemMap1, tableName, pageFormDTO, staffInfoCacheResult.getAgencyId(), staffOrgPath);
Map<String, Map<String, Object>> resiChildMap = icResiUserService.getDataForExport(tableItemMap.get(tableName), tableName, pageFormDTO, staffInfoCacheResult.getAgencyId(), staffOrgPath);
//如果 返回的条数小于每页显示的数 则退出查询
if (resiChildMap.keySet().size() < pageFormDTO.getPageSize()) {
stopSearchSet.add(tableName);
}
//构建新的sheet
WriteSheet childWriteSheet = childTableWriteSheetMap.getOrDefault(tableName,EasyExcel.writerSheet(tableEnum.getSheetNo()).build());
childTableWriteSheetMap.put(tableName, childWriteSheet);
//如果没有 构建新的writeSheet
WriteSheet writeSheet = childTableWriteSheetMap.getOrDefault(tableName,EasyExcel.writerSheet(tableEnum.getSheetNo()).build());
childTableWriteSheetMap.putIfAbsent(tableName, writeSheet);
//写入数据
excelWriter.fill(new FillWrapper("t" + (tableEnum.getSheetNo() + NumConstant.ONE), resiChildMap.values()), childWriteSheet);
excelWriter.fill(new FillWrapper("t" + (tableEnum.getSheetNo() + NumConstant.ONE), resiChildMap.values()), writeSheet);
pageFormDTO.setPageNo(pageFormDTO.getPageNo() + NumConstant.ONE);
//重置数据
resiChildMap.clear();
@ -426,7 +433,7 @@ public class IcResiUserController {
String serverIp = IpUtils.getServerIp();
Object isChanged = redisUtils.hGet(RedisKeys.getResiTempChangedKey(customerId), serverIp);
//如果 redis 不存在这个机器的key 或者值为1 则重新下载
if (isChanged == null || NumConstant.ONE_STR.equals(isChanged.toString())) {
if (!file.exists() || isChanged == null || NumConstant.ONE_STR.equals(isChanged.toString())) {
if (file.exists()) {
file.delete();
}

4
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java

@ -16,6 +16,7 @@ import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.dao.IcResiUserDao;
import com.epmet.dto.*;
import com.epmet.dto.form.AgencyIdFormDTO;
import com.epmet.dto.form.GridOptionFormDTO;
import com.epmet.dto.form.HouseFormDTO;
import com.epmet.dto.form.LoginUserDetailsFormDTO;
import com.epmet.dto.result.FormItemResult;
@ -790,8 +791,9 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
EpmetErrorCode.SERVER_ERROR.getCode(), null);
break;
case "/gov/org/customergrid/gridoption":
AgencyIdFormDTO form = new AgencyIdFormDTO();
GridOptionFormDTO form = new GridOptionFormDTO();
form.setAgencyId(currUserAgencyId);
form.setPurpose("saveorupdate");
options = getResultDataOrThrowsException(govOrgOpenFeignClient.getGridOption(form), ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), null);
break;
case "/gov/org/customerpartybranch/branchoption":

2
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java

@ -680,6 +680,8 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
IcResiUserImportServiceImpl.ColumnWrapper value = new IcResiUserImportServiceImpl.ColumnWrapper();
value.setColValue(gridId.toString());
columnWrappers.put("1001", value);
}else if (v.getOptionSourceValue().contains(StrConstant.QUESTION_MARK)){
continue;
}
//todo 获取 options
Map<String, String> stringMap = icResiUserImportService.listRemoteOptions(columnWrappers, v.getOptionSourceValue(), currentStaffAgencyId);

Loading…
Cancel
Save