Index: trunk/src/ProcessManagement/ProcessManagement/Common/Process/ClsProcessExist.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Common/Process/ClsProcessExist.cs	(revision 422)
+++ trunk/src/ProcessManagement/ProcessManagement/Common/Process/ClsProcessExist.cs	(revision 423)
@@ -1176,6 +1176,42 @@
         }
         #endregion
 
+        #region 30:入金入力データ存在確認
+        /// <summary>
+        /// 30:入金入力データ存在確認
+        /// </summary>
+        /// <returns></returns>
+        private static bool ExistPaymentConf()
+        {
+            IORequestHead ReqHed = new IORequestHead();
+            try
+            {
+                StringBuilder strSQL = new StringBuilder();
+                strSQL.Append("Select Count(*) From RequestHead As ReqHead");
+                strSQL.Append(" Inner Join InvoiceData As InvData");
+                strSQL.Append("       On InvData.InvoiceNo = ReqHead.InvoiceNo");
+                strSQL.AppendFormat(" Where ReqHead.REQCONSTRUCTIONCODE = {0}", m_SearchCode);
+
+                ArrayList ReqList = new ArrayList();
+                if (!ReqHed.ExecuteReader(strSQL.ToString(), ref ReqList)) return false;
+                if (ReqList.Count < 1) return false;
+                object[] ObjRec = (object[])ReqList[0];
+                if (CommonMotions.cnvInt(ObjRec[0]) < 1) return false;
+
+                return true;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+                return false;
+            }
+            finally
+            {
+                ReqHed.close(); ReqHed = null;
+            }
+        }
+        #endregion
+
         #region 31:請求入力データ存在確認
         /// <summary>
         /// 31:請求入力データ存在確認
@@ -1271,41 +1307,5 @@
             }
         }
         #endregion
-
-        #region 30:入金入力データ存在確認
-        /// <summary>
-        /// 30:入金入力データ存在確認
-        /// </summary>
-        /// <returns></returns>
-        private static bool ExistPaymentConf()
-        {
-            IORequestHead ReqHed = new IORequestHead();
-            try
-            {
-                StringBuilder strSQL = new StringBuilder();
-                strSQL.Append("Select Count(*) From RequestHead As ReqHead");
-                strSQL.Append(" Inner Join InvoiceData As InvData");
-                strSQL.Append("       On InvData.InvoiceNo = ReqHead.InvoiceNo");
-                strSQL.AppendFormat(" Where ReqHead.REQCONSTRUCTIONCODE = {0}", m_SearchCode);
-
-                ArrayList ReqList = new ArrayList();
-                if (!ReqHed.ExecuteReader(strSQL.ToString(), ref ReqList)) return false;
-                if (ReqList.Count < 1) return false;
-                object[] ObjRec = (object[])ReqList[0];
-                if (CommonMotions.cnvInt(ObjRec[0]) < 1) return false;
-
-                return true;
-            }
-            catch (Exception ex)
-            {
-                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
-                return false;
-            }
-            finally
-            {
-                ReqHed.close(); ReqHed = null;
-            }
-        }
-        #endregion
     }
 }
