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

📄 ckinitordermain.asp

📁 印刷物の発注、在庫管理、出庫処理を一元管理
💻 ASP
字号:
<%
'/*********************************************
'/帒椏惪媮嵟怴挔昜堦棗偺僥乕僽儖傾僋僙僗僋儔僗
'/*********************************************
Class CkInitOrderMain
	
	Dim l_db	'DBAccess DB傾僋僙僗梡
	Dim l_sysId	'僔僗僥儉ID(String)
	Dim l_coId	'夛幮ID(String)
	Dim l_dlb	'DemListBaseMaster
	Dim l_common
	Dim l_cutil
	Dim l_ChkUtil 
	
	'/********************************************
	'/* 弶婜張棟
	'/********************************************
	Public Function Init()
		Dim l_dbinfo 'String

		'DB僐僱僋僔儑儞庢摼
		Set l_db = New DbAccess
		Set l_cutil = New CharUtil
		Set l_common = New Common
		Set l_dlb = New DemListBaseMaster
		Set l_ChkUtil = New CheckUtil

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

		'僙僢僔儑儞傛傝儐乕僓乕忣曬庢摼
		l_sysId = Session("User").Item("SYSTEM_ID")	'僔僗僥儉ID
		l_coId = Session("User").Item("COMPANY_ID")	'夛幮ID

	End Function

	'/********************************************
	'/* 攝憲僐乕僪庢摼
	'/********************************************
	Public Function GetID(l_inCd)

		Dim l_rs  	'ADODB.Recordset
		Dim l_retList
		Dim l_retRec

		Set l_retList = CreateObject("Scripting.Dictionary")

		'DB傛傝堦棗傪庢摼偡傞
		Set l_rs = l_dlb.SearchInitOrder(l_db,l_inCd)

		'l_cnt = 0
		'Do Until l_rs.eof
		'Set l_retRec = EditRec(l_rs)
		'	l_rs.MoveNext
		'Loop

		Set GetID = EditRec(l_rs)

	End Function

	'/********************************************
	'/* 攝憲僐乕僪庢摼
	'/* param丗l_inQuant	悢検
	'/*        l_upFile		僼傽僀儖柤
	'/*        l_turn		斣崋
	'/*        l_unit		扨壙
	'/********************************************
	Public Function CheckID(l_inQuant,l_upFile,l_turn,l_listdic)

		Dim l_FDataArray	'憲晅愭丄悢検攝楍
		Dim l_sysobj		'Scripting.FileSystemObject
		Dim l_opentxt		'僼傽僀儖
		Dim l_quantity
		Dim l_quantitydic
		Dim l_count
		Dim l_dic
		Dim l_adddetaildic
		Dim l_adddic
		Dim l_rset
		Dim l_errarray(1)
		Dim l_unit
		Dim l_leavecount
		Dim l_baspobj

		l_unit = l_listdic.Item("unit_price")
		Set l_sysobj = Server.CreateObject("Scripting.FileSystemObject")
		Set l_opentxt = l_sysobj.OpenTextFile(l_upFile,1,False)
		Set l_dic = CreateObject("Scripting.Dictionary")
		Set l_adddic = CreateObject("Scripting.Dictionary")
		Set l_quantitydic = CreateObject("Scripting.Dictionary")
		Set l_baspobj = Server.CreateObject("basp21")

		l_count = 0
		Do Until l_opentxt.AtEndofStream
			l_FDataArray = Split(l_opentxt.ReadLine,",")
			'夵峴僠僃僢僋
			If UBound(l_FDataArray) > 0 Then
			If UBound(l_FDataArray) <> 1 Then
				l_errarray(0) = "斣崋丗" & CStr(l_turn + 1) &_
								"丂僼傽僀儖丗" & CStr(l_count + 1) & _
								"楍栚丂" & IG11062E
				Session("ErrMsg") = l_errarray
				Response.Redirect "init_order.asp"
			End If

			'------昁恵僠僃僢僋丄悢抣僠僃僢僋丄攝憲愭僐乕僪塸悢僠僃僢僋
			'攝憲愭僐乕僪塸悢僠僃僢僋 20051026丂
			If l_FDataArray(0) = "" Then
				'攝憲愭傪擖椡偟偰偔偩偝偄		
				l_errarray(0) = "斣崋丗" & CStr(l_turn + 1) &_
								"丂僼傽僀儖丗" & CStr(l_count + 1) & _
								"楍栚丂" & IG06022E
				Session("ErrMsg") = l_errarray
				Response.Redirect "init_order.asp"
			Else
				'攝憲愭僐乕僪偼敿妏塸悢帤偱偡
				If Not l_ChkUtil.IsNumericAlpha(l_FDataArray(0)) Then
					l_errarray(0) = "斣崋丗" & CStr(l_turn + 1) &_
									"丂僼傽僀儖丗" & CStr(l_count + 1) & _
									"楍栚丂" & IG06024E
					Session("ErrMsg") = l_errarray
					Response.Redirect "init_order.asp"
				End If
			End If

			'悢検偺僠僃僢僋丄庢摼丂20051026丂
			If l_FDataArray(1)  = "" Then
				'悢検傪擖椡偟偰偔偩偝偄		
				l_errarray(0) = "斣崋丗" & CStr(l_turn + 1) &_
								"丂僼傽僀儖丗" & CStr(l_count + 1) & _
								"楍栚丂" & IG11003E
				Session("ErrMsg") = l_errarray
				Response.Redirect "init_order.asp"
			ElseIf l_FDataArray(1)  = "0" Then
				'悢検偑0偱偡		
				l_errarray(0) = "斣崋丗" & CStr(l_turn + 1) &_
								"丂僼傽僀儖丗" & CStr(l_count + 1) & _
								"楍栚丂" & IG11070E
				Session("ErrMsg") = l_errarray
				Response.Redirect "init_order.asp"
			Else
				'悢検偼敿妏悢帤偱偡
				If l_ChkUtil.number_chk(l_baspobj,l_FDataArray(1)) = 0 Then
					l_errarray(0) = "斣崋丗" & CStr(l_turn + 1) &_
									"丂僼傽僀儖丗" & CStr(l_count + 1) & _
									"楍栚丂" & IG11002E
					Session("ErrMsg") = l_errarray
					Response.Redirect "init_order.asp"
				End If
			End If

			'惪媮尃尷僠僃僢僋
			If l_listdic.Item("open_auth_leav") = "4" Then
				l_errarray(0) = "斣崋丗" & CStr(l_turn + 1) &_
									"丂" & IG11099E
				Session("ErrMsg") = l_errarray
				Response.Redirect "init_order.asp"
				
			End If

		'/惪媮婜娫奜偺応崌 2005/12/14捛壛
		If l_listdic.Item("claim_period_flag") <> "1" Then
			If Not IsNull(l_listdic.Item("claim_period_start")) And _
				Not IsNull(l_listdic.Item("claim_period_end")) Then
				If l_listdic.Item("claim_period_start") > Date Or _
					l_listdic.Item("claim_period_end") < Date Then
						l_errarray(0) = "斣崋丗" & CStr(l_turn + 1) &_
								"丂" & IG11100E
						Session("ErrMsg") = l_errarray
						Response.Redirect "init_order.asp"
				End If
			End If
					
		ElseIf Not IsNull(l_listdic.Item("claim_period_end")) Then
			If l_listdic.Item("claim_period_end") < Date Then
						l_errarray(0) = "斣崋丗" & CStr(l_turn + 1) &_
									"丂" & IG11100E
						Session("ErrMsg") = l_errarray
						Response.Redirect "init_order.asp"
			End If
		End If

			'惪媮悢儃乕僟乕儔僀儞僠僃僢僋
			If l_listdic.Item("leav_direction") <> "" And _
				l_listdic.Item("leav_direction_count") <> "" Then
				l_leavecount = l_listdic.Item("leav_direction_count")
				l_leavecount = CDbl(l_leavecount)
				If CDbl(l_FDataArray(1)) >= l_leavecount And _
					l_leavecount >= 0 Then
					l_errarray(0) = "斣崋丗" & CStr(l_turn + 1) &_
									"丂僼傽僀儖丗" & CStr(l_count + 1) & _
									"楍栚丂" & IG04002W
					Session("ErrMsg") = l_errarray
					Response.Redirect "init_order.asp"
				End If
			End If
			l_quantity = CDbl(l_quantity) + CDbl(l_FDataArray(1))
			l_quantitydic.add CStr(l_count),l_FDataArray(1)
			l_dic.add CStr(l_count),l_FDataArray(0)
			End If
			l_count = l_count + 1
		Loop

		'憤悢僠僃僢僋
		If l_quantity <> CDbl(l_inQuant) Then
			l_errarray(0) = "斣崋丗" & CStr(l_turn + 1) & "丂" & IG04006E
			Session("ErrMsg") = l_errarray
			Response.Redirect "init_order.asp"
		End If

		'攝憲愭偺僠僃僢僋丄庢摼
		For l_count = 0 to l_dic.Count - 1
			Set l_rset = l_dlb.SearchReceive(l_db,l_dic.Item(CStr(l_count)))
			If l_rset.Fields.Item("COUNT") <> 0 Then
				Set l_adddetaildic = GetID(l_dic.Item(CStr(l_count)))
				l_adddetaildic.add "quantity",l_quantitydic.Item(CStr(l_count))
				l_adddetaildic.add "ordercd",l_dic.Item(CStr(l_count))
				l_adddetaildic.add "subtotal",CDbl(l_quantitydic.Item(CStr(l_count))) * CDbl(l_unit)
				l_adddic.add CStr(l_count),l_adddetaildic
			Else
				l_errarray(0) = "斣崋丗" & CStr(l_turn + 1) &_
								"丂僼傽僀儖丗" & CStr(l_count + 1) & _
								"楍栚丂" & IG04007E
				Session("ErrMsg") = l_errarray
				Response.Redirect "init_order.asp"
			End If
		Next

		l_opentxt.Close
		Set l_opentxt = Nothing
		Set l_sysobj = Nothing
		Set CheckID = l_adddic

	End Function

	'/********************************************
	'/* 嵼屔堷摉
	'/********************************************
	Public Function Stockorder(l_inListCd,l_inListEda,l_inQuant,l_listdic,l_addressdic,l_orderno,l_seq)
		Dim l_dr
		Dim l_num
		Dim l_reserve_num
		Dim l_deli_place
		Dim l_rset
		Dim l_of
		Dim l_rlm
		Dim inCompId		'幮撪夛幮ID
		Dim l_dmcmn

		Set l_dr = New DemandReserve
		Set l_of = New OrderFinish
		Set l_rlm = New ReserveListMaster
		Set l_dmcmn = New DemandCommon

		'幮撪夛幮ID庢摼
		inCompId = l_common.GetCustomerCompIdRec(l_db,l_sysid)

		Stockorder = true
		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_rset = l_rlm.GetWearStock(l_db,l_sysId,inCompId,l_inListCd,l_inListEda,l_inQuant,l_num,l_reserve_num,l_deli_place)

			If Not l_rset.eof Then
				'攦偄暔偐偛僥乕僽儖INSERT
					'Call l_db.ProcBeginTrans
					If l_common.InsertWorkDataClaim(l_db,_
													Session.SessionID,_
													l_seq,_
													l_rset.Fields.Item("DELIVERY_PLACE"),_
													l_inListCd,_
													l_inListEda,_
													l_inQuant) Then
						'Call l_db.ProcCommit
					Else
						'Call l_db.ProcRollBack
						Stockorder = false
						Exit Function
					End If

				'嵼屔堷偒摉偰傾僢僾僨乕僩
				Call l_rlm.UpDateStock(l_db,l_sysId,inCompId,l_reserve_num,l_rset.Fields.Item("RESERVE_COUNT"),l_inListCd,l_inListEda)
				'堦惸攝晍
  				If Not l_of.GetOrderInit(l_db,l_common,l_sysId,l_coId,l_orderno,l_listdic,l_addressdic,l_rset.Fields.Item("DELIVERY_PLACE"),Request.Cookies("Comp")("Time")) Then
					Stockorder = false
				End If
  				Exit For
			End If
		Next

	End Function

	'/********************************************
	'/* 嵼屔悢僠僃僢僋
	'/* param丗l_inListCd	挔昜僐乕僪
	'/*        l_inListEda	挔昜巬斣
	'/*        l_inQuant	悢検
	'/*        l_seq		攝楍梫慺
	'/* return丗丂1:嵼屔堷偒摉偰晄壜
	'/*           2:敪憲梊掕擔庢摼晄壜
	'/*           0:惓忢
	'/********************************************
	Public Function SearchStock(l_inListCd,l_inListEda,l_inQuant,l_seq)
		Dim l_num
		Dim l_reserve_num
		Dim l_deli_place
		Dim l_rset
		Dim inCompId		'幮撪夛幮ID
		Dim l_dmcmn
		Dim l_chk_canceldate
		Dim l_chk_decisionday

		Set l_dmcmn = New DemandCommon

		'幮撪夛幮ID庢摼
		inCompId = l_common.GetCustomerCompIdRec(l_db,l_sysid)
		SearchStock = true
		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_rset = l_rlm.GetWearStock(l_db,l_sysId,inCompId,l_inListCd,l_inListEda,l_inQuant,l_num,l_reserve_num,l_deli_place)
			If l_rset.eof Then
				SearchStock = "1"
			Else
				'庢傝徚偟壜擻擔
				l_chk_canceldate = l_common.GetCancelAbleDay(Session("BasketTime"),2)
				'妋掕擔庢摼
				l_chk_decisionday = l_common.GetDecisionDay(l_chk_canceldate,2)
				'敪憲梊掕擔庢摼僠僃僢僋
				If l_common.GetShipmentDay(l_db,l_rset.Fields.Item("DELIVERY_PLACE"),l_chk_decisionday,2) = "" Then
					SearchStock = "2"
					Exit Function
				Else
					SearchStock = "0"

					'攦偄暔偐偛僥乕僽儖INSERT
					Call l_db.ProcBeginTrans
					If l_common.InsertWorkDataClaim(l_db,_
													Session.SessionID,_
													l_seq,_
													l_rset.Fields.Item("DELIVERY_PLACE"),_
													l_inListCd,_
													l_inListEda,_
													l_inQuant) Then
						Call l_db.ProcCommit
					Else
						Call l_db.ProcRollBack
						SearchStock = "1"
						Exit Function
					End If

					Exit Function
				End If
			End If
		Next

	End Function

	'/********************************************
	'/* 儗僐乕僪傪曇廤偡傞
	'/* param丗ADODB.Recordset 挔昜忣曬儗僐乕僪
	'/* return丗DemandMdl 曇廤寢壥
	'/********************************************
	Public Function EditRec(l_rs)
		Dim l_rec
		'Set l_rec = New DemandMdl
		Dim l_index
		
		Set l_rec = CreateObject("Scripting.Dictionary")
		Do Until l_rs.eof
			For l_index = 0 to l_rs.Fields.Count -1
				l_rec.add l_com.l_cutil.Asc_chk(l_rs.Fields(l_index).Name,2),l_rs.Fields(l_index).Value

			Next
			l_rs.MoveNext
		Loop

		Set EditRec = l_rec
	End Function
