rentaiming
2024-07-17 4dff90ef37dd910eff7bd2eb68bff28db5f9bb4d
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyglServiceImpl.java
@@ -1,10 +1,26 @@
package com.ruoyi.management.service.impl;
import com.ruoyi.management.domain.SlVolumeProductionZygl;
import com.ruoyi.management.mapper.SlVolumeProductionZyglMapper;
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.*;
import com.ruoyi.management.domain.dto.SlVolumeProductionZyDTO;
import com.ruoyi.management.domain.dto.SlVolumeProductionZyQuery;
import com.ruoyi.management.domain.vo.*;
import com.ruoyi.management.mapper.*;
import com.ruoyi.management.service.SlVolumeProductionZyglService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.domain.getVolumeProductionRkQuery;
import com.ruoyi.system.api.feignClient.SysUserClient;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
/**
 * <p>
@@ -16,5 +32,176 @@
 */
@Service
public class SlVolumeProductionZyglServiceImpl extends ServiceImpl<SlVolumeProductionZyglMapper, SlVolumeProductionZygl> implements SlVolumeProductionZyglService {
    @Resource
    private SysUserClient sysUserClient;
    @Resource
    private SlStoreManagementMapper slStoreManagementMapper;
    @Resource
    private SlVolumeProductionZyglMapper slVolumeProductionZyglMapper;
    @Resource
    private SlVolumeProductionRkMapper slVolumeProductionRkMapper;
    @Resource
    private SlGoodsMaterialsMapper slGoodsMaterialsMapper;
    @Resource
    private SlGoodsShelfMapper slGoodsShelfMapper;
    @Resource
    private SlVolumeProductionZyMapper slVolumeProductionZyMapper;
    @Override
    public PageDTO<VolumeProductionzZyglVO> getVolumeProductionzZyglList(SlVolumeProductionZyQuery slVolumeProductionZyQuery) {
        Page<SlVolumeProductionZygl> page = new Page<>(slVolumeProductionZyQuery.getPageCurr(), slVolumeProductionZyQuery.getPageSize());
        getVolumeProductionRkQuery getVolume=new getVolumeProductionRkQuery();
        getVolume.setSupplierPhone(slVolumeProductionZyQuery.getSupplierPhone());
        getVolume.setSupplierName(slVolumeProductionZyQuery.getSupplierName());
        List<SysUser> data1 = sysUserClient.getUserSupplierList(getVolume).getData();
        Set<Long> goodsSkuIdList = null;
        goodsSkuIdList = data1.stream().map(SysUser::getUserId)
                .collect(Collectors.toSet());
        LambdaQueryWrapper< SlVolumeProductionZygl> wrapper1= Wrappers.lambdaQuery();
        wrapper1.eq(SlVolumeProductionZygl::getPresentState,slVolumeProductionZyQuery.getPresentState());
        wrapper1.eq(SlVolumeProductionZygl::getAuditStatus,slVolumeProductionZyQuery.getAuditStatus());
        if (goodsSkuIdList.size()>0){
            wrapper1.in(SlVolumeProductionZygl::getSysId,goodsSkuIdList);
        }
        wrapper1.eq( SlVolumeProductionZygl::getDelFlag,0);
        wrapper1.orderByDesc(SlVolumeProductionZygl::getCreateTime);
        Page<SlVolumeProductionZygl> page2 = this.page(page, wrapper1);
        PageDTO<VolumeProductionzZyglVO> SlGoodsShelfDTO = PageDTO.of(page2, VolumeProductionzZyglVO .class);
        List<VolumeProductionzZyglVO> list2 = SlGoodsShelfDTO.getList();
        for(VolumeProductionzZyglVO list:list2){
            SysUser data = sysUserClient.getSysUser(list.getSysId()).getData();
            list.setNickName(data.getNickName());
            list.setPhonenumber(data.getPhonenumber());
            SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(list.getManagementId());
            list.setStoreManagementName(slStoreManagement.getStoreManagementName());
            SlStoreManagement bslStoreManagement = slStoreManagementMapper.selectById(list.getBmanagementId());
            list.setStoreManagementName(bslStoreManagement.getStoreManagementName());
        }
        return SlGoodsShelfDTO;
    }
    @Override
    public void addsVolumeProductionzZygl(SlVolumeProductionZyDTO slVolumeProductionZyDTO) {
                Long userid = SecurityUtils.getUserId();
                if (slVolumeProductionZyDTO.getId()!=null){
                    SlVolumeProductionZygl slVolumeProductionZygl=new SlVolumeProductionZygl();
                    slVolumeProductionZygl.setAttachmentUrl(slVolumeProductionZyDTO.getAttachmentUrl());
                    slVolumeProductionZygl.setAuthorization(slVolumeProductionZyDTO.getAuthorization());
                    slVolumeProductionZygl.setSource(slVolumeProductionZyDTO.getSource());
                    slVolumeProductionZygl.setManagementId(slVolumeProductionZyDTO.getManagementId());
                    slVolumeProductionZygl.setBmanagementId(slVolumeProductionZyDTO.getBmanagementId());
                    slVolumeProductionZygl.setSysId(userid);
                    slVolumeProductionZygl.setStartiTime(new Date());
                    slVolumeProductionZygl.setAuditStatus(1);
                    slVolumeProductionZygl.setPresentState(1);
                }else {
                    SlVolumeProductionZygl byId = this.getById(slVolumeProductionZyDTO.getId());
                    if (slVolumeProductionZyDTO.getSource()!=null){
                        byId.setSource(slVolumeProductionZyDTO.getSource());
                    }
                    if (slVolumeProductionZyDTO.getAttachmentUrl()!=null){
                        byId.setAttachmentUrl(slVolumeProductionZyDTO.getAttachmentUrl());
                    }
                    if (slVolumeProductionZyDTO.getAuthorization()!=null){
                        byId.setAuthorization(slVolumeProductionZyDTO.getAuthorization());
                    }
                    this.updateById(byId);
                }
    }
    @Override
    public VolumeProductionZyglInfoVO getVolumeProductionzZyglnfo(Integer id) {
        SlVolumeProductionZygl byId = this.getById(id);
        VolumeProductionZyglInfoVO v= BeanUtils.copyBean(byId, VolumeProductionZyglInfoVO.class);
        SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(byId.getManagementId());
        v.setStoreManagementName(slStoreManagement.getStoreManagementName());
        SlStoreManagement bslStoreManagement = slStoreManagementMapper.selectById(byId.getBmanagementId());
        v.setBstoreManagementName(bslStoreManagement.getStoreManagementName());
        SysUser data1 = sysUserClient.getSysUser(Long.valueOf(byId.getSysId())).getData();
        v.setSysName(data1.getNickName());
        v.setSysPhone(data1.getPhonenumber());
        return v;
    }
    @Override
    public VolumeProductionZyglInventoryVO getVolumeProductionZyglnventory(Integer id) {
        SlVolumeProductionZygl byId = this.getById(id);
        VolumeProductionZyglInventoryVO vo = new VolumeProductionZyglInventoryVO();
        SysUser data = sysUserClient.getSysUser(byId.getId()).getData();
        vo.setSysPhone(data.getPhonenumber());
        vo.setSysName(data.getNickName());
        vo.setStartiTime(byId.getStartiTime());
        SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(byId.getManagementId());
        vo.setStoreManagementName(slStoreManagement.getStoreManagementName());
        SlStoreManagement bslStoreManagement = slStoreManagementMapper.selectById(byId.getBmanagementId());
        vo.setBstoreManagementName(bslStoreManagement.getStoreManagementName());
        String directorId = slStoreManagement.getDirectorId();
        List<String> stri = Arrays.asList(directorId.split(","));
        String str1 = null;
        if (stri.size() > 0) {
            for (String str : stri) {
                SysUser data1 = sysUserClient.getSysUser(Long.valueOf(str)).getData();
                str1 += data1.getNickName() + ",";
            }
        }
        vo.setDirectorName(str1.substring(0, str1.length() - 1));
        String competentId = slStoreManagement.getCompetentId();
        List<String> stri1 = Arrays.asList(competentId.split(","));
        String str11 = null;
        if (stri1.size() > 0) {
            for (String str : stri1) {
                SysUser data1 = sysUserClient.getSysUser(Long.valueOf(str)).getData();
                str11 += data1.getNickName() + ",";
            }
        }
        vo.setCompetentName(str11.substring(0, str11.length() - 1));
        String administratorId = slStoreManagement.getAdministratorId();
        List<String> stri11 = Arrays.asList(administratorId.split(","));
        String str111 = null;
        if (stri11.size() > 0) {
            for (String str : stri11) {
                SysUser data1 = sysUserClient.getSysUser(Long.valueOf(str)).getData();
                str111 += data1.getNickName() + ",";
            }
        }
        vo.setAdministratorName(str111.substring(0, str111.length() - 1));
        LambdaQueryWrapper< SlVolumeProductionZy> wrapper2= Wrappers.lambdaQuery();
        wrapper2.eq(SlVolumeProductionZy::getZyglId,id);
        wrapper2.eq( SlVolumeProductionZy::getDelFlag,0);
        wrapper2.orderByDesc(SlVolumeProductionZy::getCreateTime);
        List<SlVolumeProductionZy> page2 = slVolumeProductionZyMapper.selectList(wrapper2);
        List<ManagementimgVolumeProductionZyVO> SlGoodsShelfDTO=new ArrayList<>();
        for(SlVolumeProductionZy list1:page2) {
            ManagementimgVolumeProductionZyVO list=new ManagementimgVolumeProductionZyVO();
            list.setId(list1.getId());
            list.setZyNum(list1.getZyNum());
            SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(list1.getRkId());
            list.setStoreManagementNumber(slVolumeProductionRk.getStoreManagementNumber());
            list.setRkNumber(slVolumeProductionRk.getRkNumber());
            list.setRepertoryZhai(slVolumeProductionRk.getRepertoryZhai());
            SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(slVolumeProductionRk.getMaterialsId());
            list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName());
            list.setIsConsume(slGoodsMaterials.getIsConsume());
            SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(slVolumeProductionRk.getShelfId());
            list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName());
            SlGoodsShelfDTO.add(list);
        }
        vo.setManagementimgVolumeProductionCkVOList(SlGoodsShelfDTO);
        return vo;
    }
}