Merge remote-tracking branch 'origin/main'

main
wanglei 6 months ago
commit decfea6f01

@ -0,0 +1,61 @@
# 数据源配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
druid:
# 主库数据源
master:
url: jdbc:mysql://localhost:3306/kaohe?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: kaohe
password: YTxpN2teMKfBmGNM
# 从库数据源
slave:
# 从数据源开关/默认关闭
enabled: false
url:
username:
password:
# 初始连接数
initialSize: 5
# 最小连接池数量
minIdle: 10
# 最大连接池数量
maxActive: 20
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置连接超时时间
connectTimeout: 30000
# 配置网络超时时间
socketTimeout: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
# 配置一个连接在池中最大生存的时间,单位是毫秒
maxEvictableIdleTimeMillis: 900000
# 配置检测连接是否有效
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
webStatFilter:
enabled: true
statViewServlet:
enabled: true
# 设置白名单,不填则允许所有访问
allow:
url-pattern: /druid/*
# 控制台管理用户名和密码
login-username: ruoyi
login-password: 123456
filter:
stat:
enabled: true
# 慢SQL记录
log-slow-sql: true
slow-sql-millis: 1000
merge-sql: true
wall:
config:
multi-statement-allow: true

@ -1,5 +1,6 @@
package com.ruoyi.kaohe.controller; package com.ruoyi.kaohe.controller;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@ -128,6 +129,7 @@ public class KhVoteController extends BaseController {
KhPcEmp query = new KhPcEmp(); KhPcEmp query = new KhPcEmp();
query.setPcId(khVote.getPingceId()); query.setPcId(khVote.getPingceId());
List<KhPcEmp> pcEmps = pcEmpService.selectKhPcEmpList(query); List<KhPcEmp> pcEmps = pcEmpService.selectKhPcEmpList(query);
BigDecimal initv= new BigDecimal("O");
for (KhPcEmp pcEmp : pcEmps) { for (KhPcEmp pcEmp : pcEmps) {
//新增投票选项关联表 //新增投票选项关联表
KhVoteEmp voteEmp = new KhVoteEmp(); KhVoteEmp voteEmp = new KhVoteEmp();
@ -137,6 +139,12 @@ public class KhVoteController extends BaseController {
voteEmp.setVoteTitle(khVote.getVoteTitle()); voteEmp.setVoteTitle(khVote.getVoteTitle());
voteEmp.setPercentage(khVote.getPercentage()); voteEmp.setPercentage(khVote.getPercentage());
voteEmp.setKhitemTypeid(khVote.getKhitemTypeid()); voteEmp.setKhitemTypeid(khVote.getKhitemTypeid());
if(khVote.getKhitemTypeid().equals(1L)){
voteEmp.setOptionA(initv);
voteEmp.setOptionB(initv);
voteEmp.setOptionC(initv);
voteEmp.setOptionD(initv);
}
voteEmpService.insertKhVoteEmp(voteEmp); voteEmpService.insertKhVoteEmp(voteEmp);
} }
return AjaxResult.success(); return AjaxResult.success();

@ -2,6 +2,8 @@ package com.ruoyi.kaohe.controller;
import java.util.List; import java.util.List;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.ruoyi.kaohe.domain.KhVoteRecardParam;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
@ -91,6 +93,17 @@ public class KhVoteEmpController extends BaseController
return toAjax(khVoteEmpService.updateKhVoteEmp(khVoteEmp)); return toAjax(khVoteEmpService.updateKhVoteEmp(khVoteEmp));
} }
/**
*
*/
@PreAuthorize("@ss.hasPermi('kaohe:vote_emp:edit')")
@Log(title = "投票选项", businessType = BusinessType.UPDATE)
@PutMapping("/voteSubmit")
public AjaxResult voteSubmit(@RequestBody KhVoteRecardParam param)
{
return khVoteEmpService.voteSubmit(param);
}
/** /**
* *
*/ */

@ -45,27 +45,27 @@ public class KhVoteEmp extends BaseEntity
/** 优秀 */ /** 优秀 */
@Excel(name = "优秀") @Excel(name = "优秀")
private Long optionA; private BigDecimal optionA;
/** 合格 */ /** 合格 */
@Excel(name = "合格") @Excel(name = "合格")
private Long optionB; private BigDecimal optionB;
/** 基本合格 */ /** 基本合格 */
@Excel(name = "基本合格") @Excel(name = "基本合格")
private Long optionC; private BigDecimal optionC;
/** 不合格 */ /** 不合格 */
@Excel(name = "不合格") @Excel(name = "不合格")
private Long optionD; private BigDecimal optionD;
/** 投票人数 */ /** 投票人数 */
@Excel(name = "投票人数") @Excel(name = "投票人数")
private Long voteNum; private BigDecimal voteNum;
/** 总分数 */ /** 总分数 */
@Excel(name = "总分数") @Excel(name = "总分数")
private Long voteScore; private BigDecimal voteScore;
/** 平均分数 */ /** 平均分数 */
@Excel(name = "平均分数") @Excel(name = "平均分数")
@ -77,7 +77,18 @@ public class KhVoteEmp extends BaseEntity
/** 最终分数 */ /** 最终分数 */
@Excel(name = "最终分数") @Excel(name = "最终分数")
private Long endScore; private BigDecimal endScore;
//仅做参数 传递本次评分分数
private BigDecimal score;
public BigDecimal getScore() {
return score;
}
public void setScore(BigDecimal score) {
this.score = score;
}
public void setId(Long id) public void setId(Long id)
{ {
@ -149,25 +160,7 @@ public class KhVoteEmp extends BaseEntity
return content; return content;
} }
public void setVoteNum(Long voteNum)
{
this.voteNum = voteNum;
}
public Long getVoteNum()
{
return voteNum;
}
public void setVoteScore(Long voteScore)
{
this.voteScore = voteScore;
}
public Long getVoteScore()
{
return voteScore;
}
public void setAvgScore(BigDecimal avgScore) public void setAvgScore(BigDecimal avgScore)
{ {
@ -189,48 +182,62 @@ public class KhVoteEmp extends BaseEntity
return percentage; return percentage;
} }
public void setEndScore(Long endScore) public BigDecimal getOptionA() {
{
this.endScore = endScore;
}
public Long getEndScore()
{
return endScore;
}
public Long getOptionA() {
return optionA; return optionA;
} }
public void setOptionA(Long optionA) { public void setOptionA(BigDecimal optionA) {
this.optionA = optionA; this.optionA = optionA;
} }
public Long getOptionB() { public BigDecimal getOptionB() {
return optionB; return optionB;
} }
public void setOptionB(Long optionB) { public void setOptionB(BigDecimal optionB) {
this.optionB = optionB; this.optionB = optionB;
} }
public Long getOptionC() { public BigDecimal getOptionC() {
return optionC; return optionC;
} }
public void setOptionC(Long optionC) { public void setOptionC(BigDecimal optionC) {
this.optionC = optionC; this.optionC = optionC;
} }
public Long getOptionD() { public BigDecimal getOptionD() {
return optionD; return optionD;
} }
public void setOptionD(Long optionD) { public void setOptionD(BigDecimal optionD) {
this.optionD = optionD; this.optionD = optionD;
} }
public BigDecimal getVoteNum() {
return voteNum;
}
public void setVoteNum(BigDecimal voteNum) {
this.voteNum = voteNum;
}
public BigDecimal getVoteScore() {
return voteScore;
}
public void setVoteScore(BigDecimal voteScore) {
this.voteScore = voteScore;
}
public BigDecimal getEndScore() {
return endScore;
}
public void setEndScore(BigDecimal endScore) {
this.endScore = endScore;
}
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

@ -1,19 +1,17 @@
package com.ruoyi.kaohe.domain; package com.ruoyi.kaohe.domain;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity; import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;
/** /**
* kh_vote_recard * kh_vote_recard
* *
* @author hs * @author hs
* @date 2025-06-17 * @date 2025-07-04
*/ */
public class KhVoteRecard extends BaseEntity public class KhVoteRecard extends BaseEntity
{ {
@ -22,42 +20,45 @@ public class KhVoteRecard extends BaseEntity
/** 主键 */ /** 主键 */
private Long id; private Long id;
/** 评测id */
@Excel(name = "评测id")
private Long pcId;
/** 考核项id */
@Excel(name = "考核项id")
private Long khitemId;
/** 投票活动id */ /** 投票活动id */
@Excel(name = "投票活动id") @Excel(name = "投票活动id")
private Long voteId; private Long voteId;
/** 投票人id */
@Excel(name = "投票人id")
private Long tpEmpId;
/** 投票人 */
@Excel(name = "投票人")
private String tpEmpName;
/** 用户id */ /** 用户id */
@Excel(name = "用户id") @Excel(name = "用户id")
private Long userId; private Long userId;
/** 被投人id */ /** 用户名 */
@Excel(name = "被投人id") @Excel(name = "用户名")
private Long voteEmpId; private String userName;
/** 投人 */ /** uid */
@Excel(name = "投人") @Excel(name = "uid")
private String voteEmpName; private String uid;
/** 投票分数 */ /** 投票人 */
@Excel(name = "投票分数") @Excel(name = "投票人")
private BigDecimal voteScore; private String tprName;
/** 评分详情 */
@Excel(name = "评分详情")
private String voteDetails;
/** 投票时间 */ /** 投票时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "投票时间", width = 30, dateFormat = "yyyy-MM-dd")
@Excel(name = "投票时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date voteTime; private Date voteTime;
/** IP地址 */ /** IP */
@Excel(name = "IP地址") @Excel(name = "IP")
private String ipAddress; private String ipAddress;
public void setId(Long id) public void setId(Long id)
@ -70,34 +71,34 @@ public class KhVoteRecard extends BaseEntity
return id; return id;
} }
public void setVoteId(Long voteId) public void setPcId(Long pcId)
{ {
this.voteId = voteId; this.pcId = pcId;
} }
public Long getVoteId() public Long getPcId()
{ {
return voteId; return pcId;
} }
public void setTpEmpId(Long tpEmpId) public void setKhitemId(Long khitemId)
{ {
this.tpEmpId = tpEmpId; this.khitemId = khitemId;
} }
public Long getTpEmpId() public Long getKhitemId()
{ {
return tpEmpId; return khitemId;
} }
public void setTpEmpName(String tpEmpName) public void setVoteId(Long voteId)
{ {
this.tpEmpName = tpEmpName; this.voteId = voteId;
} }
public String getTpEmpName() public Long getVoteId()
{ {
return tpEmpName; return voteId;
} }
public void setUserId(Long userId) public void setUserId(Long userId)
@ -110,34 +111,42 @@ public class KhVoteRecard extends BaseEntity
return userId; return userId;
} }
public void setVoteEmpId(Long voteEmpId) public void setUserName(String userName)
{ {
this.voteEmpId = voteEmpId; this.userName = userName;
} }
public Long getVoteEmpId() public String getUserName()
{ {
return voteEmpId; return userName;
}
public String getUid() {
return uid;
}
public void setUid(String uid) {
this.uid = uid;
} }
public void setVoteEmpName(String voteEmpName) public void setTprName(String tprName)
{ {
this.voteEmpName = voteEmpName; this.tprName = tprName;
} }
public String getVoteEmpName() public String getTprName()
{ {
return voteEmpName; return tprName;
} }
public void setVoteScore(BigDecimal voteScore) public void setVoteDetails(String voteDetails)
{ {
this.voteScore = voteScore; this.voteDetails = voteDetails;
} }
public BigDecimal getVoteScore() public String getVoteDetails()
{ {
return voteScore; return voteDetails;
} }
public void setVoteTime(Date voteTime) public void setVoteTime(Date voteTime)
@ -163,21 +172,22 @@ public class KhVoteRecard extends BaseEntity
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId()) .append("id", getId())
.append("voteId", getVoteId()) .append("pcId", getPcId())
.append("tpEmpId", getTpEmpId()) .append("khitemId", getKhitemId())
.append("tpEmpName", getTpEmpName()) .append("voteId", getVoteId())
.append("userId", getUserId()) .append("userId", getUserId())
.append("voteEmpId", getVoteEmpId()) .append("userName", getUserName())
.append("voteEmpName", getVoteEmpName()) .append("uid", getUid())
.append("voteScore", getVoteScore()) .append("tprName", getTprName())
.append("voteTime", getVoteTime()) .append("voteDetails", getVoteDetails())
.append("ipAddress", getIpAddress()) .append("voteTime", getVoteTime())
.append("createBy", getCreateBy()) .append("ipAddress", getIpAddress())
.append("createTime", getCreateTime()) .append("createBy", getCreateBy())
.append("updateBy", getUpdateBy()) .append("createTime", getCreateTime())
.append("updateTime", getUpdateTime()) .append("updateBy", getUpdateBy())
.append("remark", getRemark()) .append("updateTime", getUpdateTime())
.toString(); .append("remark", getRemark())
.toString();
} }
} }

