Explorar el Código

陆运添加审批需完善

lazhaoqian hace 4 años
padre
commit
65ff72e563

+ 6 - 2
ruoyi-admin/src/main/java/com/ruoyi/web/controller/fleet/orderPlan/ftmsorderbillsfeesController.java

@@ -4,8 +4,12 @@ import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.annotation.RepeatSubmit;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.ServletUtils;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.spring.SpringUtils;
+import com.ruoyi.framework.web.service.TokenService;
 import com.ruoyi.orderPlan.service.IftmsorderbillsfeesService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -132,8 +136,8 @@ public class ftmsorderbillsfeesController extends BaseController {
     @GetMapping("/submitOrderbillsfeesModifyApproval")
     @RepeatSubmit
     public AjaxResult submitOrderbillsfeesModifyApproval(@RequestParam("fId") Long fId) {
-
-        return iftmsorderbillsfeesService.submitOrderbillsfeesModifyApproval(fId);
+        LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
+        return iftmsorderbillsfeesService.submitOrderbillsfeesModifyApproval(fId,loginUser);
     }
 
     /**

+ 2 - 1
ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/service/IftmsorderbillsfeesService.java

@@ -1,6 +1,7 @@
 package com.ruoyi.orderPlan.service;
 
 import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.orderPlan.domain.Ftmsorderbillsfees;
 
 import java.util.List;
@@ -90,5 +91,5 @@ public interface IftmsorderbillsfeesService {
     public AjaxResult ftmsorderbillsChange(Long fId, String types);
 
     /** 提交审批 暂存费用明细*/
-    public AjaxResult submitOrderbillsfeesModifyApproval(Long fId);
+    public AjaxResult submitOrderbillsfeesModifyApproval(Long fId, LoginUser loginUser);
 }

+ 64 - 2
ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/service/impl/FtmsorderbillsfeesServiceImpl.java

@@ -3,10 +3,13 @@ package com.ruoyi.orderPlan.service.impl;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.approvalFlow.domain.AuditItems;
+import com.ruoyi.approvalFlow.service.impl.AuditItemsServiceImpl;
 import com.ruoyi.basicData.mapper.TCorpsMapper;
 import com.ruoyi.basicData.mapper.TFeesMapper;
 import com.ruoyi.basicData.mapper.TGoodsMapper;
 import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
@@ -23,6 +26,7 @@ import com.ruoyi.system.mapper.SysUserMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 import java.math.BigDecimal;
 import java.util.*;
@@ -61,6 +65,8 @@ public class FtmsorderbillsfeesServiceImpl implements IftmsorderbillsfeesService
 
     @Autowired
     private SysConfigMapper sysConfigMapper;
+    @Autowired
+    private AuditItemsServiceImpl auditItemsService;
 
 
     /**
@@ -289,17 +295,73 @@ public class FtmsorderbillsfeesServiceImpl implements IftmsorderbillsfeesService
      * @param fId
      */
     @Override
