ソースを参照

通风增加推送

gaodd 5 年 前
コミット
f24b02e7af
共有1 個のファイルを変更した183 個の追加84 個の削除を含む
  1. 183 84
      src/main/java/com/unissoft/ventilation/service/impl/ProcessAuditServiceImpl.java

+ 183 - 84
src/main/java/com/unissoft/ventilation/service/impl/ProcessAuditServiceImpl.java

@@ -9,12 +9,15 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
9 9
 import com.google.common.collect.Maps;
10 10
 import com.unissoft.MyConstant;
11 11
 import com.unissoft.dto.ProcessToBeDone;
12
+import com.unissoft.dto.SendNoticeVO;
13
+import com.unissoft.dto.SysNoticeVO;
12 14
 import com.unissoft.dto.ToBeDoneCallbackVO;
13 15
 import com.unissoft.feign.MessageFeign;
14 16
 import com.unissoft.feign.SystemFeign;
15 17
 import com.unissoft.mapper.*;
16 18
 import com.unissoft.model.*;
17 19
 import com.unissoft.result.PageParam;
20
+import com.unissoft.result.ResultView;
18 21
 import com.unissoft.ventilation.service.ProcessAuditService;
19 22
 import com.unissoft.ventilation.service.ProcessBasisService;
20 23
 import com.unissoft.vo.ProcessToBeDoneVO;
@@ -134,8 +137,47 @@ public class ProcessAuditServiceImpl extends ServiceImpl<ProcessAuditMapper, Pro
134 137
             }
135 138
             processAuditMapper.insert(processAudit);
136 139
         }
137
-
138
-
140
+        
141
+        /*
142
+         * 推送通知数据
143
+         */
144
+        SendNoticeVO sendNoticeVO = new SendNoticeVO();
145
+        SysNoticeVO sysNoticeVO = new SysNoticeVO();
146
+        Map<Integer, String> users = new HashMap<Integer, String>();
147
+        sysNoticeVO.setNoticeType(20);//申请的时候推送  通知类型:10系统、20待办、30审批通过、40审批不通过、50警告
148
+        Date date = new Date();
149
+        sysNoticeVO.setNoticeTime(date);
150
+        if (type.equals("tf")) {
151
+        	sysNoticeVO.setTitle("机械通风申请");
152
+        	sysNoticeVO.setNoticeModule("tf");
153
+        }
154
+        //根据仓房id获取仓房名称
155
+        ResponseEntity<String> forEntity = restTemplate.getForEntity(MyConstant.SYSTEM_WAREHOUSE + houseId, String.class);
156
+        JSONObject jsonObject = JSON.parseObject(forEntity.getBody());
157
+        BasicsWarehouse ware = JSONObject.toJavaObject(jsonObject, BasicsWarehouse.class);
158
+        if (null != ware) {
159
+            sysNoticeVO.setWarehouse(ware.gethName());
160
+        }
161
+        //获取申请人的信息
162
+        ResponseEntity<String> userInfos = restTemplate.getForEntity(MyConstant.SYSTEM_USER + applyPeople, String.class);
163
+        JSONObject jsonObjectuser = JSON.parseObject(userInfos.getBody());
164
+        SysUserPO userInfo = JSONObject.toJavaObject(jsonObjectuser, SysUserPO.class);
165
+        //赋值
166
+        if (null != userInfo) {
167
+        	sysNoticeVO.setApplyName(userInfo.getPersonnelName());//公司
168
+            sysNoticeVO.setOrgName(userInfo.getDepotName());//申请人
169
+            sysNoticeVO.setApplyDept(userInfo.getDepartmentName());//申请部门
170
+            sysNoticeVO.setCreateBy(applyPeople);
171
+            sysNoticeVO.setContent(userInfo.getDepotName()+"-"+ware.gethName()+"-"+"请审批");
172
+        }
173
+       
174
+        sendNoticeVO.setSysNoticeVO(sysNoticeVO);
175
+        ResponseEntity<String> userInfos1 = restTemplate.getForEntity(MyConstant.SYSTEM_USER + toPeople, String.class);
176
+        JSONObject jsonObjectuser1 = JSON.parseObject(userInfos1.getBody());
177
+        SysUserPO userInfo1 = JSONObject.toJavaObject(jsonObjectuser1, SysUserPO.class);
178
+        users.put(toPeople, userInfo1.getuName());
179
+        sendNoticeVO.setUsers(users);
180
+        ResultView resultView = messageFeign.sendNotice(sendNoticeVO);
139 181
     }
140 182
 
141 183
 
