📄 opr_saleoutstoredetl_save.asp
字号:
<!-- #include file="../PublicFunction.inc" -->
<%
'*****************************************
'功能:根据出库通知单进行出库操作
'1.TStr_Whs_OutNID:出库通知单编号
'2.TStr_WhsID:仓库编号
'3.TStr_CtgID:品种编号
'4.TStr_CtgDate:批号
'5.TStr_CtgAreaFirst:起始编号
'6.TStr_CtgAreaEnd:终止编号
'7.TStr_CtgNum:数量
'8.定单编号
'9.TLg_Page:返回页面
'10.Lstr_agn:区域ID
'出口参数
'无
'作者:王伟锋,日期:2001.6.18
'*****************************************
'出错
on error resume next
'接收参数
TLg_Page=trim(request("TLg_Page"))
Lstr_agn=trim(request("Lstr_agn"))
TStr_StfID=trim(session("Gs_StaffID"))
if TStr_StfID="" then
Response.Write "网页已经过期,请重新登陆!"
Response.end
end if
TStr_Whs_OutNID=trim(request("TStr_Whs_OutNID"))
TStr_WhsID=trim(request("TStr_WhsID"))
TStr_CtgID=trim(request("TStr_CtgID"))
TStr_SalID=trim(request("TStr_SalID"))
TStr_CtgDate=trim(request("TStr_CtgDate"))
TStr_CtgAreaFirst=trim(request("TStr_CtgAreaFirst"))
TStr_CtgAreaEnd=trim(request("TStr_CtgAreaEnd"))
TStr_CtgNum=trim(request("TStr_CtgNum"))
L_CtgDate=trim(request("TStr_CtgDate"))
Array_CtgDate=split(L_CtgDate,",")
L_CtgNum=trim(request("TStr_CtgNum"))
Array_CtgNum=split(L_CtgNum,",")
'建立数据库连接
dim DBconn
set DBconn=server.CreateObject("adodb.connection")
'DBconn.ConnectionTimeout=Application("Connection2_ConnectionTimeout")
'DBconn.cursorlocation=Application("Connection2_Cursorlocation")
DBconn.open Application("Connection2_ConnectionString")
'DBconn.Open "DRIVER=SQL Server;SERVER=fileserver;UID=sa;DATABASE=CMS"
'打开表Warehouse_OutNotice--->出库信息
dim wwf_RsWhsOn
set wwf_RsWhsOn=server.CreateObject("adodb.recordset")
wwf_RsWhsOn.CursorLocation=3
wwf_SqlWhsOn="select Whs_OutNID,Whs_ID,Whs_OutNNoteType,Whs_OutNReceiver,Whs_OutNRcvAddr,Whs_OutNRcvZip,Whs_OutNRcvTel,Ctg_ID,Whs_OutNQty from Warehouse_OutNotice where Whs_OutNID='"&TStr_Whs_OutNID&"'"
wwf_RsWhsOn.Open wwf_SqlWhsOn,DBconn,2
'判断出库量之和与需出库量相等?
dim sum
sum=0
for i=0 to ubound(Array_CtgNum)
sum=sum+cDbl(Array_CtgNum(i))
next
if sum<>cDbl(wwf_RsWhsOn("Whs_OutNQty")) then
%>
<html>
<head></head>
<body>
<script language="vbscript">
msgbox "填写的出库量之和与需出库量不等!",,"CMS系统提示"
history.back()
</script>
</body>
</html>
<%
Response.End
end if
'判断批号的出库量是否小于该批号库存
for i=0 to ubound(Array_CtgDate)
for j=i+1 to Ubound(Array_CtgDate)
if trim(Array_CtgDate(i))=trim(Array_CtgDate(j)) then
Array_CtgNum(i)= cDbl(Array_CtgNum(j)) + cDbl(Array_CtgNum(i))
end if
next
next
dim wwf_RsCom
for i=0 to ubound(Array_CtgDate)
set wwf_RsCom=server.CreateObject("adodb.recordset")
wwf_SqlCom="select Whs_StkDNum from Warehouse_StockDtl where Whs_StkDBatch='"&trim(Array_CtgDate(i))&"' and Whs_ID='"&TStr_WhsID&"' and Ctg_ID='"&TStr_CtgID&"'"
wwf_RsCom.Open wwf_SqlCom,DBconn,2
if not wwf_RsCom.EOF then
if cDbl(trim(wwf_RsCom("Whs_StkDNum")))<cDbl(Array_CtgNum(i)) then
%>
<html>
<head></head>
<body>
<script language="vbscript">
msgbox "同一批号的出库量大于该批号的库存量!",,"CMS系统提示"
history.back()
</script>
</body>
</html>
<%
Response.End
end if
end if
next
L_CtgDate=trim(request("TStr_CtgDate"))
Array_CtgDate=split(L_CtgDate,",")
L_CtgNum=trim(request("TStr_CtgNum"))
Array_CtgNum=split(L_CtgNum,",")
L_Date=Year(now())&"-"&Month(now())&"-"&Day(now())
LStr_WhsOutID=GetNewID("Warehouse_Out","Whs_OutID")
'开始事务
DBconn.BeginTrans
'形成出库单记录
wwf_SqlSave="insert into Warehouse_Out (Whs_OutNID,Whs_OutID,Whs_ID,Ctg_ID,Whs_OutType,Whs_OutQty,Whs_OutReceiver,Whs_OutRcvAddress,Whs_OutRcvZipCode,Whs_OutRcvTel,Whs_OutHandler,Whs_OutDate,Whs_OutDlvFlg,Whs_OutQtyDlv) values "
wwf_SqlSave=wwf_SqlSave&"('"&TStr_Whs_OutNID&"','"&LStr_WhsOutID&"','"&TStr_WhsID&"','"&TStr_CtgID&"','"&trim(wwf_RsWhsOn("Whs_OutNNoteType"))&"','"&trim(wwf_RsWhsOn("Whs_OutNQty"))&"','"&trim(wwf_RsWhsOn("Whs_OutNReceiver"))&"','"&trim(wwf_RsWhsOn("Whs_OutNRcvAddr"))&"',"
wwf_SqlSave=wwf_SqlSave&"'"&trim(wwf_RsWhsOn("Whs_OutNRcvZip"))&"','"&trim(wwf_RsWhsOn("Whs_OutNRcvTel"))&"','"&TStr_StfID&"','"&L_Date&"','未发货','0')"
DBconn.Execute wwf_SqlSave
'形成出库明细
L_CtgDate=trim(request("TStr_CtgDate"))
Array_CtgDate=split(L_CtgDate,",")
L_CtgAreaFirst=trim(request("TStr_CtgAreaFirst"))
Array_CtgAreaFirst=split(L_CtgAreaFirst,",")
L_CtgAreaEnd=trim(request("TStr_CtgAreaEnd"))
Array_CtgAreaEnd=split(L_CtgAreaEnd,",")
L_CtgNum=trim(request("TStr_CtgNum"))
Array_CtgNum=split(L_CtgNum,",")
dim TotalNum
TotalNum=0
L_OutDtlID=GetDetailID("Warehouse_OutDtl","Whs_OutID",LStr_WhsOutID,"Whs_OutDtlID")
for i=0 to ubound(Array_CtgDate)
wwf_SqlSave="insert into Warehouse_OutDtl(Whs_OutID,Ctg_ID,Whs_OutDtlID,Whs_OutDtlCtgBth,Whs_OutDtlQty,Whs_OutDtlBthFrmNo,Whs_OutDtlBthEndNo)"
wwf_SqlSave=wwf_SqlSave&" values('"&LStr_WhsOutID&"','"&TStr_CtgID&"',"&cDbl(L_OutDtlID)+cDbl(i)&",'"&trim(Array_CtgDate(i))&"','"&trim(Array_CtgNum(i))&"','"&trim(Array_CtgAreaFirst(i))&"','"&trim(Array_CtgAreaEnd(i))&"')"
DBconn.Execute wwf_SqlSave
TotalNum=TotalNum+cDbl(Array_CtgNum(i))
next
'"&L_OutDtlID&"
'修改仓库品种库存总量和可出库量以及库存明细量
wwf_SqlWhsView="select Whs_StkNum,Whs_StkNumCanOut from Warehouse_Stock where Whs_ID='"&TStr_WhsID&"' and Ctg_ID='"&TStr_CtgID&"'"
dim wwf_RsWhsView
set wwf_RsWhsView=server.createobject("adodb.recordset")
wwf_RsWhsView.open wwf_SqlWhsView,DBconn,2
nowStkNum=cDbl(wwf_RsWhsView("Whs_StkNum"))-cDbl(TotalNum)
nowStkNumCanOut=cDbl(wwf_RsWhsView("Whs_StkNumCanOut"))-cDbl(TotalNum)
wwf_SqlChange="update Warehouse_Stock set Whs_StkNum='"&nowStkNum&"',Whs_StkNumCanOut='"&nowStkNumCanOut&"' where Whs_ID='"&TStr_WhsID&"' and Ctg_ID='"&TStr_CtgID&"'"
DBconn.Execute (wwf_SqlChange)
wwf_RsWhsView.Close
for i=0 to ubound(Array_CtgDate)
wwf_SqlWhsDtlView="select Whs_StkDNum from Warehouse_StockDtl where Whs_StkDBatch='"&trim(Array_CtgDate(i))&"' and Whs_ID='"&TStr_WhsID&"' and Ctg_ID='"&TStr_CtgID&"'"
dim wwf_RsWhsDtlView
set wwf_RsWhsDtlView=server.CreateObject("adodb.recordset")
'Response.Write wwf_SqlWhsDtlView
wwf_RsWhsDtlView.open wwf_SqlWhsDtlView,DBconn,2
nowStkNum=cDbl(wwf_RsWhsDtlView("Whs_StkDNum"))-cDbl(Array_CtgNum(i))
wwf_SqlChange="update Warehouse_StockDtl set Whs_StkDNum='"&nowStkNum&"' where Whs_StkDBatch='"&trim(Array_CtgDate(i))&"' and Whs_ID='"&TStr_WhsID&"' and Ctg_ID='"&TStr_CtgID&"'"
'Response.Write wwf_SqlChange
DBconn.Execute wwf_SqlChange
wwf_RsWhsDtlView.Close
next
'修改出库通知单的通知状态为"已出库"
wwf_SqlWhsOutN="update Warehouse_OutNotice set Whs_OutNFlg='已出库' where Whs_OutNID='"&TStr_Whs_OutNID&"'"
DBconn.Execute(wwf_SqlWhsOutN)
'修改定单的处理状态为"已出库"
wwf_SqlSal="update Sale_Sale set Sal_SalFlgDeal='已出库' where Sal_SalID='"&TStr_SalID&"'"
DBconn.Execute(wwf_SqlSal)
if err.number<>0 then
'事务回滚
DBconn.RollbackTrans
%>
<html>
<head></head>
<body>
<script language="vbscript">
msgbox "数据录入失败,请再试一次!",,"CMS系统提示"
history.back()
</script>
</body>
</html>
<%
else
'提交事务
DBconn.CommitTrans
%>
<html>
<head></head>
<body>
<form name="Saveok" action="SaleOutStore.asp" method="post">
<input type="hidden" name="TLg_Page" value="<%=TLg_Page%>">
<input type="hidden" name="Lstr_agn" value="<%=Lstr_agn%>">
</form>
<script language="vbscript">
msgbox "数据录入成功!",,"CMS系统提示"
Saveok.submit()
</script>
</body>
</html>
<%
end if
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -