From ded53abc7415c49742661854271555b22e8bf07f Mon Sep 17 00:00:00 2001 From: hshansha Date: Fri, 24 Oct 2025 15:20:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E3=80=81=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=8A=95=E7=A5=A8=E8=A7=84=E5=88=99=E6=B7=BB=E5=8A=A0=E5=8F=AF?= =?UTF-8?q?=E5=AF=B9=E4=B8=8D=E5=90=8C=E8=80=83=E6=A0=B8=E5=AF=B9=E8=B1=A1?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E4=B8=8D=E5=90=8C=E5=8D=A0=E6=AF=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kaohe/controller/KhVoteController.java | 80 +++++++++++++------ .../java/com/ruoyi/kaohe/domain/KhVote.java | 25 ++++++ .../resources/mapper/kaohe/KhVoteMapper.xml | 7 +- 3 files changed, 88 insertions(+), 24 deletions(-) diff --git a/ruoyi-kaohe/src/main/java/com/ruoyi/kaohe/controller/KhVoteController.java b/ruoyi-kaohe/src/main/java/com/ruoyi/kaohe/controller/KhVoteController.java index 144ee2c..4829eec 100644 --- a/ruoyi-kaohe/src/main/java/com/ruoyi/kaohe/controller/KhVoteController.java +++ b/ruoyi-kaohe/src/main/java/com/ruoyi/kaohe/controller/KhVoteController.java @@ -123,27 +123,48 @@ public class KhVoteController extends BaseController { @Transactional public AjaxResult add(@RequestBody KhVote khVote) { khVoteService.insertKhVote(khVote); - //根据评测id查询职工评测关联 职工 - KhPcEmp query = new KhPcEmp(); - query.setPcId(khVote.getPingceId()); - List pcEmps = pcEmpService.selectKhPcEmpList(query); - for (KhPcEmp pcEmp : pcEmps) { - //新增投票选项关联表 - KhVoteEmp voteEmp = new KhVoteEmp(); - voteEmp.setBkhdxId(pcEmp.getBkhdxId()); - voteEmp.setBkhdxName(pcEmp.getBkhdxName()); - voteEmp.setVoteId(khVote.getId()); - voteEmp.setVoteTitle(khVote.getVoteTitle()); - voteEmp.setPercentage(khVote.getPercentage()); - voteEmp.setKhitemTypeid(khVote.getKhitemTypeid()); - if(khVote.getKhitemTypeid().equals(1L)){ - voteEmp.setOptionA(BigDecimal.ZERO); - voteEmp.setOptionB(BigDecimal.ZERO); - voteEmp.setOptionC(BigDecimal.ZERO); - voteEmp.setOptionD(BigDecimal.ZERO); + if(khVote.getSamePercent().equals("0")){ + //根据评测id查询职工评测关联 职工 + KhPcEmp query = new KhPcEmp(); + query.setPcId(khVote.getPingceId()); + List pcEmps = pcEmpService.selectKhPcEmpList(query); + for (KhPcEmp pcEmp : pcEmps) { + //新增投票选项关联表 + KhVoteEmp voteEmp = new KhVoteEmp(); + voteEmp.setBkhdxId(pcEmp.getBkhdxId()); + voteEmp.setBkhdxName(pcEmp.getBkhdxName()); + voteEmp.setVoteId(khVote.getId()); + voteEmp.setVoteTitle(khVote.getVoteTitle()); + voteEmp.setPercentage(khVote.getPercentage()); + voteEmp.setKhitemTypeid(khVote.getKhitemTypeid()); + if(khVote.getKhitemTypeid().equals(1L)){ + voteEmp.setOptionA(BigDecimal.ZERO); + voteEmp.setOptionB(BigDecimal.ZERO); + voteEmp.setOptionC(BigDecimal.ZERO); + voteEmp.setOptionD(BigDecimal.ZERO); + } + voteEmpService.insertKhVoteEmp(voteEmp); + } + }else{ + for (KhVoteEmp vEmp : khVote.getVoteEmps()) { + //新增投票选项关联表 + KhVoteEmp voteEmp = new KhVoteEmp(); + voteEmp.setBkhdxId(vEmp.getBkhdxId()); + voteEmp.setBkhdxName(vEmp.getBkhdxName()); + voteEmp.setVoteId(khVote.getId()); + voteEmp.setVoteTitle(khVote.getVoteTitle()); + voteEmp.setPercentage(vEmp.getPercentage()); + voteEmp.setKhitemTypeid(khVote.getKhitemTypeid()); + if(khVote.getKhitemTypeid().equals(1L)){ + voteEmp.setOptionA(BigDecimal.ZERO); + voteEmp.setOptionB(BigDecimal.ZERO); + voteEmp.setOptionC(BigDecimal.ZERO); + voteEmp.setOptionD(BigDecimal.ZERO); + } + voteEmpService.insertKhVoteEmp(voteEmp); } - voteEmpService.insertKhVoteEmp(voteEmp); } + return AjaxResult.success(); } @@ -159,10 +180,23 @@ public class KhVoteController extends BaseController { KhVoteEmp query = new KhVoteEmp(); query.setVoteId(khVote.getId()); List khVoteEmps = voteEmpService.selectKhVoteEmpList(query); - for (KhVoteEmp khVoteEmp : khVoteEmps) { - khVoteEmp.setPercentage(khVote.getPercentage()); - khVoteEmp.setVoteTitle(khVote.getVoteTitle()); - voteEmpService.updateKhVoteEmp(khVoteEmp); + if (khVote.getSamePercent().equals("0")) { + for (KhVoteEmp khVoteEmp : khVoteEmps) { + khVoteEmp.setPercentage(khVote.getPercentage()); + khVoteEmp.setVoteTitle(khVote.getVoteTitle()); + voteEmpService.updateKhVoteEmp(khVoteEmp); + } + }else{ + //修改投票选项关联表 + for (KhVoteEmp khVoteEmp : khVoteEmps) { + for (KhVoteEmp vEmp : khVote.getVoteEmps()) { + if (vEmp.getBkhdxId().equals(khVoteEmp.getBkhdxId())) { + khVoteEmp.setPercentage(vEmp.getPercentage()); + } + } + khVoteEmp.setVoteTitle(khVote.getVoteTitle()); + voteEmpService.updateKhVoteEmp(khVoteEmp); + } } khVoteService.updateKhVote(khVote); return AjaxResult.success(); diff --git a/ruoyi-kaohe/src/main/java/com/ruoyi/kaohe/domain/KhVote.java b/ruoyi-kaohe/src/main/java/com/ruoyi/kaohe/domain/KhVote.java index f9f4a31..be33ef2 100644 --- a/ruoyi-kaohe/src/main/java/com/ruoyi/kaohe/domain/KhVote.java +++ b/ruoyi-kaohe/src/main/java/com/ruoyi/kaohe/domain/KhVote.java @@ -81,7 +81,32 @@ public class KhVote extends BaseEntity * @return */ private List itemIds; + /** + * 被考核对象评分占比是否一致得参数,仅新增时使用 0相同 1不同 + * @return + */ + private String samePercent; + /** + * 被考核对象评分占比不一致时 保存所有考核对象的评分,仅新增时使用 + * @return + */ + private List voteEmps; + public String getSamePercent() { + return samePercent; + } + + public void setSamePercent(String samePercent) { + this.samePercent = samePercent; + } + + public List getVoteEmps() { + return voteEmps; + } + + public void setVoteEmps(List voteEmps) { + this.voteEmps = voteEmps; + } public List getItemIds() { return itemIds; diff --git a/ruoyi-kaohe/src/main/resources/mapper/kaohe/KhVoteMapper.xml b/ruoyi-kaohe/src/main/resources/mapper/kaohe/KhVoteMapper.xml index de2d09d..9ce408e 100644 --- a/ruoyi-kaohe/src/main/resources/mapper/kaohe/KhVoteMapper.xml +++ b/ruoyi-kaohe/src/main/resources/mapper/kaohe/KhVoteMapper.xml @@ -19,6 +19,7 @@ + @@ -27,7 +28,7 @@ - select id, pingce_id, pingce_name, khitem_id, khitem_name, khitem_typeId, vote_items, vote_title, v_description, s_time, e_time, max_num, percentage, state, create_by, create_time, update_by, update_time, remark from kh_vote + select id, pingce_id, pingce_name, khitem_id, khitem_name, khitem_typeId, vote_items, vote_title, v_description, s_time, e_time, max_num, percentage, `state`,same_percent, create_by, create_time, update_by, update_time, remark from kh_vote @@ -89,6 +91,7 @@ max_num, percentage, state, + same_percent, create_by, create_time, update_by, @@ -109,6 +112,7 @@ #{maxNum}, #{percentage}, #{state}, + #{samePercent}, #{createBy}, #{createTime}, #{updateBy}, @@ -133,6 +137,7 @@ max_num = #{maxNum}, percentage = #{percentage}, state = #{state}, + same_percent = #{samePercent}, create_by = #{createBy}, create_time = #{createTime}, update_by = #{updateBy},