From 56dfe0d4bf81262622a1919cceb2b039fd356209 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 03 九月 2024 16:52:49 +0800
Subject: [PATCH] 代码提交 bug解决

---
 ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlAuditServiceImpl.java |  569 +++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 496 insertions(+), 73 deletions(-)

diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlAuditServiceImpl.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlAuditServiceImpl.java
index 1ddad21..0797ce7 100644
--- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlAuditServiceImpl.java
+++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlAuditServiceImpl.java
@@ -1,6 +1,7 @@
 package com.ruoyi.management.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.utils.page.PageDTO;
@@ -41,6 +42,8 @@
 
     @Resource
     private SlVolumeProductionRkglMapper slVolumeProductionRkglMapper;
+    @Resource
+    private SlVolumeProductionRkMapper slVolumeProductionRkMapper;
 
     @Resource
     private SlVolumeProductionCkglMapper slVolumeProductionCKglMapper;
@@ -54,8 +57,26 @@
 
     @Override
     public PageDTO<SlAuditVO> getslAuditList(AuditRecordListQuery auditRecordListQuery) {
+        List<Long> rkglIds = new ArrayList<>();
+        List<Long> ckglIds = new ArrayList<>();
+        List<Long> zyglIds = new ArrayList<>();
+        List<Long> auditIds = new ArrayList<>();
         Long userid = SecurityUtils.getUserId();
         SysUser data = sysUserClient.getSysUser(userid).getData();
+        // 查询当前登陆人管理了哪一些货架
+        List<SlStoreManagement> list1 = slStoreManagementService.lambdaQuery().list();
+        List<Long> managementIds = new ArrayList<>();
+        for (SlStoreManagement slStoreManagement : list1) {
+            if (Arrays.asList(slStoreManagement.getAdministratorId().split(",")).contains(userid.toString())
+            || Arrays.asList(slStoreManagement.getCompetentId().split(",")).contains(userid.toString())
+            || Arrays.asList(slStoreManagement.getDirectorId().split(",")).contains(userid.toString())
+            ){
+                managementIds.add(slStoreManagement.getId());
+            }
+        }
+        if (managementIds.isEmpty()){
+            managementIds.add(0L);
+        }
         getVolumeProductionRkQuery getVolumeProductionRkQuer=new getVolumeProductionRkQuery();
         getVolumeProductionRkQuer.setSupplierName(auditRecordListQuery.getSysName());
         getVolumeProductionRkQuer.setSupplierPhone(auditRecordListQuery.getSysPhone());
@@ -66,6 +87,12 @@
 
         Page<SlAudit> page = new Page<>(auditRecordListQuery.getPageCurr(), auditRecordListQuery.getPageSize());
         LambdaQueryWrapper< SlAudit> wrapper= Wrappers.lambdaQuery();
+        wrapper.eq(SlAudit::getDelFlag,0);
+        if (auditRecordListQuery.getState()!=null){
+            wrapper.eq(SlAudit::getState,auditRecordListQuery.getState());
+
+        }
+
         if (goodsSkuIdList.size()>0){
             wrapper.in(SlAudit::getSysId,goodsSkuIdList);
         }else{
@@ -73,13 +100,73 @@
             goodsSkuIdList1.add(0L);
             wrapper.in(SlAudit::getSysId,goodsSkuIdList1);
         }
-        if (!data.getUserType().equals("00")){
-            wrapper.in(SlAudit::getShenhId,userid);
+        switch (auditRecordListQuery.getType()){
+            case 1:
+                rkglIds = slVolumeProductionRkglMapper.selectList(new QueryWrapper<SlVolumeProductionRkgl>()
+                        .ne("audit_status", 7)).stream().map(SlVolumeProductionRkgl::getId).collect(Collectors.toList());
+                wrapper.in(SlAudit::getRkId,rkglIds);
+                if (rkglIds.isEmpty()){
+                    rkglIds.add(0L);
+                }
+                if (!data.getUserType().equals("00")){
+                    // 没有管理仓库
+                    // 查询相关的审核
+                    auditIds = slAuditRecordMapper.selectList(new QueryWrapper<SlAuditRecord>()
+                            .like("shenh_id", data.getUserId())).stream().map(SlAuditRecord::getAuditId).collect(Collectors.toList());
+                    if (auditIds.isEmpty()){
+                        auditIds.add(0L);
+                    }
+                    List<Long> finalAuditIds = auditIds;
+                    wrapper.and(wrapper1 -> wrapper1.in(SlAudit::getManagementId,managementIds).or().in(SlAudit::getId, finalAuditIds));
+                }
+
+                break;
+            case 2:
+                ckglIds = slVolumeProductionCKglMapper.selectList(new QueryWrapper<SlVolumeProductionCkgl>()
+                        .ne("audit_status", 8)).stream().map(SlVolumeProductionCkgl::getId).collect(Collectors.toList());
+                wrapper.in(SlAudit::getRkId,ckglIds);
+                if (ckglIds.isEmpty()){
+                    ckglIds.add(0L);
+                }
+                if (!data.getUserType().equals("00")){
+                    // 只查询相关的审核
+                    auditIds = slAuditRecordMapper.selectList(new QueryWrapper<SlAuditRecord>()
+                            .like("shenh_id", data.getUserId())).stream().map(SlAuditRecord::getAuditId).collect(Collectors.toList());
+                    if (auditIds.isEmpty()){
+                        auditIds.add(0L);
+                    }
+                    List<Long> finalAuditIds1 = auditIds;
+                    wrapper.and(wrapper1 -> wrapper1.in(SlAudit::getManagementId,managementIds).or().in(SlAudit::getId, finalAuditIds1));
+                }
+
+
+                break;
+            case 3:
+                zyglIds = slVolumeProductionZyglMapper.selectList(new QueryWrapper<SlVolumeProductionZygl>()
+                        .ne("audit_status", 7)).stream().map(SlVolumeProductionZygl::getId).collect(Collectors.toList());
+                if (zyglIds.isEmpty()){
+                    zyglIds.add(0L);
+                }
+                wrapper.in(SlAudit::getRkId,zyglIds);
+
+                if (!data.getUserType().equals("00")){
+                    // 只查询相关的审核
+                    auditIds = slAuditRecordMapper.selectList(new QueryWrapper<SlAuditRecord>()
+                            .like("shenh_id", data.getUserId())).stream().map(SlAuditRecord::getAuditId).collect(Collectors.toList());
+                    if (auditIds.isEmpty()){
+                        auditIds.add(0L);
+                    }
+                    List<Long> finalAuditIds2 = auditIds;
+                    wrapper.and(wrapper1 -> wrapper1.in(SlAudit::getManagementId,managementIds).or().in(SlAudit::getId, finalAuditIds2));
+                }
+
+                break;
         }
         wrapper.eq(SlAudit::getType,auditRecordListQuery.getType());
         wrapper.eq(SlAudit::getDelFlag,0);
         wrapper.orderByDesc(SlAudit::getCreateTime);
         Page<SlAudit> page1 = this.page(page, wrapper);
+
         PageDTO<SlAuditVO> slEquipmentVOPageDTO = PageDTO.of(page1, SlAuditVO.class);
         List<SlAuditVO> list = slEquipmentVOPageDTO.getList();
         for (SlAuditVO sl:list){
@@ -97,10 +184,10 @@
         }
         return slEquipmentVOPageDTO;
     }
-
+    @Resource
+    private SlStoreManagementMapper slStoreManagementMapper;
     @Override
     public void addslAudit(SlAuditDTO slAuditDTO) {
-
         LambdaQueryWrapper< SlAudit> wrapper= Wrappers.lambdaQuery();
         wrapper.eq(SlAudit::getRkId,slAuditDTO.getRkId());
         wrapper.eq(SlAudit::getType,slAuditDTO.getType());
@@ -121,101 +208,437 @@
         slAudit.setState(1);
         slAudit.setCreateTime(new Date());
         slAudit.setRkId(slAuditDTO.getRkId());
+        // 根据发起人
         if (slAudit.getType()==1){
             SlVolumeProductionRkgl slVolumeProductionRkgl = slVolumeProductionRkglMapper.selectById(slAuditDTO.getRkId());
+            SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(slVolumeProductionRkgl.getManagementId());
+            String directorId = slStoreManagement.getDirectorId();
+            String competentId = slStoreManagement.getCompetentId();
+            String administratorId = slStoreManagement.getAdministratorId();
+            Long userid = SecurityUtils.getUserId();
+            List<String> list1 = Arrays.asList(administratorId.split(","));
+            List<String> list2 = Arrays.asList(competentId.split(","));
+            List<String> list3 = Arrays.asList(directorId.split(","));
+
             slAudit.setSysId(slVolumeProductionRkgl.getSysId());
             slAudit.setManagementId(slVolumeProductionRkgl.getManagementId());
             SlStoreManagement byId = slStoreManagementService.getById(slVolumeProductionRkgl.getManagementId());
             slAudit.setShenhId(byId.getAdministratorId());
-            this.save(slAudit);
-            SlAuditRecord slAuditRecord=new SlAuditRecord();
-            slAuditRecord.setAuditId(slAudit.getId());
-            slAuditRecord.setShenhId(byId.getAdministratorId());
-            slAuditRecord.setType(1);
-            slAuditRecord.setState(1);
-            slAuditRecord.setCreateTime(new Date());
-            slAuditRecordMapper.insert(slAuditRecord);
+            if (list3.contains(userid.toString())){
+                slVolumeProductionRkgl.setAuditStatus(4);
+                slVolumeProductionRkgl.setPresentState(3);
+                slVolumeProductionRkglMapper.updateById(slVolumeProductionRkgl);
+                slAudit.setState(4);
+                this.save(slAudit);
+                // 主任发起 主管和管理员默认审核通过
+                SlAuditRecord slAuditRecord4=new SlAuditRecord();
+                slAuditRecord4.setAuditId(slAudit.getId());
+                slAuditRecord4.setShenhId(byId.getDirectorId());
+                slAuditRecord4.setType(3);
+                slAuditRecord4.setState(2);
+                slAuditRecord4.setShenhTime(new Date());
+                slAuditRecord4.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord4);
 
-            SlAuditRecord slAuditRecord1=new SlAuditRecord();
-            slAuditRecord1.setAuditId(slAudit.getId());
-            slAuditRecord1.setShenhId(byId.getCompetentId());
-            slAuditRecord1.setType(2);
-            slAuditRecord1.setState(1);
-            slAuditRecord1.setCreateTime(new Date());
-            slAuditRecordMapper.insert(slAuditRecord1);
+                SlAuditRecord slAuditRecord3=new SlAuditRecord();
+                slAuditRecord3.setAuditId(slAudit.getId());
+                slAuditRecord3.setShenhId(byId.getCompetentId());
+                slAuditRecord3.setType(2);
+                slAuditRecord3.setState(2);
+                slAuditRecord3.setShenhTime(new Date());
+                slAuditRecord3.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord3);
 
-            SlAuditRecord slAuditRecord2=new SlAuditRecord();
-            slAuditRecord2.setAuditId(slAudit.getId());
-            slAuditRecord2.setShenhId(byId.getDirectorId());
-            slAuditRecord2.setType(3);
-            slAuditRecord2.setState(1);
-            slAuditRecord2.setCreateTime(new Date());
-            slAuditRecordMapper.insert(slAuditRecord2);
+                SlAuditRecord slAuditRecord2=new SlAuditRecord();
+                slAuditRecord2.setAuditId(slAudit.getId());
+                slAuditRecord2.setShenhId(byId.getAdministratorId());
+                slAuditRecord2.setType(1);
+                slAuditRecord2.setState(2);
+                slAuditRecord2.setShenhTime(new Date());
+                slAuditRecord2.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord2);
+            }else if (list2.contains(userid.toString())){
+                slAudit.setState(3);
+                this.save(slAudit);
+                slVolumeProductionRkgl.setAuditStatus(3);
+                slVolumeProductionRkgl.setPresentState(1);
+                slVolumeProductionRkglMapper.updateById(slVolumeProductionRkgl);
+                // 如果是主管
+                SlAuditRecord slAuditRecord3=new SlAuditRecord();
+                slAuditRecord3.setAuditId(slAudit.getId());
+                slAuditRecord3.setShenhId(byId.getCompetentId());
+                slAuditRecord3.setType(2);
+                slAuditRecord3.setState(2);
+                slAuditRecord3.setShenhTime(new Date());
+                slAuditRecord3.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord3);
+
+                SlAuditRecord slAuditRecord2=new SlAuditRecord();
+                slAuditRecord2.setAuditId(slAudit.getId());
+                slAuditRecord2.setShenhId(byId.getAdministratorId());
+                slAuditRecord2.setType(1);
+                slAuditRecord2.setState(2);
+                slAuditRecord2.setShenhTime(new Date());
+                slAuditRecord2.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord2);
+
+                SlAuditRecord slAuditRecord4=new SlAuditRecord();
+                slAuditRecord4.setAuditId(slAudit.getId());
+                slAuditRecord4.setShenhId(byId.getDirectorId());
+                slAuditRecord4.setType(3);
+                slAuditRecord4.setState(1);
+                slAuditRecord4.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord4);
+
+            }else if (list1.contains(userid.toString())){
+                // 如果是管理员
+                slAudit.setState(2);
+                this.save(slAudit);
+                slVolumeProductionRkgl.setAuditStatus(2);
+                slVolumeProductionRkgl.setPresentState(1);
+                slVolumeProductionRkglMapper.updateById(slVolumeProductionRkgl);
+                // 如果是主管
+                SlAuditRecord slAuditRecord3=new SlAuditRecord();
+                slAuditRecord3.setAuditId(slAudit.getId());
+                slAuditRecord3.setShenhId(byId.getCompetentId());
+                slAuditRecord3.setType(2);
+                slAuditRecord3.setState(1);
+                slAuditRecord3.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord3);
+
+                SlAuditRecord slAuditRecord2=new SlAuditRecord();
+                slAuditRecord2.setAuditId(slAudit.getId());
+                slAuditRecord2.setShenhId(byId.getAdministratorId());
+                slAuditRecord2.setType(1);
+                slAuditRecord2.setState(2);
+                slAuditRecord2.setShenhTime(new Date());
+                slAuditRecord2.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord2);
+
+                SlAuditRecord slAuditRecord4=new SlAuditRecord();
+                slAuditRecord4.setAuditId(slAudit.getId());
+                slAuditRecord4.setShenhId(byId.getDirectorId());
+                slAuditRecord4.setType(3);
+                slAuditRecord4.setState(1);
+                slAuditRecord4.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord4);
+            }
+            if (!list3.contains(userid.toString()) && !list2.contains(userid.toString()) && !list1.contains(userid.toString())){
+                this.save(slAudit);
+
+                SlAuditRecord slAuditRecord=new SlAuditRecord();
+                slAuditRecord.setAuditId(slAudit.getId());
+                slAuditRecord.setShenhId(byId.getAdministratorId());
+                slAuditRecord.setType(1);
+                slAuditRecord.setState(1);
+                slAuditRecord.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord);
+
+                SlAuditRecord slAuditRecord3=new SlAuditRecord();
+                slAuditRecord3.setAuditId(slAudit.getId());
+                slAuditRecord3.setShenhId(byId.getCompetentId());
+                slAuditRecord3.setType(2);
+                slAuditRecord3.setState(1);
+                slAuditRecord3.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord3);
+
+                SlAuditRecord slAuditRecord4=new SlAuditRecord();
+                slAuditRecord4.setAuditId(slAudit.getId());
+                slAuditRecord4.setShenhId(byId.getDirectorId());
+                slAuditRecord4.setType(3);
+                slAuditRecord4.setState(1);
+                slAuditRecord4.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord4);
+            }
         }
