📄 ckinitordermain.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 + -