Browse Source

daochu

master
yinzuomei 3 years ago
parent
commit
d4c17337eb
  1. 2
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/icpartyact/result/IcPartyActDetailResDTO.java
  2. 14
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/icpartyact/result/IcPartyActPageResultDTO.java
  3. 65
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/controller/IcPartyActController.java
  4. 79
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/excel/IcPartyActExpoprtExcel.java
  5. 5
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/service/impl/IcPartyActServiceImpl.java
  6. 13
      epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partyOrg/IcPartyActDao.xml

2
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/icpartyact/result/IcPartyActDetailResDTO.java

@ -5,7 +5,6 @@ import com.epmet.resi.partymember.dto.icpartyact.form.JoinOrgDTO;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import javax.validation.Valid;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@ -115,7 +114,6 @@ public class IcPartyActDetailResDTO implements Serializable {
/**
* 参加活动党组织
*/
@Valid
private List<JoinOrgDTO> joinOrgList;
/**

14
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/icpartyact/result/IcPartyActPageResultDTO.java

@ -1,10 +1,12 @@
package com.epmet.resi.partymember.dto.icpartyact.result;
import com.epmet.resi.partymember.dto.icpartyact.form.JoinOrgDTO;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* @Description
@ -62,6 +64,18 @@ public class IcPartyActPageResultDTO implements Serializable {
*/
private String publishStaffId;
//以下返参,用于导出
/**
* 是否发布0未发布1已发布
* 返回名称
*/
private String isPublishName;
/**
* 参加人员类型0全体党员1支部委员
*/
private String joinUserType;
private String joinUserTypeName;
private List<JoinOrgDTO> joinOrgList;
}

65
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/controller/IcPartyActController.java

