diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ListForExportFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ListForExportFormDTO.java new file mode 100644 index 0000000000..fb95fc9dd1 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ListForExportFormDTO.java @@ -0,0 +1,26 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.List; + +/** + * @Description 不分页,导出查询 + * @Author yinzuomei + * @Date 2021/11/1 3:33 下午 + */ +@Data +public class ListForExportFormDTO implements Serializable { + @NotBlank(message = "formCode不能为空", groups = IcResiUserPageFormDTO.AddUserInternalGroup.class) + private String formCode; + + @NotBlank(message = "customerId不能为空", groups = IcResiUserPageFormDTO.AddUserInternalGroup.class) + private String customerId; + /** + * 表对应的字段及值 + */ + private List conditions; +} + 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 f2793f0d3d..02b2068020 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,9 @@ package com.epmet.controller; +import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; +import cn.afterturn.easypoi.excel.entity.TemplateExportParams; import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; import cn.afterturn.easypoi.excel.export.ExcelExportService; import com.alibaba.fastjson.JSON; @@ -46,7 +48,9 @@ import com.epmet.dto.result.HomeUserResultDTO; import com.epmet.excel.IcResiUserExcel; import com.epmet.feign.OperCustomizeOpenFeignClient; import com.epmet.service.IcResiUserService; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; @@ -54,6 +58,8 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.io.FileOutputStream; +import java.io.IOException; +import java.net.URLEncoder; import java.util.*; @@ -63,6 +69,7 @@ import java.util.*; * @author generator generator@elink-cn.com * @since v1.0.0 2021-10-26 */ +@Slf4j @RestController @RequestMapping("icresiuser") public class IcResiUserController { @@ -314,4 +321,35 @@ public class IcResiUserController { ValidatorUtils.validateEntity(pageFormDTO,IcResiDetailFormDTO.AddUserInternalGroup.class); return new Result().ok(icResiUserService.queryIcResiDetail(pageFormDTO)); } + + @RequestMapping(value = "/exportExcel") + public void exportExcel(/*@LoginUser TokenDto tokenDto,*/ @RequestBody IcResiUserPageFormDTO pageFormDTO, HttpServletResponse response) throws IOException { + pageFormDTO.setCustomerId("45687aa479955f9d06204d415238f7cc"); + pageFormDTO.setPageFlag(false); + PageData> mapPageData = icResiUserService.pageResiMap(pageFormDTO); + List> list = mapPageData.getList(); + Map mapData = new HashMap<>(); + log.info("list:{}", JSON.toJSONString(list)); + + mapData.put("list", list); + String templatePath = "excel/ic_resi_info_cid.xls"; + + + Workbook workbook = ExcelExportUtil.exportExcel(new TemplateExportParams(templatePath), mapData); + //header + response.setHeader("content-Type", "application/vnd.ms-excel"); + response.addHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode("继续追踪导出详情-" + ".xlsx", "UTF-8")); + workbook.write(response.getOutputStream()); + + /* + //方式1 通过mv导出 + ModelAndView mv = new ModelAndView(new EasypoiTemplateExcelView()); + mv.addObject(TemplateExcelConstants.FILE_NAME, "继续追踪导出详情-".concat(DateUtils.formatDate())); + mv.addObject(TemplateExcelConstants.PARAMS, new TemplateExportParams(templatePath,dataType)); + mv.addObject(TemplateExcelConstants.MAP_DATA, mapData); + return mv; + */ + + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java index ab959cb80a..43bb030012 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java @@ -61,16 +61,20 @@ public interface IcResiUserDao extends BaseDao { * @author yinzuomei * @date 2021/10/28 11:20 上午 */ - List> selectListMapById(String icResiUserId); + List> selectListMapById(@Param("customerId") String customerId, + @Param("icResiUserId")String icResiUserId); /** * 根据ic_resi_user.id去查询各个子表记录,动态传入表名 * * @param icResiUserId - * @param tableName + * @param subTableName * @return java.util.List> * @author yinzuomei * @date 2021/10/28 11:19 上午 */ - List> selectSubTableRecords(@Param("icResiUserId") String icResiUserId,@Param("tableName") String tableName); + List> selectSubTableRecords(@Param("customerId")String customerId, + @Param("icResiUserId") String icResiUserId, + @Param("subTableName") String subTableName); + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java index f6a2552a92..8e762e3239 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java @@ -23,8 +23,8 @@ import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.IcResiUserDTO; import com.epmet.dto.form.IcResiDetailFormDTO; import com.epmet.dto.form.IcResiUserFormDTO; -import com.epmet.dto.result.HomeUserResultDTO; import com.epmet.dto.form.IcResiUserPageFormDTO; +import com.epmet.dto.result.HomeUserResultDTO; import com.epmet.entity.IcResiUserEntity; import java.util.List; @@ -129,4 +129,5 @@ public interface IcResiUserService extends BaseService { * @date 2021/10/28 10:29 上午 */ Map queryIcResiDetail(IcResiDetailFormDTO pageFormDTO); + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index 49c233356f..0f20619b1e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -36,10 +36,7 @@ import com.epmet.constant.UserConstant; import com.epmet.dao.IcResiUserDao; import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.IcResiUserDTO; -import com.epmet.dto.form.CustomerFormQueryDTO; -import com.epmet.dto.form.IcResiDetailFormDTO; -import com.epmet.dto.form.IcResiUserFormDTO; -import com.epmet.dto.form.IcResiUserPageFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.AllGridsByUserIdResultDTO; import com.epmet.dto.result.HomeUserResultDTO; import com.epmet.dto.result.HouseInfoDTO; @@ -392,7 +389,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl> icResiUserMapList = baseDao.selectListMapById(pageFormDTO.getIcResiUserId()); + List> icResiUserMapList = baseDao.selectListMapById(pageFormDTO.getCustomerId(),pageFormDTO.getIcResiUserId()); if (CollectionUtils.isEmpty(icResiUserMapList)) { return new HashMap(); } @@ -402,7 +399,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl> subTableRes=operCustomizeOpenFeignClient.queryIcResiSubTables(queryDTO); if(subTableRes.success()&&!CollectionUtils.isEmpty(subTableRes.getData())){ for (String subTalbeName : subTableRes.getData()) { - List> list = baseDao.selectSubTableRecords(pageFormDTO.getIcResiUserId(), subTalbeName); + List> list = baseDao.selectSubTableRecords(pageFormDTO.getCustomerId(),pageFormDTO.getIcResiUserId(), subTalbeName); if (!CollectionUtils.isEmpty(list)) { resultMap.put(subTalbeName, list); } @@ -413,4 +410,5 @@ public class IcResiUserServiceImpl extends BaseServiceImpl - + select * from ic_resi_user where del_flag='0' and id=#{icResiUserId} and customer_id=#{customerId} - + select + ic_resi_user.id as icResiUserId, + + ${column.columnName} + + , + GROUP_CONCAT(ic_resi_demand.CATEGORY_CODE) as DEMAND_CATEGORY_IDS, + GROUP_CONCAT(ic_resi_demand_dict.CATEGORY_NAME) as DEMAND_NAME + FROM + ic_resi_user + + + ${subTableName} + + + + left join ic_resi_demand_dict + on(ic_resi_user.customer_id=ic_resi_demand_dict.CUSTOMER_ID + and ic_resi_demand.CATEGORY_CODE=ic_resi_demand_dict.CATEGORY_CODE ) + + + group by IC_RESI_USER.id order by ic_resi_user.CREATED_TIME desc + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 0cbc5c73fa..2a30af4cf9 100644 --- a/pom.xml +++ b/pom.xml @@ -97,11 +97,11 @@ - + public aliyun nexus