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.PageDTO;
|
import com.ruoyi.management.domain.*;
|
import com.ruoyi.management.domain.dto.*;
|
import com.ruoyi.management.domain.vo.ManagementimgVolumeProductionRkVO;
|
import com.ruoyi.management.domain.vo.SlGoodsShelfVO;
|
import com.ruoyi.management.domain.vo.getVolumeProductionRkgCodeVO;
|
import com.ruoyi.management.domain.vo.gethuojRkVO;
|
import com.ruoyi.management.mapper.*;
|
import com.ruoyi.management.service.SlStoreManagementService;
|
import com.ruoyi.management.service.SlVolumeProductionRkService;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.ruoyi.management.service.SlVolumeProductionRkglService;
|
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.math.BigDecimal;
|
import java.util.Date;
|
import java.util.HashSet;
|
import java.util.List;
|
import java.util.Set;
|
import java.util.stream.Collectors;
|
|
/**
|
* <p>
|
* 发起入库管理 服务实现类
|
* </p>
|
*
|
* @author hjl
|
* @since 2024-06-25
|
*/
|
@Service
|
public class SlVolumeProductionRkServiceImpl extends ServiceImpl<SlVolumeProductionRkMapper, SlVolumeProductionRk> implements SlVolumeProductionRkService {
|
@Resource
|
private SlGoodsMaterialsMapper slGoodsMaterialsMapper;
|
@Resource
|
private SlVolumeProductionRkglMapper slVolumeProductionRkglMapper;
|
|
@Resource
|
private SlGoodsShelfMapper slGoodsShelfMapper;
|
|
@Resource
|
private SlStoreManagementMapper slStoreManagementMapper;
|
|
@Resource
|
private SysUserClient sysUserClient;
|
|
@Resource
|
private ManagementGoodsMaterialsMapper managementGoodsMaterialsMapper;
|
|
|
|
|
@Override
|
public PageDTO<ManagementimgVolumeProductionRkVO> getManagementimgVolumeProductionList(ManagementimgVolumeProductionRkQuery managementimgVolumeProductionRkDTO) {
|
|
Page<SlVolumeProductionRk> page = new Page<>(managementimgVolumeProductionRkDTO.getPageCurr(), managementimgVolumeProductionRkDTO.getPageSize());
|
LambdaQueryWrapper< SlVolumeProductionRk> wrapper1= Wrappers.lambdaQuery();
|
wrapper1.like(SlVolumeProductionRk::getVolumeProductionRkglId,managementimgVolumeProductionRkDTO.getVolumeProductionRkglId());
|
wrapper1.eq( SlVolumeProductionRk::getDelFlag,0);
|
wrapper1.orderByDesc(SlVolumeProductionRk::getCreateTime);
|
Page<SlVolumeProductionRk> page2 = this.page(page, wrapper1);
|
|
SlVolumeProductionRkgl byId = slVolumeProductionRkglMapper.selectById(managementimgVolumeProductionRkDTO.getVolumeProductionRkglId());
|
SysUser data = sysUserClient.getSysUser(byId.getSupplierId()).getData();
|
PageDTO<ManagementimgVolumeProductionRkVO> SlGoodsShelfDTO = PageDTO.of(page2, ManagementimgVolumeProductionRkVO.class);
|
List<ManagementimgVolumeProductionRkVO> list2 = SlGoodsShelfDTO.getList();
|
for(ManagementimgVolumeProductionRkVO list:list2) {{
|
SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(list.getMaterialsId());
|
list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName());
|
list.setIsConsume(slGoodsMaterials.getIsConsume());
|
list.setSupplierName(data.getNickName());
|
SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(list.getShelfId());
|
if (slGoodsShelf!=null){
|
list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName());
|
}
|
|
|
LambdaQueryWrapper<SlGoodsShelf> wrapper5= Wrappers.lambdaQuery();
|
wrapper5.eq(SlGoodsShelf::getStoreManagementId,byId.getManagementId());
|
wrapper5.eq(SlGoodsShelf::getStoreManagementNumber,list.getStoreManagementNumber());
|
wrapper5.eq( SlGoodsShelf::getDelFlag,0);
|
wrapper5.orderByDesc(SlGoodsShelf::getCreateTime);
|
List<SlGoodsShelf> page3 = slGoodsShelfMapper.selectList(wrapper5);
|
list.setSlGoodsShelfs(page3);
|
}
|
}
|
return SlGoodsShelfDTO;
|
}
|
|
@Override
|
public PageDTO<ManagementimgVolumeProductionRkVO> getSlGoodsMaterialsSlVolumeProductionRkList(SlGoodsMaterialsSlVolumeProductionRkQuery SlGoodsMaterialsSlVolumeProductionRkDTO) {
|
Page<SlVolumeProductionRk> page = new Page<>(SlGoodsMaterialsSlVolumeProductionRkDTO.getPageCurr(), SlGoodsMaterialsSlVolumeProductionRkDTO.getPageSize());
|
LambdaQueryWrapper< SlVolumeProductionRk> wrapper1= Wrappers.lambdaQuery();
|
wrapper1.eq(SlVolumeProductionRk::getMaterialsId,SlGoodsMaterialsSlVolumeProductionRkDTO.getSlGoodsMaterialsid());
|
wrapper1.eq( SlVolumeProductionRk::getDelFlag,0);
|
wrapper1.orderByDesc(SlVolumeProductionRk::getCreateTime);
|
Page<SlVolumeProductionRk> page2 = this.page(page, wrapper1);
|
PageDTO<ManagementimgVolumeProductionRkVO> SlGoodsShelfDTO = PageDTO.of(page2, ManagementimgVolumeProductionRkVO.class);
|
List<ManagementimgVolumeProductionRkVO> list2 = SlGoodsShelfDTO.getList();
|
for(ManagementimgVolumeProductionRkVO list:list2) {{
|
SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(list.getMaterialsId());
|
|
SlVolumeProductionRkgl byId = slVolumeProductionRkglMapper.selectById(list.getVolumeProductionRkglId());
|
SysUser data = sysUserClient.getSysUser(byId.getSupplierId()).getData();
|
|
list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName());
|
list.setIsConsume(slGoodsMaterials.getIsConsume());
|
list.setSupplierName(data.getNickName());
|
SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(list.getShelfId());
|
list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName());
|
}
|
}
|
return SlGoodsShelfDTO;
|
}
|
|
@Override
|
public void addVolumeProductionRkgl(List<SlVolumeProductionRkListDTO> slVolumeProductionRkListDTO) {
|
|
for (SlVolumeProductionRkListDTO m:slVolumeProductionRkListDTO){
|
SlVolumeProductionRk slVolumeProductionRk=new SlVolumeProductionRk();
|
slVolumeProductionRk.setVolumeProductionRkglId(m.getVolumeProductionRkglId());
|
slVolumeProductionRk.setMaterialsId(m.getMaterialsId());
|
slVolumeProductionRk.setManagementId(m.getManagementId());
|
slVolumeProductionRk.setRkNumber("CD-"+new Date().getTime());
|
slVolumeProductionRk.setNewAddTime(m.getNewAddTime());
|
if ( m.getErwmNum()!=null){
|
slVolumeProductionRk.setErwmNum( m.getErwmNum());
|
}if ( m.getRkPice()!=null){
|
slVolumeProductionRk.setRkPice( m.getRkPice());
|
}if ( m.getRkNum()!=null){
|
slVolumeProductionRk.setRkNum( m.getRkNum());
|
}if ( m.getShelfId()!=null){
|
slVolumeProductionRk.setShelfId( m.getShelfId());
|
}if ( m.getRkModel()!=null){
|
slVolumeProductionRk.setRkModel( m.getRkModel());
|
}if ( m.getStoreManagementNumber()!=null){
|
slVolumeProductionRk.setStoreManagementNumber( m.getStoreManagementNumber());
|
}if ( m.getRkNumber()!=null){
|
slVolumeProductionRk.setRkNumber( m.getRkNumber());
|
}
|
|
this.save(slVolumeProductionRk);
|
}
|
|
}
|
|
@Override
|
public void uplSlVolumeProductionRk(List<SlVolumeProductionRkDTO> SlVolumeProductionRkDTO) {
|
for (SlVolumeProductionRkDTO a:SlVolumeProductionRkDTO){
|
SlVolumeProductionRk byId = this.getById(a.getId());
|
if (a.getErwmNum()!=null){
|
byId.setErwmNum(a.getErwmNum());
|
}if (a.getRkPice()!=null){
|
byId.setRkPice(a.getRkPice());
|
}if (a.getRkNum()!=null){
|
byId.setRkNum(a.getRkNum());
|
}if (a.getShelfId()!=null){
|
byId.setShelfId(a.getShelfId());
|
}if (a.getRkModel()!=null){
|
byId.setRkModel(a.getRkModel());
|
}if (a.getStoreManagementNumber()!=null){
|
byId.setStoreManagementNumber(a.getStoreManagementNumber());
|
}if (a.getRkNumber()!=null){
|
byId.setRkNumber(a.getRkNumber());
|
}
|
byId.setNewAddTime(a.getNewAddTime());
|
this.updateById(byId);
|
}
|
|
}
|
|
@Override
|
public PageDTO<getVolumeProductionRkgCodeVO> getVolumeProductionRkgCode(VolumeProductionRkgCodeQuery volumeProductionRkgCodeQuery) {
|
Page<SlVolumeProductionRk> page = new Page<>(volumeProductionRkgCodeQuery.getPageCurr(), volumeProductionRkgCodeQuery.getPageSize());
|
LambdaQueryWrapper< SlVolumeProductionRk> wrapper1= Wrappers.lambdaQuery();
|
wrapper1.like(SlVolumeProductionRk::getVolumeProductionRkglId,volumeProductionRkgCodeQuery.getVolumeProductionRkglId());
|
wrapper1.eq( SlVolumeProductionRk::getDelFlag,0);
|
wrapper1.orderByDesc(SlVolumeProductionRk::getCreateTime);
|
Page<SlVolumeProductionRk> page2 = this.page(page, wrapper1);
|
PageDTO<getVolumeProductionRkgCodeVO> SlGoodsShelfDTO = PageDTO.of(page2, getVolumeProductionRkgCodeVO.class);
|
List<getVolumeProductionRkgCodeVO> list2 = SlGoodsShelfDTO.getList();
|
for(getVolumeProductionRkgCodeVO list:list2) {
|
SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(list.getMaterialsId());
|
list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName());
|
list.setIsConsume(slGoodsMaterials.getIsConsume());
|
}
|
return SlGoodsShelfDTO;
|
}
|
|
@Override
|
public ManagementimgVolumeProductionRkVO codeInfo(Long id) {
|
SlVolumeProductionRk byId = this.getById(id);
|
ManagementimgVolumeProductionRkVO vo=new ManagementimgVolumeProductionRkVO();
|
SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(byId.getMaterialsId());
|
vo.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName());
|
vo.setIsConsume(slGoodsMaterials.getIsConsume());
|
SlVolumeProductionRkgl byId1 = slVolumeProductionRkglMapper.selectById(byId.getVolumeProductionRkglId());
|
SysUser data = sysUserClient.getSysUser(byId1.getSupplierId()).getData();
|
vo.setSupplierName(data.getNickName());
|
SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(byId.getManagementId());
|
vo.setStoreManagementName(slStoreManagement.getStoreManagementName());
|
vo.setRkNum(byId.getRkNum());
|
vo.setRkNumber(byId.getRkNumber());
|
return vo;
|
}
|
|
@Override
|
public PageDTO<ManagementimgVolumeProductionRkVO> getroductionRkList(umeProductionRkQuery meProductionRkQuery) {
|
|
LambdaQueryWrapper< SlGoodsMaterials> wrapper= Wrappers.lambdaQuery();
|
if (meProductionRkQuery.getGoodsMaterialsName()!=null&&meProductionRkQuery.getGoodsMaterialsName()!=""){
|
wrapper.eq(SlGoodsMaterials::getGoodsMaterialsName,meProductionRkQuery.getGoodsMaterialsName());
|
}
|
if (meProductionRkQuery.getIsConsume()!=0){
|
wrapper.eq(SlGoodsMaterials::getIsConsume,meProductionRkQuery.getIsConsume());
|
}
|
wrapper.eq( SlGoodsMaterials::getDelFlag,0);
|
List<SlGoodsMaterials> page1 = slGoodsMaterialsMapper.selectList(wrapper);
|
|
Set<Long> goodsSkuIdList = null;
|
goodsSkuIdList = page1.stream().map(SlGoodsMaterials::getId)
|
.collect(Collectors.toSet());
|
|
|
Page<SlVolumeProductionRk> page = new Page<>(meProductionRkQuery.getPageCurr(), meProductionRkQuery.getPageSize());
|
LambdaQueryWrapper<SlVolumeProductionRk> wrapper1= Wrappers.lambdaQuery();
|
if(meProductionRkQuery.getManagementId()!=null&&meProductionRkQuery.getManagementId()!=0){
|
wrapper1.eq(SlVolumeProductionRk::getManagementId,meProductionRkQuery.getManagementId());
|
}
|
if (goodsSkuIdList.size()>0){
|
wrapper1.in(SlVolumeProductionRk::getMaterialsId,goodsSkuIdList);
|
}if(meProductionRkQuery.getStoreManagementNumber()!=null&&meProductionRkQuery.getStoreManagementNumber()!=0){
|
wrapper1.eq(SlVolumeProductionRk::getStoreManagementNumber,meProductionRkQuery.getStoreManagementNumber());
|
}if(meProductionRkQuery.getShelfId()!=null&&meProductionRkQuery.getShelfId()!=0){
|
wrapper1.eq(SlVolumeProductionRk::getShelfId,meProductionRkQuery.getShelfId());
|
}
|
wrapper1.eq( SlVolumeProductionRk::getDelFlag,0);
|
wrapper1.orderByDesc(SlVolumeProductionRk::getCreateTime);
|
Page<SlVolumeProductionRk> page2 = this.page(page, wrapper1);
|
PageDTO<ManagementimgVolumeProductionRkVO> SlGoodsShelfDTO = PageDTO.of(page2, ManagementimgVolumeProductionRkVO.class);
|
List<ManagementimgVolumeProductionRkVO> list2 = SlGoodsShelfDTO.getList();
|
for(ManagementimgVolumeProductionRkVO list:list2) {
|
SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(list.getMaterialsId());
|
|
SlVolumeProductionRkgl byId = slVolumeProductionRkglMapper.selectById(list.getVolumeProductionRkglId());
|
SysUser data = sysUserClient.getSysUser(byId.getSupplierId()).getData();
|
|
list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName());
|
list.setIsConsume(slGoodsMaterials.getIsConsume());
|
list.setSupplierName(data.getNickName());
|
SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(list.getShelfId());
|
list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName());
|
}
|
return SlGoodsShelfDTO;
|
}
|
|
@Override
|
public PageDTO<gethuojRkVO> gethuojRkList(gethuojRkQuery gethuojRkQuery) {
|
LambdaQueryWrapper< SlGoodsMaterials> wrapper= Wrappers.lambdaQuery();
|
if (gethuojRkQuery.getGoodsMaterialsName()!=null&&gethuojRkQuery.getGoodsMaterialsName()!=""){
|
wrapper.eq(SlGoodsMaterials::getGoodsMaterialsName,gethuojRkQuery.getGoodsMaterialsName());
|
}
|
|
wrapper.eq( SlGoodsMaterials::getDelFlag,0);
|
List<SlGoodsMaterials> page1 = slGoodsMaterialsMapper.selectList(wrapper);
|
|
Set<Long> goodsSkuIdList = null;
|
goodsSkuIdList = page1.stream().map(SlGoodsMaterials::getId)
|
.collect(Collectors.toSet());
|
|
|
Page<SlVolumeProductionRk> page = new Page<>(gethuojRkQuery.getPageCurr(), gethuojRkQuery.getPageSize());
|
LambdaQueryWrapper<SlVolumeProductionRk> wrapper1= Wrappers.lambdaQuery();
|
if (gethuojRkQuery.getGoodsMaterialsName()!=null&&gethuojRkQuery.getGoodsMaterialsName()!=""){
|
if (goodsSkuIdList.size()>0) {
|
wrapper1.in(SlVolumeProductionRk::getMaterialsId, goodsSkuIdList);
|
}else{
|
goodsSkuIdList=new HashSet<>();
|
goodsSkuIdList.add(0L);
|
wrapper1.in(SlVolumeProductionRk::getMaterialsId, goodsSkuIdList);
|
}
|
}
|
wrapper1.eq( SlVolumeProductionRk::getDelFlag,0);
|
wrapper1.orderByDesc(SlVolumeProductionRk::getCreateTime);
|
Page<SlVolumeProductionRk> page2 = this.page(page, wrapper1);
|
PageDTO<gethuojRkVO> SlGoodsShelfDTO = PageDTO.of(page2, gethuojRkVO.class);
|
List<gethuojRkVO> list2 = SlGoodsShelfDTO.getList();
|
for(gethuojRkVO list:list2) {
|
|
|
LambdaQueryWrapper<ManagementGoodsMaterials> wrapper2 = Wrappers.lambdaQuery();
|
wrapper2.eq(ManagementGoodsMaterials::getGoodsMaterialsId,list.getMaterialsId());
|
wrapper2.eq(ManagementGoodsMaterials::getManagementId,list.getManagementId());
|
wrapper2.eq(ManagementGoodsMaterials::getDelFlag, 0);
|
ManagementGoodsMaterials managementGoodsMaterials = managementGoodsMaterialsMapper.selectOne(wrapper2);
|
|
list.setRkPiceSum(list.getRkPice().multiply(new BigDecimal(managementGoodsMaterials.getRepertorySum())));
|
list.setRepertorySum(managementGoodsMaterials.getRepertorySum());
|
SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(list.getMaterialsId());
|
SlVolumeProductionRkgl byId = slVolumeProductionRkglMapper.selectById(list.getVolumeProductionRkglId());
|
SysUser data = sysUserClient.getSysUser(byId.getSupplierId()).getData();
|
|
list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName());
|
list.setIsConsume(slGoodsMaterials.getIsConsume());
|
list.setSupplierName(data.getNickName());
|
SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(list.getShelfId());
|
list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName());
|
}
|
return SlGoodsShelfDTO;
|
}
|
|
}
|