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