From 46871cc790a14fd3aee71fd564938411fa39e3d6 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期六, 07 十月 2023 17:12:37 +0800
Subject: [PATCH] #报销相关相关

---
 src/main/java/com/zy/crm/manager/controller/ReimburseOnlineController.java |   65 +++++++++++++++++---------------
 1 files changed, 35 insertions(+), 30 deletions(-)

diff --git a/src/main/java/com/zy/crm/manager/controller/ReimburseOnlineController.java b/src/main/java/com/zy/crm/manager/controller/ReimburseOnlineController.java
index 2505934..37ed5f7 100644
--- a/src/main/java/com/zy/crm/manager/controller/ReimburseOnlineController.java
+++ b/src/main/java/com/zy/crm/manager/controller/ReimburseOnlineController.java
@@ -56,6 +56,12 @@
     @Autowired
     private ProcessPermissionsService processPermissionsService;
 
+    @Autowired
+    private BusinessTripService businessTripService;
+
+    @Autowired
+    private BusinessTripOtherService businessTripOtherService;
+
     @RequestMapping(value = "/reimburseOnline/{id}/auth")
     @ManagerAuth
     public R get(@PathVariable("id") String id) {
@@ -144,23 +150,36 @@
     @ManagerAuth(memo = "娣诲姞鎶ラ攢鍗�")
     @Transactional
     public R formAdd(@RequestBody ReimburseOnlineDomainParam param){
-        long planId = 0;
+        long orderId = 0;
         if (!param.getTemplateName().equals("闈為」鐩瀷鎶ラ攢")){
-            if (Cools.isEmpty(param.getOrderNo())){
-                return R.error("娣诲姞澶辫触锛�"+param.getTemplateName()+"闇�瑕佸叧鑱旈」鐩彿");
+            if (Cools.isEmpty(param.getOrderId())){
+                if (Cools.isEmpty(param.getBusinessId())){
+                    if (Cools.isEmpty(param.getBusinessOtherId())){
+                        return R.error("娣诲姞澶辫触锛�"+param.getTemplateName()+"闇�瑕佸叧鑱旈」鐩彿");
+                    }
+                    BusinessTripOther businessTripOther = businessTripOtherService.selectById(param.getBusinessOtherId());
+                    param.setOrderId(businessTripOther.getOrderId());
+                }else {
+                    BusinessTrip businessTrip = businessTripService.selectById(param.getBusinessId());
+                    param.setOrderId(businessTrip.getOrderId());
+                }
             }
-            String[] split = param.getOrderNo().split("---");
-            planId = Long.parseLong(split[1]);
+            orderId = param.getOrderId();
         }
         Date now = new Date();
         Rule rule = ruleService.selectById(1);
-        ReimburseOnline reimburseOnline = new ReimburseOnline(planId,RuleUtils.rule(rule),now,getUser());
+        ReimburseOnline reimburseOnline = new ReimburseOnline(orderId,RuleUtils.rule(rule),now,getUser());
         reimburseOnline.setCheckData(param.getCheckData());
         reimburseOnline.setTemplateName(param.getTemplateName());
-        reimburseOnline.setName(param.getName());
+        reimburseOnline.setName("");
 
-        reimburseOnline.setSettle(0);  // 0.鍒涘缓
-        User manager = userService.getDeptManager(getHostId(), getUser().getDeptId());        // 鑾峰彇閮ㄩ棬棰嗗
+        reimburseOnline.setSettle(1);  // 1.鍒涘缓
+        User manager = new User();
+        try{
+            manager = userService.getDeptManager(getHostId(), getUser().getDeptId());        // 鑾峰彇閮ㄩ棬棰嗗
+        }catch (Exception e){
+            manager = getUser();
+        }
 
         ProcessPermissions processPermissions3 = processPermissionsService.selectOne(new EntityWrapper<ProcessPermissions>().eq("process_memo", 3).eq("process", param.getCheckData().equals("鍚�")? "3-1" : "3-2"));//3锛氭姤閿�娴佺▼
         User president3 = userService.selectById(processPermissions3.getUserId());       // 鑾峰彇鎶ヤ环娴佺▼鑺傜偣3纭浜�
@@ -175,15 +194,6 @@
         User president6 = userService.selectById(processPermissions6.getUserId());       // 鑾峰彇鎶ヤ环娴佺▼鑺傜偣6纭浜�
 
         reimburseOnline.setSettleMsg(JSON.toJSONString(SettleDto.initPriQuote(reimburseOnline, manager,president3,president4,president5,president6,getUser())));
-        Map<String, Object> map = new HashMap<>();
-        map.put("title","闈為」鐩瀷鎶ラ攢");
-        map.put("reimburseId",reimburseOnline.getPlanId$());
-        map.put("docType",param.getDocType());
-        map.put("orderNo",param.getOrderNo());
-        map.put("templateName",param.getTemplateName());
-        map.put("checkData",param.getCheckData());
-        map.put("name",param.getName());
-        reimburseOnline.setForm(JSON.toJSONString(map));
         reimburseOnline.setMemberId(getUser().getId());
 
         if (!reimburseOnlineService.insert(reimburseOnline)){
@@ -226,16 +236,6 @@
         reimburseOnline.setItemId(planId);
         reimburseOnline.setName(param.getName());
         reimburseOnline.setUpdateTime(new Date());
-
-        Map<String, Object> map = new HashMap<>();
-        map.put("title",reimburseOnline.getPlanId$());
-        map.put("reimburseId",param.getReimburseId());
-        map.put("docType",param.getDocType());
-        map.put("orderNo",param.getOrderNo());
-        map.put("templateName",param.getTemplateName());
-        map.put("checkData",param.getCheckData());
-        map.put("name",param.getName());
-        reimburseOnline.setForm(JSON.toJSONString(map));
 
         if (!reimburseOnlineService.updateById(reimburseOnline)){
             return R.error("鏇存柊鎶ラ攢涓绘。澶辫触");
@@ -465,7 +465,7 @@
         for (ReimburseOnline priOnline : page.getRecords()){
             Map<String, Object> map = new HashMap<>();
             map.put("id", priOnline.getId());
-            map.put("value", priOnline.getOrderNum() + "/" + priOnline.getPlanId$() + "/" + priOnline.getMemberId$());
+            map.put("value", priOnline.getOrderNum() + "/" + priOnline.getOrderId$() + "/" + priOnline.getMemberId$());
             result.add(map);
         }
         return R.ok(result);
@@ -540,7 +540,12 @@
             case 1:
                 // 鏈儴闂ㄧ粡鐞嗗鏍�
                 User user = userService.selectById(reimburseOnline.getUserId());
-                User manager = userService.getDeptManager(getHostId(), user.getDeptId());
+                User manager = new User();
+                try{
+                    manager = userService.getDeptManager(getHostId(), getUser().getDeptId());        // 鑾峰彇閮ㄩ棬棰嗗
+                }catch (Exception e){
+                    manager = user;
+                }
                 if (manager.getId().equals(getUserId())) {
 
                     // 淇敼 settle 姝ラ鏁版嵁

--
Gitblit v1.9.1