⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 opr_saleoutstoredetl_save.asp

📁 在线医药销售管理系统
💻 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 + -