From b5ef65d0103a71dc7af2b9be6d2ac43aca5bb726 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 27 八月 2024 08:59:57 +0800
Subject: [PATCH] 代码提交 bug解决

---
 ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlStoreManagementServiceImpl.java |  253 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 253 insertions(+), 0 deletions(-)

diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlStoreManagementServiceImpl.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlStoreManagementServiceImpl.java
index 8cd6db1..88eb02f 100644
--- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlStoreManagementServiceImpl.java
+++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlStoreManagementServiceImpl.java
@@ -1,12 +1,38 @@
 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;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.security.service.TokenService;
+import com.ruoyi.common.security.utils.SecurityUtils;
+import com.ruoyi.management.domain.ManagementGoodsMaterials;
 import com.ruoyi.management.domain.SlStoreManagement;
 
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.management.domain.SlVolumeProductionRk;
+import com.ruoyi.management.domain.dto.QStoreManagementQuery;
+import com.ruoyi.management.domain.dto.StoreManagementDTO;
+import com.ruoyi.management.domain.dto.StoreManagementQuery;
+import com.ruoyi.management.domain.vo.SlGoodsShelfVO;
+import com.ruoyi.management.domain.vo.SlStoreManagementInventoryVO;
+import com.ruoyi.management.mapper.ManagementGoodsMaterialsMapper;
 import com.ruoyi.management.mapper.SlStoreManagementMapper;
+import com.ruoyi.management.mapper.SlVolumeProductionRkMapper;
+import com.ruoyi.management.mapper.SlVolumeProductionRkglMapper;
 import com.ruoyi.management.service.SlStoreManagementService;
