即入即出,代码改造
This commit is contained in:
parent
0a33a0a252
commit
adcc23cf7c
@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
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.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.material.MaterialDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseorderno.PurchaseOrderNoDO;
|
||||
@ -134,7 +135,7 @@ public class StorageController {
|
||||
@Transactional
|
||||
@PreAuthorize("@ss.hasPermission('heli:storage:update')")
|
||||
public CommonResult<Boolean> updateStorageStatus(@Valid @RequestBody StorageSaveReqVO updateReqVO) {
|
||||
|
||||
// if updateReqVO.getInOutFlag() ==true 不更新库存,但是保留出入库记录。根据入库记录直径保存出库记录
|
||||
// 获取最新的出入库信息
|
||||
StorageDO targetDo = storageService.getStorage(updateReqVO.getId());
|
||||
int beforeStatus=0;
|
||||
@ -197,7 +198,23 @@ public class StorageController {
|
||||
}
|
||||
storageInventoryDO.setYardAmount(totalNumber);
|
||||
}
|
||||
// 如果不是即入即出,不需要入库,但是需要出库记录,根据入库记录生成出库记录
|
||||
if (!updateReqVO.getInOutFlag()) {
|
||||
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());
|
||||
if (ObjectUtil.isNotEmpty(purchaseOrderNoDetailDO)){
|
||||
purchaseOrderNoDetailDO.setPurchaseRemAmount(purchaseOrderNoDetailDO.getPurchaseRemAmount().subtract(storageMatDO.getStorageOkQty()));
|
||||
|
||||
@ -22,6 +22,8 @@ public interface StorageMatService {
|
||||
*/
|
||||
Long createStorageMat(@Valid StorageMatSaveReqVO createReqVO);
|
||||
|
||||
void createStorageMat(List<StorageMatDO> createReqVO, Long stockid);
|
||||
|
||||
Long createFBStorageMat(@Valid StorageMatDO createReqVO);
|
||||
|
||||
/**
|
||||
|
||||
@ -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.ProjectOrderSubDO;
|
||||
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.storagelog.StorageLogDO;
|
||||
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.storagelog.StorageLogMapper;
|
||||
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.storagelog.StorageLogService;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
@ -74,6 +76,12 @@ public class StorageMatServiceImpl implements StorageMatService {
|
||||
private ProjectOrderSubMapper projectOrderSubMapper;
|
||||
@Resource
|
||||
private StorageInventoryMapper storageInventoryMapper;
|
||||
|
||||
@Resource
|
||||
private StorageMapper storageMapper;
|
||||
|
||||
@Resource
|
||||
private com.chanko.yunxi.mes.module.heli.service.bdgzsomthing.bdgzsomthingService bdgzsomthingService;
|
||||
@Override
|
||||
public Long createStorageMat(StorageMatSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
@ -82,6 +90,18 @@ public class StorageMatServiceImpl implements StorageMatService {
|
||||
// 返回
|
||||
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
|
||||
public Long createFBStorageMat(StorageMatDO storageMat) {
|
||||
// 插入
|
||||
|
||||
Loading…
Reference in New Issue
Block a user