Index: trunk/src/ProcessManagement/ProcessManagement/DB/IOAccess/IORemoveRequest.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/DB/IOAccess/IORemoveRequest.cs	(nonexistent)
+++ trunk/src/ProcessManagement/ProcessManagement/DB/IOAccess/IORemoveRequest.cs	(revision 423)
@@ -0,0 +1,410 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Collections;
+
+using log4net;
+using MySql.Data.MySqlClient;
+
+using ProcessManagement.DB.MySql;
+using ProcessManagement.DB.Core;
+using ProcessManagement.DataModel;
+
+using ProcessManagement.Common;
+
+namespace ProcessManagement.DB.IOAccess
+{
+    /// <summary>
+    /// 請求取消データアクセスクラス
+    /// </summary>
+    public class IORemoveRequest : MySqlProcess
+    {
+        #region 定義部
+        /// <summary>
+        /// log4netログを使用する
+        /// </summary>
+        private static readonly ILog logger = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
+        #endregion
+
+        #region 定数
+        /// <summary>
+        /// 請求データフィールド並び
+        /// </summary>
+        public enum NameColumn
+        {
+            RemoveNo = 0,
+            RemoveDate,
+            RemovePersonCode,
+            RemoveComment,
+            RequestNo,
+            ReqConstructionCode,
+            OrderNo,
+            RequestMonth,
+            OrderersDivision,
+            OrderersCode,
+            OrderersName,
+            ReqConstructionName,
+            RequestTotalAmount,
+            RequestAmount,
+            TaxAmount,
+            UnpaidAmount,
+            Note,
+            AssignedFlg,
+            InvoiceNo,
+            ENTRYDATE,
+            UPDATEDATE,
+        }
+        #endregion
+
+        #region コンストラクタ
+        /// <summary>
+        /// コンストラクタ
+        /// </summary>
+        /// <param name="connectionString"></param>
+        public IORemoveRequest()
+            : base(DBCommon.Instance.DBConnectString)
+        {
+        }
+
+        #endregion
+
+        #region SELECT　SQL作成
+        /// <summary>
+        /// SQL作成
+        /// </summary>
+        private string CreateSelectSQL()
+        {
+            StringBuilder strcmd = new StringBuilder();
+            try
+            {
+                strcmd.Append("SELECT ");
+
+                bool bColFirst = true;
+                string strWork = string.Empty;
+                foreach (var gender in Enum.GetValues(typeof(NameColumn)))
+                {
+                    strWork = gender.ToString();
+
+                    if (!bColFirst) strcmd.Append(",");
+
+                    if (strWork.Equals("EntryDate") || strWork.Equals("UpdateDate"))
+                    {
+                        strcmd.AppendFormat(" DATE_FORMAT({0}, '%Y/%m/%d %H:%i:%s')", strWork);
+                    }
+                    else
+                    {
+                        strcmd.AppendFormat(" {0}", strWork);
+                    }
+                    bColFirst = false;
+                }
+
+                strcmd.Append(" FROM RemoveRequest");
+
+                return strcmd.ToString();
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}：{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd.ToString());
+                return string.Empty;
+            }
+        }
+        #endregion
+
+        #region 請求取消データ検索
+        /// <summary>
+        /// 請求取消データ検索
+        /// </summary>
+        public bool SelectAction(string AddSQLString, ref List<RemoveRequest> data, bool bConnect = true)
+        {
+            // インターフェース
+            StringBuilder strcmd = new StringBuilder();
+            ArrayList arData = new ArrayList();
+
+            try
+            {
+                strcmd.Append(CreateSelectSQL());
+                strcmd.Append(AddSQLString);
+
+                // SQL実行
+                if (!ExecuteReader(strcmd.ToString(), ref arData, bConnect)) return false;
+
+                // データセット
+                foreach (object[] objwrk in arData)
+                {
+                    RemoveRequest work = new RemoveRequest();
+                    Reader2Struct(objwrk, ref work);
+                    data.Add(work);
+                }
+
+                return true;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：：{0}：{1}：{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd.ToString());
+                return false;
+            }
+        }
+        #endregion
+
+        #region 請求取消データ１件追加
+        /// <summary>
+        /// 請求取消データ１件追加
+        /// </summary>
+        public bool InsertAction(RemoveRequest data, bool bConnect = true)
+        {
+            StringBuilder strcmd = new StringBuilder();
+            try
+            {
+                bool bColFirst = true;
+                strcmd.Append("INSERT INTO RemoveRequest");
+                strcmd.Append(" (");
+                foreach (var gender in Enum.GetValues(typeof(NameColumn)))
+                {
+                    if (!bColFirst) strcmd.Append(", ");
+                    strcmd.Append(gender.ToString());
+                    bColFirst = false;
+                }
+                strcmd.Append(") VALUES (");
+
+                strcmd.AppendFormat(" {0}", data.RemoveNo);
+                strcmd.AppendFormat(", {0}", data.RemoveDate);
+                strcmd.AppendFormat(", {0}", data.RemovePersonCode);
+                strcmd.AppendFormat(",'{0}'", data.RemoveComment);
+
+                strcmd.AppendFormat(", {0}", data.RequestNo);
+                strcmd.AppendFormat(", {0}", data.ReqConstructionCode);
+                strcmd.AppendFormat(", {0}", data.OrderNo);
+
+                strcmd.AppendFormat(", {0}", data.RequestMonth);
+                strcmd.AppendFormat(", {0}", data.OrderersDivision);
+                strcmd.AppendFormat(", {0}", data.OrderersCode);
+                strcmd.AppendFormat(",'{0}'", data.OrderersName);
+                strcmd.AppendFormat(",'{0}'", data.ReqConstructionName);
+                strcmd.AppendFormat(", {0}", data.RequestTotalAmount);
+                strcmd.AppendFormat(", {0}", data.RequestAmount);
+                strcmd.AppendFormat(", {0}", data.TaxAmount);
+                strcmd.AppendFormat(", {0}", data.UnpaidAmount);
+                strcmd.AppendFormat(",'{0}'", data.Note);    
+                strcmd.AppendFormat(", {0}", data.AssignedFlg);
+                strcmd.AppendFormat(", {0}", data.InvoiceNo);
+
+                strcmd.Append(", NOW()");
+                strcmd.Append(", NOW()");
+                strcmd.Append(")");
+
+                if (!ExecuteNonQuery(strcmd.ToString(), bConnect)) return false;
+
+                return true;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：：{0}：{1}：{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd.ToString());
+                return false;
+            }
+        }
+        #endregion
+
+        #region 請求取消データ更新（１件更新）
+        /// <summary>
+        /// 請求データ更新（１件更新）
+        /// </summary>
+        public bool UpdateAction(string AddSQLString, RemoveRequest data, bool bConnect = true)
+        {
+            StringBuilder strcmd = new StringBuilder();
+            try
+            {
+
+                strcmd.Append("UPDATE RemoveRequest");
+
+                strcmd.Append(" SET");
+
+                strcmd.AppendFormat(" RemoveNo = {0}", data.RemoveNo);
+                strcmd.AppendFormat(", RemoveDate = {0}", data.RemoveDate);
+                strcmd.AppendFormat(", RemovePersonCode = {0}", data.RemovePersonCode);
+                strcmd.AppendFormat(", RemoveComment = '{0}'", data.RemoveComment);
+
+                strcmd.AppendFormat(", ReqConstructionCode = {0}", data.ReqConstructionCode);
+                strcmd.AppendFormat(", OrderNo = {0}", data.OrderNo);
+                strcmd.AppendFormat(", RequestMonth = {0}", data.RequestMonth);
+
+                strcmd.AppendFormat(", OrderersDivision = {0}", data.OrderersDivision);
+                strcmd.AppendFormat(", OrderersCode = {0}", data.OrderersCode);
+                strcmd.AppendFormat(", OrderersName = '{0}'", data.OrderersName);
+
+
+                strcmd.AppendFormat(", ReqConstructionName = '{0}'", data.ReqConstructionName);
+                strcmd.AppendFormat(", RequestTotalAmount = {0}", data.RequestTotalAmount);
+                strcmd.AppendFormat(", RequestAmount = {0}", data.RequestAmount);
+                strcmd.AppendFormat(", TaxAmount = {0}", data.TaxAmount);
+                strcmd.AppendFormat(", UnpaidAmount = {0}", data.UnpaidAmount);
+                strcmd.AppendFormat(", Note = '{0}'", data.Note);
+                
+                strcmd.AppendFormat(", AssignedFlg = {0}", data.AssignedFlg);
+                strcmd.AppendFormat(", InvoiceNo = {0}", data.InvoiceNo);
+
+                strcmd.Append(", UpdateDate = NOW()");
+
+                //strcmd.AppendFormat(" Where RequestNo = {0}", data.RequestNo.ToString());
+                strcmd.Append(AddSQLString);
+
+                if (!ExecuteNonQuery(strcmd.ToString(), bConnect)) return false;
+
+                return true;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：：{0}：{1}：{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd.ToString());
+                return false;
+            }
+        }
+        #endregion
+
+        #region 請求取消データ削除
+        /// <summary>
+        /// 請求データ削除
+        /// </summary>
+        public bool DeleteAction(string AddSQLString, bool bConnect = true)
+        {
+            // インターフェース
+            StringBuilder strcmd = new StringBuilder();
+            try
+            {
+                strcmd.AppendFormat("{0}{1}", "DELETE FROM RemoveRequest", AddSQLString);
+
+                if (!ExecuteNonQuery(strcmd.ToString(), bConnect)) return false;
+
+                return true;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：：{0}：{1}：{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd.ToString());
+                return false;
+            }
+        }
+        #endregion
+
+        #region MySQLDataReaderより構造体へセットする
+        /// <summary>
+        /// MySQLDataReaderより構造体へセットする
+        /// </summary>
+        public void Reader2Struct(object[] objwrk, ref RemoveRequest wrk)
+        {
+            try
+            {
+                // データ取得
+                wrk.RemoveNo = int.Parse(objwrk[(int)NameColumn.RemoveNo].ToString());
+                wrk.RemoveDate = int.Parse(objwrk[(int)NameColumn.RemoveDate].ToString());
+                wrk.RemovePersonCode = int.Parse(objwrk[(int)NameColumn.RemovePersonCode].ToString());
+                wrk.RemoveComment = objwrk[(int)NameColumn.RemoveComment].ToString();
+
+                wrk.RequestNo = int.Parse(objwrk[(int)NameColumn.RequestNo].ToString());
+                
+                wrk.ReqConstructionCode = int.Parse(objwrk[(int)NameColumn.ReqConstructionCode].ToString());
+                wrk.OrderNo = int.Parse(objwrk[(int)NameColumn.OrderNo].ToString());
+
+                wrk.RequestMonth = int.Parse(objwrk[(int)NameColumn.RequestMonth].ToString());
+                wrk.OrderersDivision = int.Parse(objwrk[(int)NameColumn.OrderersDivision].ToString());
+                wrk.OrderersCode = int.Parse(objwrk[(int)NameColumn.OrderersCode].ToString());
+                wrk.OrderersName = objwrk[(int)NameColumn.OrderersName].ToString();
+
+                wrk.ReqConstructionName = objwrk[(int)NameColumn.ReqConstructionName].ToString();
+
+                wrk.RequestTotalAmount = long.Parse(objwrk[(int)NameColumn.RequestTotalAmount].ToString());
+                wrk.RequestAmount = long.Parse(objwrk[(int)NameColumn.RequestAmount].ToString());
+                wrk.TaxAmount = long.Parse(objwrk[(int)NameColumn.TaxAmount].ToString());
+                wrk.UnpaidAmount = long.Parse(objwrk[(int)NameColumn.UnpaidAmount].ToString());
+
+                wrk.Note = objwrk[(int)NameColumn.Note].ToString();
+
+                wrk.AssignedFlg = int.Parse(objwrk[(int)NameColumn.AssignedFlg].ToString());
+                wrk.InvoiceNo = int.Parse(objwrk[(int)NameColumn.InvoiceNo].ToString());
+
+                wrk.EntryDate = DateTime.Parse(objwrk[(int)NameColumn.ENTRYDATE].ToString());
+                wrk.UpdateDate = DateTime.Parse(objwrk[(int)NameColumn.UPDATEDATE].ToString());
+            }
+            catch (MySqlException myex)
+            {
+                logger.ErrorFormat("ＭｙＳＱＬエラー：{0}：{1}", CommonMotions.GetMethodName(2), myex.Message);
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
+        #region 主キー検索の文字列を返す
+        /// <summary>
+        /// 主キー検索の文字列を返す
+        /// </summary>
+        /// <param name="RequestNo">請求No</param>
+        /// <returns>Where文字列</returns>
+        public string CreatePrimarykeyString(int RemoveNo, int RemoveDate = 0)
+        {
+            StringBuilder strWork = new StringBuilder();
+            try
+            {
+                strWork.AppendFormat(" Where RemoveNo = {0}", RemoveNo);
+                if (RemoveDate != 0)
+                    strWork.AppendFormat(" And RemoveDate = {0}", RemoveDate);
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}：{2}", CommonMotions.GetMethodName(2), ex.Message, strWork.ToString());
+            }
+
+            return strWork.ToString();
+        }
+        #endregion
+
+        #region 請求取消Noの採番
+        /// <summary>
+        /// 請求取消Noの採番
+        /// </summary>
+        /// <returns></returns>
+        public int NumberingRemoveNo(int RemoveDate, bool bConnect = true)
+        {
+            int ret = -1;
+
+            StringBuilder sql = new StringBuilder();
+            ArrayList arData = new ArrayList();
+
+            try
+            {
+                sql.AppendFormat("SELECT IFNULL(MAX(RemoveNo),0) FROM RemoveRequest WHERE RemoveDate = {0}", RemoveDate) ;
+
+                // SQL実行
+                if (!ExecuteReader(sql.ToString(), ref arData, bConnect)) return -1;
+
+                // データセット
+                foreach (object[] objwrk in arData)
+                {
+                    ret = int.Parse(objwrk[0].ToString());
+                    break;
+                }
+
+                if (ret > 0)
+                {
+                    ret++;
+                }
+                else
+                {
+                    ret = (RemoveDate * 100) + 1;
+                }
+
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：：{0}：{1}：{2}", CommonMotions.GetMethodName(2), ex.Message, sql.ToString());
+            }
+            return ret;
+
+        }
+        #endregion
+
+    }
+
+}
+
Index: trunk/src/ProcessManagement/ProcessManagement/DB/IOAccess/IORemoveRequestDetail.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/DB/IOAccess/IORemoveRequestDetail.cs	(nonexistent)
+++ trunk/src/ProcessManagement/ProcessManagement/DB/IOAccess/IORemoveRequestDetail.cs	(revision 423)
@@ -0,0 +1,377 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Collections;
+
+using log4net;
+using MySql.Data.MySqlClient;
+
+using ProcessManagement.DB.MySql;
+using ProcessManagement.DB.Core;
+using ProcessManagement.DataModel;
+
+using ProcessManagement.Common;
+
+namespace ProcessManagement.DB.IOAccess
+{
+    /// <summary>
+    /// 請求取消データ明細アクセスクラス
+    /// </summary>
+    public class IORemoveRequestDetail : MySqlProcess
+    {
+        #region 定義部
+        /// <summary>
+        /// log4netログを使用する
+        /// </summary>
+        private static readonly ILog logger = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
+        #endregion
+
+        #region 定数
+        /// <summary>
+        /// 請求取消データ明細フィールド並び
+        /// </summary>
+        public enum NameColumn
+        {
+            RemoveNo = 0,
+            SeqNo,
+            RequestNo,
+            MainConstructionCode,
+            ConstructionCode,
+            ConstructionKind,
+            RequestAmount,
+            TaxAmount,
+            ENTRYDATE,
+            UPDATEDATE,
+        }
+        #endregion
+
+        #region コンストラクタ
+        /// <summary>
+        /// コンストラクタ
+        /// </summary>
+        /// <param name="connectionString"></param>
+        public IORemoveRequestDetail()
+            : base(DBCommon.Instance.DBConnectString)
+        {
+        }
+
+        #endregion
+
+        #region SELECT　SQL作成
+        /// <summary>
+        /// SQL作成
+        /// </summary>
+        private string CreateSelectSQL()
+        {
+            StringBuilder strcmd = new StringBuilder();
+            try
+            {
+                strcmd.Append("SELECT ");
+
+                bool bColFirst = true;
+                string strWork = string.Empty;
+                foreach (var gender in Enum.GetValues(typeof(NameColumn)))
+                {
+                    strWork = gender.ToString();
+
+                    if (!bColFirst) strcmd.Append(",");
+
+                    if (strWork.Equals("EntryDate") || strWork.Equals("UpdateDate"))
+                    {
+                        strcmd.AppendFormat(" DATE_FORMAT({0}, '%Y/%m/%d %H:%i:%s')", strWork);
+                    }
+                    else
+                    {
+                        strcmd.AppendFormat(" {0}", strWork);
+                    }
+                    bColFirst = false;
+                }
+
+                strcmd.Append(" FROM RemoveRequestDetail");
+
+                return strcmd.ToString();
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}：{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd.ToString());
+                return string.Empty;
+            }
+        }
+        #endregion
+
+        #region 請求取消データ明細検索
+        /// <summary>
+        /// 請求取消データ明細検索
+        /// </summary>
+        /// <param name="AddSQLString"></param>
+        /// <param name="data"></param>
+        /// <param name="bConnect"></param>
+        /// <returns></returns>
+        public bool SelectAction(string AddSQLString, ref List<RemoveRequestDetail> data, bool bConnect = true)
+        {
+            // インターフェース
+            StringBuilder strcmd = new StringBuilder();
+            ArrayList arData = new ArrayList();
+
+            try
+            {
+                strcmd.Append(CreateSelectSQL());
+                strcmd.Append(AddSQLString);
+
+                // SQL実行
+                if (!ExecuteReader(strcmd.ToString(), ref arData, bConnect)) return false;
+
+                // データセット
+                foreach (object[] objwrk in arData)
+                {
+                    RemoveRequestDetail work = new RemoveRequestDetail();
+                    Reader2Struct(objwrk, ref work);
+                    data.Add(work);
+                }
+
+                return true;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：：{0}：{1}：{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd.ToString());
+                return false;
+            }
+        }
+        #endregion
+
+        #region 請求取消データ明細複数追加
+        /// <summary>
+        /// 請求取消データ明細複数追加
+        /// </summary>
+        /// <param name="data">請求取消データ明細</param>
+        /// <returns>true：成功 false：失敗</returns>
+        public bool InsertAction(List<RemoveRequestDetail> data, bool bConnect = true)
+        {
+            StringBuilder strcmd = new StringBuilder();
+            try
+            {
+
+                bool bColFirst = true;
+                strcmd.Append("INSERT INTO RemoveRequestDetail");
+                strcmd.Append(" (");
+                foreach (var gender in Enum.GetValues(typeof(NameColumn)))
+                {
+                    if (!bColFirst) strcmd.Append(", ");
+                    strcmd.Append(gender.ToString());
+                    bColFirst = false;
+                }
+                strcmd.Append(") VALUES");
+
+                bool bDataFirst = true;
+                foreach (RemoveRequestDetail work in data)
+                {
+                    if (bDataFirst) strcmd.Append(" (");
+                    else strcmd.Append(", (");
+
+                    strcmd.AppendFormat(" {0}", work.RemoveNo);
+                    strcmd.AppendFormat(", {0}", work.SeqNo);
+                    strcmd.AppendFormat(", {0}", work.RequestNo);
+                    strcmd.AppendFormat(", {0}", work.MainConstructionCode);
+                    strcmd.AppendFormat(", {0}", work.ConstructionCode);
+
+                    strcmd.AppendFormat(", {0}", work.ConstructionKind);
+                    strcmd.AppendFormat(", {0}", work.RequestAmount);
+                    strcmd.AppendFormat(", {0}", work.TaxAmount);
+
+                    strcmd.Append(", NOW()");
+                    strcmd.Append(", NOW()");
+                    strcmd.Append(")");
+                }
+                if (!ExecuteNonQuery(strcmd.ToString(), bConnect)) return false;
+
+                return true;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：：{0}：{1}：{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd.ToString());
+                return false;
+            }
+        }
+        #endregion
+
+        #region 請求取消データ明細１件追加
+        /// <summary>
+        /// 請求取消データ明細１件追加
+        /// </summary>
+        /// <param name="data"></param>
+        /// <param name="bConnect"></param>
+        /// <returns></returns>
+        public bool InsertAction(RemoveRequestDetail data, bool bConnect = true)
+        {
+            StringBuilder strcmd = new StringBuilder();
+            try
+            {
+                bool bColFirst = true;
+                strcmd.Append("INSERT INTO RemoveRequestDetail");
+                strcmd.Append(" (");
+                foreach (var gender in Enum.GetValues(typeof(NameColumn)))
+                {
+                    if (!bColFirst) strcmd.Append(", ");
+                    strcmd.Append(gender.ToString());
+                    bColFirst = false;
+                }
+                strcmd.Append(") VALUES (");
+
+                strcmd.AppendFormat(" {0}", data.RemoveNo);
+                strcmd.AppendFormat(", {0}", data.SeqNo);
+                strcmd.AppendFormat(", {0}", data.RequestNo);
+                strcmd.AppendFormat(", {0}", data.MainConstructionCode);
+                strcmd.AppendFormat(", {0}", data.ConstructionCode);
+
+                strcmd.AppendFormat(", {0}", data.ConstructionKind);
+                strcmd.AppendFormat(", {0}", data.RequestAmount);
+                strcmd.AppendFormat(", {0}", data.TaxAmount);
+
+                strcmd.Append(", NOW()");
+                strcmd.Append(", NOW()");
+                strcmd.Append(")");
+
+                if (!ExecuteNonQuery(strcmd.ToString(), bConnect)) return false;
+
+                return true;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：：{0}：{1}：{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd.ToString());
+                return false;
+            }
+        }
+        #endregion
+
+        #region 請求取消データ明細更新
+        /// <summary>
+        /// 請求取消データ明細更新
+        /// </summary>
+        /// <param name="AddSQLString">更新条件SQL文字列</param>
+        /// <param name="data">請求取消データ明細</param>
+        /// <returns>true：成功 false：失敗</returns>
+        public bool UpdateAction(string AddSQLString, RemoveRequestDetail data, bool bConnect = true)
+        {
+            StringBuilder strcmd = new StringBuilder();
+            try
+            {
+
+                strcmd.Append("UPDATE RemoveRequestDetail");
+
+                strcmd.Append(" SET");
+
+                strcmd.AppendFormat(" RemoveNo = {0}", data.RemoveNo);
+                strcmd.AppendFormat(", SeqNo = {0}", data.SeqNo);
+                strcmd.AppendFormat(", RequestNo = {0}", data.RequestNo);
+                strcmd.AppendFormat(", MainConstructionCode = {0}", data.MainConstructionCode);
+                strcmd.AppendFormat(", ConstructionCode = {0}", data.ConstructionCode);
+
+                strcmd.AppendFormat(", ConstructionKind = {0}", data.ConstructionKind);
+                strcmd.AppendFormat(", RequestAmount = {0}", data.RequestAmount);
+                strcmd.AppendFormat(", TaxAmount = {0}", data.TaxAmount);
+
+                strcmd.Append(", UpdateDate = NOW()");
+
+                strcmd.Append(AddSQLString);
+
+                if (!ExecuteNonQuery(strcmd.ToString(), bConnect)) return false;
+
+                return true;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：：{0}：{1}：{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd.ToString());
+                return false;
+            }
+        }
+        #endregion
+
+        #region 請求取消データ明細削除
+        /// <summary>
+        /// 請求取消データ明細削除
+        /// </summary>
+        /// <param name="AddSQLString">削除条件SQL文字列</param>
+        /// <param name="bConnect"></param>
+        /// <returns></returns>
+        public bool DeleteAction(string AddSQLString, bool bConnect = true)
+        {
+            // インターフェース
+            StringBuilder strcmd = new StringBuilder();
+            try
+            {
+                strcmd.AppendFormat("{0}{1}", "DELETE FROM RemoveRequestDetail", AddSQLString);
+
+                if (!ExecuteNonQuery(strcmd.ToString(), bConnect)) return false;
+
+                return true;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：：{0}：{1}：{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd.ToString());
+                return false;
+            }
+        }
+        #endregion
+
+        #region MySQLDataReaderより構造体へセットする
+        /// <summary>
+        /// MySQLDataReaderより構造体へセットする
+        /// </summary>
+        /// <param name="reader">MySQLDataReader</param>
+        /// <param name="wrk">構造体</param>
+        public void Reader2Struct(object[] objwrk, ref RemoveRequestDetail wrk)
+        {
+            try
+            {
+                // データ取得
+                wrk.RemoveNo = int.Parse(objwrk[(int)NameColumn.RemoveNo].ToString());
+                wrk.SeqNo = int.Parse(objwrk[(int)NameColumn.SeqNo].ToString());
+
+                wrk.RequestNo = int.Parse(objwrk[(int)NameColumn.RequestNo].ToString());
+                wrk.MainConstructionCode = int.Parse(objwrk[(int)NameColumn.MainConstructionCode].ToString());
+                wrk.ConstructionCode = int.Parse(objwrk[(int)NameColumn.ConstructionCode].ToString());
+
+                wrk.ConstructionKind = int.Parse(objwrk[(int)NameColumn.ConstructionKind].ToString());
+                wrk.RequestAmount = long.Parse(objwrk[(int)NameColumn.RequestAmount].ToString());
+                wrk.TaxAmount = long.Parse(objwrk[(int)NameColumn.TaxAmount].ToString());
+
+                wrk.EntryDate = DateTime.Parse(objwrk[(int)NameColumn.ENTRYDATE].ToString());
+                wrk.UpdateDate = DateTime.Parse(objwrk[(int)NameColumn.UPDATEDATE].ToString());
+            }
+            catch (MySqlException myex)
+            {
+                logger.ErrorFormat("ＭｙＳＱＬエラー：{0}：{1}", CommonMotions.GetMethodName(2), myex.Message);
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
+        #region 主キー検索の文字列を返す
+        /// <summary>
+        /// 主キー検索の文字列を返す
+        /// </summary>
+        public string CreatePrimarykeyString(int RemoveNo, int SeqNo = 0)
+        {
+            StringBuilder strWork = new StringBuilder();
+            try
+            {
+                strWork.AppendFormat(" Where RemoveNo = {0}", RemoveNo.ToString());
+                if(SeqNo != 0)
+                    strWork.AppendFormat(" And SeqNo = {0}", SeqNo.ToString());
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}：{2}", CommonMotions.GetMethodName(2), ex.Message, strWork.ToString());
+            }
+
+            return strWork.ToString();
+        }
+        #endregion
+    }
+}
+
Index: trunk/src/ProcessManagement/ProcessManagement/DataModel/RemoveRequest.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/DataModel/RemoveRequest.cs	(nonexistent)
+++ trunk/src/ProcessManagement/ProcessManagement/DataModel/RemoveRequest.cs	(revision 423)
@@ -0,0 +1,231 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace ProcessManagement.DataModel
+{
+    /// <summary>
+    /// 請求取消データ
+    /// </summary>
+    public class RemoveRequest
+    {
+        #region メンバ変数
+        private int         m_RemoveNo = 0;                     // 取消No
+        private int         m_RemoveDate = 0;                   // 請求取消日
+        private int         m_RemovePersonCode = 0;             // 請求取消担当者コード
+        private string      m_RemoveComment = string.Empty;     // 明細内容
+
+        private int         m_RequestNo = 0;                    // 請求No
+        private int         m_ReqConstructionCode = 0;          // 請求工事番号
+        private int         m_OrderNo = 0;                      // 受付番号
+        private int         m_RequestMonth = 0;                 // 請求月
+        private int         m_OrderersDivision = 0;             // 発注者区分
+        private int         m_OrderersCode = 0;                 // 発注者コード
+        private string      m_OrderersName = "";                // 発注者名
+        private string      m_ReqConstructionName = "";         // 請求工事件名
+        private long        m_RequestTotalAmount = 0;           // 請求金額合計
+        private long        m_RequestAmount = 0;                // 請求金額
+        private long        m_TaxAmount = 0;                    // 消費税
+        private long        m_UnpaidAmount = 0;                 // 未入金
+        private string      m_Note ="";                         // 備考
+        private int         m_AssignedFlg = 0;                  // 割当済フラグ
+        private int         m_InvoiceNo = 0;                    // 請求書No
+        private DateTime    m_EntryDate = DateTime.Now;         // 登録日付
+        private DateTime    m_UpdateDate = DateTime.Now;        // 更新日付
+        #endregion
+
+        #region コンストラクタ
+        #endregion
+
+        #region プロパティ
+        /// <summary>
+        /// 取消No
+        /// </summary>
+        public int RemoveNo
+        {
+            get { return m_RemoveNo; }
+            set { m_RemoveNo = value; }
+        }
+        /// <summary>
+        /// 請求取消日
+        /// </summary>
+        public int RemoveDate
+        {
+            get { return m_RemoveDate; }
+            set { m_RemoveDate = value; }
+        }
+        /// <summary>
+        /// 請求取消担当者コード
+        /// </summary>
+        public int RemovePersonCode
+        {
+            get { return m_RemovePersonCode; }
+            set { m_RemovePersonCode = value; }
+        }
+        /// <summary>
+        /// 明細内容
+        /// </summary>
+        public string RemoveComment
+        {
+            get { return m_RemoveComment; }
+            set { m_RemoveComment = value; }
+        }
+
+        /// <summary>
+        /// 請求No
+        /// </summary>
+        public int RequestNo
+        {
+            get { return m_RequestNo; }
+            set { m_RequestNo = value; }
+        }
+
+        /// <summary>
+        /// 請求工事番号
+        /// </summary>
+        public int ReqConstructionCode
+        {
+            get { return m_ReqConstructionCode; }
+            set { m_ReqConstructionCode = value; }
+        }
+
+        /// <summary>
+        /// 受付番号
+        /// </summary>
+        public int OrderNo
+        {
+            get { return m_OrderNo; }
+            set { m_OrderNo = value; }
+        }
+
+        /// <summary>
+        /// 請求月
+        /// </summary>
+        public int RequestMonth
+        {
+            get { return m_RequestMonth; }
+            set { m_RequestMonth = value; }
+        }
+
+        /// <summary>
+        /// 発注者区分
+        /// </summary>
+        public int OrderersDivision
+        {
+            get { return m_OrderersDivision; }
+            set { m_OrderersDivision = value; }
+        }
+
+        /// <summary>
+        /// 発注者コード
+        /// </summary>
+        public int OrderersCode
+        {
+            get { return m_OrderersCode; }
+            set { m_OrderersCode = value; }
+        }
+
+        /// <summary>
+        /// 発注者名
+        /// </summary>
+        public string OrderersName
+        {
+            get { return m_OrderersName; }
+            set { m_OrderersName = value; }
+        }
+
+        /// <summary>
+        /// 請求工事件名
+        /// </summary>
+        public string ReqConstructionName
+        {
+            get { return m_ReqConstructionName; }
+            set { m_ReqConstructionName = value; }
+        }
+        
+        /// <summary>
+        /// 請求金額合計
+        /// </summary>
+        public long RequestTotalAmount
+        {
+            get { return m_RequestTotalAmount; }
+            set { m_RequestTotalAmount = value; }
+        }
+
+        /// <summary>
+        /// 請求金額
+        /// </summary>
+        public long RequestAmount
+        {
+            get { return m_RequestAmount; }
+            set { m_RequestAmount = value; }
+        }
+
+        /// <summary>
+        /// 消費税
+        /// </summary>
+        public long TaxAmount
+        {
+            get { return m_TaxAmount; }
+            set { m_TaxAmount = value; }
+        }
+
+        /// <summary>
+        /// 未入金
+        /// </summary>
+        public long UnpaidAmount
+        {
+            get { return m_UnpaidAmount; }
+            set { m_UnpaidAmount = value; }
+        }
+
+        /// <summary>
+        /// 備考
+        /// </summary>
+        public string Note
+        {
+            get { return m_Note; }
+            set { m_Note = value; }
+        }
+
+        /// <summary>
+        /// 割当済フラグ
+        /// </summary>
+        public int AssignedFlg
+        {
+            get { return m_AssignedFlg; }
+            set { m_AssignedFlg = value; }
+        }
+
+        /// <summary>
+        /// 請求書No
+        /// </summary>
+        public int InvoiceNo
+        {
+            get { return m_InvoiceNo; }
+            set { m_InvoiceNo = value; }
+        }
+
+        /// <summary>
+        /// 登録日付
+        /// </summary>
+        public DateTime EntryDate
+        {
+            get { return m_EntryDate; }
+            set { m_EntryDate = value; }
+        }
+
+        /// <summary>
+        /// 更新日付
+        /// </summary>
+        public DateTime UpdateDate
+        {
+            get { return m_UpdateDate; }
+            set { m_UpdateDate = value; }
+        }
+        #endregion
+
+    }
+}
Index: trunk/src/ProcessManagement/ProcessManagement/DataModel/RemoveRequestDetail.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/DataModel/RemoveRequestDetail.cs	(nonexistent)
+++ trunk/src/ProcessManagement/ProcessManagement/DataModel/RemoveRequestDetail.cs	(revision 423)
@@ -0,0 +1,139 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace ProcessManagement.DataModel
+{
+    /// <summary>
+    /// 請求取消データ明細
+    /// </summary>
+    public class RemoveRequestDetail
+    {
+        #region 定数
+        /// <summary>
+        /// 工事区分定義
+        /// </summary>
+        public enum ConstructionKindDef
+        {
+            /// <summary>
+            /// 0:本工事
+            /// </summary>
+            Original = 0,
+            /// <summary>
+            /// 1:追加工事（増減工事）
+            /// </summary>
+            Additional,
+        }
+        #endregion
+
+        #region メンバ変数
+        private int         m_RemoveNo = 0;                     // 取消No
+        private int         m_SeqNo = 0;                        // 受付No
+        private int         m_RequestNo = 0;                    // 請求No
+        private int         m_MainConstructionCode = 0;         // 本工事番号
+        private int         m_ConstructionCode = 0;             // 工事番号
+        private int         m_ConstructionKind = 0;             // 工事区分
+        private long        m_RequestAmount = 0;                // 請求金額
+        private long        m_TaxAmount = 0;                    // 消費税
+        private DateTime    m_EntryDate = DateTime.Now;         // 登録日付
+        private DateTime    m_UpdateDate = DateTime.Now;        // 更新日付
+        #endregion
+
+        #region コンストラクタ
+        #endregion
+
+        #region プロパティ
+        /// <summary>
+        /// 取消No
+        /// </summary>
+        public int RemoveNo
+        {
+            get { return m_RemoveNo; }
+            set { m_RemoveNo = value; }
+        }
+        /// <summary>
+        /// 受付No
+        /// </summary>
+        public int SeqNo
+        {
+            get { return m_SeqNo; }
+            set { m_SeqNo = value; }
+        }
+        /// <summary>
+        /// 請求No
+        /// </summary>
+        public int RequestNo
+        {
+            get { return m_RequestNo; }
+            set { m_RequestNo = value; }
+        }
+
+        /// <summary>
+        /// 本工事番号
+        /// </summary>
+        public int MainConstructionCode
+        {
+            get { return m_MainConstructionCode; }
+            set { m_MainConstructionCode = value; }
+        }
+        
+
+        /// <summary>
+        /// 工事番号
+        /// </summary>
+        public int ConstructionCode
+        {
+            get { return m_ConstructionCode; }
+            set { m_ConstructionCode = value; }
+        }
+
+        /// <summary>
+        /// 工事区分
+        /// </summary>
+        public int ConstructionKind
+        {
+            get { return m_ConstructionKind; }
+            set { m_ConstructionKind = value; }
+        }
+
+        /// <summary>
+        /// 請求金額
+        /// </summary>
+        public long RequestAmount
+        {
+            get { return m_RequestAmount; }
+            set { m_RequestAmount = value; }
+        }
+
+        /// <summary>
+        /// 消費税
+        /// </summary>
+        public long TaxAmount
+        {
+            get { return m_TaxAmount; }
+            set { m_TaxAmount = value; }
+        }
+
+        /// <summary>
+        /// 登録日付
+        /// </summary>
+        public DateTime EntryDate
+        {
+            get { return m_EntryDate; }
+            set { m_EntryDate = value; }
+        }
+
+        /// <summary>
+        /// 更新日付
+        /// </summary>
+        public DateTime UpdateDate
+        {
+            get { return m_UpdateDate; }
+            set { m_UpdateDate = value; }
+        }
+        #endregion
+
+    }
+}
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBaseInfo/FrmConstructionBaseInfoAuxiliary.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBaseInfo/FrmConstructionBaseInfoAuxiliary.cs	(revision 422)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBaseInfo/FrmConstructionBaseInfoAuxiliary.cs	(revision 423)
@@ -3236,7 +3236,8 @@
         /// <param name="cpdDB"></param>
         /// <returns></returns>
         private bool ConstructionBaseInfoDataEntry(IOConstructionBaseInfo cbiDB,
-                                                    IOConstructionProgressDate cpdDB)
+                                                    IOConstructionProgressDate cpdDB,
+                                                    bool MsgOn)
         {
             try
             {
@@ -3484,15 +3485,22 @@
 
                 // �Č��i�����t�f�[�^�o�^
                 if (BeforeStatus != work.ConstructionStatusFlg)
-                {
-                    if (!ConstructionProgressDateEntry(cpdDB, BeforeStatus, work.ConstructionStatusFlg))
-                        return false;
+                {   // ��Ԃ��ς��΍X�V
+                    if (!ConstructionProgressDateEntry(cpdDB
+                                                        , BeforeStatus
+                                                        , work.ConstructionStatusFlg)) return false;
+                    // �䒠������̃X�e�[�^�X�ύX���������i�����ۑ����͏������Ȃ��j
+                    if (MsgOn)
+                    {
+                        if (!SyncFluctuationData(cbiDB, iStatus)) return false;
+                    }
                 }
                 else
-                {
+                {   // �V�K�o�^���͓o�^
                     if (BeforeStatus == 0)
-                        if (!ConstructionProgressDateEntry(cpdDB, BeforeStatus, work.ConstructionStatusFlg))
-                            return false;
+                        if (!ConstructionProgressDateEntry(cpdDB
+                                                            , BeforeStatus
+                                                            , work.ConstructionStatusFlg)) return false;
                 }
 
                 // �R�[�h�Z�b�g
@@ -3508,6 +3516,66 @@
         }
         #endregion
 
+        #region �䒠������̃X�e�[�^�X�ύX��������
+        /// <summary>
+        /// �䒠������̃X�e�[�^�X�ύX��������
+        /// </summary>
+        /// <returns></returns>
+        private bool SyncFluctuationData(IOConstructionBaseInfo cbiDB, int nStatus)
+        {
+            FrmConstrProgDiag frm = new FrmConstrProgDiag();
+            try
+            {
+                int[] nStatArrary = new int[] {CommonDefine.ProjectsStatus.First(x => x.Value.Equals("�{�H����")).Key,
+                                                CommonDefine.ProjectsStatus.First(x => x.Value.Equals("�{�H����")).Key,
+                                                CommonDefine.ProjectsStatus.First(x => x.Value.Equals("�{�H�J�n")).Key,
+                                                CommonDefine.ProjectsStatus.First(x => x.Value.Equals("�{�H����")).Key,
+                                                CommonDefine.ProjectsStatus.First(x => x.Value.Equals("��������")).Key,
+                                                CommonDefine.ProjectsStatus.First(x => x.Value.Equals("�����m�F")).Key};
+
+                bool bAns = false;
+                for (int i = 0; i < nStatArrary.Length; i++)
+                {
+                    if (nStatArrary[i] != nStatus) continue;
+
+                    bAns = true;
+                    break;
+                }
+                if (!bAns) return true;
+
+                // �����f�[�^�I��
+                frm.ConstructionCode = m_ConstructionCode;
+                DialogResult drRwt = frm.ShowDialog();
+                if (drRwt == DialogResult.Cancel) return true;
+
+                bool bRet = true;
+                for(int i = 0; i < frm.TergetList.Count; i++)
+                {
+                    int nCode = frm.TergetList[i];
+                    if (!cbiDB.UpdateFeild(nCode
+                                            , (int)IOConstructionBaseInfo.TableColumn.ConstructionStatusFlg
+                                            , nStatus
+                                            , false))
+                    {
+                        bRet = false;
+                        break;
+                    }
+                }
+
+                return bRet;
+            }
+            catch (System.Exception ex)
+            {
+                logger.ErrorFormat("�V�X�e���G���[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
+                return false;
+            }
+            finally
+            {
+                frm.Dispose(); frm = null;
+            }
+        }
+        #endregion
+
         #region �����H���̐e�q�ōH���I���̈�ԑ傫�����̂�T��
         /// <summary>
         /// �����H���̐e�q�ōH���I���̈�ԑ傫�����̂�T��
@@ -3949,7 +4017,7 @@
                             ChgMenDB, LinkDB);
 
                 // �f�[�^�o�^
-                if (!ConstructionBaseInfoDataEntry(cbiDB, cpdDB))
+                if (!ConstructionBaseInfoDataEntry(cbiDB, cpdDB, MsgOn))
                 {
                     MessageBox.Show("�H����{���f�[�^�o�^�G���[�ł��B", "�o�^�G���[", MessageBoxButtons.OK, MessageBoxIcon.Error);
                     RollBackCommitProc(true,
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmCancelDisplay.Designer.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmCancelDisplay.Designer.cs	(nonexistent)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmCancelDisplay.Designer.cs	(revision 423)
@@ -0,0 +1,194 @@
+﻿namespace ProcessManagement.Forms.DataEntry
+{
+    partial class FrmCancelDisplay
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
+            this.btnEnd = new System.Windows.Forms.Button();
+            this.dgvMain = new ProcessManagement.Forms.CustomControls.DataGridViewEX();
+            this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.Column4 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.Column5 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            ((System.ComponentModel.ISupportInitialize)(this.dgvMain)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // btnEnd
+            // 
+            this.btnEnd.BackColor = System.Drawing.Color.Blue;
+            this.btnEnd.Font = new System.Drawing.Font("ＭＳ 明朝", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+            this.btnEnd.ForeColor = System.Drawing.Color.White;
+            this.btnEnd.Location = new System.Drawing.Point(872, 176);
+            this.btnEnd.Name = "btnEnd";
+            this.btnEnd.Size = new System.Drawing.Size(120, 30);
+            this.btnEnd.TabIndex = 3;
+            this.btnEnd.Text = "終　了";
+            this.btnEnd.UseVisualStyleBackColor = false;
+            this.btnEnd.Click += new System.EventHandler(this.btnEnd_Click);
+            // 
+            // dgvMain
+            // 
+            this.dgvMain.AllowUserToAddRows = false;
+            this.dgvMain.AllowUserToDeleteRows = false;
+            this.dgvMain.AllowUserToResizeColumns = false;
+            this.dgvMain.AllowUserToResizeRows = false;
+            this.dgvMain.BackgroundColor = System.Drawing.Color.White;
+            this.dgvMain.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
+            dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control;
+            dataGridViewCellStyle1.Font = new System.Drawing.Font("ＭＳ 明朝", 12F, System.Drawing.FontStyle.Bold);
+            dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
+            dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+            dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+            dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+            this.dgvMain.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
+            this.dgvMain.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
+            this.dgvMain.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+            this.Column1,
+            this.Column2,
+            this.Column3,
+            this.Column4,
+            this.Column5});
+            this.dgvMain.EnableHeadersVisualStyles = false;
+            this.dgvMain.Location = new System.Drawing.Point(2, 2);
+            this.dgvMain.Name = "dgvMain";
+            this.dgvMain.RowHeadersVisible = false;
+            this.dgvMain.RowHeadersWidth = 20;
+            this.dgvMain.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
+            this.dgvMain.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.CellSelect;
+            this.dgvMain.Size = new System.Drawing.Size(990, 172);
+            this.dgvMain.TabIndex = 0;
+            // 
+            // Column1
+            // 
+            dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            dataGridViewCellStyle2.BackColor = System.Drawing.Color.White;
+            dataGridViewCellStyle2.Font = new System.Drawing.Font("Century", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+            dataGridViewCellStyle2.ForeColor = System.Drawing.Color.Black;
+            dataGridViewCellStyle2.Format = "N0";
+            this.Column1.DefaultCellStyle = dataGridViewCellStyle2;
+            this.Column1.HeaderText = "№";
+            this.Column1.Name = "Column1";
+            this.Column1.ReadOnly = true;
+            this.Column1.Resizable = System.Windows.Forms.DataGridViewTriState.False;
+            this.Column1.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            this.Column1.Width = 50;
+            // 
+            // Column2
+            // 
+            dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            dataGridViewCellStyle3.BackColor = System.Drawing.Color.White;
+            dataGridViewCellStyle3.Font = new System.Drawing.Font("Century", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+            dataGridViewCellStyle3.ForeColor = System.Drawing.Color.Black;
+            this.Column2.DefaultCellStyle = dataGridViewCellStyle3;
+            this.Column2.HeaderText = "取消日";
+            this.Column2.Name = "Column2";
+            this.Column2.ReadOnly = true;
+            this.Column2.Resizable = System.Windows.Forms.DataGridViewTriState.False;
+            this.Column2.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            this.Column2.Width = 150;
+            // 
+            // Column3
+            // 
+            dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            dataGridViewCellStyle4.BackColor = System.Drawing.Color.White;
+            dataGridViewCellStyle4.Font = new System.Drawing.Font("ＭＳ 明朝", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+            dataGridViewCellStyle4.ForeColor = System.Drawing.Color.Black;
+            this.Column3.DefaultCellStyle = dataGridViewCellStyle4;
+            this.Column3.HeaderText = "取消担当者";
+            this.Column3.Name = "Column3";
+            this.Column3.ReadOnly = true;
+            this.Column3.Resizable = System.Windows.Forms.DataGridViewTriState.False;
+            this.Column3.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            this.Column3.Width = 200;
+            // 
+            // Column4
+            // 
+            dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle5.BackColor = System.Drawing.Color.White;
+            dataGridViewCellStyle5.Font = new System.Drawing.Font("ＭＳ 明朝", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+            dataGridViewCellStyle5.ForeColor = System.Drawing.Color.Black;
+            dataGridViewCellStyle5.Format = "C0";
+            dataGridViewCellStyle5.NullValue = null;
+            this.Column4.DefaultCellStyle = dataGridViewCellStyle5;
+            this.Column4.HeaderText = "取　消　理　由";
+            this.Column4.Name = "Column4";
+            this.Column4.ReadOnly = true;
+            this.Column4.Resizable = System.Windows.Forms.DataGridViewTriState.False;
+            this.Column4.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            this.Column4.Width = 570;
+            // 
+            // Column5
+            // 
+            this.Column5.HeaderText = "取消番号";
+            this.Column5.Name = "Column5";
+            this.Column5.ReadOnly = true;
+            this.Column5.Resizable = System.Windows.Forms.DataGridViewTriState.False;
+            this.Column5.Visible = false;
+            // 
+            // FrmCancelDisplay
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
+            this.BackColor = System.Drawing.Color.Black;
+            this.ClientSize = new System.Drawing.Size(994, 206);
+            this.ControlBox = false;
+            this.Controls.Add(this.dgvMain);
+            this.Controls.Add(this.btnEnd);
+            this.Font = new System.Drawing.Font("ＭＳ 明朝", 12F, System.Drawing.FontStyle.Bold);
+            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+            this.KeyPreview = true;
+            this.MaximizeBox = false;
+            this.MinimizeBox = false;
+            this.Name = "FrmCancelDisplay";
+            this.ShowIcon = false;
+            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+            this.Load += new System.EventHandler(this.FrmCostStructureDiag_Load);
+            this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.FrmCancelDisplay_MouseDown);
+            this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.FrmCancelDisplay_MouseMove);
+            ((System.ComponentModel.ISupportInitialize)(this.dgvMain)).EndInit();
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private System.Windows.Forms.Button btnEnd;
+        private ProcessManagement.Forms.CustomControls.DataGridViewEX dgvMain;
+        private System.Windows.Forms.DataGridViewTextBoxColumn Column1;
+        private System.Windows.Forms.DataGridViewTextBoxColumn Column2;
+        private System.Windows.Forms.DataGridViewTextBoxColumn Column3;
+        private System.Windows.Forms.DataGridViewTextBoxColumn Column4;
+        private System.Windows.Forms.DataGridViewTextBoxColumn Column5;
+    }
+}
\ No newline at end of file
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmCancelDisplay.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmCancelDisplay.cs	(nonexistent)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmCancelDisplay.cs	(revision 423)
@@ -0,0 +1,247 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Collections;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+using ProcessManagement.Common;
+using ProcessManagement.DB.IOAccess;
+using ProcessManagement.DataModel;
+using ProcessManagement.Forms.CustomControls;
+using ProcessManagement.Forms.ControlsAction;
+
+namespace ProcessManagement.Forms.DataEntry
+{
+    /// <summary>
+    /// 請求取消一覧表示
+    /// </summary>
+    public partial class FrmCancelDisplay : Form
+    {
+        #region ログ使用定義
+        //log4netログを使用する
+        private static readonly log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
+        #endregion
+
+        #region 定数
+        /// <summary>
+        /// 表示カラム
+        /// </summary>
+        private enum DispGridColumn
+        {
+            No = 0,
+            Code,
+            Name,
+            Amount,
+        }
+        /// <summary>
+        /// グリッド表示行数
+        /// </summary>
+        private const int s_GridDispLine = 5;
+        /// <summary>
+        /// 自画面幅
+        /// </summary>
+        private const int s_MyWidth = 430;
+        /// <summary>
+        /// 自画面高さ
+        /// </summary>
+        private const int s_MyHeight = 220;
+        /// <summary>
+        /// 総計タイトルラベル表示位置Ｘ
+        /// </summary>
+        private const int s_poTitleX = 162;
+        /// <summary>
+        /// 総計表示ラベル表示位置Ｘ
+        /// </summary>
+        private const int s_poTotalX = 252;
+        /// <summary>
+        /// 名称セルサイズ
+        /// </summary>
+        private const int s_CellWidth = 200;
+        /// <summary>
+        /// ラベルタイトルサイズ
+        /// </summary>
+        private const int s_LabelTitleWidth = 250;
+        #endregion
+
+        #region 変数
+        /// <summary>
+        /// 表示位置
+        /// </summary>
+        private Point m_LocationPoint = new Point(((System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width / 2) - (s_MyWidth / 2)),
+                                                    ((System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height / 2) - (s_MyHeight / 2)));
+
+        /// <summary>
+        /// 終了状態フラグ
+        /// </summary>
+        private DialogResult m_EndButton = DialogResult.None;
+        /// <summary>
+        /// 表示データリスト
+        /// </summary>
+        private int m_ConstrCode = 0;
+        #endregion
+
+        #region プロパティ
+        /// <summary>
+        /// 終了ボタン状態
+        /// </summary>
+        public DialogResult EndButton
+        {
+            get { return m_EndButton; }
+        }
+        /// <summary>
+        /// 表示位置
+        /// </summary>
+        public Point LocationPoint
+        {
+            get { return m_LocationPoint; }
+            set { m_LocationPoint = value; }
+        }
+        /// <summary>
+        /// 表示データリスト
+        /// </summary>
+        public int ConstrCode
+        {
+            get { return m_ConstrCode; }
+            set { m_ConstrCode = value; }
+        }
+        #endregion
+
+        #region コンストラクタ
+        /// <summary>
+        /// フォーム初期化
+        /// </summary>
+        public FrmCancelDisplay()
+        {
+            InitializeComponent();
+        }
+        #endregion
+
+        #region フォームロード
+        /// <summary>
+        /// フォームロード
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void FrmCostStructureDiag_Load(object sender, EventArgs e)
+        {
+            // フォームサイズ固定
+            this.MaximizedBounds = new Rectangle(this.Left, this.Top, this.Width, this.Height);
+
+            // フォーム表示位置セット
+            Point po = new Point(m_LocationPoint.X - this.Width, m_LocationPoint.Y - (this.Height + 50));
+            this.Location = po;
+
+            // 初期表示
+            DispData();
+
+            // マウスイベントセット
+            dgvMain.MouseDown += new MouseEventHandler(FrmCancelDisplay_MouseDown);
+            dgvMain.MouseMove += new MouseEventHandler(FrmCancelDisplay_MouseMove);
+        }
+        #endregion
+
+        #region 終了ボタン
+        /// <summary>
+        /// 終了ボタン押下
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnEnd_Click(object sender, EventArgs e)
+        {
+            m_EndButton = DialogResult.None;
+            this.Close();
+        }
+        #endregion
+
+        #region データ表示
+        /// <summary>
+        /// データ表示処理
+        /// </summary>
+        private void DispData()
+        {
+            IORemoveRequest rrDB = new IORemoveRequest();
+            try
+            {
+                // データを表示する
+                dgvMain.Rows.Clear();
+
+                StringBuilder strSQL = new StringBuilder();
+                strSQL.Append("Select");
+                strSQL.Append(" A.RemoveDate");
+                strSQL.Append(", A.RemovePersonCode");
+                strSQL.Append(", B.PersonName");
+                strSQL.Append(", A.RemoveComment");
+                strSQL.Append(", A.RemoveNo");
+                strSQL.Append(", A.ReqConstructionCode");
+                strSQL.Append(" From removerequest As A");
+                strSQL.Append(" left Join personinchargemaster As B");
+                strSQL.Append("       On B.PersonCode = A.RemovePersonCode");
+                strSQL.AppendFormat(" Where A.ReqConstructionCode = {0}", m_ConstrCode);
+                ArrayList arList = new ArrayList();
+                if (!rrDB.ExecuteReader(strSQL.ToString(), ref arList)) return;
+                if (arList.Count < 1) return;
+
+                int nCnt = 1;
+                foreach(object[] objRec in arList)
+                {
+                    int RowCnt = dgvMain.Rows.Add(1);
+                    DataGridViewRow CurRow = dgvMain.Rows[RowCnt];
+                    CurRow.Cells[0].Value = nCnt++;
+                    string strWork = CommonMotions.cnvString(objRec[0]);
+                    CurRow.Cells[1].Value = string.Format("{0}/{1}/{2}", strWork.Substring(0, 4), strWork.Substring(4, 2), strWork.Substring(6, 2));
+                    CurRow.Cells[2].Value = CommonMotions.cnvString(objRec[2]);
+                    CurRow.Cells[3].Value = CommonMotions.cnvString(objRec[3]);
+                    CurRow.Cells[4].Value = CommonMotions.cnvString(objRec[4]);
+                }
+            }
+            catch (System.Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+            finally
+            {
+                rrDB.close(); rrDB = null;
+            }
+        }
+        #endregion
+
+        //マウスのクリック位置を記憶
+        private Point mousePoint;
+
+        #region マウスダウン
+        /// <summary>
+        /// マウスのボタンが押されたとき
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void FrmCancelDisplay_MouseDown(object sender, MouseEventArgs e)
+        {
+            if ((e.Button & MouseButtons.Left) == MouseButtons.Left)
+            {
+                //位置を記憶する
+                mousePoint = new Point(e.X, e.Y);
+            }
+        }
+        #endregion
+
+        #region マウスムーブ
+        /// <summary>
+        /// マウスが動いたとき
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void FrmCancelDisplay_MouseMove(object sender, MouseEventArgs e)
+        {
+            if ((e.Button & MouseButtons.Left) == MouseButtons.Left)
+            {
+                this.Left += e.X - mousePoint.X;
+                this.Top += e.Y - mousePoint.Y;
+            }
+        }
+        #endregion
+    }
+}
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmCancelDisplay.resx
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmCancelDisplay.resx	(nonexistent)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmCancelDisplay.resx	(revision 423)
@@ -0,0 +1,135 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <metadata name="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="Column3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="Column4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="Column5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+</root>
\ No newline at end of file
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmCancelRequest.Designer.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmCancelRequest.Designer.cs	(nonexistent)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmCancelRequest.Designer.cs	(revision 423)
@@ -0,0 +1,261 @@
+﻿namespace ProcessManagement.Forms.DataEntry
+{
+    partial class FrmCancelRequest
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            this.label6 = new System.Windows.Forms.Label();
+            this.lblValue04 = new System.Windows.Forms.Label();
+            this.label4 = new System.Windows.Forms.Label();
+            this.lblValue03 = new System.Windows.Forms.Label();
+            this.groupBoxEx1 = new ProcessManagement.Forms.CustomControls.GroupBoxEx();
+            this.label2 = new System.Windows.Forms.Label();
+            this.label7 = new System.Windows.Forms.Label();
+            this.label1 = new System.Windows.Forms.Label();
+            this.label3 = new System.Windows.Forms.Label();
+            this.lblValue02 = new System.Windows.Forms.Label();
+            this.lblValue01 = new System.Windows.Forms.Label();
+            this.btnCancel = new System.Windows.Forms.Button();
+            this.btnExecProc1 = new System.Windows.Forms.Button();
+            this.groupBoxEx3 = new ProcessManagement.Forms.CustomControls.GroupBoxEx();
+            this.textBox1 = new System.Windows.Forms.TextBox();
+            this.groupBoxEx1.SuspendLayout();
+            this.groupBoxEx3.SuspendLayout();
+            this.SuspendLayout();
+            // 
+            // label6
+            // 
+            this.label6.Location = new System.Drawing.Point(360, 93);
+            this.label6.Name = "label6";
+            this.label6.Size = new System.Drawing.Size(100, 19);
+            this.label6.TabIndex = 12;
+            this.label6.Text = "取 消 日";
+            // 
+            // lblValue04
+            // 
+            this.lblValue04.BackColor = System.Drawing.Color.White;
+            this.lblValue04.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.lblValue04.Font = new System.Drawing.Font("Century", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+            this.lblValue04.Location = new System.Drawing.Point(468, 89);
+            this.lblValue04.Name = "lblValue04";
+            this.lblValue04.Size = new System.Drawing.Size(200, 26);
+            this.lblValue04.TabIndex = 11;
+            this.lblValue04.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            // 
+            // label4
+            // 
+            this.label4.Location = new System.Drawing.Point(8, 93);
+            this.label4.Name = "label4";
+            this.label4.Size = new System.Drawing.Size(120, 19);
+            this.label4.TabIndex = 10;
+            this.label4.Text = "取消担当者";
+            // 
+            // lblValue03
+            // 
+            this.lblValue03.BackColor = System.Drawing.Color.White;
+            this.lblValue03.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.lblValue03.Location = new System.Drawing.Point(136, 89);
+            this.lblValue03.Name = "lblValue03";
+            this.lblValue03.Size = new System.Drawing.Size(200, 26);
+            this.lblValue03.TabIndex = 9;
+            this.lblValue03.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            // 
+            // groupBoxEx1
+            // 
+            this.groupBoxEx1.BackColor = System.Drawing.Color.Snow;
+            this.groupBoxEx1.BorderColor = System.Drawing.Color.SteelBlue;
+            this.groupBoxEx1.Controls.Add(this.label2);
+            this.groupBoxEx1.Controls.Add(this.label6);
+            this.groupBoxEx1.Controls.Add(this.label7);
+            this.groupBoxEx1.Controls.Add(this.lblValue04);
+            this.groupBoxEx1.Controls.Add(this.label1);
+            this.groupBoxEx1.Controls.Add(this.label3);
+            this.groupBoxEx1.Controls.Add(this.label4);
+            this.groupBoxEx1.Controls.Add(this.lblValue03);
+            this.groupBoxEx1.Controls.Add(this.lblValue02);
+            this.groupBoxEx1.Controls.Add(this.lblValue01);
+            this.groupBoxEx1.Location = new System.Drawing.Point(12, 10);
+            this.groupBoxEx1.Name = "groupBoxEx1";
+            this.groupBoxEx1.Size = new System.Drawing.Size(700, 120);
+            this.groupBoxEx1.TabIndex = 19;
+            this.groupBoxEx1.TabStop = false;
+            this.groupBoxEx1.Text = "取消請求";
+            // 
+            // label2
+            // 
+            this.label2.AutoSize = true;
+            this.label2.Font = new System.Drawing.Font("ＭＳ 明朝", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+            this.label2.ForeColor = System.Drawing.Color.Red;
+            this.label2.Location = new System.Drawing.Point(144, 60);
+            this.label2.Name = "label2";
+            this.label2.Size = new System.Drawing.Size(378, 21);
+            this.label2.TabIndex = 9;
+            this.label2.Text = "※取消可能な回は最終回だけです。";
+            // 
+            // label7
+            // 
+            this.label7.AutoSize = true;
+            this.label7.Location = new System.Drawing.Point(244, 30);
+            this.label7.Name = "label7";
+            this.label7.Size = new System.Drawing.Size(51, 19);
+            this.label7.TabIndex = 7;
+            this.label7.Text = "回目";
+            // 
+            // label1
+            // 
+            this.label1.Location = new System.Drawing.Point(8, 30);
+            this.label1.Name = "label1";
+            this.label1.Size = new System.Drawing.Size(120, 19);
+            this.label1.TabIndex = 7;
+            this.label1.Text = "取消対象回";
+            // 
+            // label3
+            // 
+            this.label3.Location = new System.Drawing.Point(360, 30);
+            this.label3.Name = "label3";
+            this.label3.Size = new System.Drawing.Size(100, 19);
+            this.label3.TabIndex = 8;
+            this.label3.Text = "請求金額";
+            // 
+            // lblValue02
+            // 
+            this.lblValue02.BackColor = System.Drawing.Color.White;
+            this.lblValue02.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.lblValue02.Font = new System.Drawing.Font("Century", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+            this.lblValue02.Location = new System.Drawing.Point(468, 26);
+            this.lblValue02.Name = "lblValue02";
+            this.lblValue02.Size = new System.Drawing.Size(200, 26);
+            this.lblValue02.TabIndex = 5;
+            this.lblValue02.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+            // 
+            // lblValue01
+            // 
+            this.lblValue01.BackColor = System.Drawing.Color.White;
+            this.lblValue01.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.lblValue01.Font = new System.Drawing.Font("Century", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+            this.lblValue01.Location = new System.Drawing.Point(136, 26);
+            this.lblValue01.Name = "lblValue01";
+            this.lblValue01.Size = new System.Drawing.Size(100, 26);
+            this.lblValue01.TabIndex = 6;
+            this.lblValue01.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            // 
+            // btnCancel
+            // 
+            this.btnCancel.BackColor = System.Drawing.Color.Red;
+            this.btnCancel.ForeColor = System.Drawing.Color.White;
+            this.btnCancel.Location = new System.Drawing.Point(572, 350);
+            this.btnCancel.Name = "btnCancel";
+            this.btnCancel.Size = new System.Drawing.Size(140, 40);
+            this.btnCancel.TabIndex = 22;
+            this.btnCancel.Text = "キャンセル";
+            this.btnCancel.UseVisualStyleBackColor = false;
+            this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
+            // 
+            // btnExecProc1
+            // 
+            this.btnExecProc1.BackColor = System.Drawing.Color.Green;
+            this.btnExecProc1.ForeColor = System.Drawing.Color.White;
+            this.btnExecProc1.Location = new System.Drawing.Point(420, 350);
+            this.btnExecProc1.Name = "btnExecProc1";
+            this.btnExecProc1.Size = new System.Drawing.Size(140, 40);
+            this.btnExecProc1.TabIndex = 21;
+            this.btnExecProc1.Text = "取消実行";
+            this.btnExecProc1.UseVisualStyleBackColor = false;
+            this.btnExecProc1.Click += new System.EventHandler(this.btnExecProc1_Click);
+            // 
+            // groupBoxEx3
+            // 
+            this.groupBoxEx3.BackColor = System.Drawing.Color.WhiteSmoke;
+            this.groupBoxEx3.BorderColor = System.Drawing.Color.Red;
+            this.groupBoxEx3.Controls.Add(this.textBox1);
+            this.groupBoxEx3.Location = new System.Drawing.Point(12, 138);
+            this.groupBoxEx3.Name = "groupBoxEx3";
+            this.groupBoxEx3.Size = new System.Drawing.Size(700, 206);
+            this.groupBoxEx3.TabIndex = 23;
+            this.groupBoxEx3.TabStop = false;
+            this.groupBoxEx3.Text = "取　消　理　由";
+            // 
+            // textBox1
+            // 
+            this.textBox1.Font = new System.Drawing.Font("ＭＳ 明朝", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+            this.textBox1.ImeMode = System.Windows.Forms.ImeMode.On;
+            this.textBox1.Location = new System.Drawing.Point(8, 26);
+            this.textBox1.MaxLength = 500;
+            this.textBox1.Multiline = true;
+            this.textBox1.Name = "textBox1";
+            this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Horizontal;
+            this.textBox1.Size = new System.Drawing.Size(686, 170);
+            this.textBox1.TabIndex = 14;
+            // 
+            // FrmCancelRequest
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
+            this.BackColor = System.Drawing.Color.MintCream;
+            this.ClientSize = new System.Drawing.Size(724, 401);
+            this.Controls.Add(this.groupBoxEx3);
+            this.Controls.Add(this.btnCancel);
+            this.Controls.Add(this.btnExecProc1);
+            this.Controls.Add(this.groupBoxEx1);
+            this.Font = new System.Drawing.Font("ＭＳ 明朝", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
+            this.KeyPreview = true;
+            this.MaximizeBox = false;
+            this.MinimizeBox = false;
+            this.Name = "FrmCancelRequest";
+            this.ShowIcon = false;
+            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+            this.Text = "請　求　取　消　処　理";
+            this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.FrmStatusAndDate_FormClosed);
+            this.Load += new System.EventHandler(this.FrmCostStructureDiag_Load);
+            this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.FrmCancelRequest_KeyDown);
+            this.groupBoxEx1.ResumeLayout(false);
+            this.groupBoxEx1.PerformLayout();
+            this.groupBoxEx3.ResumeLayout(false);
+            this.groupBoxEx3.PerformLayout();
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+        private CustomControls.GroupBoxEx groupBoxEx1;
+        private System.Windows.Forms.Label label1;
+        private System.Windows.Forms.Label label3;
+        private System.Windows.Forms.Label lblValue02;
+        private System.Windows.Forms.Label lblValue01;
+        private System.Windows.Forms.Label label6;
+        private System.Windows.Forms.Label lblValue04;
+        private System.Windows.Forms.Label label4;
+        private System.Windows.Forms.Label lblValue03;
+        private System.Windows.Forms.Button btnCancel;
+        private System.Windows.Forms.Button btnExecProc1;
+        private System.Windows.Forms.Label label7;
+        private System.Windows.Forms.Label label2;
+        private CustomControls.GroupBoxEx groupBoxEx3;
+        private System.Windows.Forms.TextBox textBox1;
+    }
+}
\ No newline at end of file
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmCancelRequest.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmCancelRequest.cs	(nonexistent)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmCancelRequest.cs	(revision 423)
@@ -0,0 +1,255 @@
+﻿using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+using System.Threading.Tasks;
+
+using ProcessManagement.Common;
+using ProcessManagement.DB.IOAccess;
+using ProcessManagement.DataModel;
+using ProcessManagement.Forms.CustomControls;
+using ProcessManagement.Forms.ControlsAction;
+using ProcessManagement.Forms.SubForms;
+
+namespace ProcessManagement.Forms.DataEntry
+{
+    public partial class FrmCancelRequest : Form
+    {
+        #region ログ使用定義
+        //log4netログを使用する
+        private static readonly log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
+        #endregion
+
+        #region 定数
+        private enum DispColumn
+        {
+            No = 0,
+            Name,
+            Amount,
+        }
+        #endregion
+
+        #region 変数
+
+        /// <summary>
+        /// 請求回数
+        /// </summary>
+        private int m_RequestCount = 0;
+
+        /// <summary>
+        /// 請求金額
+        /// </summary>
+        private long m_RequestPrice = 0;
+
+        /// <summary>
+        /// 取消理由
+        /// </summary>
+        private string m_Reason = string.Empty;
+
+        #endregion
+
+        #region プロパティ
+
+        /// <summary>
+        /// 請求回数
+        /// </summary>
+        public int RequestCount
+        {
+            get { return m_RequestCount; }
+            set { m_RequestCount = value; }
+        }
+
+        /// <summary>
+        /// 請求金額
+        /// </summary>
+        public long RequestPrice
+        {
+            get { return m_RequestPrice; }
+            set { m_RequestPrice = value; }
+        }
+
+        /// <summary>
+        /// 取消理由
+        /// </summary>
+        public string Reason
+        {
+            get { return m_Reason; }
+            set { m_Reason = value; }
+        }
+
+        #endregion
+
+        #region ×ボタン
+        /// <summary>
+        /// ×ボタン押下処理
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void FrmStatusAndDate_FormClosed(object sender, FormClosedEventArgs e)
+        {
+        }
+        #endregion
+
+        #region コンストラクタ
+        /// <summary>
+        /// フォーム初期化
+        /// </summary>
+        public FrmCancelRequest()
+        {
+            InitializeComponent();
+        }
+        #endregion
+
+        #region フォームロード
+        /// <summary>
+        /// フォームロード
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void FrmCostStructureDiag_Load(object sender, EventArgs e)
+        {
+            // フォームサイズ固定
+            this.MaximizedBounds = new Rectangle(this.Left, this.Top, this.Width, this.Height);
+
+            // 初期表示
+            SetDisplayData();
+        }
+        #endregion
+
+        #region キャンセルボタン
+        /// <summary>
+        /// キャンセルボタン追加
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnCancel_Click(object sender, EventArgs e)
+        {
+            this.DialogResult = DialogResult.Cancel;
+            this.Close();
+        }
+        #endregion
+
+        #region 取消実行ボタン
+        /// <summary>
+        /// 取消実行ボタン
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnExecProc1_Click(object sender, EventArgs e)
+        {
+            try
+            {
+                // 実行時エラーチェック
+                if (!CheckCancelExec()) return;
+
+                // データを画面より取り込む
+                GetEditData();
+
+                this.DialogResult = DialogResult.OK;
+
+                this.Close();
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
+        #region コメントを画面より取り込む
+        /// <summary>
+        /// コメントを画面より取り込む
+        /// </summary>
+        private void GetEditData()
+        {
+            try
+            {
+                m_Reason = textBox1.Text;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
+        #region Entryキーでの移動処理
+        /// <summary>
+        /// Entryキーでの移動処理
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void FrmCancelRequest_KeyDown(object sender, KeyEventArgs e)
+        {
+            //AltかCtrlキーが押されている時は無視する
+            if (e.Alt || e.Control) return;
+
+            //Enterキーが押されているか確認
+            if (e.KeyCode == Keys.Enter)
+            {
+                //あたかもTabキーが押されたかのようにする。
+                // Shiftが押されている時は前のコントロールへフォーカスを移動
+                this.ProcessTabKey(!e.Shift);
+
+                e.Handled = true;
+                //.NET Framework 2.0以降
+                e.SuppressKeyPress = true;
+            }
+        }
+        #endregion
+
+        #region データ表示処理
+        /// <summary>
+        /// データ表示
+        /// </summary>
+        /// <returns></returns>
+        private void SetDisplayData()
+        {
+            try
+            {
+                lblValue01.Text = m_RequestCount.ToString();
+                lblValue02.Text = m_RequestPrice.ToString("#,0");
+                lblValue03.Text = CommonMotions.LoginUserData.PersonName;
+                lblValue04.Text = DateTime.Today.ToShortDateString();
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
+        #region 実行時エラーチェック
+        /// <summary>
+        /// 実行時エラーチェック
+        /// </summary>
+        /// <returns></returns>
+        private bool CheckCancelExec()
+        {
+            try
+            {
+                if (textBox1.Text.Length < 1)
+                {
+                    MessageBox.Show("取消理由が入力されていません。"
+                                    , "実行時エラー"
+                                    , MessageBoxButtons.OK
+                                    , MessageBoxIcon.Error);
+                    return false;
+                }
+
+                return true;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+                return false;
+            }
+        }
+        #endregion
+    }
+}
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmCancelRequest.resx
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmCancelRequest.resx	(nonexistent)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmCancelRequest.resx	(revision 423)
@@ -0,0 +1,120 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>
\ No newline at end of file
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmRequestInput.Designer.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmRequestInput.Designer.cs	(revision 422)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmRequestInput.Designer.cs	(revision 423)
@@ -57,6 +57,8 @@
             this.button1 = new System.Windows.Forms.Button();
             this.SeparateBillingLabel = new System.Windows.Forms.Label();
             this.CombinedOrderLabel = new System.Windows.Forms.Label();
+            this.lblCellTotal = new System.Windows.Forms.Label();
+            this.btnDelRequest = new System.Windows.Forms.Button();
             this.groupBoxEx1 = new ProcessManagement.Forms.CustomControls.GroupBoxEx();
             this.pnlApproval = new System.Windows.Forms.Panel();
             this.lblApprovalCount = new System.Windows.Forms.Label();
@@ -98,7 +100,7 @@
             this.col23 = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.col098 = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.col99 = new System.Windows.Forms.DataGridViewTextBoxColumn();
-            this.lblCellTotal = new System.Windows.Forms.Label();
+            this.btnCancelDsp = new System.Windows.Forms.Button();
             this.groupBoxEx1.SuspendLayout();
             this.pnlApproval.SuspendLayout();
             this.pnlApprovalButton.SuspendLayout();
@@ -151,9 +153,9 @@
             this.btnAdd.BackColor = System.Drawing.Color.Orange;
             this.btnAdd.Font = new System.Drawing.Font("ＭＳ 明朝", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
             this.btnAdd.ForeColor = System.Drawing.Color.Black;
-            this.btnAdd.Location = new System.Drawing.Point(173, 590);
+            this.btnAdd.Location = new System.Drawing.Point(556, 590);
             this.btnAdd.Name = "btnAdd";
-            this.btnAdd.Size = new System.Drawing.Size(160, 30);
+            this.btnAdd.Size = new System.Drawing.Size(120, 28);
             this.btnAdd.TabIndex = 12;
             this.btnAdd.Text = "回数追加";
             this.btnAdd.UseVisualStyleBackColor = false;
@@ -176,7 +178,7 @@
             // button1
             // 
             this.button1.Font = new System.Drawing.Font("ＭＳ 明朝", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
-            this.button1.Location = new System.Drawing.Point(1271, 9);
+            this.button1.Location = new System.Drawing.Point(1065, 11);
             this.button1.Name = "button1";
             this.button1.Size = new System.Drawing.Size(45, 23);
             this.button1.TabIndex = 15;
@@ -211,6 +213,33 @@
             this.CombinedOrderLabel.Text = "完了後　一括";
             this.CombinedOrderLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
             // 
+            // lblCellTotal
+            // 
+            this.lblCellTotal.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+            this.lblCellTotal.AutoSize = true;
+            this.lblCellTotal.BackColor = System.Drawing.Color.Transparent;
+            this.lblCellTotal.Font = new System.Drawing.Font("ＭＳ Ｐ明朝", 9.75F, System.Drawing.FontStyle.Bold);
+            this.lblCellTotal.ForeColor = System.Drawing.Color.WhiteSmoke;
+            this.lblCellTotal.Location = new System.Drawing.Point(357, 599);
+            this.lblCellTotal.Name = "lblCellTotal";
+            this.lblCellTotal.Size = new System.Drawing.Size(0, 13);
+            this.lblCellTotal.TabIndex = 30;
+            // 
+            // btnDelRequest
+            // 
+            this.btnDelRequest.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+            this.btnDelRequest.BackColor = System.Drawing.Color.Red;
+            this.btnDelRequest.Cursor = System.Windows.Forms.Cursors.Default;
+            this.btnDelRequest.Font = new System.Drawing.Font("ＭＳ 明朝", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+            this.btnDelRequest.ForeColor = System.Drawing.Color.White;
+            this.btnDelRequest.Location = new System.Drawing.Point(684, 589);
+            this.btnDelRequest.Name = "btnDelRequest";
+            this.btnDelRequest.Size = new System.Drawing.Size(120, 30);
+            this.btnDelRequest.TabIndex = 41;
+            this.btnDelRequest.Text = "請求取消";
+            this.btnDelRequest.UseVisualStyleBackColor = false;
+            this.btnDelRequest.Click += new System.EventHandler(this.btnDelRequest_Click);
+            // 
             // groupBoxEx1
             // 
             this.groupBoxEx1.Anchor = System.Windows.Forms.AnchorStyles.Top;
@@ -237,7 +266,7 @@
             this.pnlApproval.Controls.Add(this.lblApprovalCount);
             this.pnlApproval.Controls.Add(this.btnApproval);
             this.pnlApproval.Controls.Add(this.btnPetition);
-            this.pnlApproval.Location = new System.Drawing.Point(1053, 5);
+            this.pnlApproval.Location = new System.Drawing.Point(1060, 5);
             this.pnlApproval.Name = "pnlApproval";
             this.pnlApproval.Size = new System.Drawing.Size(262, 34);
             this.pnlApproval.TabIndex = 8;
@@ -287,7 +316,7 @@
             this.pnlApprovalButton.Controls.Add(this.btnNotApproval);
             this.pnlApprovalButton.Controls.Add(this.btnOnHold);
             this.pnlApprovalButton.Controls.Add(this.btnOnApproval);
-            this.pnlApprovalButton.Location = new System.Drawing.Point(1053, 5);
+            this.pnlApprovalButton.Location = new System.Drawing.Point(1060, 5);
             this.pnlApprovalButton.Name = "pnlApprovalButton";
             this.pnlApprovalButton.Size = new System.Drawing.Size(262, 34);
             this.pnlApprovalButton.TabIndex = 9;
@@ -335,11 +364,11 @@
             this.label2.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
             this.label2.CausesValidation = false;
             this.label2.Font = new System.Drawing.Font("ＭＳ 明朝", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
-            this.label2.Location = new System.Drawing.Point(5, 10);
+            this.label2.Location = new System.Drawing.Point(4, 10);
             this.label2.Name = "label2";
-            this.label2.Size = new System.Drawing.Size(100, 25);
+            this.label2.Size = new System.Drawing.Size(120, 25);
             this.label2.TabIndex = 2;
-            this.label2.Text = "請求先";
+            this.label2.Text = "請 求 先";
             this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
             // 
             // label4
@@ -348,11 +377,11 @@
             this.label4.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
             this.label4.CausesValidation = false;
             this.label4.Font = new System.Drawing.Font("ＭＳ 明朝", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
-            this.label4.Location = new System.Drawing.Point(599, 10);
+            this.label4.Location = new System.Drawing.Point(578, 10);
             this.label4.Name = "label4";
-            this.label4.Size = new System.Drawing.Size(100, 25);
+            this.label4.Size = new System.Drawing.Size(120, 25);
             this.label4.TabIndex = 4;
-            this.label4.Text = "請求月";
+            this.label4.Text = "請 求 月";
             this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
             // 
             // cbReqMonth
@@ -361,7 +390,7 @@
             this.cbReqMonth.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
             this.cbReqMonth.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
             this.cbReqMonth.FormattingEnabled = true;
-            this.cbReqMonth.Location = new System.Drawing.Point(707, 10);
+            this.cbReqMonth.Location = new System.Drawing.Point(706, 10);
             this.cbReqMonth.MaxDropDownItems = 12;
             this.cbReqMonth.Name = "cbReqMonth";
             this.cbReqMonth.Size = new System.Drawing.Size(109, 24);
@@ -373,9 +402,9 @@
             this.label5.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
             this.label5.CausesValidation = false;
             this.label5.Font = new System.Drawing.Font("ＭＳ 明朝", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
-            this.label5.Location = new System.Drawing.Point(832, 10);
+            this.label5.Location = new System.Drawing.Point(831, 10);
             this.label5.Name = "label5";
-            this.label5.Size = new System.Drawing.Size(100, 25);
+            this.label5.Size = new System.Drawing.Size(120, 25);
             this.label5.TabIndex = 6;
             this.label5.Text = "請求回数";
             this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@@ -384,10 +413,10 @@
             // 
             this.txtOrderer.BackColor = System.Drawing.Color.White;
             this.txtOrderer.ImeMode = System.Windows.Forms.ImeMode.On;
-            this.txtOrderer.Location = new System.Drawing.Point(113, 11);
+            this.txtOrderer.Location = new System.Drawing.Point(132, 11);
             this.txtOrderer.Name = "txtOrderer";
             this.txtOrderer.ReadOnly = true;
-            this.txtOrderer.Size = new System.Drawing.Size(470, 23);
+            this.txtOrderer.Size = new System.Drawing.Size(430, 23);
             this.txtOrderer.TabIndex = 3;
             this.txtOrderer.TextChanged += new System.EventHandler(this.txtOrderer_TextChanged);
             this.txtOrderer.Validating += new System.ComponentModel.CancelEventHandler(this.txtOrderer_Validating);
@@ -396,7 +425,7 @@
             // 
             this.lblReqOrder.BackColor = System.Drawing.Color.White;
             this.lblReqOrder.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-            this.lblReqOrder.Location = new System.Drawing.Point(940, 10);
+            this.lblReqOrder.Location = new System.Drawing.Point(959, 10);
             this.lblReqOrder.Name = "lblReqOrder";
             this.lblReqOrder.Size = new System.Drawing.Size(85, 24);
             this.lblReqOrder.TabIndex = 7;
@@ -721,17 +750,20 @@
             this.col99.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
             this.col99.Width = 240;
             // 
-            // lblCellTotal
+            // btnCancelDsp
             // 
-            this.lblCellTotal.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
-            this.lblCellTotal.AutoSize = true;
-            this.lblCellTotal.BackColor = System.Drawing.Color.Transparent;
-            this.lblCellTotal.Font = new System.Drawing.Font("ＭＳ Ｐ明朝", 9.75F, System.Drawing.FontStyle.Bold);
-            this.lblCellTotal.ForeColor = System.Drawing.Color.WhiteSmoke;
-            this.lblCellTotal.Location = new System.Drawing.Point(357, 599);
-            this.lblCellTotal.Name = "lblCellTotal";
-            this.lblCellTotal.Size = new System.Drawing.Size(0, 13);
-            this.lblCellTotal.TabIndex = 30;
+            this.btnCancelDsp.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+            this.btnCancelDsp.BackColor = System.Drawing.Color.Yellow;
+            this.btnCancelDsp.Cursor = System.Windows.Forms.Cursors.Default;
+            this.btnCancelDsp.Font = new System.Drawing.Font("ＭＳ 明朝", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+            this.btnCancelDsp.ForeColor = System.Drawing.Color.Black;
+            this.btnCancelDsp.Location = new System.Drawing.Point(1215, 6);
+            this.btnCancelDsp.Name = "btnCancelDsp";
+            this.btnCancelDsp.Size = new System.Drawing.Size(120, 30);
+            this.btnCancelDsp.TabIndex = 41;
+            this.btnCancelDsp.Text = "請求取消一覧";
+            this.btnCancelDsp.UseVisualStyleBackColor = false;
+            this.btnCancelDsp.Click += new System.EventHandler(this.btnCancelDsp_Click);
             // 
             // FrmRequestInput
             // 
@@ -738,6 +770,8 @@
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
             this.BackColor = System.Drawing.Color.Black;
             this.ClientSize = new System.Drawing.Size(1340, 625);
+            this.Controls.Add(this.btnCancelDsp);
+            this.Controls.Add(this.btnDelRequest);
             this.Controls.Add(this.lblCellTotal);
             this.Controls.Add(this.CombinedOrderLabel);
             this.Controls.Add(this.SeparateBillingLabel);
@@ -820,6 +854,8 @@
         private System.Windows.Forms.Button btnApproval;
         private System.Windows.Forms.Label lblApprovalCount;
         private System.Windows.Forms.Label lblCellTotal;
+        private System.Windows.Forms.Button btnDelRequest;
+        private System.Windows.Forms.Button btnCancelDsp;
     }
 }
 
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmRequestInput.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmRequestInput.cs	(revision 422)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmRequestInput.cs	(revision 423)
@@ -180,27 +180,9 @@
                     return;
                 }
 
-                // イベント削除
-                dgv1.CellValueChanged -= dgv1_CellValueChanged;
+                // データ表示処理
+                DataDisplay();
 
-                // DataGridViewEXに項目名を設定
-                SetGridDisplay();
-
-                // 請求データの取得
-                GetRequestDispData();
-
-                // 請求データの設定
-                SetRequestDispData();
-
-                // 請求月の設定
-                SetRequestMonth();
-
-                // [回数追加]ボタンの制御
-                btnAdd.Enabled = GetbtnAddEnabled();
-
-                // 画面左上に分割か一括かを表示
-                BillingLabel();
-
                 // 申請・承認表示処理
                 int nSetOrderNo = (m_OrderNo == 0) ? m_nMaxOrderNo : m_OrderNo;
                 // ----- 承認済の場合承認済みフラグON
@@ -228,24 +210,6 @@
                                                         , m_ConstructionCode
                                                         , nSetOrderNo
                                                         , m_ApplPnlList);
-
-                //// 承認機能番号が0の場合(=承認画面からの呼び出し)
-                //if (m_ApprovalCode == 0) return;
-
-                //pnlApproval.Visible = false;
-
-                //ApprovalMaster App = null;
-
-                //// 承認経路上にログインユーザがある場合は、承認の各ボタンを表示
-                //if (m_dicApprovalMaster.TryGetValue(CommonMotions.LoginUserData.PersonCode, out App) == true)
-                //{
-                //    pnlApprovalButton.Visible = true;
-                //}
-
-                //// その他不要なボタンも非表示
-                //btnOtherProc.Visible = false;           // その他画面ボタン
-                //btnAdd.Visible = false;                 // 回数追加ボタン
-                //btnEntry.Visible = false;               // 登録ボタン
             }
             catch (Exception ex)
             {
@@ -279,6 +243,9 @@
                     return;
                 }
             }
+            // 請求取消一覧が表示されていればクローズする
+            if (m_FrmCancelDisplay != null) m_FrmCancelDisplay.Close();
+
             // サブフォーム起動はプロセスカウンタを変更しない
             if (m_SubForm) m_CloseingProcessOn = false;
 
@@ -432,7 +399,8 @@
             int tcol = e.ColumnIndex;
             int trow = e.RowIndex;
 
-            this.dgv1.CellBeginEdit -= dgv1_CellBeginEdit;
+            dgv1.CellValueChanged -= new DataGridViewCellEventHandler(dgv1_CellValueChanged);
+            dgv1.CellBeginEdit -= new DataGridViewCellCancelEventHandler(dgv1_CellBeginEdit);
 
             // 対象セルが数値（金額）系の場合
             if (isEditNumCell(tcol, trow) == true)
@@ -466,7 +434,8 @@
 
             }
 
-            this.dgv1.CellBeginEdit += dgv1_CellBeginEdit;
+            dgv1.CellValueChanged += new DataGridViewCellEventHandler(dgv1_CellValueChanged);
+            dgv1.CellBeginEdit += new DataGridViewCellCancelEventHandler(dgv1_CellBeginEdit);
         }
         #endregion
 
@@ -494,11 +463,11 @@
             int tcol = e.ColumnIndex;
             int trow = e.RowIndex;
 
-            this.dgv1.CellFormatting -= dgv1_CellFormatting;
+            dgv1.CellFormatting -= new DataGridViewCellFormattingEventHandler(dgv1_CellFormatting);
 
             if (dgv1[tcol, trow].Value == null)
             {
-                this.dgv1.CellFormatting += dgv1_CellFormatting;
+                dgv1.CellFormatting += new DataGridViewCellFormattingEventHandler(dgv1_CellFormatting);
                 return;
             }
             try
@@ -540,7 +509,7 @@
             }
             finally
             {
-                this.dgv1.CellFormatting += dgv1_CellFormatting;
+                dgv1.CellFormatting += new DataGridViewCellFormattingEventHandler(dgv1_CellFormatting);
             }
         }
         #endregion
@@ -757,11 +726,11 @@
         /// <returns></returns>
         private DialogResult ShowMessageBox(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon)
         {
-            dgv1.CellFormatting -= dgv1_CellFormatting;
+            dgv1.CellFormatting -= new DataGridViewCellFormattingEventHandler(dgv1_CellFormatting);
 
             DialogResult ret = MessageBox.Show(this, text, caption, buttons, icon);
 
-            dgv1.CellFormatting += dgv1_CellFormatting;
+            dgv1.CellFormatting += new DataGridViewCellFormattingEventHandler(dgv1_CellFormatting);
 
             return ret;
         }
@@ -1058,5 +1027,69 @@
             }
         }
         #endregion
+
+        #region 請求削除ボタン押下
+        /// <summary>
+        /// 請求削除ボタン押下
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnDelRequest_Click(object sender, EventArgs e)
+        {
+            try
+            {
+                // 請求データ取消処理
+                if (!RequestRemoveProc()) return;
+
+                CommonMotions.EntryEndMessage("請求取消","取消");
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
+        #region 請求取消一覧
+        /// <summary>
+        /// 請求取消一覧
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnCancelDsp_Click(object sender, EventArgs e)
+        {
+            if (m_FrmCancelDisplay != null)
+            {
+                m_FrmCancelDisplay.Activate();
+                return;
+            }
+            // 協力会社金額表示画面を表示
+            DispCancelListControl();
+        }
+        #endregion
+
+        #region 施工金額割当クローズ
+        /// <summary>
+        /// 施工金額割当のクローズを取得する
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void FrmCancelDisplay_FormClosed(object sender, FormClosedEventArgs e)
+        {
+            try
+            {
+                this.Activate();
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+            finally
+            {
+                // ハンドルクリア
+                m_FrmCancelDisplay.Dispose(); m_FrmCancelDisplay = null;
+            }
+        }
+        #endregion
     }
 }
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmRequestInput.resx
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmRequestInput.resx	(revision 422)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmRequestInput.resx	(revision 423)
@@ -117,6 +117,9 @@
   <resheader name="writer">
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
+  <metadata name="lblCellTotal.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
   <metadata name="col001.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
@@ -192,7 +195,4 @@
   <metadata name="col99.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
-  <metadata name="lblCellTotal.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </metadata>
 </root>
\ No newline at end of file
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmRequestInputAuxiliary.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmRequestInputAuxiliary.cs	(revision 422)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmRequestInputAuxiliary.cs	(revision 423)
@@ -35,12 +35,30 @@
 
         private enum ApprovalState
         {
-            Entry = 0,              // 入力中
-            Apply = 1,              // 申請中
-            Approval = 2,           // 承認中
-            Pending = 3,            // 保留
-            Dismissal = 4,          // 却下
-            End = 5,                // 承認済
+            /// <summary>
+            /// 0:入力中
+            /// </summary>
+            Entry = 0,
+            /// <summary>
+            /// 1:申請中
+            /// </summary>
+            Apply = 1,
+            /// <summary>
+            /// 2:承認中
+            /// </summary>
+            Approval = 2,
+            /// <summary>
+            /// 3:保留
+            /// </summary>
+            Pending = 3,
+            /// <summary>
+            /// 4:却下
+            /// </summary>
+            Dismissal = 4,
+            /// <summary>
+            /// 5:承認済
+            /// </summary>
+            End = 5,
         }
 
         private enum DepositState
@@ -217,10 +235,82 @@
 
         public RequestData m_RequestData = new RequestData();
 
+        /// <summary>
+        /// 請求取消一覧画面
+        /// </summary>
+        FrmCancelDisplay m_FrmCancelDisplay = null;
         #endregion
 
         #region データグリッドビュ関連メソッド
 
+        #region データ表示処理
+        /// <summary>
+        /// データ表示処理
+        /// </summary>
+        private void DataDisplay()
+        {
+            try
+            {
+                // イベント削除
+                dgv1.CellValueChanged -= new DataGridViewCellEventHandler(dgv1_CellValueChanged);
+                dgv1.CellBeginEdit -= new DataGridViewCellCancelEventHandler(dgv1_CellBeginEdit);
+                dgv1.CellFormatting -= new DataGridViewCellFormattingEventHandler(dgv1_CellFormatting);
+
+                m_lstRequestHead.Clear();               // 請求ヘッダリスト
+                m_lstRequestData.Clear();               // 請求データリスト
+                m_lstRequestDataDetail.Clear();         // 請求データ明細リスト
+                m_lstDepDataDetail.Clear();             // 入金データ明細用リスト
+                m_lstDepositDate.Clear();
+                m_lstDepositState.Clear();
+                m_dicBaseConstructionString.Clear();    // 請求工事の工事基本情報明細文字列リスト
+                m_dicConstructionBaseInfo.Clear();      // 工事基本情報リスト
+                m_dicConstructionName.Clear();          // 工事基本情報明細文字列リスト
+                m_dicApprovalMaster.Clear();            // 承認経路マスタ
+                m_dicProcessApproval.Clear();           // 承認データ
+                m_lstOrderState.Clear();                // 承認状態リスト
+
+                dgv1.Rows.Clear();
+
+                // DataGridViewEXに項目名を設定
+                SetGridDisplay();
+
+                // 請求データの取得
+                GetRequestDispData();
+
+                // 請求データの設定
+                SetRequestDispData();
+
+                // 請求月の設定
+                SetRequestMonth();
+
+                // [回数追加]ボタンの制御
+                btnAdd.Enabled = GetbtnAddEnabled();
+
+                // 取消ボタン制御
+                btnDelRequest.Enabled = GetbtnDelRequestEnabled();
+
+                // 取消一覧ボタンの制御
+                btnCancelDsp.Visible = GetbtnCancelDspvisible();
+
+                // 画面左上に分割か一括かを表示
+                BillingLabel();
+
+                m_bDirty = false;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+            finally
+            {
+                // イベント追加
+                dgv1.CellValueChanged += new DataGridViewCellEventHandler(dgv1_CellValueChanged);
+                dgv1.CellBeginEdit += new DataGridViewCellCancelEventHandler(dgv1_CellBeginEdit);
+                dgv1.CellFormatting += new DataGridViewCellFormattingEventHandler(dgv1_CellFormatting);
+            }
+        }
+        #endregion
+
         #region DataGridViewEXの初期表示設定
         /// <summary>
         /// DataGridViewEXの初期表示設定
@@ -232,7 +322,7 @@
                 // DataGrid全体のプロパティ設定
                 dgv1.EnableHeadersVisualStyles = false;
                 dgv1.AutoGenerateColumns = false;
-                dgv1.ColumnHeadersHeight = dgv1.ColumnHeadersHeight + 5;
+                dgv1.ColumnHeadersHeight = 34 + 5;
                 dgv1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                 dgv1.ColumnHeadersDefaultCellStyle.BackColor = Color.Aquamarine;
                 dgv1.AllowUserToAddRows = false;
@@ -1772,9 +1862,6 @@
         {
             try
             {
-                this.dgv1.CellBeginEdit -= dgv1_CellBeginEdit;
-                this.dgv1.CellFormatting -= this.dgv1_CellFormatting;
-
                 RequestHead ReqHead = m_lstRequestHead[m_nMaxOrderNo - 1];
 
                 // 請求先名
@@ -1812,9 +1899,6 @@
                 // 未入金分の設定
                 SetUnpaidAmount();
 
-                this.dgv1.CellBeginEdit += dgv1_CellBeginEdit;
-                this.dgv1.CellFormatting += this.dgv1_CellFormatting;
-
             }
             catch (Exception ex)
             {
@@ -2106,8 +2190,6 @@
         private void SetUnpaidAmount()
         {
             dgv1[(int)ColumnName.ConstructionAmount, 5].Value = m_lUnpaidAmount.ToString("#,0");
-
-            return;
         }
         #endregion
 
@@ -2443,6 +2525,69 @@
         }
         #endregion
 
+        #region [請求取消]ボタンの有効無効判定
+        /// <summary>
+        /// [請求取消]ボタンの有効無効判定
+        /// </summary>
+        private bool GetbtnDelRequestEnabled()
+        {
+            try
+            {
+                RequestHead ReqHead = m_lstRequestHead[m_nMaxOrderNo - 1];
+
+                bool bRet = false;
+                if ((int)ApprovalState.End == GetApprovalState(ReqHead.ReqConstructionCode, ReqHead.OrderNo))
+                    bRet = true;
+
+                return bRet;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+                return false;
+            }
+        }
+        #endregion
+
+        #region [請求取消一覧]ボタンの有効無効判定
+        /// <summary>
+        /// [請求取消一覧]ボタンの有効無効判定
+        /// </summary>
+        private bool GetbtnCancelDspvisible()
+        {
+            IORemoveRequest rrDB = new IORemoveRequest();
+            try
+            {
+                StringBuilder strSQL = new StringBuilder();
+                strSQL.Append("Select");
+                strSQL.Append(" A.RemoveDate");
+                strSQL.Append(", A.RemovePersonCode");
+                strSQL.Append(", B.PersonName");
+                strSQL.Append(", A.RemoveComment");
+                strSQL.Append(", A.RemoveNo");
+                strSQL.Append(", A.ReqConstructionCode");
+                strSQL.Append(" From removerequest As A");
+                strSQL.Append(" left Join personinchargemaster As B");
+                strSQL.Append("       On B.PersonCode = A.RemovePersonCode");
+                strSQL.AppendFormat(" Where A.ReqConstructionCode = {0}", m_ConstructionCode);
+                ArrayList arList = new ArrayList();
+                if (!rrDB.ExecuteReader(strSQL.ToString(), ref arList)) return false;
+                if (arList.Count < 1) return false;
+
+                return true;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+                return false;
+            }
+            finally
+            {
+                rrDB.close(); rrDB = null;
+            }
+        }
+        #endregion
+
         #region 数値編集可能セル判定
         /// <summary>
         /// 数値編集可能セル判定
@@ -2626,51 +2771,56 @@
         /// </summary>
         private void AddRequestOrder()
         {
-            int nOldMaxOrderNo = m_nMaxOrderNo;
+            try
+            {
+                int nOldMaxOrderNo = m_nMaxOrderNo;
 
-            // 請求回数を加算
-            m_nMaxOrderNo++;
+                // 請求回数を加算
+                m_nMaxOrderNo++;
 
-            RequestHead ReqHeadFrom = m_lstRequestHead[nOldMaxOrderNo - 1];
+                RequestHead ReqHeadFrom = m_lstRequestHead[nOldMaxOrderNo - 1];
 
-            RequestHead ReqHeadTo = new RequestHead();
+                RequestHead ReqHeadTo = new RequestHead();
 
-            ReqHeadTo.ReqConstructionCode = m_ConstructionCode;           // 請求工事番号
+                ReqHeadTo.ReqConstructionCode = m_ConstructionCode;           // 請求工事番号
 
-            // 請求Noは登録時に採番
+                // 請求Noは登録時に採番
 
-            // 受付番号は最大受付番号に準拠                                      
-            ReqHeadTo.OrderNo = m_nMaxOrderNo;
+                // 受付番号は最大受付番号に準拠                                      
+                ReqHeadTo.OrderNo = m_nMaxOrderNo;
 
-            // 請求年月は登録時に決定（初期値）      
+                // 請求年月は登録時に決定（初期値）      
 
-            // 発注者区分、発注者コード、発注者名、工事件名は引き継ぐ
-            ReqHeadTo.OrderersDivision = m_BaseConstructionBaseInfo.OrderersDivision;   // 発注者区分   
-            ReqHeadTo.OrderersCode = m_BaseConstructionBaseInfo.OrderersCode;           // 発注者コード
-            ReqHeadTo.OrderersName = ReqHeadFrom.OrderersName;                          // 発注者名
-            ReqHeadTo.ReqConstructionName = ReqHeadFrom.ReqConstructionName;            // 工事件名
+                // 発注者区分、発注者コード、発注者名、工事件名は引き継ぐ
+                ReqHeadTo.OrderersDivision = m_BaseConstructionBaseInfo.OrderersDivision;   // 発注者区分   
+                ReqHeadTo.OrderersCode = m_BaseConstructionBaseInfo.OrderersCode;           // 発注者コード
+                ReqHeadTo.OrderersName = ReqHeadFrom.OrderersName;                          // 発注者名
+                ReqHeadTo.ReqConstructionName = ReqHeadFrom.ReqConstructionName;            // 工事件名
 
-            // 請求金額関係は全て0（初期値）
-            // 備考は初期値
-            // 割当済フラグも初期値
-            // 請求書Noも初期値
+                // 請求金額関係は全て0（初期値）
+                // 備考は初期値
+                // 割当済フラグも初期値
+                // 請求書Noも初期値
 
-            // 請求ヘッダリストに追加
-            m_lstRequestHead.Add(ReqHeadTo);
+                // 請求ヘッダリストに追加
+                m_lstRequestHead.Add(ReqHeadTo);
 
-            Dictionary<int, RequestData> dicDataForm = m_lstRequestData[nOldMaxOrderNo - 1];
-            Dictionary<int, RequestData> dicDataTo = new Dictionary<int, RequestData>();
-            CopyRequestDataDic(dicDataForm, ref dicDataTo);
+                Dictionary<int, RequestData> dicDataForm = m_lstRequestData[nOldMaxOrderNo - 1];
+                Dictionary<int, RequestData> dicDataTo = new Dictionary<int, RequestData>();
+                CopyRequestDataDic(dicDataForm, ref dicDataTo);
 
-            m_lstRequestData.Add(dicDataTo);
+                m_lstRequestData.Add(dicDataTo);
 
-            Dictionary<int, List<RequestDataDetail>> dicDetailFrom = m_lstRequestDataDetail[nOldMaxOrderNo - 1];
-            Dictionary<int, List<RequestDataDetail>> dicDetailTo = new Dictionary<int, List<RequestDataDetail>>();
-            CopyRequestDetailDic(dicDetailFrom, ref dicDetailTo);
+                Dictionary<int, List<RequestDataDetail>> dicDetailFrom = m_lstRequestDataDetail[nOldMaxOrderNo - 1];
+                Dictionary<int, List<RequestDataDetail>> dicDetailTo = new Dictionary<int, List<RequestDataDetail>>();
+                CopyRequestDetailDic(dicDetailFrom, ref dicDetailTo);
 
-            m_lstRequestDataDetail.Add(dicDetailTo);
-
-            return;
+                m_lstRequestDataDetail.Add(dicDetailTo);
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
         }
         #endregion
 
@@ -3524,12 +3674,16 @@
                 {
                     case (int)ConstructionBaseInfo.BillingSplitFlgDef.AllOnBilling:
                         iStatus = CommonDefine.ProjectsStatus.First(x => x.Value.Equals("請求準備")).Key;
-                        strSQL.AppendFormat(" AND CONSTRUCTIONSTATUSFLG >= {0}", iStatus);
+                        strSQL.AppendFormat(" AND (CONSTRUCTIONSTATUSFLG >= {0}", iStatus);
+                        iStatus = CommonDefine.ProjectsStatus.First(x => x.Value.Equals("一般補修工事")).Key;
+                        strSQL.AppendFormat(" OR CONSTRUCTIONSTATUSFLG >= {0})", iStatus);
                         break;
 
                     case (int)ConstructionBaseInfo.BillingSplitFlgDef.SplitBilling:
                         iStatus = CommonDefine.ProjectsStatus.First(x => x.Value.Equals("受　　注")).Key;
-                        strSQL.AppendFormat(" AND CONSTRUCTIONSTATUSFLG >= {0}", iStatus);
+                        strSQL.AppendFormat(" AND (CONSTRUCTIONSTATUSFLG >= {0}", iStatus);
+                        iStatus = CommonDefine.ProjectsStatus.First(x => x.Value.Equals("一般補修工事")).Key;
+                        strSQL.AppendFormat(" OR CONSTRUCTIONSTATUSFLG >= {0})", iStatus);
                         break;
                 }
                 // 工事基本情報取得
@@ -3695,7 +3849,7 @@
         }
         #endregion
 
-        #region 工事増減情報
+        #region 工事増減情報を工事増減情報テーブルから本工事番号をキーに取得する関数
         /// <summary>
         /// 工事増減情報を工事増減情報テーブルから本工事番号をキーに取得する関数
         /// </summary>
@@ -3741,9 +3895,9 @@
         }
         #endregion
 
-        #region 工事リンク情報
+        #region 工事リンク情報取得
         /// <summary>
-        /// 工事リンク情報
+        /// 工事リンク情報取得
         /// </summary>
         private bool GetConstructionLinkFromFluctuationCode(int FluctuationCode, int LinkType, ref int ConstructionCode)
         {
@@ -3873,7 +4027,7 @@
         }
         #endregion
 
-        #region 請求データ
+        #region 請求データを請求データテーブルから工事番号をキーに取得する関数
         /// <summary>
         /// 請求データを請求データテーブルから工事番号をキーに取得する関数
         /// </summary>
@@ -3952,7 +4106,7 @@
         //}
         #endregion
 
-        #region 承認データ
+        #region 承認データを承認データテーブルから工事番号をキーに取得する関数
         /// <summary>
         /// 承認データを承認データテーブルから工事番号をキーに取得する関数
         /// </summary>
@@ -4000,7 +4154,7 @@
         }
         #endregion
 
-        #region 承認経路データ
+        #region 承認経路データを承認経路マスタから取得する
         /// <summary>
         /// 承認経路データを承認経路マスタから取得する
         /// </summary>
@@ -4282,5 +4436,294 @@
             }
         }
         #endregion
+
+        #region 請求データ取消処理
+        /// <summary>
+        /// 請求データ取消処理
+        /// </summary>
+        private bool RequestRemoveProc()
+        {
+            FrmCancelRequest frm = new FrmCancelRequest();
+            try
+            {
+                // 取消不可のチェック
+                if (!NotCancelCheck())
+                {
+                    MessageBox.Show("入金処理がされているものは請求取消できません。"
+                                    , "取消エラー"
+                                    , MessageBoxButtons.OK
+                                    , MessageBoxIcon.Error);
+                    return false;
+                }
+
+                // 請求回数
+                frm.RequestCount = m_nMaxOrderNo;
+                // 請求金額
+                frm.RequestPrice = m_lstRequestHead[m_nMaxOrderNo - 1].RequestAmount;
+
+                if (frm.ShowDialog() == DialogResult.Cancel) return false;
+                // 取消理由
+                string strRetText = frm.Reason;
+
+                // 請求取消処理
+                if (!ExecRemoveRequest(strRetText))
+                {
+                    return false;
+                }
+
+                // データ表示
+                DataDisplay();
+
+                return true;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+                return false;
+            }
+            finally
+            {
+                frm.Dispose(); frm = null;
+            }
+        }
+        #endregion
+
+        #region 取消不可のチェック
+        /// <summary>
+        /// 取消不可のチェック
+        /// </summary>
+        /// <returns></returns>
+        private bool NotCancelCheck()
+        {
+            IODepositDataDetail iODepositDataDetail = new IODepositDataDetail();
+            try
+            {
+                bool bRet = true;
+                StringBuilder strSQL = new StringBuilder();
+
+                RequestHead ReqHead = m_lstRequestHead[m_nMaxOrderNo - 1];
+
+                // 入金データが存在するか確認する
+                strSQL.Append("select * ");
+                strSQL.Append("       from depositdatadetail As A");
+                strSQL.Append("            Inner Join requesthead As B On B.REQUESTNO = A.REQUESTNO");
+                strSQL.AppendFormat(" Where A.ORDERERSDIVISION = {0}", ReqHead.OrderersDivision);
+                strSQL.AppendFormat(" And A.ORDERERSCODE = {0}", ReqHead.OrderersCode);
+                strSQL.AppendFormat(" And A.TARGETDATE = {0}", ReqHead.RequestMonth);
+                strSQL.AppendFormat(" And A.REQUESTNO = {0}", ReqHead.RequestNo);
+                strSQL.Append("       And A.DEPOSITAMOUNT > 0");
+                ArrayList arrayList = new ArrayList();
+                if (!iODepositDataDetail.ExecuteReader(strSQL.ToString(), ref arrayList)) return false;
+                // 入金データがあれば処理を終了する
+                if (arrayList.Count > 0) bRet = false;
+
+                return bRet;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+                return false;
+            }
+            finally
+            {
+                iODepositDataDetail.close(); iODepositDataDetail = null;
+            }
+        }
+        #endregion
+
+        #region 請求取消処理
+        /// <summary>
+        /// 請求取消処理
+        /// </summary>
+        /// <param name="strRetText"></param>
+        /// <returns></returns>
+        private bool ExecRemoveRequest(string strRetText)
+        {
+            IORemoveRequest rrDB = new IORemoveRequest();
+            IORemoveRequestDetail rrdDB = new IORemoveRequestDetail();
+            IOProcessApproval appDB = new IOProcessApproval();
+            IOProcessApprovalComment appTextDB = new IOProcessApprovalComment();
+            try
+            {
+                rrDB.connect(); rrDB.beginTran();
+                rrdDB.connect(); rrdDB.beginTran();
+                appDB.connect(); appDB.beginTran();
+                appTextDB.connect(); appTextDB.beginTran();
+
+                int RemoveDate = CommonMotions.cnvInt(DateTime.Today.ToShortDateString().Replace("/", ""));
+                int KeyNo = rrDB.NumberingRemoveNo(RemoveDate, false);
+
+                // 請求取消データセット
+                RemoveRequest rrRec = new RemoveRequest();
+                SetRemoveRec(KeyNo, RemoveDate, strRetText, ref rrRec);
+                // 請求取消データ作成
+                if (!rrDB.InsertAction(rrRec, false))
+                {
+                    rrDB.rollback();
+                    rrdDB.rollback();
+                    appDB.rollback();
+                    appTextDB.rollback();
+
+                    MessageBox.Show("請求取消データ作成に失敗しました。", "請求取消エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                    return false;
+                }
+
+                // 請求取消データ明細セット
+                List<RemoveRequestDetail> rrdRec = new List<RemoveRequestDetail>();
+                SetRemoveDetailRec(KeyNo, ref rrdRec);
+                // 請求取消データ明細作成
+                if (!rrdDB.InsertAction(rrdRec, false))
+                {
+                    rrDB.rollback();
+                    rrdDB.rollback();
+                    appDB.rollback();
+                    appTextDB.rollback();
+
+                    MessageBox.Show("請求取消データ明細作成に失敗しました。", "請求取消エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                    return false;
+                }
+
+                StringBuilder strSQL = new StringBuilder();
+                strSQL.Append(appDB.CreatePrimarykeyString(m_ConstructionCode,
+                                                            (int)ClsExcute.ApprovalListNo.OrderRequestApproval,
+                                                            m_nMaxOrderNo));
+                // 承認データ削除
+                if(!appDB.DeleteAction(strSQL.ToString(), false))
+                {
+                    rrDB.rollback();
+                    rrdDB.rollback();
+                    appDB.rollback();
+                    appTextDB.rollback();
+
+                    MessageBox.Show("承認データ削除に失敗しました。","請求取消エラー",MessageBoxButtons.OK,MessageBoxIcon.Error);
+                    return false;
+                }
+
+                // 承認コメントデータ削除
+                appTextDB.DeleteAction(strSQL.ToString(), false);
+
+                rrDB.commit();
+                rrdDB.commit();
+                appDB.commit();
+                appTextDB.commit();
+
+                return true;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+                return false;
+            }
+            finally
+            {
+                rrDB.close(); rrDB = null;
+                rrdDB.close(); rrdDB = null;
+                appDB.close(); appDB = null;
+                appTextDB.close(); appTextDB = null;
+            }
+        }
+        #endregion
+
+        #region 請求取消データセット
+        /// <summary>
+        /// 請求取消データセット
+        /// </summary>
+        private void SetRemoveRec(int KeyNo, int RemoveDate, string strRetText, ref RemoveRequest rrRec)
+        {
+            try
+            {
+                RequestHead ReqHead = m_lstRequestHead[m_nMaxOrderNo - 1];
+
+                rrRec.RemoveNo = KeyNo;
+                rrRec.RemoveDate = RemoveDate;
+                rrRec.RemovePersonCode = CommonMotions.LoginUserData.PersonCode;
+                rrRec.RemoveComment = strRetText;
+                rrRec.RequestNo = ReqHead.RequestNo;
+                rrRec.ReqConstructionCode = ReqHead.ReqConstructionCode;
+                rrRec.OrderNo = ReqHead.OrderNo;
+                rrRec.RequestMonth = ReqHead.RequestMonth;
+                rrRec.OrderersDivision = ReqHead.OrderersDivision;
+                rrRec.OrderersCode = ReqHead.OrderersCode;
+                rrRec.OrderersName = ReqHead.OrderersName;
+                rrRec.ReqConstructionName = ReqHead.ReqConstructionName;
+                rrRec.RequestTotalAmount = ReqHead.RequestTotalAmount;
+                rrRec.RequestAmount = ReqHead.RequestAmount;
+                rrRec.TaxAmount = ReqHead.TaxAmount;
+                rrRec.UnpaidAmount = ReqHead.UnpaidAmount;
+                rrRec.Note = ReqHead.Note;
+                rrRec.AssignedFlg = ReqHead.AssignedFlg;
+                rrRec.InvoiceNo = ReqHead.InvoiceNo;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
+        #region 請求取消データセット
+        /// <summary>
+        /// 請求取消データセット
+        /// </summary>
+        private void SetRemoveDetailRec(int KeyNo, ref List<RemoveRequestDetail> rrdRec)
+        {
+            try
+            {
+                Dictionary<int, List<RequestDataDetail>> ReqDetail = m_lstRequestDataDetail[m_nMaxOrderNo - 1];
+
+                int nContNo = 0;
+                foreach (KeyValuePair<int, List<RequestDataDetail>> CurDetail in ReqDetail)
+                {
+                    for (int i = 0; i < CurDetail.Value.Count; i++)
+                    {
+                        RemoveRequestDetail CurRec = new RemoveRequestDetail();
+                        CurRec.RemoveNo = KeyNo;
+                        CurRec.SeqNo = ++nContNo;
+                        CurRec.RequestNo = CurDetail.Value[i].RequestNo;                        // 請求番号
+                        CurRec.MainConstructionCode = CurDetail.Value[i].MainConstructionCode;  // 本工事番号
+                        CurRec.ConstructionCode = CurDetail.Value[i].ConstructionCode;          // 工事番号
+                        CurRec.ConstructionKind = CurDetail.Value[i].ConstructionKind;          // 工事区分
+                        CurRec.RequestAmount = CurDetail.Value[i].RequestAmount;                // 請求金額
+                        CurRec.TaxAmount = CurDetail.Value[i].TaxAmount;                        // 消費税
+
+                        rrdRec.Add(CurRec);
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
+        #region 取消一覧画面表示
+        /// <summary>
+        /// 取消一覧画面表示
+        /// </summary>
+        private void DispCancelListControl()
+        {
+            try
+            {
+                // 取消一覧画面表示
+                m_FrmCancelDisplay = new FrmCancelDisplay();
+                // 位置設定
+                m_FrmCancelDisplay.LocationPoint = new Point(this.Right, this.Bottom);
+                // 工事番号セット
+                m_FrmCancelDisplay.ConstrCode = m_ConstructionCode;
+
+                // タスクバーに表示しない
+                //m_frmAmountAllocation.ShowInTaskbar = false;
+
+                // クロースドハンドラをこちらで定義する
+                m_FrmCancelDisplay.FormClosed += new FormClosedEventHandler(FrmCancelDisplay_FormClosed);
+                m_FrmCancelDisplay.Show();
+            }
+            catch (System.Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
     }
 }
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestSummaryList/FrmRequestSummaryListAuxiliary.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestSummaryList/FrmRequestSummaryListAuxiliary.cs	(revision 422)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestSummaryList/FrmRequestSummaryListAuxiliary.cs	(revision 423)
@@ -3868,7 +3868,8 @@
                 ProgressBarCtrl(true);
 
                 // ��U�Z���̒l�ύX�C�x���g�𖳌��ɂ���
-                dgv.CellValueChanged -= DataGridView_CellValueChanged;
+                dgvCompany.CellValueChanged -= new DataGridViewCellEventHandler(DataGridView_CellValueChanged);
+                dgvProject.CellValueChanged -= new DataGridViewCellEventHandler(DataGridView_CellValueChanged);
 
                 // �O���b�h�̍s��0�ɖ߂�
                 dgv.Rows.Clear();
@@ -4070,7 +4071,8 @@
             finally
             {
                 // �C�x���g�n���h���ēo�^
-                dgv.CellValueChanged += DataGridView_CellValueChanged;
+                dgvCompany.CellValueChanged += new DataGridViewCellEventHandler(DataGridView_CellValueChanged);
+                dgvProject.CellValueChanged += new DataGridViewCellEventHandler(DataGridView_CellValueChanged);
 
                 IoBd.close(); IoBd = null;
                 IoCbi.close(); IoCbi = null;
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmConstrProgDiag.Designer.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmConstrProgDiag.Designer.cs	(nonexistent)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmConstrProgDiag.Designer.cs	(revision 423)
@@ -0,0 +1,215 @@
+﻿namespace ProcessManagement.Forms.SubForms
+{
+    partial class FrmConstrProgDiag
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
+            this.btnEnd = new System.Windows.Forms.Button();
+            this.btnSelect = new System.Windows.Forms.Button();
+            this.dgvMaster = new ProcessManagement.Forms.CustomControls.DataGridViewEX();
+            this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.Column5 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.Column2 = new System.Windows.Forms.DataGridViewCheckBoxColumn();
+            this.panel1 = new System.Windows.Forms.Panel();
+            this.label1 = new System.Windows.Forms.Label();
+            ((System.ComponentModel.ISupportInitialize)(this.dgvMaster)).BeginInit();
+            this.panel1.SuspendLayout();
+            this.SuspendLayout();
+            // 
+            // btnEnd
+            // 
+            this.btnEnd.BackColor = System.Drawing.Color.Blue;
+            this.btnEnd.Font = new System.Drawing.Font("ＭＳ 明朝", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+            this.btnEnd.ForeColor = System.Drawing.Color.White;
+            this.btnEnd.Location = new System.Drawing.Point(772, 214);
+            this.btnEnd.Name = "btnEnd";
+            this.btnEnd.Size = new System.Drawing.Size(120, 30);
+            this.btnEnd.TabIndex = 3;
+            this.btnEnd.Text = "終　了";
+            this.btnEnd.UseVisualStyleBackColor = false;
+            this.btnEnd.Click += new System.EventHandler(this.btnEnd_Click);
+            // 
+            // btnSelect
+            // 
+            this.btnSelect.BackColor = System.Drawing.Color.Green;
+            this.btnSelect.Font = new System.Drawing.Font("ＭＳ 明朝", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+            this.btnSelect.ForeColor = System.Drawing.Color.White;
+            this.btnSelect.Location = new System.Drawing.Point(644, 214);
+            this.btnSelect.Name = "btnSelect";
+            this.btnSelect.Size = new System.Drawing.Size(120, 30);
+            this.btnSelect.TabIndex = 2;
+            this.btnSelect.Text = "選　択";
+            this.btnSelect.UseVisualStyleBackColor = false;
+            this.btnSelect.Click += new System.EventHandler(this.btnSelect_Click);
+            // 
+            // dgvMaster
+            // 
+            this.dgvMaster.AllowUserToAddRows = false;
+            this.dgvMaster.AllowUserToDeleteRows = false;
+            this.dgvMaster.AllowUserToResizeColumns = false;
+            this.dgvMaster.AllowUserToResizeRows = false;
+            this.dgvMaster.BackgroundColor = System.Drawing.Color.White;
+            this.dgvMaster.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
+            dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control;
+            dataGridViewCellStyle1.Font = new System.Drawing.Font("ＭＳ 明朝", 12F, System.Drawing.FontStyle.Bold);
+            dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
+            dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+            dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+            dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+            this.dgvMaster.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
+            this.dgvMaster.ColumnHeadersHeight = 24;
+            this.dgvMaster.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
+            this.dgvMaster.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+            this.Column1,
+            this.Column5,
+            this.Column3,
+            this.Column2});
+            this.dgvMaster.EnableHeadersVisualStyles = false;
+            this.dgvMaster.Location = new System.Drawing.Point(12, 60);
+            this.dgvMaster.Name = "dgvMaster";
+            this.dgvMaster.RowHeadersVisible = false;
+            this.dgvMaster.RowHeadersWidth = 20;
+            this.dgvMaster.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
+            this.dgvMaster.RowTemplate.Height = 24;
+            this.dgvMaster.Size = new System.Drawing.Size(880, 146);
+            this.dgvMaster.TabIndex = 0;
+            this.dgvMaster.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvMaster_CellDoubleClick);
+            // 
+            // Column1
+            // 
+            dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            dataGridViewCellStyle2.Font = new System.Drawing.Font("ＭＳ 明朝", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+            this.Column1.DefaultCellStyle = dataGridViewCellStyle2;
+            this.Column1.Frozen = true;
+            this.Column1.HeaderText = "№";
+            this.Column1.Name = "Column1";
+            this.Column1.ReadOnly = true;
+            this.Column1.Resizable = System.Windows.Forms.DataGridViewTriState.False;
+            this.Column1.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            this.Column1.Width = 60;
+            // 
+            // Column5
+            // 
+            dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            this.Column5.DefaultCellStyle = dataGridViewCellStyle3;
+            this.Column5.Frozen = true;
+            this.Column5.HeaderText = "工事番号";
+            this.Column5.Name = "Column5";
+            this.Column5.ReadOnly = true;
+            this.Column5.Resizable = System.Windows.Forms.DataGridViewTriState.False;
+            this.Column5.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            this.Column5.Visible = false;
+            this.Column5.Width = 120;
+            // 
+            // Column3
+            // 
+            dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle4.Font = new System.Drawing.Font("ＭＳ 明朝", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+            this.Column3.DefaultCellStyle = dataGridViewCellStyle4;
+            this.Column3.Frozen = true;
+            this.Column3.HeaderText = "増　減　工　事　名　称";
+            this.Column3.Name = "Column3";
+            this.Column3.ReadOnly = true;
+            this.Column3.Resizable = System.Windows.Forms.DataGridViewTriState.False;
+            this.Column3.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            this.Column3.Width = 760;
+            // 
+            // Column2
+            // 
+            this.Column2.HeaderText = "同";
+            this.Column2.Name = "Column2";
+            this.Column2.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+            this.Column2.Width = 40;
+            // 
+            // panel1
+            // 
+            this.panel1.BackColor = System.Drawing.Color.LemonChiffon;
+            this.panel1.Controls.Add(this.label1);
+            this.panel1.Location = new System.Drawing.Point(12, 6);
+            this.panel1.Name = "panel1";
+            this.panel1.Size = new System.Drawing.Size(880, 50);
+            this.panel1.TabIndex = 5;
+            // 
+            // label1
+            // 
+            this.label1.BackColor = System.Drawing.Color.Black;
+            this.label1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
+            this.label1.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
+            this.label1.Font = new System.Drawing.Font("ＭＳ 明朝", 18F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+            this.label1.ForeColor = System.Drawing.Color.White;
+            this.label1.Location = new System.Drawing.Point(40, 6);
+            this.label1.Name = "label1";
+            this.label1.Size = new System.Drawing.Size(800, 36);
+            this.label1.TabIndex = 5;
+            this.label1.Text = "関連工事の中で工事進捗状態を同じにする工事を選択してください。";
+            this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            // 
+            // FrmConstrProgDiag
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
+            this.BackColor = System.Drawing.Color.Black;
+            this.ClientSize = new System.Drawing.Size(904, 251);
+            this.Controls.Add(this.panel1);
+            this.Controls.Add(this.dgvMaster);
+            this.Controls.Add(this.btnSelect);
+            this.Controls.Add(this.btnEnd);
+            this.Font = new System.Drawing.Font("ＭＳ 明朝", 12F, System.Drawing.FontStyle.Bold);
+            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+            this.KeyPreview = true;
+            this.MaximizeBox = false;
+            this.MinimizeBox = false;
+            this.Name = "FrmConstrProgDiag";
+            this.ShowIcon = false;
+            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+            this.Text = "工事案件進捗同期選択";
+            this.Load += new System.EventHandler(this.FrmCostStructureDiag_Load);
+            ((System.ComponentModel.ISupportInitialize)(this.dgvMaster)).EndInit();
+            this.panel1.ResumeLayout(false);
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private System.Windows.Forms.Button btnEnd;
+        private System.Windows.Forms.Button btnSelect;
+        private ProcessManagement.Forms.CustomControls.DataGridViewEX dgvMaster;
+        private System.Windows.Forms.DataGridViewTextBoxColumn Column1;
+        private System.Windows.Forms.DataGridViewTextBoxColumn Column5;
+        private System.Windows.Forms.DataGridViewTextBoxColumn Column3;
+        private System.Windows.Forms.DataGridViewCheckBoxColumn Column2;
+        private System.Windows.Forms.Panel panel1;
+        private System.Windows.Forms.Label label1;
+    }
+}
\ No newline at end of file
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmConstrProgDiag.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmConstrProgDiag.cs	(nonexistent)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmConstrProgDiag.cs	(revision 423)
@@ -0,0 +1,332 @@
+﻿using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+using ProcessManagement.Common;
+using ProcessManagement.DB.IOAccess;
+using ProcessManagement.DataModel;
+using ProcessManagement.Forms.CustomControls;
+using ProcessManagement.Forms.ControlsAction;
+using System.Collections;
+
+namespace ProcessManagement.Forms.SubForms
+{
+    public partial class FrmConstrProgDiag : Form
+    {
+        #region ログ使用定義
+        //log4netログを使用する
+        private static readonly log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
+        #endregion
+
+        #region 定数
+        /// <summary>
+        /// 表示カラム
+        /// </summary>
+        private enum GridColumn
+        {
+            DisplayOrder = 0,
+            ConstructionCode,
+            ConstructionName,
+            Check,
+        }
+
+        /// <summary>
+        /// 担当者検索位置
+        /// </summary>
+        public enum PersonChargePoint
+        {
+            /// <summary>
+            /// 営業担当
+            /// </summary>
+            Sales = 0,
+            /// <summary>
+            /// 工事担当者
+            /// </summary>
+            Construction,
+        }
+        #endregion
+
+        #region 変数
+
+        #region 工事番号
+        /// <summary>
+        /// 工事番号
+        /// </summary>
+        private int m_ConstructionCode = 0;
+        #endregion
+
+        #region 対象リスト
+        /// <summary>
+        /// 対象リスト
+        /// </summary>
+        private List<int> m_TergetList = new List<int>();
+        #endregion
+        
+        #endregion
+        
+        #region プロパティ
+        /// <summary>
+        /// 工事番号
+        /// </summary>
+        public int ConstructionCode
+        {
+            get { return m_ConstructionCode; }
+            set { m_ConstructionCode = value; }
+        }
+
+        /// <summary>
+        /// 対象リスト
+        /// </summary>
+        public List<int> TergetList
+        {
+            get { return m_TergetList; }
+            set { m_TergetList = value; }
+        }
+        #endregion
+
+        #region フォーム初期化
+        /// <summary>
+        /// フォーム初期化
+        /// </summary>
+        public FrmConstrProgDiag()
+        {
+            InitializeComponent();
+        }
+        #endregion
+
+        #region フォームロード
+        /// <summary>
+        /// フォームロード
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void FrmCostStructureDiag_Load(object sender, EventArgs e)
+        {
+            // フォームサイズ固定
+            this.MaximizedBounds = new Rectangle(this.Left, this.Top, this.Width, this.Height);
+
+            // 初期表示
+            InitDataLoad();
+        }
+        #endregion
+
+        #region 終了ボタン押下
+        /// <summary>
+        /// 終了ボタン押下
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnEnd_Click(object sender, EventArgs e)
+        {
+            DialogResult = DialogResult.Cancel;
+            this.Close();
+        }
+        #endregion
+
+        #region 選択ボタン押下
+        /// <summary>
+        /// 選択ボタン押下
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnSelect_Click(object sender, EventArgs e)
+        {
+            try
+            {
+                DataGridViewEX dgv = dgvMaster;
+
+                m_TergetList.Clear();
+
+                // 選択
+                foreach (DataGridViewRow CurRow in dgv.Rows)
+                {
+                    // 空欄チェック
+                    if (!BlanckRowCheck(CurRow)) continue;
+
+                    if (!CommonMotions.cnvBool(CurRow.Cells[(int)GridColumn.Check].Value)) continue;
+
+                    m_TergetList.Add(CommonMotions.cnvInt(CurRow.Cells[(int)GridColumn.ConstructionCode].Value));
+                }
+
+                DialogResult = DialogResult.OK;
+                this.Close();
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
+        #region セルのダブルクリック時
+        /// <summary>
+        /// セルのダブルクリック時
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void dgvMaster_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
+        {
+            try
+            {
+                DataGridViewEX dgv = dgvMaster;
+                DataGridViewRow CurRow = dgv.CurrentRow;
+
+                // 空白チェック
+                if (!BlanckRowCheck(CurRow)) return;
+                // グリッドクリック以外は処理しない
+                if (e.RowIndex < 0) return;
+
+                CurRow.Cells[(int)GridColumn.Check].Value = true;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
+        #region 初期表示処理
+        /// <summary>
+        /// 初期表示処理
+        /// </summary>
+        private void InitDataLoad()
+        {
+            try
+            {
+                // グリッドの行を0に戻す
+                dgvMaster.Rows.Clear();
+
+                // 一覧表示
+                DisplayConstruction();
+
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
+        #region 工事一覧表示処理
+        /// <summary>
+        /// 工事一覧表示処理
+        /// </summary>
+        private void DisplayConstruction()
+        {
+            IOConstructionBaseInfo BaseDB = new IOConstructionBaseInfo();
+            try
+            {
+                dgvMaster.Rows.Clear();
+
+                int ParentCode = ClsProcessExist.GetParentConstrCode(m_ConstructionCode);
+
+                int nAppCode = ClsExcute.AppovalList.First(x => x.Value.Equals("工事予算書承認")).Key;
+
+                int[] nStatArrary = new int[] {CommonDefine.ProjectsStatus.First(x => x.Value.Equals("施工準備")).Key,
+                                                CommonDefine.ProjectsStatus.First(x => x.Value.Equals("施工準備")).Key,
+                                                CommonDefine.ProjectsStatus.First(x => x.Value.Equals("施工開始")).Key,
+                                                CommonDefine.ProjectsStatus.First(x => x.Value.Equals("施工完了")).Key,
+                                                CommonDefine.ProjectsStatus.First(x => x.Value.Equals("請求準備")).Key,
+                                                CommonDefine.ProjectsStatus.First(x => x.Value.Equals("請求確認")).Key};
+
+                StringBuilder strSQL = new StringBuilder();
+                strSQL.Append("SELECT");
+                strSQL.Append(" A.CONSTRUCTIONCODE");
+                strSQL.Append(", B.DETAILSTRING");
+                strSQL.Append(" FROM CONSTRUCTIONBASEINFO A");
+                
+                strSQL.Append(" Inner Join constructionbaseinfodetail As B");
+                strSQL.Append("        On B.ConstructionCode = A.ConstructionCode");
+                strSQL.AppendFormat("  And B.DetailNo = {0}", (int)ConstructionBaseInfoDetail.DataNoDef.ConstructionName);
+
+                strSQL.Append(" Inner Join processapproval As D");
+                strSQL.Append("        On D.ConstructionCode = A.ConstructionCode");
+                strSQL.AppendFormat("  And D.ApprovalCode = {0}", nAppCode);
+                strSQL.Append("        And D.SeqNo = 1");
+                strSQL.AppendFormat("  And D.ApprovalStatus = {0}", (int)CommonDefine.ApprovalStatus.Approval);
+
+                strSQL.Append(" Where");
+                strSQL.AppendFormat(" A.ConstructionCode = {0}", ParentCode);
+                strSQL.Append("    Or A.ConstructionCode in (Select C.FluctuationCode From constructionlink As C");
+                strSQL.AppendFormat("                        Where C.ConstructionCode = {0})", ParentCode);
+                strSQL.AppendFormat(" And A.ConstructionStatusFlg in ({0},{1},{2},{3},{4},{5})"
+                                , nStatArrary[0], nStatArrary[1], nStatArrary[2]
+                                , nStatArrary[3], nStatArrary[4], nStatArrary[5]);
+                strSQL.Append(" ORDER BY A.CONSTRUCTIONCODE");
+
+                ArrayList BaseList = new ArrayList();
+                if (!BaseDB.ExecuteReader(strSQL.ToString(), ref BaseList)) return;
+                if (BaseList.Count < 1)
+                {
+                    MessageBox.Show("対象データがありません。", "選択データ無", MessageBoxButtons.OK, MessageBoxIcon.Stop);
+                    DialogResult = DialogResult.No;
+                    this.Close();
+                    return;
+                }
+                else if (BaseList.Count == 1)
+                {
+                    // 1件しかない場合は一覧を表示しない
+                    object[] Once = (object[])BaseList[0];
+                    // 工事番号取得
+                    m_ConstructionCode = CommonMotions.cnvInt(Once[0]);
+                    DialogResult = DialogResult.OK;
+                    this.Close();
+                    return;
+                }
+
+                // 要素表示
+                int i = 0;
+                foreach (object[] wrk in BaseList)
+                {
+                    // 自分は表示しない
+                    if (m_ConstructionCode == CommonMotions.cnvInt(wrk[0])) continue;
+                    // データ表示
+                    dgvMaster.Rows.Add((i + 1),
+                                        CommonMotions.cnvInt(wrk[0]),
+                                        CommonMotions.cnvString(wrk[1]),
+                                        false);
+
+                    dgvMaster.Rows[i++].Cells[(int)GridColumn.ConstructionName].ToolTipText = CommonMotions.cnvString(wrk[1]);
+                }
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+            finally
+            {
+                BaseDB.close(); BaseDB = null;
+            }
+        }
+        #endregion
+
+        #region グリッド空行チェック
+        /// <summary>
+        /// グリッド空行チェック
+        /// </summary>
+        /// <param name="row"></param>
+        /// <returns></returns>
+        private bool BlanckRowCheck(DataGridViewRow row)
+        {
+            try
+            {
+                // 空欄チェック
+                if (CommonMotions.chkObjectIsNull(row.Cells[(int)GridColumn.ConstructionCode].Value)) return false;
+                if (CommonMotions.cnvString(row.Cells[(int)GridColumn.ConstructionName].Value).Length == 0) return false;
+
+                return true;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+                return false;
+            }
+        }
+        #endregion
+    }
+}
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmConstrProgDiag.resx
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmConstrProgDiag.resx	(nonexistent)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmConstrProgDiag.resx	(revision 423)
@@ -0,0 +1,132 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <metadata name="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="Column5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="Column3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+</root>
\ No newline at end of file
Index: trunk/src/ProcessManagement/ProcessManagement/ProcessManagement.csproj
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/ProcessManagement.csproj	(revision 422)
+++ trunk/src/ProcessManagement/ProcessManagement/ProcessManagement.csproj	(revision 423)
@@ -159,6 +159,8 @@
     <Compile Include="DataModel\RemInvoiceData.cs" />
     <Compile Include="DataModel\RecordKey.cs" />
     <Compile Include="DataModel\PersonExpensesCost.cs" />
+    <Compile Include="DataModel\RemoveRequest.cs" />
+    <Compile Include="DataModel\RemoveRequestDetail.cs" />
     <Compile Include="DataModel\SalaryClass.cs" />
     <Compile Include="DataModel\GridCellStyleMember.cs" />
     <Compile Include="DataModel\ChgConstrCharge.cs" />
@@ -265,6 +267,8 @@
     <Compile Include="DB\IOAccess\IOMCommonCostMiddleSearchWord.cs" />
     <Compile Include="DB\IOAccess\IOPeriodAvoidance.cs" />
     <Compile Include="DB\IOAccess\IOPersonApprovalDetail.cs" />
+    <Compile Include="DB\IOAccess\IORemoveRequest.cs" />
+    <Compile Include="DB\IOAccess\IORemoveRequestDetail.cs" />
     <Compile Include="DB\IOAccess\IOSFPDataDetail.cs" />
     <Compile Include="DB\IOAccess\IOSFPData.cs" />
     <Compile Include="DB\IOAccess\IOMPersonDepartment.cs" />
@@ -698,6 +702,18 @@
     <Compile Include="Forms\DataEntry\Request\RequestEntry\FrmEntryReqSelRequest.Designer.cs">
       <DependentUpon>FrmEntryReqSelRequest.cs</DependentUpon>
     </Compile>
+    <Compile Include="Forms\DataEntry\Request\RequestInput\FrmCancelDisplay.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="Forms\DataEntry\Request\RequestInput\FrmCancelDisplay.Designer.cs">
+      <DependentUpon>FrmCancelDisplay.cs</DependentUpon>
+    </Compile>
+    <Compile Include="Forms\DataEntry\Request\RequestInput\FrmCancelRequest.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="Forms\DataEntry\Request\RequestInput\FrmCancelRequest.Designer.cs">
+      <DependentUpon>FrmCancelRequest.cs</DependentUpon>
+    </Compile>
     <Compile Include="Forms\DataEntry\Request\RequestPrintList\FrmReqPrintList.cs">
       <SubType>Form</SubType>
     </Compile>
@@ -974,6 +990,12 @@
     <Compile Include="Forms\SubForms\FrmPeriodAvoidance.designer.cs">
       <DependentUpon>FrmPeriodAvoidance.cs</DependentUpon>
     </Compile>
+    <Compile Include="Forms\SubForms\FrmConstrProgDiag.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="Forms\SubForms\FrmConstrProgDiag.Designer.cs">
+      <DependentUpon>FrmConstrProgDiag.cs</DependentUpon>
+    </Compile>
     <Compile Include="Forms\SubForms\FrmVehicleSelector.cs">
       <SubType>Form</SubType>
     </Compile>
@@ -1600,6 +1622,12 @@
     <EmbeddedResource Include="Forms\DataEntry\Request\RequestEntry\FrmEntryReqSelRequest.resx">
       <DependentUpon>FrmEntryReqSelRequest.cs</DependentUpon>
     </EmbeddedResource>
+    <EmbeddedResource Include="Forms\DataEntry\Request\RequestInput\FrmCancelDisplay.resx">
+      <DependentUpon>FrmCancelDisplay.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Forms\DataEntry\Request\RequestInput\FrmCancelRequest.resx">
+      <DependentUpon>FrmCancelRequest.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="Forms\DataEntry\Request\RequestPrintList\FrmReqPrintList.resx">
       <DependentUpon>FrmReqPrintList.cs</DependentUpon>
     </EmbeddedResource>
@@ -1705,6 +1733,9 @@
     <EmbeddedResource Include="Forms\SubForms\FrmPeriodAvoidance.resx">
       <DependentUpon>FrmPeriodAvoidance.cs</DependentUpon>
     </EmbeddedResource>
+    <EmbeddedResource Include="Forms\SubForms\FrmConstrProgDiag.resx">
+      <DependentUpon>FrmConstrProgDiag.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="Forms\SubForms\FrmVehicleSelector.resx">
       <DependentUpon>FrmVehicleSelector.cs</DependentUpon>
     </EmbeddedResource>
