即入即出,代码改造

This commit is contained in:
zxy 2026-01-16 11:51:43 +08:00
parent 0a33a0a252
commit adcc23cf7c
3 changed files with 41 additions and 2 deletions

View File

@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.chanko.yunxi.mes.module.heli.controller.admin.outsourcestockboom.vo.OutsourceStockBoomSaveReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.outsourcestockboom.vo.OutsourceStockBoomSaveReqVO;
import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.StorageLogPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.StorageLogPageReqVO;
import com.chanko.yunxi.mes.module.heli.controller.admin.storagemat.vo.StorageMatSaveReqVO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder.DeliverOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder.DeliverOrderDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseorderno.PurchaseOrderNoDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseorderno.PurchaseOrderNoDO;
@ -134,7 +135,7 @@ public class StorageController {
@Transactional @Transactional
@PreAuthorize("@ss.hasPermission('heli:storage:update')") @PreAuthorize("@ss.hasPermission('heli:storage:update')")
public CommonResult<Boolean> updateStorageStatus(@Valid @RequestBody StorageSaveReqVO updateReqVO) { public CommonResult<Boolean> updateStorageStatus(@Valid @RequestBody StorageSaveReqVO updateReqVO) {
// if updateReqVO.getInOutFlag() ==true 不更新库存但是保留出入库记录根据入库记录直径保存出库记录
// 获取最新的出入库信息 // 获取最新的出入库信息
StorageDO targetDo = storageService.getStorage(updateReqVO.getId()); StorageDO targetDo = storageService.getStorage(updateReqVO.getId());
int beforeStatus=0; int beforeStatus=0;
@ -197,7 +198,23 @@ public class StorageController {
} }
storageInventoryDO.setYardAmount(totalNumber); storageInventoryDO.setYardAmount(totalNumber);
} }
// 如果不是即入即出不需要入库但是需要出库记录根据入库记录生成出库记录
if (!updateReqVO.getInOutFlag()) {
storageInventoryMapper.insertOrUpdate(storageInventoryDO); storageInventoryMapper.insertOrUpdate(storageInventoryDO);
} else {
// 入库已经根据原有入库记录生成 此处是出库记录
StorageSaveReqVO saveReqVO;
saveReqVO = BeanUtils.toBean(targetDo, StorageSaveReqVO.class);
saveReqVO.setStockType(2);
saveReqVO.setStockInType(5);
saveReqVO.setMaterialReceiver(String.valueOf(updateReqVO.getKeeper()));
saveReqVO.setId(0L);
saveReqVO.setOutbound(updateReqVO.getKeeper());
saveReqVO.setOutboundTime(currTime);
List<StorageMatDO> storageMatDOList = storageMatService.getStorageMatListByStockId(updateReqVO.getId());
Long storageId = storageService.createStorage(saveReqVO);
storageMatService.createStorageMat(storageMatDOList, storageId);
}
PurchaseOrderNoDetailDO purchaseOrderNoDetailDO = purchaseOrderNoDetailMapper.selectById(storageMatDO.getPurchaseOrderNoDetailId()); PurchaseOrderNoDetailDO purchaseOrderNoDetailDO = purchaseOrderNoDetailMapper.selectById(storageMatDO.getPurchaseOrderNoDetailId());
if (ObjectUtil.isNotEmpty(purchaseOrderNoDetailDO)){ if (ObjectUtil.isNotEmpty(purchaseOrderNoDetailDO)){
purchaseOrderNoDetailDO.setPurchaseRemAmount(purchaseOrderNoDetailDO.getPurchaseRemAmount().subtract(storageMatDO.getStorageOkQty())); purchaseOrderNoDetailDO.setPurchaseRemAmount(purchaseOrderNoDetailDO.getPurchaseRemAmount().subtract(storageMatDO.getStorageOkQty()));

View File

@ -22,6 +22,8 @@ public interface StorageMatService {
*/ */
Long createStorageMat(@Valid StorageMatSaveReqVO createReqVO); Long createStorageMat(@Valid StorageMatSaveReqVO createReqVO);
void createStorageMat(List<StorageMatDO> createReqVO, Long stockid);
Long createFBStorageMat(@Valid StorageMatDO createReqVO); Long createFBStorageMat(@Valid StorageMatDO createReqVO);
/** /**

View File

@ -10,6 +10,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordernodetail.PurchaseOrderNoDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordernodetail.PurchaseOrderNoDetailDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storage.StorageDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storageinventory.StorageInventoryDO; 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.storagelogNow.StorageLogNowDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO;
@ -21,6 +22,7 @@ import com.chanko.yunxi.mes.module.heli.dal.mysql.storage.StorageMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.storageinventory.StorageInventoryMapper; 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.storagelog.StorageLogNowMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.storagelog.StorageLogNowMapper;
import com.chanko.yunxi.mes.module.heli.service.bdgzsomthing.bdgzsomthingService;
import com.chanko.yunxi.mes.module.heli.service.storage.StorageService; import com.chanko.yunxi.mes.module.heli.service.storage.StorageService;
import com.chanko.yunxi.mes.module.heli.service.storagelog.StorageLogService; import com.chanko.yunxi.mes.module.heli.service.storagelog.StorageLogService;
import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.github.yulichang.wrapper.MPJLambdaWrapper;
@ -74,6 +76,12 @@ public class StorageMatServiceImpl implements StorageMatService {
private ProjectOrderSubMapper projectOrderSubMapper; private ProjectOrderSubMapper projectOrderSubMapper;
@Resource @Resource
private StorageInventoryMapper storageInventoryMapper; private StorageInventoryMapper storageInventoryMapper;
@Resource
private StorageMapper storageMapper;
@Resource
private com.chanko.yunxi.mes.module.heli.service.bdgzsomthing.bdgzsomthingService bdgzsomthingService;
@Override @Override
public Long createStorageMat(StorageMatSaveReqVO createReqVO) { public Long createStorageMat(StorageMatSaveReqVO createReqVO) {
// 插入 // 插入
@ -82,6 +90,18 @@ public class StorageMatServiceImpl implements StorageMatService {
// 返回 // 返回
return storageMat.getId(); return storageMat.getId();
} }
@Override
public void createStorageMat(List<StorageMatDO> storageMatDOS, Long stockid) {
deleteStorageMatList(stockid);
for (StorageMatDO item : storageMatDOS) {
StorageMatDO storageMat = BeanUtils.toBean(item, StorageMatDO.class);
storageMat.setId(0L);
storageMat.setStockId(stockid);
storageMatMapper.insert(storageMat);
}
}
@Override @Override
public Long createFBStorageMat(StorageMatDO storageMat) { public Long createFBStorageMat(StorageMatDO storageMat) {
// 插入 // 插入