End Class

'/******************************************************
'/僨乕僞曐帩梡僋儔僗
'/(侾儗僐乕僪偺撪梕傪曐帩偡傞偨傔偺僋儔僗)
'/******************************************************
Class DemandMdl
	Dim l_DemsysId		'僔僗僥儉ID
	Dim l_DemreceiveId	'攝憲愭ID
	Dim l_DemcompId		'夛幮ID
	Dim l_DemsecId		'晹栧ID
	Dim l_DemsecName	'晹栧柤
	Dim l_DemsecNamek	'晹栧柤乮僇僫乯
	Dim l_DemcompName	'夛幮柤
	Dim l_DemcompNamek	'夛幮柤乮僇僫乯
	Dim l_Demclass		'嬫暘
	Dim l_DempostCd		'梄曋斣崋
	Dim l_Demprefect	'搒摴晎導
	Dim l_Demtown		'巗嬫孲挰懞
	Dim l_DemhouseNum	'斣抧
	Dim l_Dembuilding	'價儖柤
	Dim l_Demperson		'扴摉幰
	Dim l_Demtel		'tel
	Dim l_Demextention	'撪慄
	Dim l_Demfax		'Fax
	Dim l_Demmail		'儊乕儖傾僪儗僗
	Dim l_DemregYmd		'搊榐擔
	Dim l_DemupdateYmd	'峏怴擔
	Dim l_Demdelflg		'嶍彍僼儔僌
End Class
%>

⌨️ 快捷键说明

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