-        if (slAudit.getType()==2){
+        if (slAudit.getType()==2) {
 
             SlVolumeProductionCkgl slVolumeProductionCkgl = slVolumeProductionCKglMapper.selectById(slAuditDTO.getRkId());
+            SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(slVolumeProductionCkgl.getManagementId());
+            String directorId = slStoreManagement.getDirectorId();
+            String competentId = slStoreManagement.getCompetentId();
+            String administratorId = slStoreManagement.getAdministratorId();
+            Long userid = SecurityUtils.getUserId();
+            List<String> list1 = Arrays.asList(administratorId.split(","));
+            List<String> list2 = Arrays.asList(competentId.split(","));
+            List<String> list3 = Arrays.asList(directorId.split(","));
+
             slAudit.setSysId(slVolumeProductionCkgl.getSysId());
             slAudit.setManagementId(slVolumeProductionCkgl.getManagementId());
             SlStoreManagement byId = slStoreManagementService.getById(slVolumeProductionCkgl.getManagementId());
             slAudit.setShenhId(byId.getAdministratorId());
-            this.save(slAudit);
-            SlAuditRecord slAuditRecord=new SlAuditRecord();
-            slAuditRecord.setAuditId(slAudit.getId());
-            slAuditRecord.setShenhId(byId.getAdministratorId());
-            slAuditRecord.setType(1);
-            slAuditRecord.setState(1);
-            slAuditRecord.setCreateTime(new Date());
-            slAuditRecordMapper.insert(slAuditRecord);
+            if (list3.contains(userid.toString())){
+                slAudit.setState(4);
+                this.save(slAudit);
+                slVolumeProductionCkgl.setAuditStatus(4);
+                slVolumeProductionCkgl.setPresentState(3);
+                slVolumeProductionCKglMapper.updateById(slVolumeProductionCkgl);
+                // 主任发起 主管和管理员默认审核通过
+                SlAuditRecord slAuditRecord4=new SlAuditRecord();
+                slAuditRecord4.setAuditId(slAudit.getId());
+                slAuditRecord4.setShenhId(byId.getDirectorId());
+                slAuditRecord4.setType(3);
+                slAuditRecord4.setState(2);
+                slAuditRecord4.setShenhTime(new Date());
+                slAuditRecord4.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord4);
 
-            SlAuditRecord slAuditRecord1=new SlAuditRecord();
-            slAuditRecord1.setAuditId(slAudit.getId());
-            slAuditRecord1.setShenhId(byId.getCompetentId());
-            slAuditRecord1.setType(2);
-            slAuditRecord1.setState(1);
-            slAuditRecord1.setCreateTime(new Date());
-            slAuditRecordMapper.insert(slAuditRecord1);
+                SlAuditRecord slAuditRecord3=new SlAuditRecord();
+                slAuditRecord3.setAuditId(slAudit.getId());
+                slAuditRecord3.setShenhId(byId.getCompetentId());
+                slAuditRecord3.setType(2);
+                slAuditRecord3.setState(2);
+                slAuditRecord3.setShenhTime(new Date());
+                slAuditRecord3.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord3);
 
-            SlAuditRecord slAuditRecord2=new SlAuditRecord();
-            slAuditRecord2.setAuditId(slAudit.getId());
-            slAuditRecord2.setShenhId(byId.getDirectorId());
-            slAuditRecord2.setType(3);
-            slAuditRecord2.setState(1);
-            slAuditRecord2.setCreateTime(new Date());
-            slAuditRecordMapper.insert(slAuditRecord2);
+                SlAuditRecord slAuditRecord2=new SlAuditRecord();
+                slAuditRecord2.setAuditId(slAudit.getId());
+                slAuditRecord2.setShenhId(byId.getAdministratorId());
+                slAuditRecord2.setType(1);
+                slAuditRecord2.setState(2);
+                slAuditRecord2.setShenhTime(new Date());
+                slAuditRecord2.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord2);
+            }else if (list2.contains(userid.toString())){
+                slAudit.setState(3);
+                this.save(slAudit);
+                slVolumeProductionCkgl.setAuditStatus(3);
+                slVolumeProductionCkgl.setPresentState(1);
+                slVolumeProductionCKglMapper.updateById(slVolumeProductionCkgl);
+                // 如果是主管
+                SlAuditRecord slAuditRecord3=new SlAuditRecord();
+                slAuditRecord3.setAuditId(slAudit.getId());
+                slAuditRecord3.setShenhId(byId.getCompetentId());
+                slAuditRecord3.setType(2);
+                slAuditRecord3.setState(2);
+                slAuditRecord3.setShenhTime(new Date());
+                slAuditRecord3.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord3);
+
+                SlAuditRecord slAuditRecord2=new SlAuditRecord();
+                slAuditRecord2.setAuditId(slAudit.getId());
+                slAuditRecord2.setShenhId(byId.getAdministratorId());
+                slAuditRecord2.setType(1);
+                slAuditRecord2.setState(2);
+                slAuditRecord2.setShenhTime(new Date());
+                slAuditRecord2.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord2);
+
+                SlAuditRecord slAuditRecord4=new SlAuditRecord();
+                slAuditRecord4.setAuditId(slAudit.getId());
+                slAuditRecord4.setShenhId(byId.getDirectorId());
+                slAuditRecord4.setType(3);
+                slAuditRecord4.setState(1);
+                slAuditRecord4.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord4);
+
+            }else if (list1.contains(userid.toString())){
+                // 如果是管理员
+                slAudit.setState(2);
+                this.save(slAudit);
+                slVolumeProductionCkgl.setAuditStatus(2);
+                slVolumeProductionCkgl.setPresentState(1);
+                slVolumeProductionCKglMapper.updateById(slVolumeProductionCkgl);
+                // 如果是主管
+                SlAuditRecord slAuditRecord3=new SlAuditRecord();
+                slAuditRecord3.setAuditId(slAudit.getId());
+                slAuditRecord3.setShenhId(byId.getCompetentId());
+                slAuditRecord3.setType(2);
+                slAuditRecord3.setState(1);
+                slAuditRecord3.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord3);
+
+                SlAuditRecord slAuditRecord2=new SlAuditRecord();
+                slAuditRecord2.setAuditId(slAudit.getId());
+                slAuditRecord2.setShenhId(byId.getAdministratorId());
+                slAuditRecord2.setType(1);
+                slAuditRecord2.setState(2);
+                slAuditRecord2.setShenhTime(new Date());
+                slAuditRecord2.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord2);
+
+                SlAuditRecord slAuditRecord4=new SlAuditRecord();
+                slAuditRecord4.setAuditId(slAudit.getId());
+                slAuditRecord4.setShenhId(byId.getDirectorId());
+                slAuditRecord4.setType(3);
+                slAuditRecord4.setState(1);
+                slAuditRecord4.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord4);
+            }
+            if (!list3.contains(userid.toString()) && !list2.contains(userid.toString()) && !list1.contains(userid.toString())){
+                this.save(slAudit);
+
+                SlAuditRecord slAuditRecord=new SlAuditRecord();
+                slAuditRecord.setAuditId(slAudit.getId());
+                slAuditRecord.setShenhId(byId.getAdministratorId());
+                slAuditRecord.setType(1);
+                slAuditRecord.setState(1);
+                slAuditRecord.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord);
+
+                SlAuditRecord slAuditRecord3=new SlAuditRecord();
+                slAuditRecord3.setAuditId(slAudit.getId());
+                slAuditRecord3.setShenhId(byId.getCompetentId());
+                slAuditRecord3.setType(2);
+                slAuditRecord3.setState(1);
+                slAuditRecord3.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord3);
+
+                SlAuditRecord slAuditRecord4=new SlAuditRecord();
+                slAuditRecord4.setAuditId(slAudit.getId());
+                slAuditRecord4.setShenhId(byId.getDirectorId());
+                slAuditRecord4.setType(3);
+                slAuditRecord4.setState(1);
+                slAuditRecord4.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord4);
+            }
         }
