<!-- #include file="../../../include.asp" -->

<%
'<!--
'###############################################################################
'	名称	:入金伝票データ登録
'	作成日:2002/7/22
'	作成者:川崎 三佳
'	目的	:・入金伝票を登録する。
'			・入金のチェック。
'	概要 :
'	1.データの引継ぎ
'	2.ストアドプロシージャーの引数の作成
'	3.ストアドプロシージャー実行
'	変更履歴
'	2006/11/29 一覧表示に戻る時スクロールしないようにする
'###############################################################################
'-->
'
%>

<%
main()

Sub main()

Call Application.Lock() '多くの挿入処理が発生するためロックする


	Dim DenpyoNo, Torihikibi, DenpyoTekiyo, OldDenpyoNo
	Dim KashikataGokei, KarikataGokei

	Dim QueryStr

	Dim ShowDel
	ShowDel = Request("ShowDel")
	QueryStr = QueryStr & "&ShowDel=" & ShowDel

	Dim TmpKanjyoCD(10)		'画面引継ぎ:勘定CD
	Dim TmpKingaku(10)		'画面引継ぎ:金額
	Dim TmpTekiyoCD(10)		'画面引継ぎ:摘要CD
	Dim TmpTekiyo(10)		'画面引継ぎ:摘要


	Dim DenpyoSEQ(10)		'伝票SEQ
	Dim KanjyoCD(10)		'勘定CD
	Dim Kingaku1(10)		'借方金額
	Dim Kingaku2(10)		'貸方金額
	Dim TekiyoCD(10)		'摘要CD
	Dim Tekiyo(10)			'摘要
	Dim AiteKanjyo(10)		'相手勘定
	Dim TaisyakuKubun(10)	'貸借区分 2002/8/23 追加 川崎 貸:"D" 、借:"C"
	Dim PageType				'ページタイプ

	Dim WK_KARI_CNT, WK_KARI_AC
	Dim WK_KASI_CNT, WK_KASI_AC
	Dim Query, w_TekiyoCD, w_Tekiyo, w_AiteKanjyo, ii, jj, KK

	Dim BinType
'###############################################	 1.データの引継ぎ

	BinType = Request("BinType")				'更新区別
	DenpyoNo = Request("DenpyoNo")				'伝票番号
	OldDenpyoNo = Request("OldDenpyoNo")				'伝票番号
	Torihikibi = Request("Torihikibi")			'取引日
	DenpyoTekiyo = Request("DenpyoTekiyo")		'伝票摘要
	KashikataGokei = Request("KashikataGokei")	'借方合計金額
	KarikataGokei = Request("KarikataGokei")	'借方合計金額
	PageType = Request("PageType")				'ページタイプ
	QueryStr = QueryStr & "&BinType=" & BinType
	QueryStr = QueryStr & "&DenpyoNo=" & DenpyoNo
	QueryStr = QueryStr & "&OldDenpyoNo=" & OldDenpyoNo
	QueryStr = QueryStr & "&Torihikibi=" & Torihikibi
	QueryStr = QueryStr & "&DenpyoTekiyo=" & DenpyoTekiyo
	QueryStr = QueryStr & "&KashikataGokei=" & KashikataGokei
	QueryStr = QueryStr & "&KarikataGokei=" & KarikataGokei
	QueryStr = QueryStr & "&PageType=" & PageType

	For ii = 1 To 10
		TmpKanjyoCD(ii) = Request("KanjyoCD" & CStr(ii))					'勘定科目CD
		TmpKingaku(ii) = ConvMoneyToInt(Request("Kingaku" & CStr(ii)))		'金額
		TmpTekiyoCD(ii) = Request("TekiyoCD" & CStr(ii))					'摘要コード
		TmpTekiyo(ii) = Request("Tekiyo" & CStr(ii))
		QueryStr = QueryStr & "&KanjyoCD" & ii & "=" & TmpKanjyoCD(ii)
		QueryStr = QueryStr & "&Kingaku" & ii & "=" & TmpKingaku(ii)
		QueryStr = QueryStr & "&TekiyoCD" & ii & "=" & TmpTekiyoCD(ii)
		QueryStr = QueryStr & "&Tekiyo" & ii & "=" & TmpTekiyo(ii)
	Next

	Dim GenkinKanjyoCD, SyokuchiKanjyoCD
	Dim JidoBangoDenpyo
	JidoBangoDenpyo = GetEnshuParam(EnshuCD, "自動番号伝票")
	Dim Content
	If GB_Gyosyu <> "B" Then
		Query = "exec SPM勘定科目取得特別勘定 '" & GB_SystemCD & "','" & EnshuCD & "', 'DA'"
		Set Content = OpenQuery(Query)
		Do While Not(Content.BOF Or Content.EOF)
			GenkinKanjyoCD = Content.Fields("勘定CD")
			Content.MoveNext
		Loop

		Query = "exec SPM勘定科目取得特別勘定 '" & GB_SystemCD & "','" & EnshuCD & "', 'DZ'"
		Set Content = OpenQuery(Query)
		Do While Not(Content.BOF Or Content.EOF)
			SyokuchiKanjyoCD = Content.Fields("勘定CD")
			Content.MoveNext
		Loop
	Else
		Query = "exec SPM勘定科目取得特別勘定 '" & GB_SystemCD & "','" & EnshuCD & "', 'DT'"
		Set Content = OpenQuery(Query)
		Do While Not(Content.BOF Or Content.EOF)
			GenkinKanjyoCD = Content.Fields("勘定CD")
			Content.MoveNext
		Loop

		Query = "exec SPM勘定科目取得特別勘定 '" & GB_SystemCD & "','" & EnshuCD & "', 'DU'"
		Set Content = OpenQuery(Query)
		Do While Not(Content.BOF Or Content.EOF)
			SyokuchiKanjyoCD = Content.Fields("勘定CD")
			Content.MoveNext
		Loop
	End If



