| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450 |
- package com.template.controller;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
- import com.template.api.ApplicationProcedureControllerAPI;
- import com.template.model.dto.AppletApprovalProcessDto;
- import com.template.model.dto.ApplicationProcedureDto;
- import com.template.model.dto.ApprovalProcessDto;
- import com.template.model.pojo.*;
- import com.template.model.result.CommonResult;
- import com.template.model.result.PageUtils;
- import com.template.model.vo.ApplicationProcedureRecordVo;
- import com.template.model.vo.ApplicationProcedureTemporaryRecordVo;
- import com.template.model.vo.ApplicationProcedureTemporaryVo;
- import com.template.model.vo.ApplicationProcedureVo;
- import com.template.services.*;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.RestController;
- import java.time.LocalDateTime;
- import java.time.format.DateTimeFormatter;
- import java.util.ArrayList;
- import java.util.List;
- /**
- * <p>
- * 前端控制器
- * </p>
- *
- * @author ceshi
- * @since 2024-02-27
- */
- @RestController
- public class ApplicationProcedureController implements ApplicationProcedureControllerAPI {
- @Autowired
- ApplicationProcedureService applicationProcedureService;
- @Autowired
- ApplicationProcedureSettingService applicationProcedureSettingService;
- @Autowired
- PermissionSettingService permissionSettingService;
- @Autowired
- UsersService usersService;
- @Autowired
- AdminMenuService adminMenuService;
- @Autowired
- ApplicationProcedureTemporaryService applicationProcedureTemporaryService;
- @Override
- public CommonResult save(ApplicationProcedureDto applicationProcedureDto) {
- if (ObjectUtils.isEmpty(applicationProcedureDto)) {
- return CommonResult.fail();
- }
- ApplicationProcedure applicationProcedure = new ApplicationProcedure();
- BeanUtils.copyProperties(applicationProcedureDto, applicationProcedure);
- // 待审核
- applicationProcedure.setStatus("1");
- DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
- // 提交时间
- applicationProcedure.setSubmissionTime(LocalDateTime.now().format(dateTimeFormatter1));
- boolean save = applicationProcedureService.save(applicationProcedure);
- if (save) {
- return CommonResult.ok();
- }
- return CommonResult.fail();
- }
- @Override
- public CommonResult recordList(int usersId) {
- if (ObjectUtils.isEmpty(usersId)) {
- return CommonResult.fail("参数异常");
- }
- LambdaQueryWrapper<ApplicationProcedure> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(ApplicationProcedure::getUsersId, usersId);
- List<ApplicationProcedure> list = applicationProcedureService.list(wrapper);
- return CommonResult.ok(list);
- }
- @Override
- public CommonResult list( int adminMenuId, String submissionStartTime, String submissionEndTime, String examineAndApproveStartTime, String examineAndApproveEndTime, String type, String department, String key, int page, int size) {
- PermissionSetting permissionSetting = permissionSettingService.getById(adminMenuId);
- if (ObjectUtils.isEmpty(permissionSetting)) {
- return CommonResult.fail("非法进入");
- }
- //// 判断该用户是否拥有权限
- // // 判断该用户是否拥有权限
- // String processManagement = permissionSetting.getProcessManagement();
- // if (!"0".equals(processManagement) && !processManagement.contains("5")) {
- // return CommonResult.fail("此账号暂无该权限");
- // }
- if (ObjectUtils.isEmpty(page) || page <= 0) {
- page = 1;
- }
- if (ObjectUtils.isEmpty(size) || size <= 0) {
- size = 10;
- }
- List<ApplicationProcedureSetting> list = applicationProcedureSettingService.list(new LambdaQueryWrapper<>());
- ApplicationProcedureSetting applicationProcedureSetting = list.get(0);
- String approverType = applicationProcedureSetting.getApproverType();
- Integer adminMenuId1 = permissionSetting.getAdminMenuId();
- AdminMenu byId = adminMenuService.getById(adminMenuId1);
- Integer parentId = byId.getParentId();
- PageUtils<ApplicationProcedureVo> pageList=null;
- //审批一次,角色等级不为0
- if ("1".equals(approverType)) {
- pageList=applicationProcedureService.pageList(submissionStartTime,submissionEndTime,examineAndApproveStartTime,examineAndApproveEndTime,type,department,key,page,size);
- return CommonResult.ok(pageList);
- }
- if (parentId==0) {
- // 全部则是没有待审批的全部
- if (ObjectUtils.isEmpty(type)) {
- type="0,2,3";
- }
- pageList=applicationProcedureService.parentPageList(submissionStartTime,submissionEndTime,examineAndApproveStartTime,examineAndApproveEndTime,type,department,key,page,size);
- return CommonResult.ok(pageList);
- }
- pageList=applicationProcedureService.pageList(submissionStartTime,submissionEndTime,examineAndApproveStartTime,examineAndApproveEndTime,type,department,key,page,size);
- return CommonResult.ok(pageList);
- }
- @Override
- public CommonResult update(ApprovalProcessDto approvalProcessDto) {
- int adminMenuId = approvalProcessDto.getAdminMenuId();
- PermissionSetting permissionSetting = permissionSettingService.getById(adminMenuId);
- if (ObjectUtils.isEmpty(permissionSetting)) {
- return CommonResult.fail("非法进入");
- }
- // 判断该用户是否拥有权限
- // 判断该用户是否拥有权限
- String processManagement = permissionSetting.getProcessManagement();
- if (!"0".equals(processManagement) && !processManagement.contains("3")&& !processManagement.contains("4")) {
- return CommonResult.fail("此账号暂无该权限");
- }
- int id = approvalProcessDto.getId();
- String status = approvalProcessDto.getStatus();
- String adminId = approvalProcessDto.getAdminId();
- String remark = approvalProcessDto.getRemark();
- ApplicationProcedure applicationProcedure = applicationProcedureService.getById(id);
- if (ObjectUtils.isEmpty(applicationProcedure)) {
- return CommonResult.fail("参数异常");
- }
- String applicationProcedureStatus = applicationProcedure.getStatus();
- if ("0".equals(applicationProcedureStatus)||"3".equals(applicationProcedureStatus)) {
- return CommonResult.fail("已审批,无需再次审批");
- }
- // 判断是什么审核模式
- List<ApplicationProcedureSetting> list = applicationProcedureSettingService.list(new LambdaQueryWrapper<>());
- ApplicationProcedureSetting applicationProcedureSetting = list.get(0);
- String approverType = applicationProcedureSetting.getApproverType();
- // 审核人
- Integer adminMenuId1 = permissionSetting.getAdminMenuId();
- AdminMenu byId = adminMenuService.getById(adminMenuId1);
- // 角色等级
- Integer parentId = byId.getParentId();
- DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
- // 当只需要审核一次
- if ("1".equals(approverType)) {
- if ("1".equals(status)) {
- status="3";
- }
- applicationProcedure.setStatus(status);
- applicationProcedure.setApproverId(adminId);
- // 审批时间
- applicationProcedure.setExamineAndApproveTime(LocalDateTime.now().format(dateTimeFormatter1));
- // 审批备注
- applicationProcedure.setExamineAndApproveRemark(remark);
- applicationProcedureService.updateById(applicationProcedure);
- return CommonResult.ok();
- }
- // 当为最高审批人
- if (parentId==0) {
- // 先判断是否已经被审批了
- if (!"2".equals(applicationProcedureStatus)) {
- // 当不是处理中时则无法审批
- return CommonResult.fail("当前无法审批");
- }
- if ("1".equals(status)) {
- status="3";
- }
- applicationProcedure.setStatus(status);
- applicationProcedure.setApproverId(adminId);
- // 审批时间
- applicationProcedure.setExamineAndApproveTime(LocalDateTime.now().format(dateTimeFormatter1));
- // 审批备注
- applicationProcedure.setExamineAndApproveRemark(remark);
- applicationProcedureService.updateById(applicationProcedure);
- return CommonResult.ok();
- }
- if ("1".equals(status)) {
- status="2";
- }
- applicationProcedure.setStatus(status);
- applicationProcedure.setSecondaryApproverId(adminId);
- // 审批时间
- applicationProcedure.setSecondaryExamineAndApproveTime(LocalDateTime.now().format(dateTimeFormatter1));
- // 审批备注
- applicationProcedure.setSecondaryExamineAndApproveRemark(remark);
- applicationProcedureService.updateById(applicationProcedure);
- return CommonResult.ok();
- }
- @Override
- public CommonResult appletUpdate(AppletApprovalProcessDto appletApprovalProcessDto) {
- int id = appletApprovalProcessDto.getId();
- String status = appletApprovalProcessDto.getStatus();
- String adminMenuId = appletApprovalProcessDto.getAdminMenuId();
- String remark = appletApprovalProcessDto.getRemark();
- String adminId = appletApprovalProcessDto.getAdminId();
- // 判断对应的管理端是否有权限
- if (ObjectUtils.isEmpty(adminMenuId)&&ObjectUtils.isEmpty(adminId)) {
- return CommonResult.fail("无审批权限");
- }
- PermissionSetting permissionSetting = permissionSettingService.getMenuPermissionSetting(adminMenuId);
- if (ObjectUtils.isEmpty(permissionSetting)) {
- return CommonResult.fail("无审批权限");
- }
- String processManagement = permissionSetting.getProcessManagement();
- if (!"0".equals(processManagement) && !processManagement.contains("3")&& !processManagement.contains("4")) {
- return CommonResult.fail("此账号暂无该权限");
- }
- ApplicationProcedure applicationProcedure = applicationProcedureService.getById(id);
- if (ObjectUtils.isEmpty(applicationProcedure)) {
- return CommonResult.fail("参数异常");
- }
- String applicationProcedureStatus = applicationProcedure.getStatus();
- if ("0".equals(applicationProcedureStatus)||"3".equals(applicationProcedureStatus)) {
- return CommonResult.fail("已审批,无需再次审批");
- }
- // 判断是什么审核模式
- List<ApplicationProcedureSetting> list = applicationProcedureSettingService.list(new LambdaQueryWrapper<>());
- ApplicationProcedureSetting applicationProcedureSetting = list.get(0);
- String approverType = applicationProcedureSetting.getApproverType();
- AdminMenu byId = adminMenuService.getById(adminMenuId);
- // 角色等级
- Integer parentId = byId.getParentId();
- DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
- // 当只需要审核一次
- if ("1".equals(approverType)) {
- if ("1".equals(status)) {
- status="3";
- }
- applicationProcedure.setStatus(status);
- applicationProcedure.setApproverId(adminId);
- // 审批时间
- applicationProcedure.setExamineAndApproveTime(LocalDateTime.now().format(dateTimeFormatter1));
- // 审批备注
- applicationProcedure.setExamineAndApproveRemark(remark);
- applicationProcedureService.updateById(applicationProcedure);
- return CommonResult.ok();
- }
- // 当为最高审批人
- if (parentId==0) {
- // 先判断是否已经被审批了
- if (!"2".equals(applicationProcedureStatus)) {
- // 当不是处理中时则无法审批
- return CommonResult.fail("当前无法审批");
- }
- if ("1".equals(status)) {
- status="3";
- }
- applicationProcedure.setStatus(status);
- applicationProcedure.setApproverId(adminId);
- // 审批时间
- applicationProcedure.setExamineAndApproveTime(LocalDateTime.now().format(dateTimeFormatter1));
- // 审批备注
- applicationProcedure.setExamineAndApproveRemark(remark);
- applicationProcedureService.updateById(applicationProcedure);
- return CommonResult.ok();
- }
- if ("1".equals(status)) {
- status="2";
- }
- applicationProcedure.setStatus(status);
- applicationProcedure.setSecondaryApproverId(adminId);
- // 审批时间
- applicationProcedure.setSecondaryExamineAndApproveTime(LocalDateTime.now().format(dateTimeFormatter1));
- // 审批备注
- applicationProcedure.setSecondaryExamineAndApproveRemark(remark);
- applicationProcedureService.updateById(applicationProcedure);
- return CommonResult.ok();
- }
- @Override
- public CommonResult appletList(int adminMenuId, String startTime, String endTime, String status, int page, int size) {
- if (ObjectUtils.isEmpty(page) || page <= 0) {
- page = 1;
- }
- if (ObjectUtils.isEmpty(size) || size <= 0) {
- size = 10;
- }
- List<ApplicationProcedureSetting> list = applicationProcedureSettingService.list(new LambdaQueryWrapper<>());
- ApplicationProcedureSetting applicationProcedureSetting = list.get(0);
- String approverType = applicationProcedureSetting.getApproverType();
- AdminMenu byId = adminMenuService.getById(adminMenuId);
- Integer parentId = byId.getParentId();
- PageUtils<ApplicationProcedureVo> pageList=null;
- //审批一次,角色等级不为0
- if ("1".equals(approverType)) {
- if (parentId!=0) {
- return CommonResult.ok("无审批权限");
- }else {
- pageList=applicationProcedureService.appletList(startTime,endTime,status,page,size);
- return CommonResult.ok(pageList);
- }
- }
- if (parentId==0) {
- // 全部则是没有待审批的全部
- if (ObjectUtils.isEmpty(status)) {
- status="0,2,3";
- }
- pageList=applicationProcedureService.appletParentList(startTime,endTime,status,page,size);
- return CommonResult.ok(pageList);
- }
- return CommonResult.ok(pageList);
- }
- @Override
- public CommonResult statusDropDown() {
- ArrayList<String> list = new ArrayList<>();
- list.add("0");
- list.add("1");
- list.add("2");
- list.add("3");
- return CommonResult.ok(list);
- }
- @Override
- public CommonResult appletRecordList( Integer department,Integer userId,String startTime, String endTime, String status, int page, int size) {
- if (ObjectUtils.isEmpty(page) || page <= 0) {
- page = 1;
- }
- if (ObjectUtils.isEmpty(size) || size <= 0) {
- size = 10;
- }
- //教职工
- if (department==4) {
- PageUtils<ApplicationProcedureRecordVo> page1 = applicationProcedureService.appletRecordPage(userId,startTime,endTime,status,page,size);
- return CommonResult.ok(page1);
- }else if (department==7){
- // 临时人员
- PageUtils<ApplicationProcedureTemporaryRecordVo> page1=applicationProcedureTemporaryService.appletRecordPage(userId,startTime,endTime,status,page,size);
- return CommonResult.ok(page1);
- }
- return CommonResult.fail("无访问权限");
- }
- @Override
- public CommonResult changeDropDown() {
- LambdaQueryWrapper<Users> wrapper=new LambdaQueryWrapper<>();
- wrapper.eq(Users::getDepartment,4);
- List<Users> list = usersService.list(wrapper);
- return CommonResult.ok(list);
- }
- @Override
- public CommonResult appletDetail(Integer department, Integer id) {
- if (department==4) {
- // ApplicationProcedureVo byId = applicationProcedureService.appletDetail(id);
- // return CommonResult.ok(byId);
- //
- // }else if (department==4){
- // 临时人员
- ApplicationProcedureTemporaryVo byId = applicationProcedureTemporaryService.appletDetail(id);
- return CommonResult.ok(byId);
- }
- return CommonResult.fail();
- }
- }
|