日期检查

来源:互联网 发布:linux 新建脚本文件 编辑:程序博客网 时间:2024/03/29 06:07

Option Strict On
Option Explicit On

Imports System.Data
Imports System.IO
Imports Microsoft.VisualBasic
Imports PW1.P09020201.Entity
Imports PW1.P09020201.DAO
Imports PW1.Common
Imports PW1.Common.Data
Imports PW1.Common.IO


Namespace PW1.P09020201.Business

    Public Class CakeikauteisiCheck

        Public Function CheckParameters(ByVal ScrInfo As Entity.ScreenInfo) As String
            Dim strMsg As String = String.Empty
            Dim systemDay As String = Format(Now, "yyyy/MM/dd")
            'Dim K As Integer
            'Dim str As String
            ''停止日の年
            If ScrInfo.KkhidukeYear.Equals(String.Empty) Then
                strMsg = "E3001" & "," & "停止日の年"
                Return strMsg
            ElseIf Utility.containsForbiddenChar(ScrInfo.KkhidukeYear) Then
                strMsg = "E3045" & "," & "停止日の月"
                Return strMsg
            ElseIf Not Utility.isValidInteger(ScrInfo.KkhidukeYear) Then
                strMsg = "E3010" & "," & "停止日の年"
                Return strMsg
            End If
            ''停止日の月
            If ScrInfo.KkhidukeMonth.Equals(String.Empty) Then
                strMsg = "E3001" & "," & "停止日の月"
                Return strMsg
            ElseIf Utility.containsForbiddenChar(ScrInfo.KkhidukeMonth) Then
                strMsg = "E3045" & "," & "停止日の月"
                Return strMsg
            ElseIf Not Utility.isValidInteger(ScrInfo.KkhidukeMonth) Then
                strMsg = "E3010" & "," & "停止日の月"
                Return strMsg
            End If
            ''停止日の日
            If ScrInfo.KkhidukeDay.Equals(String.Empty) Then
                strMsg = "E3001" & "," & "停止日の日"
                Return strMsg
            ElseIf Utility.containsForbiddenChar(ScrInfo.KkhidukeDay) Then
                strMsg = "E3045" & "," & "停止日の日"
                Return strMsg
            ElseIf Not Utility.isValidInteger(ScrInfo.KkhidukeDay) Then
                strMsg = "E3010" & "," & "停止日の日"
                Return strMsg
            End If
            '停止時間(開始)の時
            If ScrInfo.KkteijiTimeStart.Equals(String.Empty) Then
                strMsg = "E3001" & "," & "停止時間(開始)の時"
                Return strMsg
            ElseIf Utility.containsForbiddenChar(ScrInfo.KkteijiTimeStart) Then
                strMsg = "E3045" & "," & "停止時間(開始)の時"
                Return strMsg
            ElseIf Not Utility.isValidInteger(ScrInfo.KkteijiTimeStart) Then
                strMsg = "E3010" & "," & "停止時間(開始)の時"
                Return strMsg
            ElseIf Convert.ToDecimal(ScrInfo.KkteijiTimeStart) > 23 OrElse Convert.ToDecimal(ScrInfo.KkteijiTimeStart) < 0 Then
                strMsg = "E3007" & "," & "停止時間(開始)の時"
                Return strMsg
            End If
            ''停止時間(開始)の分
            If ScrInfo.KkteijiTimePmStart.Equals(String.Empty) Then
                strMsg = "E3001" & "," & "停止時間(開始)の分"
                Return strMsg
            ElseIf Utility.containsForbiddenChar(ScrInfo.KkteijiTimePmStart) Then
                strMsg = "E3045" & "," & "停止時間(開始)の分"
                Return strMsg
            ElseIf Not Utility.isValidInteger(ScrInfo.KkteijiTimePmStart) Then
                strMsg = "E3010" & "," & "停止時間(開始)の分"
                Return strMsg
            ElseIf Convert.ToDecimal(ScrInfo.KkteijiTimePmStart) > 59 OrElse Convert.ToDecimal(ScrInfo.KkteijiTimePmStart) < 0 Then
                strMsg = "E3007" & "," & "停止時間(開始)の分"
                Return strMsg
            End If
            ''停止時間(終了)の時
            ' If (ScrInfo.KkteijiTimeEnd.Equals(String.Empty)) Then
            If ScrInfo.KkteijiTimeEnd.Equals(String.Empty) Then
                strMsg = "E3001" & "," & "停止時間(終了)の時"
                Return strMsg
            ElseIf Utility.containsForbiddenChar(ScrInfo.KkteijiTimeEnd) Then
                strMsg = "E3045" & "," & "停止時間(終了)の時"
                Return strMsg
            ElseIf Not Utility.isValidInteger(ScrInfo.KkteijiTimeEnd) Then
                strMsg = "E3010" & "," & "停止時間(終了)の時"
                Return strMsg
            ElseIf Convert.ToDecimal(ScrInfo.KkteijiTimeEnd) > 23 OrElse Convert.ToDecimal(Not ScrInfo.KkteijiTimeEnd.Equals(String.Empty)) < 0 Then
                strMsg = "E3007" & "," & "停止時間(終了)の時"
                Return strMsg
            End If
            'End If
            ''停止時間(終了)の分
            'If (ScrInfo.KkteijiTimePmEnd.Equals(String.Empty)) Then
            If ScrInfo.KkteijiTimePmEnd.Equals(String.Empty) Then
                strMsg = "E3001" & "," & "停止時間(終了)の分"
                Return strMsg
            ElseIf Utility.containsForbiddenChar(ScrInfo.KkteijiTimePmEnd) Then
                strMsg = "E3045" & "," & "停止時間(終了)の分"
                Return strMsg
            ElseIf Not Utility.isValidInteger(ScrInfo.KkteijiTimePmEnd) Then
                strMsg = "E3010" & "," & "停止時間(終了)の分"
                Return strMsg
            ElseIf Convert.ToDecimal(ScrInfo.KkteijiTimePmEnd) > 59 OrElse Convert.ToDecimal(ScrInfo.KkteijiTimePmEnd) < 0 Then
                strMsg = "E3007" & "," & "停止時間(終了)の分"
                Return strMsg
            End If
            'End If
            If 60 < Utility.getStringBytes(ScrInfo.KkriyuuReasons) Then
                strMsg = "E3028" & "," & "停止理由" & "," & "60"
                Return strMsg
            End If

            '' 停止日妥当性チェック
            'If (Not ScrInfo.KkhidukeYear.Equals(String.Empty)) _
            'AndAlso (Not ScrInfo.KkhidukeMonth.Equals(String.Empty)) _
            'AndAlso (Not ScrInfo.KkhidukeDay.Equals(String.Empty)) Then

            Dim strTmpYear As String
            Dim strTmpMon As String
            Dim strTmpDay As String

            strTmpYear = ScrInfo.KkhidukeYear
            strTmpYear = Format(Convert.ToInt16(strTmpYear), "0000")
            ScrInfo.KkhidukeYear = strTmpYear

            strTmpMon = ScrInfo.KkhidukeMonth
            strTmpMon = Format(Convert.ToInt16(strTmpMon), "00")
            ScrInfo.KkhidukeMonth = strTmpMon

            strTmpDay = ScrInfo.KkhidukeDay
            strTmpDay = Format(Convert.ToInt16(strTmpDay), "00")
            ScrInfo.KkhidukeDay = strTmpDay

            If Not Microsoft.VisualBasic.IsDate(strTmpYear & "/" & strTmpMon & "/" & strTmpDay) Then
                strMsg = "E3007" & "," & "停止日"
                Return strMsg
            End If

            If (strTmpYear & "/" & strTmpMon & "/" & strTmpDay) < systemDay Then
                strMsg = "E3055" & "," & "停止日"
                Return strMsg
            End If


            '停止時間妥当性チェック()
            ' If (Not ScrInfo.KkteijiTimeStart.Equals(String.Empty)) _
            'AndAlso (Not ScrInfo.KkteijiTimePmStart.Equals(String.Empty)) _
            'AndAlso (Not ScrInfo.KkteijiTimeEnd.Equals(String.Empty)) _
            'AndAlso (Not ScrInfo.KkteijiTimePmEnd.Equals(String.Empty)) Then

            'Dim strTmpStart As String
            'Dim strTmpEnd As String


            'strTmpStart = Format(Convert.ToInt16(ScrInfo.KkteijiTimeStart), "00") & Format(Convert.ToInt16(ScrInfo.KkteijiTimePmStart), "00")
            'strTmpEnd = Format(Convert.ToInt16(ScrInfo.KkteijiTimeEnd), "00") & Format(Convert.ToInt16(ScrInfo.KkteijiTimePmEnd), "00")

            'If strTmpStart >= strTmpEnd Then
            '    strMsg = "E3015" & "," & "停止時間"
            '    Return strMsg
            'End If

            'Dim strHiduke As String = ScrInfo.KkhidukeYear & ScrInfo.KkhidukeMonth & ScrInfo.KkhidukeDay
            'Dim strTeijiTime As String = Format(Convert.ToInt16(ScrInfo.KkteijiTimeStart), "00") & Format(Convert.ToInt16(ScrInfo.KkteijiTimePmStart), "00")
            'Dim strTeijiTime As String = ScrInfo.KkteijiTimeStart & ScrInfo.KkteijiTimePmStart

            'If ExistsChk.Select(" KKHIDUKE = '" & strHiduke & "' and KKTEIJITIME = '" & strTeijiTime & "'").Length > 1 Then
            '    strMsg = "E3018" & "," & "停止時間"
            '    Return strMsg
            'End If


            Return String.Empty
        End Function

        Public Shared Sub ExecuteEventLogic(ByRef UpdInfo As CakeikuteisiEntity, ByVal pid As String)
            Try
                tUpdataDataCakeikakut.UpdateProc(UpdInfo, pid)
            Catch ex As Exception
                Throw
            End Try
        End Sub

    End Class
End Namespace