From 8fb5db2bbfba13532ebba8f9f4e3dec9745cb40e Mon Sep 17 00:00:00 2001 From: hshansha Date: Wed, 29 Oct 2025 16:08:22 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E8=80=83=E6=A0=B8=E4=BB=BB=E5=8A=A1=E7=8A=B6=E6=80=81bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kaohe/controller/KhVoteController.java | 37 +++++++++++-------- 1 file changed, 21 insertions(+), 16 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 86e7159..1e5eeab 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 @@ -3,12 +3,9 @@ package com.ruoyi.kaohe.controller; import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletResponse; -import com.ruoyi.kaohe.domain.KhPcEmp; -import com.ruoyi.kaohe.domain.KhPingce; -import com.ruoyi.kaohe.domain.KhVoteEmp; -import com.ruoyi.kaohe.service.IKhPcEmpService; -import com.ruoyi.kaohe.service.IKhPingceService; -import com.ruoyi.kaohe.service.IKhVoteEmpService; + +import com.ruoyi.kaohe.domain.*; +import com.ruoyi.kaohe.service.*; import org.springframework.scheduling.annotation.Scheduled; import java.math.BigDecimal; import org.springframework.security.access.prepost.PreAuthorize; @@ -26,8 +23,6 @@ import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.kaohe.domain.KhVote; -import com.ruoyi.kaohe.service.IKhVoteService; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; @@ -48,6 +43,8 @@ public class KhVoteController extends BaseController { private IKhVoteEmpService voteEmpService; @Autowired private IKhPingceService khPingceService; + @Autowired + private IKhTemItemService khTemItemService; @Scheduled(cron = "0 * * * * ?") // 每分钟的第0秒执行一次 监测时间修改评分状态 public void performTask() { @@ -78,19 +75,27 @@ public class KhVoteController extends BaseController { List pingces = khPingceService.selectKhPingceList(param); for (KhPingce pingce : pingces) { boolean finishflag=true; + //查询考核任务下面有几个考核项 + KhTemItem temItem = new KhTemItem(); + temItem.setTemId(pingce.getTemplateId()); + int itemNo = khTemItemService.selectKhTemItemList(temItem).size(); + //查询考核任务已有评测任务 KhVote khVote = new KhVote(); khVote.setPingceId(pingce.getId()); List khVotes = khVoteService.selectKhVoteList(khVote); - for (KhVote vote : khVotes) { - if(!vote.getState().equals("2")){ - finishflag=false; + if(khVotes.size()==itemNo){ //任务下所有考核项都已经发布 + for (KhVote vote : khVotes) { + if(!vote.getState().equals("2")){ + finishflag=false; + } + } + if(finishflag){ + pingce.setState("2"); + khPingceService.updateKhPingce(pingce); + System.out.println("执行定时任务: " + System.currentTimeMillis() + " 修改考核任务: " +pingce.getId()+" "+ pingce.getPcTitle() + " 状态为已完成"); } } - if(finishflag){ - pingce.setState("2"); - khPingceService.updateKhPingce(pingce); - System.out.println("执行定时任务: " + System.currentTimeMillis() + " 修改考核任务: " +pingce.getId()+" "+ pingce.getPcTitle() + " 状态为已完成"); - } + } } From b266e01694038a68892bc393ec12a9aea41ad819 Mon Sep 17 00:00:00 2001 From: hshansha Date: Wed, 29 Oct 2025 17:09:34 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E8=81=8C=E5=B7=A5=E3=80=81=E9=83=A8?= =?UTF-8?q?=E9=97=A8=E6=B7=BB=E5=8A=A0=E9=99=84=E4=BB=B6=E5=8F=8A=E7=AE=80?= =?UTF-8?q?=E4=BB=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/domain/entity/SysDept.java | 23 ++ .../com/ruoyi/kaohe/domain/KhEmployee.java | 15 +- .../mapper/kaohe/KhEmployeeMapper.xml | 7 +- .../resources/mapper/system/SysDeptMapper.xml | 329 ++++++++++-------- 4 files changed, 231 insertions(+), 143 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java index fb18c5c..9fa9248 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java @@ -42,6 +42,11 @@ public class SysDept extends BaseEntity /** 邮箱 */ private String email; + /** 附件 */ + private String docs; + + /** 附件简介 */ + private String docDiscrip; /** 部门状态:0正常,1停用 */ private String status; @@ -85,6 +90,22 @@ public class SysDept extends BaseEntity this.ancestors = ancestors; } + public String getDocs() { + return docs; + } + + public void setDocs(String docs) { + this.docs = docs; + } + + public String getDocDiscrip() { + return docDiscrip; + } + + public void setDocDiscrip(String docDiscrip) { + this.docDiscrip = docDiscrip; + } + @NotBlank(message = "部门名称不能为空") @Size(min = 0, max = 30, message = "部门名称长度不能超过30个字符") public String getDeptName() @@ -192,6 +213,8 @@ public class SysDept extends BaseEntity .append("leader", getLeader()) .append("phone", getPhone()) .append("email", getEmail()) + .append("docs", getDocs()) + .append("docDiscrip", getDocDiscrip()) .append("status", getStatus()) .append("delFlag", getDelFlag()) .append("createBy", getCreateBy()) diff --git a/ruoyi-kaohe/src/main/java/com/ruoyi/kaohe/domain/KhEmployee.java b/ruoyi-kaohe/src/main/java/com/ruoyi/kaohe/domain/KhEmployee.java index 9ec16d3..e359311 100644 --- a/ruoyi-kaohe/src/main/java/com/ruoyi/kaohe/domain/KhEmployee.java +++ b/ruoyi-kaohe/src/main/java/com/ruoyi/kaohe/domain/KhEmployee.java @@ -98,9 +98,13 @@ public class KhEmployee extends BaseEntity { private String education; /** 文档 */ - @Excel(name = "文档") + // @Excel(name = "文档") private String docs; + /** 附件简介 */ + @Excel(name = "附件简介") + private String docDiscrip; + /** * 家庭住址 */ @@ -119,6 +123,14 @@ public class KhEmployee extends BaseEntity { @Excel(name = "紧急联系人电话") private String contactPhone; + public String getDocDiscrip() { + return docDiscrip; + } + + public void setDocDiscrip(String docDiscrip) { + this.docDiscrip = docDiscrip; + } + public String getWordId() { return wordId; } @@ -281,6 +293,7 @@ public class KhEmployee extends BaseEntity { .append("openingBank", getOpeningBank()) .append("education", getEducation()) .append("docs", getDocs()) + .append("docDiscrip", getDocDiscrip()) .append("address", getAddress()) .append("contact", getContact()) .append("contactPhone", getContactPhone()) diff --git a/ruoyi-kaohe/src/main/resources/mapper/kaohe/KhEmployeeMapper.xml b/ruoyi-kaohe/src/main/resources/mapper/kaohe/KhEmployeeMapper.xml index 8a6323d..274911c 100644 --- a/ruoyi-kaohe/src/main/resources/mapper/kaohe/KhEmployeeMapper.xml +++ b/ruoyi-kaohe/src/main/resources/mapper/kaohe/KhEmployeeMapper.xml @@ -20,6 +20,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -31,7 +32,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select id, user_id, dept_id, dept_name, emp_name,word_id, `position`, sex, age, phone, idcard, bank_card_number, opening_bank, education,docs, address, contact, contact_phone, create_by, create_time, update_by, update_time, remark from kh_employee + select id, user_id, dept_id, dept_name, emp_name,word_id, `position`, sex, age, phone, idcard, bank_card_number, opening_bank, education,docs,doc_discrip, address, contact, contact_phone, create_by, create_time, update_by, update_time, remark from kh_employee + + - + - + + and d.dept_id not in (select d.parent_id from sys_dept d inner join sys_role_dept rd on d.dept_id = + rd.dept_id and rd.role_id = #{roleId}) + + order by d.parent_id, d.order_num + + - + select d.dept_id, + d.parent_id, + d.ancestors, + d.dept_name, + d.order_num, + d.leader, + d.phone, + d.email, + d.docs, + d.doc_discrip, + d.status, + (select dept_name from sys_dept where dept_id = d.parent_id) parent_name + from sys_dept d + where d.dept_id = #{deptId} + + - - - - - - - - - + select count(1) + from sys_user + where dept_id = #{deptId} + and del_flag = '0' + + + + + + + + + + - insert into sys_dept( - dept_id, - parent_id, - dept_name, - ancestors, - order_num, - leader, - phone, - email, - status, - create_by, - create_time - )values( - #{deptId}, - #{parentId}, - #{deptName}, - #{ancestors}, - #{orderNum}, - #{leader}, - #{phone}, - #{email}, - #{status}, - #{createBy}, - sysdate() - ) - - - - update sys_dept - - parent_id = #{parentId}, - dept_name = #{deptName}, - ancestors = #{ancestors}, - order_num = #{orderNum}, - leader = #{leader}, - phone = #{phone}, - email = #{email}, - status = #{status}, - update_by = #{updateBy}, - update_time = sysdate() - - where dept_id = #{deptId} - - - - update sys_dept set ancestors = - - when #{item.deptId} then #{item.ancestors} - - where dept_id in - - #{item.deptId} - - - - - update sys_dept set status = '0' where dept_id in - - #{deptId} + insert into sys_dept( + dept_id, + parent_id, + dept_name, + ancestors, + order_num, + leader, + phone, + email, + docs, + doc_discrip, + status, + create_by, + create_time + )values( + #{deptId}, + #{parentId}, + #{deptName}, + #{ancestors}, + #{orderNum}, + #{leader}, + #{phone}, + #{email}, + #{docs}, + #{docDiscrip}, + #{status}, + #{createBy}, + sysdate() + ) + + + + update sys_dept + + parent_id = #{parentId}, + dept_name = #{deptName}, + ancestors = #{ancestors}, + order_num = #{orderNum}, + leader = #{leader}, + phone = #{phone}, + email = #{email}, + docs = #{docs}, + doc_discrip = #{docDiscrip}, + status = #{status}, + update_by = #{updateBy}, + update_time = sysdate() + + where dept_id = #{deptId} + + + + update sys_dept set ancestors = + + when #{item.deptId} then #{item.ancestors} + + where dept_id in + + #{item.deptId} - - - - update sys_dept set del_flag = '2' where dept_id = #{deptId} - + + + + update sys_dept set status = '0' where dept_id in + + #{deptId} + + + + + update sys_dept + set del_flag = '2' + where dept_id = #{deptId} + \ No newline at end of file From d03c4ab357b241a87b552c00bba34c4b23ffb183 Mon Sep 17 00:00:00 2001 From: hshansha Date: Thu, 30 Oct 2025 08:59:25 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E8=81=8C=E5=B7=A5=E3=80=81=E9=83=A8?= =?UTF-8?q?=E9=97=A8=E9=99=84=E4=BB=B6=E5=8D=95=E7=8B=AC=E6=9D=83=E9=99=90?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/system/SysDeptController.java | 25 ++++++++++++ .../controller/KhEmployeeController.java | 12 +++++- .../kaohe/service/IKhEmployeeService.java | 4 +- .../service/impl/KhEmployeeServiceImpl.java | 39 +++++++++++++++++-- 4 files changed, 74 insertions(+), 6 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java index 59e7588..a53d4cd 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java @@ -109,6 +109,31 @@ public class SysDeptController extends BaseController dept.setUpdateBy(getUsername()); return toAjax(deptService.updateDept(dept)); } + /** + * 修改部门附件专用接口 + */ + @PreAuthorize("@ss.hasPermi('system:dept:edit')") + @Log(title = "部门管理", businessType = BusinessType.UPDATE) + @PutMapping("/editDocs") + public AjaxResult editDocs(@Validated @RequestBody SysDept dept) + { + /*Long deptId = dept.getDeptId(); + deptService.checkDeptDataScope(deptId); + if (!deptService.checkDeptNameUnique(dept)) + { + return error("修改部门'" + dept.getDeptName() + "'失败,部门名称已存在"); + } + else if (dept.getParentId().equals(deptId)) + { + return error("修改部门'" + dept.getDeptName() + "'失败,上级部门不能是自己"); + } + else if (StringUtils.equals(UserConstants.DEPT_DISABLE, dept.getStatus()) && deptService.selectNormalChildrenDeptById(deptId) > 0) + { + return error("该部门包含未停用的子部门!"); + }*/ + dept.setUpdateBy(getUsername()); + return toAjax(deptService.updateDept(dept)); + } /** * 删除部门 diff --git a/ruoyi-kaohe/src/main/java/com/ruoyi/kaohe/controller/KhEmployeeController.java b/ruoyi-kaohe/src/main/java/com/ruoyi/kaohe/controller/KhEmployeeController.java index 20a8ef2..a9b3f4f 100644 --- a/ruoyi-kaohe/src/main/java/com/ruoyi/kaohe/controller/KhEmployeeController.java +++ b/ruoyi-kaohe/src/main/java/com/ruoyi/kaohe/controller/KhEmployeeController.java @@ -112,7 +112,17 @@ public class KhEmployeeController extends BaseController @PutMapping public AjaxResult edit(@RequestBody KhEmployee khEmployee) { - return toAjax(khEmployeeService.updateKhEmployee(khEmployee)); + return khEmployeeService.updateKhEmployee(khEmployee); + } + /** + * 修改职工附件专用接口 + */ + @PreAuthorize("@ss.hasPermi('kaohe:employee:docs')") + @Log(title = "职工信息", businessType = BusinessType.UPDATE) + @PutMapping("/editDocs") + public AjaxResult editDocs(@RequestBody KhEmployee khEmployee) + { + return khEmployeeService.updateKhEmployeeDocs(khEmployee); } /** diff --git a/ruoyi-kaohe/src/main/java/com/ruoyi/kaohe/service/IKhEmployeeService.java b/ruoyi-kaohe/src/main/java/com/ruoyi/kaohe/service/IKhEmployeeService.java index 5f28641..fc5434b 100644 --- a/ruoyi-kaohe/src/main/java/com/ruoyi/kaohe/service/IKhEmployeeService.java +++ b/ruoyi-kaohe/src/main/java/com/ruoyi/kaohe/service/IKhEmployeeService.java @@ -43,7 +43,7 @@ public interface IKhEmployeeService * @param khEmployee 职工信息 * @return 结果 */ - public int updateKhEmployee(KhEmployee khEmployee); + public AjaxResult updateKhEmployee(KhEmployee khEmployee); /** * 批量删除职工信息 @@ -62,4 +62,6 @@ public interface IKhEmployeeService public int deleteKhEmployeeById(Long id); String importEmp(List empList, boolean updateSupport, String operName); + + AjaxResult updateKhEmployeeDocs(KhEmployee khEmployee); } diff --git a/ruoyi-kaohe/src/main/java/com/ruoyi/kaohe/service/impl/KhEmployeeServiceImpl.java b/ruoyi-kaohe/src/main/java/com/ruoyi/kaohe/service/impl/KhEmployeeServiceImpl.java index ddcf3d4..21cf433 100644 --- a/ruoyi-kaohe/src/main/java/com/ruoyi/kaohe/service/impl/KhEmployeeServiceImpl.java +++ b/ruoyi-kaohe/src/main/java/com/ruoyi/kaohe/service/impl/KhEmployeeServiceImpl.java @@ -90,7 +90,7 @@ public class KhEmployeeServiceImpl implements IKhEmployeeService { user.setNickName(khEmployee.getEmpName()); user.setPassword(SecurityUtils.encryptPassword("111111")); user.setDeptId(khEmployee.getDeptId()); - Long[] roleIds = {102L}; //固定的评分账号角色id + Long[] roleIds = {102L}; //固定的职工账号角色id user.setRoleIds(roleIds); userService.insertUser(user); } @@ -108,9 +108,40 @@ public class KhEmployeeServiceImpl implements IKhEmployeeService { * @return 结果 */ @Override - public int updateKhEmployee(KhEmployee khEmployee) { - khEmployee.setUpdateTime(DateUtils.getNowDate()); - return khEmployeeMapper.updateKhEmployee(khEmployee); + public AjaxResult updateKhEmployee(KhEmployee khEmployee) { + //如果修改了工号,验证工号不能已存在其他职工上面 + KhEmployee param = new KhEmployee(); + param.setWordId(khEmployee.getWordId()); + List e = khEmployeeMapper.selectKhEmployeeList(param); + if (e!=null&& e.size() == 1) { + if(e.get(0).getId()!=khEmployee.getId()){ + return AjaxResult.error("修改失败,工号已存在!"); + }else{//没有修改员工工号 则直接修改 + return khEmployeeMapper.updateKhEmployee(khEmployee)>0 ? AjaxResult.success() : AjaxResult.error(); + } + }else{ //给当前员工,修改了一个新的工号 + khEmployee.setUpdateTime(DateUtils.getNowDate()); + int r =khEmployeeMapper.updateKhEmployee(khEmployee); + ///生成对应的用户账号,工号为账号 + SysUser user= new SysUser(); + user.setUserName(khEmployee.getWordId()); + if (userService.checkUserNameUnique(user)) + { + user.setCreateBy(getUsername()); + user.setNickName(khEmployee.getEmpName()); + user.setPassword(SecurityUtils.encryptPassword("111111")); + user.setDeptId(khEmployee.getDeptId()); + Long[] roleIds = {102L}; //固定的职工账号角色id + user.setRoleIds(roleIds); + userService.insertUser(user); + } + return r>0 ? AjaxResult.success() : AjaxResult.error(); + } + } + + @Override + public AjaxResult updateKhEmployeeDocs(KhEmployee khEmployee) { + return khEmployeeMapper.updateKhEmployee(khEmployee)>0 ? AjaxResult.success() : AjaxResult.error(); } /**