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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.ruoyi.management.domain.dto.InventoriesSuppliesInfoDTO;
|
import com.ruoyi.management.domain.dto.InventoriesSuppliesInfoQuery;
|
import com.ruoyi.management.domain.vo.InventoriesSuppliesInfoVO;
|
import com.ruoyi.management.domain.vo.InventoriesSuppliesVO;
|
import com.ruoyi.management.mapper.*;
|
import com.ruoyi.management.service.InventoriesSuppliesInfoService;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.util.*;
|
|
/**
|
* <p>
|
* 服务实现类
|
* </p>
|
*
|
* @author hjl
|
* @since 2024-07-01
|
*/
|
@Service
|
public class InventoriesSuppliesInfoServiceImpl extends ServiceImpl<InventoriesSuppliesInfoMapper, InventoriesSuppliesInfo> implements InventoriesSuppliesInfoService {
|
|
|
@Resource
|
private SlVolumeProductionRkMapper slVolumeProductionRkMapper;
|
|
@Resource
|
private SlGoodsMaterialsMapper slGoodsMaterialsMapper;
|
|
@Resource
|
private ManagementGoodsMaterialsMapper managementGoodsMaterialsMapper;
|
|
@Resource
|
private SlGoodsShelfMapper slGoodsShelfMapper;
|
@Override
|
public PageDTO<InventoriesSuppliesInfoVO> inventoriesSuppliesInfoService(InventoriesSuppliesInfoQuery inventoriesSuppliesInfoQuery) {
|
|
Page<InventoriesSuppliesInfo> page = new Page<>(inventoriesSuppliesInfoQuery.getPageCurr(), inventoriesSuppliesInfoQuery.getPageSize());
|
LambdaQueryWrapper< InventoriesSuppliesInfo> wrapper1= Wrappers.lambdaQuery();
|
wrapper1.eq(InventoriesSuppliesInfo::getSuppliesId, inventoriesSuppliesInfoQuery.getSuppliesId());
|
wrapper1.eq( InventoriesSuppliesInfo::getDelFlag,0);
|
wrapper1.orderByDesc(InventoriesSuppliesInfo::getCreateTime);
|
wrapper1.orderByDesc(InventoriesSuppliesInfo::getType);
|
Page<InventoriesSuppliesInfo> page2 = this.page(page, wrapper1);
|
PageDTO<InventoriesSuppliesInfoVO> slGoodsMaterialsVO = PageDTO.of(page2, InventoriesSuppliesInfoVO.class);
|
List<InventoriesSuppliesInfoVO> list = slGoodsMaterialsVO.getList();
|
for (InventoriesSuppliesInfoVO sl:list){
|
SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(sl.getRkId());
|
sl.setRkNumber(slVolumeProductionRk.getRkNumber());
|
sl.setRkModel(slVolumeProductionRk.getRkModel());
|
sl.setZkNum(slVolumeProductionRk.getRepertoryZhai());
|
SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(slVolumeProductionRk.getMaterialsId());
|
sl.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName());
|
sl.setIsConsume(slGoodsMaterials.getIsConsume());
|
sl.setStoreManagementNumber(slVolumeProductionRk.getStoreManagementNumber());
|
SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(slVolumeProductionRk.getShelfId());
|
sl.setGoodsShelfName(slGoodsShelf.getGoodsShelfName());
|
|
}
|
return slGoodsMaterialsVO;
|
}
|
|
@Override
|
public void addInventoriesSuppliesInfo(List<InventoriesSuppliesInfoDTO> inventoriesSuppliesInfoDTO) {
|
for (InventoriesSuppliesInfoDTO m:inventoriesSuppliesInfoDTO)
|
if (m.getId()==null){
|
InventoriesSuppliesInfo inventoriesSuppliesInf=new InventoriesSuppliesInfo();
|
inventoriesSuppliesInf.setSuppliesId(m.getSuppliesId());
|
inventoriesSuppliesInf.setRkId(m.getRkId());
|
inventoriesSuppliesInf.setCreateTime(new Date());
|
SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(m.getRkId());
|
inventoriesSuppliesInf.setZkNum(slVolumeProductionRk.getRepertoryZhai());
|
inventoriesSuppliesInf.setSuppliesNum(m.getSuppliesNum());
|
this.save(inventoriesSuppliesInf);
|
}else{
|
InventoriesSuppliesInfo byId = this.getById(m.getId());
|
byId.setSuppliesNum(m.getSuppliesNum());
|
this.updateById(byId);
|
|
}
|
}
|
|
@Override
|
public InventoriesSuppliesInfo getInventoriesSuppliesInfo(InventoriesSuppliesInfoDTO inventoriesSuppliesInfoDTO) {
|
LambdaQueryWrapper< InventoriesSuppliesInfo> wrapper1= Wrappers.lambdaQuery();
|
wrapper1.eq(InventoriesSuppliesInfo::getSuppliesId, inventoriesSuppliesInfoDTO.getSuppliesId());
|
wrapper1.eq(InventoriesSuppliesInfo::getRkId, inventoriesSuppliesInfoDTO.getSuppliesId());
|
wrapper1.eq( InventoriesSuppliesInfo::getDelFlag,0);
|
InventoriesSuppliesInfo page2 = this.getOne(wrapper1);
|
return page2;
|
}
|
|
@Override
|
public void submitInventoriesSuppliesInfo(InventoriesSuppliesInfoDTO inventoriesSuppliesInfoDTO) {
|
LambdaQueryWrapper< InventoriesSuppliesInfo> wrapper1= Wrappers.lambdaQuery();
|
wrapper1.eq(InventoriesSuppliesInfo::getSuppliesId, inventoriesSuppliesInfoDTO.getSuppliesId());
|
wrapper1.eq( InventoriesSuppliesInfo::getDelFlag,0);
|
List<InventoriesSuppliesInfo> page2 = this.list(wrapper1);
|
for (InventoriesSuppliesInfo page:page2){
|
if (page.getZkNum()!=page.getSuppliesNum()){
|
page.setType(2);
|
}
|
this.updateById(page);
|
}
|
}
|
|
@Override
|
public void accomplishInventoriesSuppliesInfo(InventoriesSuppliesInfoDTO inventoriesSuppliesInfoDTO) {
|
|
LambdaQueryWrapper< InventoriesSuppliesInfo> wrapper1= Wrappers.lambdaQuery();
|
wrapper1.eq(InventoriesSuppliesInfo::getSuppliesId, inventoriesSuppliesInfoDTO.getSuppliesId());
|
wrapper1.eq(InventoriesSuppliesInfo::getType, 2);
|
wrapper1.eq( InventoriesSuppliesInfo::getDelFlag,0);
|
List<InventoriesSuppliesInfo> page2 = this.list(wrapper1);
|
for (InventoriesSuppliesInfo page:page2){
|
SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(page.getRkId());
|
slVolumeProductionRk.setRepertoryZhai(page.getSuppliesNum());
|
slVolumeProductionRkMapper.updateById(slVolumeProductionRk);
|
|
|
LambdaQueryWrapper<ManagementGoodsMaterials> wrapper2 = Wrappers.lambdaQuery();
|
wrapper2.eq(ManagementGoodsMaterials::getGoodsMaterialsId,slVolumeProductionRk.getMaterialsId());
|
wrapper2.eq(ManagementGoodsMaterials::getManagementId,slVolumeProductionRk.getManagementId());
|
wrapper2.eq(ManagementGoodsMaterials::getDelFlag, 0);
|
ManagementGoodsMaterials managementGoodsMaterials = managementGoodsMaterialsMapper.selectOne(wrapper2);
|
if (managementGoodsMaterials!=null){
|
managementGoodsMaterials.setRepertoryZhai(page.getSuppliesNum());
|
managementGoodsMaterialsMapper.updateById(managementGoodsMaterials);
|
}
|
}
|
|
}
|
}
|