Selaa lähdekoodia

撤销审批功能修改

梁世豪 10 kuukautta sitten
vanhempi
commit
47d77b94c1

+ 103 - 6
src/main/java/com/liang/controller/StaBudgetapprovalController.java

@@ -12,10 +12,12 @@ import com.liang.common.exception.CustomException;
12 12
 import com.liang.entity.*;
13 13
 import com.liang.service.*;
14 14
 import io.swagger.annotations.ApiOperation;
15
+import lombok.Synchronized;
15 16
 import org.springframework.data.domain.Page;
16 17
 import org.springframework.data.domain.PageRequest;
17 18
 import org.springframework.http.ResponseEntity;
18 19
 import org.springframework.stereotype.Controller;
20
+import org.springframework.transaction.annotation.Transactional;
19 21
 import org.springframework.ui.Model;
20 22
 import org.springframework.web.bind.annotation.*;
21 23
 
@@ -56,6 +58,10 @@ public class StaBudgetapprovalController extends BaseController {
56 58
     private CyyService cyyService;
57 59
     @Resource
58 60
     private SysUserInfoService sysUserInfoService;
61
+    @Resource
62
+    private  SysUserPostService sysUserPostService;
63
+    @Resource
64
+    private  SysDeptInfoService sysDeptInfoService;
59 65
 
60 66
 
61 67
     /**
@@ -236,8 +242,100 @@ public class StaBudgetapprovalController extends BaseController {
236 242
      */
237 243
     @ResponseBody
238 244
     @RequestMapping(value = "/TJrevokeApprove", method = RequestMethod.POST)
245
+    @Transactional
239 246
     public BaseResult TJrevokeApprove(@RequestBody String data) {
240
-// PrjProject rws = JsonTool.parseObject(data, PrjProject.class);
247
+        StaBudgetapproval fysq = JsonTool.parseObject(data, StaBudgetapproval.class);
248
+        SysUserInfo userInfo = getSysUserInfo();
249
+        int num;
250
+        int temp;
251
+        String spzt = fysq.getSpzt();
252
+        switch (spzt) {
253
+            case "主管院领导审批":
254
+                fysq.setSpzt("科技部部门主任审批");
255
+                break;
256
+            case "科技部部门主任审批":
257
+                fysq.setSpzt("科技项目管理专责审批");
258
+                break;
259
+            case "科技项目管理专责审批":
260
+                fysq.setSpzt("部门主任审批");
261
+                break;
262
+            case "部门主任审批":
263
+                fysq.setSpzt("未提交");
264
+                break;
265
+        }
266
+//        修改为撤销后的审批状态
267
+        num = staBudgetapprovalService.updateSpzt(fysq);
268
+
269
+        Map<String, String> paraMap2 = new HashMap<>();
270
+        paraMap2.put("deptName",userInfo.getDeptName());
271
+        if (spzt.equals("科技项目管理专责审批")){
272
+            if (userInfo != null && userInfo.getDeptId().equals("52")) {
273
+                paraMap2.put("postName", "科技部部门主任");
274
+                paraMap2.put("postId","16");
275
+            } else {
276
+                paraMap2.put("postName", "科研负责人");
277
+                paraMap2.put("postId","28");
278
+            }
279
+    }else if (spzt.equals("科技部部门主任审批")){
280
+            paraMap2.put("postName", "科技项目管理专责");
281
+            paraMap2.put("postId","39");
282
+    }else if (spzt.equals("主管院领导审批")) {
283
+            paraMap2.put("postName", "科技部部门主任");
284
+            paraMap2.put("postId","16");
285
+    }else {
286
+            paraMap2.put("postName",null);
287
+    }
288
+//  获取当前费用申请申请人的所属部门名称
289
+        if(paraMap2.get("postId")=="28"){
290
+            Integer sqr = fysq.getSqr();
291
+            String deptName=sysDeptInfoService.getUserDept(sqr);
292
+            if(deptName.contains("电源")){
293
+                deptName = null;
294
+            }
295
+            paraMap2.put("deptName",deptName);
296
+        }
297
+
298
+//修改审批列表里的状态为完成
299
+        temp = prjApproverecordService.updateRevokeRecord(fysq.getId());
300
+        if (paraMap2.get("postName")!=null){
301
+//            获取默认审批人
302
+            List<SysUserPost> userPostList = sysUserPostService.getPostUserList(paraMap2);
303
+            Integer shr = userPostList.get(0).getUserId();
304
+            PrjApproverecord record = prjApproverecordService.getOldApproveRecord(fysq.getId());
305
+            List<PrjApproverecord> recordList= new ArrayList<>();
306
+//        审批列表中插入撤销后的审批流程
307
+            PrjApproverecord record1 =new PrjApproverecord();
308
+            record1.setTablename(record.getTablename());
309
+            record1.setXm(record.getXm());
310
+            record1.setXmid(record.getXmid());
311
+            record1.setZt(fysq.getSpzt());
312
+            record1.setTjr(record.getTjr());
313
+            record1.setTjsj(record.getTjsj());
314
+            record1.setShr(shr);
315
+            record1.setSfsjsh(true);//是否需要上级审核
316
+            record1.setSjshr(record.getShr());
317
+            record1.setSjshgw(record.getShgw());//上级审核岗位
318
+            record1.setSffh(false);//是否返回
319
+            record1.setYcshr(false);//隐藏审核人
320
+            record1.setWc(false);//完成
321
+            recordList.add(record1);
322
+
323
+            if (!fysq.getSpzt().equals("未提交")){
324
+                prjApproverecordService.insertBatch(recordList);
325
+            }
326
+            if (num > 0 && temp > 0) {
327
+                return BaseResult.success("撤销成功!");
328
+            } else {
329
+                return BaseResult.failure("撤销失败!");
330
+            }
331
+        }else {
332
+            return BaseResult.success("撤销成功!");
333
+        }
334
+    }
335
+
336
+    @ResponseBody
337
+    @RequestMapping(value = "/ThApproval", method = RequestMethod.POST)
338
+    public BaseResult ThApproval(@RequestBody String data) {
241 339
         StaBudgetapproval fysq = JsonTool.parseObject(data, StaBudgetapproval.class);
242 340
 
243 341
         int num;
@@ -310,8 +408,6 @@ public class StaBudgetapprovalController extends BaseController {
310 408
 
311 409
     }
312 410
 
313
-    @Resource
314
-    private SysUserPostService sysUserPostService;
315 411
 
316 412
     /**
317 413
      * 编辑数据(费用申请)
@@ -940,7 +1036,7 @@ public class StaBudgetapprovalController extends BaseController {
940 1036
 //系统当前用户
941 1037
         SysUserInfo userInfo = getSysUserInfo();
942 1038
         if (userInfo != null && userInfo.getDeptId().equals("52")) {
943
-            paraMap.put("postName", "主任");
1039
+            paraMap.put("postName", "科技部部门主任");
944 1040
         } else {
945 1041
             paraMap.put("postName", "科研负责人");
946 1042
         }
@@ -967,7 +1063,7 @@ public class StaBudgetapprovalController extends BaseController {
967 1063
 //系统当前用户
968 1064
         SysUserInfo userInfo = getSysUserInfo();
969 1065
         if (userInfo != null && userInfo.getDeptId().equals("52")) {
970
-            paraMap.put("postName", "主任");
1066
+            paraMap.put("postName", "科技部部门主任");
971 1067
         } else {
972 1068
             paraMap.put("postName", "科研负责人");
973 1069
         }
@@ -1115,7 +1211,7 @@ public class StaBudgetapprovalController extends BaseController {
1115 1211
             Map<String, String> paraMap2 = new HashMap<>();
1116 1212
             if (spzt.equals("未提交(返回)")) {
1117 1213
                 if (userInfo != null && userInfo.getDeptId().equals("52")) {
1118
-                    paraMap2.put("postName", "主任");
1214
+                    paraMap2.put("postName", "科技部部门主任");
1119 1215
                 } else {
1120 1216
                     paraMap2.put("postName", "科研负责人");
1121 1217
                 }
@@ -1405,6 +1501,7 @@ public class StaBudgetapprovalController extends BaseController {
1405 1501
     ) {
1406 1502
         Integer count = prjAnnualbudgetdetailService.getSubNodeCount(nys, page, limit);
1407 1503
         List<PrjAnnualbudgetdetail> list = prjAnnualbudgetdetailService.getSubNode(nys, page, limit, mc);
1504
+
1408 1505
         Map<String, Object> resultMap = new HashMap<>();
1409 1506
         resultMap.put("code", 0);
1410 1507
         resultMap.put("msg", "");

+ 2 - 0
src/main/java/com/liang/dao/PrjApproverecordDao.java

@@ -112,5 +112,7 @@ public interface PrjApproverecordDao {
112 112
     int updateApprove(PrjApproverecord prjApproverecord);
113 113
 
114 114
     List<PrjApproverecord> getApproveByXmId2(Map map);
115
+
116
+    PrjApproverecord getOldApproveRecord(Integer id);
115 117
 }
116 118
 

+ 2 - 0
src/main/java/com/liang/dao/SysDeptInfoDao.java

@@ -102,5 +102,7 @@ public interface SysDeptInfoDao {
102 102
      * @return
103 103
      */
104 104
     int batchDelete(List<Integer> deptIdList);
105
+
106
+    String getUserDept(Integer sqr);
105 107
 }
106 108
 

+ 1 - 0
src/main/java/com/liang/service/PrjApproverecordService.java

@@ -97,4 +97,5 @@ public interface PrjApproverecordService {
97 97
      */
98 98
     List<PrjApproverecord> getApproveByXmId2(Map map);
99 99
 
100
+    PrjApproverecord getOldApproveRecord(Integer id);
100 101
 }

+ 2 - 0
src/main/java/com/liang/service/SysDeptInfoService.java

@@ -77,4 +77,6 @@ public interface SysDeptInfoService {
77 77
      * @return
78 78
      */
79 79
     int batchDelete(List<Integer> deptIdList);
80
+
81
+    String getUserDept(Integer sqr);
80 82
 }

+ 5 - 0
src/main/java/com/liang/service/impl/PrjApproverecordServiceImpl.java

@@ -105,6 +105,11 @@ public class PrjApproverecordServiceImpl implements PrjApproverecordService {
105 105
         return this.prjApproverecordDao.getApproveByXmId2(map);
106 106
     }
107 107
 
108
+    @Override
109
+    public PrjApproverecord getOldApproveRecord(Integer id) {
110
+        return prjApproverecordDao.getOldApproveRecord(id);
111
+    }
112
+
108 113
 
109 114
     @Override
110 115
     public int insertApprove(List<PrjApproverecord> recordList) {

+ 5 - 0
src/main/java/com/liang/service/impl/SysDeptInfoServiceImpl.java

@@ -93,4 +93,9 @@ public class SysDeptInfoServiceImpl implements SysDeptInfoService {
93 93
     public int batchDelete(List<Integer> deptIdList) {
94 94
         return this.sysDeptInfoDao.batchDelete(deptIdList);
95 95
     }
96
+
97
+    @Override
98
+    public String getUserDept(Integer sqr) {
99
+        return sysDeptInfoDao.getUserDept(sqr);
100
+    }
96 101
 }

+ 6 - 0
src/main/resources/mapper/SysDeptInfoDao.xml

@@ -225,5 +225,11 @@
225 225
         from sys_dept_info
226 226
         where del_flag = 0
227 227
     </select>
228
+    <!--获取用户对应的部门名称-->
229
+    <select id="getUserDept" resultType="java.lang.String">
230
+        SELECT b.dept_name FROM sys_user_info a
231
+                                    LEFT JOIN sys_dept_info b on a.dept_id =b.dept_id
232
+        WHERE a.user_id = #{sqr} and b.del_flag = 0
233
+    </select>
228 234
 </mapper>
229 235