Index: branches/src/DataCheckExcute/DataCheckExcute/Common/Process/ClsChangeLedgerData.cs
===================================================================
--- branches/src/DataCheckExcute/DataCheckExcute/Common/Process/ClsChangeLedgerData.cs	(revision 284)
+++ branches/src/DataCheckExcute/DataCheckExcute/Common/Process/ClsChangeLedgerData.cs	(revision 285)
@@ -237,7 +237,7 @@
                                 bret = CalcSalaryDevisionAll(LedgerExDB, PersonDB, LedgerRec, CurRec, TargetDate.Date, ColPoint);
                                 break;
                             case (int)CommonDefine.SalaryDevision.Noting:       // 振分無
-                                bret = CalcSalaryDevisionNoting(LedgerExDB, CurRec, TargetDate.Date, ColPoint);
+                                //bret = CalcSalaryDevisionNoting(LedgerExDB, CurRec, TargetDate.Date, ColPoint);
                                 break;
                             case (int)CommonDefine.SalaryDevision.DaysInput:    // 日数入力
                                 bret = CalcSalaryDevisionDaysInput(LedgerExDB, PersonDB, LedgerRec, CurRec);
@@ -495,10 +495,8 @@
                 strSQL.AppendFormat(" AND DATE(TargetMonth) = STR_TO_DATE('{0}','%Y/%m/%d')", ColumnDate.ToShortDateString());
 
                 // データ読込み
-                List<ConstructionLedgerExcute> LedgerExDBList = new List<ConstructionLedgerExcute>();
                 ConstructionLedgerExcute LedgerExDBRec = new ConstructionLedgerExcute();