@@ -279,88 +321,145 @@ public class ProcessAuditServiceImpl extends ServiceImpl<ProcessAuditMapper, Pro
279 321
 
280 322
     @Override
281 323
     public void audit(String parameter) {
282
-        // TODO Auto-generated method stub
283
-
284
-        JSONObject jsStr = JSONObject.parseObject(parameter);
285
-        String id = jsStr.getString("id");//audit表的每一条数据的id
286
-        Integer auditState = jsStr.getInteger("auditState");//审批的状态(1通过,2不通过)
287
-        //Integer toPeople = jsStr.getInteger("toPeople"); //下一个审批人的id
288
-        String auditTime = jsStr.getString("auditTime");
289
-        String ongoingStep = jsStr.getString("ongoingStep");
290
-        //判断是第一个人审批还是第二个人审批
291
-		/*QueryWrapper<ProcessAudit> ew = new QueryWrapper<>(); 
292
-        ew.eq("id", id);*/
293
-        ProcessAudit processAudit = processAuditMapper.selectById(id);
294
-
295
-
296
-        if (processAudit.getResult().equals(1) && processAudit.getAuditState().equals(0)) { //审批状态 是0 而且是第一条数据  就是第一次审批
297
-            //第一个人审批
298
-
299
-            //获取审批人
300
-            QueryWrapper<ProcessBasis> ew = new QueryWrapper<>();
301
-            ew.eq("type", processAudit.getType());
302
-            List<ProcessBasis> list = processBasisMapper.selectList(ew);
303
-            List<Integer> idList = new ArrayList<>();
304
-            for (ProcessBasis processBasis : list) {
305
-                idList.add(processBasis.getId());
306
-            }
307
-            QueryWrapper<ProcessBasisSon> ew1 = new QueryWrapper<>();
308
-            ew1.eq("depot_id", processAudit.getDepotId());
309
-            ew1.in("zid", idList);
310
-            List<ProcessBasisSon> sonList = processBasisSonMapper.selectList(ew1);
311
-            Integer toPeople = 0;
312
-            for (int i = 0; i < sonList.size(); i++) {
313
-                if (sonList.get(i).getContent().equals(processAudit.getToPeople())) {
314
-                    toPeople = sonList.get(i + 1).getContent();//下一个审批人的id
315
-                    break;
316
-                }
317
-            }
318
-
319
-            processAudit.setAuditState(auditState);
320
-            processAudit.setAuditTime(auditTime);
321
-            processAuditMapper.updateById(processAudit); //更改此条数据的审批状态
322
-            if (auditState.equals(1)) {//1审批通过:,2:审批不通过
323
-                ProcessAudit processAudit1 = new ProcessAudit();
324
-                processAudit1.setMainId(processAudit.getMainId());
325
-                //processAudit1.setAuditState(auditState);
326
-                //processAudit1.setOperationTime(processAudit.getOperationTime());
327
-                processAudit1.setType(processAudit.getType());
328
-                processAudit1.setHouseId(processAudit.getHouseId());
329
-                processAudit1.setDepotId(processAudit.getDepotId());
330
-                processAudit1.setFromPeople(processAudit.getToPeople());//当前审批人是下一个审批的提交人
331
-                processAudit1.setToPeople(toPeople);
332
-                processAudit1.setResult(0);
333
-                processAudit1.setAuditState(0);//已提交待审批
334
-                processAudit1.setApplyPeople(processAudit.getApplyPeople());
335
-                processAudit1.setProcessId(processAudit.getProcessId());
336
-                processAudit1.setApplyTime(processAudit.getApplyTime());
337
-                if (processAudit.getType().equals("tf")) {
338
-                    processAudit1.setWorkName("机械通风申请");
339
-                }
340
-                processAuditMapper.insert(processAudit1);
341
-            }
342
-        } else {
343
-            //第二个人审批
344
-            //修改第一条数据的状态(历史数据的状态)
345
-            if ((int) auditState >= 3) {
346
-                processAudit.setAuditState(1);
347
-            } else {
348
-                processAudit.setAuditState(auditState);
349
-            }
350
-            processAudit.setAuditTime(auditTime);
351
-            processAuditMapper.updateById(processAudit);
352
-            //修改第二条数据的状态、进行到哪一步、审批时间(最新的数据)
353
-            QueryWrapper<ProcessAudit> ew2 = new QueryWrapper<>();
354
-            ew2.eq("process_id", processAudit.getProcessId());
355
-            ew2.eq("type", processAudit.getType());
356
-            ew2.eq("result", 1);//是第一条记录
357
-            List<ProcessAudit> paList = processAuditMapper.selectList(ew2);
358
-            paList.get(0).setAuditState(auditState);
359
-            paList.get(0).setOngoingStep(ongoingStep);
360
-            processAuditMapper.updateById(paList.get(0));
361
-
362
-        }
363
-
324
+    	 JSONObject jsStr = JSONObject.parseObject(parameter);
325
+         String id = jsStr.getString("id");//audit表的每一条数据的id
326
+         Integer auditState = jsStr.getInteger("auditState");//审批的状态(1通过,2不通过)
327
+         //Integer toPeople = jsStr.getInteger("toPeople"); //下一个审批人的id
328
+         String auditTime = jsStr.getString("auditTime");
329
+         String ongoingStep = jsStr.getString("ongoingStep");
330
+         
331
+         //判断是第一个人审批还是第二个人审批
332
+         ProcessAudit processAudit = processAuditMapper.selectById(id);
333
+
334
+         /**
335
+          * 定义 推送
336
+          */
337
+         SendNoticeVO sendNoticeVO = new SendNoticeVO();
338
+         SysNoticeVO sysNoticeVO = new SysNoticeVO();
339
+         Map<Integer, String> users = new HashMap<Integer, String>();
340
+         Date date = new Date();
341
+         sysNoticeVO.setNoticeTime(date);
342
+         if (processAudit.getType().equals("tf")) {
343
+         	sysNoticeVO.setTitle("机械通风申请");
344
+         	sysNoticeVO.setNoticeModule("tf");
345
+         }
346
+         //根据仓房id获取仓房名称
347
+         ResponseEntity<String> forEntity = restTemplate.getForEntity(MyConstant.SYSTEM_WAREHOUSE + processAudit.getHouseId(), String.class);
348
+         JSONObject jsonObject = JSON.parseObject(forEntity.getBody());
349
+         BasicsWarehouse ware = JSONObject.toJavaObject(jsonObject, BasicsWarehouse.class);
350
+         if (null != ware) {
351
+             sysNoticeVO.setWarehouse(ware.gethName());
352
+         }
353
+         //获取申请人的信息
354
+         ResponseEntity<String> userInfos = restTemplate.getForEntity(MyConstant.SYSTEM_USER + processAudit.getApplyPeople(), String.class);
355
+         JSONObject jsonObjectuser = JSON.parseObject(userInfos.getBody());
356
+         SysUserPO userInfo = JSONObject.toJavaObject(jsonObjectuser, SysUserPO.class);
357
+         //赋值
358
+         if (null != userInfo) {
359
+         	sysNoticeVO.setApplyName(userInfo.getPersonnelName());//公司
360
+             sysNoticeVO.setOrgName(userInfo.getDepotName());//申请人
361
+             sysNoticeVO.setApplyDept(userInfo.getDepartmentName());//申请部门
362
+             sysNoticeVO.setCreateBy(processAudit.getApplyPeople());
363
+         }
364
+         
365
+         if (processAudit.getResult().equals(1) && processAudit.getAuditState().equals(0)) { //审批状态 是0 而且是第一条数据  就是第一次审批
366
+             //第一个人审批
367
+
368
+             //获取审批人
369
+             QueryWrapper<ProcessBasis> ew = new QueryWrapper<>();
370
+             ew.eq("type", processAudit.getType());
371
+             List<ProcessBasis> list = processBasisMapper.selectList(ew);
372
+             List<Integer> idList = new ArrayList<>();
373
+             for (ProcessBasis processBasis : list) {
374
+                 idList.add(processBasis.getId());
375
+             }
376
+             QueryWrapper<ProcessBasisSon> ew1 = new QueryWrapper<>();
377
+             ew1.eq("depot_id", processAudit.getDepotId());
378
+             ew1.in("zid", idList);
379
+             List<ProcessBasisSon> sonList = processBasisSonMapper.selectList(ew1);
380
+             Integer toPeople = 0;
381
+             for (int i = 0; i < sonList.size(); i++) {
382
+                 if (sonList.get(i).getContent().equals(processAudit.getToPeople())) {
383
+                     toPeople = sonList.get(i + 1).getContent();//下一个审批人的id
384
+                     break;
385
+                 }
386
+             }
387
+
388
+             processAudit.setAuditState(auditState);
389
+             processAudit.setAuditTime(auditTime);
390
+             processAuditMapper.updateById(processAudit); //更改此条数据的审批状态
391
+             if (auditState.equals(1)) {//1审批通过:,2:审批不通过
392
+                 ProcessAudit processAudit1 = new ProcessAudit();
393
+                 processAudit1.setMainId(processAudit.getMainId());
394
+                 //processAudit1.setAuditState(auditState);
395
+                 //processAudit1.setOperationTime(processAudit.getOperationTime());
396
+                 processAudit1.setType(processAudit.getType());
397
+                 processAudit1.setHouseId(processAudit.getHouseId());
398
+                 processAudit1.setDepotId(processAudit.getDepotId());
399
+                 processAudit1.setFromPeople(processAudit.getToPeople());//当前审批人是下一个审批的提交人
400
+                 processAudit1.setToPeople(toPeople);
401
+                 processAudit1.setResult(0);
402
+                 processAudit1.setAuditState(0);//已提交待审批
403
+                 processAudit1.setApplyPeople(processAudit.getApplyPeople());
404
+                 processAudit1.setProcessId(processAudit.getProcessId());
405
+                 processAudit1.setApplyTime(processAudit.getApplyTime());
406
+                 if (processAudit.getType().equals("tf")) {
407
+                     processAudit1.setWorkName("机械通风申请");
408
+                 }
409
+                 processAuditMapper.insert(processAudit1);
410
+                 
411
+                 /**
412
+                  * 发送通知数据给下一审批人
413
+                  */
414
+                 sysNoticeVO.setContent(userInfo.getDepotName()+"-"+ware.gethName()+"-"+"审批通过");
415
+                 sysNoticeVO.setNoticeType(30);//申请的时候推送  通知类型:10系统、20待办、30审批通过、40审批不通过、50警告
416
+                //获取下一审批人的信息
417
+                 ResponseEntity<String> userInfos1 = restTemplate.getForEntity(MyConstant.SYSTEM_USER + processAudit.getApplyPeople(), String.class);
418
+                 JSONObject jsonObjectuser1 = JSON.parseObject(userInfos1.getBody());
419
+                 SysUserPO userInfo1 = JSONObject.toJavaObject(jsonObjectuser1, SysUserPO.class);
420
+                 users.put(processAudit.getToPeople(), userInfo1.getuName());
421
+                 
422
+             }else{//不通过 发送数据给申请人
423
+             	sysNoticeVO.setContent(userInfo.getDepotName()+"-"+ware.gethName()+"-"+"审批不通过");
424
+                 sysNoticeVO.setNoticeType(40);//申请的时候推送  通知类型:10系统、20待办、30审批通过、40审批不通过、50警告
425
+                 users.put(processAudit.getApplyPeople(), userInfo.getuName());
426
+             }
427
+         } else {
428
+             //第二个人审批
429
+             //修改第一条数据的状态(历史数据的状态)
430
+             if ((int) auditState >= 3) {
431
+                 processAudit.setAuditState(1);
432
+             } else {
433
+                 processAudit.setAuditState(auditState);
434
+             }
435
+             processAudit.setAuditTime(auditTime);
436
+             processAuditMapper.updateById(processAudit);
437
+             //修改第二条数据的状态、进行到哪一步、审批时间(最新的数据)
438
+             QueryWrapper<ProcessAudit> ew2 = new QueryWrapper<>();
439
+             ew2.eq("process_id", processAudit.getProcessId());
440
+             ew2.eq("type", processAudit.getType());
441
+             ew2.eq("result", 1);//是第一条记录
442
+             List<ProcessAudit> paList = processAuditMapper.selectList(ew2);
443
+             paList.get(0).setAuditState(auditState);
444
+             paList.get(0).setOngoingStep(ongoingStep);
445
+             processAuditMapper.updateById(paList.get(0));
446
+             
447
+             /**
448
+              * 发送通知数据给申请人
449
+              */
450
+
451
+             if((int) auditState >= 3 || (int) auditState ==1){
452
+             	sysNoticeVO.setNoticeType(30);//申请的时候推送  通知类型:10系统、20待办、30审批通过、40审批不通过、50警告
453
+             	sysNoticeVO.setContent(userInfo.getDepotName()+"-"+ware.gethName()+"-"+"审批通过");
454
+             }else if((int) auditState == 2){
455
+             	sysNoticeVO.setNoticeType(40);//申请的时候推送  通知类型:10系统、20待办、30审批通过、40审批不通过、50警告
456
+             	sysNoticeVO.setContent(userInfo.getDepotName()+"-"+ware.gethName()+"-"+"审批不通过");
457
+             }
458
+             users.put(processAudit.getApplyPeople(), userInfo.getuName());
459
+         }
460
+         sendNoticeVO.setUsers(users);
461
+         sendNoticeVO.setSysNoticeVO(sysNoticeVO);
462
+         ResultView resultView = messageFeign.sendNotice(sendNoticeVO);
364 463
     }
365 464
 
366 465