| | |
| | | @RequestParam(required = false)String condition, |
| | | @RequestParam Map<String, Object> param){ |
| | | EntityWrapper<ReimburseOnline> wrapper = new EntityWrapper<>(); |
| | | wrapper.setSqlSelect("id,title,create_time as createTime,filepath,item_id as itemId,order_num as orderNum,template_name as templateName,user_id as userId,dept_id as deptId,status,update_time as updateTime,check_data as checkData,update_user_id as updateUserId,member_id as memberId"); |
| | | wrapper.in("member_id", getUserRoleBelongsToUserId("allopen")); |
| | | wrapper.setSqlSelect("id,settle,title,create_time as createTime,filepath,item_id as itemId,order_num as orderNum,template_name as templateName,user_id as userId,dept_id as deptId,status,update_time as updateTime,check_data as checkData,update_user_id as updateUserId,member_id as memberId"); |
| | | // wrapper.in("member_id", getUserRoleBelongsToUserId()); |
| | | wrapper.andNew(); |
| | | excludeTrash(param); |
| | | convert(param, wrapper); |
| | | allLike(ReimburseOnline.class, param.keySet(), wrapper, condition); |
| | | if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} |
| | | wrapper.or().eq("member_id",getUserId()); |
| | | return R.ok(reimburseOnlineService.selectPage(new Page<>(curr, limit), wrapper)); |
| | | } |
| | | |
| | |
| | | Long deptId = getDeptId(); |
| | | boolean signUserId = false; |
| | | boolean signDeptId = false; |
| | | boolean signHostId = false; |
| | | for (Map.Entry<String, Object> entry : map.entrySet()){ |
| | | if (entry.getKey().equals("dept_id")){ |
| | | signDeptId = true; |
| | | if (String.valueOf(entry.getValue()).equals("19")){ |
| | | signHostId = true; |
| | | } |
| | | } |
| | | } |
| | | for (Map.Entry<String, Object> entry : map.entrySet()){ |
| | |
| | | if (!signUserId && !signDeptId){ |
| | | wrapper.eq("user_id", getUserId()); |
| | | } |
| | | if (signHostId){ |
| | | wrapper.or().eq("host_id",1); |
| | | } |
| | | } |
| | | @RequestMapping(value = "/reimburseOnline/from/add/auth") |
| | | @ManagerAuth(memo = "报销") |
| | |
| | | reimburseOnline.setCheckData(param.getCheckData()); |
| | | reimburseOnline.setTemplateName(param.getTemplateName()); |
| | | |
| | | reimburseOnline.setSettle(1); // 1.开始 |
| | | reimburseOnline.setSettle(0); // 0.创建 |
| | | User manager = userService.getDeptManager(getHostId(), getUser().getDeptId()); // 获取部门领导 |
| | | |
| | | ProcessPermissions processPermissions3 = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 3).eq("process", param.getCheckData().equals("否")? "3-1" : "3-2"));//3:报销流程 |
| | |
| | | map.put("orderNo",param.getOrderNo()); |
| | | map.put("templateName",param.getTemplateName()); |
| | | map.put("checkData",param.getCheckData()); |
| | | map.put("reimburseOnlineDetls",param.getReimburseOnlineDetls()); |
| | | reimburseOnline.setForm(JSON.toJSONString(map)); |
| | | reimburseOnline.setMemberId(president3.getId()); |
| | | reimburseOnline.setMemberId(getUser().getId()); |
| | | |
| | | if (!reimburseOnlineService.insert(reimburseOnline)){ |
| | | return R.error("添加报销主档失败"); |
| | |
| | | return R.ok().add(vos); |
| | | } |
| | | |
| | | @PostMapping(value = "/reimburseOnline/approval/auth") |
| | | @PostMapping(value = "/reimburseOnline/approval2/auth") |
| | | @ManagerAuth |
| | | public R approvalReimburseOnline(@RequestParam Long planId, |
| | | @RequestParam(required = false) Long plannerId){ |
| | |
| | | assert reimburseOnline != null; |
| | | Integer settle = reimburseOnline.getSettle(); |
| | | String process=""; |
| | | Date now = new Date(); |
| | | switch (reimburseOnline.getSettle()) { |
| | | case 0: |
| | | User user2 = userService.selectById(reimburseOnline.getUserId()); |
| | | User manager1 = userService.getDeptManager(getHostId(), user2.getDeptId()); |
| | | |
| | | if (Cools.isEmpty(getUser())) { |
| | | return R.error("抱歉,您没有提交的权限"); |
| | | } |
| | | if (!getUserId().equals(getUser().getId())) { |
| | | return R.error("抱歉,您没有提交的权限"); |
| | | } |
| | | // 修改 settle 步骤数据 |
| | | List<SettleDto> list1 = JSON.parseArray(reimburseOnline.getSettleMsg(), SettleDto.class); |
| | | for (SettleDto dto : list1) { |
| | | switch (dto.getStep()) { |
| | | case 0: |
| | | dto.setCurr(Boolean.FALSE); |
| | | break; |
| | | case 1: |
| | | dto.setCurr(Boolean.TRUE); |
| | | dto.setMsg(getUser().getNickname() + "提交完成"); |
| | | dto.setTime(DateUtils.convert(now)); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | reimburseOnline.setSettleMsg(JSON.toJSONString(list1)); |
| | | // 修改规划单状态 |
| | | reimburseOnline.setSettle(1); |
| | | reimburseOnline.setUpdateUserId(getUserId()); |
| | | reimburseOnline.setUpdateTime(now); |
| | | reimburseOnline.setMemberId(manager1.getId()); |
| | | |
| | | if (!reimburseOnlineService.updateById(reimburseOnline)) { |
| | | throw new CoolException("审核失败,请联系管理员"); |
| | | } |
| | | break; |
| | | case 1: |
| | | // 本部门经理审核 |
| | | User user = userService.selectById(reimburseOnline.getUserId()); |
| | |
| | | case 2: |
| | | dto.setCurr(Boolean.TRUE); |
| | | dto.setMsg("部门经理" + manager.getNickname() + "审批通过"); |
| | | dto.setTime(DateUtils.convert(new Date())); |
| | | dto.setTime(DateUtils.convert(now)); |
| | | break; |
| | | default: |
| | | break; |
| | |
| | | // 修改规划单状态 |
| | | reimburseOnline.setSettle(2); // 总裁办待审 |
| | | reimburseOnline.setUpdateUserId(getUserId()); |
| | | reimburseOnline.setUpdateTime(new Date()); |
| | | reimburseOnline.setUpdateTime(now); |
| | | ProcessPermissions processPermissions = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 3).eq("process", reimburseOnline.getCheckData().equals("否") ? "3-1" : "3-2"));//3:报销流程 |
| | | reimburseOnline.setMemberId(processPermissions.getUserId()); |
| | | |
| | | if (!reimburseOnlineService.updateById(reimburseOnline)) { |
| | | throw new CoolException("审核失败,请联系管理员"); |
| | |
| | | }else if (dto.getStep().equals(settle+1)){ |
| | | dto.setCurr(Boolean.TRUE); |
| | | dto.setMsg("报价流程节点"+process+"确认人:"+planLeader.getNickname() + "审批通过"); |
| | | dto.setTime(DateUtils.convert(new Date())); |
| | | dto.setTime(DateUtils.convert(now)); |
| | | break; |
| | | }else { |
| | | break; |
| | |
| | | // 修改规划单状态 |
| | | reimburseOnline.setSettle(settle+1); |
| | | reimburseOnline.setUpdateUserId(getUserId()); |
| | | reimburseOnline.setUpdateTime(new Date()); |
| | | reimburseOnline.setMemberId(planLeader.getId()); |
| | | reimburseOnline.setUpdateTime(now); |
| | | String[] split = process.split("-"); |
| | | if (settle!=5){ |
| | | settle=settle+2; |
| | | }else { |
| | | settle++; |
| | | } |
| | | ProcessPermissions processPermissions2 = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 3).eq("process", settle+"-"+split[1]));//3:报销流程 |
| | | reimburseOnline.setMemberId(processPermissions2.getUserId()); |
| | | |
| | | if (!reimburseOnlineService.updateById(reimburseOnline)) { |
| | | throw new CoolException("审核失败,请联系管理员"); |