panku
This commit is contained in:
parent
79605f1880
commit
8ef746fbfc
@ -144,53 +144,7 @@ public class StorageController {
|
||||
|
||||
storageService.updateStorage(updateReqVO);
|
||||
int status = targetDo.getStatus();
|
||||
// if (updateReqVO.getStockType()==1&&updateReqVO.getStockInType()==1){
|
||||
// if (status==2){
|
||||
// List<StorageMatDO> matList = storageMatMapper.selectMatByStorckID(targetDo.getId());
|
||||
// for (StorageMatDO storageMatDO : matList) {
|
||||
// LambdaQueryWrapper<StorageLogNowDO> wrapper = new LambdaQueryWrapper<>();
|
||||
// wrapper.eq(StorageLogNowDO::getMatCode, storageMatDO.getMatCode());
|
||||
// wrapper.eq(StorageLogNowDO::getMatName,storageMatDO.getMatName());
|
||||
// BigDecimal totalStorageOkQty = storageLogNowMapper.selectList(wrapper).stream()
|
||||
// .map(StorageLogNowDO::getStorageOkQty)
|
||||
// .filter(Objects::nonNull) // 确保过滤掉 null 值
|
||||
// .reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
// LambdaQueryWrapper<MaterialDO> queryWrapper = new LambdaQueryWrapper<>();
|
||||
// queryWrapper.eq(MaterialDO::getCode, storageMatDO.getMatCode());
|
||||
// queryWrapper.eq(MaterialDO::getName,storageMatDO.getMatName());
|
||||
// MaterialDO materialDO = materialMapper.selectOne(queryWrapper);
|
||||
// if (ObjectUtil.isEmpty(materialDO.getPrice())){
|
||||
// materialDO.setPrice(BigDecimal.ZERO);
|
||||
// }
|
||||
// BigDecimal add = totalStorageOkQty.multiply(materialDO.getPrice()).add(storageMatDO.getPrice().multiply(storageMatDO.getStorageOkQty()));
|
||||
// BigDecimal divide = add.divide(totalStorageOkQty.add(storageMatDO.getStorageOkQty()),2,RoundingMode.HALF_UP);
|
||||
// materialDO.setPrice(divide);
|
||||
// materialMapper.updateById(materialDO);
|
||||
// }
|
||||
// }else if (status==3){
|
||||
// List<StorageMatDO> matList = storageMatMapper.selectMatByStorckID(targetDo.getId());
|
||||
// for (StorageMatDO storageMatDO : matList) {
|
||||
// LambdaQueryWrapper<StorageLogNowDO> wrapper = new LambdaQueryWrapper<>();
|
||||
// wrapper.eq(StorageLogNowDO::getMatCode, storageMatDO.getMatCode());
|
||||
// wrapper.eq(StorageLogNowDO::getMatName,storageMatDO.getMatName());
|
||||
// BigDecimal totalStorageOkQty = storageLogNowMapper.selectList(wrapper).stream()
|
||||
// .map(StorageLogNowDO::getStorageOkQty)
|
||||
// .filter(Objects::nonNull) // 确保过滤掉 null 值
|
||||
// .reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
// LambdaQueryWrapper<MaterialDO> queryWrapper = new LambdaQueryWrapper<>();
|
||||
// queryWrapper.eq(MaterialDO::getCode, storageMatDO.getMatCode());
|
||||
// queryWrapper.eq(MaterialDO::getName,storageMatDO.getMatName());
|
||||
// MaterialDO materialDO = materialMapper.selectOne(queryWrapper);
|
||||
// if (ObjectUtil.isEmpty(materialDO.getPrice())){
|
||||
// materialDO.setPrice(BigDecimal.ZERO);
|
||||
// }
|
||||
// BigDecimal add = totalStorageOkQty.multiply(materialDO.getPrice()).subtract(storageMatDO.getPrice().multiply(storageMatDO.getStorageOkQty()));
|
||||
// BigDecimal divide = add.divide(totalStorageOkQty.subtract(storageMatDO.getStorageOkQty()),2,RoundingMode.HALF_UP);
|
||||
// materialDO.setPrice(divide);
|
||||
// materialMapper.updateById(materialDO);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
List<StorageMatDO> matList = storageMatMapper.selectMatByStorckID(targetDo.getId());
|
||||
if (updateReqVO.getStockType()==1){
|
||||
if (status==2){
|
||||
@ -223,21 +177,6 @@ public class StorageController {
|
||||
storageInventoryMapper.insertOrUpdate(storageInventoryDO);
|
||||
}
|
||||
}
|
||||
// else if (status==3){
|
||||
// for (StorageMatDO storageMatDO : matList) {
|
||||
// LambdaQueryWrapper<StorageInventoryDO> wrapper = new LambdaQueryWrapper<>();
|
||||
// wrapper.eq(StorageInventoryDO::getWhId,storageMatDO.getWhId());
|
||||
// wrapper.eq(StorageInventoryDO::getMaterialId,storageMatDO.getMatId());
|
||||
// wrapper.eq(StorageInventoryDO::getRgId,storageMatDO.getRgId());
|
||||
// wrapper.eq(StorageInventoryDO::getPnId,storageMatDO.getPnId());
|
||||
// wrapper.eq(StorageInventoryDO::getDeleted,0);
|
||||
// StorageInventoryDO storageInventoryDO = storageInventoryMapper.selectOne(wrapper);
|
||||
// if (ObjectUtil.isNotEmpty(storageInventoryDO)){
|
||||
// storageInventoryDO.setYardAmount(storageInventoryDO.getYardAmount().subtract(storageMatDO.getStorageOkQty()));
|
||||
// }
|
||||
// storageInventoryMapper.insertOrUpdate(storageInventoryDO);
|
||||
// }
|
||||
// }
|
||||
}else if (updateReqVO.getStockType()==2){
|
||||
if (updateReqVO.getStatus() == 4){
|
||||
for (StorageMatDO storageMatDO : matList) {
|
||||
|
@ -1,13 +1,19 @@
|
||||
package com.chanko.yunxi.mes.module.heli.service.storagecheck;
|
||||
|
||||
import cn.hutool.core.lang.UUID;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storage.StorageDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagecheckmat.StorageCheckMatDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storageinventory.StorageInventoryDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagemat.StorageMatDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.material.MaterialMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.storage.StorageMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.storagecheckmat.StorageCheckMatMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.storageinventory.StorageInventoryMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.storagelog.StorageLogMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.storagemat.StorageMatMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.enums.CodeEnum;
|
||||
@ -56,7 +62,10 @@ public class StorageCheckServiceImpl implements StorageCheckService {
|
||||
@Resource
|
||||
private StorageCheckMatMapper storageCheckMatMapper;
|
||||
|
||||
|
||||
@Resource
|
||||
private MaterialMapper materialMapper;
|
||||
@Resource
|
||||
private StorageInventoryMapper storageInventoryMapper;
|
||||
@Resource
|
||||
private StorageCheckMapper storageCheckMapper;
|
||||
|
||||
@ -148,7 +157,7 @@ public class StorageCheckServiceImpl implements StorageCheckService {
|
||||
storageDO.setStockInType(stockInType);
|
||||
storageDO.setStockNo(UUID.fastUUID().toString(true));
|
||||
storageDO.setHeaderNo(storageCheckDO.getStockNo());
|
||||
storageDO.setStatus(2);
|
||||
storageDO.setStatus(1);
|
||||
storageDO.setDescription(storageCheckDO.getDescription());
|
||||
storageDO.setWhId(storageCheckDO.getWhId());
|
||||
storageDO.setKeeper(storageCheckDO.getKeeper());
|
||||
@ -163,6 +172,56 @@ public class StorageCheckServiceImpl implements StorageCheckService {
|
||||
storageMapper.updateById(storageDO);
|
||||
|
||||
saveStorageMat(storageCheckDO,storageDO.getId(),stockType);
|
||||
List<StorageMatDO> matList = storageMatMapper.selectMatByStorckID(storageDO.getId());
|
||||
if (storageDO.getStockType()==1){
|
||||
if (storageDO.getStatus() ==2){
|
||||
for (StorageMatDO storageMatDO : matList) {
|
||||
LambdaQueryWrapper<StorageInventoryDO> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(StorageInventoryDO::getWhId,storageMatDO.getWhId());
|
||||
wrapper.eq(StorageInventoryDO::getMaterialId,storageMatDO.getMatId());
|
||||
wrapper.eq(StorageInventoryDO::getRgId,storageMatDO.getRgId());
|
||||
wrapper.eq(StorageInventoryDO::getPnId,storageMatDO.getPnId());
|
||||
wrapper.eq(StorageInventoryDO::getDeleted,0);
|
||||
StorageInventoryDO storageInventoryDO = storageInventoryMapper.selectOne(wrapper);
|
||||
if (ObjectUtil.isEmpty(storageInventoryDO)){
|
||||
storageInventoryDO = new StorageInventoryDO();
|
||||
storageInventoryDO.setMaterialId(storageMatDO.getMatId());
|
||||
storageInventoryDO.setWhId(storageMatDO.getWhId());
|
||||
storageInventoryDO.setRgId(storageMatDO.getRgId());
|
||||
storageInventoryDO.setPnId(storageMatDO.getPnId());
|
||||
storageInventoryDO.setYardAmount(storageMatDO.getStorageOkQty() );
|
||||
MaterialDO materialDO = materialMapper.selectById(storageMatDO.getMatId());
|
||||
if (ObjectUtil.isNotEmpty(materialDO)){
|
||||
storageInventoryDO.setBoomUnit(materialDO.getUnit());
|
||||
storageInventoryDO.setBoomName(materialDO.getName());
|
||||
storageInventoryDO.setBoomSpec(materialDO.getSpec());
|
||||
storageInventoryDO.setShortName(materialDO.getShortName());
|
||||
storageInventoryDO.setBoomCode(materialDO.getCode());
|
||||
}
|
||||
}else {
|
||||
storageInventoryDO.setYardAmount(storageInventoryDO.getYardAmount().add(storageMatDO.getStorageOkQty()));
|
||||
}
|
||||
storageInventoryMapper.insertOrUpdate(storageInventoryDO);
|
||||
}
|
||||
}
|
||||
}else if (storageDO.getStockType()==2){
|
||||
if (storageDO.getStatus() == 4){
|
||||
for (StorageMatDO storageMatDO : matList) {
|
||||
LambdaQueryWrapper<StorageInventoryDO> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(StorageInventoryDO::getWhId,storageMatDO.getWhId());
|
||||
wrapper.eq(StorageInventoryDO::getMaterialId,storageMatDO.getMatId());
|
||||
wrapper.eq(StorageInventoryDO::getRgId,storageMatDO.getRgId());
|
||||
wrapper.eq(StorageInventoryDO::getPnId,storageMatDO.getPnId());
|
||||
wrapper.eq(StorageInventoryDO::getDeleted,0);
|
||||
StorageInventoryDO storageInventoryDO = storageInventoryMapper.selectOne(wrapper);
|
||||
if (ObjectUtil.isNotEmpty(storageInventoryDO)){
|
||||
storageInventoryDO.setYardAmount(storageInventoryDO.getYardAmount().subtract(storageMatDO.getStorageOkQty()));
|
||||
}
|
||||
storageInventoryMapper.insertOrUpdate(storageInventoryDO);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void saveStorageMat(StorageCheckDO storageCheckDO, Long stockId, Integer stockType){
|
||||
@ -179,11 +238,10 @@ public class StorageCheckServiceImpl implements StorageCheckService {
|
||||
storageMatDO.setPnId(item.getPnId());
|
||||
storageMatDO.setStorageOkQty(item.getStorageOkQty().subtract(item.getMatRest()).abs());
|
||||
storageMatDO.setLotNo(item.getLotNo());
|
||||
|
||||
// 插入出入库物料表
|
||||
if(stockType == 1 && item.getStorageOkQty().subtract(item.getMatRest()).doubleValue()>0){
|
||||
storageMatMapper.insert(storageMatDO);
|
||||
saveStorageLog(storageMatDO);
|
||||
// saveStorageLog(storageMatDO);
|
||||
}
|
||||
if(stockType == 2 && item.getStorageOkQty().subtract(item.getMatRest()).doubleValue()<0){
|
||||
storageMatMapper.insert(storageMatDO);
|
||||
|
@ -63,40 +63,40 @@ public class StorageCheckMatServiceImpl implements StorageCheckMatService {
|
||||
insertList.add(storageCheckMat);
|
||||
}
|
||||
//
|
||||
if (CollUtil.isNotEmpty(updateStorageList)){
|
||||
List<StorageInventoryDO> uupdateDetailList = new ArrayList<>();
|
||||
StorageInventoryPageReqVO reqVO = new StorageInventoryPageReqVO();
|
||||
//更新库存表数据
|
||||
for (StorageCheckMatSaveReqVO savo : updateStorageList) {
|
||||
reqVO.setPnId(savo.getPnId() == null ? null : savo.getPnId())
|
||||
.setWhId(savo.getWhId() == null ? null : savo.getWhId())
|
||||
.setRgId(savo.getRgId() == null ? null : savo.getRgId())
|
||||
.setMaterialId(savo.getMaterialId() == null ? null : savo.getMaterialId());
|
||||
StorageInventoryDO inventoryDO = storageInventoryMapper.selectByWhRgPn(reqVO);
|
||||
inventoryDO.setYardAmount(savo.getStorageOkQty());
|
||||
uupdateDetailList.add(inventoryDO);
|
||||
}
|
||||
storageInventoryMapper.updateBatch(uupdateDetailList);
|
||||
}
|
||||
if (CollUtil.isNotEmpty(inserStorageList)){
|
||||
//插入库存表
|
||||
List<StorageInventoryDO> insertDetailList = new ArrayList<>();
|
||||
for (StorageCheckMatSaveReqVO savo : inserStorageList) {
|
||||
StorageInventoryDO ido = new StorageInventoryDO();
|
||||
ido.setPnId(savo.getPnId() == null ? null: savo.getPnId())
|
||||
.setWhId(savo.getWhId() == null ? null: savo.getWhId())
|
||||
.setRgId(savo.getRgId() == null ? null: savo.getRgId())
|
||||
.setBoomName(savo.getMatName() == null ? null:savo.getMatName())
|
||||
.setBoomUnit(savo.getBoomUnit() == null ? null:savo.getBoomUnit())
|
||||
.setMaterialId(savo.getMaterialId() == null ? null: savo.getMaterialId())
|
||||
.setBoomSpec(savo.getBoomSpec() == null ? null: savo.getBoomSpec())
|
||||
.setYardAmount(savo.getStorageOkQty() == null ? null: savo.getStorageOkQty())
|
||||
.setShortName(savo.getShortName() == null ? null: savo.getShortName())
|
||||
.setBoomCode(savo.getMatCode() == null ? null: savo.getMatCode());
|
||||
insertDetailList.add(ido);
|
||||
}
|
||||
storageInventoryMapper.insertBatch(insertDetailList);
|
||||
}
|
||||
// if (CollUtil.isNotEmpty(updateStorageList)){
|
||||
// List<StorageInventoryDO> uupdateDetailList = new ArrayList<>();
|
||||
// StorageInventoryPageReqVO reqVO = new StorageInventoryPageReqVO();
|
||||
// //更新库存表数据
|
||||
// for (StorageCheckMatSaveReqVO savo : updateStorageList) {
|
||||
// reqVO.setPnId(savo.getPnId() == null ? null : savo.getPnId())
|
||||
// .setWhId(savo.getWhId() == null ? null : savo.getWhId())
|
||||
// .setRgId(savo.getRgId() == null ? null : savo.getRgId())
|
||||
// .setMaterialId(savo.getMaterialId() == null ? null : savo.getMaterialId());
|
||||
// StorageInventoryDO inventoryDO = storageInventoryMapper.selectByWhRgPn(reqVO);
|
||||
// inventoryDO.setYardAmount(savo.getStorageOkQty());
|
||||
// uupdateDetailList.add(inventoryDO);
|
||||
// }
|
||||
// storageInventoryMapper.updateBatch(uupdateDetailList);
|
||||
// }
|
||||
// if (CollUtil.isNotEmpty(inserStorageList)){
|
||||
// //插入库存表
|
||||
// List<StorageInventoryDO> insertDetailList = new ArrayList<>();
|
||||
// for (StorageCheckMatSaveReqVO savo : inserStorageList) {
|
||||
// StorageInventoryDO ido = new StorageInventoryDO();
|
||||
// ido.setPnId(savo.getPnId() == null ? null: savo.getPnId())
|
||||
// .setWhId(savo.getWhId() == null ? null: savo.getWhId())
|
||||
// .setRgId(savo.getRgId() == null ? null: savo.getRgId())
|
||||
// .setBoomName(savo.getMatName() == null ? null:savo.getMatName())
|
||||
// .setBoomUnit(savo.getBoomUnit() == null ? null:savo.getBoomUnit())
|
||||
// .setMaterialId(savo.getMaterialId() == null ? null: savo.getMaterialId())
|
||||
// .setBoomSpec(savo.getBoomSpec() == null ? null: savo.getBoomSpec())
|
||||
// .setYardAmount(savo.getStorageOkQty() == null ? null: savo.getStorageOkQty())
|
||||
// .setShortName(savo.getShortName() == null ? null: savo.getShortName())
|
||||
// .setBoomCode(savo.getMatCode() == null ? null: savo.getMatCode());
|
||||
// insertDetailList.add(ido);
|
||||
// }
|
||||
// storageInventoryMapper.insertBatch(insertDetailList);
|
||||
// }
|
||||
return storageCheckMatMapper.insertBatch(insertList);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user