-    public AjaxResult submitOrderbillsfeesModifyApproval(Long fId) {
+    public AjaxResult submitOrderbillsfeesModifyApproval(Long fId,LoginUser loginUser) {
         //暂时直接回写数据
         //先获取审批数据行
+        boolean isApprove = false;
+        Long actId = 181L;
+        Long billStatus = 4L;
+        String key = "fleet.ftmsorderbillsfees.addModify";
+        SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique(key);
+        if (StringUtils.isNull(sysConfig)) {
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return AjaxResult.error("系统参数异常,未找到开启审批流参数");
+        }
+        if ("0".equals(sysConfig.getConfigValue())) {
+            isApprove = true;
+        }
+        if (isApprove){
+            billStatus = 4L;
+        }else {
+            billStatus = 6L;
+        }
+        //这个地方可能需要修改一下(有审批流咋处理业务没有审批流咋处理业务)
         Ftmsorderbillsfees ftmsorderbillsfees = fTmsorderbillsfeesMapper.selectFTmsorderbillsfeesModifyById(fId);
-        ftmsorderbillsfees.setfBillstatus(6L);
+        ftmsorderbillsfees.setfBillstatus(billStatus);
         fTmsorderbillsfeesMapper.updateFTmsorderbillsfeesModify(ftmsorderbillsfees);
         //回写逻辑,srcMId返回给pId,进行绑定
         ftmsorderbillsfees.setfPid(ftmsorderbillsfees.getSrcId());
         ftmsorderbillsfees.setfId(null);
         fTmsorderbillsfeesMapper.insertFTmsorderbillsfees(ftmsorderbillsfees);
+        //上面赋值fPid变成空所以我重新查了一遍需要看看这个我查到的fPid是不是需要审批的那个数据
+        Ftmsorderbillsfees modify = fTmsorderbillsfeesMapper.selectFTmsorderbillsfeesModifyById(fId);
+        if (isApprove) {
+            AuditItems auditItems = new AuditItems();
+            auditItems.setLevelId(0L);
+            auditItems.setBillId(modify.getfPid());//前段查看审批需要跳转页面的参数 根据billId 查询详细数据
+            auditItems.setActId(actId);//活动号 自定义
+            auditItems.setIffinalItem("F");
+            auditItems.setBillNo(modify.getSrcBillNo());//需要将表里数据添加首页需要显示
+            // 存储委托方(货权方)
+            auditItems.setRefno1(modify.getfCorpid() + "");// 客户
+            // 存储业务类型(业务类型)
+            auditItems.setRefno2(modify.getfBilltype());//表里需要添加 前段根据这标明是那种审批 列 收费 SF
+            // 存储提单号(提单号)
+            auditItems.setRefno3(modify.getfMblno());//表里需要添加 前端页面会显示
+            auditItems.setSendUserId(loginUser.getUser().getUserId());
+            auditItems.setSendName(loginUser.getUsername());
+            auditItems.setSendTime(new Date());
+            auditItems.setAuditUserId(loginUser.getUser().getUserId());
+            auditItems.setAuditItem(new Date());
+            auditItems.setAuditOpTime(new Date());
+            auditItems.setAuditMsg("提交");
+            auditItems.setAuditStatus("O");
+            auditItems.setFidStatus("f_billstatus");
+            auditItems.setTimes(1L);
+            AjaxResult approvalFlow = auditItemsService.createApprovalFlow(auditItems);
+//            Long code = Long.valueOf(String.valueOf(approvalFlow.get("code"))).longValue();
+            String code = approvalFlow.get("code").toString();
+//                Long code = Long.valueOf(String.valueOf(ajaxResult.get("code"))).longValue();
+            if ("500".equals(code)) {
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            }
+            return approvalFlow;
+        }else {
+            //如果没有审批的业务处理相当于审批通过
+        }
+
         return AjaxResult.success();
+
         /*
         //提交审批流
         //先获取审批数据行

+ 13 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/approvalFlow/service/impl/AuditPathsServiceImpl.java

@@ -582,6 +582,13 @@ public class AuditPathsServiceImpl implements IAuditPathsService {
                         tWarehouseBills.setfId(auditItems.getBillId());
                         tWarehouseBills.setfDeleteStatus(fettle);
                         tWarehouseBillsMapper.updateKaHeOrder(tWarehouseBills);
+                    } else if (auditItems.getActId()== 181 ){
+                        if ("T".equals(at.getIffinalItem())) {
+                            fettle = 6L;
+                        } else if ("F".equals(at.getIffinalItem())) {
+                            fettle = 5L;
+                        }
+                        //业务处理
                     }
                     if ("F".equals(at.getIffinalItem())) {
                         at.setLevelId(at.getLevelId() + 1);
@@ -760,6 +767,9 @@ public class AuditPathsServiceImpl implements IAuditPathsService {
             tWarehouseBills.setfId(auditItems.getBillId());
             tWarehouseBills.setfDeleteStatus(fettle);
             tWarehouseBillsMapper.updateKaHeOrder(tWarehouseBills);
+        }else if (auditItems.getActId()== 181 ){
+            fettle = 3L;
+            //业务处理
         }
         AuditItems item = new AuditItems();
         item.setBillId(auditItems.getId());
@@ -989,6 +999,9 @@ public class AuditPathsServiceImpl implements IAuditPathsService {
             tWarehouseBills.setfId(auditItems.getBillId());
             tWarehouseBills.setfDeleteStatus(fettle);
             tWarehouseBillsMapper.updateKaHeOrder(tWarehouseBills);
+        }else if (auditItems.getActId()== 181 ){
+            fettle = 2L;
+            //业务处理
         }
         int deleteNum = auditItemsMapper.deletePurchaseApproval(auditItems);
         if (deleteNum == 0) {