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},