@ -0,0 +1,166 @@
package com.ruoyi.kaohe.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* kh_vote_recard
*
* @author hs
* @date 2025-06-17
*/
public class KhVoteRecardParam extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 评测id */
@Excel(name = "评测id")
private Long pcId;
/** 考核类型id */
@Excel(name = "考核类型id")
private Long khitemTypeid;
/** 考核项id */
@Excel(name = "考核项id")
private Long khitemId;
/** 投票活动id */
@Excel(name = "投票活动id")
private Long voteId;
/** 用户id */
@Excel(name = "用户id")
private Long userId;
/** 用户名 */
@Excel(name = "用户名")
private String userName;
/** 投票人uid */
@Excel(name = "投票人uid")
private String uid;
/** 投票人 */
@Excel(name = "投票人")
private String tprName;
/** 评分详情 */
@Excel(name = "评分详情")
private String voteDetails;
/** 投票时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "投票时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date voteTime;
/** IP */
@Excel(name = "IP")
private String ipAddress;
private List<KhVoteEmp> voteEmpList;
public Long getKhitemTypeid() {
return khitemTypeid;
}
public void setKhitemTypeid(Long khitemTypeid) {
this.khitemTypeid = khitemTypeid;
}
public Long getPcId() {
return pcId;
}
public void setPcId(Long pcId) {
this.pcId = pcId;
}
public Long getKhitemId() {
return khitemId;
}
public void setKhitemId(Long khitemId) {
this.khitemId = khitemId;
}
public Long getVoteId() {
return voteId;
}
public void setVoteId(Long voteId) {
this.voteId = voteId;
}
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUid() {
return uid;
}
public void setUid(String uid) {
this.uid = uid;
}
public String getTprName() {
return tprName;
}
public void setTprName(String tprName) {
this.tprName = tprName;
}
public String getVoteDetails() {
return voteDetails;
}
public void setVoteDetails(String voteDetails) {
this.voteDetails = voteDetails;
}
public Date getVoteTime() {
return voteTime;
}
public void setVoteTime(Date voteTime) {
this.voteTime = voteTime;
}
public String getIpAddress() {
return ipAddress;
}
public void setIpAddress(String ipAddress) {
this.ipAddress = ipAddress;
}
public List<KhVoteEmp> getVoteEmpList() {
return voteEmpList;
}
public void setVoteEmpList(List<KhVoteEmp> voteEmpList) {
this.voteEmpList = voteEmpList;
}
}

