Browse Source

量化积分统计

dev
HAHA 3 years ago
parent
commit
f5029a74c4
  1. 35
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/PartyMemberPointListCountDTO.java
  2. 41
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/form/PartyMemberPointListFormDTO.java
  3. 71
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/PartyMemberPointListResultDTO.java
  4. 32
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberPointController.java
  5. 12
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/dao/IcPartyMemberPointDao.java
  6. 5
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/entity/IcPartyMemberPointEntity.java
  7. 14
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/IcPartyMemberPointService.java
  8. 46
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/IcPartyMemberPointServiceImpl.java
  9. 91
      epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/IcPartyMemberPointDao.xml

35
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/PartyMemberPointListCountDTO.java

@ -0,0 +1,35 @@
package com.epmet.resi.partymember.dto.partymember;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PartyMemberPointListCountDTO implements Serializable {
private static final long serialVersionUID = -8960345656247021278L;
/**
* 基础积分分值次数
*/
private Integer basePointCount;
/**
* 民主评议积分分值次数
*/
private Integer reviewPointCount;
/**
* 激励积分分值次数
*/
private Integer inspirePointCount;
/**
* 警示扣分分值次数
*/
private Integer warnPointCount;
}

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

@ -0,0 +1,41 @@
package com.epmet.resi.partymember.dto.partymember.form;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PartyMemberPointListFormDTO implements Serializable {
private static final long serialVersionUID = 5659445492756209830L;
/**
* 所属党组织id
*/
private String orgId;
/**
* 姓名
*/
private String name;
/**
* 手机号
*/
private String mobile;
/**
* 身份证号
*/
private String idCard;
/**
* 评分年度
*/
private String year;
}

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

@ -0,0 +1,71 @@
package com.epmet.resi.partymember.dto.partymember.result;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PartyMemberPointListResultDTO implements Serializable {
private static final long serialVersionUID = 5867583472212661940L;
/**
* 所属党组织
*/
private String partyOrg;
/**
* 姓名
*/
private String name;
/**
* 手机号
*/
private String mobile;
/**
* 身份证号
*/
private String idCard;
/**
* 总分
*/
private Integer TotalScore;
/**
*基础积分分值
*/
private Integer basePoint;
/**
* 民主评议积分分值
*/
private Integer reviewPoint;
/**
* 激励积分分值
*/
private Integer inspirePoint;
/**
* 警示扣分分值
*/
private Integer warnPoint;
/**
* 备注
*/
private String Remark;
/**
* 年度
*/
private String year;
}

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

