rentaiming
2024-07-16 068f7367353f9f20debc65ec4be2209ae3b90ecd
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionCkglServiceImpl.java
@@ -3,28 +3,24 @@
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.SlStoreManagement;
import com.ruoyi.management.domain.SlVolumeProductionCkgl;
import com.ruoyi.management.domain.SlVolumeProductionRkgl;
import com.ruoyi.management.domain.*;
import com.ruoyi.management.domain.dto.VolumeProductionCkglDTO;
import com.ruoyi.management.domain.dto.getslVolumeProductionCkglQuery;
import com.ruoyi.management.domain.vo.SupplierVolumeProductionRkglVO;
import com.ruoyi.management.domain.vo.VolumeProductionCkglVO;
import com.ruoyi.management.mapper.SlStoreManagementMapper;
import com.ruoyi.management.mapper.SlVolumeProductionCkglMapper;
import com.ruoyi.management.domain.vo.*;
import com.ruoyi.management.mapper.*;
import com.ruoyi.management.service.SlVolumeProductionCkglService;
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 io.swagger.models.auth.In;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -42,6 +38,22 @@
    @Resource
    private SlStoreManagementMapper slStoreManagementMapper;
    @Resource
    private SlVolumeProductionCkMapper slVolumeProductionCkMapper;
    @Resource
    private SlVolumeProductionRkMapper slVolumeProductionRkMapper;
    @Resource
    private SlGoodsMaterialsMapper slGoodsMaterialsMapper;
    @Resource
    private  SlGoodsShelfMapper slGoodsShelfMapper;
    @Resource
    private ManagementGoodsMaterialsMapper managementGoodsMaterialsMapper;
    @Override
    public PageDTO<VolumeProductionCkglVO> getslVolumeProductionCkglList(getslVolumeProductionCkglQuery VolumeProductionCkglQuery) {
@@ -104,4 +116,157 @@
            this.updateById(byId);
        }
    }
    @Override
    public VolumeProductionCkglInfoVO getVolumeProductionCkglnfo(Integer id) {
        SlVolumeProductionCkgl byId = this.getById(id);
        VolumeProductionCkglInfoVO v= BeanUtils.copyBean(byId, VolumeProductionCkglInfoVO.class);
        SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(byId.getManagementId());
        v.setStoreManagementName(slStoreManagement.getStoreManagementName());
        SysUser data1 = sysUserClient.getSysUser(Long.valueOf(byId.getSysId())).getData();
        v.setSysName(data1.getNickName());
        v.setSysPhone(data1.getPhonenumber());
        return null;
    }
    @Override
    public VolumeProductionCkglInventoryVO getVolumeProductionCkglInventory(Integer id) {
        SlVolumeProductionCkgl byId = this.getById(id);
        VolumeProductionCkglInventoryVO vo = new VolumeProductionCkglInventoryVO();
        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());
        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< SlVolumeProductionCk> wrapper2= Wrappers.lambdaQuery();
        wrapper2.eq(SlVolumeProductionCk::getCkglId,id);
        wrapper2.eq( SlVolumeProductionCk::getDelFlag,0);
        wrapper2.orderByDesc(SlVolumeProductionCk::getCreateTime);
        List<SlVolumeProductionCk> page2 = slVolumeProductionCkMapper.selectList(wrapper2);
        List<ManagementimgVolumeProductionCkVO> SlGoodsShelfDTO=new ArrayList<>();
        for(SlVolumeProductionCk list1:page2) {
            ManagementimgVolumeProductionCkVO list=new ManagementimgVolumeProductionCkVO();
            list.setId(list1.getId());
            list.setCkNum(list1.getCkNum());
            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;
    }
    @Override
    public void ck(Integer id) {
        LambdaQueryWrapper<SlVolumeProductionCk> wrapper1 = Wrappers.lambdaQuery();
        wrapper1.eq(SlVolumeProductionCk::getCkglId, id);
        wrapper1.eq(SlVolumeProductionCk::getDelFlag, 0);
        wrapper1.orderByDesc(SlVolumeProductionCk::getCreateTime);
        List<SlVolumeProductionCk> page2 = slVolumeProductionCkMapper.selectList(wrapper1);
        for (SlVolumeProductionCk list : page2) {
            SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(list.getRkId());
            Long num =slVolumeProductionRk.getRepertoryZhai()-Long.valueOf(list.getCkNum());
            slVolumeProductionRk.setRepertoryZhai(num);
            slVolumeProductionRkMapper.updateById(slVolumeProductionRk);
            LambdaQueryWrapper<ManagementGoodsMaterials> wrapper2 = Wrappers.lambdaQuery();
            wrapper2.eq(ManagementGoodsMaterials::getGoodsMaterialsId,list.getMaterialsId());
            wrapper2.eq(ManagementGoodsMaterials::getManagementId,slVolumeProductionRk.getManagementId());
            wrapper2.eq(ManagementGoodsMaterials::getDelFlag, 0);
            ManagementGoodsMaterials managementGoodsMaterials = managementGoodsMaterialsMapper.selectOne(wrapper2);
            if (managementGoodsMaterials!=null){
                Long repertoryZhai = managementGoodsMaterials.getRepertoryZhai();
                Long re1=repertoryZhai-Long.valueOf(list.getCkNum());
                Integer num1= managementGoodsMaterials.getRepertoryChu()+list.getCkNum();
                managementGoodsMaterials.setRepertoryZhai(re1);
                managementGoodsMaterials.setCheckNum(num1);
                managementGoodsMaterialsMapper.updateById(managementGoodsMaterials);
            }
        }
        SlVolumeProductionCkgl byId = this.getById(id);
        byId.setAuditStatus(6);
        byId.setEndTime(new Date());
        this.updateById(byId);
    }
    @Override
    public void gh(Integer id) {
        LambdaQueryWrapper<SlVolumeProductionCk> wrapper1 = Wrappers.lambdaQuery();
        wrapper1.eq(SlVolumeProductionCk::getCkglId, id);
        wrapper1.eq(SlVolumeProductionCk::getDelFlag, 0);
        wrapper1.orderByDesc(SlVolumeProductionCk::getCreateTime);
        List<SlVolumeProductionCk> page2 = slVolumeProductionCkMapper.selectList(wrapper1);
        for (SlVolumeProductionCk list : page2) {
            SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(list.getRkId());
            Long num =slVolumeProductionRk.getRepertoryZhai()+Long.valueOf(list.getGuihNum());
            slVolumeProductionRk.setRepertoryZhai(num);
            slVolumeProductionRkMapper.updateById(slVolumeProductionRk);
            LambdaQueryWrapper<ManagementGoodsMaterials> wrapper2 = Wrappers.lambdaQuery();
            wrapper2.eq(ManagementGoodsMaterials::getGoodsMaterialsId,list.getMaterialsId());
            wrapper2.eq(ManagementGoodsMaterials::getManagementId,slVolumeProductionRk.getManagementId());
            wrapper2.eq(ManagementGoodsMaterials::getDelFlag, 0);
            ManagementGoodsMaterials managementGoodsMaterials = managementGoodsMaterialsMapper.selectOne(wrapper2);
            if (managementGoodsMaterials!=null){
                Long repertoryZhai = managementGoodsMaterials.getRepertoryZhai();
                Long re1=repertoryZhai+Long.valueOf(list.getGuihNum());
                Integer m=managementGoodsMaterials.getCheckNum()-list.getCkNum();
                Integer m1=list.getCkNum()-list.getGuihNum();
                Integer m2=managementGoodsMaterials.getRepertoryYishi()+m1;
                managementGoodsMaterials.setRepertoryChu(m);
                managementGoodsMaterials.setRepertoryZhai(re1);
                managementGoodsMaterials.setRepertoryYishi(m2);
                managementGoodsMaterialsMapper.updateById(managementGoodsMaterials);
            }
        }
        SlVolumeProductionCkgl byId = this.getById(id);
        byId.setAuditStatus(7);
        byId.setPresentState(4);
        byId.setEndTime(new Date());
        this.updateById(byId);
    }
}