'###############################################	 2.ストアドプロシージャーの引数の作成

	If BinType = "Del" Then
		Query = "exec SPK伝票_削除 '" & GB_SystemCD & "',"
		Query = Query & "'" & EnshuCD & "'"		'演習CD
		Query = Query & ",'" & KaisyaCD & "'"	'会社CD
		If PageType = "Nyukin" Then
			Query = Query & ",'D1'"					'伝票区分 		1:入金伝票 
		Else
			Query = Query & ",'D2'"					'伝票区分 		 2:出金伝票
		End If
		Query = Query & ",'" & DenpyoNo & "'"
		Set Content = OpenQuery(Query)


		Query = "exec SPM記帳チェック挿入伝票 '" & GB_SystemCD & "',"
		Query = Query & " '" & EnshuCD & "'"
		Query = Query & ",'" & KaisyaCD & "'"
		Set Content = OpenQuery(Query)

Call Application.Unlock()

		Response.Redirect("fk_nyukinsyukin_ichiran.asp?DenpyoNo=" & DenpyoNo & "&PageType=" & PageType & "&ShowDel=" & ShowDel)

	Else
	
		Dim AddMode 
		AddMode = 0
		If DenpyoNo = "" Or OldDenpyoNo = "" Then
			AddMode = 1
		End If

		If JidoBangoDenpyo = "1" then
			DenpyoNo = ""
		End If

		If AddMode = 1 Then
			If PageType = "Nyukin" Then
				Query = "exec SPK伝票_入金伝票取得 '" & GB_SystemCD & "','"
			Else
				Query = "exec SPK伝票_出金伝票取得 '" & GB_SystemCD & "','"
			End If
			'重複チェックは全伝票通しで行う
			Query = "exec SPK伝票_伝票取得全区分 '" & GB_SystemCD & "','"
			Query = Query & EnshuCD & "','" & KaisyaCD & "', '" & DenpyoNo & "'"
			Set Content = OpenQuery(Query)
			If Not(Content.BOF Or Content.EOF) Then
				Call Application.Unlock()
