【出库审核】逻辑优化

dev
siontion 3 months ago
parent 2ea60cc3b9
commit 75da80b237

@ -230,6 +230,7 @@ public class StorageServiceImpl implements StorageService {
.setUnit(materialMapper.selectOne(MaterialDO::getCode,to.getProjectSubCode()).getUnit())
.setMatId(materialMapper.selectOne(MaterialDO::getCode,to.getProjectSubCode()).getId())
.setIsSend(0);
tplusStorageOutMapper.insert(tplusStorageOutDO);
insertList.add(tplusStorageOutDO);
}else{
tplusStorageOutDO.setStockId(updateObj.getId())
@ -252,6 +253,7 @@ public class StorageServiceImpl implements StorageService {
.setUnit(materialMapper.selectOne(MaterialDO::getCode,to.getProjectSubCode()).getUnit())
.setMatId(materialMapper.selectOne(MaterialDO::getCode,to.getProjectSubCode()).getId())
.setIsSend(0);
updateList.add(tplusStorageOutDO);
}
});
@ -309,7 +311,7 @@ public class StorageServiceImpl implements StorageService {
saveTplusStockInDate(updateObj,storageMatList,storageOutList.getList());
}
if(CollUtil.isNotEmpty(insertList)) {
tplusStorageOutMapper.insertBatch(insertList);
// tplusStorageOutMapper.insertBatch(insertList);
insertList.forEach(ino->{
TplusLastestStockDO tplusLastestStockDO =
tplusLastestStockMapper.selectOne(TplusLastestStockDO::getInventoryCode,ino.getProductCode(),

@ -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
}

Loading…
Cancel
Save