| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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(); |
| | | |
| | |
| | | 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; |
| | |
| | | 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){ |
| | |
| | | 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()); |