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 | 125 ++++++++++++++++++++++++++++++++++++----- 1 files changed, 110 insertions(+), 15 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 9e9587c..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,9 +1,14 @@ 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; @@ -14,13 +19,19 @@ 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; /** @@ -35,7 +46,7 @@ public class SlStoreManagementServiceImpl extends ServiceImpl<SlStoreManagementMapper, SlStoreManagement> implements SlStoreManagementService { @Resource - private SlVolumeProductionRkMapper SlVolumeProductionRkMapper; + private ManagementGoodsMaterialsMapper managementGoodsMaterialsMapper; @Override public PageDTO<SlStoreManagement> getStoreManagementList(StoreManagementQuery storeManagementQuery) { @@ -47,9 +58,16 @@ if(storeManagementQuery.getStoreManagementNo()!=null&&storeManagementQuery.getStoreManagementNo()!=""){ wrapper.eq(SlStoreManagement::getStoreManagementNo,storeManagementQuery.getStoreManagementNo()); } - if (storeManagementQuery.getStoreManagementGrade()!=0 && storeManagementQuery.getStoreManagementGrade()!=null){ - wrapper.eq(SlStoreManagement::getStoreManagementGrade,storeManagementQuery.getStoreManagementGrade()); + + 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); @@ -57,8 +75,15 @@ } @Override - public void addStoreManagement(StoreManagementDTO storeManagementDTO) { + 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()); @@ -80,6 +105,14 @@ 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()); } @@ -133,36 +166,95 @@ } 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()!="" && StoreManagementQuery.getCityCode()!=null){ - wrapper.eq(SlStoreManagement::getCityCode,StoreManagementQuery.getCityCode()); + if (StoreManagementQuery.getCityCode()!=null && StoreManagementQuery.getCityCode()!=""){ + wrapper.eq(SlStoreManagement::getCityCode,StoreManagementQuery.getCityCode()); } - if (StoreManagementQuery.getCountyCode()!="" && StoreManagementQuery.getCountyCode()!=null){ + if (StoreManagementQuery.getCountyCode()!=null && StoreManagementQuery.getCountyCode()!=""){ wrapper.eq(SlStoreManagement::getCountyCode,StoreManagementQuery.getCountyCode()); } - if (StoreManagementQuery.getStoreManagementGrade()!=0 && StoreManagementQuery.getStoreManagementGrade()!=null){ + 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.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(); - wrapper.eq(SlStoreManagement::getStoreManagementName,storeManagementQuery.getStoreManagementName()); + 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()!=0 && storeManagementQuery.getStoreManagementGrade()!=null){ - wrapper.eq(SlStoreManagement::getStoreManagementGrade,storeManagementQuery.getStoreManagementGrade()); + } + + 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); @@ -171,8 +263,11 @@ PageDTO<SlStoreManagementInventoryVO> InventoryVO = PageDTO.of(page1, SlStoreManagementInventoryVO.class); List<SlStoreManagementInventoryVO> list2 = InventoryVO.getList(); for(SlStoreManagementInventoryVO list:list2){ - Integer managementInventoryList = SlVolumeProductionRkMapper.getManagementInventoryList(list.getId()); - list.setGoodsMaterialsNum(managementInventoryList); + 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