diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java index fd56957265..1a2279055b 100644 --- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java @@ -5,15 +5,11 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerFootBarDTO; import com.epmet.dto.form.CheckFloatFootBarFormDTO; import com.epmet.dto.form.CustomerFootBarFormDTO; -import com.epmet.feign.fallback.OperCustomizeOpenFeignClientFallbackFactory; -import org.springframework.cloud.openfeign.FeignClient; - -import com.epmet.commons.tools.constant.ServiceConstant; -import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.CustomerFormQueryDTO; import com.epmet.dto.form.CustomerFunctionListFormDTO; import com.epmet.dto.result.CheckFloatFootBarResultDTO; import com.epmet.dto.result.DefaultFunctionListResultDTO; -import com.epmet.feign.fallback.OperCustomizeOpenFeignClientFallback; +import com.epmet.feign.fallback.OperCustomizeOpenFeignClientFallbackFactory; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.PostMapping; @@ -47,4 +43,12 @@ public interface OperCustomizeOpenFeignClient { */ @PostMapping(value = "/oper/customize/customerfootbar/checkfloatfootbar", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) Result checkFloatFootBar(@RequestBody CheckFloatFootBarFormDTO checkFloatFootBarFormDTO); + + /** + * desc: 获取表单填写项 + * @param formDto + * @return + */ + @PostMapping(value = "/oper/customize/icform/getcustomerform", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) + Result getCustomerForm(@RequestBody CustomerFormQueryDTO formDto); } diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java index 2fe50e5c9f..44faffb975 100644 --- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java @@ -6,11 +6,11 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerFootBarDTO; import com.epmet.dto.form.CheckFloatFootBarFormDTO; import com.epmet.dto.form.CustomerFootBarFormDTO; +import com.epmet.dto.form.CustomerFormQueryDTO; import com.epmet.dto.form.CustomerFunctionListFormDTO; import com.epmet.dto.result.CheckFloatFootBarResultDTO; import com.epmet.dto.result.DefaultFunctionListResultDTO; import com.epmet.feign.OperCustomizeOpenFeignClient; -import org.springframework.stereotype.Component; import java.util.List; @@ -49,4 +49,9 @@ public class OperCustomizeOpenFeignClientFallback implements OperCustomizeOpenFe public Result checkFloatFootBar(CheckFloatFootBarFormDTO checkFloatFootBarFormDTO) { return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "checkFloatFootBar", checkFloatFootBarFormDTO); } + + @Override + public Result getCustomerForm(CustomerFormQueryDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "getCustomerForm", formDto); + } } diff --git a/epmet-user/epmet-user-server/pom.xml b/epmet-user/epmet-user-server/pom.xml index 79c3f816af..a70950c101 100644 --- a/epmet-user/epmet-user-server/pom.xml +++ b/epmet-user/epmet-user-server/pom.xml @@ -118,6 +118,12 @@ epmet-commons-rocketmq 2.0.0 + + com.epmet + oper-customize-client + 2.0.0 + compile + diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index 5dca820caf..dd053bd395 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -17,7 +17,12 @@ package com.epmet.controller; +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.entity.ExportParams; +import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ExcelUtils; @@ -25,19 +30,22 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.group.AddGroup; -import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.IcResiUserDTO; -import com.epmet.dto.UserResiInfoDTO; +import com.epmet.dto.form.CustomerFormQueryDTO; import com.epmet.dto.form.IcResiUserFormDTO; +import com.epmet.dto.result.CheckFloatFootBarResultDTO; import com.epmet.excel.IcResiUserExcel; +import com.epmet.feign.OperCustomizeOpenFeignClient; import com.epmet.service.IcResiUserService; +import org.apache.poi.ss.usermodel.Workbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; -import java.util.List; -import java.util.Map; +import java.io.FileOutputStream; +import java.util.*; /** @@ -49,7 +57,9 @@ import java.util.Map; @RestController @RequestMapping("icresiuser") public class IcResiUserController { - + + @Autowired + private OperCustomizeOpenFeignClient operCustomizeOpenFeignClient; @Autowired private IcResiUserService icResiUserService; @@ -115,4 +125,40 @@ public class IcResiUserController { return new Result(); } -} \ No newline at end of file + @GetMapping("download/template") + public void downloadTemplate(@RequestParam String customerId) throws Exception { + CustomerFormQueryDTO queryDTO = new CustomerFormQueryDTO(); + queryDTO.setFormCode("resi_base_info"); + queryDTO.setCustomerId(customerId); + + Result resultForm = operCustomizeOpenFeignClient.getCustomerForm(queryDTO); + if (resultForm == null || !resultForm.success()) ||resultForm.getData() == null){ + throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); + } + List colList = new ArrayList<>(); + + ExcelExportEntity desginGroup = new ExcelExportEntity("表头名称","键"); + desginGroup.setNeedMerge(true); + List paramCols = new ArrayList<>(); + List headerList = Arrays.asList("头1","头2","头3"); + headerList.forEach(e->{ + paramCols.add(new ExcelExportEntity(e,e,30)); + }); + + desginGroup.setList(paramCols); + colList.add(desginGroup); + List> dataList =new ArrayList<>(); + Map dataMap = new HashMap<>(); + dataMap.put("头1","1"); + dataMap.put("头2","2"); + dataMap.put("头3","3"); + dataList.add(dataMap); + ExportParams entity = new ExportParams(); + Workbook workbook = ExcelExportUtil.exportExcel(entity, colList, dataList); + //ExcelExportUtil.exportExcel + FileOutputStream fos = new FileOutputStream("//Users/liujianjun/Downloads/基础信息表/Dow.tt.xls"); + workbook.write(fos); + fos.close(); + } + +}