深圳全飞鸿
标题:
WHS电子仓FIFO先进先出逻辑变更为SP
[打印本页]
作者:
zhgc
时间:
2019-5-4 13:52
标题:
WHS电子仓FIFO先进先出逻辑变更为SP
WHS电子仓FIFO先进先出逻辑变更为SP
'于2019-05-04取消该函数,改为CHECK_FIFO_WHS_OUT_SP用SP来检查逻辑
Public Function CHECK_FIFO_WHS_OUT(in_trsn As String) As Boolean
Dim strsql As String
Dim strkp As String
Dim i, j As Integer
Dim rs As ADODB.Recordset
Dim rs1 As ADODB.Recordset
Dim in_trsn_bak As String
On Error GoTo check_Error
strtrsn = ""
'备份原始TR_SN﹐便于下面还原
in_trsn_bak = in_trsn
'根据TR_SN找到料号
strsql = "SELECT TR_SN,CUST_KP_NO FROM smt.r_tr_sn WHERE TR_SN='" & in_trsn & "' "
Set rs = Adocn.Execute(strsql)
'找到料号赋值
If Not rs.EOF Then
strkp = rs.Fields("CUST_KP_NO")
Else
CHECK_FIFO_WHS_OUT = False
End If
'根据料号﹐查找此料号所有在WHS的序号﹐并按日期从小到大排序
strsql = "SELECT SUBSTR (tr_sn, 2, 6) AS trno, cust_kp_no, tr_sn " & _
"From smt.r_tr_sn " & _
"WHERE cust_kp_no = '" & strkp & "' and location_flag='0' and work_flag=0 " & _
"ORDER BY TO_NUMBER(trno)"
Set rs = Adocn.Execute(strsql)
'将此料号在WHS中最旧料盘日期与目前将要发出的料盘进行对比
If rs.EOF Then
CHECK_FIFO_WHS_OUT = True
Else
'判断是否分盘记录﹐有则按原始条码日期为主
strsql = "select * from smt.r_tr_sn_adjust where sub_tr_sn='" & in_trsn & "'"
Set rs1 = Adocn.Execute(strsql)
If rs1.EOF = True Then
'没有分盘记录
Else
'有分盘记录﹐则找出原序号
in_trsn = rs1.Fields("tr_sn")
End If
If rs!trno <> Mid(Trim(in_trsn), 2, 6) And rs!trno < Mid(Trim(in_trsn), 2, 6) Then
'发现库存中的料盘日期比目前先﹐则应该先发库存中的旧料﹔不符合FIFO
CHECK_FIFO_WHS_OUT = False
'找出旧的TR_SN
Do While Not rs.EOF
If rs!trno <> Mid(Trim(in_trsn), 2, 6) And rs!trno < Mid(Trim(in_trsn), 2, 6) Then
strtrsn = strtrsn + "'" + rs!tr_sn + "',"
End If
rs.MoveNext
Loop
' strtrsn = Left(strtrsn, Len(strtrsn) - 2)
strtrsn = Mid(strtrsn, 2, Len(strtrsn) - 3)
Else
CHECK_FIFO_WHS_OUT = True
End If
'还原序号﹐当有分盘记录时会变更﹐因此需要还原
in_trsn = in_trsn_bak
End If
Exit Function
check_Error:
MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure CHECK_FIFO_WHS_OUT "
End Function
复制代码
作者:
zhgc
时间:
2019-5-4 14:49
SP为:SMT.WHS_CHECK_FIFO
作者:
zhgc
时间:
2019-5-4 15:03
工厂WHS的FIFO分两种: 1是按DC,2是按收料入库的时间,注意区分客户工厂采用的哪种模式!
作者:
z395809032
时间:
2019-5-4 15:04
需确认用户的先进先出管控时间点类型
时间点类型分为
1.收料时间
2.入库时间
3.制造商D/C,L/C
4.IQC检验完成时间
依不同客户类型定义
作者:
syant
时间:
2019-5-8 21:50
那如果是用PDA扫Check_out时呢?
控制SP:
smt.APP_WHS_CHECKOUT
欢迎光临 深圳全飞鸿 (http://www.nagomes.com/disc/)
Powered by Discuz! X3.2