package com.consum.base.core; import com.consum.base.core.po.WhFormInventory; import com.consum.base.core.po.WhFormProcure; import com.consum.base.core.po.WhFormTransfer; import org.springframework.stereotype.Service; /** * 进出库 业务处 类 */ @Service public class WarehouseBusinessService { private WarehouseCoreService coreService; /** * 执行采购入库 * 第一步:通过采购单【WH_FORM_PROCURE】查询采购单型号【WH_FORM_PROCURE_MODEL】数据 * 第二步:组织CheckWarehouseParam,调用WarehouseCoreService.unifyCheck()执行入库 * 第三步:更新采购单型号【WH_FORM_PROCURE_MODEL】库存物品编号字段及主表WH_FORM_PROCURE状态信息 * 第四步:更新 进出库流水(仓库)【WH_GOODS_DETAILS】 * @param procure */ public void doProcure(WhFormProcure procure){ CheckWarehouseParam param = new CheckWarehouseParam(); param.setIsCheckIn(true); param.setWarehouseId(procure.getId()); param.setIsCheckIn(true); coreService.unifyCheck(param); } /** * 执行调拨出库操作 * 1. 通过调拨单【WH_FORM_TRANSFER】、调拨单物品【WH_FORM_TRANSFER_GOODS】组织CheckWarehouseParam * 2. 调用调用WarehouseCoreService.unifyCheck()执行出库 * 3. 更新进出库流水(仓库)【WH_GOODS_DETAILS】 * 4. 更新调拨单【WH_FORM_TRANSFER】为待接收,更新调拨单物品【WH_FORM_TRANSFER_MODEL】出库流水ID * @param transfer */ public void doTransferOutPut(WhFormTransfer transfer){ } /** * 执行调拨入库操作 * 1. 通过调拨单【WH_FORM_TRANSFER】、调拨单物品【WH_FORM_TRANSFER_GOODS】组织CheckWarehouseParam * 2. 调用调用WarehouseCoreService.unifyCheck()执行出库 * 3. 更新进出库流水(仓库)【WH_GOODS_DETAILS】 * 4. 更新调拨单【WH_FORM_TRANSFER】为已入库,,更新调拨单物品【WH_FORM_TRANSFER_MODEL】入库流水ID * @param transfer */ public void doTransferInPut(WhFormTransfer transfer){ } /** * 创建盘点任务,创建盘点任务时,根据当时时间会将库存数据冻结一份放入待盘点单。 * 1.从库存物品【WH_GOODS】中按照仓库将数据放入盘点单物品【WH_FORM_INVENTORY_GOODS】,主要是 * 期初数量INIT_COUNTS,和 库存物品编号WH_GOODS_ID字段 * @param inventory */ public void createInventory(WhFormInventory inventory){ } }