Browse Source

流程提交和审核发送微校推送消息

wanxl 1 year ago
parent
commit
7e690e0a71

+ 1 - 1
src/main/java/com/template/component/WeiXiaoComponent.java

@@ -72,7 +72,7 @@ public class WeiXiaoComponent {
             params.put("cards", JSON.toJSONString(cards));
             params.put("cards", JSON.toJSONString(cards));
             params.put("title", title);
             params.put("title", title);
             params.put("content", content);
             params.put("content", content);
-            params.put("sender", "智慧公寓");
+            params.put("sender", "研究生公寓");
             params.put("digest", digest);
             params.put("digest", digest);
 //            if (customs != null && customs.size() == 2) {
 //            if (customs != null && customs.size() == 2) {
 //                params.put("customs", mapper.writeValueAsString(customs));
 //                params.put("customs", mapper.writeValueAsString(customs));

+ 96 - 12
src/main/java/com/template/controller/ApplicationProcedureTemporaryController.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.template.api.ApplicationProcedureTemporaryControllerAPI;
 import com.template.api.ApplicationProcedureTemporaryControllerAPI;
 import com.template.common.utils.TimeExchange;
 import com.template.common.utils.TimeExchange;
+import com.template.component.WeiXiaoComponent;
 import com.template.model.dto.AppletApprovalProcessDto;
 import com.template.model.dto.AppletApprovalProcessDto;
 import com.template.model.dto.ApplicationProcedureTemporaryDto;
 import com.template.model.dto.ApplicationProcedureTemporaryDto;
 import com.template.model.dto.ApprovalProcessDto;
 import com.template.model.dto.ApprovalProcessDto;
@@ -14,9 +15,11 @@ import com.template.model.result.CommonResult;
 import com.template.model.result.PageUtils;
 import com.template.model.result.PageUtils;
 import com.template.model.vo.ApplicationProcedureTemporaryVo;
 import com.template.model.vo.ApplicationProcedureTemporaryVo;
 import com.template.services.*;
 import com.template.services.*;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.StringUtils;
 import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
 import java.text.ParseException;
 import java.text.ParseException;
@@ -62,6 +65,9 @@ public class ApplicationProcedureTemporaryController implements ApplicationProce
     @Autowired
     @Autowired
     OrganizationService organizationService;
     OrganizationService organizationService;
 
 
+    @Autowired
+    WeiXiaoComponent weiXiaoComponent;
+
     @Override
     @Override
     public CommonResult save(ApplicationProcedureTemporaryDto applicationProcedureDto) {
     public CommonResult save(ApplicationProcedureTemporaryDto applicationProcedureDto) {
         if (ObjectUtils.isEmpty(applicationProcedureDto)) {
         if (ObjectUtils.isEmpty(applicationProcedureDto)) {
@@ -115,18 +121,15 @@ public class ApplicationProcedureTemporaryController implements ApplicationProce
             }
             }
         }
         }
         List<Admin> admins=adminService.list(new QueryWrapper<>());
         List<Admin> admins=adminService.list(new QueryWrapper<>());
-        String orgId=usersService.getById(usersId).getOrganId();
+        Users users=usersService.getById(usersId);
+        String orgId=users.getOrganId();
         if(ObjectUtils.isEmpty(organizationService.getById(orgId))){
         if(ObjectUtils.isEmpty(organizationService.getById(orgId))){
             return CommonResult.fail("身份异常,申请提交失败");
             return CommonResult.fail("身份异常,申请提交失败");
         }
         }
-        boolean flag =true;
-        for(Admin admin:admins){
-            if (StringUtils.hasText(admin.getCheckOrg())&&admin.getCheckOrg().indexOf(orgId) > 0) {
-                flag =false;
-                break;
-            }
-        }
-        if(flag){
+        ArrayList<String> strings = new ArrayList<>();
+        strings=this.getCardNumbers(strings,admins,orgId);
+
+        if(strings.isEmpty()){
             return CommonResult.fail("您暂无审批人,请联系管理员添加");
             return CommonResult.fail("您暂无审批人,请联系管理员添加");
         }
         }
         ApplicationProcedureTemporary applicationProcedure = new ApplicationProcedureTemporary();
         ApplicationProcedureTemporary applicationProcedure = new ApplicationProcedureTemporary();
@@ -145,6 +148,9 @@ public class ApplicationProcedureTemporaryController implements ApplicationProce
         boolean save = applicationProcedureTemporaryService.save(applicationProcedure);
         boolean save = applicationProcedureTemporaryService.save(applicationProcedure);
 
 
         if (save) {
         if (save) {
+            String content ="姓名:"+users.getUserName()+";开始时间:"+applicationProcedure.getStartTime()+"。结束时间:"+applicationProcedure.getEndTime()
+                    +"。原因:"+applicationProcedure.getReasonApplication()+"。";
+            weiXiaoComponent.sendNotice(strings,"有一条新增审核", "审批通知",content,null);
             return CommonResult.ok();
             return CommonResult.ok();
         }
         }
 
 
@@ -258,6 +264,7 @@ public class ApplicationProcedureTemporaryController implements ApplicationProce
 
 
         DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
         DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
 
 
+        Users users=usersService.getById(applicationProcedure.getUsersId());
 
 
 //      当只需要审核一次
 //      当只需要审核一次
         if ("1".equals(approverType)) {
         if ("1".equals(approverType)) {
@@ -274,6 +281,11 @@ public class ApplicationProcedureTemporaryController implements ApplicationProce
 //            审批备注
 //            审批备注
                 applicationProcedure.setExamineAndApproveRemark(remark);
                 applicationProcedure.setExamineAndApproveRemark(remark);
                 applicationProcedureTemporaryService.updateById(applicationProcedure);
                 applicationProcedureTemporaryService.updateById(applicationProcedure);
+                ArrayList<String> strings = new ArrayList<>();
+                strings.add(users.getCardNumber());
+                String content ="您的审核已通过,开始时间:"+applicationProcedure.getStartTime()+"。结束时间:"+applicationProcedure.getEndTime()
+                        +"。请进入小程序点击预定。";
+                weiXiaoComponent.sendNotice(strings,"您的审核已通过", "审批通知",content,null);
                 return CommonResult.ok();
                 return CommonResult.ok();
             }
             }
             return CommonResult.fail("权限不足");
             return CommonResult.fail("权限不足");
@@ -298,6 +310,11 @@ public class ApplicationProcedureTemporaryController implements ApplicationProce
 //            审批备注
 //            审批备注
             applicationProcedure.setExamineAndApproveRemark(remark);
             applicationProcedure.setExamineAndApproveRemark(remark);
             applicationProcedureTemporaryService.updateById(applicationProcedure);
             applicationProcedureTemporaryService.updateById(applicationProcedure);
+            ArrayList<String> strings = new ArrayList<>();
+            strings.add(users.getCardNumber());
+            String content ="您的审核已通过,开始时间:"+applicationProcedure.getStartTime()+"。结束时间:"+applicationProcedure.getEndTime()
+                    +"。请进入小程序点击预定。";
+            weiXiaoComponent.sendNotice(strings,"您的审核已通过", "审批通知",content,null);
             return CommonResult.ok();
             return CommonResult.ok();
         }
         }
 
 
