rentaiming
2024-07-24 3ee4564f6450857a43f508271259b468cf3d1f79
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlGoodsShelfServiceImpl.java
@@ -1,10 +1,31 @@
package com.ruoyi.management.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.utils.page.BeanUtils;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.management.domain.SlGoodsShelf;
import com.ruoyi.management.domain.SlStoreManagement;
import com.ruoyi.management.domain.dto.GoodsShelfDTO;
import com.ruoyi.management.domain.dto.GoodsShelfQuery;
import com.ruoyi.management.domain.dto.SlGoodsShelfDTO;
import com.ruoyi.management.domain.dto.SlGoodsShelfQuery;
import com.ruoyi.management.domain.vo.SlGoodsShelfVO;
import com.ruoyi.management.mapper.SlGoodsShelfMapper;
import com.ruoyi.management.service.SlGoodsShelfService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.management.service.SlStoreManagementService;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.feignClient.SysUserClient;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
/**
 * <p>
@@ -17,4 +38,160 @@
@Service
public class SlGoodsShelfServiceImpl extends ServiceImpl<SlGoodsShelfMapper, SlGoodsShelf> implements SlGoodsShelfService {
    @Resource
    private SlStoreManagementService SlStoreManagementService;
    @Resource
    private SysUserClient sysUserClient;
    @Override
    public PageDTO<SlGoodsShelfVO> getGoodsShelfList(SlGoodsShelfQuery slGoodsShelfQuery) {
        Long userid = SecurityUtils.getUserId();
        SysUser data = sysUserClient.getSysUser(userid).getData();
        LambdaQueryWrapper<SlStoreManagement> wrapper= Wrappers.lambdaQuery();
        if(slGoodsShelfQuery.getStoreManagementName()!=null&&slGoodsShelfQuery.getStoreManagementName()!=""){
            wrapper.eq(SlStoreManagement::getStoreManagementName,slGoodsShelfQuery.getStoreManagementName());
        }
        if (slGoodsShelfQuery.getStoreManagementNumber()!=0 && slGoodsShelfQuery.getStoreManagementNumber()!=null){
            wrapper.eq(SlStoreManagement::getStoreManagementGrade,slGoodsShelfQuery.getStoreManagementNumber());
        }
        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();
        wrapper1.like(SlGoodsShelf::getGoodsShelfName,slGoodsShelfQuery.getGoodsShelfName());
        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);
            }
        }
        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.setStoreManagementNumber(byId.getStoreManagementNumber());
                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 void addSlGoodsShelf(SlGoodsShelfDTO slGoodsShelfDTO) {
        if (slGoodsShelfDTO.getId()==null){
            SlGoodsShelf slGoodsShelf=new SlGoodsShelf();
            slGoodsShelf.setGoodsShelfName(slGoodsShelfDTO.getGoodsShelfName());
            slGoodsShelf.setStoreManagementId(slGoodsShelfDTO.getStoreManagementId());
            slGoodsShelf.setStoreManagementNumber(slGoodsShelfDTO.getStoreManagementNumber());
            this.save(slGoodsShelf);
        }else{
            SlGoodsShelf slGoodsShelf = this.getById(slGoodsShelfDTO.getId());
            if (slGoodsShelfDTO.getGoodsShelfName()!=null){
                slGoodsShelf.setGoodsShelfName(slGoodsShelfDTO.getGoodsShelfName());
            }
            if (slGoodsShelfDTO.getStoreManagementNumber()!=null){
                slGoodsShelf.setStoreManagementNumber(slGoodsShelfDTO.getStoreManagementNumber());
            }
            if (slGoodsShelfDTO.getStoreManagementId()!=null){
                slGoodsShelf.setStoreManagementId(slGoodsShelfDTO.getStoreManagementId());
            }
            this.updateById(slGoodsShelf);
        }
    }
    @Override
    public SlGoodsShelfVO getSlGoodsShelfOne(Long id) {
        SlGoodsShelf byId1 = this.getById(id);
        SlGoodsShelfVO slGoodsShelfVO=new SlGoodsShelfVO();
        BeanUtils.copyProperties(byId1,slGoodsShelfVO.getClass());
        SlStoreManagement byId = SlStoreManagementService.getById(byId1.getStoreManagementId());
        slGoodsShelfVO.setStoreManagementId(byId1.getStoreManagementId());
        slGoodsShelfVO.setStoreManagementName(byId.getStoreManagementName());
        slGoodsShelfVO.setStoreManagementNumber(byId.getStoreManagementNumber());
        slGoodsShelfVO.setProvinceName(byId.getProvinceName());
        slGoodsShelfVO.setProvinceCode(byId.getProvinceCode());
        slGoodsShelfVO.setCityName(byId.getCityName());
        slGoodsShelfVO.setCityCode(byId.getCityCode());
        slGoodsShelfVO.setCountyName(byId.getCountyName());
        slGoodsShelfVO.setCountyCode(byId.getCountyCode());
        slGoodsShelfVO.setTownCode(byId.getTownCode());
        slGoodsShelfVO.setTownName(byId.getTownName());
        return slGoodsShelfVO;
    }
    @Override
    public List<SlGoodsShelf> wfanzGoodsShelfList(GoodsShelfQuery goodsShelfQuery) {
        LambdaQueryWrapper< SlGoodsShelf> wrapper1= Wrappers.lambdaQuery();
        wrapper1.eq(SlGoodsShelf::getStoreManagementId,goodsShelfQuery.getStoreManagementId());
        wrapper1.eq(SlGoodsShelf::getStoreManagementNumber,goodsShelfQuery.getStoreManagementNumber());
        wrapper1.eq(SlGoodsShelf::getIsStoreManagement,1);
        wrapper1.eq( SlGoodsShelf::getDelFlag,0);
        wrapper1.orderByDesc(SlGoodsShelf::getCreateTime);
        List<SlGoodsShelf> page2 = this.list(wrapper1);
        return page2;
    }
    @Override
    public void fanzGoodsShelfList(GoodsShelfDTO goodsShelfDTO) {
        SlGoodsShelf slGoodsShelf = this.getById(goodsShelfDTO.getId());
        slGoodsShelf.setImgId(goodsShelfDTO.getImgId());
        slGoodsShelf.setIsStoreManagement(2);
        slGoodsShelf.setZbX(goodsShelfDTO.getZbX());
        slGoodsShelf.setZbY(goodsShelfDTO.getZbY());
        this.updateById(slGoodsShelf);
    }
    @Override
    public List<SlGoodsShelf> getStoreManagementimgSheif(GoodsShelfDTO goodsShelfDTO) {
        LambdaQueryWrapper< SlGoodsShelf> wrapper1= Wrappers.lambdaQuery();
        wrapper1.eq(SlGoodsShelf::getImgId,goodsShelfDTO.getImgId());
        wrapper1.eq(SlGoodsShelf::getIsStoreManagement,2);
        wrapper1.eq( SlGoodsShelf::getDelFlag,0);
        wrapper1.orderByDesc(SlGoodsShelf::getCreateTime);
        List<SlGoodsShelf> page2 = this.list(wrapper1);
        return page2;
    }
    @Override
    public List<SlGoodsShelf> getGoodsSheManagementlfList(SlGoodsShelfQuery slGoodsShelfQuery) {
        LambdaQueryWrapper< SlGoodsShelf> wrapper1= Wrappers.lambdaQuery();
        if (slGoodsShelfQuery.getStoreManagementId()!=null){
            wrapper1.eq(SlGoodsShelf::getStoreManagementId,slGoodsShelfQuery.getStoreManagementId());
        }
        if (slGoodsShelfQuery.getStoreManagementNumber()!=null){
            wrapper1.eq(SlGoodsShelf::getStoreManagementNumber,slGoodsShelfQuery.getStoreManagementNumber());
        }
        wrapper1.eq( SlGoodsShelf::getDelFlag,0);
        wrapper1.orderByDesc(SlGoodsShelf::getCreateTime);
        List<SlGoodsShelf> page2 = this.list(wrapper1);
        return page2;
    }
}