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 | 122 +++++++++++++++++++++++++++++++++++++++- 1 files changed, 119 insertions(+), 3 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 64db86e..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 @@ -7,6 +7,7 @@ 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; @@ -21,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; @@ -48,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(); @@ -57,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; @@ -111,7 +122,73 @@ return SlGoodsShelfDTO; } + @Override + 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){ @@ -126,16 +203,55 @@ 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("添加失败,当前仓库已有相同名称货架"); + return R.fail("编辑失败,当前仓库已有相同名称货架"); } if (slGoodsShelfDTO.getGoodsShelfName()!=null){ slGoodsShelf.setGoodsShelfName(slGoodsShelfDTO.getGoodsShelfName()); -- Gitblit v1.7.1