-        if (slAudit.getType()==3){
+        if(slAuditDTO.getType() == 3){
             SlVolumeProductionZygl slVolumeProductionZygl = slVolumeProductionZyglMapper.selectById(slAuditDTO.getRkId());
+            slAudit.setSysId(slVolumeProductionZygl.getSysId());
+            slAudit.setManagementId(slVolumeProductionZygl.getManagementId());
+            slAudit.setZymanagementId(slVolumeProductionZygl.getBmanagementId());
+            SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(slVolumeProductionZygl.getManagementId());
+            String directorId = slStoreManagement.getDirectorId();
+            String competentId = slStoreManagement.getCompetentId();
+            String administratorId = slStoreManagement.getAdministratorId();
+            Long userid = SecurityUtils.getUserId();
+            List<String> list1 = Arrays.asList(administratorId.split(","));
+            List<String> list2 = Arrays.asList(competentId.split(","));
+            List<String> list3 = Arrays.asList(directorId.split(","));
+
             slAudit.setSysId(slVolumeProductionZygl.getSysId());
             slAudit.setManagementId(slVolumeProductionZygl.getManagementId());
             slAudit.setZymanagementId(slVolumeProductionZygl.getBmanagementId());
             SlStoreManagement byId = slStoreManagementService.getById(slVolumeProductionZygl.getManagementId());
             slAudit.setShenhId(byId.getAdministratorId());
-            this.save(slAudit);
-            SlAuditRecord slAuditRecord=new SlAuditRecord();
-            slAuditRecord.setAuditId(slAudit.getId());
-            slAuditRecord.setShenhId(byId.getAdministratorId());
-            slAuditRecord.setType(1);
-            slAuditRecord.setState(1);
-            slAuditRecord.setCreateTime(new Date());
-            slAuditRecordMapper.insert(slAuditRecord);
+            if (list3.contains(userid.toString())){
+                slAudit.setState(4);
+                this.save(slAudit);
+                slVolumeProductionZygl.setAuditStatus(4);
+                slVolumeProductionZygl.setPresentState(3);
+                slVolumeProductionZyglMapper.updateById(slVolumeProductionZygl);
+                // 主任发起 主管和管理员默认审核通过
+                SlAuditRecord slAuditRecord4=new SlAuditRecord();
+                slAuditRecord4.setAuditId(slAudit.getId());
+                slAuditRecord4.setShenhId(byId.getDirectorId());
+                slAuditRecord4.setType(3);
+                slAuditRecord4.setState(2);
+                slAuditRecord4.setShenhTime(new Date());
+                slAuditRecord4.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord4);
 
-            SlAuditRecord slAuditRecord1=new SlAuditRecord();
-            slAuditRecord1.setAuditId(slAudit.getId());
-            slAuditRecord1.setShenhId(byId.getCompetentId());
-            slAuditRecord1.setType(2);
-            slAuditRecord1.setState(1);
-            slAuditRecord1.setCreateTime(new Date());
-            slAuditRecordMapper.insert(slAuditRecord1);
+                SlAuditRecord slAuditRecord3=new SlAuditRecord();
+                slAuditRecord3.setAuditId(slAudit.getId());
+                slAuditRecord3.setShenhId(byId.getCompetentId());
+                slAuditRecord3.setType(2);
+                slAuditRecord3.setState(2);
+                slAuditRecord3.setShenhTime(new Date());
+                slAuditRecord3.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord3);
 
-            SlAuditRecord slAuditRecord2=new SlAuditRecord();
-            slAuditRecord2.setAuditId(slAudit.getId());
-            slAuditRecord2.setShenhId(byId.getDirectorId());
-            slAuditRecord2.setType(3);
-            slAuditRecord2.setState(1);
-            slAuditRecord2.setCreateTime(new Date());
-            slAuditRecordMapper.insert(slAuditRecord2);
+                SlAuditRecord slAuditRecord2=new SlAuditRecord();
+                slAuditRecord2.setAuditId(slAudit.getId());
+                slAuditRecord2.setShenhId(byId.getAdministratorId());
+                slAuditRecord2.setType(1);
+                slAuditRecord2.setState(2);
+                slAuditRecord2.setShenhTime(new Date());
+                slAuditRecord2.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord2);
+            }else if (list2.contains(userid.toString())){
+                slAudit.setState(3);
+                this.save(slAudit);
+                slVolumeProductionZygl.setAuditStatus(3);
+                slVolumeProductionZygl.setPresentState(1);
+                slVolumeProductionZyglMapper.updateById(slVolumeProductionZygl);
+                // 如果是主管
+                SlAuditRecord slAuditRecord3=new SlAuditRecord();
+                slAuditRecord3.setAuditId(slAudit.getId());
+                slAuditRecord3.setShenhId(byId.getCompetentId());
+                slAuditRecord3.setType(2);
+                slAuditRecord3.setState(2);
+                slAuditRecord3.setShenhTime(new Date());
+                slAuditRecord3.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord3);
+
+                SlAuditRecord slAuditRecord2=new SlAuditRecord();
+                slAuditRecord2.setAuditId(slAudit.getId());
+                slAuditRecord2.setShenhId(byId.getAdministratorId());
+                slAuditRecord2.setType(1);
+                slAuditRecord2.setState(2);
+                slAuditRecord2.setShenhTime(new Date());
+                slAuditRecord2.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord2);
+
+                SlAuditRecord slAuditRecord4=new SlAuditRecord();
+                slAuditRecord4.setAuditId(slAudit.getId());
+                slAuditRecord4.setShenhId(byId.getDirectorId());
+                slAuditRecord4.setType(3);
+                slAuditRecord4.setState(1);
+                slAuditRecord4.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord4);
+
+            }else if (list1.contains(userid.toString())){
+                // 如果是管理员
+                slAudit.setState(2);
+                this.save(slAudit);
+                slVolumeProductionZygl.setAuditStatus(2);
+                slVolumeProductionZygl.setPresentState(1);
+                slVolumeProductionZyglMapper.updateById(slVolumeProductionZygl);
+                // 如果是主管
+                SlAuditRecord slAuditRecord3=new SlAuditRecord();
+                slAuditRecord3.setAuditId(slAudit.getId());
+                slAuditRecord3.setShenhId(byId.getCompetentId());
+                slAuditRecord3.setType(2);
+                slAuditRecord3.setState(1);
+                slAuditRecord3.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord3);
+
+                SlAuditRecord slAuditRecord2=new SlAuditRecord();
+                slAuditRecord2.setAuditId(slAudit.getId());
+                slAuditRecord2.setShenhId(byId.getAdministratorId());
+                slAuditRecord2.setType(1);
+                slAuditRecord2.setState(2);
+                slAuditRecord2.setShenhTime(new Date());
+                slAuditRecord2.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord2);
+
+                SlAuditRecord slAuditRecord4=new SlAuditRecord();
+                slAuditRecord4.setAuditId(slAudit.getId());
+                slAuditRecord4.setShenhId(byId.getDirectorId());
+                slAuditRecord4.setType(3);
+                slAuditRecord4.setState(1);
+                slAuditRecord4.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord4);
+            }
+            if (!list3.contains(userid.toString()) && !list2.contains(userid.toString()) && !list1.contains(userid.toString())){
+                this.save(slAudit);
+
+                SlAuditRecord slAuditRecord=new SlAuditRecord();
+                slAuditRecord.setAuditId(slAudit.getId());
+                slAuditRecord.setShenhId(byId.getAdministratorId());
+                slAuditRecord.setType(1);
+                slAuditRecord.setState(1);
+                slAuditRecord.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord);
+
+                SlAuditRecord slAuditRecord3=new SlAuditRecord();
+                slAuditRecord3.setAuditId(slAudit.getId());
+                slAuditRecord3.setShenhId(byId.getCompetentId());
+                slAuditRecord3.setType(2);
+                slAuditRecord3.setState(1);
+                slAuditRecord3.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord3);
+
+                SlAuditRecord slAuditRecord4=new SlAuditRecord();
+                slAuditRecord4.setAuditId(slAudit.getId());
+                slAuditRecord4.setShenhId(byId.getDirectorId());
+                slAuditRecord4.setType(3);
+                slAuditRecord4.setState(1);
+                slAuditRecord4.setCreateTime(new Date());
+                slAuditRecordMapper.insert(slAuditRecord4);
+            }
         }
-
     }
 }

--
Gitblit v1.7.1