Browse Source

Merge remote-tracking branch 'remotes/origin/dev_ic_platform' into develop

dev_shibei_match
jianjun 4 years ago
parent
commit
04959965f1
  1. 26
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ListForExportFormDTO.java
  2. 38
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
  3. 10
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java
  4. 3
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java
  5. 10
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
  6. 58
      epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml
  7. 6
      pom.xml

26
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<ResiUserQueryValueDTO> conditions;
}

38
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<Map<String, Object>> mapPageData = icResiUserService.pageResiMap(pageFormDTO);
List<Map<String, Object>> list = mapPageData.getList();
Map<String, Object> 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;
*/
}
}

10
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java

@ -61,16 +61,20 @@ public interface IcResiUserDao extends BaseDao<IcResiUserEntity> {
* @author yinzuomei
* @date 2021/10/28 11:20 上午
*/
List<Map<String, Object>> selectListMapById(String icResiUserId);
List<Map<String, Object>> selectListMapById(@Param("customerId") String customerId,
@Param("icResiUserId")String icResiUserId);
/**
* 根据ic_resi_user.id去查询各个子表记录动态传入表名
*
* @param icResiUserId
* @param tableName
* @param subTableName
* @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
* @author yinzuomei
* @date 2021/10/28 11:19 上午
*/
List<Map<String, Object>> selectSubTableRecords(@Param("icResiUserId") String icResiUserId,@Param("tableName") String tableName);
List<Map<String, Object>> selectSubTableRecords(@Param("customerId")String customerId,
@Param("icResiUserId") String icResiUserId,
@Param("subTableName") String subTableName);
}

3
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<IcResiUserEntity> {
* @date 2021/10/28 10:29 上午
*/
Map queryIcResiDetail(IcResiDetailFormDTO pageFormDTO);
}

10
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<IcResiUserDao, IcResi
public Map queryIcResiDetail(IcResiDetailFormDTO pageFormDTO) {
Map resultMap = new HashMap();
// 先查询主表,主表没有记录,直接返回空
List<Map<String, Object>> icResiUserMapList = baseDao.selectListMapById(pageFormDTO.getIcResiUserId());
List<Map<String, Object>> icResiUserMapList = baseDao.selectListMapById(pageFormDTO.getCustomerId(),pageFormDTO.getIcResiUserId());
if (CollectionUtils.isEmpty(icResiUserMapList)) {
return new HashMap();
}
@ -402,7 +399,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
Result<Set<String>> subTableRes=operCustomizeOpenFeignClient.queryIcResiSubTables(queryDTO);
if(subTableRes.success()&&!CollectionUtils.isEmpty(subTableRes.getData())){
for (String subTalbeName : subTableRes.getData()) {
List<Map<String, Object>> list = baseDao.selectSubTableRecords(pageFormDTO.getIcResiUserId(), subTalbeName);
List<Map<String, Object>> 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<IcResiUserDao, IcResi
}
return resultMap;
}
}

58
epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml

@ -36,37 +36,17 @@
</update>
<select id="selectListMapById" parameterType="java.lang.String" resultType="map">
select * from ic_resi_user where del_flag='0' and id=#{icResiUserId}
<select id="selectListMapById" parameterType="map" resultType="map">
select * from ic_resi_user where del_flag='0' and id=#{icResiUserId} and customer_id=#{customerId}
</select>
<select id="selectSubTableRecords" parameterType="map" resultType="map">
select * from ${tableName} where del_flag='0' and IC_RESI_USER=#{icResiUserId}
select * from ${subTableName} where del_flag='0' and IC_RESI_USER=#{icResiUserId} and customer_id=#{customerId}
</select>
<select id="selectListResiMap" parameterType="map" resultType="map">
select
ic_resi_user.id as icResiUserId,
<foreach item="column" collection="resultColumns" open="" separator="," close="">
${column.columnName}
</foreach>
,
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
<if test="null != subTables and subTables.size() > 0">
<foreach item="subTableName" collection="subTables" open="" separator="" close="">
${subTableName}
</foreach>
</if>
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 )
WHERE
<!-- 公用where条件 -->
<sql id="listWhere">
ic_resi_user.DEL_FLAG = '0'
and ic_resi_user.customer_id=#{customerId}
<if test="null != conditions and conditions.size() > 0">
@ -87,7 +67,35 @@
</if>
</foreach>
</if>
</sql>
<!-- 查询列表用 -->
<select id="selectListResiMap" parameterType="map" resultType="map">
select
ic_resi_user.id as icResiUserId,
<foreach item="column" collection="resultColumns" open="" separator="," close="">
${column.columnName}
</foreach>
,
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
<if test="null != subTables and subTables.size() > 0">
<foreach item="subTableName" collection="subTables" open="" separator="" close="">
${subTableName}
</foreach>
</if>
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 )
<where>
<include refid="listWhere"></include>
</where>
group by IC_RESI_USER.id
order by ic_resi_user.CREATED_TIME desc
</select>
</mapper>

6
pom.xml

@ -97,11 +97,11 @@
</dependencyManagement>
<repositories>
<repository>
<!--<repository>
<id>mvnrepo</id>
<name>jianjun gitee</name>
<url>https://gitee.com/jianjun4833/easypoi.git/</url>
</repository>
<url>https://gitee.com/jianjun4833/mvnrepo/blob/master/</url>
</repository>-->
<repository>
<id>public</id>
<name>aliyun nexus</name>

Loading…
Cancel
Save