|
|
|
@ -1,17 +1,23 @@
|
|
|
|
|
package com.chanko.yunxi.mes.module.biz.service.storagemat;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
|
|
import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
|
|
|
|
import com.chanko.yunxi.mes.module.biz.controller.admin.chanjet.vo.QueryCurrentStockResVO;
|
|
|
|
|
import com.chanko.yunxi.mes.module.biz.controller.admin.storagemat.vo.StorageMatPageReqVO;
|
|
|
|
|
import com.chanko.yunxi.mes.module.biz.controller.admin.storagemat.vo.StorageMatSaveReqVO;
|
|
|
|
|
import com.chanko.yunxi.mes.module.biz.controller.admin.storagemat.vo.StorageMatValidRespVO;
|
|
|
|
|
import com.chanko.yunxi.mes.module.biz.dal.dataobject.tpluslasteststock.TplusLastestStockDO;
|
|
|
|
|
import com.chanko.yunxi.mes.module.biz.dal.mysql.storagemat.StorageMatMapper;
|
|
|
|
|
import com.chanko.yunxi.mes.module.biz.dal.mysql.tpluslasteststock.TplusLastestStockMapper;
|
|
|
|
|
import com.chanko.yunxi.mes.module.biz.manager.ChanjetManager;
|
|
|
|
|
import com.google.common.collect.Maps;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
import com.chanko.yunxi.mes.module.biz.dal.dataobject.storagemat.StorageMatDO;
|
|
|
|
|
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
|
|
|
@ -34,6 +40,9 @@ public class StorageMatServiceImpl implements StorageMatService {
|
|
|
|
|
@Resource
|
|
|
|
|
private ChanjetManager chanjetManager;
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
private TplusLastestStockMapper tplusLastestStockMapper;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Long createStorageMat(StorageMatSaveReqVO createReqVO) {
|
|
|
|
|
// 插入
|
|
|
|
@ -76,7 +85,24 @@ public class StorageMatServiceImpl implements StorageMatService {
|
|
|
|
|
List<StorageMatDO> storageMatDOList = storageMatMapper.selectMatByStorckID(pageReqVO.getStockId());
|
|
|
|
|
if(CollUtil.isNotEmpty(storageMatDOList)){
|
|
|
|
|
try {
|
|
|
|
|
chanjetManager.queryStockAndInject2(storageMatDOList, pageReqVO.getWhId());
|
|
|
|
|
// chanjetManager.queryStockAndInject2(storageMatDOList, pageReqVO.getWhId());
|
|
|
|
|
|
|
|
|
|
List<TplusLastestStockDO> tplusLastestStockDOS =
|
|
|
|
|
tplusLastestStockMapper.selectList(new LambdaQueryWrapperX<TplusLastestStockDO>()
|
|
|
|
|
.eq(TplusLastestStockDO::getWarehouseId,pageReqVO.getWhId())
|
|
|
|
|
.in(TplusLastestStockDO::getInventoryCode,storageMatDOList.stream().map(StorageMatDO::getProjectSubCode).collect(Collectors.toList())));
|
|
|
|
|
//tplusLastestStockMapper.selectList(TplusLastestStockDO::getInventoryCode,storageMatDOList.stream().map(StorageMatDO::getProjectSubCode).collect(Collectors.toList()),TplusLastestStockDO::getWarehouseId,pageReqVO.getWhId());
|
|
|
|
|
for (StorageMatDO aDo : storageMatDOList) {
|
|
|
|
|
List<TplusLastestStockDO> findDatas =
|
|
|
|
|
tplusLastestStockDOS.stream().filter(vo -> aDo.getProjectSubCode().equals(vo.getInventoryCode())).collect(Collectors.toList());
|
|
|
|
|
if(CollUtil.isEmpty(findDatas)){
|
|
|
|
|
aDo.setStockQuantity(new BigDecimal(0));
|
|
|
|
|
}else{
|
|
|
|
|
TplusLastestStockDO resVO = findDatas.get(0);
|
|
|
|
|
BigDecimal stockQuantity = new BigDecimal(resVO.getAvailableQuantity());
|
|
|
|
|
aDo.setStockQuantity(stockQuantity);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}catch (Exception e) {
|
|
|
|
|
// do nothing
|
|
|
|
|
}
|
|
|
|
|