| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644 |
- package com.template.controller;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
- import com.template.api.ApplicationProcedureTemporaryControllerAPI;
- import com.template.common.utils.TimeExchange;
- import com.template.component.WeiXiaoComponent;
- import com.template.model.dto.AppletApprovalProcessDto;
- import com.template.model.dto.ApplicationProcedureTemporaryDto;
- 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.ApplicationProcedureTemporaryVo;
- import com.template.services.*;
- import io.swagger.annotations.ApiOperation;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.util.StringUtils;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.RestController;
- import java.text.ParseException;
- import java.time.LocalDateTime;
- import java.time.format.DateTimeFormatter;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Calendar;
- import java.util.List;
- import java.util.stream.Collectors;
- /**
- * <p>
- * 前端控制器
- * </p>
- *
- * @author ceshi
- * @since 2024-03-05
- */
- @RestController
- @Slf4j
- //加密
- //@DESRespondSecret
- public class ApplicationProcedureTemporaryController implements ApplicationProcedureTemporaryControllerAPI {
- @Autowired
- ApplicationProcedureTemporaryService applicationProcedureTemporaryService;
- @Autowired
- ApplicationProcedureSettingService applicationProcedureSettingService;
- @Autowired
- PermissionSettingService permissionSettingService;
- @Autowired
- AdminMenuService adminMenuService;
- @Autowired
- AdminService adminService;
- @Autowired
- UsersService usersService;
- @Autowired
- OrganizationService organizationService;
- @Autowired
- WeiXiaoComponent weiXiaoComponent;
- @Override
- public CommonResult save(ApplicationProcedureTemporaryDto applicationProcedureDto) {
- log.info("入参"+applicationProcedureDto.toString());
- if (ObjectUtils.isEmpty(applicationProcedureDto)) {
- return CommonResult.fail();
- }
- //一周可定天数可优化为前台配置
- int countConfig=2;
- Integer usersId = applicationProcedureDto.getUsersId();
- // 一个人只能有一个待审批的
- List<ApplicationProcedureTemporary> list = applicationProcedureTemporaryService.list(new QueryWrapper<ApplicationProcedureTemporary>()
- .eq("users_id", usersId)
- .ne("status", "0"));
- String startDto=applicationProcedureDto.getStartTime();
- String endDto=applicationProcedureDto.getEndTime();
- //周日-周1为上周
- int dtoCount=checkWeek(startDto,endDto);
- if(startDto.compareTo(endDto)>=0){
- log.info("开始时间不能大于结束时间");
- return CommonResult.fail("开始时间不能大于结束时间");
- }
- if(dtoCount==-1||dtoCount>countConfig){
- log.info("申请日期不能跨周,一周不能超过"+countConfig+"天,请重新申请");
- return CommonResult.fail("申请日期不能跨周,一周不能超过"+countConfig+"天,请重新申请");
- }
- //筛选同一周数据
- if (!list.isEmpty()){
- String[] arr =TimeExchange.getCurrentWeekTimeFrame(startDto);
- //开始时间为本周
- list=list.stream().filter(a -> a.getStartTime().substring(0,10).compareTo(arr[0])>=0&&a.getStartTime().substring(0,10).compareTo(arr[1])<=0)
- .collect(Collectors.toList());
- }
- if (!list.isEmpty()) {
- int aa =0;
- for (ApplicationProcedureTemporary apt : list) {
- if (apt.getEndTime().substring(0,10).equals(endDto.substring(0,10))
- || apt.getStartTime().substring(0,10).equals(startDto.substring(0,10))) {
- log.info("相同日期已有待审批申请,请勿重复申请");
- return CommonResult.fail("相同日期已有待审批申请,请勿重复申请");
- }
- aa=checkWeek(apt.getStartTime(),apt.getEndTime())+aa;
- //已申请+本次大于配置数量则不能申请
- if(countConfig<aa+dtoCount){
- log.info("总申请天数超过本周限额");
- return CommonResult.fail("总申请天数超过本周限额");
- }
- try {
- boolean a = TimeExchange.CompareDate(apt.getEndTime(), startDto, "yyyy-MM-dd");
- a= apt.getEndTime().substring(0, 10).equals(startDto.substring(0,10)) || a;
- boolean b = TimeExchange.CompareDate(endDto, apt.getStartTime(), "yyyy-MM-dd");
- b= apt.getStartTime().substring(0, 10).equals(endDto.substring(0,10)) || b;
- if (!(a || b)) {
- log.info("日期范围内已有待审批申请");
- return CommonResult.fail("日期范围内已有待审批申请");
- }
- } catch (ParseException e) {
- throw new RuntimeException(e);
- }
- }
- }
- List<Admin> admins=adminService.list(new QueryWrapper<>());
- Users users=usersService.getById(usersId);
- String orgId=users.getOrganId();
- if(ObjectUtils.isEmpty(organizationService.getById(orgId))){
- log.info("身份异常,申请提交失败");
- return CommonResult.fail("身份异常,申请提交失败");
- }
- ArrayList<String> strings = new ArrayList<>();
- strings=this.getCardNumbers(strings,admins,orgId);
- if(strings.isEmpty()){
- log.info("您暂无审批人,请联系管理员添加");
- return CommonResult.fail("您暂无审批人,请联系管理员添加");
- }
- ApplicationProcedureTemporary applicationProcedure = new ApplicationProcedureTemporary();
- 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 = applicationProcedureTemporaryService.save(applicationProcedure);
- if (save) {
- String content ="姓名:"+users.getUserName()+";开始时间:"+applicationProcedure.getStartTime()+"。结束时间:"+applicationProcedure.getEndTime()
- +"。原因:"+applicationProcedure.getReasonApplication()+"。";
- weiXiaoComponent.sendNotice(strings,"有一条新增审核", "审批通知",content,null);
- return CommonResult.ok();
- }
- return CommonResult.fail();
- }
- @Override
- public CommonResult list(int adminMenuId, String submissionStartTime, String submissionEndTime, String examineAndApproveStartTime, String examineAndApproveEndTime, String type, String department,String OrgIds, 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;
- }
- PageUtils<ApplicationProcedureTemporaryVo> pageList = new PageUtils(new ArrayList(),0,size,page);
- if(!StringUtils.hasText(OrgIds)){
- return CommonResult.ok(pageList);
- }
- String[] arr=OrgIds.replaceAll(" ","").split(",");
- List<String> orgList = new ArrayList<>(Arrays.asList(arr));
- 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();
- //审批一次,角色等级不为0
- if ("1".equals(approverType)) {
- pageList = applicationProcedureTemporaryService.pageList(submissionStartTime, submissionEndTime, examineAndApproveStartTime, examineAndApproveEndTime, type, department, key, page, size,orgList);
- return CommonResult.ok(pageList);
- }
- if (parentId == 0) {
- // 全部则是没有待审批的全部
- if (ObjectUtils.isEmpty(type)) {
- type = "0,2,3";
- }
- pageList = applicationProcedureTemporaryService.parentPageList(submissionStartTime, submissionEndTime, examineAndApproveStartTime, examineAndApproveEndTime, type, department, key, page, size,orgList);
- return CommonResult.ok(pageList);
- }
- pageList = applicationProcedureTemporaryService.pageList(submissionStartTime, submissionEndTime, examineAndApproveStartTime, examineAndApproveEndTime, type, department, key, page, size,orgList);
- 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();
- ApplicationProcedureTemporary applicationProcedure = applicationProcedureTemporaryService.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");
- Users users=usersService.getById(applicationProcedure.getUsersId());
- // 当只需要审核一次
- if ("1".equals(approverType)) {
- // 只有最高级才能审批
- // 当为最高审批人
- if (parentId == 0) {
- String content ="您的申请未能通过审核,开始时间:"+applicationProcedure.getStartTime()+"。结束时间:"+applicationProcedure.getEndTime()
- +"。拒绝原因:"+approvalProcessDto.getRemark()+"。";
- String digest ="您的申请未能通过审核";
- if ("1".equals(status)) {
- status = "3";
- content ="您的申请审核已通过,开始时间:"+applicationProcedure.getStartTime()+"。结束时间:"+applicationProcedure.getEndTime()
- +"。请进入小程序点击预定。";
- digest ="您的申请审核已通过";
- }
- applicationProcedure.setStatus(status);
- applicationProcedure.setApproverId(adminId);
- // 审批时间
- applicationProcedure.setExamineAndApproveTime(LocalDateTime.now().format(dateTimeFormatter1));
- // 审批备注
- applicationProcedure.setExamineAndApproveRemark(remark);
- applicationProcedureTemporaryService.updateById(applicationProcedure);
- ArrayList<String> strings = new ArrayList<>();
- strings.add(users.getCardNumber());
- weiXiaoComponent.sendNotice(strings,digest, "审批通知",content,null);
- return CommonResult.ok();
- }
- return CommonResult.fail("权限不足");
- }
- // 当为最高审批人
- if (parentId == 0) {
- // 先判断是否已经被审批了
- if (!"2".equals(applicationProcedureStatus)) {
- // 当不是处理中时则无法审批
- return CommonResult.fail("当前无法审批");
- }
- String content ="您的申请未能通过审核,开始时间:"+applicationProcedure.getStartTime()+"。结束时间:"+applicationProcedure.getEndTime()
- +"。拒绝原因:"+approvalProcessDto.getRemark()+"。";
- String digest ="您的申请未能通过审核";
- if ("1".equals(status)) {
- status = "3";
- content ="您的申请审核已通过,开始时间:"+applicationProcedure.getStartTime()+"。结束时间:"+applicationProcedure.getEndTime()
- +"。请进入小程序点击预定。";
- digest ="您的申请审核已通过";
- }
- applicationProcedure.setStatus(status);
- applicationProcedure.setApproverId(adminId);
- // 审批时间
- applicationProcedure.setExamineAndApproveTime(LocalDateTime.now().format(dateTimeFormatter1));
- // 审批备注
- applicationProcedure.setExamineAndApproveRemark(remark);
- applicationProcedureTemporaryService.updateById(applicationProcedure);
- ArrayList<String> strings = new ArrayList<>();
- strings.add(users.getCardNumber());
- weiXiaoComponent.sendNotice(strings,digest, "审批通知",content,null);
- return CommonResult.ok();
- }
- String content1 ="您的申请未能通过初次审核,开始时间:"+applicationProcedure.getStartTime()+"。结束时间:"+applicationProcedure.getEndTime()
- +"。拒绝原因:"+approvalProcessDto.getRemark()+"。";
- String digest ="未能通过初次审核";
- if ("1".equals(status)) {
- status = "2";
- content1 ="您的申请初次审核已通过,开始时间:"+applicationProcedure.getStartTime()+"。结束时间:"+applicationProcedure.getEndTime()
- +"。目前尚待最终审批流程,请您耐心等候。";
- digest ="初次审核已通过";
- }
- applicationProcedure.setStatus(status);
- applicationProcedure.setSecondaryApproverId(adminId);
- // 审批时间
- applicationProcedure.setSecondaryExamineAndApproveTime(LocalDateTime.now().format(dateTimeFormatter1));
- // 审批备注
- applicationProcedure.setSecondaryExamineAndApproveRemark(remark);
- ArrayList<String> strings = new ArrayList<>();
- List<Admin> admins=adminService.list(new QueryWrapper<Admin>().eq("admin_menu_id",parentId));
- for(Admin admin:admins){
- if (StringUtils.hasText(admin.getCheckOrg())&&admin.getCheckOrg().indexOf(users.getOrganId()) > 0) {
- Users adminUser=usersService.getById(admin.getUsersId());
- strings.add(adminUser.getCardNumber());
- }
- }
- if(strings.isEmpty()){
- return CommonResult.fail("该流程没有上级审核人员,请联系管理员添加该部门上级审核角色");
- }
- boolean update = applicationProcedureTemporaryService.updateById(applicationProcedure);
- String content ="姓名:"+users.getUserName()+";开始时间:"+applicationProcedure.getStartTime()+"。结束时间:"+applicationProcedure.getEndTime()
- +"。原因:"+applicationProcedure.getReasonApplication()+"。次级审核备注:"+remark;
- //发给下级审批人员
- if(!"0".equals(status)){
- weiXiaoComponent.sendNotice(strings,"有一条新增审核", "审批通知",content,null);
- }
- //发给申请人
- strings.add(users.getCardNumber());
- weiXiaoComponent.sendNotice(strings,digest, "审批通知",content1,null);
- 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("此账号暂无该权限");
- }
- ApplicationProcedureTemporary applicationProcedure = applicationProcedureTemporaryService.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");
- Users users=usersService.getById(applicationProcedure.getUsersId());
- // 当只需要审核一次
- if ("1".equals(approverType)) {
- // 只有最高级才能审批
- // 当为最高审批人
- if (parentId == 0) {
- String content ="您的申请未能通过审核,开始时间:"+applicationProcedure.getStartTime()+"。结束时间:"+applicationProcedure.getEndTime()
- +"。拒绝原因:"+appletApprovalProcessDto.getRemark()+"。";
- String digest ="您的申请未能通过审核";
- if ("1".equals(status)) {
- status = "3";
- content ="您的申请审核已通过,开始时间:"+applicationProcedure.getStartTime()+"。结束时间:"+applicationProcedure.getEndTime()
- +"。请进入小程序点击预定。";
- digest ="您的申请审核已通过";
- }
- applicationProcedure.setStatus(status);
- applicationProcedure.setApproverId(adminId);
- // 审批时间
- applicationProcedure.setExamineAndApproveTime(LocalDateTime.now().format(dateTimeFormatter1));
- // 审批备注
- applicationProcedure.setExamineAndApproveRemark(remark);
- applicationProcedureTemporaryService.updateById(applicationProcedure);
- ArrayList<String> strings = new ArrayList<>();
- strings.add(users.getCardNumber());
- weiXiaoComponent.sendNotice(strings,digest, "审批通知",content,null);
- return CommonResult.ok();
- }
- return CommonResult.fail("权限不足");
- }
- // 当为最高审批人
- if (parentId == 0) {
- // 先判断是否已经被审批了
- if (!"2".equals(applicationProcedureStatus)) {
- // 当不是处理中时则无法审批
- return CommonResult.fail("当前无法审批");
- }
- String content ="申请未能通过审核,开始时间:"+applicationProcedure.getStartTime()+"。结束时间:"+applicationProcedure.getEndTime()
- +"。拒绝原因:"+appletApprovalProcessDto.getRemark()+"。";
- String digest ="您的申请未能通过审核";
- if ("1".equals(status)) {
- status = "3";
- content ="您的申请审核已通过,开始时间:"+applicationProcedure.getStartTime()+"。结束时间:"+applicationProcedure.getEndTime()
- +"。请进入小程序点击预定。";
- digest ="您的申请审核已通过";
- }
- applicationProcedure.setStatus(status);
- applicationProcedure.setApproverId(adminId);
- // 审批时间
- applicationProcedure.setExamineAndApproveTime(LocalDateTime.now().format(dateTimeFormatter1));
- // 审批备注
- applicationProcedure.setExamineAndApproveRemark(remark);
- applicationProcedureTemporaryService.updateById(applicationProcedure);
- ArrayList<String> strings = new ArrayList<>();
- strings.add(users.getCardNumber());
- weiXiaoComponent.sendNotice(strings,digest, "审批通知",content,null);
- return CommonResult.ok();
- }
- String content1 ="申请未能通过审核,开始时间:"+applicationProcedure.getStartTime()+"。结束时间:"+applicationProcedure.getEndTime()
- +"。拒绝原因:"+appletApprovalProcessDto.getRemark()+"。";
- String digest ="您的申请未能通过审核";
- if ("1".equals(status)) {
- status = "2";
- content1 ="已顺利通过初审环节,开始时间:"+applicationProcedure.getStartTime()+"。结束时间:"+applicationProcedure.getEndTime()
- +"。目前尚待最终审批流程,请您耐心等候。";
- digest ="已顺利通过初审环节";
- }
- applicationProcedure.setStatus(status);
- applicationProcedure.setSecondaryApproverId(adminId);
- // 审批时间
- applicationProcedure.setSecondaryExamineAndApproveTime(LocalDateTime.now().format(dateTimeFormatter1));
- // 审批备注
- applicationProcedure.setSecondaryExamineAndApproveRemark(remark);
- ArrayList<String> strings = new ArrayList<>();
- List<Admin> admins=adminService.list(new QueryWrapper<Admin>().eq("admin_menu_id",parentId));
- for(Admin admin:admins){
- if (StringUtils.hasText(admin.getCheckOrg())&&admin.getCheckOrg().indexOf(users.getOrganId()) > 0) {
- Users adminUser=usersService.getById(admin.getUsersId());
- strings.add(adminUser.getCardNumber());
- }
- }
- if(strings.isEmpty()){
- return CommonResult.fail("该流程没有上级审核人员,请联系管理员添加该部门上级审核角色");
- }
- applicationProcedureTemporaryService.updateById(applicationProcedure);
- String content ="姓名:"+users.getUserName()+";开始时间:"+applicationProcedure.getStartTime()+"。结束时间:"+applicationProcedure.getEndTime()
- +"。原因:"+applicationProcedure.getReasonApplication()+"。次级审核备注:"+remark;
- //发给下级审批人员
- if(!"0".equals(status)){
- weiXiaoComponent.sendNotice(strings,"有一条新增审核", "审批通知",content,null);
- }
- //发给申请人
- strings.add(users.getCardNumber());
- weiXiaoComponent.sendNotice(strings,digest, "审批通知",content1,null);
- return CommonResult.ok();
- }
- @Override
- public CommonResult appletList(int adminMenuId, String startTime, String endTime, String status,String OrgIds, int page, int size) {
- if (ObjectUtils.isEmpty(page) || page <= 0) {
- page = 1;
- }
- if (ObjectUtils.isEmpty(size) || size <= 0) {
- size = 10;
- }
- PageUtils<ApplicationProcedureTemporaryVo> pageList = new PageUtils(new ArrayList(),0,size,page);
- if(!StringUtils.hasText(OrgIds)){
- return CommonResult.ok(pageList);
- }
- String[] arr=OrgIds.replaceAll(" ","").split(",");
- List<String> orgList = new ArrayList<>(Arrays.asList(arr));
- 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();
- //审批一次,角色等级不为0
- if ("1".equals(approverType)) {
- if (parentId != 0) {
- return CommonResult.fail("暂无查看权限");
- } else {
- pageList = applicationProcedureTemporaryService.pageAppletList(startTime, endTime, status, page, size,orgList);
- return CommonResult.ok(pageList);
- }
- }
- if (parentId == 0) {
- // 全部则是没有待审批的全部
- if (ObjectUtils.isEmpty(status)) {
- status = "0,2,3";
- }
- pageList = applicationProcedureTemporaryService.parentAppletPageList(startTime, endTime, status, page, size,orgList);
- return CommonResult.ok(pageList);
- }
- pageList = applicationProcedureTemporaryService.pageAppletList(startTime, endTime, status, page, size,orgList);
- return CommonResult.ok(pageList);
- }
- //region 获取是否跨周 且不超过两天
- public static int checkWeek(String strDate1,String strDate2) {
- Calendar calendar = Calendar.getInstance();
- calendar.setTime(TimeExchange.StringToDate(strDate1,"yyyy-MM-dd"));
- int week = calendar.get(Calendar.WEEK_OF_YEAR);
- int month = calendar.get(Calendar.MONTH);
- if(week==1&&month==11){
- week=53;
- }
- int day = calendar.get(Calendar.DAY_OF_WEEK)-1;
- if (day==0){
- day=7;
- week=week-1;
- }
- Calendar calendar1 = Calendar.getInstance();
- calendar1.setTime(TimeExchange.StringToDate(strDate2,"yyyy-MM-dd"));
- int week1 = calendar1.get(Calendar.WEEK_OF_YEAR);
- int month1 = calendar1.get(Calendar.MONTH);
- if(week1==1&&month1==11){
- week1=53;
- }
- int day1 = calendar1.get(Calendar.DAY_OF_WEEK)-1;
- if (day1==0){
- day1=7;
- week1=week1-1;
- }
- if(week==week1||week-week1==52){
- return day1-day;
- }else if (week+1==week1&&day1==1){
- return day1+7-day;
- }else{
- return -1;
- }
- }
- // @GetMapping("/test")
- // @ApiOperation(value = "小程序-临时人员流程管理展示", notes = "小程序-临时人员流程管理展示", httpMethod = "GET")
- // CommonResult test(){
- // ArrayList<String> strings = new ArrayList<>();
- // strings.add("20240702");
- // weiXiaoComponent.sendNotice(strings,"公寓办理入住成功", "办理入住成功","content",null);
- // return null;
- // };
- //获取下一级审批人员微校卡号集合
- private ArrayList<String> getCardNumbers(ArrayList<String> strings,List<Admin> admins,String orgId){
- List<ApplicationProcedureSetting> list = applicationProcedureSettingService.list(new LambdaQueryWrapper<>());
- ApplicationProcedureSetting applicationProcedureSetting = list.get(0);
- String approverType = applicationProcedureSetting.getApproverType();
- for(Admin admin:admins){
- if (StringUtils.hasText(admin.getCheckOrg())&&admin.getCheckOrg().indexOf(orgId) >= 0) {
- if ("1".equals(approverType)) {
- Users users=usersService.getById(admin.getUsersId());
- strings.add(users.getCardNumber());
- }else{
- AdminMenu byId = adminMenuService.getById(admin.getAdminMenuId());
- if(byId.getParentId()!=0){
- Users users=usersService.getById(admin.getUsersId());
- strings.add(users.getCardNumber());
- }
- }
- }
- }
- return strings;
- }
- }
|