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/SlGoodsShelfServiceImpl.java | 150 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 144 insertions(+), 6 deletions(-) diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlGoodsShelfServiceImpl.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlGoodsShelfServiceImpl.java index 68239e3..b21c955 100644 --- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlGoodsShelfServiceImpl.java +++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlGoodsShelfServiceImpl.java @@ -1,10 +1,13 @@ 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.service.TokenService; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.management.domain.SlGoodsShelf; import com.ruoyi.management.domain.SlStoreManagement; @@ -19,10 +22,13 @@ import com.ruoyi.management.service.SlStoreManagementService; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.feignClient.SysUserClient; +import com.ruoyi.system.api.model.LoginUser; +import com.sun.corba.se.spi.ior.IdentifiableFactory; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import javax.annotation.Resource; +import java.util.Date; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -46,8 +52,12 @@ private SysUserClient sysUserClient; + @Resource + private TokenService tokenService; @Override public PageDTO<SlGoodsShelfVO> getGoodsShelfList(SlGoodsShelfQuery slGoodsShelfQuery) { + LoginUser loginUser = tokenService.getLoginUser(); + Long userid = SecurityUtils.getUserId(); SysUser data = sysUserClient.getSysUser(userid).getData(); @@ -55,9 +65,12 @@ if(slGoodsShelfQuery.getStoreManagementName()!=null&& !slGoodsShelfQuery.getStoreManagementName().isEmpty()){ wrapper.like(SlStoreManagement::getStoreManagementName,slGoodsShelfQuery.getStoreManagementName()); } - if (data.getRoleType()!=1){ - wrapper.eq(SlStoreManagement::getStoreManagementGrade,data.getRoleType()); + if (!data.getUserType().equals("00")){ + if (data.getRoleType()!=1){ + wrapper.eq(SlStoreManagement::getStoreManagementGrade,data.getRoleType()); + } } + wrapper.eq(SlStoreManagement::getDelFlag,0); List<SlStoreManagement> page1 = SlStoreManagementService.list(wrapper); Set<Long> slStoreManagementIdList = null; @@ -73,6 +86,7 @@ if (slGoodsShelfQuery.getStoreManagementNumber()!=null && slGoodsShelfQuery.getStoreManagementNumber()!=0){ wrapper1.eq(SlGoodsShelf::getStoreManagementNumber,slGoodsShelfQuery.getStoreManagementNumber()); } + if(slGoodsShelfQuery.getStoreManagementName()!=null&&slGoodsShelfQuery.getStoreManagementName()!="") { if (slStoreManagementIdList.size() > 0) { wrapper1.in(SlGoodsShelf::getStoreManagementId, slStoreManagementIdList); @@ -81,6 +95,9 @@ slStoreManagementIdList.add(0L); wrapper1.in(SlGoodsShelf::getStoreManagementId, slStoreManagementIdList); } + } + if (slGoodsShelfQuery.getStoreManagementId()!=null){ + wrapper1.eq(SlGoodsShelf::getStoreManagementId, slGoodsShelfQuery.getStoreManagementId()); } wrapper1.eq( SlGoodsShelf::getDelFlag,0); wrapper1.orderByDesc(SlGoodsShelf::getCreateTime); @@ -105,17 +122,137 @@ return SlGoodsShelfDTO; } - @Override - public void addSlGoodsShelf(SlGoodsShelfDTO slGoodsShelfDTO) { + public PageDTO<SlGoodsShelfVO> getGoodsShelfList1(SlGoodsShelfQuery slGoodsShelfQuery) { + Long userid = SecurityUtils.getUserId(); + SysUser data = sysUserClient.getSysUser(userid).getData(); + + LambdaQueryWrapper<SlStoreManagement> wrapper= Wrappers.lambdaQuery(); + if(slGoodsShelfQuery.getStoreManagementName()!=null&& !slGoodsShelfQuery.getStoreManagementName().isEmpty()){ + wrapper.like(SlStoreManagement::getStoreManagementName,slGoodsShelfQuery.getStoreManagementName()); + } + if (!data.getUserType().equals("00")){ + if (data.getRoleType()!=1){ + wrapper.eq(SlStoreManagement::getStoreManagementGrade,data.getRoleType()); + } + } + + wrapper.eq(SlStoreManagement::getDelFlag,0); + List<SlStoreManagement> page1 = SlStoreManagementService.list(wrapper); + Set<Long> slStoreManagementIdList = null; + slStoreManagementIdList = page1.stream().map(SlStoreManagement::getId) + .collect(Collectors.toSet()); + + + Page<SlGoodsShelf> page = new Page<>(slGoodsShelfQuery.getPageCurr(), slGoodsShelfQuery.getPageSize()); + LambdaQueryWrapper< SlGoodsShelf> wrapper1= Wrappers.lambdaQuery(); + if (StringUtils.hasLength(slGoodsShelfQuery.getGoodsShelfName())){ + wrapper1.like(SlGoodsShelf::getGoodsShelfName,slGoodsShelfQuery.getGoodsShelfName()); + } + if (slGoodsShelfQuery.getStoreManagementNumber()!=null && slGoodsShelfQuery.getStoreManagementNumber()!=0){ + wrapper1.eq(SlGoodsShelf::getStoreManagementNumber,slGoodsShelfQuery.getStoreManagementNumber()); + } + + if(slGoodsShelfQuery.getStoreManagementName()!=null&&slGoodsShelfQuery.getStoreManagementName()!="") { + if (slStoreManagementIdList.size() > 0) { + wrapper1.in(SlGoodsShelf::getStoreManagementId, slStoreManagementIdList); + } else { + slStoreManagementIdList=new HashSet<>(); + slStoreManagementIdList.add(0L); + wrapper1.in(SlGoodsShelf::getStoreManagementId, slStoreManagementIdList); + } + } + if (slGoodsShelfQuery.getStoreManagementId()!=null){ + wrapper1.eq(SlGoodsShelf::getStoreManagementId, slGoodsShelfQuery.getStoreManagementId()); + } + wrapper1.isNotNull(SlGoodsShelf::getImgId); + wrapper1.eq( SlGoodsShelf::getDelFlag,0); + wrapper1.orderByDesc(SlGoodsShelf::getCreateTime); + Page<SlGoodsShelf> page2 = this.page(page, wrapper1); + + PageDTO<SlGoodsShelfVO> SlGoodsShelfDTO = PageDTO.of(page2, SlGoodsShelfVO.class); + List<SlGoodsShelfVO> list2 = SlGoodsShelfDTO.getList(); + for(SlGoodsShelfVO list:list2){ + SlStoreManagement byId = SlStoreManagementService.getById(list.getStoreManagementId()); + if (byId!=null){ + list.setStoreManagementName(byId.getStoreManagementName()); + list.setProvinceName(byId.getProvinceName()); + list.setProvinceCode(byId.getProvinceCode()); + list.setCityName(byId.getCityName()); + list.setCityCode(byId.getCityCode()); + list.setCountyName(byId.getCountyName()); + list.setCountyCode(byId.getCountyCode()); + list.setTownCode(byId.getTownCode()); + list.setTownName(byId.getTownName()); + } + } + return SlGoodsShelfDTO; + + } + @Override + public R addSlGoodsShelf(SlGoodsShelfDTO slGoodsShelfDTO) { if (slGoodsShelfDTO.getId()==null){ + List<SlGoodsShelf> list = this.list(new QueryWrapper<SlGoodsShelf>() + .eq("del_flag","0") + .eq("store_management_id", slGoodsShelfDTO.getStoreManagementId()) + .eq("goods_shelf_name", slGoodsShelfDTO.getGoodsShelfName())); + if (list.size()>0){ + return R.fail("添加失败,当前仓库已有相同名称货架"); + } SlGoodsShelf slGoodsShelf=new SlGoodsShelf(); slGoodsShelf.setGoodsShelfName(slGoodsShelfDTO.getGoodsShelfName()); slGoodsShelf.setStoreManagementId(slGoodsShelfDTO.getStoreManagementId()); slGoodsShelf.setStoreManagementNumber(slGoodsShelfDTO.getStoreManagementNumber()); + slGoodsShelf.setCreateTime(new Date()); this.save(slGoodsShelf); }else{ + SlGoodsShelf slGoodsShelf = this.getById(slGoodsShelfDTO.getId()); + SlStoreManagement byId = SlStoreManagementService.getById(slGoodsShelf.getStoreManagementId()); + + // 判断当前登陆人等级是否大于等于仓库等级 + Long userId = SecurityUtils.getUserId(); + SysUser data = sysUserClient.getSysUser(userId).getData(); + if (data!=null){ + if (!data.getUserType().equals("00")){ + if (byId!=null){ + if (data.getRoleType().equals(byId.getStoreManagementGrade())){ + // 判断所在地是否一样 + switch (data.getRoleType()){ + case 3: + if (!data.getCityCode().equals(byId.getCityCode())){ + return R.fail("权限不足"); + } + break; + case 4: + if (!data.getCountyCode().equals(byId.getCountyCode())){ + return R.fail("权限不足"); + } + break; + case 5: + if (!data.getTownCode().equals(byId.getTownCode())){ + return R.fail("权限不足"); + } + case 6: + if (!data.getTownCode().equals(byId.getTownCode())){ + return R.fail("权限不足"); + } + break; + } + }else{ + return R.fail("权限不足"); + } + } + } + } + List<SlGoodsShelf> list = this.list(new QueryWrapper<SlGoodsShelf>() + .ne("id", slGoodsShelfDTO.getId()) + .eq("del_flag","0") + .eq("store_management_id", slGoodsShelfDTO.getStoreManagementId()) + .eq("goods_shelf_name", slGoodsShelfDTO.getGoodsShelfName())); + if (list.size()>0){ + return R.fail("编辑失败,当前仓库已有相同名称货架"); + } if (slGoodsShelfDTO.getGoodsShelfName()!=null){ slGoodsShelf.setGoodsShelfName(slGoodsShelfDTO.getGoodsShelfName()); } @@ -127,6 +264,7 @@ } this.updateById(slGoodsShelf); } + return R.ok(); } @Override @@ -138,7 +276,7 @@ SlStoreManagement byId = SlStoreManagementService.getById(byId1.getStoreManagementId()); slGoodsShelfVO.setStoreManagementId(byId1.getStoreManagementId()); slGoodsShelfVO.setStoreManagementName(byId.getStoreManagementName()); - slGoodsShelfVO.setStoreManagementNumber(byId.getStoreManagementNumber()); + slGoodsShelfVO.setStoreManagementNumber(byId1.getStoreManagementNumber()); slGoodsShelfVO.setProvinceName(byId.getProvinceName()); slGoodsShelfVO.setProvinceCode(byId.getProvinceCode()); slGoodsShelfVO.setCityName(byId.getCityName()); @@ -147,7 +285,7 @@ slGoodsShelfVO.setCountyCode(byId.getCountyCode()); slGoodsShelfVO.setTownCode(byId.getTownCode()); slGoodsShelfVO.setTownName(byId.getTownName()); - + slGoodsShelfVO.setGrade(byId.getStoreManagementGrade()); return slGoodsShelfVO; } -- Gitblit v1.7.1