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/SlVolumeProductionCkglServiceImpl.java |  109 +++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 95 insertions(+), 14 deletions(-)

diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionCkglServiceImpl.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionCkglServiceImpl.java
index 33c2288..a334ef4 100644
--- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionCkglServiceImpl.java
+++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionCkglServiceImpl.java
@@ -1,8 +1,10 @@
 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.domain.R;
 import com.ruoyi.common.core.utils.page.BeanUtils;
 import com.ruoyi.common.core.utils.page.PageDTO;
 import com.ruoyi.common.security.utils.SecurityUtils;
@@ -15,6 +17,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.system.api.domain.SysUser;
 import com.ruoyi.system.api.domain.getVolumeProductionRkQuery;
+import com.ruoyi.system.api.feignClient.LogClient;
 import com.ruoyi.system.api.feignClient.SysUserClient;
 import io.swagger.models.auth.In;
 import org.springframework.stereotype.Service;
@@ -54,21 +57,79 @@
     @Resource
     private ManagementGoodsMaterialsMapper managementGoodsMaterialsMapper;
 
+    @Resource
+    private LogClient logClient;
+
     @Override
     public PageDTO<VolumeProductionCkglVO> getslVolumeProductionCkglList(getslVolumeProductionCkglQuery VolumeProductionCkglQuery) {
 
         Page<SlVolumeProductionCkgl> page = new Page<>(VolumeProductionCkglQuery.getPageCurr(), VolumeProductionCkglQuery.getPageSize());
+        LambdaQueryWrapper< SlVolumeProductionCkgl> wrapper1= Wrappers.lambdaQuery();
+        QueryWrapper<SlStoreManagement> storeManagementGrade = new QueryWrapper<SlStoreManagement>()
+                .eq("del_flag", "0");
         getVolumeProductionRkQuery getVolume=new getVolumeProductionRkQuery();
         getVolume.setSupplierPhone(VolumeProductionCkglQuery.getSupplierPhone());
         getVolume.setSupplierName(VolumeProductionCkglQuery.getSupplierName());
         List<SysUser> data1 = sysUserClient.getUserSupplierList(getVolume).getData();
+        SysUser sysUser = sysUserClient.getSysUser(SecurityUtils.getUserId()).getData();
+        List<Long> managementIds = new ArrayList<>();
+        if (sysUser!=null){
+            if (!sysUser.getUserType().equals("00")){
+                // 仓库管理员 根据仓库管理员的等级查询对应的仓库
+                switch (sysUser.getRoleType()){
+                    case 3:
+                        storeManagementGrade.ge("store_management_grade",3);
+                        storeManagementGrade.eq("city_code",sysUser.getCityCode());
+                        managementIds = slStoreManagementMapper.selectList(storeManagementGrade).stream()
+                                .map(SlStoreManagement::getId).collect(Collectors.toList());
+                        if (!managementIds.isEmpty()){
+                            wrapper1.in(SlVolumeProductionCkgl::getManagementId,managementIds);
+                        }
+                        break;
+                    case 4:
+                        storeManagementGrade.ge("store_management_grade",4);
+                        storeManagementGrade.eq("county_code",sysUser.getCountyCode());
+                        managementIds = slStoreManagementMapper.selectList(storeManagementGrade).stream()
+                                .map(SlStoreManagement::getId).collect(Collectors.toList());
+                        if (!managementIds.isEmpty()){
+                            wrapper1.in(SlVolumeProductionCkgl::getManagementId,managementIds);
+                        }
+                        break;
+                    case 5:
+                        storeManagementGrade.ge("store_management_grade",5);
+                        storeManagementGrade.eq("town_code",sysUser.getTownCode());
+                        managementIds = slStoreManagementMapper.selectList(storeManagementGrade).stream()
+                                .map(SlStoreManagement::getId).collect(Collectors.toList());
+                        if (!managementIds.isEmpty()){
+                            wrapper1.in(SlVolumeProductionCkgl::getManagementId,managementIds);
+                        }
+                        break;
+                    case 6:
+                        storeManagementGrade.eq("store_management_grade",6);
+                        storeManagementGrade.eq("town_code",sysUser.getTownCode());
+                        managementIds = slStoreManagementMapper.selectList(storeManagementGrade).stream()
+                                .map(SlStoreManagement::getId).collect(Collectors.toList());
+                        if (!managementIds.isEmpty()){
+                            wrapper1.in(SlVolumeProductionCkgl::getManagementId,managementIds);
+                        }
+                        break;
+                }
+
+            }
+
+        }
+
         Set<Long> goodsSkuIdList = null;
         goodsSkuIdList = data1.stream().map(SysUser::getUserId)
                 .collect(Collectors.toSet());
 
-        LambdaQueryWrapper< SlVolumeProductionCkgl> wrapper1= Wrappers.lambdaQuery();
+        if (VolumeProductionCkglQuery.getPresentState()!=null &&VolumeProductionCkglQuery.getPresentState()!=0){
         wrapper1.eq(SlVolumeProductionCkgl::getPresentState,VolumeProductionCkglQuery.getPresentState());
-        wrapper1.eq(SlVolumeProductionCkgl::getAuditStatus,VolumeProductionCkglQuery.getAuditStatus());
+        }
+        if (VolumeProductionCkglQuery.getAuditStatus()!=null &&VolumeProductionCkglQuery.getAuditStatus()!=0){
+            wrapper1.eq(SlVolumeProductionCkgl::getAuditStatus,VolumeProductionCkglQuery.getAuditStatus());
+
+        }
         if (goodsSkuIdList.size()>0){
             wrapper1.in(SlVolumeProductionCkgl::getSysId,goodsSkuIdList);
         }
@@ -89,9 +150,9 @@
     }
 
     @Override