@@ -310,9 +327,21 @@ public class ApplicationProcedureTemporaryController implements ApplicationProce
         applicationProcedure.setSecondaryExamineAndApproveTime(LocalDateTime.now().format(dateTimeFormatter1));
         applicationProcedure.setSecondaryExamineAndApproveTime(LocalDateTime.now().format(dateTimeFormatter1));
 //            审批备注
 //            审批备注
         applicationProcedure.setSecondaryExamineAndApproveRemark(remark);
         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);
         boolean update = applicationProcedureTemporaryService.updateById(applicationProcedure);
-        System.out.println("update = " + update);
-
+        String content ="姓名:"+users.getUserName()+";开始时间:"+applicationProcedure.getStartTime()+"。结束时间:"+applicationProcedure.getEndTime()
+                +"。原因:"+applicationProcedure.getReasonApplication()+"。次级审核备注:"+remark;
+        weiXiaoComponent.sendNotice(strings,"有一条新增审核", "审批通知",content,null);
 
 
         return CommonResult.ok();
         return CommonResult.ok();
     }
     }
@@ -364,6 +393,7 @@ public class ApplicationProcedureTemporaryController implements ApplicationProce
 
 
         DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
         DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
 
 
+        Users users=usersService.getById(applicationProcedure.getUsersId());
 
 
 //      当只需要审核一次
 //      当只需要审核一次
         if ("1".equals(approverType)) {
         if ("1".equals(approverType)) {
@@ -381,6 +411,11 @@ public class ApplicationProcedureTemporaryController implements ApplicationProce
 //            审批备注
 //            审批备注
                 applicationProcedure.setExamineAndApproveRemark(remark);
                 applicationProcedure.setExamineAndApproveRemark(remark);
                 applicationProcedureTemporaryService.updateById(applicationProcedure);
                 applicationProcedureTemporaryService.updateById(applicationProcedure);
+                ArrayList<String> strings = new ArrayList<>();
+                strings.add(users.getCardNumber());
+                String content ="您的审核已通过,开始时间:"+applicationProcedure.getStartTime()+"。结束时间:"+applicationProcedure.getEndTime()
+                        +"。请进入小程序点击预定。";
+                weiXiaoComponent.sendNotice(strings,"您的审核已通过", "审批通知",content,null);
                 return CommonResult.ok();
                 return CommonResult.ok();
             }
             }
             return CommonResult.fail("权限不足");
             return CommonResult.fail("权限不足");
