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 | 156 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 146 insertions(+), 10 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 a92150a..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,20 +1,37 @@ 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; /** @@ -28,15 +45,29 @@ @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(); - wrapper.eq(SlStoreManagement::getStoreManagementName,storeManagementQuery.getStoreManagementName()); - wrapper.eq(SlStoreManagement::getStoreManagementNo,storeManagementQuery.getStoreManagementNo()); - if (storeManagementQuery.getStoreManagementGrade()!=0 && storeManagementQuery.getStoreManagementGrade()!=null){ - wrapper.eq(SlStoreManagement::getStoreManagementGrade,storeManagementQuery.getStoreManagementGrade()); + 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); @@ -44,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()); @@ -67,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()); } @@ -120,20 +166,110 @@ } 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(); - wrapper.eq(SlStoreManagement::getCityCode,StoreManagementQuery.getCityCode()); + 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.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.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); - List<SlStoreManagement> page1 = this.list(wrapper); - return page1; + 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