-                bool ReadData = LedgerExDB.SelectAction(strSQL.ToString(), ref LedgerExDBList, false);
-                if (!ReadData || LedgerExDBList.Count == 0)
+                if (!LedgerExDB.SelectAction(strSQL.ToString(), ref LedgerExDBRec, false))
                 {
                     LedgerExDBRec.ConstructionCode = ConstrCode;	// 工事コード
                     LedgerExDBRec.GroupCount = GroupCount;          // グループ番号
Index: branches/src/DataCheckExcute/DataCheckExcute/Common/Process/ClsSystemOnceExecute.cs
===================================================================
--- branches/src/DataCheckExcute/DataCheckExcute/Common/Process/ClsSystemOnceExecute.cs	(revision 284)
+++ branches/src/DataCheckExcute/DataCheckExcute/Common/Process/ClsSystemOnceExecute.cs	(revision 285)
@@ -42,15 +42,15 @@
         #endregion
 
         #region 変数
+
         /// <summary>
-        /// 初期化処理成否フラグ
+        /// 状態毎期限チェックコードリスト
         /// </summary>
-        private bool m_bExecuteFlg = true;
-        
+        private ArrayList m_TermCodeArray = new ArrayList();
         /// <summary>
         /// 状態毎期限マスタリスト
         /// </summary>
-        private List<TermMasterList> SystemOnceExecuteTermMstList = new List<TermMasterList>();
+        private List<TermMaster> m_TermMstList = new List<TermMaster>();
 
         /// <summary>
         /// 最終起動日
@@ -61,11 +61,6 @@
         #region コンストラクタ
         public ClsSystemOnceExecute()
         {
-            // チェック項目取得
-            if (!GetTermList())
-            {
-                m_bExecuteFlg = false;
-            }
         }
         #endregion
 
@@ -79,9 +74,6 @@
             bool ProcessFlg = true;
             try
             {
-                // 初期化に失敗したら処理しない
-                if (!m_bExecuteFlg) return;
-
                 // 本日の初回起動がされている場合は処理しない
                 if (!ExecuteCheck(ref m_lastsessionDate)) return;
                 
@@ -208,40 +200,31 @@
             try
             {
                 // 期限マスタ読込
-                string strSQL = " Order By ConstructionStatusFlg Asc, DisplayOrder Asc";
-                List<TermMaster> tmList = new List<TermMaster>();
-                if (!tmDB.SelectAction(strSQL, ref tmList)) return false;
+                StringBuilder strSQL = new StringBuilder();
+                strSQL.Append(" Order By");
+                strSQL.Append(" ConstructionStatusFlg ASC");
+                strSQL.Append(", FieldNo ASC");
+                strSQL.Append(", CheckSchdule DESC");
+                strSQL.Append(", TermDays DESC"); 
 
-                // ラストのためにループ外で定義
-                TermMasterList CheckList = null;
-                int iTmpStatus = -1;
-                // データセット
-                foreach (TermMaster tmRec in tmList)
-                {
-                    // キーが違えばArrayテーブルへ追加する
-                    if (iTmpStatus != tmRec.ConstructionStatusFlg)
-                    {
-                        // チェックテーブルへ新たな状態テーブルを追加
-                        CheckList = new TermMasterList();
-                        SystemOnceExecuteTermMstList.Add(CheckList);
+                if (!tmDB.SelectAction(strSQL.ToString(), ref m_TermMstList)) return false;
+                if (m_TermMstList.Count == 0) return false;
 
-                        // ブレイクキーの更新
-                        iTmpStatus = tmRec.ConstructionStatusFlg;
-                    }
-                    // 取得データをセットする
-                    CheckList.TermMstTBL.Add(tmRec);
-                }
+                // チェックコードリスト取得
+                strSQL.Clear();
+                strSQL.Append("Select");
+                strSQL.Append(" ConstructionStatusFlg");
+                strSQL.Append(", FieldNo");
+                strSQL.Append(", CheckSchdule");
+                strSQL.Append(" From");
+                strSQL.Append(" TermMaster");
+                strSQL.Append(" Group by");
+                strSQL.Append(" ConstructionStatusFlg");
+                strSQL.Append(", FieldNo");
+                strSQL.Append(", CheckSchdule");
 
-                // バッファテーブルが空ではない場合
-                if (CheckList.TermMstTBL.Count != 0)
-                {
-                    // マスターテーブルリストより最後のステータスを取得する
-                    int SetTableStatus = SystemOnceExecuteTermMstList[SystemOnceExecuteTermMstList.Count - 1].TermMstTBL[0].ConstructionStatusFlg;
-                    // バッファテーブルのステータスを取得する
-                    int NowStatus = CheckList.TermMstTBL[0].ConstructionStatusFlg;
-                    // バッファテーブルがすでにセットされていなければセットする
-                    if (SetTableStatus != NowStatus) SystemOnceExecuteTermMstList.Add(CheckList);
-                }
+                if (!tmDB.ExecuteReader(strSQL.ToString(), ref m_TermCodeArray)) return false;
+                if (m_TermCodeArray.Count == 0) return false;
 
                 return true;
             }
@@ -530,6 +513,9 @@
             IOMessageBoardTerget mbtDB = new IOMessageBoardTerget();
             try
             {
+                // チェック項目取得
+                if (!GetTermList()) return false;
+
                 // 工事基本情報を期限テーブルに設定している状態分取得する
                 StringBuilder strSQL = new StringBuilder();
                 strSQL.Append(" WHERE CONSTRUCTIONSTATUSFLG IN (SELECT DISTINCT A1.CONSTRUCTIONSTATUSFLG FROM TERMMASTER A1)");
@@ -667,135 +653,130 @@
         {
             try
             {
-                // 初期化に失敗していたら処理しない
-                if (!m_bExecuteFlg) return true;
-
-                // 取得データの進捗状態がチェック判定テーブルにあるかの存在チェック
-                bool exestFlg = false;
-                int itblCnt = 0;
-                for (int i = 0; i < SystemOnceExecuteTermMstList.Count; i++)
-                {
-                    // 判定対象データの状態がチェック判定テーブルにあれば処理をおこなう
-                    if (SystemOnceExecuteTermMstList[i].TermMstTBL[0].ConstructionStatusFlg == checkRec.ConstructionStatusFlg)
-                    {
-                        exestFlg = true;
-                        itblCnt = i;
-                        break;
-                    }
-                }
-                // 取得データがチェック判定以外は処理しない
-                if (!exestFlg) return true;
-
                 // 戻り値
                 bool bCheckNoError = true;
 
-                List<TermMaster> Termtbl = SystemOnceExecuteTermMstList[itblCnt].TermMstTBL;
+                int nStatusFlg = -1;
+                int nFieldNo = -1;
+                int nCheckSchdule =-1;
+                bool ErrFlg = false;
                 // エラーチェック
-                foreach (TermMaster wrkCheck in Termtbl)
+                foreach (object[] objCode in m_TermCodeArray)
                 {
-                    // 対象日付をクリア
-                    DateTime Target = DateTime.MinValue;
+                    nStatusFlg = CommonMotions.cnvInt(objCode[0]);
+                    nFieldNo = CommonMotions.cnvInt(objCode[1]);
+                    nCheckSchdule = CommonMotions.cnvInt(objCode[2]);
 
-                    switch (wrkCheck.FieldNo)
+                    // 状態が対象外は処理しない
+                    if (nStatusFlg != checkRec.ConstructionStatusFlg) continue;
+
+                    TermMaster[] CheckTerget = m_TermMstList.Cast<TermMaster>().Where(x => x.ConstructionStatusFlg == nStatusFlg
+                                                                                            && x.FieldNo == nFieldNo
+                                                                                            && x.CheckSchdule == nCheckSchdule)
+                                                                                .OrderByDescending(x => x.TermDays)
+                                                                                .ToArray();
+                    foreach (TermMaster wrkCheck in CheckTerget)
                     {
-                        case (int)ConstructionBaseInfo.DateNoDef.RequestedDate:               // 依頼受け日
-                            Target = checkRec.RequestedDate;
-                            break;
-                        case (int)ConstructionBaseInfo.DateNoDef.EstimatesSubmitDeadline:     // 見積提出期限
-                            Target = checkRec.EstimatesSubmitDeadline;
-                            break;
-                        case (int)ConstructionBaseInfo.DateNoDef.EstimatesSubmittedDate:      // 見積提出日
-                            Target = checkRec.EstimatesSubmittedDate;
-                            break;
-                        case (int)ConstructionBaseInfo.DateNoDef.OrderDate:                   // 受注日
-                            Target = checkRec.OrderDate;
-                            break;
-                        case (int)ConstructionBaseInfo.DateNoDef.OrderStartingDate:           // 開始予定日
-                            Target = checkRec.OrderStartingDate;
-                            break;
-                        case (int)ConstructionBaseInfo.DateNoDef.OrderCompletionDate:         // 完了予定日
-                            Target = checkRec.OrderCompletionDate;
-                            break;
-                        case (int)ConstructionBaseInfo.DateNoDef.ConstrPreparationDate:       // 施工開始準備日
-                            Target = checkRec.PreparationStartDate;
-                            break;
-                        case (int)ConstructionBaseInfo.DateNoDef.ConstructionStartingDate:    // 施工開始日
-                            Target = checkRec.ConstructionStartingDate;
-                            break;
-                        case (int)ConstructionBaseInfo.DateNoDef.ConstructionCompletionDate:  // 施工完了日
-                            Target = checkRec.ConstructionCompletionDate;
-                            break;
-                        case (int)ConstructionBaseInfo.DateNoDef.TransferConstructionDate:    // 工事移管日
-                            Target = checkRec.TransferConstructionDate;
-                            break;
-                        case (int)ConstructionBaseInfo.DateNoDef.EstimatesExpirationDate:     // 見積有効期限
-                            Target = checkRec.EstimatesExpirationDate;
-                            break;
-                        case (int)ConstructionBaseInfo.DateNoDef.ConstructionPeriodStart:     // 契約工期開始
-                            Target = checkRec.ConstructionPeriodStart;
-                            break;
-                        case (int)ConstructionBaseInfo.DateNoDef.ConstructionPeriodEnd:       // 契約工期完了
-                            Target = checkRec.ConstructionPeriodEnd;
-                            // 延長工期があれば延長工期を入れる
-                            if (checkRec.ConstructionPeriodEnd2 != DateTime.MinValue) Target = checkRec.ConstructionPeriodEnd2;
-                            break;
-                        case (int)ConstructionBaseInfo.DateNoDef.BillingStartDate:            // 請求準備開始日
-                            Target = checkRec.BillingStartDate;
-                            break;
-                        case (int)ConstructionBaseInfo.DateNoDef.BillingDate:                 // 請求日
-                            Target = checkRec.BillingDate;
-                            // 2016/10/06 台帳入力完了日があればチェックをしない 
-                            if (checkRec.LedgerComplateDate != DateTime.MinValue) Target = DateTime.MinValue.Date;
-                            break;
-                    }
-                    // 未定の日付はチェックしない
-                    if (Target.Date == DateTime.MinValue.Date) continue;
+                        // 対象日付をクリア
+                        DateTime Target = DateTime.MinValue;
 
+                        switch (wrkCheck.FieldNo)
+                        {
+                            case (int)ConstructionBaseInfo.DateNoDef.RequestedDate:               // 依頼受け日
+                                Target = checkRec.RequestedDate;
+                                break;
+                            case (int)ConstructionBaseInfo.DateNoDef.EstimatesSubmitDeadline:     // 見積提出期限
+                                Target = checkRec.EstimatesSubmitDeadline;
+                                break;
+                            case (int)ConstructionBaseInfo.DateNoDef.EstimatesSubmittedDate:      // 見積提出日
+                                Target = checkRec.EstimatesSubmittedDate;
+                                break;
+                            case (int)ConstructionBaseInfo.DateNoDef.OrderDate:                   // 受注日
+                                Target = checkRec.OrderDate;
+                                break;
+                            case (int)ConstructionBaseInfo.DateNoDef.OrderStartingDate:           // 開始予定日
+                                Target = checkRec.OrderStartingDate;
+                                break;
+                            case (int)ConstructionBaseInfo.DateNoDef.OrderCompletionDate:         // 完了予定日
+                                Target = checkRec.OrderCompletionDate;
+                                break;
+                            case (int)ConstructionBaseInfo.DateNoDef.ConstrPreparationDate:       // 施工開始準備日
+                                Target = checkRec.PreparationStartDate;
+                                break;
+                            case (int)ConstructionBaseInfo.DateNoDef.ConstructionStartingDate:    // 施工開始日
+                                Target = checkRec.ConstructionStartingDate;
+                                break;
+                            case (int)ConstructionBaseInfo.DateNoDef.ConstructionCompletionDate:  // 施工完了日
+                                Target = checkRec.ConstructionCompletionDate;
+                                break;
+                            case (int)ConstructionBaseInfo.DateNoDef.TransferConstructionDate:    // 工事移管日
+                                Target = checkRec.TransferConstructionDate;
+                                break;
+                            case (int)ConstructionBaseInfo.DateNoDef.EstimatesExpirationDate:     // 見積有効期限
+                                Target = checkRec.EstimatesExpirationDate;
+                                break;
+                            case (int)ConstructionBaseInfo.DateNoDef.ConstructionPeriodStart:     // 契約工期開始
+                                Target = checkRec.ConstructionPeriodStart;
+                                break;
+                            case (int)ConstructionBaseInfo.DateNoDef.ConstructionPeriodEnd:       // 契約工期完了
+                                Target = checkRec.ConstructionPeriodEnd;
+                                // 延長工期があれば延長工期を入れる
+                                if (checkRec.ConstructionPeriodEnd2 != DateTime.MinValue) Target = checkRec.ConstructionPeriodEnd2;
+                                break;
+                            case (int)ConstructionBaseInfo.DateNoDef.BillingStartDate:            // 請求準備開始日
+                                Target = checkRec.BillingStartDate;
+                                break;
+                            case (int)ConstructionBaseInfo.DateNoDef.BillingDate:                 // 請求日
+                                Target = checkRec.BillingDate;
+                                // 2016/10/06 台帳入力完了日があればチェックをしない 
+                                if (checkRec.LedgerComplateDate != DateTime.MinValue) Target = DateTime.MinValue.Date;
+                                break;
+                        }
+                        // 未定の日付はチェックしない
+                        if (Target.Date == DateTime.MinValue.Date) continue;
 
-                    // エラーフラグクリア
-                    bool ErrFlg = false;
+                        // エラーフラグクリア
+                        ErrFlg = false;
 
-                    switch (wrkCheck.CheckSchdule)
-                    {
-                        case (int)TermMaster.TermDateCheckTimingDef.CheckSchdule0:   // 前日以前のチェック
-                            // 今日を基準に経過日を加算して対象日と比較する
-                            //if (Target.Date == DateTime.Now.AddDays(wrkCheck.TermDays).Date)
-                            if (Target.Date == CriteriaDate.AddDays(wrkCheck.TermDays).Date)
-                            {
-                                ErrFlg = true;
-                            }
-                            break;
-                        case (int)TermMaster.TermDateCheckTimingDef.CheckSchdule1:   // 当日のチェック
-                            // 今日を基準に対象日と比較する
-                            //if (Target.Date == DateTime.Now.Date)
-                            if (Target.Date == CriteriaDate.Date)
-                            {
-                                ErrFlg = true;
-                            }
-                            break;
-                        case (int)TermMaster.TermDateCheckTimingDef.CheckSchdule2:   // 後日以降のチェック
-                            // 今日を基準に対象日と比較する
-                            //if (Target.AddDays(wrkCheck.TermDays).Date == DateTime.Now.Date)
-                            if (Target.AddDays(wrkCheck.TermDays).Date == CriteriaDate.Date)
-                            {
-                                ErrFlg = true;
-                            }
-                            break;
-                        case (int)TermMaster.TermDateCheckTimingDef.CheckSchdule3:   // 後日以降継続のチェック
-                            // 今日を基準に経過日が過ぎているとエラー
-                            //if (Target.AddDays(wrkCheck.TermDays).Date <= DateTime.Now.Date)
-                            if (Target.AddDays(wrkCheck.TermDays).Date <= CriteriaDate.Date)
-                            {
-                                ErrFlg = true;
-                            }
-                            break;
+                        switch (wrkCheck.CheckSchdule)
+                        {
+                            case (int)TermMaster.TermDateCheckTimingDef.CheckSchdule0:   // 前日以前のチェック
+                                // 今日を基準に経過日を加算して対象日と比較する
+                                if (Target.Date == CriteriaDate.AddDays(wrkCheck.TermDays).Date)
+                                {
+                                    ErrFlg = true;
+                                }
+                                break;
+                            case (int)TermMaster.TermDateCheckTimingDef.CheckSchdule1:   // 当日のチェック
+                                // 今日を基準に対象日と比較する
+                                if (Target.Date == CriteriaDate.Date)
+                                {
+                                    ErrFlg = true;
+                                }
+                                break;
+                            case (int)TermMaster.TermDateCheckTimingDef.CheckSchdule2:   // 後日以降のチェック
+                                // 今日を基準に対象日と比較する
+                                if (Target.AddDays(wrkCheck.TermDays).Date == CriteriaDate.Date)
+                                {
+                                    ErrFlg = true;
+                                }
+                                break;
+                            case (int)TermMaster.TermDateCheckTimingDef.CheckSchdule3:   // 後日以降継続のチェック
+                                // 今日を基準に経過日が過ぎているとエラー
+                                if (Target.AddDays(wrkCheck.TermDays).Date <= CriteriaDate.Date)
+                                {
+                                    ErrFlg = true;
+                                }
+                                break;
+                        }
+                        // チェック項目に該当すればメッセージ・色をセットする
+                        if (ErrFlg)
+                        {
+                            TermRec.Add(wrkCheck);
+                            bCheckNoError = false;
+                        }
+                        if (ErrFlg) break;
                     }
-                    // チェック項目に該当すればメッセージ・色をセットする
-                    if (ErrFlg)
-                    {
-                        TermRec.Add(wrkCheck);
-                        bCheckNoError = false;
-                    }
                 }
                 return bCheckNoError;
             }
Index: branches/src/DataCheckExcute/DataCheckExcute/FrmDataCheck.cs
===================================================================
--- branches/src/DataCheckExcute/DataCheckExcute/FrmDataCheck.cs	(revision 284)
+++ branches/src/DataCheckExcute/DataCheckExcute/FrmDataCheck.cs	(revision 285)
@@ -42,7 +42,7 @@
 
                 lblMessage.Text = "工事基本情報をチェックしています。\nそのまましばらくお待ちください。";
                 lblMessage.Refresh();
-                logger.Info(lblMessage.Text);
+                logger.Info(lblMessage.Text.Replace("\n",""));
 
                 ClsSystemOnceExecute ChkProc = new ClsSystemOnceExecute();
 