@ -7,12 +7,14 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup; 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.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.modules.partymember.excel.IcPartyMemberPointExcel; import com.epmet.modules.partymember.excel.IcPartyMemberPointExcel;
import com.epmet.modules.partymember.service.IcPartyMemberPointService; import com.epmet.modules.partymember.service.IcPartyMemberPointService;
import com.epmet.resi.partymember.dto.partymember.IcPartyMemberPointDTO; import com.epmet.resi.partymember.dto.partymember.IcPartyMemberPointDTO;
import com.epmet.resi.partymember.dto.partymember.PartyMemberPointListCountDTO;
import com.epmet.resi.partymember.dto.partymember.form.PartyMemberPointListFormDTO;
import com.epmet.resi.partymember.dto.partymember.result.PartyMemberPointListResultDTO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -35,20 +37,20 @@ public class IcPartyMemberPointController {
private IcPartyMemberPointService icPartyMemberPointService; private IcPartyMemberPointService icPartyMemberPointService;
@RequestMapping("page") @RequestMapping("page")
public Result<PageData<IcPartyMemberPointDTO>> page(@RequestParam Map<String, Object> params){ public Result<PageData<IcPartyMemberPointDTO>> page(@RequestParam Map<String, Object> params) {
PageData<IcPartyMemberPointDTO> page = icPartyMemberPointService.page(params); PageData<IcPartyMemberPointDTO> page = icPartyMemberPointService.page(params);
return new Result<PageData<IcPartyMemberPointDTO>>().ok(page); return new Result<PageData<IcPartyMemberPointDTO>>().ok(page);
} }
@RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) @RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET})
public Result<IcPartyMemberPointDTO> get(@PathVariable("id") String id){ public Result<IcPartyMemberPointDTO> get(@PathVariable("id") String id) {
IcPartyMemberPointDTO data = icPartyMemberPointService.get(id); IcPartyMemberPointDTO data = icPartyMemberPointService.get(id);
return new Result<IcPartyMemberPointDTO>().ok(data); return new Result<IcPartyMemberPointDTO>().ok(data);
} }
@NoRepeatSubmit @NoRepeatSubmit
@PostMapping("save") @PostMapping("save")
public Result save(@RequestBody IcPartyMemberPointDTO dto){ public Result save(@RequestBody IcPartyMemberPointDTO dto) {
//效验数据 //效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
icPartyMemberPointService.save(dto); icPartyMemberPointService.save(dto);
@ -57,7 +59,7 @@ public class IcPartyMemberPointController {
@NoRepeatSubmit @NoRepeatSubmit
@PostMapping("update") @PostMapping("update")
public Result update(@RequestBody IcPartyMemberPointDTO dto){ public Result update(@RequestBody IcPartyMemberPointDTO dto) {
//效验数据 //效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
icPartyMemberPointService.update(dto); icPartyMemberPointService.update(dto);
@ -65,7 +67,7 @@ public class IcPartyMemberPointController {
} }
@PostMapping("delete") @PostMapping("delete")
public Result delete(@RequestBody String[] ids){ public Result delete(@RequestBody String[] ids) {
//效验数据 //效验数据
AssertUtils.isArrayEmpty(ids, "id"); AssertUtils.isArrayEmpty(ids, "id");
icPartyMemberPointService.delete(ids); icPartyMemberPointService.delete(ids);
@ -78,6 +80,18 @@ public class IcPartyMemberPointController {
ExcelUtils.exportExcelToTarget(response, null, list, IcPartyMemberPointExcel.class); ExcelUtils.exportExcelToTarget(response, null, list, IcPartyMemberPointExcel.class);
} }
/**
* 量化积分统计
*
* @param form
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.resi.partymember.dto.partymember.result.PartyMemberPointListResultDTO>>
* @author LZN
* @date 2022/5/17 17:19
*/
@PostMapping("getList")
public Result<List<PartyMemberPointListResultDTO>> getList(@RequestBody PartyMemberPointListFormDTO form){
List<PartyMemberPointListResultDTO> dto = icPartyMemberPointService.getList(form);
return new Result<List<PartyMemberPointListResultDTO>>().ok(dto);
}
} }

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

@ -3,7 +3,12 @@ package com.epmet.modules.partymember.dao;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.modules.partymember.entity.IcPartyMemberPointEntity; import com.epmet.modules.partymember.entity.IcPartyMemberPointEntity;
import com.epmet.resi.partymember.dto.partymember.PartyMemberPointListCountDTO;
import com.epmet.resi.partymember.dto.partymember.result.PartyMemberPointListResultDTO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* 党员量化积分表 * 党员量化积分表
@ -14,4 +19,11 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface IcPartyMemberPointDao extends BaseDao<IcPartyMemberPointEntity> { public interface IcPartyMemberPointDao extends BaseDao<IcPartyMemberPointEntity> {
List<PartyMemberPointListResultDTO> getList(@Param("idCard") String idCard,
@Param("mobile") String mobile,
@Param("name") String name,
@Param("orgId") String orgId,
@Param("year") String year);
List<PartyMemberPointListCountDTO> getListCount(@Param("year") String year);
} }

5
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/entity/IcPartyMemberPointEntity.java

@ -81,4 +81,9 @@ public class IcPartyMemberPointEntity extends BaseEpmetEntity {
*/ */
private String warnOptions; private String warnOptions;
/**
* 总分
*/
private Integer totalScore;
} }

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

@ -4,6 +4,9 @@ import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.modules.partymember.entity.IcPartyMemberPointEntity; import com.epmet.modules.partymember.entity.IcPartyMemberPointEntity;
import com.epmet.resi.partymember.dto.partymember.IcPartyMemberPointDTO; import com.epmet.resi.partymember.dto.partymember.IcPartyMemberPointDTO;
import com.epmet.resi.partymember.dto.partymember.PartyMemberPointListCountDTO;
import com.epmet.resi.partymember.dto.partymember.form.PartyMemberPointListFormDTO;
import com.epmet.resi.partymember.dto.partymember.result.PartyMemberPointListResultDTO;
import java.util.List; import java.util.List;
@ -76,4 +79,15 @@ public interface IcPartyMemberPointService extends BaseService<IcPartyMemberPoin
* @date 2022-05-17 * @date 2022-05-17
*/ */
void delete(String[] ids); void delete(String[] ids);
/**
* 量化积分统计
*
* @param form
* @return java.util.List<com.epmet.resi.partymember.dto.partymember.result.PartyMemberPointListResultDTO>
* @author LZN
* @date 2022/5/17 17:19
*/
List<PartyMemberPointListResultDTO> getList(PartyMemberPointListFormDTO form);
} }

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

@ -3,6 +3,7 @@ package com.epmet.modules.partymember.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.FieldConstant;
@ -12,6 +13,9 @@ import com.epmet.modules.partymember.entity.IcPartyMemberPointEntity;
import com.epmet.modules.partymember.redis.IcPartyMemberPointRedis; import com.epmet.modules.partymember.redis.IcPartyMemberPointRedis;
import com.epmet.modules.partymember.service.IcPartyMemberPointService; import com.epmet.modules.partymember.service.IcPartyMemberPointService;
import com.epmet.resi.partymember.dto.partymember.IcPartyMemberPointDTO; import com.epmet.resi.partymember.dto.partymember.IcPartyMemberPointDTO;
import com.epmet.resi.partymember.dto.partymember.PartyMemberPointListCountDTO;
import com.epmet.resi.partymember.dto.partymember.form.PartyMemberPointListFormDTO;
import com.epmet.resi.partymember.dto.partymember.result.PartyMemberPointListResultDTO;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -49,8 +53,8 @@ public class IcPartyMemberPointServiceImpl extends BaseServiceImpl<IcPartyMember
return ConvertUtils.sourceToTarget(entityList, IcPartyMemberPointDTO.class); return ConvertUtils.sourceToTarget(entityList, IcPartyMemberPointDTO.class);
} }
private QueryWrapper<IcPartyMemberPointEntity> getWrapper(Map<String, Object> params){ private QueryWrapper<IcPartyMemberPointEntity> getWrapper(Map<String, Object> params) {
String id = (String)params.get(FieldConstant.ID_HUMP); String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper<IcPartyMemberPointEntity> wrapper = new QueryWrapper<>(); QueryWrapper<IcPartyMemberPointEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
@ -85,4 +89,42 @@ public class IcPartyMemberPointServiceImpl extends BaseServiceImpl<IcPartyMember
baseDao.deleteBatchIds(Arrays.asList(ids)); baseDao.deleteBatchIds(Arrays.asList(ids));
} }
@Override
public List<PartyMemberPointListResultDTO> getList(PartyMemberPointListFormDTO form) {
List<PartyMemberPointListResultDTO> dto = baseDao.getList(form.getIdCard(), form.getMobile(), form.getName(),
form.getOrgId(), form.getYear());
List<PartyMemberPointListCountDTO> count = baseDao.getListCount(form.getYear());
// 处理统计的平均值
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;
}
} }

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

@ -3,27 +3,76 @@
<mapper namespace="com.epmet.modules.partymember.dao.IcPartyMemberPointDao"> <mapper namespace="com.epmet.modules.partymember.dao.IcPartyMemberPointDao">
<resultMap type="com.epmet.entity.IcPartyMemberPointEntity" id="icPartyMemberPointMap">
<result property="id" column="ID"/> <select id="getList"
<result property="customerId" column="CUSTOMER_ID"/> resultType="com.epmet.resi.partymember.dto.partymember.result.PartyMemberPointListResultDTO">
<result property="partyMemberId" column="PARTY_MEMBER_ID"/> SELECT
<result property="year" column="YEAR"/> c.PARTY_ORG_NAME as partyOrg,
<result property="quarter" column="QUARTER"/> u.NAME,
<result property="basePoint" column="BASE_POINT"/> u.MOBILE,
<result property="baseOptions" column="BASE_OPTIONS"/> u.ID_CARD,
<result property="reviewPoint" column="REVIEW_POINT"/> u.REMARK,
<result property="reviewOptions" column="REVIEW_OPTIONS"/> a.year,
<result property="inspirePoint" column="INSPIRE_POINT"/> sum( a.BASE_POINT ) AS BasePoint,
<result property="inspireOptions" column="INSPIRE_OPTIONS"/> sum( a.REVIEW_POINT ) AS reviewPoint,
<result property="warnPoint" column="WARN_POINT"/> sum( a.INSPIRE_POINT ) AS inspirePoint,
<result property="warnOptions" column="WARN_OPTIONS"/> sum( a.WARN_POINT ) AS warnPoint
<result property="delFlag" column="DEL_FLAG"/> FROM
<result property="revision" column="REVISION"/> ic_party_member u
<result property="createdBy" column="CREATED_BY"/> LEFT JOIN ic_party_member_point a ON a.PARTY_MEMBER_ID = u.id
<result property="createdTime" column="CREATED_TIME"/> AND a.DEL_FLAG = '0'
<result property="updatedBy" column="UPDATED_BY"/> LEFT JOIN ic_party_org c ON c.id = u.sszb
<result property="updatedTime" column="UPDATED_TIME"/> AND c.DEL_FLAG = '0'
</resultMap> <where>
u.DEL_FLAG = '0'
<if test="name != null and name != ''">
AND u.NAME = #{name}
</if>
<if test="mobile != null and mobile != ''">
AND u.MOBILE = #{mobile}
</if>
<if test="idCard != null and idCard != ''">
AND u.ID_CARD = #{idCard}
</if>
<if test="year != null and year != ''">
AND a.YEAR = #{year}
</if>
<if test="orgId != null and orgId != ''">
AND c.id = #{orgId}
</if>
</where>
GROUP BY u.ID
ORDER BY
a.YEAR DESC,
u.sszb ASC,
a.total_score ASC,
a.CREATED_TIME
</select>
<select id="getListCount"
resultType="com.epmet.resi.partymember.dto.partymember.PartyMemberPointListCountDTO">
SELECT
count( a.BASE_POINT ) AS basePointCount,
count( a.REVIEW_POINT ) AS reviewPointCount,
count( a.INSPIRE_POINT ) AS inspirePointCount,
count( a.WARN_POINT ) AS warnPointCount
FROM
ic_party_member u
LEFT JOIN ic_party_member_point a ON a.PARTY_MEMBER_ID = u.id
AND a.DEL_FLAG = '0'
<where>
u.DEL_FLAG = '0'
<if test="year != null and year != ''">
AND a.year = #{year}
</if>
</where>
GROUP BY
u.id
ORDER BY
a.YEAR DESC,
u.sszb ASC,
a.total_score ASC,
a.CREATED_TIME
</select>
</mapper> </mapper>
Loading…
Cancel
Save