@ -1,7 +1,10 @@
package com.ruoyi.kaohe.service; package com.ruoyi.kaohe.service;
import java.util.List; import java.util.List;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.kaohe.domain.KhVoteEmp; import com.ruoyi.kaohe.domain.KhVoteEmp;
import com.ruoyi.kaohe.domain.KhVoteRecardParam;
/** /**
* Service * Service
@ -58,4 +61,6 @@ public interface IKhVoteEmpService
* @return * @return
*/ */
public int deleteKhVoteEmpById(Long id); public int deleteKhVoteEmpById(Long id);
AjaxResult voteSubmit(KhVoteRecardParam param);
} }

@ -1,12 +1,24 @@
package com.ruoyi.kaohe.service.impl; package com.ruoyi.kaohe.service.impl;
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.alibaba.fastjson2.JSON;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.kaohe.domain.KhVoteRecard;
import com.ruoyi.kaohe.domain.KhVoteRecardParam;
import com.ruoyi.kaohe.mapper.KhVoteRecardMapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ruoyi.kaohe.mapper.KhVoteEmpMapper; import com.ruoyi.kaohe.mapper.KhVoteEmpMapper;
import com.ruoyi.kaohe.domain.KhVoteEmp; import com.ruoyi.kaohe.domain.KhVoteEmp;
import com.ruoyi.kaohe.service.IKhVoteEmpService; import com.ruoyi.kaohe.service.IKhVoteEmpService;
import org.springframework.transaction.annotation.Transactional;
/** /**
* Service * Service
@ -19,6 +31,8 @@ public class KhVoteEmpServiceImpl implements IKhVoteEmpService
{ {
@Autowired @Autowired
private KhVoteEmpMapper khVoteEmpMapper; private KhVoteEmpMapper khVoteEmpMapper;
@Autowired
private KhVoteRecardMapper khVoteRecardMapper;
/** /**
* *
@ -93,4 +107,81 @@ public class KhVoteEmpServiceImpl implements IKhVoteEmpService
{ {
return khVoteEmpMapper.deleteKhVoteEmpById(id); return khVoteEmpMapper.deleteKhVoteEmpById(id);
} }
@Override
@Transactional
public AjaxResult voteSubmit(KhVoteRecardParam param) {
Map<String, BigDecimal> xuanxiangDetails = new HashMap<>();
BigDecimal num = new BigDecimal("1");//投票人数+1
List<KhVoteEmp> voteEmpList = param.getVoteEmpList();
Date nowDate = DateUtils.getNowDate();
Long typeid = param.getKhitemTypeid();
BigDecimal a = new BigDecimal("100");
BigDecimal b = new BigDecimal("80");
BigDecimal c = new BigDecimal("60");
BigDecimal d = new BigDecimal("40");
for(KhVoteEmp voteEmp:voteEmpList){
voteEmp.setUpdateTime(nowDate);
//根据id查询数据得到之前的值
KhVoteEmp oldvoteEmp = khVoteEmpMapper.selectKhVoteEmpById(voteEmp.getId());
if (typeid.equals(1L)) {//选项评分
//存储投票详情到map
if(voteEmp.getOptionA().compareTo(new BigDecimal("0"))==1){
xuanxiangDetails.put(voteEmp.getBkhdxName(),voteEmp.getOptionA());
}
if(voteEmp.getOptionB().compareTo(new BigDecimal("0"))==1){
xuanxiangDetails.put(voteEmp.getBkhdxName(),voteEmp.getOptionB());
}
if(voteEmp.getOptionC().compareTo(new BigDecimal("0"))==1){
xuanxiangDetails.put(voteEmp.getBkhdxName(),voteEmp.getOptionC());
}
if(voteEmp.getOptionD().compareTo(new BigDecimal("0"))==1){
xuanxiangDetails.put(voteEmp.getBkhdxName(),voteEmp.getOptionD());
}
//修改投票情况
BigDecimal optionA = voteEmp.getOptionA().add(oldvoteEmp.getOptionA());
BigDecimal optionB = voteEmp.getOptionB().add(oldvoteEmp.getOptionB());
BigDecimal optionC = voteEmp.getOptionC().add(oldvoteEmp.getOptionC());
BigDecimal optionD = voteEmp.getOptionD().add(oldvoteEmp.getOptionD());
voteEmp.setVoteNum(oldvoteEmp.getVoteNum().add(num));
BigDecimal avgScore = optionA.multiply(a).add(
optionB.multiply(b).add(optionC.multiply(c).add(optionD.multiply(d)))
).divide(voteEmp.getVoteNum());
voteEmp.setAvgScore(avgScore);//投票后计算平均分
if(voteEmp.getPercentage()!=null){ //计算最后得分
voteEmp.setEndScore(avgScore.multiply(voteEmp.getPercentage()));
}
}else if(typeid.equals(2L)){//占比评分
BigDecimal sumScore = voteEmp.getScore().add(oldvoteEmp.getVoteScore());
voteEmp.setVoteScore(sumScore);
//修改投票人数 平均分*占比=最后得分
voteEmp.setVoteNum(oldvoteEmp.getVoteNum().add(num));
voteEmp.setAvgScore(sumScore.divide(voteEmp.getVoteNum()));
voteEmp.setEndScore(voteEmp.getAvgScore().multiply(oldvoteEmp.getPercentage()));
}else{//单独评分 不占比 以平均分为最后得分
BigDecimal sumScore = voteEmp.getScore().add(oldvoteEmp.getVoteScore());
voteEmp.setVoteNum(oldvoteEmp.getVoteNum()
.add(num));
voteEmp.setVoteScore(sumScore);
voteEmp.setAvgScore(sumScore.divide(voteEmp.getVoteNum()));
voteEmp.setEndScore(voteEmp.getAvgScore());
}
khVoteEmpMapper.updateKhVoteEmp(voteEmp);
}
//存储投票记录
KhVoteRecard recard = new KhVoteRecard();
recard.setVoteId(param.getVoteId());
recard.setUserId(param.getUserId());
recard.setUserName(param.getUserName());
recard.setUid(param.getUid());
recard.setVoteTime(nowDate);
if (typeid.equals(1L)) {//选项评分
recard.setVoteDetails(JSON.toJSONString(xuanxiangDetails));
}else{
Map<String, BigDecimal> details = voteEmpList.stream().collect(Collectors.toMap(KhVoteEmp::getBkhdxName, KhVoteEmp::getScore));
recard.setVoteDetails(JSON.toJSONString(details));
}
khVoteRecardMapper.insertKhVoteRecard(recard);
return AjaxResult.success();
}
} }

@ -1,18 +1,19 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper <!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.kaohe.mapper.KhVoteRecardMapper"> <mapper namespace="com.ruoyi.kaohe.mapper.KhVoteRecardMapper">
<resultMap type="KhVoteRecard" id="KhVoteRecardResult"> <resultMap type="KhVoteRecard" id="KhVoteRecardResult">
<result property="id" column="id" /> <result property="id" column="id" />
<result property="pcId" column="pc_id" />
<result property="khitemId" column="khitem_id" />
<result property="voteId" column="vote_id" /> <result property="voteId" column="vote_id" />
<result property="tpEmpId" column="tp_emp_id" />
<result property="tpEmpName" column="tp_emp_name" />
<result property="userId" column="user_id" /> <result property="userId" column="user_id" />
<result property="voteEmpId" column="vote_emp_id" /> <result property="userName" column="user_name" />
<result property="voteEmpName" column="vote_emp_name" /> <result property="uid" column="uid" />
<result property="voteScore" column="vote_score" /> <result property="tprName" column="tpr_name" />
<result property="voteDetails" column="vote_details" />
<result property="voteTime" column="vote_time" /> <result property="voteTime" column="vote_time" />
<result property="ipAddress" column="ip_address" /> <result property="ipAddress" column="ip_address" />
<result property="createBy" column="create_by" /> <result property="createBy" column="create_by" />
@ -23,19 +24,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<sql id="selectKhVoteRecardVo"> <sql id="selectKhVoteRecardVo">
select id, vote_id, tp_emp_id, tp_emp_name, user_id, vote_emp_id, vote_emp_name, vote_score, vote_time, ip_address, create_by, create_time, update_by, update_time, remark from kh_vote_recard select id, pc_id, khitem_id, vote_id, user_id, user_name, uid, tpr_name, vote_details, vote_time, ip_address, create_by, create_time, update_by, update_time, remark from kh_vote_recard
</sql> </sql>
<select id="selectKhVoteRecardList" parameterType="KhVoteRecard" resultMap="KhVoteRecardResult"> <select id="selectKhVoteRecardList" parameterType="KhVoteRecard" resultMap="KhVoteRecardResult">
<include refid="selectKhVoteRecardVo"/> <include refid="selectKhVoteRecardVo"/>
<where> <where>
<if test="pcId != null "> and pc_id = #{pcId}</if>
<if test="khitemId != null "> and khitem_id = #{khitemId}</if>
<if test="voteId != null "> and vote_id = #{voteId}</if> <if test="voteId != null "> and vote_id = #{voteId}</if>
<if test="tpEmpId != null "> and tp_emp_id = #{tpEmpId}</if>
<if test="tpEmpName != null and tpEmpName != ''"> and tp_emp_name like concat('%', #{tpEmpName}, '%')</if>
<if test="userId != null "> and user_id = #{userId}</if> <if test="userId != null "> and user_id = #{userId}</if>
<if test="voteEmpId != null "> and vote_emp_id = #{voteEmpId}</if> <if test="userName != null and userName != ''"> and user_name like concat('%', #{userName}, '%')</if>
<if test="voteEmpName != null and voteEmpName != ''"> and vote_emp_name like concat('%', #{voteEmpName}, '%')</if> <if test="uid != null "> and uid = #{uid}</if>
<if test="voteScore != null "> and vote_score = #{voteScore}</if> <if test="tprName != null and tprName != ''"> and tpr_name like concat('%', #{tprName}, '%')</if>
<if test="voteDetails != null and voteDetails != ''"> and vote_details = #{voteDetails}</if>
<if test="voteTime != null "> and vote_time = #{voteTime}</if> <if test="voteTime != null "> and vote_time = #{voteTime}</if>
<if test="ipAddress != null and ipAddress != ''"> and ip_address = #{ipAddress}</if> <if test="ipAddress != null and ipAddress != ''"> and ip_address = #{ipAddress}</if>
</where> </where>
@ -49,13 +51,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<insert id="insertKhVoteRecard" parameterType="KhVoteRecard" useGeneratedKeys="true" keyProperty="id"> <insert id="insertKhVoteRecard" parameterType="KhVoteRecard" useGeneratedKeys="true" keyProperty="id">
insert into kh_vote_recard insert into kh_vote_recard
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="pcId != null">pc_id,</if>
<if test="khitemId != null">khitem_id,</if>
<if test="voteId != null">vote_id,</if> <if test="voteId != null">vote_id,</if>
<if test="tpEmpId != null">tp_emp_id,</if>
<if test="tpEmpName != null">tp_emp_name,</if>
<if test="userId != null">user_id,</if> <if test="userId != null">user_id,</if>
<if test="voteEmpId != null">vote_emp_id,</if> <if test="userName != null">user_name,</if>
<if test="voteEmpName != null">vote_emp_name,</if> <if test="uid != null">uid,</if>
<if test="voteScore != null">vote_score,</if> <if test="tprName != null">tpr_name,</if>
<if test="voteDetails != null">vote_details,</if>
<if test="voteTime != null">vote_time,</if> <if test="voteTime != null">vote_time,</if>
<if test="ipAddress != null">ip_address,</if> <if test="ipAddress != null">ip_address,</if>
<if test="createBy != null">create_by,</if> <if test="createBy != null">create_by,</if>
@ -63,15 +66,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateBy != null">update_by,</if> <if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if> <if test="updateTime != null">update_time,</if>
<if test="remark != null">remark,</if> <if test="remark != null">remark,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="pcId != null">#{pcId},</if>
<if test="khitemId != null">#{khitemId},</if>
<if test="voteId != null">#{voteId},</if> <if test="voteId != null">#{voteId},</if>
<if test="tpEmpId != null">#{tpEmpId},</if>
<if test="tpEmpName != null">#{tpEmpName},</if>
<if test="userId != null">#{userId},</if> <if test="userId != null">#{userId},</if>
<if test="voteEmpId != null">#{voteEmpId},</if> <if test="userName != null">#{userName},</if>
<if test="voteEmpName != null">#{voteEmpName},</if> <if test="uid != null">#{uid},</if>
<if test="voteScore != null">#{voteScore},</if> <if test="tprName != null">#{tprName},</if>
<if test="voteDetails != null">#{voteDetails},</if>
<if test="voteTime != null">#{voteTime},</if> <if test="voteTime != null">#{voteTime},</if>
<if test="ipAddress != null">#{ipAddress},</if> <if test="ipAddress != null">#{ipAddress},</if>
<if test="createBy != null">#{createBy},</if> <if test="createBy != null">#{createBy},</if>
@ -79,19 +83,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateBy != null">#{updateBy},</if> <if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if> <if test="updateTime != null">#{updateTime},</if>
<if test="remark != null">#{remark},</if> <if test="remark != null">#{remark},</if>
</trim> </trim>
</insert> </insert>
<update id="updateKhVoteRecard" parameterType="KhVoteRecard"> <update id="updateKhVoteRecard" parameterType="KhVoteRecard">
update kh_vote_recard update kh_vote_recard
<trim prefix="SET" suffixOverrides=","> <trim prefix="SET" suffixOverrides=",">
<if test="pcId != null">pc_id = #{pcId},</if>
<if test="khitemId != null">khitem_id = #{khitemId},</if>
<if test="voteId != null">vote_id = #{voteId},</if> <if test="voteId != null">vote_id = #{voteId},</if>
<if test="tpEmpId != null">tp_emp_id = #{tpEmpId},</if>
<if test="tpEmpName != null">tp_emp_name = #{tpEmpName},</if>
<if test="userId != null">user_id = #{userId},</if> <if test="userId != null">user_id = #{userId},</if>
<if test="voteEmpId != null">vote_emp_id = #{voteEmpId},</if> <if test="userName != null">user_name = #{userName},</if>
<if test="voteEmpName != null">vote_emp_name = #{voteEmpName},</if> <if test="uid != null">uid = #{uid},</if>
<if test="voteScore != null">vote_score = #{voteScore},</if> <if test="tprName != null">tpr_name = #{tprName},</if>
<if test="voteDetails != null">vote_details = #{voteDetails},</if>
<if test="voteTime != null">vote_time = #{voteTime},</if> <if test="voteTime != null">vote_time = #{voteTime},</if>
<if test="ipAddress != null">ip_address = #{ipAddress},</if> <if test="ipAddress != null">ip_address = #{ipAddress},</if>
<if test="createBy != null">create_by = #{createBy},</if> <if test="createBy != null">create_by = #{createBy},</if>

Loading…
Cancel
Save