@ -1,11 +1,24 @@
package com.epmet.modules.partyOrg.controller;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
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.dto.form.PageFormDTO;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.modules.partyOrg.excel.IcPartyActExpoprtExcel;
import com.epmet.modules.partyOrg.service.IcPartyActService;
import com.epmet.resi.partymember.dto.icpartyact.form.BatchAddPartyActFormDTO;
import com.epmet.resi.partymember.dto.icpartyact.form.IcPartyActAddOrUpdateFormDTO;
@ -19,13 +32,19 @@ import com.epmet.resi.partymember.dto.partyOrg.form.YearSearchFormDTO;
import com.epmet.resi.partymember.dto.partyOrg.result.ActAndScheduleListResultDTO;
import com.epmet.resi.partymember.dto.partyOrg.result.HomeMonthTotalResultDTO;
import com.epmet.resi.partymember.dto.partyOrg.result.YearSearchResultDTO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@ -34,6 +53,7 @@ import java.util.Map;
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-18
*/
@Slf4j
@RestController
@RequestMapping("icPartyAct")
public class IcPartyActController {
@ -47,6 +67,7 @@ public class IcPartyActController {
* @param formDTO
* @return
*/
@NoRepeatSubmit
@PostMapping("addOrUpdate")
public Result<Map<String,String>> addOrUpdate(@LoginUser TokenDto tokenDto,@RequestBody IcPartyActAddOrUpdateFormDTO formDTO){
formDTO.setCustomerId(tokenDto.getCustomerId());
@ -68,6 +89,7 @@ public class IcPartyActController {
* @param formDTO
* @return
*/
@NoRepeatSubmit
@PostMapping("batch-add")
public Result batchAdd(@LoginUser TokenDto tokenDto,@RequestBody BatchAddPartyActFormDTO formDTO){
formDTO.getActList().forEach(dto->{
@ -178,6 +200,7 @@ public class IcPartyActController {
* @param icPartyActId
* @return
*/
@NoRepeatSubmit
@PostMapping("publish/{icPartyActId}")
public Result publicshIcPartyAct(@LoginUser TokenDto tokenDto,@PathVariable("icPartyActId")String icPartyActId){
icPartyActService.publicshIcPartyAct(tokenDto.getUserId(),icPartyActId);
@ -193,6 +216,7 @@ public class IcPartyActController {
* @param icPartyActIds
* @return
*/
@NoRepeatSubmit
@PostMapping("del")
public Result deleteIcPartyAct(@LoginUser TokenDto tokenDto,@RequestBody List<String> icPartyActIds){
if(CollectionUtils.isNotEmpty(icPartyActIds)){
@ -215,4 +239,45 @@ public class IcPartyActController {
return new Result<List<YearSearchResultDTO>>().ok(icPartyActService.yearSearch(formDTO));
}
@NoRepeatSubmit
@PostMapping("/export-act")
public void export(@LoginUser TokenDto tokenDto, @RequestBody IcPartyActPageFormDTO formDTO, HttpServletResponse response) throws IOException {
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setPublishStaffId(tokenDto.getUserId());
formDTO.setIsPage(false);
ExcelWriter excelWriter = null;
formDTO.setPageNo(NumConstant.ONE);
formDTO.setPageSize(NumConstant.TEN_THOUSAND);
try {
String fileName = "党组织活动" + DateUtils.format(new Date()) + ".xlsx";
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), IcPartyActExpoprtExcel.class).build();
WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build();
PageData<IcPartyActPageResultDTO> data = null;
List<IcPartyActExpoprtExcel> list = null;
do {
data = icPartyActService.pageList(formDTO);
list = ConvertUtils.sourceToTarget(data.getList(), IcPartyActExpoprtExcel.class);
list.forEach(l->{
List<String> orgNameList = l.getJoinOrgList().stream().map(m -> m.getJoinOrgName()).distinct().collect(Collectors.toList());
l.setJoinOrgNameStr(orgNameList.stream().map(String::valueOf).collect(Collectors.joining(",")));
});
formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE);
excelWriter.write(list, writeSheet);
} while (CollectionUtils.isNotEmpty(list) && list.size() == formDTO.getPageSize());
} catch (EpmetException e) {
response.reset();
response.setCharacterEncoding("UTF-8");
response.setHeader("content-type", "application/json; charset=UTF-8");
PrintWriter printWriter = response.getWriter();
Result<Object> result = new Result<>().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),e.getMsg());
printWriter.write(JSON.toJSONString(result));
printWriter.close();
} catch (Exception e) {
log.error("export exception", e);
} finally {
if (excelWriter != null) {
excelWriter.finish();
}
}
}
}

79
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/excel/IcPartyActExpoprtExcel.java

@ -0,0 +1,79 @@
package com.epmet.modules.partyOrg.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.epmet.resi.partymember.dto.icpartyact.form.JoinOrgDTO;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @Description
* @Author yzm
* @Date 2022/8/22 12:48
*/
@Data
public class IcPartyActExpoprtExcel {
/**
* 活动主题
*/
@ExcelProperty(value = "活动主题")
@ColumnWidth(20)
private String topic;
/**
* 发布活动党组织名称
*/
@ExcelProperty(value = "所属组织")
@ColumnWidth(20)
private String publishPartyOrgName;
/**
* 活动发布人姓名
*/
@ExcelProperty(value = "发布人")
@ColumnWidth(10)
private String publishStaffName;
/**
* 活动类型来源于ic_party_act_type_dict
*/
@ExcelProperty(value = "活动类型")
@ColumnWidth(15)
private String actTypeName;
/**
* 举办活动时间
*/
@ExcelProperty(value = "活动开始时间")
@ColumnWidth(20)
@DateTimeFormat("yyyy-MM-dd HH:mm:ss")
private Date holdTime;
/**
* 活动地点
*/
@ExcelProperty(value = "活动地点")
@ColumnWidth(25)
private String address;
/**
* 是否发布0未发布1已发布
*/
@ExcelProperty(value = "发布状态")
@ColumnWidth(8)
private String isPublishName;
@ExcelProperty(value = "参加人员")
@ColumnWidth(8)
private String joinUserTypeName;
@ExcelProperty(value = "参加活动党组织")
@ColumnWidth(40)
private String joinOrgNameStr;
private List<JoinOrgDTO> joinOrgList;
}

5
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/service/impl/IcPartyActServiceImpl.java

@ -235,6 +235,11 @@ public class IcPartyActServiceImpl extends BaseServiceImpl<IcPartyActDao, IcPart
formDTO.setStaffAgencyId(staffInfo.getAgencyId());
PageInfo<IcPartyActPageResultDTO> pageInfo = PageHelper.startPage(formDTO.getPageNo(),
formDTO.getPageSize(), formDTO.getIsPage()).doSelectPageInfo(() -> baseDao.selectPageList(formDTO));
if(!formDTO.getIsPage()){
pageInfo.getList().forEach(l->{
l.setJoinOrgList(icPartyActOrgDao.selectJoinOrgList(l.getIcPartyActId()));
});
}
return new PageData<>(pageInfo.getList(), pageInfo.getTotal());
}

13
epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partyOrg/IcPartyActDao.xml

@ -96,7 +96,18 @@
a.HOLD_TIME,
a.ADDRESS,
a.IS_PUBLISH,
a.PUBLISH_STAFF_ID
a.PUBLISH_STAFF_ID,
(case when a.IS_PUBLISH='0' then '未发布'
when a.IS_PUBLISH='1' then '已发布'
else ''
end
)as isPublishName,
a.JOIN_USER_TYPE as joinUserType,
(case when a.JOIN_USER_TYPE='0' then '全体党员'
when a.JOIN_USER_TYPE='1' then '支部委员'
else ''
end
)as joinUserTypeName
FROM
ic_party_act a
LEFT JOIN ic_party_act_type_dict d ON ( a.ACT_TYPE = d.TYPE_KEY and a.customer_id=d.customer_id)

Loading…
Cancel
Save