@@ -404,6 +439,11 @@ public class ApplicationProcedureTemporaryController implements ApplicationProce
 //            审批备注
 //            审批备注
             applicationProcedure.setExamineAndApproveRemark(remark);
             applicationProcedure.setExamineAndApproveRemark(remark);
             applicationProcedureTemporaryService.updateById(applicationProcedure);
             applicationProcedureTemporaryService.updateById(applicationProcedure);
+            ArrayList<String> strings = new ArrayList<>();
+            strings.add(users.getCardNumber());
+            String content ="您的审核已通过,开始时间:"+applicationProcedure.getStartTime()+"。结束时间:"+applicationProcedure.getEndTime()
+                    +"。请进入小程序点击预定。";
+            weiXiaoComponent.sendNotice(strings,"您的审核已通过", "审批通知",content,null);
             return CommonResult.ok();
             return CommonResult.ok();
         }
         }
 
 
@@ -416,8 +456,21 @@ public class ApplicationProcedureTemporaryController implements ApplicationProce
         applicationProcedure.setSecondaryExamineAndApproveTime(LocalDateTime.now().format(dateTimeFormatter1));
         applicationProcedure.setSecondaryExamineAndApproveTime(LocalDateTime.now().format(dateTimeFormatter1));
 //            审批备注
 //            审批备注
         applicationProcedure.setSecondaryExamineAndApproveRemark(remark);
         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);
         applicationProcedureTemporaryService.updateById(applicationProcedure);
-
+        String content ="姓名:"+users.getUserName()+";开始时间:"+applicationProcedure.getStartTime()+"。结束时间:"+applicationProcedure.getEndTime()
+                +"。原因:"+applicationProcedure.getReasonApplication()+"。次级审核备注:"+remark;
+        weiXiaoComponent.sendNotice(strings,"有一条新增审核", "审批通知",content,null);
 
 
         return CommonResult.ok();
         return CommonResult.ok();
     }
     }
@@ -502,5 +555,36 @@ public class ApplicationProcedureTemporaryController implements ApplicationProce
         }
         }
     }
     }
 
 
+//    @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;
+    }
+
 }
 }