'				Response.Write("この伝票番号は存在しています。")
'				Response.Write("<a href=""JavaScript:history.go(-1)"">戻る</a>" & vbCrLf)
				Response.Write(SubmitHystoryBack(Replace(Request.ServerVariables("SCRIPT_NAME"), "_bin", "") & "?ErrorFlg=伝票番号が重複しています " & QueryStr))
				Exit Sub
			End If
		End If


		'実行プロシージャーの特定 
		If AddMode = 1 Then			'追加モード
			If PageType = "Nyukin" Then
				Query = "exec SPK伝票_入金伝票挿入 '" & GB_SystemCD & "',"
			Else
				Query = "exec SPK伝票_出金伝票挿入 '" & GB_SystemCD & "',"
			End If
		Else							'更新モード
			If PageType = "Nyukin" Then
				Query = "exec SPK伝票_入金伝票更新 '" & GB_SystemCD & "',"
			Else
				Query = "exec SPK伝票_出金伝票更新 '" & GB_SystemCD & "',"
			End If
		End If

		Query = Query & " '" & EnshuCD & "'"		'演習CD
		Query = Query & ",'" & KaisyaCD & "'"	'会社CD
		If PageType = "Nyukin" Then
			Query = Query & ",'D1'"					'伝票区分 		1:入金伝票 
		Else
			Query = Query & ",'D2'"					'伝票区分 		 2:出金伝票
		End If

		Query = Query & ",'" & DenpyoNo & "'"
		If AddMode = 1 Then			'追加モード
		Else
			Query = Query & ",'" & OldDenpyoNo & "'"
		End If

		Query = Query & ",'" & Torihikibi & "'"	'取引日

		If DenpyoTekiyo	= "" Then					'伝票摘要
			Query = Query & ",null"
		Else
			Query = Query & ",'" & DenpyoTekiyo	& "'"
		End If


		Query = Query & ",1"						'伝票処理区分	1:通常伝票

		If Session(HomeAlias & "EnshuKubun") = "P" AND GB_JisyaFlag = "0" Then
			Query = Query & ",''"
		Else
			Query = Query & ",'" & GakuseiNo & "'"
		End If	'学生番号


	'////// 貸方現金勘定作成

		DenpyoSEQ(1) = 1
		KanjyoCD(1)	= GenkinKanjyoCD
		Kingaku1(1)		= 0
		Kingaku2(1)		= 0
		If PageType = "Nyukin" Then
			For ii = 1 To 5
				If Not(IsNull(TmpKingaku(ii))) AND TmpKingaku(ii) <> "" Then
					Kingaku1(1) = Kingaku1(1) + TmpKingaku(ii)
				End If
			Next
		Else
			For ii = 1 To 5
				If Not(IsNull(TmpKingaku(ii))) AND TmpKingaku(ii) <> "" Then
					Kingaku2(1) = Kingaku2(1) + TmpKingaku(ii)
				End If
			Next
		End If

		Tekiyo(1)		= Null
		TekiyoCD(1)		= Null
		If TmpKanjyoCD(2) <> "" Then
			AiteKanjyo(1) = SyokuchiKanjyoCD
		Else
			AiteKanjyo(1) = TmpKanjyoCD(1)
		End If

		If PageType = "Nyukin" Then
			TaisyakuKubun(1) = "D"
		Else
			TaisyakuKubun(1) = "C"
		End If

	'////// 借方現金勘定作成(画面入力部分)
		 jj = 1
		 For ii = 1 To 5

			 If TmpKanjyoCD(ii) <> "" Then
					jj		=	ii + 1
				DenpyoSEQ(jj) = ii + 1
				KanjyoCD(jj) = TmpKanjyoCD(ii)
				AiteKanjyo(jj)	= GenkinKanjyoCD
				Kingaku1(jj) = 0
				Kingaku2(jj) = 0
				If PageType = "Nyukin" Then
					Kingaku2(jj) = TmpKingaku(ii)
						TaisyakuKubun(jj) = "C"
				Else
					Kingaku1(jj) = TmpKingaku(ii)
						TaisyakuKubun(jj) = "D"
				End If
				TekiyoCD(jj) = TmpTekiyoCD(ii)
				Tekiyo(jj) = TmpTekiyo(ii)
			End If

		Next

		For ii = 1 To 6
			 If KanjyoCD(ii) = "" Then
				Query = Query & ",null,null,null,null,null,null,null,null"
			 Else
				If TekiyoCD(ii) = "" Then						'摘要CD
				 w_TekiyoCD = "null"
				Else
				 w_TekiyoCD = "'" & TekiyoCD(ii) & "'"
				End If
				If Tekiyo(ii) = "" Then						'摘要
				 w_Tekiyo = "null"
				Else
				w_Tekiyo = "'" & Tekiyo(ii) & "'"
				End If
				If AiteKanjyo(ii) = "" Then					'相手勘定
				 w_AiteKanjyo = "null"
				Else
				w_AiteKanjyo = "'" & AiteKanjyo(ii) & "'"
				End If

				Query = Query & "," & DenpyoSEQ(ii) & ",'" & KanjyoCD(ii) & "'," & Kingaku1(ii) & "," & Kingaku2(ii) & ",'" & TaisyakuKubun(ii) & "'"
				Query = Query & "," & w_TekiyoCD & "," & w_Tekiyo & "," & w_AiteKanjyo
			 End If
		Next

	End If

'###############################################	 3.ストアドプロシージャー実行

Response.write(Query)
	Set Content = OpenQuery(Query)



	While Not Content Is Nothing
		If Content.Fields.Count > 0 Then
			DenpyoNo = Content.Fields(0)
		End If
		Set Content = Content.NextRecordset
	Wend


	Query = "exec SPM記帳チェック挿入伝票 '" & GB_SystemCD & "',"
	Query = Query & " '" & EnshuCD & "'"
	Query = Query & ",'" & KaisyaCD & "'"
	Set Content = OpenQuery(Query)


Call Application.Unlock()

'###############################################	 4.更新データをビューで表示
	Response.Redirect("fk_nyukinsyukin_view.asp?PageType=" & PageType & "&DenpyoNo=" & DenpyoNo & "&ShowDel=" & ShowDel)

End Sub
%>