Skip to content

Pull Scan业务描述

当3PL根据联想VMI系统的pull料指令,将物料打包发运后,对于物权从3PL转移到制造WIP的物料,3PL通过By MO或者By Pull发货汇总的形式将预收货信息发给VMI系统。当物料到达联想WIP后,联想制造团队使用PDA进行扫描收货。VMI系统收到PDA扫描信号后,将S4库存转移到线边。

1.1 版本记录

本文档记录发货汇总和扫描相关的内容,海晨和联晟发送发货汇总,PDA或者AGV进行扫描过账

版本时间内容变更人
v1.02022-06-06将发货汇总扫描收货相关接口独立出来,第一版lingcq1
v1.12022-06-22增加海康带校验的实时扫描接口,增加label样式, 增加扫描接口的primary keylingcq1

1.2 公共参数

参数位置参数名称描述示例
bodypalletIdLESHINE: LES00+时间戳(10位)+1位随机数 ; HIC: 9S9VV+时间戳(10位)+1位随机数
bodyplanIdLESHINE: N/A HIC:S开头是MO维度的数据,其他是PULL维度数据
bodyshipToId逻辑工厂L220
bodyworkshopCode业务标识, 南方厂BOX: LSSC; 南方厂SMT: LSSC-SMT, 不填则默认为LSSC

1.3 By MO 发货汇总接口

使用场景: 实时接口, 3号暂存不上kitting架的部分,by MO进行汇总过账

使用者: HIC

Method:POST

ContentType: application/json

请求说明
参数位置参数名称参数类型描述unique keynecessary示例
bodypalletIdstring唯一标识,一旦成功进入VMI后,不能重复使用。联晟: LES00+时间戳(10位)+1位随机数 ; HIC: 9S9VV+时间戳(10位)+1位随机数YY---
bodyplanIdstringS22222, N/AY
bodysourceSystemstringHICY
bodytargetSystemstringVMIY
bodysystemTimestringY
bodyshipToIdstringL220Y
bodyworkshopCodestringLSSC 或者LSSC-SMT, 不填则默认为LSSCY
bodydataTypestring默认值: MO_DELIVERYY
bodyloadinglistNostring装单号
bodyshipTotalQtystring发货总数量
bodyshipPlanTimestring业务计划出库过账时间
bodydeliveryNostring出库单号YY
bodydeliveryLineNostring出库单行号YY
bodyproductionOrdIdstringproduction orderYY
bodyitemIdstringYY
bodysourceTypestringY
bodysourceStorageLocationstringY
bodysourceBinstringY
bodydestTypestringY
bodydestStorageLocationstringY
bodydestBinstringY
bodyquantityNUMBERmo, item的总数Y
bodypalletQtyNUMBERpallet上mo, item的数量Y
接口请求示例
json
{
    "palletId":"P1",
    "planId":"Sdddd",
    "sourceSystem":"HIC/LESHINE",
    "targetSystem":"VMI",
    "systemTime":"2022-02-21 09:41:15",
    "shipToId":"L220",
    "workshopCode": "LSSC",             //如果是南方厂BOX,填LSSC, 如果是MST, 填LSSC-SMT
    "dataType":"MO_DELIVERY",
	"loadinglistNo":"HICLL2202210001", 	//装单号
	"shipTotalQty":168, 				//发货总数量
	"shipPlanTime":"2022-02-21 09:41:15", 	//业务计划出库过账时间
    "data":[        
        {
			"deliveryNo":"HICDEV2202210001", 	//出库单号
			"deliveryLineNo":"000010", 			//出库单行号
            "productionOrdId":"sss",
            "itemId":"P104329",
            "sourceStorageLocation":"PL123316",
            "sourceBin":"PL123316",
            "sourceType":"PL123316",
      		"destStorageLocation": "MW02",
            "destType": "W02",
      		"destBin": "KIT",
            "quantity": 2,        //mo, item的总数, 满足总数以后汇总过账
            "palletQty": 1       //pallet quantiy      
        }
    ]
}
返回说明
参数位置参数名称是否必填/不为空参数类型参数格式描述示例
bodyresult.palletIdYstring对应的拍号
bodyresult.loadinglistNoYstring新增装单号
接口返回示例
json
//校验成功code=0,非0都是失败
{
    "code":"0",
    "msg":"success"
    "result":{
    	"loadinglistNo":"HICLL2202210001", 	//装单号
    	"palletId":"P1"
	} 
}


