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

📄 demandreserve.asp

📁 印刷物の発注、在庫管理、出庫処理を一元管理
💻 ASP
📖 第 1 页 / 共 2 页
字号:
<%
'On Error Resume Next
'/*********************************************
'/帒椏惪媮嵟怴挔昜堦棗偺僥乕僽儖傾僋僙僗僋儔僗
'/*********************************************
Class DemandReserve
	
	Dim l_db	'DBAccess DB傾僋僙僗梡
	Dim l_rlm	'ReserveListMaster
	Dim l_chutil 'CharUtil梡
	Dim l_sysId	'僔僗僥儉ID(String)
	Dim l_coId	'夛幮ID(String)
	Dim l_total	'崌寁嬥妟
	Dim l_bundletime '掲傔帪娫
	Dim l_kind       '惪媮曽朄
	Dim l_cmn
	Dim l_demcmn

	'/********************************************
	'/* 弶婜張棟
	'/********************************************
	Public Function Init()
		Dim l_dbinfo 'String

		'DB僐僱僋僔儑儞庢摼
		Set l_db = New DbAccess
		Set l_cmn = New Common
		Set l_chutil = New CharUtil
		Set l_rlm = New ReserveListMaster

		Call l_cmn.SearchSession
		Call l_db.ProcConnection(DSN, USERID, PASSWD)

		'僙僢僔儑儞傛傝儐乕僓乕忣曬庢摼
		l_sysId = Session("User").Item("SYSTEM_ID")	'僔僗僥儉ID
		l_coId = Session("User").Item("COMPANY_ID")	'夛幮ID
		l_total	= 0									'崌寁嬥妟
		l_bundletime = Request.Cookies("Comp")("Time")
	End Function

	'/***********************************************************************************
	'/* 嵼屔堷偒摉偰
	'/* param丗l_kindflg 惪媮庬椶丂1丗昗弨丂2丗娙堈
	'/*       l_index 娙堈夋柺偺擖椡楍
	'/* return丗寢壥攝楍(娙堈拲暥偱巊梡)丂l_listarray (0)丗寢壥僼儔僌
	'/*                                                 ""丗堷摉OK
	'/*                                                 "0"丗嵼屔側偟
	'/*                                                 "1"丗擖壸懸偪OK
	'/*                                                 "2"丗挔昜懚嵼偣偢
	'/*                                               (1)丗挔昜巬斣
	'/*                                               (2)丗挔昜柤
	'/***********************************************************************************
	Public Function ReserveStock(l_listcd,l_listeda,l_listmanage_no,l_quantity,l_kind)
		Dim l_strSql
		Dim l_rlm
		Dim l_name
		Dim l_kaniarray		'娙堈偐傜偺擖椡抣
		Dim l_paramdic		'擖椡抣
		Dim l_listrst		'RecordSet
		Dim l_rsv			'RecordSet
		Dim l_listdic
		Dim l_detailDic		'堷摉徻嵶忣曬Dictionary
		Dim l_stcdic		'l_detailDic傪奿擺偡傞Dictionary
		Dim l_count
		Dim l_count2
		Dim l_num
		Dim l_reserve_num
		Dim l_deli_place
		Dim l_date 			'弌壸擔晅
		Dim l_leavecount	'儃乕僟乕
		Dim l_leav
		Dim l_decisionday	'妋掕擔
		Dim l_cancelday		'庢徚壜擻擔
		Dim l_logmes		'儘僌儊僢僙乕僕
		Dim l_conv_arr(3)	'儘僌儊僢僙乕僕僼僅乕儅僢僩暥帤

		'娙堈拲暥梡挔昜攝楍 (0)丗寢壥僼儔僌丂(1)丗挔昜巬斣丂(2)丗挔昜柤
		Dim l_listarray(8)	
		Set l_demcmn = New DemandCommon

		Set l_stcdic = CreateObject("Scripting.Dictionary")
		Set l_paramdic = CreateObject("Scripting.Dictionary")
		Set l_listdic = CreateObject("Scripting.Dictionary")
		Set l_rlm = New ReserveListMaster
		l_leav = l_demcmn.GetSectionKind(l_db,l_sysId,l_coId,Session("User").Item("SECTION_ID"))

		'尰僶乕僕儑儞偲師僶乕僕儑儞偺嵼屔堷偒摉偰
		For l_count2 = 1 to 2
			Set l_listrst = l_rlm.ReserveSerchList(l_db,l_sysid,l_coid,l_kind,l_listmanage_no,l_listcd,l_listeda,l_leav)
			'/挔昜偑懚嵼偟側偄応崌
			If l_listrst.Eof Then
				'尰僶乕僕儑儞偺応崌
				If l_count2 = 1 Then
					l_listarray(0) = "2"
					ReserveStock = l_listarray
					Exit Function
				'/師僶乕僕儑儞偺専嶕偺応崌
				ElseIf l_count2 = 2 And _
					l_kind = CLM_METHOD_NOMAL Then
				Response.Redirect "../demand/apology.asp?listcd=" & l_listdic.Item("list_cd") &_
											"&listeda=" & l_listdic.Item("list_eda") &_
											"&listname=" & l_chutil.StrEnDecode(l_listdic.Item("list_name"),4) &_
											"&quantity=" & l_quantity &_
											"&unitprice=" & l_listdic.Item("unit_price")
				ElseIf l_count2 = 2 And _
					l_kind = CLM_METHOD_KANI Then
					l_listarray(3) = "4"
					ReserveStock = l_listarray
					Exit Function
				End If
			'/惪媮悢偑儃乕僟乕傪墇偊偰偄傞応崌
			ElseIf l_listrst.Fields.Item("LEAV_DIRECTION") = "1" And _
				l_listrst.Fields.Item("LEAV_DIRECTION_COUNT") <> "" Then
					l_leavecount = l_listrst.Fields.Item("LEAV_DIRECTION_COUNT")
					l_leavecount = CDbl(l_leavecount)
					If CDbl(l_quantity) >= l_leavecount And _
						l_leavecount >= 0 Then
						l_listarray(0) = "3"
						ReserveStock = l_listarray
						Exit Function
					End If
			'/惪媮婜娫奜偺応崌
			ElseIf l_listrst.Fields.Item("CLAIM_PERIOD_FLAG") <> "1" And _
				IsNull(l_listrst.Fields.Item("CLAIM_PERIOD_START")) And _
				IsNull(l_listrst.Fields.Item("CLAIM_PERIOD_END")) Then
				l_listarray(0) = "2"
				ReserveStock = l_listarray
				Exit Function
			ElseIf Not IsNull(l_listrst.Fields.Item("CLAIM_PERIOD_START")) And _
				Not IsNull(l_listrst.Fields.Item("CLAIM_PERIOD_END")) Then
				If l_listrst.Fields.Item("CLAIM_PERIOD_START") > Date Or _
					l_listrst.Fields.Item("CLAIM_PERIOD_END") < Date Then
					l_listarray(0) = "2"
					ReserveStock = l_listarray
					Exit Function
				End If
			End If
			'Dictionary偺弶婜壔
			l_listdic.RemoveAll
			'/挔昜忣曬傪Dictionary偵捛壛
			For l_count = 0 to l_listrst.Fields.Count - 1
				l_listdic.add l_chutil.Asc_chk(l_listrst.Fields(l_count).Name,2),l_listrst.Fields(l_count).Value	
			Next
			'娙堈拲暥梡偵巬斣傪僙僢僩
			l_listeda = l_listdic.Item("list_eda")

			'憅屔偛偲偵嵼屔傪尒傞
			For l_count = 1 to 3
				l_num = "NUM" & CStr(l_count)
				l_reserve_num = "RESERVE_STOCK_NUM" & CStr(l_count)
				l_deli_place = "DELIVERY_PLACE" & CStr(l_count)

				'嵼屔悢偺嶼弌
				Set l_rsv = l_rlm.GetWearStock(l_db,l_sysId,l_coId,l_listcd,l_listeda,l_quantity,l_num,l_reserve_num,l_deli_place)
	
				'/嵼屔偑堷偒摉偰傜傟偨応崌
				If Not l_rsv.Eof Then
					'惪媮悢偑儃乕僟乕傪墇偊丄寈崘儊僢僙乕僕昞帵偺応崌
					If l_listrst.Fields.Item("LEAV_DIRECTION") = "0" And _
						Request.Form("warflg") = "" And _
						l_listrst.Fields.Item("LEAV_DIRECTION_COUNT") <> "" Then
						l_leavecount = l_listrst.Fields.Item("LEAV_DIRECTION_COUNT")
						l_leavecount = CDbl(l_leavecount)
						'儃乕僟乕挻偊丄捠忢惪媮
						If CDbl(l_quantity) >= l_leavecount And _
							l_kind = CLM_METHOD_NOMAL And _
							l_leavecount >= 0 Then
							Response.Redirect "../demand/warning.asp?listcd=" &_
											l_listdic.Item("list_cd") &_
											"&listeda=" & l_listdic.Item("list_eda") &_
											"&listname=" & l_chutil.StrEnDecode(l_listdic.Item("list_name"),4) &_
											"&quantity=" & l_quantity &_
											"&unitprice=" & l_listdic.Item("unit_price") &_
											"&listmanage=" & l_listdic.Item("list_manage_no")
						'儃乕僟乕挻偊丄娙堈惪媮
						ElseIf CDbl(l_quantity) >= l_leavecount And _
							l_kind = CLM_METHOD_KANI And _
							l_leavecount >= 0 Then
							l_listarray(0) = "4"
							l_listarray(1) = l_listdic.Item("list_eda")
							l_listarray(2) = l_listdic.Item("list_name")
							l_listarray(3) = l_listdic.Item("unit_price")
							l_listarray(4) = CLM_METHOD_KANI
							l_listarray(7) = l_listdic.Item("list_manage_no")
							ReserveStock = l_listarray 
							Exit Function
						End If
					End If
					'庢傝徚偟壜擻擔
					l_cancelday = l_cmn.GetCancelAbleDay(now,"1")
					'妋掕擔庢摼
					l_decisionday = l_cmn.GetDecisionDay(l_cancelday,1)
					'敪憲梊掕擔
					l_date = l_cmn.GetShipmentDay(l_db,l_rsv.Fields.Item("DELIVERY_PLACE"),l_decisionday,"1")
					Call l_rlm.UpDateStock(l_db,l_sysId,l_coId,l_reserve_num,l_rsv.Fields.Item("RESERVE_COUNT"),l_listcd,l_listeda)

					Set l_detailDic = SetOrderData(l_rsv,l_listdic,l_num,l_reserve_num,l_kind,l_quantity,l_date,l_cancelday,l_decisionday)
					'儘僌儊僢僙乕僕嶌惉
					l_conv_arr(0) = l_detailDic.Item("company_name")
					l_conv_arr(1) = l_listdic.Item("list_cd")
					l_conv_arr(2) = l_listdic.Item("list_eda")
					l_conv_arr(3) = l_quantity
					l_logmes = l_cmn.GetLogMessage(DEMAND_BASKET_LOG,l_conv_arr)

					'儘僌偺弌椡
					Call l_cmn.OutputLogFile(l_logmes)
					l_count = 0

					'婛偵僇僑偺拞偵擖偭偰偄傞応崌
					If IsObject(Session("StockDic")) Then
						
						Set l_stcdic = Session("StockDic")
						l_stcdic.add CStr(l_stcdic.Count+1),l_detailDic
						Set Session("StockDic") = l_stcdic
					Else
						l_stcdic.add CStr(l_count),l_detailDic
						Set Session("StockDic") = l_stcdic
					End If
					l_listarray(1) = l_listdic.Item("list_eda")
					l_listarray(2) = l_listdic.Item("list_name")
					l_listarray(3) = l_listdic.Item("unit_price")
					l_listarray(4) = CLM_METHOD_KANI
					l_listarray(0) = ""
					ReserveStock = l_listarray 
					'Exit For
					Exit Function
				'/慡偰偺憅屔傪傒偰嵼屔偑堷偒摉偰傜傟偢丄捠忢惪媮偺応崌
				ElseIf l_count = 3 And l_kind = CLM_METHOD_NOMAL Then
					If l_listdic.Item("arrival_wait") = "1" Then					
						Response.Redirect "../demand/apology.asp?wait=1&listcd=" &_
											l_listdic.Item("list_cd") &_
											"&listeda=" & l_listdic.Item("list_eda") &_
											"&listname=" & l_chutil.StrEnDecode(l_listdic.Item("list_name"),4) &_
											"&quantity=" & l_quantity &_
											"&unitprice=" & l_listdic.Item("unit_price") &_
											"&unit=" & l_chutil.StrEnDecode(l_listdic.Item("list_unit"),4) &_
											"&packingcount=" & l_listdic.Item("packing_count") &_
											"&listmanage=" & l_listdic.Item("list_manage_no")
					ElseIf l_count2 = 2 Then
						Response.Redirect "../demand/apology.asp?listcd=" & l_listdic.Item("list_cd") &_
											"&listeda=" & l_listdic.Item("list_eda") &_
											"&listname=" & l_chutil.StrEnDecode(l_listdic.Item("list_name"),4) &_
											"&quantity=" & l_quantity &_
											"&unitprice=" & l_listdic.Item("unit_price") &_
											"&listmanage=" & l_listdic.Item("list_manage_no")
					End If
				'/慡偰偺憅屔傪傒偰嵼屔偑堷偒摉偰傜傟偢丄娙堈惪媮偺応崌
				ElseIf l_count = 3 And l_kind = CLM_METHOD_KANI Then
					l_listarray(1) = l_listdic.Item("list_eda")
					l_listarray(2) = l_listdic.Item("list_name")
					l_listarray(3) = l_listdic.Item("unit_price")
					l_listarray(4) = CLM_METHOD_KANI
					l_listarray(5) = l_listdic.Item("list_unit")
					l_listarray(6) = l_listdic.Item("packing_count")
					l_listarray(7) = l_listdic.Item("list_manage_no")
					If l_listdic.Item("arrival_wait") = "1" Then
						l_listarray(0) = "1"
						ReserveStock = l_listarray
						Exit Function
					ElseIf l_count2 = 2 Then
						l_listarray(0) = "0"
						ReserveStock = l_listarray
						Exit Function
					End If
				End If
			Next
			l_listeda = CInt(l_listeda) + 1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -