Selaa lähdekoodia

优化审批流 通过 驳回接口

阿伏兔 4 vuotta sitten
vanhempi
commit
06a53d3324

+ 2 - 2
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/approvalFlow/AuditPathsController.java

@@ -126,9 +126,9 @@ public class AuditPathsController extends BaseController {
     @GetMapping(value = "/selectAllAuditItems")
     @RepeatSubmit
     public AjaxResult selectAllAuditItems(@RequestBody AuditItems auditItems) {
-        if (StringUtils.isNull(auditItems)) {
+        /*if (StringUtils.isNull(auditItems)) {
             return AjaxResult.error("找不到查询条件,请确认");
-        }
+        }*/
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
         auditItems.setAuditUserId(loginUser.getUser().getUserId());
         return auditPathsService.selectAllAuditItems(auditItems);

+ 7 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/approvalFlow/mapper/AuditItemsMapper.java

@@ -69,4 +69,11 @@ public interface AuditItemsMapper {
      * @return 结果
      */
     List<Map<String, Object>> selectAuditItems(AuditItems auditItems);
+
+    /**
+     * 删除后续审批
+     * @param auditItems 条件
+     * @return
+     */
+    int deleteUpLevelId(AuditItems auditItems);
 }

+ 7 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/approvalFlow/mapper/AuditPathsActsMapper.java

@@ -66,4 +66,11 @@ public interface AuditPathsActsMapper {
      * @return
      */
     int selectCountAuditPathsActs(AuditPathsActs auditPathsActs);
+
+    /**
+     *  查询数量
+     * @param auditPathsActs
+     * @return
+     */
+    int selectAuditPathsActsCount(AuditPathsActs auditPathsActs);
 }

+ 2 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/approvalFlow/service/impl/AuditPathsActsServiceImpl.java

@@ -59,9 +59,11 @@ public class AuditPathsActsServiceImpl implements IAuditPathsActsService {
         Map<String, Object> map = new HashMap<>();
         AuditPathsActs auditPathsActs = new AuditPathsActs();
         List<AuditPathsActs> actsList = auditPathsActsMapper.selectAuditPathsActsList(auditPathsActs);
+        int count =  auditPathsActsMapper.selectAuditPathsActsCount(auditPathsActs);
         AuditPaths paths = new AuditPaths();
         paths.setStatus("A");
         List<AuditPaths> pathsList = auditPathsMapper.selectAuditPathsList(paths);
+        map.put("count", count);
         map.put("auditPath", pathsList);
         map.put("auditPathAct", actsList);
         return map;

+ 90 - 49
ruoyi-warehouse/src/main/java/com/ruoyi/approvalFlow/service/impl/AuditPathsServiceImpl.java

@@ -245,54 +245,47 @@ public class AuditPathsServiceImpl implements IAuditPathsService {
     @Override
     @Transactional
     public AjaxResult approved(AuditItems auditItems) {
-        long fettle = 6L;
+        long fettle = 0L;
         int number = 0;
-        if (auditItems.getActId() >= 110 && auditItems.getActId() <= 140) {
-            TWarehouseBills tWarehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(auditItems.getId());
-            AuditItems item = new AuditItems();
-            item.setBillId(tWarehouseBills.getfId());
-            item.setActId(auditItems.getActId());
-            List<AuditItems> auditItemsList = auditItemsMapper.selectAuditItemsList(item);
-            if (auditItemsList.size() <= 0) {
-                return AjaxResult.error("未找到审批信息,请确认");
+        AuditItems item = new AuditItems();
+        item.setBillId(auditItems.getId());
+        item.setActId(auditItems.getActId());
+        List<AuditItems> auditItemsList = auditItemsMapper.selectAuditItemsList(item);
+        if (auditItemsList.size() <= 0) {
+            return AjaxResult.error("未找到审批信息,请确认");
+        }
+        for (AuditItems at : auditItemsList) {
+            if (!"S".equals(at.getAuditStatus())) {
+                continue;
             }
-            for (AuditItems at : auditItemsList) {
-                if (!"S".equals(at.getAuditStatus())) {
-                    continue;
-                }
-                AuditItemsUsers itemsUsers = new AuditItemsUsers();
-                itemsUsers.setPid(at.getId());
-                List<AuditItemsUsers> auditItemsUsers = auditItemsUsersMapper.selectAuditItemsUsersList(itemsUsers);
-                for (AuditItemsUsers au : auditItemsUsers) {
-                    if (au.getUserId().equals(auditItems.getSendUserId()) && "S".equals(au.getAuditStatus())) {
-                        number++;
-                        if (StringUtils.isEmpty(auditItems.getAuditMsg())) {
-                            at.setAuditMsg("同意");
-                        } else {
-                            at.setAuditMsg(auditItems.getAuditMsg());
-                        }
-                        at.setAuditStatus("A");
-                        at.setAuditItem(new Date());
-                        at.setAuditUserId(au.getUserId());
-                        int updateAuditItems = auditItemsMapper.updateAuditItems(at);
-                        if (updateAuditItems <= 0) {
-                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                            return AjaxResult.error("审批通过失败: 更新审批状态失败");
-                        }
-                        au.setAuditStatus("A");
-                        int updateAuditItemsUsers = auditItemsUsersMapper.updateAuditItemsUsers(au);
-                        if (updateAuditItemsUsers <= 0) {
-                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                            return AjaxResult.error("审批通过失败: 更新审批状态失败");
-                        }
+            AuditItemsUsers itemsUsers = new AuditItemsUsers();
+            itemsUsers.setPid(at.getId());
+            List<AuditItemsUsers> auditItemsUsers = auditItemsUsersMapper.selectAuditItemsUsersList(itemsUsers);
+            for (AuditItemsUsers au : auditItemsUsers) {
+                if (au.getUserId().equals(auditItems.getSendUserId()) && "S".equals(au.getAuditStatus())) {
+                    number++;
+                    if (StringUtils.isEmpty(auditItems.getAuditMsg())) {
+                        at.setAuditMsg("同意");
+                    } else {
+                        at.setAuditMsg(auditItems.getAuditMsg());
+                    }
+                    at.setAuditStatus("A");
+                    at.setAuditItem(new Date());
+                    at.setAuditUserId(au.getUserId());
+                    int updateAuditItems = auditItemsMapper.updateAuditItems(at);
+                    if (updateAuditItems <= 0) {
+                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                        return AjaxResult.error("审批通过失败: 更新审批状态失败");
+                    }
+                    au.setAuditStatus("A");
+                    int updateAuditItemsUsers = auditItemsUsersMapper.updateAuditItemsUsers(au);
+                    if (updateAuditItemsUsers <= 0) {
+                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                        return AjaxResult.error("审批通过失败: 更新审批状态失败");
+                    }
+                    if (auditItems.getActId() >= 110 && auditItems.getActId() <= 140) {
                         if ("T".equals(at.getIffinalItem())) {
-                            // 仓库模块
-                            AjaxResult ajaxResult = tWarehouseBillsService.warehouseFollow(auditItems.getBillId(), fettle);
-                            String code = (String) ajaxResult.get("code");
-                            if ("500".equals(code)) {
-                                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                            }
-                            return ajaxResult;
+                            fettle = 6L;
                         } else if ("F".equals(at.getIffinalItem())) {
                             fettle = 5L;
                         }
@@ -303,12 +296,12 @@ public class AuditPathsServiceImpl implements IAuditPathsService {
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                             return ajaxResult;
                         }
-                        break;
+                    } else if (auditItems.getActId() >= 210 && auditItems.getActId() <= 230) {
+                        // 财务模块
                     }
+                    break;
                 }
             }
-        } else if (auditItems.getActId() >= 210 && auditItems.getActId() <= 230) {
-            // 财务模块
         }
         if (number <= 0) {
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -324,8 +317,9 @@ public class AuditPathsServiceImpl implements IAuditPathsService {
      */
     @Override
     public AjaxResult approvalRejected(AuditItems auditItems) {
-        long fettle = 3L;
+        long fettle = 0L;
         if (auditItems.getActId() >= 110 && auditItems.getActId() <= 140) {
+            fettle = 3L;
             // 仓库模块
             AjaxResult ajaxResult = tWarehouseBillsService.warehouseFollow(auditItems.getBillId(), fettle);
             String code = (String) ajaxResult.get("code");
@@ -336,6 +330,53 @@ public class AuditPathsServiceImpl implements IAuditPathsService {
         } else if (auditItems.getActId() >= 210 && auditItems.getActId() <= 230) {
             // 财务模块
         }
+        AuditItems item = new AuditItems();
+        item.setBillId(auditItems.getId());
+        item.setActId(auditItems.getActId());
+        List<AuditItems> auditItem = auditItemsMapper.selectAuditItemsList(item);
+        int number = 0;
+        for (AuditItems at : auditItem) {
+            if (!"S".equals(at.getAuditStatus())) {
+                continue;
+            }
+            AuditItemsUsers itemsUsers = new AuditItemsUsers();
+            itemsUsers.setPid(at.getId());
+            List<AuditItemsUsers> auditItemsUsersList = auditItemsUsersMapper.selectAuditItemsUsersList(itemsUsers);
+            for (AuditItemsUsers au : auditItemsUsersList) {
+                if (Objects.equals(au.getUserId(), auditItems.getSendUserId())) {
+                    number++;
+                    at.setAuditStatus("B");
+                    if (auditItems.getAuditMsg() == null || "".equals(auditItems.getAuditMsg())) {
+                        at.setAuditMsg("不同意");
+                    } else {
+                        at.setAuditMsg(auditItems.getAuditMsg());
+                    }
+                    at.setAuditItem(new Date());
+                    at.setAuditUserId(au.getUserId());
+                    int updateAuditItems = auditItemsMapper.updateAuditItems(at);
+                    if (updateAuditItems <= 0) {
+                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                        return AjaxResult.error("审批驳回失败: 更新审批状态失败");
+                    }
+                    au.setAuditStatus("B");
+                    int updateAuditItemUser = auditItemsUsersMapper.updateAuditItemsUsers(au);
+                    if (updateAuditItemUser <= 0) {
+                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                        return AjaxResult.error("审批驳回失败: 更新审批状态失败");
+                    }
+                    if ("F".equals(at.getIffinalItem())) {
+                        int deleteNum = auditItemsMapper.deleteUpLevelId(at);
+                        if (deleteNum <= 0) {
+                            return AjaxResult.error("未找到后续除审批信息");
+                        }
+                    }
+                }
+            }
+        }
+        if (number <= 0) {
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return AjaxResult.error("该审批已被操作");
+        }
         return AjaxResult.success();
     }
 

+ 13 - 0
ruoyi-warehouse/src/main/resources/mapper/approvalFlow/AuditItemsMapper.xml

@@ -164,4 +164,17 @@
             item.send_time DESC
     </select>
 
+    <delete id="deleteUpLevelId" parameterType="com.ruoyi.approvalFlow.domain.AuditItems">
+        DELETE
+            item.*,
+            userItem.*
+        FROM
+            audit_items item
+            LEFT JOIN audit_items_users userItem ON userItem.pid = item.id
+        WHERE
+            item.id &gt; #{auditItems.id}
+            AND item.bill_id = #{auditItems.billId}
+            AND item.level_id &gt; #{auditItems.levelId}
+    </delete>
+
 </mapper>

+ 15 - 0
ruoyi-warehouse/src/main/resources/mapper/approvalFlow/AuditPathsActsMapper.xml

@@ -28,6 +28,21 @@
         </where>
     </select>
 
+    <select id="selectAuditPathsActsCount" parameterType="AuditPathsActs" resultType="int">
+        select
+            COUNT(id)
+        from
+            audit_paths_acts
+        <where>
+            <if test="branchId != null ">and branch_id = #{branchId}</if>
+            <if test="actId != null ">and act_id = #{actId}</if>
+            <if test="reviewConditions != null  and reviewConditions != ''">and review_conditions =
+                #{reviewConditions}
+            </if>
+            <if test="pathId != null ">and path_id = #{pathId}</if>
+        </where>
+    </select>
+
     <select id="selectCountAuditPathsActs" parameterType="AuditPathsActs" resultType="int">
         SELECT
             COUNT(id)