1、入库流程
|
(1)收货,输入采购单号和项号,调用接口 inbound/inScan/getData查询,查询这个项号待收多少,已收多少。
|
(2)点击按钮【确认】,请求接口receiptConvert,
|
先推送给SAP。库存进入 收货暂存区 方法receiptConvert, select plateCode,* from Base_ProductPosition where PositionName='收货暂存区'; --
|
(3)然后自动打印程序autuPrint线程,会定时读取Base_ProductPosition 表,然后写入到表Base_PositionPrint中。 然后打印条码 (
|
标签条码的值是 DateTime.Now.ToString("yyMMddHHmmss");值
|
)
|
(4)之后,他要标签打印数量,在界面【物料标签打印】,选中并点击按钮“打印物料标签”,此时调用接口 api/storage/check/updateData
|
这时候要扣减收货暂存区的数量,调用wcftest的 subtractQty方法。
|
|
(5)进入页面【码盘上架】
|
扫码标签条码,调用方法api/inbound/shelveStackingScan/getBufferProductInfo,api读取的是表Base_PositionPrint的数据。
|
点击界面按钮“码盘上架“,
|
创建表Purchase_Shelve ,状态为OnShelveStatus == "待上架"的数据,接口api/inbound/shelveStackingScan/inStackingSave
|
(6)线程 writeInTask ,从表中读取Purchase_Shelve状态为OnShelveStatus == "待上架"的数据,然后生成入库任务Task_Queue,
|
(7)等设备任务完成,执行 writeProductPosition 方法。是根据Task_Queue表的ShelveId,查找到Purchase_Shelve记录,并增加库存的。
|
同一个库位,如果有N种物料,表Base_ProductPosition就新增N条数据。
|
|
|
2、拼盘出库流程
|
(1)界面【拼盘上架】,点击按钮“物料拼盘出库”=》接口madeDish,将库存Base_ProductPosition删除,将库位更改为空库位,然后创建出库任务Task_Queue。
|
同时,该界面上会显示出 该托盘上的所有物料(注意:此时不能将页面刷新,否则数据会丢失。如果数据丢失,只能做无单入库了)
|
(2)扫描要上架的 二维码或一维码,数据加载列表中
|
(3)点击界面按钮“拼盘上架”,创建表Purchase_Shelve ,状态为OnShelveStatus == "待上架"的数据,接口api/inbound/shelveStackingScan/inStackingSave
|
(4)线程 writeInTask ,从表中读取Purchase_Shelve状态为OnShelveStatus == "待上架"的数据,然后生成入库任务Task_Queue,
|
(5)等设备任务完成,执行writeProductPosition方法。是根据Task_Queue表的ShelveId,查找到Purchase_Shelve记录,并增加库存的。
|
同一个库位,如果有N种物料,表Base_ProductPosition就新增N条数据。
|
|
问题:那么表Base_ProductPosition 的‘收货暂存区’的数据什么时候被删除呢?
|
答:方法之一是 在界面【物料标签打印】,选中并点击按钮“打印物料标签”
|
|
|
3、分拣确认显示
|
表Base_ProductPosition的ExtendField03表示状态,1值表示允许分拣,0表示不可以分拣。
|
ExtendField02表示待分拣数量。这个数量用户可以自己输入。
|
ExtendField01是标志 托盘或货物值。
|
ExtendField04 表示 跟踪号
|
ExtendField05表示 库存单位。
|
ExtendField08表示销售项号
|
|
|
4、Base_ProductPosition
|
InStorageDate 入库时间
|
limitDate 限用日期
|