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

<%
'<!--
'################################################
' 名称	:帳簿_仕訳帳
' 作成日:2007/7/3
' 作成者:小野
' 目的	:仕訳帳を更新する。
' 概要	:
'################################################
'-->
'
'
%>

<%
main()

Sub main()
	If Not(SessionCheck()) Then
		Exit Sub
	End If

	Dim Query
	Dim Content
	Dim Content2


	Dim RouteType
	RouteType = Request("RouteType")

	Dim SyoriKubun
	SyoriKubun = Request("SyoriKubun")

	Dim Url 
	Url = Request.ServerVariables("URL")

	Dim bCheck
	bCheck = 0
	Dim db
	Set db = InitQuery()
		
	Dim ii

	Dim SendValue, TmpValue1, TmpValue2 
	SendValue = Request("SendValue")

'Response.Write(SendValue & vbCrLf)
'Exit Sub

	TmpValue1 = split(SendValue, ";")

	Dim Torihikibi
	Torihikibi = Request("Torihikibi")
	If Torihikibi = "" Then
		Torihikibi = "null"
	Else
		Torihikibi = "'" & Torihikibi & "'"
	End If

	Dim DenpyoNo
	DenpyoNo = Request("DenpyoNo")

	Dim TorihikisakiCD
	TorihikisakiCD = Request("TorihikisakiCD")

	Dim Tekiyo
	Tekiyo = Request("Tekiyo")


	If PackageMode = 1 Then
		'サイバー会計の仕訳帳は振替伝票扱い
		'テンポラリをクリアする
		Query = "exec SPK帳簿_仕訳帳挿入_振替伝票削除 '" & GB_SystemCD & "', '" & EnshuCD & "', '" & KaisyaCD & "'"
		Query = Query & ", 'D5'"	'振替伝票
		Query = Query & ", '" & DenpyoNo & "'"
		Set Content = OpenQuery(Query)
		If DenpyoNo = "" Then
			'伝票番号採番
			Query = "exec SP0伝票採番取得 '" & GB_SystemCD & "', '" & EnshuCD & "', '" & KaisyaCD & "', " & Torihikibi & ", 'D5'"
 			Set Content = OpenQuery(Query)
			If Not(Content.BOF Or Content.EOF) Then
				DenpyoNo = Content.Fields(0)
			End If
		End If
	ElseIf DenpyoNo = "" Then
		'手入力で伝票番号未入力の場合は採番する
		DenpyoNo = Replace(Request("Torihikibi"), "/", "")
		Dim TmpDenpyoNo
		TmpDenpyoNo = 0
		Query = "exec SPK帳簿_仕訳帳伝票番号一覧 '" & GB_SystemCD & "','" & EnshuCD & "', '" & KaisyaCD & "'"
		Set Content = OpenQuery(Query)
		Do While Not(Content.BOF Or Content.EOF)
			If Left("" & Content.Fields("伝票番号"), 8) = DenpyoNo And Len("" & Content.Fields("伝票番号")) > 9 Then
				Dim TmpNo
				TmpNo = Right("" & Content.Fields("伝票番号"), 1)
				If IsNumeric(TmpNo) Then
					If CInt(TmpNo) > TmpDenpyoNo Then
						TmpDenpyoNo = CInt(TmpNo)
					End If
				End If
			End If
			Content.MoveNext
		Loop
		DenpyoNo = DenpyoNo & "-" & (TmpDenpyoNo + 1)
	End If


	'相手勘定カウント変数
	Dim WK_KARI_CNT, WK_KARI_AC
	Dim WK_KASI_CNT, WK_KASI_AC
	WK_KARI_CNT = 0
	WK_KASI_CNT = 0
	Dim TmpKariKanjoCD
	Dim TmpKashiKanjoCD
	Dim SyokuchiKanjoCD
	'相手勘定が諸口か否かの判定(サイバー会計)
	If PackageMode = 1 Then
		Query = "exec SPM勘定科目取得特別勘定 '" & GB_SystemCD & "','" & EnshuCD & "', 'DZ'"
		Set Content = OpenQuery(Query)
		If Not(Content.BOF Or Content.EOF) Then
			SyokuchiKanjoCD = Content.Fields("勘定CD")
		End If
		For ii = 0 To UBound(TmpValue1) - 1
			TmpValue2 = split(TmpValue1(ii), ",")
			If TmpValue2(2) <> "" And TmpValue2(2) <> "0" Then
				TmpKariKanjoCD = TmpValue2(0)
				WK_KARI_CNT = WK_KARI_CNT + 1
			ElseIf TmpValue2(3) <> "" And TmpValue2(3) <> "0" Then
				TmpKashiKanjoCD = TmpValue2(0)
				WK_KASI_CNT = WK_KASI_CNT + 1
			End If
		Next
		'2件以上なら諸口にする
		If WK_KARI_CNT > 1 Then
			TmpKariKanjoCD = SyokuchiKanjoCD
		End If
		'2件以上なら諸口にする
		If WK_KASI_CNT > 1 Then
			TmpKashiKanjoCD = SyokuchiKanjoCD
		End If
	End If



	For ii = 0 To UBound(TmpValue1) - 1

		TmpValue2 = split(TmpValue1(ii), ",")

		'半角カンマ・セミコロンを代替文字から元に戻す処理(070201小野)
		Dim iii
		For iii = 0 To UBound(TmpValue2) - 1
			TmpValue2(iii) = Replace(TmpValue2(iii), "CommammoC", ",")
			TmpValue2(iii) = Replace(TmpValue2(iii), "SemicolonolocimeS", ";")
		Next
		'半角カンマ・セミコロンを代替文字から元に戻す処理(070201小野)

		Dim KanjyoCD, KashikataKingaku, KarikataKingaku
		KanjyoCD = TmpValue2(0)
		KarikataKingaku = TmpValue2(2)
		KashikataKingaku = TmpValue2(3)

		If KarikataKingaku = "" Or KarikataKingaku = "0" Then
			KarikataKingaku = "null"
		End If

		If KashikataKingaku = "" Or KashikataKingaku = "0" Then
			KashikataKingaku = "null"
		End If

		If PackageMode = 1 Then
			'サイバー会計の仕訳帳は振替伝票扱い
			Query = "exec SPK帳簿_仕訳帳挿入_振替伝票 '" & GB_SystemCD & "', '" & EnshuCD & "', '" & KaisyaCD & "'"
			Query = Query & ", 'D5'"	'振替伝票
			Query = Query & ", '" & DenpyoNo & "'"
			Query = Query & ", " & Torihikibi
			Query = Query & ", '" & TorihikisakiCD & "'"
			Query = Query & ", '" & KanjyoCD & "'"
			If KarikataKingaku = "null" Then
				Query = Query & ", '" & TmpKariKanjoCD & "'"
			Else
				Query = Query & ", '" & TmpKashiKanjoCD & "'"
			End If
			Query = Query & ", " & KarikataKingaku
			Query = Query & ", " & KashikataKingaku
			Query = Query & ", '" & Tekiyo & "'"
		Else
			Query = "exec SPK帳簿_仕訳帳挿入 '" & GB_SystemCD & "', '" & EnshuCD & "', '" & KaisyaCD & "'"
			Query = Query & ", '" & DenpyoNo & "'"
			Query = Query & ", " & Torihikibi
			Query = Query & ", '" & KanjyoCD & "'"
			Query = Query & ", " & KarikataKingaku
			Query = Query & ", " & KashikataKingaku
			Query = Query & ", '" & Tekiyo & "'"
		End If