//code=-1, 校验异常,需要重新校验
{
    "code":"-1",
    "msg":"程序异常"
    "result":{
    	"loadinglistNo":"HICLL2202210001", 	//装单号
    	"palletId":"P1"
	}  
}

//校验失败code=-2,数据有问题
{
    "code":"-2",
    "msg":"productionOrdId itemId quantity invalid/pallet already processed",
    "result":{
    	"loadinglistNo":"HICLL2202210001", 	//装单号
    	"palletId":"P1"
	} 
}

1.4 By Pull 发货汇总接口

使用场景: 3号gr kanban, 外箱发货非保机箱, 包材

使用者: HIC & LESHINE

Method:POST

ContentType: application/json

请求说明
参数位置参数名称参数类型描述unique keynecessary示例
bodypalletIdstring唯一标识,一旦成功进入VMI后,不能重复使用。联晟: LES00+时间戳(10位)+1位随机数 ; HIC: 9S9VV+时间戳(10位)+1位随机数YY
bodyplanIdstringS22222, N/AY
bodysourceSystemstringHIC, LESHINEY
bodytargetSystemstringVMIY
bodysystemTimestringY
bodyshipToIdstringL220Y
bodyworkshopCodestringLSSC 或者LSSC-SMT, 不填则默认LSSCY
bodydataTypestring默认值:PULL_DELIVERY
bodyloadinglistNostring装单号
bodyshipTotalQtystring发货总数量
bodyshipPlanTimestring业务计划出库过账时间
bodypullIdstringYY
bodypullLineIdstringYY
bodyitemIdstring
bodypalletQtynumberpull在这一pallet的quantity
bodyquantityNUMBERpull的总quantity, 允许超发
接口请求示例
json
{
    "palletId":"P1",
    "planId":"Sdddd",
    "sourceSystem":"HIC/LESHINE",
    "targetSystem":"VMI",
    "systemTime":"2022-02-21 09:41:15",
    "shipToId":"L220",
    "workshopCode": "LSSC",             //如果是南方厂BOX,填LSSC, 如果是MST, 填LSSC-SMT
    "dataType": "PULL_DELIVERY",
	"loadinglistNo":"HICLL2202210001", 	//装单号
	"shipTotalQty":168, 				//发货总数量
	"shipPlanTime":"2022-02-21 09:41:15", 	//业务计划出库过账时间
    "data":[        
        {
			"pullId": "4500375969",
			"pullLineId": "1000037984",
			"itemId": "000000A36941",
			"quantity": 1,
            "palletQty": 1
        }
    ]
}
接口返回参数
参数位置参数名称是否必填/不为空参数类型参数格式描述示例
bodyresult.palletIdYstring对应的拍号
bodyresult.loadinglistNoYstring装单号
接口返回示例
json
//校验成功code=0,非0都是失败
{
    "code":"0",
    "msg":"success"
    "result":{
    	"loadinglistNo":"HICLL2202210001", 	//装单号
    	"palletId":"P1"
	} 
}


//code=-1校验异常,需要重新校验
{
    "code":"-1",
    "msg":"程序异常"
    "result":{
    	"loadinglistNo":"HICLL2202210001", 	//装单号
    	"palletId":"P1"
	}  
}

//校验失败code=-2, 数据有问题
{
    "code":"-2",
    "msg":"productionOrdId itemId quantity invalid/pallet already processed",
    "result":{
    	"loadinglistNo":"HICLL2202210001", 	//装单号
    	"palletId":"P1"
	} 
}

1.5 扫描收货接口

1.5.1 扫描收货接口FOR PDA

Description: 实时接口, FOR PAD(除去非保机箱),收到数据则落库,落库成功则返回。

Method:POST

使用者: PDA

ContentType: application/json

请求说明
参数位置参数名称necessary参数类型描述primary key
bodypalletIdYstring对应的拍号Y
bodyplanIdYstring
bodyproductionLineYstring产线
bodysourceSystemYstringPDA或者是HIK
bodytargetSystemYstringVMI
bodyshipToIdYstring工厂
bodyworkshopCodeYstring默认是LSSC, 如果是SMT, 则为LSSC-SMT
bodysystemTimeYstring设备时间或者扫描时间
bodydeviceIdYstring设备标识
bodyuserIdYstring扫描操作员
bodyitemYstring物料号Y
bodyquantityYstring该物料在这一拍上的总数
接口请求示例
{
    "palletId":"9S9VL16545869971",
    "planId":"S-OPT-L6-1-1-2022060700003",
    "productionLine":"S-OPT-L6",
    "sourceSystem":"HIK/PDA", // 请对应的填写,VMI系统需要确认数据来源
    "targetSystem":"VMI",
    "shipToId":"L220",
    "workshopCode":"LSSC",
 	"systemTime":"2022-03-03 12:00:11",
 	"deviceId":"26A853C7E84BF3C38A5099186A780A487",
 	"userId":"ABC", 
    "data":[        
        {  
            "itemId":"P104329",
            "quantity":10
        },
        {
			"itemId":"P104328",
            "quantity":100
        }
    ]

}
接口返回参数
参数位置参数名称是否必填/不为空参数类型参数格式描述示例
bodycodeYstring0标识接收成功,非0标识接收失败
bodymsgYstring成功或者失败的描述
接口返回示例
json
//接收成功code=0 msg中有具体的接收信息
{
    "code":"0",
    "msg":"success"
}


//程序异常code!=0,网络异常或者程序异常
{
    "code":"-1",
    "msg":"程序异常"
}

1.5.2 扫描带校验收货接口FOR HIK

Description: 实时接口, FOR HIK, 非保机箱部分,收到数据跟发货汇总进行对比,比对成功落库,比对失败则实时返回失败原因,HIK不能将这个pallet入库。

使用者:HIK(AGV)

请求说明:见1.5.1
请求示例:见1.5.1
接口返回参数: 见1.5.1
接口返回示例
json
//接收成功code=0 msg中有具体的接收信息
{
    "code":"0",
    "msg":"success"
}


//程序异常code!=0,网络异常,程序异常, 校验失败(包括重复,格式不正确,跟发货汇总对不上 )
{
    "code":"-1",
    "msg":"Exception/pallet重复提交/与发货汇总比对失败"
}

1.6 label格式

label字段联晟HIC备注
Pallet idLES00+时间戳(10位)+1位随机数9S9VV+时间戳(10位)+1位随机数长度16位,VV,VL仓库位置
Plan idN/Akanban,非保机箱放pull id, 其他物料是KITTING的切片计划(S开头的Plan id)VMI****通过N/A值判断是联晟数据,其余都是HIC数据:S开头是MO维度的数据,其他是PULL维度数据
Line id物理合并线体S-NB(包材)或者逻辑线体S-NB-L6-01(光盘说明书)物理线体S-NB-L6(直送) 或者是逻辑线体S-NB-L6-01(3号暂存-1号)
Plant idL220L220
P/NSP10G08418SBB1A11341
QTY100QTY
BOX IDBOX ID:1. 100等数字开头是VENDOR来料箱标签(供应商提供); 2. 6S6VV(16位)是HIC自己生成 标签带BOX ID, 二维码不要带BOX ID制造不需要box id,二维码不要带BOX ID,label是否带待定。每个part需要汇总数量成1行1****个pallet 不超过10个part。
label格式要求6个字段用分号隔开, PN数量中间用逗号隔开
label sampleLes2022053001A010000000000001;N/A;S-NB-L6;L220;PNA,100;PNB,200;PNC,300;
PDA需要格式如上,然后需要转换成VMI需要的格式,所有字母和标点符号都是英文格式