Merge remote-tracking branch 'origin/main'

main
wanglei 1 month ago
commit fb0c0a977a

@ -272,6 +272,7 @@ public class KhPingceController extends BaseController {
if (vEmps != null && vEmps.size() > 0) {
//修改关联的员工数据到最初创建状态
for (KhVoteEmp uPEmp : vEmps) {
uPEmp.setVersion(0);//版本号清0
uPEmp.setVoteNum(BigDecimal.ZERO);
uPEmp.setVoteScore(BigDecimal.ZERO);
uPEmp.setAvgScore(BigDecimal.ZERO);
@ -321,12 +322,19 @@ public class KhPingceController extends BaseController {
List<Long> vIds = votes.stream().map(KhVote::getId).collect(Collectors.toList());
//修改voteemp
for (Long vId : vIds) {
//修改投票为未统计计算平均分、最终分
KhVote v = new KhVote();
v.setId(vId);
v.setStatistical("0");
khVoteService.updateKhVote(v);
KhVoteEmp vemp = new KhVoteEmp();
vemp.setVoteId(vId);
List<KhVoteEmp> vEmps = khVoteEmpService.selectKhVoteEmpList(vemp);
if (vEmps != null && vEmps.size() > 0) {
//修改关联的员工数据到最初创建状态
for (KhVoteEmp uPEmp : vEmps) {
uPEmp.setVersion(0L);//版本号清0
uPEmp.setVoteNum(BigDecimal.ZERO);
uPEmp.setVoteScore(BigDecimal.ZERO);
uPEmp.setAvgScore(BigDecimal.ZERO);

@ -46,7 +46,7 @@ public class KhVoteController extends BaseController {
@Autowired
private IKhTemItemService khTemItemService;
/*@Scheduled(cron = "0 * * * * ?") // 每分钟的第0秒执行一次 监测时间修改评分状态
@Scheduled(cron = "0 * * * * ?") // 每分钟的第0秒执行一次 监测时间修改评分状态
public void performTask() {
System.out.println("进入定时任务-------------------------------------------------------------");
//获取所有未完成的评分任务
@ -97,7 +97,7 @@ public class KhVoteController extends BaseController {
}
}
}*/
}
/**
*

@ -24,9 +24,13 @@ public class KhVoteEmp extends BaseEntity
private Long khitemTypeid;
/** 投票id */
@Excel(name = "投票id")
// @Excel(name = "投票id")
private Long voteId;
/** 考核任务 */
@Excel(name = "考核任务")
private String pcName;
/** 投票主题 */
@Excel(name = "投票主题")
private String voteTitle;
@ -81,7 +85,7 @@ public class KhVoteEmp extends BaseEntity
/** 乐观锁版本号 */
// @Excel(name = "乐观锁版本号")
private Long version;
private Integer version;
//仅做参数 传递本次评分分数
private BigDecimal score;
@ -92,11 +96,19 @@ public class KhVoteEmp extends BaseEntity
private BigDecimal c;
private BigDecimal d;
public Long getVersion() {
public Integer getVersion() {
return version;
}
public void setVersion(Long version) {
public String getPcName() {
return pcName;
}
public void setPcName(String pcName) {
this.pcName = pcName;
}
public void setVersion(Integer version) {
this.version = version;
}

@ -62,8 +62,8 @@ public class KhVoteRecard extends BaseEntity
private String voteDetails;
/** 投票时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "投票时间", width = 30, dateFormat = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "投票时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date voteTime;
/** IP */

@ -140,7 +140,7 @@ public class KhKhrwResultServiceImpl implements IKhKhrwResultService
//查询该考核任务下的所有评分任务
List<KhVote> votes = khVoteMapper.selectKhVoteList(khVote);
for (KhVote vote : votes) {
//当前投票是否统计计算平均分和最终得分————去掉if 担心客户在评测结束前点击统计平均值及最终分
//当前投票是否统计计算平均分和最终得分————去掉if 担心客户在评测结束前点击统计平均值及最终分,已统计但不是最终结果
//if(vote.getStatistical().equals("0")){
khVoteEmpService.statisticalResults(vote.getId());
//}

@ -116,12 +116,6 @@ public class KhVoteEmpServiceImpl implements IKhVoteEmpService {
@Override
@Transactional
public AjaxResult statisticalResults(Long id) {
//修改未已统计计算
KhVote vote = new KhVote();
vote.setId(id);
vote.setStatistical("1");
khVoteMapper.updateKhVote(vote);
//统计计算平均值、最终值
KhVoteEmp vEmp = new KhVoteEmp();
vEmp.setVoteId(id);
@ -162,12 +156,18 @@ public class KhVoteEmpServiceImpl implements IKhVoteEmpService {
}
} else if (voteEmp.getKhitemTypeid().equals(2L)) {
voteEmp.setAvgScore(voteEmp.getVoteScore().divide(voteEmp.getVoteNum(), 4, RoundingMode.HALF_UP));//计算平均分
voteEmp.setEndScore(voteEmp.getOptionA().multiply(voteEmp.getPercentage())); //计算最终分
voteEmp.setEndScore(voteEmp.getAvgScore().multiply(voteEmp.getPercentage())); //计算最终分
} else if (voteEmp.getKhitemTypeid().equals(3L)) {
voteEmp.setAvgScore(voteEmp.getVoteScore().divide(voteEmp.getVoteNum(), 4, RoundingMode.HALF_UP));
voteEmp.setEndScore(voteEmp.getAvgScore());
}
}
//修改为已统计计算
KhVote vote = new KhVote();
vote.setId(id);
vote.setStatistical("1");
khVoteMapper.updateKhVote(vote);
return khVoteEmpMapper.updateKhVoteEmp1(khVoteEmps)> 0 ? AjaxResult.success() : AjaxResult.error();
}
@ -189,6 +189,7 @@ public class KhVoteEmpServiceImpl implements IKhVoteEmpService {
recard.setVoteId(param.getVoteId());
recard.setUserId(param.getUserId());
recard.setUserName(param.getUserName());
recard.setVoteTime(nowDate);
//选项评分
if (typeid.equals(1L)) {

@ -9,6 +9,7 @@
<result property="khitemTypeid" column="khitem_typeId"/>
<result property="voteId" column="vote_id"/>
<result property="voteTitle" column="vote_title"/>
<result property="pcName" column="pingce_name" />
<result property="bkhdxId" column="bkhdx_id"/>
<result property="bkhdxName" column="bkhdx_name"/>
<result property="content" column="content"/>
@ -56,19 +57,20 @@
</sql>
<select id="selectKhVoteEmpList" parameterType="KhVoteEmp" resultMap="KhVoteEmpResult">
<include refid="selectKhVoteEmpVo"/>
select ve.* ,ve.pingce_name from kh_vote_emp join kh_vote v on ve.voteId=v.id
<where>
<if test="khitemTypeid != null ">and khitem_typeId = #{khitemTypeid}</if>
<if test="voteId != null ">and vote_id = #{voteId}</if>
<if test="voteTitle != null and voteTitle != ''">and vote_title = #{voteTitle}</if>
<if test="pcName != null and pcName != '' "> and ve.pingce_name like concat('%', #{pcName}, '%')</if>
<if test="bkhdxId != null ">and bkhdx_id = #{bkhdxId}</if>
<if test="bkhdxName != null and bkhdxName != ''">and bkhdx_name like concat('%', #{bkhdxName}, '%')</if>
<if test="content != null and content != ''">and content = #{content}</if>
<if test="voteNum != null ">and vote_num = #{voteNum}</if>
<if test="optionA != null ">and option_a = #{optionA}</if>
<!--<if test="optionA != null ">and option_a = #{optionA}</if>
<if test="optionB != null ">and option_b = #{optionB}</if>
<if test="optionC != null ">and option_c = #{optionC}</if>
<if test="optionD != null ">and option_d = #{optionD}</if>
<if test="optionD != null ">and option_d = #{optionD}</if>-->
<if test="voteScore != null ">and vote_score = #{voteScore}</if>
<if test="avgScore != null ">and avg_score = #{avgScore}</if>
<if test="percentage != null ">and percentage = #{percentage}</if>
@ -162,13 +164,13 @@
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="version != null">version = #{version},</if>
</trim>
<!-- 其他需要更新的字段 /* version = version + 1 AND version = #{version}*/-->
WHERE id = #{id}
</update>
<!-- 批量——统计数据 -->
<!-- 批量——统计计算平均值、最终值数据 -->
<update id="updateKhVoteEmp1" parameterType="java.util.List">
<foreach collection="list" item="item" separator=";">
UPDATE kh_vote_emp
@ -180,7 +182,7 @@
id = #{item.id}
</foreach>
</update>
<!-- 批量处理提交评分 -->
<update id="batchUpdateVoteScore" parameterType="java.util.List">
<foreach collection="list" item="item" separator=";">
UPDATE kh_vote_emp

@ -76,7 +76,7 @@
<where>
<if test="pingceName != null and pingceName != ''"> and pingce_name like concat('%', #{pingceName}, '%')</if>
<if test="voteTitle != null and voteTitle != ''"> and vote_title like concat('%', #{voteTitle}, '%') </if>
<!--状态值传1也就是展示所有状态不等于2非完成状态的数据-->
<!--状态值传2也就是展示所有状态不等于2非完成状态的数据-->
<if test="state != null and state != ''"> and state != #{state}</if>
<if test="voteIds != null"> and v.id in
<foreach item="voteId" collection="voteIds" open="(" separator="," close=")">

@ -42,8 +42,8 @@
<if test="userName != null and userName != ''"> and r.user_name like concat('%', #{userName}, '%')</if>
<if test="uid != null "> and r.uid = #{uid}</if>
<if test="tprName != null and tprName != ''"> and r.tpr_name like concat('%', #{tprName}, '%')</if>
<!-- <if test="voteDetails != null and voteDetails != ''"> and r.vote_details = #{voteDetails}</if>-->
<if test="voteTime != null "> and r.vote_time = #{voteTime}</if>
<if test="voteDetails != null and voteDetails != ''"> and r.vote_details like concat('%', #{voteDetails}, '%')</if>
<if test="voteTime != null "> and DATE_FORMAT(r.vote_time, '%Y-%m-%d') = DATE_FORMAT(#{voteTime}, '%Y-%m-%d') </if>
<if test="ipAddress != null and ipAddress != ''"> and r.ip_address = #{ipAddress}</if>
</where>
</select>

Loading…
Cancel
Save