-    public void addslVolumeProductionCkgl(VolumeProductionCkglDTO volumeProductionCkglDTO) {
+    public String addslVolumeProductionCkgl(VolumeProductionCkglDTO volumeProductionCkglDTO) {
         Long userid = SecurityUtils.getUserId();
-        if (volumeProductionCkglDTO.getId()!=null){
+        if (volumeProductionCkglDTO.getId()==null){
             SlVolumeProductionCkgl slVolumeProductionRkgl=new  SlVolumeProductionCkgl();
             slVolumeProductionRkgl.setAttachmentUrl(volumeProductionCkglDTO.getAttachmentUrl());
             slVolumeProductionRkgl.setAuthorizationUrl(volumeProductionCkglDTO.getAuthorization());
@@ -102,7 +163,9 @@
             slVolumeProductionRkgl.setSource(volumeProductionCkglDTO.getSource());
             slVolumeProductionRkgl.setStartiTime(new Date());
             slVolumeProductionRkgl.setSysId(userid);
+            slVolumeProductionRkgl.setCreateTime(new Date());
             this.save(slVolumeProductionRkgl);
+            return slVolumeProductionRkgl.getId().toString();
         }else{
             SlVolumeProductionCkgl byId = this.getById(volumeProductionCkglDTO.getId());
             if (volumeProductionCkglDTO.getSource()!=null){
@@ -115,27 +178,34 @@
                 byId.setAuthorizationUrl(volumeProductionCkglDTO.getAuthorization());
             }
             this.updateById(byId);
+            return volumeProductionCkglDTO.getId().toString();
         }
     }
 
     @Override
     public VolumeProductionCkglInfoVO getVolumeProductionCkglnfo(Long id) {
-
         SlVolumeProductionCkgl byId = this.getById(id);
         VolumeProductionCkglInfoVO v= BeanUtils.copyBean(byId, VolumeProductionCkglInfoVO.class);
+        v.setAuthorization(byId.getAuthorizationUrl());
         SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(byId.getManagementId());
         v.setStoreManagementName(slStoreManagement.getStoreManagementName());
+        v.setZhuren(slStoreManagement.getDirectorId());
+        v.setZhuguan(slStoreManagement.getCompetentId());
+        v.setGuanliyuan(slStoreManagement.getAdministratorId());
+        v.setReasonsRefusal(byId.getReasonsRefusal());
         SysUser data1 = sysUserClient.getSysUser(Long.valueOf(byId.getSysId())).getData();
-        v.setSysName(data1.getNickName());
-        v.setSysPhone(data1.getPhonenumber());
-        return null;
+        if (data1!=null){
+            v.setSysName(data1.getNickName());
+            v.setSysPhone(data1.getPhonenumber());
+        }
+        return v;
     }
 
     @Override
     public VolumeProductionCkglInventoryVO getVolumeProductionCkglInventory(Long id) {
         SlVolumeProductionCkgl byId = this.getById(id);
         VolumeProductionCkglInventoryVO vo = new VolumeProductionCkglInventoryVO();
-        SysUser data = sysUserClient.getSysUser(byId.getId()).getData();
+        SysUser data = sysUserClient.getSysUser(byId.getSysId()).getData();
         vo.setSysPhone(data.getPhonenumber());
         vo.setSysName(data.getNickName());
         vo.setStartiTime(byId.getStartiTime());
@@ -209,11 +279,12 @@
         wrapper1.orderByDesc(SlVolumeProductionCk::getCreateTime);
         List<SlVolumeProductionCk> page2 = slVolumeProductionCkMapper.selectList(wrapper1);
         for (SlVolumeProductionCk list : page2) {
+            list.setCkTime(new Date());
+            slVolumeProductionCkMapper.updateById(list);
             SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(list.getRkId());
             Long num =slVolumeProductionRk.getRepertoryZhai()-Long.valueOf(list.getCkNum());
             slVolumeProductionRk.setRepertoryZhai(num);
             slVolumeProductionRkMapper.updateById(slVolumeProductionRk);
-
             LambdaQueryWrapper<ManagementGoodsMaterials> wrapper2 = Wrappers.lambdaQuery();
             wrapper2.eq(ManagementGoodsMaterials::getGoodsMaterialsId,list.getMaterialsId());
             wrapper2.eq(ManagementGoodsMaterials::getManagementId,slVolumeProductionRk.getManagementId());
@@ -224,13 +295,15 @@
                 Long re1=repertoryZhai-Long.valueOf(list.getCkNum());
                 Integer num1= managementGoodsMaterials.getRepertoryChu()+list.getCkNum();
                 managementGoodsMaterials.setRepertoryZhai(re1);
-                managementGoodsMaterials.setCheckNum(num1);
+                managementGoodsMaterials.setRepertoryChu(num1);
                 managementGoodsMaterialsMapper.updateById(managementGoodsMaterials);
             }
         }
         SlVolumeProductionCkgl byId = this.getById(id);
         byId.setAuditStatus(6);
         this.updateById(byId);
+        logClient.savelong1();
+
     }
 
     @Override
@@ -241,11 +314,13 @@
         wrapper1.orderByDesc(SlVolumeProductionCk::getCreateTime);
         List<SlVolumeProductionCk> page2 = slVolumeProductionCkMapper.selectList(wrapper1);
         for (SlVolumeProductionCk list : page2) {
+            list.setIsGh(2);
+            list.setGhTime(new Date());
+            slVolumeProductionCkMapper.updateById(list);
             SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(list.getRkId());
             Long num =slVolumeProductionRk.getRepertoryZhai()+Long.valueOf(list.getGuihNum());
             slVolumeProductionRk.setRepertoryZhai(num);
             slVolumeProductionRkMapper.updateById(slVolumeProductionRk);
-
             LambdaQueryWrapper<ManagementGoodsMaterials> wrapper2 = Wrappers.lambdaQuery();
             wrapper2.eq(ManagementGoodsMaterials::getGoodsMaterialsId,list.getMaterialsId());
             wrapper2.eq(ManagementGoodsMaterials::getManagementId,slVolumeProductionRk.getManagementId());
@@ -254,12 +329,18 @@
             if (managementGoodsMaterials!=null){
                 Long repertoryZhai = managementGoodsMaterials.getRepertoryZhai();
                 Long re1=repertoryZhai+Long.valueOf(list.getGuihNum());
-                Integer m=managementGoodsMaterials.getCheckNum()-list.getCkNum();
+                Integer m=managementGoodsMaterials.getRepertoryChu()-list.getGuihNum();
                 Integer m1=list.getCkNum()-list.getGuihNum();
                 Integer m2=managementGoodsMaterials.getRepertoryYishi()+m1;
                 managementGoodsMaterials.setRepertoryChu(m);
                 managementGoodsMaterials.setRepertoryZhai(re1);
-                managementGoodsMaterials.setRepertoryYishi(m2);
+                SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(list.getMaterialsId());
+                if (slGoodsMaterials != null) {
+                    if (slGoodsMaterials.getIsConsume() == 1){
+                        // 非消耗品才计算遗失
+                        managementGoodsMaterials.setRepertoryYishi(m2);
+                    }
+                }
                 managementGoodsMaterialsMapper.updateById(managementGoodsMaterials);
             }
         }

--
Gitblit v1.7.1