+import com.ruoyi.system.api.domain.SysUser;
+import com.ruoyi.system.api.feignClient.SysUserClient;
+import org.apache.catalina.security.SecurityUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * <p>
@@ -19,4 +45,231 @@
 @Service
 public class SlStoreManagementServiceImpl extends ServiceImpl<SlStoreManagementMapper, SlStoreManagement> implements SlStoreManagementService {
 
+    @Resource
+    private ManagementGoodsMaterialsMapper managementGoodsMaterialsMapper;
+
+    @Override
+    public PageDTO<SlStoreManagement> getStoreManagementList(StoreManagementQuery storeManagementQuery) {
+        Page<SlStoreManagement> page = new Page<>(storeManagementQuery.getPageCurr(), storeManagementQuery.getPageSize());
+        LambdaQueryWrapper< SlStoreManagement> wrapper= Wrappers.lambdaQuery();
+        if (storeManagementQuery.getStoreManagementName()!=null&&storeManagementQuery.getStoreManagementName()!=""){
+            wrapper.eq(SlStoreManagement::getStoreManagementName,storeManagementQuery.getStoreManagementName());
+        }
+        if(storeManagementQuery.getStoreManagementNo()!=null&&storeManagementQuery.getStoreManagementNo()!=""){
+            wrapper.eq(SlStoreManagement::getStoreManagementNo,storeManagementQuery.getStoreManagementNo());
+        }
+
+        if ( storeManagementQuery.getStoreManagementGrade()!=null &&!storeManagementQuery.getStoreManagementGrade().equals("0") ){
+            String[] split = storeManagementQuery.getStoreManagementGrade().split(",");
+            List<Integer> arr=new ArrayList<>();
+            for(int i=0;i<split.length;i++){
+                arr.add(Integer.valueOf(split[i]));
+            }
+            wrapper.in(SlStoreManagement::getStoreManagementGrade,arr);
+        }
+
+        wrapper.eq( SlStoreManagement::getDelFlag,0);
+        wrapper.orderByDesc(SlStoreManagement::getCreateTime);
+        Page<SlStoreManagement> page1 = this.page(page, wrapper);
+        return PageDTO.of(page1);
+    }
+
+    @Override
+    public AjaxResult addStoreManagement(StoreManagementDTO storeManagementDTO) {
+        if (storeManagementDTO.getId()==null){
+            List<SlStoreManagement> list = this.list(new QueryWrapper<SlStoreManagement>()
+                    .eq("store_management_grade", storeManagementDTO.getStoreManagementGrade())
+                            .eq("store_management_no", storeManagementDTO.getStoreManagementNo())
+                    .eq("del_flag", 0));
+            if (!list.isEmpty()){
+                return AjaxResult.error("当前仓库等级已有相同编号仓库");
+            }
+            SlStoreManagement slStoreManagement=new SlStoreManagement();
+            slStoreManagement.setStoreManagementNo(storeManagementDTO.getStoreManagementNo());
+            slStoreManagement.setStoreManagementAdder(storeManagementDTO.getStoreManagementAdder());
+            slStoreManagement.setStoreManagementExplain(storeManagementDTO.getStoreManagementExplain());
+            slStoreManagement.setStoreManagementName(storeManagementDTO.getStoreManagementName());
+            slStoreManagement.setStoreManagementGrade(storeManagementDTO.getStoreManagementGrade());
+            slStoreManagement.setStoreManagementNumber(storeManagementDTO.getStoreManagementNumber());
+            slStoreManagement.setAdministratorId(storeManagementDTO.getAdministratorId());
+            slStoreManagement.setCompetentId(storeManagementDTO.getCompetentId());
+            slStoreManagement.setDirectorId(storeManagementDTO.getDirectorId());
+            slStoreManagement.setProvinceName(storeManagementDTO.getProvinceName());
+            slStoreManagement.setProvinceCode(storeManagementDTO.getProvinceCode());
+            slStoreManagement.setCityName(storeManagementDTO.getCityName());
+            slStoreManagement.setCityCode(storeManagementDTO.getCityCode());
+            slStoreManagement.setCountyName(storeManagementDTO.getCountyName());
+            slStoreManagement.setCountyCode(storeManagementDTO.getCountyCode());
+            slStoreManagement.setTownCode(storeManagementDTO.getTownCode());
+            slStoreManagement.setTownName(storeManagementDTO.getTownName());
+            this.save(slStoreManagement);
+        }else {
+            SlStoreManagement slStoreManagement = this.getById(storeManagementDTO.getId());
+            List<SlStoreManagement> list = this.list(new QueryWrapper<SlStoreManagement>()
+                    .eq("store_management_grade", storeManagementDTO.getStoreManagementGrade())
+                    .eq("store_management_no", storeManagementDTO.getStoreManagementNo())
+                    .ne("id",slStoreManagement.getId())
+                    .eq("del_flag", 0));
+            if (!list.isEmpty()){
+                return AjaxResult.error("当前仓库等级已有相同编号仓库");
+            }
+            if (storeManagementDTO.getStoreManagementNo()!=null){
+                slStoreManagement.setStoreManagementNo(storeManagementDTO.getStoreManagementNo());
+            }
+            if (storeManagementDTO.getStoreManagementAdder()!=null){
+            slStoreManagement.setStoreManagementAdder(storeManagementDTO.getStoreManagementAdder());
+            }
+            if (storeManagementDTO.getStoreManagementExplain()!=null){
+            slStoreManagement.setStoreManagementExplain(storeManagementDTO.getStoreManagementExplain());
+            }
+            if (storeManagementDTO.getStoreManagementName()!=null){
+            slStoreManagement.setStoreManagementName(storeManagementDTO.getStoreManagementName());
+            }
+            if (storeManagementDTO.getStoreManagementGrade()!=null){
+            slStoreManagement.setStoreManagementGrade(storeManagementDTO.getStoreManagementGrade());
+            }
+            if (storeManagementDTO.getStoreManagementNumber()!=null){
+            slStoreManagement.setStoreManagementNumber(storeManagementDTO.getStoreManagementNumber());
+            }
+            if (storeManagementDTO.getAdministratorId()!=null){
+            slStoreManagement.setAdministratorId(storeManagementDTO.getAdministratorId());
+            }
+            if (storeManagementDTO.getCompetentId()!=null){
+            slStoreManagement.setCompetentId(storeManagementDTO.getCompetentId());
+            }
+            if (storeManagementDTO.getDirectorId()!=null){
+            slStoreManagement.setDirectorId(storeManagementDTO.getDirectorId());
+            }
+            if (storeManagementDTO.getProvinceName()!=null){
+            slStoreManagement.setProvinceName(storeManagementDTO.getProvinceName());
+            }
+            if (storeManagementDTO.getProvinceCode()!=null){
+            slStoreManagement.setProvinceCode(storeManagementDTO.getProvinceCode());
+            }
+            if (storeManagementDTO.getCityName()!=null){
+            slStoreManagement.setCityName(storeManagementDTO.getCityName());
+            }
+            if (storeManagementDTO.getCityCode()!=null){
+            slStoreManagement.setCityCode(storeManagementDTO.getCityCode());
+            }
+            if (storeManagementDTO.getCountyName()!=null){
+            slStoreManagement.setCountyName(storeManagementDTO.getCountyName());
+            }
+            if (storeManagementDTO.getCountyCode()!=null){
+            slStoreManagement.setCountyCode(storeManagementDTO.getCountyCode());
+            }
+            if (storeManagementDTO.getTownCode()!=null){
+            slStoreManagement.setTownCode(storeManagementDTO.getTownCode());
+            }
+            if (storeManagementDTO.getTownName()!=null){
+            slStoreManagement.setTownName(storeManagementDTO.getTownName());
+            }
+            this.updateById(slStoreManagement);
+        }
+        return AjaxResult.success();
+    }
+
+    @Autowired
+    private TokenService tokenService;
+    @Resource
+    private SysUserClient sysUserClient;
+    @Override
+    public List<SlStoreManagement> QueryStoreManagementList(QStoreManagementQuery StoreManagementQuery) {
+        LambdaQueryWrapper< SlStoreManagement> wrapper= Wrappers.lambdaQuery();
+        if (StoreManagementQuery.getCityCode()!=null && StoreManagementQuery.getCityCode()!=""){
+                wrapper.eq(SlStoreManagement::getCityCode,StoreManagementQuery.getCityCode());
+        }
+        if (StoreManagementQuery.getCountyCode()!=null && StoreManagementQuery.getCountyCode()!=""){
+        wrapper.eq(SlStoreManagement::getCountyCode,StoreManagementQuery.getCountyCode());
+        }
+        if (StoreManagementQuery.getTownCode()!=null && StoreManagementQuery.getTownCode()!=""){
+        wrapper.eq(SlStoreManagement::getTownCode,StoreManagementQuery.getTownCode());
+        }
+        if (StoreManagementQuery.getStoreManagementGrade()!=null&&StoreManagementQuery.getStoreManagementGrade()!=0){
+            wrapper.eq(SlStoreManagement::getStoreManagementGrade,StoreManagementQuery.getStoreManagementGrade());
+        }
+        wrapper.eq(SlStoreManagement::getDelFlag,0);
+        wrapper.orderByDesc(SlStoreManagement::getCreateTime);
+        Long userid = tokenService.getLoginUser().getUserid();
+        SysUser data = sysUserClient.getSysUser(userid).getData();
+        if (data!=null){
+            if (!data.getUserType().equals("00")){
+                // 仓库管理员 根据仓库管理员的等级查询对应的仓库
+                switch (data.getRoleType()){
+                    case 3:
+                        wrapper.ge(SlStoreManagement::getStoreManagementGrade,3);
+                        break;
+                    case 4:
+                        wrapper.ge(SlStoreManagement::getStoreManagementGrade,4);
+                        break;
+                    case 5:
+                        wrapper.ge(SlStoreManagement::getStoreManagementGrade,5);
+                        break;
+                    case 6:
+                        wrapper.eq(SlStoreManagement::getStoreManagementGrade,6);
+                        break;
+                }
+
+            }
+
+        }
+        List<SlStoreManagement> page1 = this.list(wrapper);
+        return page1;
+    }
+
+    @Override
+    public PageDTO<SlStoreManagementInventoryVO> getManagementInventoryList(StoreManagementQuery storeManagementQuery) {
+        Long userId = SecurityUtils.getUserId();
+        SysUser data = sysUserClient.getSysUser(userId).getData();
+
+        Page<SlStoreManagement> page = new Page<>(storeManagementQuery.getPageCurr(), storeManagementQuery.getPageSize());
+        LambdaQueryWrapper< SlStoreManagement> wrapper= Wrappers.lambdaQuery();
+        if (storeManagementQuery.getStoreManagementName()!=null){
+            wrapper.like(SlStoreManagement::getStoreManagementName,storeManagementQuery.getStoreManagementName());
+        }
+        if (!data.getUserType().equals("00")){
+            // 不是平台账号 根据角色类型查询对应的仓库
+            switch (data.getRoleType()){
+                case 3:
+                    wrapper.ge(SlStoreManagement::getStoreManagementGrade,3);
+                    break;
+                case 4:
+                    wrapper.ge(SlStoreManagement::getStoreManagementGrade,4);
+                    break;
+                case 5:
+                    wrapper.ge(SlStoreManagement::getStoreManagementGrade,5);
+                    break;
+                case 6:
+                    wrapper.eq(SlStoreManagement::getStoreManagementGrade,6);
+                    break;
+            }
+        }
+        if (storeManagementQuery.getStoreManagementNo()!=null){
+        wrapper.eq(SlStoreManagement::getStoreManagementNo,storeManagementQuery.getStoreManagementNo());
+        }
+
+        if ( storeManagementQuery.getStoreManagementGrade()!=null&&!storeManagementQuery.getStoreManagementGrade().equals("0")){
+            String[] split = storeManagementQuery.getStoreManagementGrade().split(",");
+            List<Integer> arr=new ArrayList<>();
+            for(int i=0;i<split.length;i++){
+                arr.add(Integer.valueOf(split[i]));
+            }
+            wrapper.in(SlStoreManagement::getStoreManagementGrade,arr);
+        }
+        wrapper.eq( SlStoreManagement::getDelFlag,0);
+        wrapper.orderByDesc(SlStoreManagement::getCreateTime);
+        Page<SlStoreManagement> page1 = this.page(page, wrapper);
+
+        PageDTO<SlStoreManagementInventoryVO> InventoryVO = PageDTO.of(page1, SlStoreManagementInventoryVO.class);
+        List<SlStoreManagementInventoryVO> list2 = InventoryVO.getList();
+        for(SlStoreManagementInventoryVO list:list2){
+            LambdaQueryWrapper<ManagementGoodsMaterials> wrapper1= Wrappers.lambdaQuery();
+
+            wrapper1.eq(ManagementGoodsMaterials::getManagementId,list.getId());
+            List<ManagementGoodsMaterials> managementGoodsMaterials = managementGoodsMaterialsMapper.selectList(wrapper1);
+            list.setGoodsMaterialsNum(managementGoodsMaterials.size());
+
+        }
+        return InventoryVO;
+    }
 }

--
Gitblit v1.7.1