diff --git a/src/main/java/cn/palmte/work/controller/backend/ProjectController.java b/src/main/java/cn/palmte/work/controller/backend/ProjectController.java index 033e827..c5ad73d 100644 --- a/src/main/java/cn/palmte/work/controller/backend/ProjectController.java +++ b/src/main/java/cn/palmte/work/controller/backend/ProjectController.java @@ -81,6 +81,8 @@ public class ProjectController extends BaseController { private ActUtil actUtil; @Autowired private NumSeqService numSeqService; + @Autowired + private AdminRepository adminRepository; /** * 项目列表 @@ -95,6 +97,9 @@ public class ProjectController extends BaseController { model.put("adminId", InterfaceUtil.getAdminId()); model.put("admin", InterfaceUtil.getAdmin()); model.put("deptList", deptService.findAll()); + List adminList = adminRepository.getAllEnable(); + adminList = adminList.stream().filter(a-> !"admin".equals(a.getUserName())).collect(Collectors.toList()); + model.put("adminList", adminList); ConcurrentHashMap searchInfo = getSearchInfo(keywords, model); model.putIfAbsent("extend", "1"); Page page = projectService.list(searchInfo, pageNumber, pageSize); @@ -748,6 +753,16 @@ public class ProjectController extends BaseController { return projectService.skipTask(projectId, json); } + + /** + * 批量更新审批人 将该自己审批的任务转交给别人 + */ + @ResponseBody + @RequestMapping("/batchUpdateApprove") + public ResponseMsg batchUpdateApprove(@RequestBody String json) { + return projectService.batchUpdateApprove(json); + } + /** * 查看审核流程 */ diff --git a/src/main/java/cn/palmte/work/model/ProjectRepository.java b/src/main/java/cn/palmte/work/model/ProjectRepository.java index 39a7590..d880ed8 100644 --- a/src/main/java/cn/palmte/work/model/ProjectRepository.java +++ b/src/main/java/cn/palmte/work/model/ProjectRepository.java @@ -29,4 +29,10 @@ public interface ProjectRepository extends JpaRepository { @Query(value = "SELECT p.*, FORMAT(p.contract_amount,2) as contractRound, FORMAT(p.huazhi_product_amount,2) as huazhiRound, FORMAT(p.huizhi_product_amount,2) as huizhiRound, FORMAT(p.huasan_product_amount,2) as huasanRound, FORMAT(p.ziguang_other_amount,2) as ziguangRound, FORMAT(p.gross_profit,2) as grossProfitRound, FORMAT(p.gross_profit_margin,2) as grossProfitMarginRound, FORMAT(p.advance_interest_amount,2) as advanceInterestAmountRound, FORMAT(p.advance_peak_amount,2) as advancePeakAmountRound from project p where id = ?1 limit 1", nativeQuery = true) Project findById(int id); + + + @Modifying + @Transactional(rollbackOn = Exception.class) + @Query(value = "update project set approve_id=?, approve_name=? where approve_id = ?", nativeQuery = true) + int batchUpdateApprove(int targetAdminId, String targetAdminName, int adminId); } diff --git a/src/main/java/cn/palmte/work/service/ProjectService.java b/src/main/java/cn/palmte/work/service/ProjectService.java index 618370e..a81d298 100644 --- a/src/main/java/cn/palmte/work/service/ProjectService.java +++ b/src/main/java/cn/palmte/work/service/ProjectService.java @@ -150,7 +150,7 @@ public class ProjectService { //自己创建的肯定能看见,配置的可以看见,系统管理员可以看见 SysRole sysRole = sysRoleRepository.findSysRoleById(roleId); if(SysRole.ROLE_TYPE_SYSTEM != sysRole.getType()){ - queryHelper.addCondition("(p.creator_id=? OR p.id in (SELECT pv1.project_id FROM project_visible pv1 WHERE pv1.type=1 AND pv1.tid=? UNION SELECT pv2.project_id FROM project_visible pv2 WHERE pv2.type=2 AND pv2.tid=?))", adminId, roleId, adminId); + queryHelper.addCondition("(p.creator_id=? OR p.approve_id=? OR p.id in (SELECT pv1.project_id FROM project_visible pv1 WHERE pv1.type=1 AND pv1.tid=? UNION SELECT pv2.project_id FROM project_visible pv2 WHERE pv2.type=2 AND pv2.tid=?))", adminId, adminId, roleId, adminId); } @@ -535,4 +535,18 @@ public class ProjectService { Project first = pagination.findFirst(queryHelper.getSql(), Project.class); return first; } + + /** + * 将该自己审批的任务转交给别人 + * + * @param json + * @return + */ + public ResponseMsg batchUpdateApprove(String json) { + JSONObject obj = JSON.parseObject(json); + int adminId = obj.getIntValue("adminId"); + Admin targetAdmin = adminRepository.findOne(adminId); + projectRepository.batchUpdateApprove(targetAdmin.getId(), targetAdmin.getRealName(), InterfaceUtil.getAdminId()); + return ResponseMsg.buildSuccessMsg("指定成功"); + } } diff --git a/src/main/java/cn/palmte/work/utils/ActUtil.java b/src/main/java/cn/palmte/work/utils/ActUtil.java index 5f53887..3b9108b 100644 --- a/src/main/java/cn/palmte/work/utils/ActUtil.java +++ b/src/main/java/cn/palmte/work/utils/ActUtil.java @@ -57,6 +57,9 @@ public class ActUtil { try { List relationList = projectInstanceRelationRepository .findByProjectIdOrderByCreateTimeDesc(projectId); + if (relationList == null || relationList.isEmpty()) { + return null; + } ProjectInstanceRelation projectInstanceRelation = relationList.get(0); return taskService.createTaskQuery().processInstanceId(projectInstanceRelation.getProcessInsId()).singleResult(); } catch (Exception e) { diff --git a/src/main/resources/templates/admin/project_list.ftl b/src/main/resources/templates/admin/project_list.ftl index cd122a1..2bdfaad 100644 --- a/src/main/resources/templates/admin/project_list.ftl +++ b/src/main/resources/templates/admin/project_list.ftl @@ -283,6 +283,12 @@ 待我审核的项目 + + + @@ -622,6 +628,41 @@ + <#--设置审批承接人弹窗--> + + + + @@ -782,6 +823,38 @@ }; + /** + * 设置流程承接人 将自己审批的任务转交给别人 + */ + var batchUpdateApprove = function () { + var adminId = $("#approveAdminSelect option:selected").val(); + if (adminId == '') { + alert("请选择承接账号"); + return; + } + + var params = { + adminId: adminId + }; + $.ajax({ + url: '${base}/project/batchUpdateApprove', + data: JSON.stringify(params), + dataType: "json", + contentType: "application/json", + type: 'post', + async: false, + success: function (data) { + if (data.status == 0) { + alert(data.msg); + window.location.href=window.location.href; + } else if (data.status == 1) { + alert(data.msg); + } + } + }); + }; + + //上传会签单 var generateFileupload = function (name) { var progressArea = $("#progress-area-" + name);//div @@ -892,7 +965,19 @@ relatedElement: this, onConfirm: function(id) { console.log("提交"); - projectNoCheck(id); + }, + onCancel: function() { + console.log("取消"); + } + }); + }; + + + var openChengjieModal = function() { + $('#myModal3').modal({ + relatedElement: this, + onConfirm: function() { + console.log("提交"); }, onCancel: function() { console.log("取消");