'Response.Write(Query & vbCrLf)
'Exit Sub
		Set Content = OpenQuery(Query)
		bCheck = 1
	Next


	If PackageMode = 1 Then
		'サイバー会計の仕訳帳は振替伝票扱い
		Query = "exec SPK帳簿_仕訳帳更新_振替伝票 '" & GB_SystemCD & "', '" & EnshuCD & "', '" & KaisyaCD & "'"
		Query = Query & ", 'D5'"	'伝票区分:振替伝票
		Query = Query & ", '" & SyoriKubun & "'"	'伝票処理区分
		Query = Query & ", '" & DenpyoNo & "'"
		Query = Query & ", " & Torihikibi
		Query = Query & ", '" & TorihikisakiCD & "'"
		Query = Query & ", '" & Tekiyo & "'"
		Query = Query & ", '" & GB_GakuseiNo & "'"
'Response.Write(Query & vbCrLf)
'Exit Sub
		Set Content = OpenQuery(Query)
		'記帳チェックF挿入
		Query = "exec SPM記帳チェック挿入伝票 '" & GB_SystemCD & "',"
		Query = Query & " '" & EnshuCD & "'"
		Query = Query & ",'" & KaisyaCD & "'"
		Set Content = OpenQuery(Query)
	Else
		Query = "exec SPK帳簿_仕訳帳更新 '" & GB_SystemCD & "', '" & EnshuCD & "', '" & KaisyaCD & "'"
		Query = Query & ", '" & DenpyoNo & "'"
		Set Content = OpenQuery(Query)
	End If




	'削除モードの場合は伝票番号を空に戻す
	If SendValue = "" Then
		DenpyoNo = ""
	End If


	Response.Redirect(Replace(Url, "_bin.asp", "") & "_view.asp?RouteType=" & RouteType & "&SyoriKubun=" & SyoriKubun & "&DenpyoNo=" & DenpyoNo)


End Sub
%>