Browse Source

修改统计逻辑

dev
HAHA 3 years ago
parent
commit
8ea57b61ef
  1. 5
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/IcPartyMemberPointDTO.java
  2. 3
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/form/PartyMemberPointListFormDTO.java
  3. 31
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/PartyMemberPointListResultDTO.java
  4. 6
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberPointController.java
  5. 2
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/dao/IcPartyMemberPointDao.java
  6. 2
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/entity/IcPartyMemberEntity.java
  7. 58
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/excel/IcPartyMemberPointExcel.java
  8. 2
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/IcPartyMemberPointService.java
  9. 52
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/IcPartyMemberPointServiceImpl.java
  10. 11
      epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/IcPartyMemberPointDao.xml

5
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/IcPartyMemberPointDTO.java

@ -81,6 +81,11 @@ public class IcPartyMemberPointDTO implements Serializable {
*/ */
private String warnOptions; private String warnOptions;
/**
* 总分
*/
private Integer totalScore;
/** /**
* 删除标识0.未删除 1.已删除 * 删除标识0.未删除 1.已删除
*/ */

3
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/form/PartyMemberPointListFormDTO.java

@ -1,5 +1,6 @@
package com.epmet.resi.partymember.dto.partymember.form; package com.epmet.resi.partymember.dto.partymember.form;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -9,7 +10,7 @@ import java.io.Serializable;
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
public class PartyMemberPointListFormDTO implements Serializable { public class PartyMemberPointListFormDTO extends PageFormDTO implements Serializable {
private static final long serialVersionUID = 5659445492756209830L; private static final long serialVersionUID = 5659445492756209830L;

31
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/PartyMemberPointListResultDTO.java

@ -43,21 +43,41 @@ public class PartyMemberPointListResultDTO implements Serializable {
*/ */
private Integer basePoint; private Integer basePoint;
/**
* 基础选项
*/
private String baseOptions;
/** /**
* 民主评议积分分值 * 民主评议积分分值
*/ */
private Integer reviewPoint; private Integer reviewPoint;
/**
* 民主评议选项
*/
private String reviewOptions;
/** /**
* 激励积分分值 * 激励积分分值
*/ */
private Integer inspirePoint; private Integer inspirePoint;
/**
* 激励积分选项
*/
private String inspireOptions;
/** /**
* 警示扣分分值 * 警示扣分分值
*/ */
private Integer warnPoint; private Integer warnPoint;
/**
* 警示扣分选项
*/
private String warnOptions;
/** /**
* 备注 * 备注
*/ */
@ -68,4 +88,15 @@ public class PartyMemberPointListResultDTO implements Serializable {
*/ */
private String year; private String year;
/**
* 季度
*/
private Integer quarter;
/**
* id
*/
private String partyMemberId;
} }

6
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberPointController.java

@ -115,7 +115,7 @@ public class IcPartyMemberPointController {
* @date 2022/5/24 14:26 * @date 2022/5/24 14:26
*/ */
@PostMapping("export") @PostMapping("export")
public void export(@RequestBody PartyMemberExportFormDTO formDto,@LoginUser TokenDto tokenDto, HttpServletResponse response) throws Exception { public void export(@RequestBody PartyMemberPointListFormDTO formDto, @LoginUser TokenDto tokenDto, HttpServletResponse response) throws Exception {
formDto.setIsPage(false); formDto.setIsPage(false);
formDto.setPageSize(NumConstant.TEN_THOUSAND); formDto.setPageSize(NumConstant.TEN_THOUSAND);
@ -126,10 +126,10 @@ public class IcPartyMemberPointController {
try { try {
String fileName = "lhjf.xlsx"; String fileName = "lhjf.xlsx";
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), IcPartyMemberPointExcel.class).build(); excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), IcPartyMemberPointExcel.class).build();
PageData<PartyMemberPointExportResultDTO> page = null; PageData<PartyMemberPointListResultDTO> page = null;
WriteSheet writeSheet = EasyExcel.writerSheet("量化积分").registerWriteHandler(new FreezeAndFilter()).build(); WriteSheet writeSheet = EasyExcel.writerSheet("量化积分").registerWriteHandler(new FreezeAndFilter()).build();
do { do {
page = icPartyMemberPointService.getExport(formDto,tokenDto.getCustomerId()); page = icPartyMemberPointService.getExport(formDto, tokenDto);
List<IcPartyMemberPointExcel> list = ConvertUtils.sourceToTarget(page.getList(), IcPartyMemberPointExcel.class); List<IcPartyMemberPointExcel> list = ConvertUtils.sourceToTarget(page.getList(), IcPartyMemberPointExcel.class);
list.forEach(item -> { list.forEach(item -> {
item.setIndex(i.getAndIncrement()); item.setIndex(i.getAndIncrement());

2
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/dao/IcPartyMemberPointDao.java

@ -40,4 +40,6 @@ public interface IcPartyMemberPointDao extends BaseDao<IcPartyMemberPointEntity>
List<PartyMemberPointExportResultDTO> getExport(@Param("form") PartyMemberExportFormDTO form, List<PartyMemberPointExportResultDTO> getExport(@Param("form") PartyMemberExportFormDTO form,
@Param("customerId") String customerId); @Param("customerId") String customerId);
void updateMember(@Param("partyMemberId") String partyMemberId, @Param("totalScore") Integer totalScore);
} }

2
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/entity/IcPartyMemberEntity.java

@ -121,7 +121,7 @@ public class IcPartyMemberEntity extends BaseEpmetEntity {
/** /**
* 预留字段1 * 预留字段1
*/ */
private String field1; private Integer totalScore;
/** /**
* 预留字段2 * 预留字段2

58
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/excel/IcPartyMemberPointExcel.java

@ -4,6 +4,7 @@ import cn.afterturn.easypoi.excel.annotation.Excel;
import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ColumnWidth;
import kotlin.ExperimentalUnsignedTypes;
import lombok.Data; import lombok.Data;
import javax.validation.Valid; import javax.validation.Valid;
@ -32,46 +33,75 @@ public class IcPartyMemberPointExcel {
@ExcelProperty(value = "党员ID",order = 2) @ExcelProperty(value = "党员ID",order = 2)
private String partyMemberId; private String partyMemberId;
/**
* 所属党组织
*/
@ColumnWidth(20) @ColumnWidth(20)
@ExcelProperty(value = "年份",order = 3) @ExcelProperty(value = "所属党组织",order = 3)
private String year; private String partyOrg;
/**
* 姓名
*/
@ColumnWidth(20)
@ExcelProperty(value = "姓名",order = 4)
private String name;
/**
* 手机号
*/
@ColumnWidth(20)
@ExcelProperty(value = "手机号",order = 5)
private String mobile;
/**
* 身份证号
*/
@ColumnWidth(20)
@ExcelProperty(value = "身份证号",order = 6)
private String idCard;
@ColumnWidth(20) @ColumnWidth(20)
@ExcelProperty(value = "季度",order = 4) @ExcelProperty(value = "年份",order = 7)
private String year;
@ExcelIgnore
private String quarter; private String quarter;
@ColumnWidth(20) @ColumnWidth(20)
@ExcelProperty(value = "基础积分分值",order = 5) @ExcelProperty(value = "基础积分分值",order = 8)
private Integer basePoint; private Integer basePoint;
@ColumnWidth(20) @ExcelIgnore
@ExcelProperty(value = "基础积分选项 英文逗号隔开",order = 6)
private String baseOptions; private String baseOptions;
@ColumnWidth(20) @ColumnWidth(20)
@ExcelProperty(value = "民主评议积分分值",order = 7) @ExcelProperty(value = "民主评议积分分值",order = 9)
private Integer reviewPoint; private Integer reviewPoint;
@ColumnWidth(20) @ExcelIgnore
@ExcelProperty(value = "民主评议积分选项",order = 8)
private String reviewOptions; private String reviewOptions;
@ColumnWidth(20) @ColumnWidth(20)
@ExcelProperty(value = "激励积分分值",order = 9) @ExcelProperty(value = "激励积分分值",order = 10)
private Integer inspirePoint; private Integer inspirePoint;
@ColumnWidth(20) @ExcelIgnore
@ExcelProperty(value = "激励积分选项",order = 10)
private String inspireOptions; private String inspireOptions;
@ColumnWidth(20) @ColumnWidth(20)
@ExcelProperty(value = "警示扣分分值",order = 11) @ExcelProperty(value = "警示扣分分值",order = 11)
private Integer warnPoint; private Integer warnPoint;
@ColumnWidth(20) @ExcelIgnore
@ExcelProperty(value = "警示扣分选项",order = 12)
private String warnOptions; private String warnOptions;
@ColumnWidth(20)
@ExcelProperty(value = "总分" ,order = 12)
private Integer totalScore;
@ExcelIgnore @ExcelIgnore
private Integer delFlag; private Integer delFlag;

2
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/IcPartyMemberPointService.java

@ -113,5 +113,5 @@ public interface IcPartyMemberPointService extends BaseService<IcPartyMemberPoin
* @author LZN * @author LZN
* @date 2022/5/24 14:26 * @date 2022/5/24 14:26
*/ */
PageData<PartyMemberPointExportResultDTO> getExport(PartyMemberExportFormDTO form,String customerId); PageData<PartyMemberPointListResultDTO> getExport(PartyMemberPointListFormDTO form, TokenDto tokenDto);
} }

52
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/IcPartyMemberPointServiceImpl.java

@ -81,6 +81,13 @@ public class IcPartyMemberPointServiceImpl extends BaseServiceImpl<IcPartyMember
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void save(IcPartyMemberPointDTO dto) { public void save(IcPartyMemberPointDTO dto) {
IcPartyMemberPointEntity entity = ConvertUtils.sourceToTarget(dto, IcPartyMemberPointEntity.class); IcPartyMemberPointEntity entity = ConvertUtils.sourceToTarget(dto, IcPartyMemberPointEntity.class);
dto.setTotalScore(dto.getBasePoint() + dto.getInspirePoint() + dto.getReviewPoint());
if (dto.getWarnPoint() > 0) {
dto.setTotalScore(dto.getTotalScore() - dto.getWarnPoint());
} else {
dto.setTotalScore(dto.getTotalScore() + dto.getWarnPoint());
}
baseDao.updateMember(dto.getPartyMemberId(), dto.getTotalScore());
insert(entity); insert(entity);
} }
@ -111,36 +118,9 @@ public class IcPartyMemberPointServiceImpl extends BaseServiceImpl<IcPartyMember
public List<PartyMemberPointListResultDTO> getList(PartyMemberPointListFormDTO form, TokenDto tokenDto) { public List<PartyMemberPointListResultDTO> getList(PartyMemberPointListFormDTO form, TokenDto tokenDto) {
List<PartyMemberPointListResultDTO> dto = baseDao.getList(form.getIdCard(), form.getMobile(), form.getName(), List<PartyMemberPointListResultDTO> dto = baseDao.getList(form.getIdCard(), form.getMobile(), form.getName(),
form.getOrgId(), form.getYear(), tokenDto.getCustomerId()); form.getOrgId(), form.getYear(), tokenDto.getCustomerId());
List<PartyMemberPointListCountDTO> count = baseDao.getListCount(form.getYear(), tokenDto.getCustomerId()); dto.forEach(item -> {
// 处理统计的平均值 item.setTotalScore(item.getTotalScore() / item.getQuarter());
for (int i = 0; i < dto.size(); i++) { });
// 基础积分分值平均值
if (dto.get(i).getBasePoint() != null && count.get(i).getBasePointCount() != NumConstant.ZERO) {
dto.get(i).setBasePoint(dto.get(i).getBasePoint() / count.get(i).getBasePointCount());
} else {
dto.get(i).setBasePoint(NumConstant.ZERO);
}
// 民主评议积分分值
if (dto.get(i).getInspirePoint() != null && count.get(i).getInspirePointCount() != NumConstant.ZERO) {
dto.get(i).setInspirePoint(dto.get(i).getInspirePoint() / count.get(i).getInspirePointCount());
} else {
dto.get(i).setInspirePoint(NumConstant.ZERO);
}
// 激励积分分值
if (dto.get(i).getReviewPoint() != null && count.get(i).getReviewPointCount() != NumConstant.ZERO) {
dto.get(i).setReviewPoint(dto.get(i).getReviewPoint() / count.get(i).getReviewPointCount());
} else {
dto.get(i).setReviewPoint(NumConstant.ZERO);
}
// 警示扣分分值
if (dto.get(i).getWarnPoint() != null && count.get(i).getWarnPointCount() != NumConstant.ZERO) {
dto.get(i).setWarnPoint(dto.get(i).getWarnPoint() / count.get(i).getWarnPointCount());
} else {
dto.get(i).setWarnPoint(NumConstant.ZERO);
}
// 总分
dto.get(i).setTotalScore(dto.get(i).getBasePoint() + dto.get(i).getInspirePoint() + dto.get(i).getReviewPoint() + dto.get(i).getWarnPoint());
}
return dto; return dto;
} }
@ -167,11 +147,15 @@ public class IcPartyMemberPointServiceImpl extends BaseServiceImpl<IcPartyMember
* @date 2022/5/24 14:26 * @date 2022/5/24 14:26
*/ */
@Override @Override
public PageData<PartyMemberPointExportResultDTO> getExport(PartyMemberExportFormDTO form,String customerId) { public PageData<PartyMemberPointListResultDTO> getExport(PartyMemberPointListFormDTO form, TokenDto tokenDto) {
PageHelper.startPage(form.getPageNo(), form.getPageSize(), form.getIsPage()); PageHelper.startPage(form.getPageNo(), form.getPageSize(), form.getIsPage());
List<PartyMemberPointExportResultDTO> dto = baseDao.getExport(form,customerId); List<PartyMemberPointListResultDTO> dto = baseDao.getList(form.getIdCard(), form.getMobile(), form.getName(),
form.getOrgId(), form.getYear(), tokenDto.getCustomerId());
PageInfo<PartyMemberPointExportResultDTO> pageInfo = new PageInfo<>(dto); // 算总分
dto.forEach(item -> {
item.setTotalScore(item.getTotalScore() / item.getQuarter());
});
PageInfo<PartyMemberPointListResultDTO> pageInfo = new PageInfo<>(dto);
return new PageData<>(dto, pageInfo.getTotal()); return new PageData<>(dto, pageInfo.getTotal());
} }

11
epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/IcPartyMemberPointDao.xml

@ -2,17 +2,26 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.modules.partymember.dao.IcPartyMemberPointDao"> <mapper namespace="com.epmet.modules.partymember.dao.IcPartyMemberPointDao">
<update id="updateMember">
UPDATE ic_party_member
SET TOTAL_SCORE = #{totalScore}
WHERE
id = #{partyMemberId}
</update>
<select id="getList" <select id="getList"
resultType="com.epmet.resi.partymember.dto.partymember.result.PartyMemberPointListResultDTO"> resultType="com.epmet.resi.partymember.dto.partymember.result.PartyMemberPointListResultDTO">
SELECT SELECT
a.year,
a.PARTY_MEMBER_ID,
sum( a.total_score ) as totalScore,
count(a.QUARTER) as quarter,
c.PARTY_ORG_NAME as partyOrg, c.PARTY_ORG_NAME as partyOrg,
u.NAME, u.NAME,
u.MOBILE, u.MOBILE,
u.ID_CARD, u.ID_CARD,
u.REMARK, u.REMARK,
a.year,
sum( a.BASE_POINT ) AS BasePoint, sum( a.BASE_POINT ) AS BasePoint,
sum( a.REVIEW_POINT ) AS reviewPoint, sum( a.REVIEW_POINT ) AS reviewPoint,
sum( a.INSPIRE_POINT ) AS inspirePoint, sum( a.INSPIRE_POINT ) AS inspirePoint,

Loading…
Cancel
Save