Index: branches/src/ProcessManagement/ProcessManagement/Common/CommonVersion.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Common/CommonVersion.cs	(revision 325)
+++ branches/src/ProcessManagement/ProcessManagement/Common/CommonVersion.cs	(revision 326)
@@ -14,7 +14,7 @@
         /// <summary>
         /// æœ¬ä½“ãƒ�ãƒ¼ã‚¸ãƒ§ãƒ³
         /// </summary>
-        public static int s_SystemVersion = 148;
+        public static int s_SystemVersion = 150;
 
         /// <summary>
         /// ã‚³ãƒ”ãƒ¼ãƒ»ç’°å¢ƒãƒ�ãƒ¼ã‚¸ãƒ§ãƒ³
Index: branches/src/ProcessManagement/ProcessManagement/Common/Process/ClsExcute.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Common/Process/ClsExcute.cs	(revision 325)
+++ branches/src/ProcessManagement/ProcessManagement/Common/Process/ClsExcute.cs	(revision 326)
@@ -1433,7 +1433,7 @@
 
                 // ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆ
                 frm.ConstructionCode = CurrentPara.IntExecParameter[0];
-                if (CurrentPara.BoolExecParameter.Count > 0) frm.ReqSumDspFlag = CurrentPara.BoolExecParameter[0];
+                //if (CurrentPara.BoolExecParameter.Count > 0) frm.ReqSumDspFlag = CurrentPara.BoolExecParameter[0];
 
                 // ãƒ•ã‚©ãƒ¼ãƒ è¡¨ç¤º
                 frm.ShowDialog();
Index: branches/src/ProcessManagement/ProcessManagement/DB/IOAccess/IOConstructionBaseInfo.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/DB/IOAccess/IOConstructionBaseInfo.cs	(revision 325)
+++ branches/src/ProcessManagement/ProcessManagement/DB/IOAccess/IOConstructionBaseInfo.cs	(revision 326)
@@ -1057,9 +1057,9 @@
         }
         #endregion
 
-        #region å·¥äº‹ç•ªå�·ã�®æž�ç•ªã�Œæœ€å¤§å€¤ã�®ã‚‚ã�®ã‚’å�–å¾—ã�™ã‚‹
+        #region å·¥äº‹ç•ªå�·ã�®æž�ç•ªã�Œæœ€å¤§å€¤ï¼‹ï¼‘ã‚’å�–å¾—ã�™ã‚‹
         /// <summary>
-        /// å·¥äº‹ç•ªå�·ã�®æž�ç•ªã�Œæœ€å¤§å€¤ã�®ã‚‚ã�®ã‚’å�–å¾—ã�™ã‚‹
+        /// å·¥äº‹ç•ªå�·ã�®æž�ç•ªã�Œæœ€å¤§å€¤ï¼‹ï¼‘ã‚’å�–å¾—ã�™ã‚‹
         /// </summary>
         /// <param name="NowCode"></param>
         /// <returns></returns>
Index: branches/src/ProcessManagement/ProcessManagement/DB/IOAccess/IOPersonApprovalDetail.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/DB/IOAccess/IOPersonApprovalDetail.cs	(nonexistent)
+++ branches/src/ProcessManagement/ProcessManagement/DB/IOAccess/IOPersonApprovalDetail.cs	(revision 326)
@@ -0,0 +1,542 @@
+ï»¿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Collections;
+
+using log4net;
+using MySql.Data.MySqlClient;           // Data Provider for MySql
+
+using ProcessManagement.DB.MySql;
+using ProcessManagement.DB.Core;
+using ProcessManagement.DataModel;
+
+using ProcessManagement.Common;
+
+namespace ProcessManagement.DB.IOAccess
+{
+    /// <summary>
+    /// æ‹…å½“è€…æ‰¿èª�æ˜Žç´°ãƒ‡ãƒ¼ã‚¿ã‚¢ã‚¯ã‚»ã‚¹ã‚¯ãƒ©ã‚¹
+    /// </summary>
+    public class IOPersonApprovalDetail : MySqlProcess
+    {
+        #region å®šç¾©éƒ¨
+        /// <summary>
+        /// log4netãƒ­ã‚°ã‚’ä½¿ç”¨ã�™ã‚‹
+        /// </summary>
+        private static readonly ILog logger = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
+        #endregion
+
+        #region å®šæ•°
+        /// <summary>
+        /// æ‰¿èª�ãƒ‡ãƒ¼ã‚¿ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ä¸¦ã�³
+        /// </summary>
+        public enum ColumnName
+        {
+            PersonCode = 0,
+            ApprovalCode,
+            OrderDate,
+            OrderNo,
+            SeqNo,
+            DetailData01,
+            DetailData02,
+            DetailData03,
+            DetailData04,
+            EntryDate,
+            UpdateDate
+        }
+        #endregion
+
+        #region ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿
+        /// <summary>
+        /// ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿
+        /// </summary>
+        /// <param name="ConnectionString"></param>
+        public IOPersonApprovalDetail()
+            : base(DBCommon.Instance.DBConnectString)
+        {
+        }
+
+        #endregion
+
+        #region æ‰¿èª�ãƒ‡ãƒ¼ã‚¿æ¤œç´¢æ–‡å­—åˆ—ä½œæˆ�
+        /// <summary>
+        /// æ‰¿èª�ãƒ‡ãƒ¼ã‚¿æ¤œç´¢æ–‡å­—åˆ—ä½œæˆ�
+        /// </summary>
+        /// <param name="AddSQLString">æ¤œç´¢æ�¡ä»¶SQLæ–‡å­—åˆ—</param>
+        /// <param name="data">æ‰¿èª�ãƒ‡ãƒ¼ã‚¿ãƒ‡ãƒ¼ã‚¿</param>
+        /// <returns>trueï¼šæˆ�åŠŸ falseï¼šå¤±æ•—</returns>
+        private string CreateSelectSQL()
+        {
+            // SQLä½œæˆ�ï¼ˆDateTimeåž‹ã�Œå¤‰æ�›ã�§ã��ã�ªã�„ã�®ã�§Charã�«å¤‰æ�›ã�—ã�¦ã�Šã��ï¼‰
+            StringBuilder strcmd = new StringBuilder();
+            strcmd.Append("SELECT");
+            strcmd.Append(" PersonCode");
+            strcmd.Append(", ApprovalCode");
+            strcmd.Append(", OrderDate");
+            strcmd.Append(", OrderNo");
+            strcmd.Append(", SeqNo");
+            strcmd.Append(", DetailData01");
+            strcmd.Append(", DetailData02");
+            strcmd.Append(", DetailData03");
+            strcmd.Append(", DetailData04");
+            strcmd.Append(", DATE_FORMAT(EntryDate, '%Y/%m/%d %H:%i:%s')");
+            strcmd.Append(", DATE_FORMAT(UpdateDate, '%Y/%m/%d %H:%i:%s')");
+            strcmd.Append(" FROM PersonApprovalDetail");
+
+            return strcmd.ToString();
+        }
+        #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<PersonApprovalDetail> data, bool bConnect = true)
+        {
+            // ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹
+            StringBuilder strcmd = new StringBuilder();
+            ArrayList arData = new ArrayList();
+
+            try
+            {
+                // SQLä½œæˆ�
+                strcmd.Append(CreateSelectSQL());
+                strcmd.Append(AddSQLString);
+
+                // SQLå®Ÿè¡Œ
+                if (!ExecuteReader(strcmd.ToString(), ref arData, bConnect)) return false;
+
+                // ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆ
+                foreach (object[] objwrk in arData)
+                {
+                    PersonApprovalDetail work = new PersonApprovalDetail();
+                    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 æ‰¿èª�ãƒ‡ãƒ¼ã‚¿æ¤œç´¢ï¼ˆ1ä»¶ï¼‰
+        /// <summary>
+        /// æ‰¿èª�ãƒ‡ãƒ¼ã‚¿æ¤œç´¢ï¼ˆ1ä»¶ï¼‰
+        /// </summary>
+        /// <param name="AddSQLString"></param>
+        /// <param name="data"></param>
+        /// <param name="bConnect"></param>
+        /// <returns></returns>
+        public bool SelectAction(string AddSQLString, ref PersonApprovalDetail data, bool bConnect = true)
+        {
+            // ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹
+            StringBuilder strcmd = new StringBuilder();
+            ArrayList arData = new ArrayList();
+
+            try
+            {
+                // SQLä½œæˆ�
+                strcmd.Append(CreateSelectSQL());
+                strcmd.Append(AddSQLString);
+
+                // SQLå®Ÿè¡Œ
+                if (!ExecuteReader(strcmd.ToString(), ref arData, bConnect)) return false;
+                if (arData.Count == 0) return false;
+
+                // ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆ
+                object[] objwrk = (object[])arData[0];
+                Reader2Struct(objwrk, ref data);
+
+                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<PersonApprovalDetail> data, bool bConnect = true)
+        {
+            StringBuilder strcmd = new StringBuilder();
+            try
+            {
+                bool bColFirst = true;
+                strcmd.Append("INSERT INTO PersonApprovalDetail");
+                strcmd.Append(" (");
+                foreach (var gender in Enum.GetValues(typeof(ColumnName)))
+                {
+                    if (!bColFirst) strcmd.Append(", ");
+                    strcmd.Append(gender.ToString());
+                    bColFirst = false;
+                }
+                strcmd.Append(") VALUES");
+
+                bool bDataFirst = true;
+                foreach (PersonApprovalDetail work in data)
+                {
+                    if (bDataFirst) strcmd.Append(" (");
+                    else strcmd.Append(", (");
+
+                    strcmd.AppendFormat("  {0}", work.PersonCode);
+                    strcmd.AppendFormat(", {0}", work.ApprovalCode);
+                    strcmd.AppendFormat(", STR_TO_DATE('{0}','%Y/%m/%d')", work.OrderDate.ToShortDateString());
+                    strcmd.AppendFormat(", {0}", work.OrderNo);
+                    strcmd.AppendFormat(", {0}", work.SeqNo);
+                    strcmd.AppendFormat(", {0}", work.DetailData01);
+                    strcmd.AppendFormat(", {0}", work.DetailData02);
+                    strcmd.AppendFormat(", {0}", work.DetailData03);
+                    strcmd.AppendFormat(", {0}", work.DetailData04);
+                    strcmd.AppendFormat(", STR_TO_DATE('{0}','%Y/%m/%d %H:%i:%s')", work.EntryDate);
+                    strcmd.AppendFormat(", STR_TO_DATE('{0}','%Y/%m/%d %H:%i:%s')", work.UpdateDate);
+                    strcmd.Append(")");
+
+                    bDataFirst = false;
+                }
+
+                if (!ExecuteNonQuery(strcmd.ToString(), false)) return false;
+
+                return true;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}ï¼š{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd.ToString());
+                return false;
+            }
+        }
+        #endregion
+
+        #region æ‰¿èª�ãƒ‡ãƒ¼ã‚¿è¿½åŠ ï¼ˆ1ä»¶ï¼‰
+        /// <summary>
+        /// æ‰¿èª�ãƒ‡ãƒ¼ã‚¿è¿½åŠ ï¼ˆ1ä»¶ï¼‰
+        /// </summary>
+        /// <param name="data"></param>
+        /// <param name="bConnect"></param>
+        /// <returns></returns>
+        public bool InsertAction(PersonApprovalDetail data, bool bConnect = true)
+        {
+            StringBuilder strcmd = new StringBuilder();
+            try
+            {
+
+                strcmd.Append("INSERT INTO PersonApprovalDetail");
+
+                strcmd.Append(" (");
+                bool bFirst = true;
+                foreach (var gender in Enum.GetValues(typeof(ColumnName)))
+                {
+                    if (!bFirst) strcmd.Append(" ,");
+                    strcmd.Append(gender.ToString());
+                    bFirst = false;
+                }
+                strcmd.Append(") VALUES (");
+
+                strcmd.AppendFormat("  {0}", data.PersonCode);
+                strcmd.AppendFormat(", {0}", data.ApprovalCode);
+                strcmd.AppendFormat(", STR_TO_DATE('{0}','%Y/%m/%d')", data.OrderDate.ToShortDateString());
+                strcmd.AppendFormat(", {0}", data.OrderNo);
+                strcmd.AppendFormat(", {0}", data.SeqNo);
+                strcmd.AppendFormat(", {0}", data.DetailData01);
+                strcmd.AppendFormat(", {0}", data.DetailData02);
+                strcmd.AppendFormat(", {0}", data.DetailData03);
+                strcmd.AppendFormat(", {0}", data.DetailData04);
+
+                strcmd.AppendFormat(", STR_TO_DATE('{0}','%Y/%m/%d %H:%i:%s')", data.EntryDate);
+                strcmd.AppendFormat(", STR_TO_DATE('{0}','%Y/%m/%d %H:%i:%s')", data.UpdateDate);
+                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, PersonApprovalDetail data, bool bConnect = true)
+        {
+            StringBuilder strcmd = new StringBuilder();
+            try
+            {
+
+                strcmd.Append("UPDATE PersonApprovalDetail");
+
+                strcmd.Append(" SET");
+
+                strcmd.AppendFormat(" PersonCode = {0}", data.PersonCode);
+                strcmd.AppendFormat(", ApprovalCode = {0}", data.ApprovalCode);
+                strcmd.AppendFormat(", OrderDate = STR_TO_DATE('{0}','%Y/%m/%d')", data.OrderDate.ToShortDateString());
+                strcmd.AppendFormat(", SeqNo = {0}", data.SeqNo);
+                strcmd.AppendFormat(", OrderNo = {0}", data.OrderNo);
+                strcmd.AppendFormat(", DetailData01 = {0}", data.DetailData01);
+                strcmd.AppendFormat(", DetailData02 = {0}", data.DetailData02);
+                strcmd.AppendFormat(", DetailData03 = {0}", data.DetailData03);
+                strcmd.AppendFormat(", DetailData04 = {0}", data.DetailData04);
+
+                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="data">æ‰¿èª�ãƒ‡ãƒ¼ã‚¿ãƒ‡ãƒ¼ã‚¿</param>
+        /// <returns>trueï¼šæˆ�åŠŸ falseï¼šå¤±æ•—</returns>
+        public bool DeleteAction(string AddSQLString, bool bConnect = true)
+        {
+            // ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹
+            StringBuilder strcmd = new StringBuilder();
+            try
+            {
+                strcmd.AppendFormat("{0}{1}", "DELETE FROM PersonApprovalDetail", 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 1é …ç›®æ›´æ–°å‡¦ç�†
+        /// <summary>
+        /// 1é …ç›®ã�®æ›´æ–°ã‚’è¡Œã�†
+        /// </summary>
+        /// <returns></returns>
+        public bool UpdateFeild(int PersonCode, int ApprovalCode, DateTime OrderDate, int FeildNo, object value, bool bConnect = true, int OrderNo = 0, int SeqNo = 0)
+        {
+            StringBuilder strcmd = new StringBuilder();
+            try
+            {
+                strcmd.Append("UPDATE PersonApprovalDetail");
+
+                strcmd.Append(" SET");
+                switch (FeildNo)
+                {
+                    case (int)ColumnName.PersonCode:
+                        strcmd.AppendFormat(" PersonCode = {0}", ((int)value).ToString());
+                        break;
+                    case (int)ColumnName.ApprovalCode:
+                        strcmd.AppendFormat(" ApprovalCode = {0}", ((int)value).ToString());
+                        break;
+                    case (int)ColumnName.OrderDate:
+                        strcmd.AppendFormat(" OrderDate = STR_TO_DATE('{0}','%Y/%m/%d')", ((DateTime)value).ToShortDateString());
+                        break;
+                    case (int)ColumnName.OrderNo:
+                        strcmd.AppendFormat(" OrderNo = {0}", ((int)value).ToString());
+                        break;
+                    case (int)ColumnName.SeqNo:
+                        strcmd.AppendFormat(" SeqNo = {0}", ((int)value).ToString());
+                        break;
+                    case (int)ColumnName.DetailData01:
+                        strcmd.AppendFormat(" DetailData01 = {0}", ((int)value).ToString());
+                        break;
+                    case (int)ColumnName.DetailData02:
+                        strcmd.AppendFormat(" DetailData02 = {0}", ((int)value).ToString());
+                        break;
+                    case (int)ColumnName.DetailData03:
+                        strcmd.AppendFormat(" DetailData03 = {0}", ((int)value).ToString());
+                        break;
+                    case (int)ColumnName.DetailData04:
+                        strcmd.AppendFormat(" DetailData04 = {0}", ((int)value).ToString());
+                        break;
+                }
+
+                strcmd.Append(", UpdateDate = NOW()");
+                strcmd.Append(CreatePrimarykeyString(PersonCode, ApprovalCode, OrderDate, OrderNo, SeqNo));
+
+                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 PersonApprovalDetail wrk)
+        {
+            try
+            {
+                // ãƒ‡ãƒ¼ã‚¿å�–å¾—
+                wrk.PersonCode = int.Parse(objwrk[(int)ColumnName.PersonCode].ToString());
+                wrk.ApprovalCode = int.Parse(objwrk[(int)ColumnName.ApprovalCode].ToString());
+                wrk.OrderDate = DateTime.Parse(objwrk[(int)ColumnName.OrderDate].ToString());
+                wrk.OrderNo = int.Parse(objwrk[(int)ColumnName.OrderNo].ToString());
+                wrk.SeqNo = int.Parse(objwrk[(int)ColumnName.SeqNo].ToString());
+                wrk.DetailData01 = ulong.Parse(objwrk[(int)ColumnName.DetailData01].ToString());
+                wrk.DetailData02 = ulong.Parse(objwrk[(int)ColumnName.DetailData02].ToString());
+                wrk.DetailData03 = ulong.Parse(objwrk[(int)ColumnName.DetailData03].ToString());
+                wrk.DetailData04 = ulong.Parse(objwrk[(int)ColumnName.DetailData04].ToString());
+
+                wrk.EntryDate = DateTime.Parse(objwrk[(int)ColumnName.EntryDate].ToString());
+                wrk.UpdateDate = DateTime.Parse(objwrk[(int)ColumnName.UpdateDate].ToString());
+            }
+            catch (MySqlException myex)
+            {
+                logger.ErrorFormat("ï¼­ï½™ï¼³ï¼±ï¼¬ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}", CommonMotions.GetMethodName(), myex.Message);
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
+        #region ä¸»ã‚­ãƒ¼æ¤œç´¢ã�®æ–‡å­—åˆ—ã‚’è¿”ã�™
+        /// <summary>
+        /// ä¸»ã‚­ãƒ¼æ¤œç´¢ã�®æ–‡å­—åˆ—ã‚’è¿”ã�™
+        /// </summary>
+        /// <param name="BusinessTypeCode"></param>
+        /// <returns>Whereæ–‡å­—åˆ—</returns>
+        public string CreatePrimarykeyString(int PersonCode, int ApprovalCode, DateTime OrderDate, int OrderNo = 0, int SeqNo = 0, string APara = "")
+        {
+            StringBuilder strWork = new StringBuilder();
+            try
+            {
+                strWork.AppendFormat(" Where {0}PersonCode = {1}", APara, PersonCode.ToString());
+                strWork.AppendFormat(" And {0}ApprovalCode = {1}", APara, ApprovalCode.ToString());
+                strWork.AppendFormat(" And DATE({0}OrderDate) = DATE(STR_TO_DATE('{1}','%Y/%m/%d'))", APara, OrderDate.ToShortDateString());
+                if (OrderNo != 0)
+                    strWork.AppendFormat(" And {0}OrderNo = {1}", APara, OrderNo.ToString());
+                if (SeqNo != 0)
+                    strWork.AppendFormat(" And {0}SeqNo = {1}", APara, SeqNo.ToString());
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}ï¼š{2}", CommonMotions.GetMethodName(2), ex.Message, strWork.ToString());
+            }
+
+            return strWork.ToString();
+        }
+        #endregion
+
+        #region å�—ä»˜ç•ªå�·ã�®æœ€å¤§å€¤ã‚’å�–å¾—ã�™ã‚‹
+        /// <summary>
+        /// å�—ä»˜ç•ªå�·ã�®æœ€å¤§å€¤ã‚’å�–å¾—ã�™ã‚‹
+        /// </summary>
+        /// <param name="AddSQLString"></param>
+        /// <param name="bConnect"></param>
+        /// <returns></returns>
+        public int SelectMaxOrderNoCount(string AddSQLString, bool bConnect = true)
+        {
+            // ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹
+            StringBuilder strcmd = new StringBuilder();
+            ArrayList arData = new ArrayList();
+            int iRet = 0;
+            try
+            {
+                // SQLä½œæˆ�
+                strcmd.AppendFormat("SELECT IFNULL(MAX(OrderNo), 0) FROM PersonApprovalDetail{0}", AddSQLString);
+
+                // SQLå®Ÿè¡Œ
+                if (!ExecuteReader(strcmd.ToString(), ref arData, bConnect)) return iRet;
+
+                // ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆ
+                object[] wrkobj = (object[])arData[0];
+                iRet = CommonMotions.cnvInt(wrkobj[0]);
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}ï¼š{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd.ToString());
+            }
+            return iRet;
+        }
+        #endregion
+
+        #region æž�ç•ªã�®æœ€å¤§å€¤ã‚’å�–å¾—ã�™ã‚‹
+        /// <summary>
+        /// æž�ç•ªã�®æœ€å¤§å€¤ã‚’å�–å¾—ã�™ã‚‹
+        /// </summary>
+        /// <param name="AddSQLString"></param>
+        /// <param name="bConnect"></param>
+        /// <returns></returns>
+        public int SelectMaxSeqNoCount(string AddSQLString, bool bConnect = true)
+        {
+            // ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹
+            StringBuilder strcmd = new StringBuilder();
+            ArrayList arData = new ArrayList();
+            int iRet = 0;
+            try
+            {
+                // SQLä½œæˆ�
+                strcmd.AppendFormat("SELECT IFNULL(MAX(SeqNo), 0) FROM PersonApprovalDetail{0}", AddSQLString);
+
+                // SQLå®Ÿè¡Œ
+                if (!ExecuteReader(strcmd.ToString(), ref arData, bConnect)) return iRet;
+
+                // ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆ
+                foreach (object[] objwrk in arData)
+                {
+                    if (objwrk[0].ToString().Equals("null"))
+                        iRet = 0;
+                    else
+                        iRet = int.Parse(objwrk[0].ToString());
+                }
+
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}ï¼š{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd.ToString());
+            }
+            return iRet;
+        }
+        #endregion
+    }
+}
Index: branches/src/ProcessManagement/ProcessManagement/DataModel/BuilderPersonData.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/DataModel/BuilderPersonData.cs	(nonexistent)
+++ branches/src/ProcessManagement/ProcessManagement/DataModel/BuilderPersonData.cs	(revision 326)
@@ -0,0 +1,103 @@
+ï»¿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace ProcessManagement.DataModel
+{
+    /// <summary>
+    /// å·¥äº‹æ‹…å½“è€…ãƒ‡ãƒ¼ã‚¿
+    /// </summary>
+    public class BuilderPersonData
+    {
+        #region å®šæ•°
+        /// <summary>
+        /// è¨­å®šåŒºåˆ†å®šç¾©
+        /// </summary>
+        public enum DivisionDef
+        {
+            /// <summary>
+            /// 1:æŒ‡å°Žå“¡çµ¦æ–™è¡Œ
+            /// </summary>
+            Instructor = 1,
+            /// <summary>
+            /// 2:å‰¯æ‹…å½“è€…çµ¦æ–™è¡Œ
+            /// </summary>
+            Assistant,
+            /// <summary>
+            /// 3:æ‹…å½“è€…çµ¦æ–™è¡Œ
+            /// </summary>
+            Payroll,
+        }
+        #endregion
+
+        #region ãƒ¡ãƒ³ãƒ�å¤‰æ•°
+        private int         m_PersonCode = 0;               // æ‹…å½“è€…ã‚³ãƒ¼ãƒ‰
+        private int         m_Division = 0;                 // è¨­å®šåŒºåˆ†
+        private DateTime    m_StartDate = DateTime.Now;     // æ‹…å½“é–‹å§‹å¹´æœˆæ—¥
+        private DateTime    m_CompDate = DateTime.Now;      // æ‹…å½“çµ‚äº†å¹´æœˆæ—¥
+        private DateTime    m_EntryDate = DateTime.Now;     // ç™»éŒ²æ—¥ä»˜
+        private DateTime    m_UpdateDate = DateTime.Now;    // æ›´æ–°æ—¥ä»˜
+        #endregion
+
+        #region ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿
+        #endregion
+
+        #region ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£
+        /// <summary>
+        /// æ‹…å½“è€…ã‚³ãƒ¼ãƒ‰
+        /// </summary>
+        public int PersonCode
+        {
+            get { return m_PersonCode; }
+            set { m_PersonCode = value; }
+        }
+
+        /// <summary>
+        /// è¨­å®šåŒºåˆ†
+        /// </summary>
+        public int Division
+        {
+            get { return m_Division; }
+            set { m_Division = value; }
+        }
+
+        /// <summary>
+        /// æ‹…å½“é–‹å§‹å¹´æœˆæ—¥
+        /// </summary>
+        public DateTime StartDate
+        {
+            get { return m_StartDate; }
+            set { m_StartDate = value; }
+        }
+
+        /// <summary>
+        /// æ‹…å½“çµ‚äº†å¹´æœˆæ—¥
+        /// </summary>
+        public DateTime CompDate
+        {
+            get { return m_CompDate; }
+            set { m_CompDate = value; }
+        }
+
+        /// <summary>
+        /// ç™»éŒ²æ—¥ä»˜
+        /// </summary>
+        public DateTime EntryDate
+        {
+            set { m_EntryDate = value; }
+            get { return m_EntryDate; }
+        }
+        /// <summary>
+        /// æ›´æ–°æ—¥ä»˜
+        /// </summary>
+        public DateTime UpdateDate
+        {
+            set { m_UpdateDate = value; }
+            get { return m_UpdateDate; }
+        }
+        #endregion
+
+    }
+}
Index: branches/src/ProcessManagement/ProcessManagement/DataModel/PersonApprovalDetail.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/DataModel/PersonApprovalDetail.cs	(nonexistent)
+++ branches/src/ProcessManagement/ProcessManagement/DataModel/PersonApprovalDetail.cs	(revision 326)
@@ -0,0 +1,154 @@
+ï»¿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace ProcessManagement.DataModel
+{
+    /// <summary>
+    /// æ‹…å½“è€…æ‰¿èª�æ˜Žç´°ãƒ‡ãƒ¼ã‚¿
+    /// </summary>
+    public class PersonApprovalDetail
+    {
+        #region ãƒ¡ãƒ³ãƒ�å¤‰æ•°
+        /// <summary>
+        /// æ‹…å½“è€…ã‚³ãƒ¼ãƒ‰
+        /// </summary>
+        private int         m_PersonCode = 0;
+        /// <summary>
+        /// æ‰¿èª�æ©Ÿèƒ½ç•ªå�·
+        /// </summary>
+        private int         m_ApprovalCode = 0;
+        /// <summary>
+        /// å�—ä»˜æ—¥
+        /// </summary>
+        private DateTime    m_OrderDate = DateTime.MinValue;
+        /// <summary>
+        /// å�—ä»˜ç•ªå�·
+        /// </summary>
+        private int         m_OrderNo = 0;
+        /// <summary>
+        /// æž�ç•ª
+        /// </summary>
+        private int         m_SeqNo = 0;
+        /// <summary>
+        /// æ˜Žç´°ãƒ‡ãƒ¼ã‚¿01
+        /// </summary>
+        private ulong       m_DetailData01 = 0;
+        /// <summary>
+        /// æ˜Žç´°ãƒ‡ãƒ¼ã‚¿02
+        /// </summary>
+        private ulong       m_DetailData02 = 0;
+        /// <summary>
+        /// æ˜Žç´°ãƒ‡ãƒ¼ã‚¿03
+        /// </summary>
+        private ulong       m_DetailData03 = 0;
+        /// <summary>
+        /// æ˜Žç´°ãƒ‡ãƒ¼ã‚¿04
+        /// </summary>
+        private ulong       m_DetailData04 = 0;
+        /// <summary>
+        /// ç™»éŒ²æ—¥ä»˜
+        /// </summary>
+        private DateTime    m_EntryDate = DateTime.Now;
+        /// <summary>
+        /// æ›´æ–°æ—¥ä»˜
+        /// </summary>
+        private DateTime    m_UpdateDate = DateTime.Now;
+        #endregion
+
+        #region ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿
+        #endregion
+
+        #region ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£
+        /// <summary>
+        /// æ‹…å½“è€…ã‚³ãƒ¼ãƒ‰
+        /// </summary>
+        public int PersonCode
+        {
+            get { return m_PersonCode; }
+            set { m_PersonCode = value; }
+        }
+        /// <summary>
+        /// æ‰¿èª�æ©Ÿèƒ½ç•ªå�·
+        /// </summary>
+        public int ApprovalCode
+        {
+            get { return m_ApprovalCode; }
+            set { m_ApprovalCode = value; }
+        }
+        /// <summary>
+        /// å�—ä»˜æ—¥
+        /// </summary>
+        public DateTime OrderDate
+        {
+            get { return m_OrderDate; }
+            set { m_OrderDate = value; }
+        }
+        /// <summary>
+        /// å�—ä»˜ç•ªå�·
+        /// </summary>
+        public int OrderNo
+        {
+            get { return m_OrderNo; }
+            set { m_OrderNo = value; }
+        }
+        /// <summary>
+        /// æž�ç•ª
+        /// </summary>
+        public int SeqNo
+        {
+            get { return m_SeqNo; }
+            set { m_SeqNo = value; }
+        }
+        /// <summary>
+        /// æ˜Žç´°ãƒ‡ãƒ¼ã‚¿01
+        /// </summary>
+        public ulong DetailData01
+        {
+            get { return m_DetailData01; }
+            set { m_DetailData01 = value; }
+        }
+        /// <summary>
+        /// æ˜Žç´°ãƒ‡ãƒ¼ã‚¿02
+        /// </summary>
+        public ulong DetailData02
+        {
+            get { return m_DetailData02; }
+            set { m_DetailData02 = value; }
+        }
+        /// <summary>
+        /// æ˜Žç´°ãƒ‡ãƒ¼ã‚¿03
+        /// </summary>
+        public ulong DetailData03
+        {
+            get { return m_DetailData03; }
+            set { m_DetailData03 = value; }
+        }
+        /// <summary>
+        /// æ˜Žç´°ãƒ‡ãƒ¼ã‚¿04
+        /// </summary>
+        public ulong DetailData04
+        {
+            get { return m_DetailData04; }
+            set { m_DetailData04 = value; }
+        }
+        /// <summary>
+        /// ç™»éŒ²æ—¥ä»˜
+        /// </summary>
+        public DateTime EntryDate
+        {
+            set { m_EntryDate = value; }
+            get { return m_EntryDate; }
+        }
+        /// <summary>
+        /// æ›´æ–°æ—¥ä»˜
+        /// </summary>
+        public DateTime UpdateDate
+        {
+            set { m_UpdateDate = value; }
+            get { return m_UpdateDate; }
+        }
+        #endregion
+    }
+}
Index: branches/src/ProcessManagement/ProcessManagement/DataModel/PersonDepartmentMaster.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/DataModel/PersonDepartmentMaster.cs	(revision 325)
+++ branches/src/ProcessManagement/ProcessManagement/DataModel/PersonDepartmentMaster.cs	(revision 326)
@@ -16,8 +16,8 @@
 
         private int         m_AffiliationFlg = 0;               // æ‰€å±žãƒ•ãƒ©ã‚°
 
-        private DateTime    m_EntryDate = DateTime.MinValue;    // ç™»éŒ²æ—¥ä»˜
-        private DateTime    m_UpdateDate = DateTime.MinValue;   // æ›´æ–°æ—¥ä»˜
+        private DateTime    m_EntryDate = DateTime.Now;         // ç™»éŒ²æ—¥ä»˜
+        private DateTime    m_UpdateDate = DateTime.Now;        // æ›´æ–°æ—¥ä»˜
         #endregion
 
         #region ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿
Index: branches/src/ProcessManagement/ProcessManagement/DataModel/PersonInChargeMaster.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/DataModel/PersonInChargeMaster.cs	(revision 325)
+++ branches/src/ProcessManagement/ProcessManagement/DataModel/PersonInChargeMaster.cs	(revision 326)
@@ -96,8 +96,8 @@
 
 
         private int         m_DeleteFlg = 0;                    // å‰Šé™¤ãƒ•ãƒ©ã‚°
-        private DateTime    m_EntryDate = DateTime.MinValue;    // ç™»éŒ²æ—¥ä»˜
-        private DateTime    m_UpdateDate = DateTime.MinValue;   // æ›´æ–°æ—¥ä»˜
+        private DateTime    m_EntryDate = DateTime.Now;    // ç™»éŒ²æ—¥ä»˜
+        private DateTime    m_UpdateDate = DateTime.Now;   // æ›´æ–°æ—¥ä»˜
         #endregion
 
         #region ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿
Index: branches/src/ProcessManagement/ProcessManagement/DataModel/PersonSalaryMaster.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/DataModel/PersonSalaryMaster.cs	(revision 325)
+++ branches/src/ProcessManagement/ProcessManagement/DataModel/PersonSalaryMaster.cs	(revision 326)
@@ -17,8 +17,8 @@
         private double      m_MonthlySalary = 0;                // æœˆçµ¦é‡‘é¡�
         private double      m_YearSalary = 0;	                // å¹´æ£’é‡‘é¡�
 
-        private DateTime    m_EntryDate = DateTime.MinValue;    // ç™»éŒ²æ—¥ä»˜
-        private DateTime    m_UpdateDate = DateTime.MinValue;   // æ›´æ–°æ—¥ä»˜
+        private DateTime    m_EntryDate = DateTime.Now;         // ç™»éŒ²æ—¥ä»˜
+        private DateTime    m_UpdateDate = DateTime.Now;        // æ›´æ–°æ—¥ä»˜
         #endregion
 
         #region ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿
Index: branches/src/ProcessManagement/ProcessManagement/DataModel/ProcessExcuter.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/DataModel/ProcessExcuter.cs	(revision 325)
+++ branches/src/ProcessManagement/ProcessManagement/DataModel/ProcessExcuter.cs	(revision 326)
@@ -29,11 +29,11 @@
         /// <summary>
         /// ç™»éŒ²å¹´æœˆæ—¥
         /// </summary>
-        private DateTime    m_EntryDate = DateTime.MinValue;
+        private DateTime    m_EntryDate = DateTime.Now;
         /// <summary>
         /// æ›´æ–°å¹´æœˆæ—¥
         /// </summary>
-        private DateTime    m_UpdateDate = DateTime.MinValue;
+        private DateTime    m_UpdateDate = DateTime.Now;
         #endregion
 
         #region ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£
Index: branches/src/ProcessManagement/ProcessManagement/DataModel/SecurityMaster.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/DataModel/SecurityMaster.cs	(revision 325)
+++ branches/src/ProcessManagement/ProcessManagement/DataModel/SecurityMaster.cs	(revision 326)
@@ -73,11 +73,11 @@
         /// <summary>
         /// ç™»éŒ²å¹´æœˆæ—¥
         /// </summary>
-        private DateTime    m_EntryDate = DateTime.MinValue;
+        private DateTime    m_EntryDate = DateTime.Now;
         /// <summary>
         /// æ›´æ–°å¹´æœˆæ—¥
         /// </summary>
-        private DateTime    m_UpdateDate = DateTime.MinValue;
+        private DateTime    m_UpdateDate = DateTime.Now;
         #endregion
 
         #region ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£
Index: branches/src/ProcessManagement/ProcessManagement/DataModel/SystemExecute.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/DataModel/SystemExecute.cs	(revision 325)
+++ branches/src/ProcessManagement/ProcessManagement/DataModel/SystemExecute.cs	(revision 326)
@@ -35,11 +35,11 @@
         /// <summary>
         /// ç™»éŒ²å¹´æœˆæ—¥
         /// </summary>
-        private DateTime m_EntryDate = DateTime.MinValue;
+        private DateTime m_EntryDate = DateTime.Now;
         /// <summary>
         /// æ›´æ–°å¹´æœˆæ—¥
         /// </summary>
-        private DateTime m_UpdateDate = DateTime.MinValue;
+        private DateTime m_UpdateDate = DateTime.Now;
         #endregion
 
         #region ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBaseInfo/DataChange.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBaseInfo/DataChange.cs	(revision 325)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBaseInfo/DataChange.cs	(revision 326)
@@ -140,8 +140,8 @@
                 // �V‹K�ì�¬Žž‚Í�ˆ—�‚µ‚È‚¢
                 if (m_ConstructionCode < 1) return false;
 
-                if (MessageBox.Show("‘�Œ¸�HŽ–‚ÌŒ©�Ï‚è�‘‚ð�ì�¬‚µ‚Ü‚·�B", "‘�Œ¸�HŽ–�ì�¬Šm”F",
-                                    MessageBoxButtons.OKCancel, MessageBoxIcon.Information) != DialogResult.OK) return false;
+                //if (MessageBox.Show("‘�Œ¸�HŽ–‚ÌŒ©�Ï‚è�‘‚ð�ì�¬‚µ‚Ü‚·�B", "‘�Œ¸�HŽ–�ì�¬Šm”F",
+                //                    MessageBoxButtons.OKCancel, MessageBoxIcon.Information) != DialogResult.OK) return false;
 
                 // Œp‘±�HŽ–”Ô�†�ì�¬
                 int NewCode = BaseDB.CreateNextBranchCounstructionCode(m_ConstructionCode);
@@ -453,9 +453,34 @@
                     {   // �¡‚Ì�HŽ–”Ô�†‚ÅƒŠƒ“ƒNƒf�[ƒ^‚ªŽæ‚ê‚È‚©‚Á‚½�ê�‡‚ÍŽq�HŽ–ƒf�[ƒ^‚Æ‚µ‚ÄƒŠƒ“ƒN�î•ñ‚ð“Ç‚Ý�ž‚Þ
                         strLink.Clear();
                         strLink.AppendFormat(" WHERE FLUCTUATIONCODE = {0}", m_ConstructionCode);
-                        if (!cbLinkDB.SelectAction(strLink.ToString(), ref LinkRec, false)) return false;
-                        // Žæ“¾�o—ˆ‚½‚ç�e‚Ì�HŽ–”Ô�†‚ðŽæ“¾‚·‚é
-                        ProcConstrCode = LinkRec.ConstructionCode;
+                        if (cbLinkDB.SelectAction(strLink.ToString(), ref LinkRec, false))
+                        {
+                            // Žæ“¾�o—ˆ‚½‚ç�e‚Ì�HŽ–”Ô�†‚ðŽæ“¾‚·‚é
+                            ProcConstrCode = LinkRec.ConstructionCode;
+                        }
+                        else
+                        {
+                            // Žæ“¾‚Å‚«‚È‚¢�ê�‡‚Í‘�Œ¸�HŽ–�ì�¬Žž‚Ì�ê�‡‚ª‚ ‚é‚Ì‚Å
+                            int nwkCode = (m_ConstructionCode / 100) * 100;
+                            int iCode1 = CommonDefine.ProjectsStatus.First(x => x.Value.Equals("”ñ Žó ’�")).Key;
+                            StringBuilder strSQL = new StringBuilder();
+                            strSQL.Append("Select Min(ConstructionCode) From constructionbaseinfo");
+                            strSQL.AppendFormat(" Where {0} < ConstructionCode", nwkCode);
+                            strSQL.AppendFormat(" And ConstructionCode <= {0}", nwkCode + 99);
+                            strSQL.AppendFormat(" And ConstructionStatusFlg != {0}", iCode1);
+                            ArrayList CodeArr = new ArrayList();
+                            cbiDB.ExecuteReader(strSQL.ToString(), ref CodeArr, false);
+
+                            if (CodeArr.Count > 0)
+                            {
+                                object[] objRec = (object[])CodeArr[0];
+                                ProcConstrCode = CommonMotions.cnvInt(objRec[0]);
+                            }
+                            else
+                            {
+                                ProcConstrCode = m_ConstructionCode;
+                            }
+                        }
                     }
                 }
                 else
@@ -495,7 +520,7 @@
             FrmConstructionBudget frm = new FrmConstructionBudget();
             try
             {
-                // �³”Fƒf�[ƒ^Žæ“¾
+                // �HŽ–—\ŽZ�‘�³”Fƒf�[ƒ^Žæ“¾
                 StringBuilder strSQL = new StringBuilder();
                 strSQL.Append(ApprovalDB.CreatePrimarykeyString(m_ConstructionCode,
                                                                 (int)ClsExcute.ApprovalListNo.ConstructionBudgetApproval,
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBaseInfo/FrmConstructionBaseInfo.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBaseInfo/FrmConstructionBaseInfo.cs	(revision 325)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBaseInfo/FrmConstructionBaseInfo.cs	(revision 326)
@@ -1285,12 +1285,12 @@
         /// <param name="e"></param>
         private void btnFluctuation_Click(object sender, EventArgs e)
         {
+            // ƒf�[ƒ^“o˜^�ˆ—�
+            if (!DataEntryProcess(false)) return;
+
             // �HŽ–‘�Œ¸ƒf�[ƒ^�ì�¬
             if (!CreateFluctuationData()) return;
 
-            // ƒf�[ƒ^“o˜^�ˆ—�
-            if (!DataEntryProcess(false)) return;
-
             // •Ï�Xƒtƒ‰ƒOOFF
             m_bChengeAns = false;
             // ƒNƒ��[ƒY�ˆ—�‚ðOFF‚É‚·‚é�B
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBaseInfo/FrmConstructionBaseInfoAuxiliary.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBaseInfo/FrmConstructionBaseInfoAuxiliary.cs	(revision 325)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBaseInfo/FrmConstructionBaseInfoAuxiliary.cs	(revision 326)
@@ -4972,6 +4972,10 @@
         {
             try
             {
+                // �Å�‚�Ó”CŽÒ‚Í‰ð�œ‚Å‚«‚é
+                int SRank = (int)CommonDefine.SecurityRankPos.SpecialAuthority;
+                if (CommonMotions.LoginUserSecurity.SecRank != CommonDefine.SecurityRankList[SRank].Key) return;
+
                 // ‚Â‚¢‚Å‚ÉŠúŒÀƒ`ƒFƒbƒN‰ð�œƒ{ƒ^ƒ“‚à‚±‚±‚Å•\Ž¦(�V‹KŽž‚Í•\Ž¦‚µ‚È‚¢)
                 if (m_ConstructionCode > 0) btnPA.Visible = true;
 
@@ -4978,10 +4982,6 @@
                 // �¿‹�Šm”FŽž‚ÍˆÈŠO‚Í�ˆ—�‚µ‚È‚¢
                 if (!rdbStatus10.Checked) return;
 
-                // �Å�‚�Ó”CŽÒ‚Í‰ð�œ‚Å‚«‚é
-                int SRank = (int)CommonDefine.SecurityRankPos.SpecialAuthority;
-                if (CommonMotions.LoginUserSecurity.SecRank != CommonDefine.SecurityRankList[SRank].Key) return;
-
                 // �¿‹�‰ð�œƒ{ƒ^ƒ“•\Ž¦
                 btnRestore.Enabled = true;
                 btnRestore.Visible = true;
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedger/FrmConstructionLedger.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedger/FrmConstructionLedger.cs	(revision 325)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedger/FrmConstructionLedger.cs	(revision 326)
@@ -646,12 +646,12 @@
         /// </summary>
         private bool m_RollBackJoinLedger = false;
 
-        // *-----* �¿‹�‚Ü‚Æ‚ß�ˆ—�˜AŒg *-----*
-        
+        #region // *-----* �¿‹�‚Ü‚Æ‚ß�ˆ—�˜AŒg *-----*�«�«
+
         /// <summary>
-        /// �¿‹�‚Ü‚Æ‚ß‘I‘ðŽg—pŽžƒtƒ‰ƒO
+        /// �¿‹�‚Ü‚Æ‚ß�s‘I‘ðŽg—pŽžƒtƒ‰ƒO
         /// </summary>
-        private bool m_ReqSumSelFlag = false;
+        private bool m_ReqSumDialogFlag = false;
         /// <summary>
         /// �¿‹�‚Ü‚Æ‚ß•\Ž¦Žžƒtƒ‰ƒO
         /// </summary>
@@ -672,11 +672,11 @@
         /// <summary>
         /// �‘�ž‚ÝƒJƒ‰ƒ€ˆÊ’u
         /// </summary>
-        private int m_TargetColumn = 0;
+        private int m_TargetColumn = -1;
         /// <summary>
         /// �¿‹��ˆ—�˜AŒg‹àŠz
         /// </summary>
-        private int m_AddingRequestPrice = 0;
+        private int m_AddingRequestPrice = -1;
 
         /// <summary>
         /// ‘Î�Û‹ÆŽÒƒŠƒXƒg
@@ -683,8 +683,8 @@
         /// </summary>
         private List<BillingDataDetail> m_BillDetailList = new List<BillingDataDetail>();
 
-        // *-----* �¿‹�‚Ü‚Æ‚ß�ˆ—�˜AŒg *-----*
-        
+        #endregion // *-----* �¿‹�‚Ü‚Æ‚ß�ˆ—�˜AŒg *-----*�ª�ª
+
         #endregion
 
         #region ƒvƒ�ƒpƒeƒB
@@ -830,15 +830,15 @@
             set { m_RollBackJoinLedger = value; }
         }
 
-        // *-----* �¿‹�‚Ü‚Æ‚ß�ˆ—�˜AŒg *-----*
+        #region *-----* �¿‹�‚Ü‚Æ‚ß�ˆ—�˜AŒg *-----* �«�«
 
         /// <summary>
-        /// �¿‹�‚Ü‚Æ‚ß‘I‘ðŽg—pŽžƒtƒ‰ƒO
+        /// �¿‹�‚Ü‚Æ‚ß�s‘I‘ðŽg—pŽžƒtƒ‰ƒO
         /// </summary>
-        public bool ReqSumSelFlag
+        public bool ReqSumDialogFlag
         {
-            get { return m_ReqSumSelFlag; }
-            set { m_ReqSumSelFlag = value; }
+            get { return m_ReqSumDialogFlag; }
+            set { m_ReqSumDialogFlag = value; }
         }
         /// <summary>
         /// �¿‹�‚Ü‚Æ‚ß•\Ž¦Žžƒtƒ‰ƒO
@@ -897,8 +897,16 @@
             get { return m_BillDetailList; }
             set { m_BillDetailList = value; }
         }
-        // *-----* �¿‹�‚Ü‚Æ‚ß�Ý’è *-----*
+        /// <summary>
+        /// ƒOƒŠƒbƒh‘Î�Û�sƒf�[ƒ^ƒZƒbƒg
+        /// </summary>
+        public bool SetGridData
+        {
+            get { return SetSumReqData(); }
+        }
 
+        #endregion *-----* �¿‹�‚Ü‚Æ‚ß�Ý’è *-----*�ª�ª
+
         #endregion
 
         #region ƒRƒ“ƒXƒgƒ‰ƒNƒ^
@@ -934,6 +942,9 @@
                 // ”ñ•\Ž¦Žž‚Ì�ˆ—�‚Í‚»‚Ì‚Ü‚Ü‚·‚®‚É�I‚í‚é
                 if (!this.Visible) return;
 
+                // �¿‹�‚Ü‚Æ‚ß‚æ‚è‚Ì•\Ž¦‚Í“o˜^‚µ‚È‚¢
+                if (m_ReqSumDspFlag || m_ReqSumDialogFlag) goto NotSave;
+
                 if (m_bChengeAns)
                 {
                     if (MessageBox.Show("ƒf�[ƒ^‚É•Ï�X‚ª‚ ‚è‚Ü‚·�A“o˜^‚¹‚¸‚É�I—¹‚µ‚Ä‚æ‚ë‚µ‚¢‚Å‚·‚©�H�B", "�I—¹Šm”F"
@@ -943,6 +954,8 @@
                         return;
                     }
                 }
+
+            NotSave:
                 // ƒTƒuƒtƒH�[ƒ€‹N“®‚Íƒvƒ�ƒZƒXƒJƒEƒ“ƒ^‚ð•Ï�X‚µ‚È‚¢
                 if (m_SubForm) m_CloseingProcessOn = false;
 
@@ -1048,11 +1061,16 @@
                 // •Ï�Xƒtƒ‰ƒOOFF
                 m_bChengeAns = false;
 
-                // �¿‹�‚Ü‚Æ‚ß‚©‚ç‚ÌŒÄ‚Ñ�o‚µ
-                if (m_ReqSumSelFlag)
+                if (m_ReqSumDialogFlag)
                 {
-                    InitReqSum();
+                    // �¿‹�‚Ü‚Æ‚ß‚©‚ç‚Ìƒ_ƒCƒAƒ�ƒOŒÄ‚Ñ�o‚µ
+                    InitReqSumDialog();
                 }
+                else if (m_ReqSumDspFlag)
+                {
+                    // �¿‹�‚Ü‚Æ‚ß‚©‚ç‚ÌŽQ�ÆŒÄ‚Ñ�o‚µ
+                    InitReqSumDsp();
+                }
 
                 // ŽQ�Æƒ‚�[ƒh
                 if (m_EditLock)
@@ -1276,7 +1294,7 @@
             if (CommonMotions.cnvInt(dgv.CurrentRow.Cells[(int)GridColumn.TitleFlg].Value) == 1) return;
 
             // �¿‹��ˆ—�˜AŒg
-            if (m_ReqSumSelFlag)
+            if (m_ReqSumDialogFlag)
             {
                 EventArgs wkE = new EventArgs();
                 btnSelect_Click(sender, wkE);
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedger/FrmConstructionLedgerAuxiliary.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedger/FrmConstructionLedgerAuxiliary.cs	(revision 325)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedger/FrmConstructionLedgerAuxiliary.cs	(revision 326)
@@ -916,7 +916,7 @@
                     // ã‚«ãƒ©ãƒ ã�®è¨­å®š
                     m_GridPaymentColList[i].CellTemplate = new DataGridViewTextBoxCell();
                     m_GridPaymentColList[i].DefaultCellStyle = m_GridPaymentCellStyleList[i];
-                    m_GridPaymentColList[i].HeaderText = string.Format(s_TargetYmFormt, dtTitleDate.AddMonths(i).Year, dtTitleDate.AddMonths(i).Month);
+                    m_GridPaymentColList[i].HeaderText = YearMonthFormat(dtTitleDate.AddMonths(i).Year, dtTitleDate.AddMonths(i).Month);
 
                     m_GridPaymentColList[i].Name = string.Format("ColPayment{0}", i);
                     m_GridPaymentColList[i].ReadOnly = false;
@@ -964,6 +964,24 @@
         }
         #endregion
 
+        #region å¹´æœˆã‚’æŒ‡å®šãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã�§è¿”ã�™
+        /// <summary>
+        /// å¹´æœˆã‚’æŒ‡å®šãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã�§è¿”ã�™
+        /// </summary>
+        private string YearMonthFormat(int nYear, int nMonth)
+        {
+            try
+            {
+                return string.Format(s_TargetYmFormt, nYear, nMonth.ToString("00"));
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}", CommonMotions.GetMethodName(), ex.Message);
+                return string.Empty;
+            }
+        }
+        #endregion
+
         #region æœ€å¤§æ”¯æ‰•æœˆã�®ã‚«ã‚¦ãƒ³ãƒˆã‚’å�–å¾—ã�™ã‚‹
         /// <summary>
         /// æœ€å¤§æ”¯æ‰•æœˆã�®ã‚«ã‚¦ãƒ³ãƒˆã‚’å�–å¾—ã�™ã‚‹
@@ -1229,7 +1247,7 @@
                 }
                 else
                 {   // æ˜Žç´°è¡Œã‚’è«‹æ±‚ã�¾ã�¨ã‚�ã‚ˆã‚Šã�®èµ·å‹•æ™‚ã�¯åˆ†ã�‘ã‚‹
-                    if (m_ReqSumSelFlag)
+                    if (m_ReqSumDialogFlag)
                     {
                         int nGroupCnt = CommonMotions.cnvInt(CurRow.Cells[(int)GridColumn.GroupCount].Value);
                         if (nGroupCnt == (int)DataGroup.Empty
@@ -1241,7 +1259,7 @@
                         else
                         {
                             // è«‹æ±‚ã�¾ã�¨ã‚�è¡Œè‰²å¤‰æ›´å‡¦ç�†
-                            SetReqSumRowColor(CurRow);
+                            SetReqSumDialogRowColor(CurRow);
                         }
                     }
                     else
@@ -2561,7 +2579,7 @@
                 foreach (ConstructionLedgerExcute ExcRec in ExcList)
                 {
                     //ã‚°ãƒªãƒƒãƒ‰ã�®å¯¾è±¡åˆ—ã‚’å�–å¾—ã�™ã‚‹ï¼ˆãƒ‡ãƒ¼ã‚¿ã�®ã‚«ãƒ©ãƒ æ•°ã�‹ã‚‰å¹´æœˆã�«å¤‰æ›´ã�™ã‚‹ï¼‰
-                    string CurMounth = string.Format(s_TargetYmFormt, ExcRec.TargetMonth.Year, ExcRec.TargetMonth.Month);
+                    string CurMounth = YearMonthFormat(ExcRec.TargetMonth.Year, ExcRec.TargetMonth.Month);
                     for (int ix = (int)GridColumn.Payment; ix < dgv.ColumnCount; ix++)
                     {
                         // ã‚°ãƒªãƒƒãƒ‰ã�®å¯¾è±¡åˆ—ã‚’æŽ¢ã�™
@@ -2941,7 +2959,7 @@
                         if (ExcuteRec_TargetMonth == DateTime.MinValue) break;
 
                         //ã‚°ãƒªãƒƒãƒ‰ã�®å¯¾è±¡åˆ—ã‚’å�–å¾—ã�™ã‚‹ï¼ˆãƒ‡ãƒ¼ã‚¿ã�®ã‚«ãƒ©ãƒ æ•°ã�‹ã‚‰å¹´æœˆã�«å¤‰æ›´ã�™ã‚‹ï¼‰
-                        string CurMounth = string.Format(s_TargetYmFormt, ExcuteRec_TargetMonth.Year, ExcuteRec_TargetMonth.Month);
+                        string CurMounth = YearMonthFormat(ExcuteRec_TargetMonth.Year, ExcuteRec_TargetMonth.Month);
                         for (int ix = (int)GridColumn.Payment; ix < dgv.ColumnCount; ix++)
                         {
                             // ã‚°ãƒªãƒƒãƒ‰ã�®å¯¾è±¡åˆ—ã‚’æŽ¢ã�™
@@ -3577,7 +3595,7 @@
                 SetData.Cells[(int)GridColumn.DetailNo].Value = MaxCount;
 
                 // è«‹æ±‚ã�¾ã�¨ã‚�é�¸æŠžæ™‚
-                if (m_ReqSumSelFlag)
+                if (m_ReqSumDialogFlag)
                 {
                     // å�”åŠ›æ¥­è€…ã‚»ãƒƒãƒˆ
                     SetCompanyData(SetData);
@@ -6896,7 +6914,7 @@
                     foreach (ConstructionLedgerExcute ExcuteRec in ExcuteList)
                     {
                         //ã‚°ãƒªãƒƒãƒ‰ã�®å¯¾è±¡åˆ—ã‚’å�–å¾—ã�™ã‚‹ï¼ˆãƒ‡ãƒ¼ã‚¿ã�®ã‚«ãƒ©ãƒ æ•°ã�‹ã‚‰å¹´æœˆã�«å¤‰æ›´ã�™ã‚‹ï¼‰
-                        string CurMounth = string.Format(s_TargetYmFormt, ExcuteRec.TargetMonth.Year, ExcuteRec.TargetMonth.Month);
+                        string CurMounth = YearMonthFormat(ExcuteRec.TargetMonth.Year, ExcuteRec.TargetMonth.Month);
                         for (int ix = (int)GridColumn.Payment; ix < dgv.ColumnCount; ix++)
                         {
                             // ã‚°ãƒªãƒƒãƒ‰ã�®å¯¾è±¡åˆ—ã‚’æŽ¢ã�™
@@ -7089,7 +7107,7 @@
                     foreach (ConstructionLedgerExcute ExcuteRec in ExcuteList)
                     {
                         //ã‚°ãƒªãƒƒãƒ‰ã�®å¯¾è±¡åˆ—ã‚’å�–å¾—ã�™ã‚‹ï¼ˆãƒ‡ãƒ¼ã‚¿ã�®ã‚«ãƒ©ãƒ æ•°ã�‹ã‚‰å¹´æœˆã�«å¤‰æ›´ã�™ã‚‹ï¼‰
-                        string CurMounth = string.Format(s_TargetYmFormt, ExcuteRec.TargetMonth.Year, ExcuteRec.TargetMonth.Month);
+                        string CurMounth = YearMonthFormat(ExcuteRec.TargetMonth.Year, ExcuteRec.TargetMonth.Month);
                         for (int ix = (int)GridColumn.Payment; ix < dgv.ColumnCount; ix++)
                         {
                             // ã‚°ãƒªãƒƒãƒ‰ã�®å¯¾è±¡åˆ—ã‚’æŽ¢ã�™
@@ -7350,7 +7368,7 @@
                     foreach (ConstructionLedgerExcute ExcuteRec in ExcuteList)
                     {
                         //ã‚°ãƒªãƒƒãƒ‰ã�®å¯¾è±¡åˆ—ã‚’å�–å¾—ã�™ã‚‹ï¼ˆãƒ‡ãƒ¼ã‚¿ã�®ã‚«ãƒ©ãƒ æ•°ã�‹ã‚‰å¹´æœˆã�«å¤‰æ›´ã�™ã‚‹ï¼‰
-                        string CurMounth = string.Format(s_TargetYmFormt, ExcuteRec.TargetMonth.Year, ExcuteRec.TargetMonth.Month);
+                        string CurMounth = YearMonthFormat(ExcuteRec.TargetMonth.Year, ExcuteRec.TargetMonth.Month);
                         for (int ix = (int)GridColumn.Payment; ix < dgv.ColumnCount; ix++)
                         {
                             // ã‚°ãƒªãƒƒãƒ‰ã�®å¯¾è±¡åˆ—ã‚’æŽ¢ã�™
@@ -7475,7 +7493,7 @@
                 foreach (ConstructionLedgerExcute ExcuteRec in ExcuteList)
                 {
                     //ã‚°ãƒªãƒƒãƒ‰ã�®å¯¾è±¡åˆ—ã‚’å�–å¾—ã�™ã‚‹ï¼ˆãƒ‡ãƒ¼ã‚¿ã�®ã‚«ãƒ©ãƒ æ•°ã�‹ã‚‰å¹´æœˆã�«å¤‰æ›´ã�™ã‚‹ï¼‰
-                    string CurMounth = string.Format(s_TargetYmFormt, ExcuteRec.TargetMonth.Year, ExcuteRec.TargetMonth.Month);
+                    string CurMounth = YearMonthFormat(ExcuteRec.TargetMonth.Year, ExcuteRec.TargetMonth.Month);
                     for (int ix = (int)GridColumn.Payment; ix < dgv.ColumnCount; ix++)
                     {
                         // ã‚°ãƒªãƒƒãƒ‰ã�®å¯¾è±¡åˆ—ã‚’æŽ¢ã�™
@@ -7629,6 +7647,7 @@
         /// </summary>
         private bool ReqSumSelectOutPut()
         {
+            FrmCustomMsgBox frm = new FrmCustomMsgBox();
             try
             {
                 m_TargetDetailNo = -1;
@@ -7651,6 +7670,18 @@
 
                 // è¡Œã‚»ãƒƒãƒˆ
                 m_TargetDetailNo = CommonMotions.cnvInt(CurRow.Cells[(int)GridColumn.DetailNo].Value);
+
+                // Type1è¡¨ç¤ºæ–‡å­—è¡¨ç¤ºï¼�é�žè¡¨ç¤º
+                frm.DisplayVisbleType1 = true;
+                // Type1è¡¨ç¤ºæ–‡å­—
+                frm.DisplayTextType1 = string.Format("å�”åŠ›ä¼šç¤¾ï¼š{0}ï¼š{1}ã‚’\r\né�¸æŠžã�—ã�¾ã�™ã€‚"
+                                                        , CommonMotions.cnvString(CurRow.Cells[(int)GridColumn.CompanyName].Value)
+                                                        , CommonMotions.cnvString(CurRow.Cells[(int)GridColumn.TextName].Value));
+                // Type1è¡¨ç¤ºæ–‡å­—ãƒ•ã‚©ãƒ³ãƒˆ
+                frm.DisplayTextFontType1 = new Font(frm.DisplayTextFontType1.Name, 16f, FontStyle.Bold);
+
+                frm.ShowDialog();
+                if (frm.ReturnValue == DialogResult.Cancel) return false;
                 
                 // åˆ—ã‚»ãƒƒãƒˆ
                 DateTime dtStWork = CommonMotions.cnvDate(m_DspLabelCtrl[(int)DspLblCtrlName.StartingDate].Text);
@@ -7664,6 +7695,10 @@
                 logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}", CommonMotions.GetMethodName(), ex.Message);
                 return false;
             }
+            finally
+            {
+                frm.Dispose(); frm = null;
+            }
         }
         #endregion
 
@@ -7673,6 +7708,8 @@
         /// </summary>
         private bool ReqSumNewMakeOutPut()
         {
+            FrmCustomMsgBox frm = new FrmCustomMsgBox();
+            IOMSubContractor SubDB = new IOMSubContractor();
             try
             {
                 // è¿½åŠ åˆ¤å®š
@@ -7679,12 +7716,29 @@
                 int nWkCnt = 0;
                 if (!CheckNewMakeRow(ref nWkCnt)) return false;
 
-                DialogResult dtRet = MessageBox.Show("å·¥äº‹å�°å¸³ã�«æ–°è¦�ã�§å�”åŠ›ä¼šç¤¾ã‚’è¿½åŠ ã�—ã�¾ã�™ã€‚",
-                                                        "è¿½åŠ ç¢ºèª�",
-                                                        MessageBoxButtons.OKCancel,
-                                                        MessageBoxIcon.Exclamation);
-                
-                if (dtRet == DialogResult.Cancel) return true;
+                // ----- ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãƒœãƒƒã‚¯ã‚¹èµ·å‹•ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆ
+                // å�”åŠ›æ¥­è€…å��å�–å¾—
+                StringBuilder strSQL = new StringBuilder();
+                strSQL.Append(SubDB.CreatePrimarykeyString(m_ReqSumCompany));
+                SubContractorMaster SubRec = new SubContractorMaster();
+                SubDB.SelectAction(strSQL.ToString(), ref SubRec);
+
+                // Type2è¡¨ç¤ºæ–‡å­—è¡¨ç¤ºï¼�é�žè¡¨ç¤º
+                frm.DisplayVisbleType2 = true;
+                // Type2_1è¡¨ç¤ºæ–‡å­—
+                frm.DisplayTextType2_1 = string.Format("å·¥äº‹å�°å¸³ã�«å�”åŠ›ä¼šç¤¾ï¼š{0}ã‚’\r\næ–°è¦�è¿½åŠ ã�—ã�¾ã�™ã€‚", SubRec.CompanyName);
+                // Type2_1è¡¨ç¤ºæ–‡å­—ãƒ•ã‚©ãƒ³ãƒˆ
+                frm.DisplayTextFontType2_1 = new Font(frm.DisplayTextFontType2_1.Name, 16f, FontStyle.Bold);
+                // Type2_2è¡¨ç¤ºæ–‡å­—
+                frm.DisplayTextType2_2 = "â€»æŒ‡å®šè¡Œã�®ä¸‹ã�«è¿½åŠ ã�•ã‚Œã�¾ã�™ã€‚";
+                // Type2_2è¡¨ç¤ºæ–‡å­—è‰²
+                frm.DisplayTextForeColorType2_2 = Color.Red;
+                // Type2_1è¡¨ç¤ºæ–‡å­—ãƒ•ã‚©ãƒ³ãƒˆ
+                frm.DisplayTextFontType2_2 = new Font(frm.DisplayTextFontType2_2.Name, 20f, FontStyle.Bold);
+
+                frm.ShowDialog();
+                if (frm.ReturnValue == DialogResult.Cancel) return false;
+
                 // è¡Œã‚’è¿½åŠ ã�™ã‚‹ï¼ˆè¿”ä¿¡ãƒ‘ãƒ©ãƒ¡ã‚¿è¡Œãƒ»åˆ—ã‚‚ã‚»ãƒƒãƒˆã�™ã‚‹ï¼‰
                 AddLineData();
                 // è¡Œè‰²å¤‰æ›´
@@ -7699,6 +7753,11 @@
                 logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}", CommonMotions.GetMethodName(), ex.Message);
                 return false;
             }
+            finally
+            {
+                SubDB.close(); SubDB = null;
+                frm.Dispose(); frm = null;
+            }
         }
         #endregion
 
@@ -7747,48 +7806,46 @@
         /// <summary>
         /// è«‹æ±‚å‡¦ç�†é€£æ�ºæ™‚ã‚¤ãƒ³ãƒ—ãƒƒãƒˆå‡¦ç�†
         /// </summary>
-        public void BillingLinkInPut(int SetRow, int SetCol)
+        public bool SetSumReqData()
         {
             try
             {
-                // è«‹æ±‚å‡¦ç�†é€£æ�ºä»¥å¤–ã�¯å‡¦ç�†ã�—ã�ªã�„
-                if (!m_ReqSumSelFlag) return;
-                
-                // æ”¯æ‰•ã‚«ãƒ©ãƒ ä»¥å¤–ã�¯å‡¦ç�†ã�—ã�ªã�„
-                int FixColCnt = Enum.GetNames(typeof(GridColumn)).Length;
-                if (SetCol < FixColCnt) return;
+                // è«‹æ±‚å‡¦ç�†è¡¨ç¤ºé€£æ�ºä»¥å¤–ã�¯å‡¦ç�†ã�—ã�ªã�„
+                if (!m_ReqSumDspFlag) return false;
+                // è«‹æ±‚ã�¾ã�¨ã‚�å¯¾è±¡æ¥­è€…ã‚³ãƒ¼ãƒ‰
+                if (m_ReqSumCompany < 1) return false;
+                // æ˜Žç´°ç•ªå�·
+                if (m_TargetDetailNo < 0) return false;
+                // æ›¸è¾¼ã�¿ã‚«ãƒ©ãƒ ä½�ç½®
+                if (m_TargetColumn < 0) return false;
+                // è«‹æ±‚å‡¦ç�†é€£æ�ºé‡‘é¡�
+                if (m_AddingRequestPrice < 0) return false;
 
                 DataGridView dgv = dgvAllDisplay;
-                // æ˜Žç´°è¡Œä»¥å¤–ã�¯å‡¦ç�†ã�—ã�ªã�„
-                if (CommonMotions.cnvInt(dgv.Rows[SetRow].Cells[(int)GridColumn.TitleFlg].Value) == 0
-                    && CommonMotions.cnvInt(dgv.Rows[SetRow].Cells[(int)GridColumn.TotalFlg].Value) == 0
-                    && CommonMotions.cnvInt(dgv.Rows[SetRow].Cells[(int)GridColumn.BlankFlg].Value) == 0)
-                {
-                    // æ˜Žç´°ãƒ‡ãƒ¼ã‚¿è¡Œ
-                }
-                else
-                {   // ã��ã‚Œä»¥å¤–
-                    return;
-                }
 
-                // ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆ
-                dgv.Rows[SetRow].Cells[SetCol].Value = m_AddingRequestPrice;
-                dgv.EndEdit();
-                // å¤‰æ›´ãƒ•ãƒ©ã‚°ON
-                m_bChengeAns = true;
+                DataGridViewRow SelectRow = dgv.Rows.Cast<DataGridViewRow>().Where(x => CommonMotions.cnvInt(x.Cells[(int)GridColumn.CompanyCode].Value) == m_ReqSumCompany
+                                                                                && CommonMotions.cnvInt(x.Cells[(int)GridColumn.DetailNo].Value) == m_TargetDetailNo)
+                                                                            .First();
+                SelectRow.Cells[m_TargetColumn].Value = m_AddingRequestPrice.ToString("0,0");
+
+                // å†�è¨ˆç®—å‡¦ç�†
+                RowReCalculate(SelectRow, SelectRow.Index, m_TargetColumn);
+
+                return true;
             }
             catch (Exception ex)
             {
                 logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}", CommonMotions.GetMethodName(), ex.Message);
+                return false;
             }
         }
         #endregion
 
-        #region åˆ�æœŸè¡¨ç¤ºå‡¦ç�†
+        #region åˆ�æœŸè¡¨ç¤ºå‡¦ç�†ï¼ˆè«‹æ±‚ã�¾ã�¨ã‚�ã�‹ã‚‰ã�®è¡Œé�¸æŠžå‘¼å‡ºï¼‰
         /// <summary>
-        /// åˆ�æœŸè¡¨ç¤ºå‡¦ç�†
+        /// åˆ�æœŸè¡¨ç¤ºå‡¦ç�†ï¼ˆè«‹æ±‚ã�¾ã�¨ã‚�ã�‹ã‚‰ã�®è¡Œé�¸æŠžå‘¼å‡ºï¼‰
         /// </summary>
-        private void InitReqSum()
+        private void InitReqSumDialog()
         {
             try
             {
@@ -7796,10 +7853,10 @@
                 SeeModeLock();
 
                 // è«‹æ±‚ã�¾ã�¨ã‚�æ™‚ä½¿ç”¨ãƒœã‚¿ãƒ³è¡¨ç¤º
-                ReqSumButton(true);
+                ReqSumDialogButton();
 
                 // è«‹æ±‚ã�¾ã�¨ã‚�è¡¨ç¤ºã‚¹ã‚¿ã‚¤ãƒ«ã‚»ãƒƒãƒˆ
-                InitReqSumStyle();
+                InitReqSumDialogStyle();
 
             }
             catch (System.Exception ex)
@@ -7809,11 +7866,11 @@
         }
         #endregion
 
-        #region è«‹æ±‚ã�¾ã�¨ã‚�æ™‚ä½¿ç”¨ãƒœã‚¿ãƒ³è¡¨ç¤º
+        #region è«‹æ±‚ã�¾ã�¨ã‚�ãƒ€ã‚¤ã‚¢ãƒ­ã‚°ä½¿ç”¨æ™‚ãƒœã‚¿ãƒ³è¡¨ç¤º
         /// <summary>
-        /// è«‹æ±‚ã�¾ã�¨ã‚�æ™‚ä½¿ç”¨ãƒœã‚¿ãƒ³è¡¨ç¤º
+        /// è«‹æ±‚ã�¾ã�¨ã‚�ãƒ€ã‚¤ã‚¢ãƒ­ã‚°ä½¿ç”¨æ™‚ãƒœã‚¿ãƒ³è¡¨ç¤º
         /// </summary>
-        private void ReqSumButton(bool bLook = false)
+        private void ReqSumDialogButton()
         {
             try
             {
@@ -7833,11 +7890,11 @@
         }
         #endregion
 
-        #region è«‹æ±‚ã�¾ã�¨ã‚�è¡¨ç¤ºã‚¹ã‚¿ã‚¤ãƒ«ã‚»ãƒƒãƒˆ
+        #region è«‹æ±‚ã�¾ã�¨ã‚�ãƒ€ã‚¤ã‚¢ãƒ­ã‚°è¡¨ç¤ºã‚¹ã‚¿ã‚¤ãƒ«ã‚»ãƒƒãƒˆ
         /// <summary>
-        /// è«‹æ±‚ã�¾ã�¨ã‚�è¡¨ç¤ºã‚¹ã‚¿ã‚¤ãƒ«ã‚»ãƒƒãƒˆ
+        /// è«‹æ±‚ã�¾ã�¨ã‚�ãƒ€ã‚¤ã‚¢ãƒ­ã‚°è¡¨ç¤ºã‚¹ã‚¿ã‚¤ãƒ«ã‚»ãƒƒãƒˆ
         /// </summary>
-        private void InitReqSumStyle()
+        private void InitReqSumDialogStyle()
         {
             try
             {
@@ -7855,7 +7912,7 @@
                     if (nGroupCnt == (int)DataGroup.CurrentProfit) continue;    // 15:ç�¾åœ¨åˆ©ç›Šé‡‘é¡�
 
                     // è«‹æ±‚ã�¾ã�¨ã‚�è¡Œè‰²å¤‰æ›´å‡¦ç�†
-                    SetReqSumRowColor(CurRow);
+                    SetReqSumDialogRowColor(CurRow);
                 }
                 // ãƒ•ã‚©ãƒ¼ãƒ ã‚¹ã‚¿ã‚¤ãƒ«ã‚»ãƒƒãƒˆ
                 panel1.BackColor = Color.LightGreen;
@@ -7863,6 +7920,8 @@
                 int nWDiff = panel2.Width - dgv.Width;
                 panel2.Width = panel1.Width;
                 dgv.Width = (panel2.Width - nWDiff);
+                // é�žè¡¨ç¤º
+                btnOtherProc.Visible = false;
                 label4.Visible = false;
                 m_DspLabelCtrl[(int)DspLblCtrlName.CreateDate].Visible = false;
             }
@@ -7873,11 +7932,11 @@
         }
         #endregion
 
-        #region è«‹æ±‚ã�¾ã�¨ã‚�è¡Œè‰²å¤‰æ›´å‡¦ç�†
+        #region è«‹æ±‚ã�¾ã�¨ã‚�ãƒ€ã‚¤ã‚¢ãƒ­ã‚°è¡Œè‰²å¤‰æ›´å‡¦ç�†
         /// <summary>
-        /// è«‹æ±‚ã�¾ã�¨ã‚�è¡Œè‰²å¤‰æ›´å‡¦ç�†
+        /// è«‹æ±‚ã�¾ã�¨ã‚�ãƒ€ã‚¤ã‚¢ãƒ­ã‚°è¡Œè‰²å¤‰æ›´å‡¦ç�†
         /// </summary>
-        private void SetReqSumRowColor(DataGridViewRow CurRow)
+        private void SetReqSumDialogRowColor(DataGridViewRow CurRow)
         {
             try
             {
@@ -7924,6 +7983,176 @@
         }
         #endregion
 
+        #region åˆ�æœŸè¡¨ç¤ºå‡¦ç�†ï¼ˆè«‹æ±‚ã�¾ã�¨ã‚�ã�‹ã‚‰ã�®å�‚ç…§è¡¨ç¤ºå‘¼å‡ºï¼‰
+        /// <summary>
+        /// åˆ�æœŸè¡¨ç¤ºå‡¦ç�†ï¼ˆè«‹æ±‚ã�¾ã�¨ã‚�ã�‹ã‚‰ã�®å�‚ç…§è¡¨ç¤ºå‘¼å‡ºï¼‰
+        /// </summary>
+        private void InitReqSumDsp()
+        {
+            try
+            {
+                // å…¨ã�¦ã�®ã‚³ãƒ³ãƒˆãƒ­ãƒ¼ãƒ«ãƒ­ãƒƒã‚¯
+                SeeModeLock();
+
+                // è«‹æ±‚ã�¾ã�¨ã‚�å�‚ç…§ä½¿ç”¨æ™‚ãƒœã‚¿ãƒ³è¡¨ç¤º
+                ReqSumDspButton();
+
+                // ã‚°ãƒªãƒƒãƒ‰ã�®ç¯„å›²ã‚’åˆ¤å®šã�—ã�¦è¶³ã‚Šã�ªã�‘ã‚Œã�°ä¼¸ã�°ã�™
+                GridRengeChange();
+
+                // ãƒ‡ãƒ¼ã‚¿ã‚’ã‚»ãƒƒãƒˆã�™ã‚‹
+                SetReqSumData();
+            }
+            catch (System.Exception ex)
+            {
+                logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
+        #region è«‹æ±‚ã�¾ã�¨ã‚�å�‚ç…§ä½¿ç”¨æ™‚ãƒœã‚¿ãƒ³è¡¨ç¤º
+        /// <summary>
+        /// è«‹æ±‚ã�¾ã�¨ã‚�å�‚ç…§ä½¿ç”¨æ™‚ãƒœã‚¿ãƒ³è¡¨ç¤º
+        /// </summary>
+        private void ReqSumDspButton()
+        {
+            try
+            {
+                btnOtherProc.Visible = false;
+                btnDataEntry.Visible = false;
+                btnDataDelete.Visible = false;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
+        #region ã‚°ãƒªãƒƒãƒ‰ã�®ç¯„å›²ã‚’åˆ¤å®šã�—ã�¦è¶³ã‚Šã�ªã�‘ã‚Œã�°ä¼¸ã�°ã�™
+        /// <summary>
+        /// ã‚°ãƒªãƒƒãƒ‰ã�®ç¯„å›²ã‚’åˆ¤å®šã�—ã�¦è¶³ã‚Šã�ªã�‘ã‚Œã�°ä¼¸ã�°ã�™
+        /// </summary>
+        private void GridRengeChange()
+        {
+            try
+            {
+                DataGridView dgv = dgvAllDisplay;
+
+                // æœ€çµ‚ãƒ‡ãƒ¼ã‚¿ä½�ç½®å�–å¾—
+                int nDataGridLast = (dgv.ColumnCount - 1) - Enum.GetNames(typeof(ColPayTotal)).Length;
+                // æœ€çµ‚å¹´æœˆå�–å¾—
+                int nDispMonth = CommonMotions.cnvInt(dgv.Columns[nDataGridLast].HeaderText.Replace("å¹´", "").Replace("æœˆ", ""));
+            
+                // å‡¦ç�†æœˆã�Œç”»é�¢ã�«è¡¨ç¤ºã�•ã‚Œã�¦ã�„ã‚Œã�°å‡¦ç�†çµ‚äº†
+                if (m_ReqSumTargetMonth <= nDispMonth) return;
+
+                // ã‚°ãƒªãƒƒãƒ‰ã‚’ä¼¸ã�°ã�™
+                GridRengeAdjustment(nDataGridLast, nDispMonth);
+            }
+            catch (System.Exception ex)
+            {
+                logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
+        #region ã‚°ãƒªãƒƒãƒ‰ã‚’ä¼¸ã�°ã�™
+        /// <summary>
+        /// ã‚°ãƒªãƒƒãƒ‰ã‚’ä¼¸ã�°ã�™
+        /// </summary>
+        private void GridRengeAdjustment(int nDataGridLast, int nDispMonth)
+        {
+            try
+            {
+                DataGridView dgv = dgvAllDisplay;
+
+                // ----- ã‚°ãƒªãƒƒãƒ‰ç¯„å›²ã‚’ä¼¸ã�°ã�™
+                // ç”»é�¢å¹´æœˆæ—¥å�–å¾—
+                DateTime dtDispDate = new DateTime((nDispMonth / 100), (nDispMonth % 100), 1);
+                // å¯¾è±¡å¹´æœˆæ—¥å�–å¾—
+                DateTime dtTargetDate = new DateTime((m_ReqSumTargetMonth / 100), (m_ReqSumTargetMonth % 100), 1);
+                // æœˆå·®
+                int nMonthDiff = DateTimeUtil.GetElapsedMonths(dtDispDate, dtTargetDate);
+
+                // ã‚°ãƒªãƒƒãƒ‰ã‚’å·®åˆ†ä¼¸ã�°ã�™
+                int nNameNo = CommonMotions.cnvInt(dgv.Columns[nDataGridLast].Name.Replace("ColPayment", "")) + 1;
+                for (int i = 0; i < nMonthDiff; i++)
+                {
+                    int nfactor = (i + 1);
+
+                    // ã‚»ãƒ«ä½œæˆ�
+                    DataGridViewColumn DiffColList = new DataGridViewColumn();
+                    DiffColList.CellTemplate = new DataGridViewTextBoxCell();
+                    dgv.Columns.Insert((nDataGridLast + nfactor), DiffColList);
+
+                    // ã‚«ãƒ©ãƒ ã�®è¨­å®š
+                    DiffColList.CellTemplate = new DataGridViewTextBoxCell();
+                    DiffColList.DefaultCellStyle = dgv.Columns[nDataGridLast].DefaultCellStyle;
+                    DateTime dtDiff = dtDispDate.AddMonths(nfactor);
+                    DiffColList.HeaderText = YearMonthFormat(dtDiff.Year, dtDiff.Month);
+
+                    DiffColList.Name = string.Format("ColPayment{0}", (nNameNo + i));
+                    DiffColList.ReadOnly = false;
+                    DiffColList.Resizable = DataGridViewTriState.False;
+                    DiffColList.SortMode = DataGridViewColumnSortMode.NotSortable;
+                    DiffColList.Width = 150;
+
+                    foreach (DataGridViewRow CurRow in dgv.Rows)
+                    {
+                        CurRow.Cells[(nDataGridLast + nfactor)].Style = CurRow.Cells[nDataGridLast].Style;
+                    }
+                }
+            }
+            catch (System.Exception ex)
+            {
+                logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
+        #region æ¥­è€…æ”¯æ‰•ãƒ‡ãƒ¼ã‚¿ã‚’ã‚»ãƒƒãƒˆã�™ã‚‹
+        /// <summary>
+        /// æ¥­è€…æ”¯æ‰•ãƒ‡ãƒ¼ã‚¿ã‚’ã‚»ãƒƒãƒˆã�™ã‚‹
+        /// </summary>
+        private void SetReqSumData()
+        {
+            try
+            {
+                DataGridView dgv = dgvAllDisplay;
+
+                // å¯¾è±¡æœˆæ–‡å­—åˆ—ä½œæˆ�
+                // å¯¾è±¡å¹´æœˆæ—¥å�–å¾—
+                DateTime dtTargetDate = new DateTime((m_ReqSumTargetMonth / 100), (m_ReqSumTargetMonth % 100), 1);
+                string CurMounth = YearMonthFormat(dtTargetDate.Year, dtTargetDate.Month);
+                // å¯¾è±¡åˆ—ã‚’æŽ¢ã�™
+                int nSetColumn = -1;
+                for (int ix = (int)GridColumn.Payment; ix < dgv.ColumnCount; ix++)
+                {
+                    // ã‚°ãƒªãƒƒãƒ‰ã�®å¯¾è±¡åˆ—ã‚’æŽ¢ã�™
+                    if (!CurMounth.Equals(dgv.Columns[ix].HeaderText)) continue;
+                    nSetColumn = ix;
+                    break;
+                }
+                // å¯¾è±¡ç„¡ã�¯å‡¦ç�†ã�—ã�ªã�„
+                if (nSetColumn < 0) return;
+
+                // ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆ
+                foreach (BillingDataDetail DataCurRec in m_BillDetailList)
+                {
+                    DataGridViewRow SelectRow = dgv.Rows.Cast<DataGridViewRow>().Where(x => CommonMotions.cnvInt(x.Cells[(int)GridColumn.CompanyCode].Value) == DataCurRec.CompanyCode
+                                                                                    && CommonMotions.cnvInt(x.Cells[(int)GridColumn.DetailNo].Value) == DataCurRec.ConstructionRowCnt)
+                                                                                .First();
+                    SelectRow.Cells[nSetColumn].Value = DataCurRec.BillPrice.ToString("0,0");
+                }
+            }
+            catch (System.Exception ex)
+            {
+                logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
         // ---------- ï¼”ï¼Žè«‹æ±‚ã�¾ã�¨ã‚�é�¸æŠžå‡¦ç�†â†‘â†‘
         #endregion
 
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/EstimateInput/FrmEstimateInput.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/EstimateInput/FrmEstimateInput.cs	(revision 325)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/EstimateInput/FrmEstimateInput.cs	(revision 326)
@@ -1366,29 +1366,36 @@
         /// <param name="e"></param>
         private void dgvEntryData_KeyDown(object sender, KeyEventArgs e)
         {
-            // ƒf�[ƒ^ƒOƒŠƒbƒh‚ªActive‚Å‚È‚¯‚ê‚Î�ˆ—�‚µ‚È‚¢
-            if (ActiveControl == null) return;
-            if (!ActiveControl.GetType().Equals(typeof(DataGridViewEX)))
+            try
             {
-                e.Handled = true;
-                return;
-            }
+                // ƒf�[ƒ^ƒOƒŠƒbƒh‚ªActive‚Å‚È‚¯‚ê‚Î�ˆ—�‚µ‚È‚¢
+                if (ActiveControl == null) return;
+                if (!ActiveControl.GetType().Equals(typeof(DataGridViewEX)))
+                {
+                    e.Handled = true;
+                    return;
+                }
 
-            int TabCnt = TabCollections.SelectedIndex;
-            // “�Œv‘�ŒvƒOƒŠƒbƒh‚Í�ˆ—�‚µ‚È‚¢
-            if (TabCnt == 0) return;
+                int TabCnt = TabCollections.SelectedIndex;
+                // “�Œv‘�ŒvƒOƒŠƒbƒh‚Í�ˆ—�‚µ‚È‚¢
+                if (TabCnt == 0) return;
 
-            int RowCnt = m_EntryPage[TabCnt].EntryDGV.CurrentCell.RowIndex;
-            int ColCnt = m_EntryPage[TabCnt].EntryDGV.CurrentCell.ColumnIndex;
+                int RowCnt = m_EntryPage[TabCnt].EntryDGV.CurrentCell.RowIndex;
+                int ColCnt = m_EntryPage[TabCnt].EntryDGV.CurrentCell.ColumnIndex;
 
-            // ƒ�ƒbƒN‰Ó�ŠDelete�EBackƒL�[‚Ì�ˆ—�
-            if (e.KeyCode == Keys.Delete || e.KeyCode == Keys.Back)
-                GridLockCellDelete(TabCnt, RowCnt, ColCnt);
+                // ƒ�ƒbƒN‰Ó�ŠDelete�EBackƒL�[‚Ì�ˆ—�
+                if (e.KeyCode == Keys.Delete || e.KeyCode == Keys.Back)
+                    GridLockCellDelete(TabCnt, RowCnt, ColCnt);
 
-            if (e.KeyCode == Keys.Down)
+                if (e.KeyCode == Keys.Down)
+                {
+                    // �Å�I�sŽž‚Ì�ˆ—�
+                    GridLastLine();
+                }
+            }
+            catch (Exception ex)
             {
-                // �Å�I�sŽž‚Ì�ˆ—�
-                GridLastLine();
+                logger.ErrorFormat("ƒVƒXƒeƒ€ƒGƒ‰�[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
             }
         }
         #endregion
@@ -1592,6 +1599,8 @@
                     foreach (DataGridViewCell wrkCell in dgv.CurrentRow.Cells)
                         CommonMotions.chgBackColor(wrkCell, true);
                     break;
+                default:
+                    break;
             }
         }
         #endregion
@@ -2190,5 +2199,51 @@
             m_Canceled = true;
         }
         #endregion
+
+        //private void dgvEntryData_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
+        //{
+        //    try
+        //    {
+        //        DataGridView dgv = (DataGridView)sender;
+        //        //•Ò�W‚Ì‚½‚ß‚É•\Ž¦‚³‚ê‚Ä‚¢‚éƒRƒ“ƒgƒ��[ƒ‹‚ðŽæ“¾
+        //        DataGridViewTextBoxEditingControl tb = (DataGridViewTextBoxEditingControl)e.Control;
+
+        //        if (dgv.CurrentCell.OwningColumn.ReadOnly) return;
+
+        //        //IME‚Ìƒ‚�[ƒh‚ð•Ï�X‚·‚é
+        //        switch (dgv.CurrentCell.OwningColumn.Index)
+        //        {
+        //            case (int)GridItemColumn.ItemName:                          // –¼�Ì
+        //                // “�Œv‘�ŒvƒOƒŠƒbƒh
+        //                if (!EqualTotalGridPage(dgv)) tb.ImeMode = ImeMode.On;
+        //                break;
+        //            case (int)GridItemColumn.SpecName:                          // ‹KŠi�E�¡–@
+        //                tb.ImeMode = ImeMode.On;
+        //                break;
+        //            case (int)GridItemColumn.UnitName:                          // ’PˆÊ
+        //                // “�Œv‘�ŒvƒOƒŠƒbƒh
+        //                if (!EqualTotalGridPage(dgv)) tb.ImeMode = ImeMode.On;
+        //                break;
+        //            case (int)GridItemColumn.Note:                              // ”õ�l
+        //                tb.ImeMode = ImeMode.On;
+        //                break;
+        //            default:
+        //                tb.ImeMode = ImeMode.Disable;
+        //                break;
+        //        }
+        //    }
+        //    catch (Exception ex)
+        //    {
+        //        logger.ErrorFormat("ƒVƒXƒeƒ€ƒGƒ‰�[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
+        //    }
+        //}
+
+        //private void dgvEntryData_KeyPress(object sender, KeyPressEventArgs e)
+        //{
+        //    DataGridView dgv = (DataGridView)sender;
+
+        //    if (dgv.CurrentCell.OwningColumn.ReadOnly) return;
+        //    SendKeys.Send("{F2}");  
+        //}
     }
 }
\ No newline at end of file
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/EstimateInput/FrmEstimateInputAuxiliary.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/EstimateInput/FrmEstimateInputAuxiliary.cs	(revision 325)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/EstimateInput/FrmEstimateInputAuxiliary.cs	(revision 326)
@@ -269,9 +269,11 @@
                 newpage.EntryDGV.CellValidated += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvEntryData_CellValidated);
                 newpage.EntryDGV.CellValueChanged += new DataGridViewCellEventHandler(this.dgvEntryData_CellValueChanged);
                 newpage.EntryDGV.CurrentCellChanged += new System.EventHandler(this.dgvEntryData_CurrentCellChanged);
+                //newpage.EntryDGV.EditingControlShowing += new System.Windows.Forms.DataGridViewEditingControlShowingEventHandler(this.dgvEntryData_EditingControlShowing);
                 newpage.EntryDGV.Scroll += new System.Windows.Forms.ScrollEventHandler(this.dgvEntryData_Scroll);
                 newpage.EntryDGV.SelectionChanged += new System.EventHandler(this.dgvEntryData_SelectionChanged);         
                 newpage.EntryDGV.KeyDown += new System.Windows.Forms.KeyEventHandler(this.dgvEntryData_KeyDown);
+                //newpage.EntryDGV.KeyPress += new System.Windows.Forms.KeyPressEventHandler(dgvEntryData_KeyPress);
                 newpage.EntryDGV.MouseUp += new System.Windows.Forms.MouseEventHandler(this.dgvEntryData_MouseUp);
                 // 
                 // Column03
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestSummaryList/FrmRequestSummaryList.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestSummaryList/FrmRequestSummaryList.cs	(revision 325)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestSummaryList/FrmRequestSummaryList.cs	(revision 326)
@@ -1,12 +1,13 @@
 using System;
 using System.Collections.Generic;
 using System.ComponentModel;
+using System.Diagnostics;
 using System.Data;
 using System.Drawing;
-using System.Linq;
 using System.Text;
 using System.Windows.Forms;
 using System.Collections;
+using System.Linq;
 
 using log4net;
 using log4net.Appender;
@@ -16,8 +17,10 @@
 using ProcessManagement.DB.IOAccess;
 using ProcessManagement.DataModel;
 using ProcessManagement.DB.Core;
+using ProcessManagement.Forms.Master;
+using ProcessManagement.Forms.SubForms;
+using ProcessManagement.Forms.ControlsAction;
 using ProcessManagement.Forms.CustomControls;
-using ProcessManagement.Forms.ControlsAction;
 
 //*---------------------------- �¿‹�‚Ü‚Æ‚ß‰æ–Ê --------------------------------*
 //  2016/12/20  Ver1.0.0.0      Create Source           
@@ -1031,102 +1034,8 @@
         /// <param name="e"></param>
         private void DataGridView_CellValidated(object sender, DataGridViewCellEventArgs e)
         {
-            DataGridView dgv = (DataGridView)sender;
-            RowsTypeDef TargetRowtype = (RowsTypeDef)dgv[(int)DispColumn.RowType, e.RowIndex].Value;
-
-            // �s�E—ñ‚ª”ÍˆÍŠO‚Í�ˆ—�‚µ‚È‚¢
-            if (e.ColumnIndex < (int)DispColumn.SomuSeikyu) return;
-            if ((int)DispColumn.KyoryokuUmu < e.ColumnIndex) return;
-            if (TargetRowtype >= RowsTypeDef.�¬Œv) return;
-
-            int Code_Column = dgvCompany.Visible == true ? (int)DispColumn_Company.SubConstractorCode : (int)DispColumn_Project.GengaCode;
-
-            // �¬ŒvŽZ�o
-            ShoukeiSanshutu(e.ColumnIndex, Code_Column, CommonMotions.cnvInt(dgv[Code_Column, e.RowIndex].Value));
-
-            // �¿‹�‹àŠz˜AŒg
-            if (e.ColumnIndex == (int)DispColumn.KojiSeikyu)
-            {
-                if (m_FrmLedger != null)
-                {
-                    if (m_FrmLedger.AddingRequestPrice != CommonMotions.cnvInt(dgv.Rows[e.RowIndex].Cells[(int)DispColumn.KojiSeikyu].Value))
-                    {
-                        m_FrmLedger.AddingRequestPrice = CommonMotions.cnvInt(dgv.Rows[e.RowIndex].Cells[(int)DispColumn.KojiSeikyu].Value);
-                    }
-                }
-
-            }
-
-            // ŽŸ‰ñŒJ‰z
-            if (e.ColumnIndex == (int)DispColumn.SomuSeikyu ||
-                e.ColumnIndex == (int)DispColumn.KojiSeikyu ||
-                e.ColumnIndex == (int)DispColumn.KojiNebiki ||
-                e.ColumnIndex == (int)DispColumn.KojiSousai)
-            {
-                dgv[(int)DispColumn.JikaiKurikosi, e.RowIndex].Value = CommonMotions.cnvInt(dgv[(int)DispColumn.SomuSeikyu, e.RowIndex].Value)
-                                                                    - (CommonMotions.cnvInt(dgv[(int)DispColumn.KojiSeikyu, e.RowIndex].Value)
-                                                                    + CommonMotions.cnvInt(dgv[(int)DispColumn.KojiNebiki, e.RowIndex].Value)
-                                                                    + CommonMotions.cnvInt(dgv[(int)DispColumn.KojiSousai, e.RowIndex].Value));
-            }
-
-            // ‹¦—Í‹à
-            if (e.ColumnIndex == (int)DispColumn.KojiSeikyu)
-            {
-                SetKyoryokukin(dgv, e.RowIndex, Code_Column);
-            }
-
-            // �Á”ï�Å
-            if (e.ColumnIndex == (int)DispColumn.SomuSeikyu || e.ColumnIndex == (int)DispColumn.KojiSeikyu)
-            {
-                // �Á”ï�Å�sŒŸ�õ
-                int ZeiRowIndex = SearchRowIndex(Code_Column, CommonMotions.cnvInt(dgv[Code_Column, e.RowIndex].Value), RowsTypeDef.�Á”ï�Å);
-
-                // �¬Œv�sŒŸ�õ
-                int ShoukeiRowIndex = SearchRowIndex(Code_Column, CommonMotions.cnvInt(dgv[Code_Column, e.RowIndex].Value), RowsTypeDef.�¬Œv);
-
-                if (ShoukeiRowIndex >= 0)
-                {
-                    dgv[e.ColumnIndex, ZeiRowIndex].Value = CommonMotions.cnvRound(CommonMotions.cnvDouble(dgv[e.ColumnIndex, ShoukeiRowIndex].Value)
-                                                                                    * (CommonMotions.SystemMasterData.ConsumptionTax / 100));
-                }
-            }
-
-            // �‚‘¬‘ã
-            if (e.ColumnIndex == (int)DispColumn.SomuKosoku || e.ColumnIndex == (int)DispColumn.KojiKosoku)
-            {
-                // —ñ�Ý’è
-                int ColIndex = e.ColumnIndex == (int)DispColumn.SomuKosoku ? (int)DispColumn.SomuSeikyu : (int)DispColumn.KojiSeikyu;
-
-                // �‡Œv’l�Ý’è
-                SetSubGoukei(dgv, ColIndex, e.ColumnIndex, Code_Column, CommonMotions.cnvInt(dgv[Code_Column, e.RowIndex].Value), RowsTypeDef.�‚‘¬‘ã);
-            }
-
-
-            // ‹à•¨‘ã
-            if (e.ColumnIndex == (int)DispColumn.SomuKanamono || e.ColumnIndex == (int)DispColumn.KojiKanamono)
-            {
-                // —ñ�Ý’è
-                int ColIndex = e.ColumnIndex == (int)DispColumn.SomuKanamono ? (int)DispColumn.SomuSeikyu : (int)DispColumn.KojiSeikyu;
-
-                // �‡Œv’l�Ý’è
-                SetSubGoukei(dgv, ColIndex, e.ColumnIndex, Code_Column, CommonMotions.cnvInt(dgv[Code_Column, e.RowIndex].Value), RowsTypeDef.‹à•¨‘ã);
-            }
-
-            // ŽY”p�Å
-            if (e.ColumnIndex == (int)DispColumn.SomuSannhaiZei || e.ColumnIndex == (int)DispColumn.KojiSannhaiZei)
-            {
-                // —ñ�Ý’è
-                int ColIndex = e.ColumnIndex == (int)DispColumn.SomuSannhaiZei ? (int)DispColumn.SomuSeikyu : (int)DispColumn.KojiSeikyu;
-
-                // �‡Œv’l�Ý’è
-                SetSubGoukei(dgv, ColIndex, e.ColumnIndex, Code_Column, CommonMotions.cnvInt(dgv[Code_Column, e.RowIndex].Value), RowsTypeDef.ŽY”p�Å);
-            }
-
-            // �‡Œv�s
-            setGoukei(Code_Column, CommonMotions.cnvInt(dgv[Code_Column, e.RowIndex].Value));
-
-            if (!m_initDataLoad) m_bChengeAns = true;
-
+            // ƒZƒ‹“ü—ÍŒã�ˆ—�
+            CellInputAfter(sender, e);
         }
         #endregion
 
@@ -1148,7 +1057,7 @@
 
                 RowsTypeDef TargetRowtype = (RowsTypeDef)dgv[(int)DispColumn.RowType, e.RowIndex].Value;
 
-                if (TargetRowtype != RowsTypeDef.�¬Œv) return;
+                //if (TargetRowtype != RowsTypeDef.�¬Œv) return;
                 switch (e.ColumnIndex)
                 {
                     case (int)DispColumn.DetailName:        // �¿‹�–¾�×
@@ -1211,13 +1120,6 @@
         /// <param name="e"></param>
         private void btnEnd_Click(object sender, EventArgs e)
         {
-            if (m_FrmLedger != null)
-            {
-                m_FrmLedger.Close();
-                m_FrmLedger.Dispose();
-                m_FrmLedger = null;
-            }
-
             this.Close();
         }
         #endregion
@@ -1273,35 +1175,6 @@
         }
         #endregion
 
-        #region ‘I‘ð�s—ñˆÊ’uŽæ“¾�ˆ—�ƒf�[ƒ^Žæ“¾�ˆ—�
-        /// <summary>
-        /// ‘I‘ð�s—ñˆÊ’uŽæ“¾�ˆ—�ƒf�[ƒ^Žæ“¾�ˆ—�
-        /// </summary>
-        /// <param name="CurRow"></param>
-        public void GetRowPoint(DataGridViewCell CurCell)
-        {
-            try
-            {
-                m_FrmLedger.BillingLinkInPut(CurCell.RowIndex, CurCell.ColumnIndex);
-            }
-            catch (Exception ex)
-            {
-                logger.ErrorFormat("ƒVƒXƒeƒ€ƒGƒ‰�[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
-            }
-        }
-        #endregion
-
-        #region  ‘ä’ ˜AŒg�ˆ—��I—¹
-        /// <summary>
-        /// ‘ä’ ˜AŒg�ˆ—��I—¹
-        /// </summary>
-        public void EndLinkProc()
-        {
-            m_FrmLedger.Dispose();
-            m_FrmLedger = null;
-        }
-        #endregion
-
         #region �\�¿ƒ{ƒ^ƒ“‰Ÿ‰º
         /// <summary>
         /// �\�¿ƒ{ƒ^ƒ“‰Ÿ‰º
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestSummaryList/FrmRequestSummaryListAuxiliary.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestSummaryList/FrmRequestSummaryListAuxiliary.cs	(revision 325)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestSummaryList/FrmRequestSummaryListAuxiliary.cs	(revision 326)
@@ -1182,12 +1182,12 @@
         private void ShowSubConstructorDiag()
         {
             FrmSubContractorDiag frm = new FrmSubContractorDiag();
-            FrmConstructionLedger frm2 = new FrmConstructionLedger();
-            DataGridView dgv = getShowingView();
-            DataGridViewRow CurRow = dgv.CurrentRow;
             IOConstructionBaseInfo IoCbi = new IOConstructionBaseInfo();
             try
             {
+                DataGridView dgv = getShowingView();
+                DataGridViewRow CurRow = dgv.CurrentRow;
+
                 // �³”F�Ï‚Ý‚Í�ˆ—�‚µ‚È‚¢
                 int nApprovalEndFlg = CommonMotions.cnvInt(CurRow.Cells[(int)DispColumn.ApprovalEndFlg].Value);
                 if (nApprovalEndFlg == (int)PaymentDataDetail.ApprovalEndFlgDef.Approval) return;
@@ -1227,31 +1227,25 @@
                     selRec = frm.SelectData;
                 }
 
-                int[] nRowCol = new int[2];
-                Array.Clear(nRowCol, 0, nRowCol.Length);
                 int nNewMakeRowIndex = -1;
-                if (nConstrCode > 0 && selRec.CompanyCode > 0)
-                {
-                    // ‹ÆŽÒ�E�HŽ–‚ª�Ý’è�Ï‚Ý‚Í‘ä’ ‚æ‚è�s‚ð‘I‘ð
-                    if (!DispSelectLedger(selRec.CompanyCode, nConstrCode, frm2, ref nRowCol)) return;
-                }
-
                 if (rdbCompany.Checked)
                 {
                     // ----- ‹ÆŽÒ
-                    InsdgvCompany2Company(selRec, nRowCol, ref nNewMakeRowIndex);
+                    GridCompanyInCompany(selRec, ref nNewMakeRowIndex);
                 }
                 else
                 {
                     // ----- Œ»�ê
-                    InsdgvProject2Project(selRec, nRowCol, ref nNewMakeRowIndex);
+                    GridProjectInCompany(selRec, ref nNewMakeRowIndex);
                 }
 
-                if (nConstrCode > 0 && selRec.CompanyCode > 0)
-                {   // ----- •s–¾Žž‚Í�ˆ—�‚µ‚È‚¢
-                    // ’�•¶�‘—X‘—�E’�•¶�‘•Ô‘—�E—\ŽZ�‘‚Ì’lŽæ“¾
-                    SetMaruBatsuKigou(dgv, IoCbi, frm.ConstructionCode, nNewMakeRowIndex);
-                }
+                // �sƒf�[ƒ^‚ÌƒZƒbƒg‚ª�³�í�I—¹‚µ‚Ä‚¢‚È‚¢�ê�‡‚Í�ˆ—�‚µ‚È‚¢
+                if (nNewMakeRowIndex < 0) return;
+
+                // ’�•¶�‘—X‘—�E’�•¶�‘•Ô‘—�E—\ŽZ�‘‚Ì’lŽæ“¾
+                SetMaruBatsuKigou(dgv, IoCbi, nConstrCode, nNewMakeRowIndex);
+
+                ResetNo();
                 m_bChengeAns = true;
             }
             catch (System.Exception ex)
@@ -1261,7 +1255,6 @@
             finally
             {
                 frm.Dispose(); frm = null;
-                frm2.Dispose(); frm2 = null;
                 IoCbi.close(); IoCbi = null;
             }
         }
@@ -1272,17 +1265,23 @@
         /// ‹ÆŽÒƒOƒŠƒbƒh‹ÆŽÒ’Ç‰Á�ˆ—�
         /// </summary>
         /// <param name="selRec"></param>
-        private void InsdgvCompany2Company(SubContractorMaster selRec, int[] nRowCol, ref int nNewMakeRowIndex)
+        private void GridCompanyInCompany(SubContractorMaster selRec, ref int nNewMakeRowIndex)
         {
-            DataGridView dgv = getShowingView();
-            DataGridViewRow CurRow = dgv.CurrentRow;
-            int MakeIndex = -1;
+            FrmConstructionLedger frm2 = new FrmConstructionLedger();
             try
             {
-                // •s–¾�s‚Å‹ÆŽÒ‘I‘ðŽž
-                int nRowCompCode = CommonMotions.cnvInt(CurRow.Cells[m_Company_Column].Value);
+                DataGridView dgv = getShowingView();
+                DataGridViewRow CurRow = dgv.CurrentRow;
+                int MakeIndex = -1;
+
+                // ƒOƒŠƒbƒh‚Ì‹ÆŽÒƒR�[ƒhŽæ“¾
+                int nCompanyCode = CommonMotions.cnvInt(CurRow.Cells[m_Company_Column].Value);
+                int nConstrCode = CommonMotions.cnvInt(CurRow.Cells[m_Genba_Column].Value);
                 string strRowCompName = CommonMotions.cnvString(CurRow.Cells[m_CompanyNM_Column].Value);
-                if (nRowCompCode == 0 && strRowCompName.Equals(s_UnknownString) && selRec.CompanyCode != 0)
+                
+                // ‹ÆŽÒ•s–¾�s‚Å‹ÆŽÒ‘I‘ðŽž
+                bool bUnKwonRow = false;
+                if (nCompanyCode == 0 && strRowCompName.Equals(s_UnknownString) && selRec.CompanyCode > 0)
                 {
                     CurRow.Cells[m_Company_DispColumn].Value = selRec.CompanyCode;
                     CurRow.Cells[m_CompanyNM_Column].Value = selRec.CompanyName;
@@ -1290,12 +1289,11 @@
                     if (cnvRowState(CurRow.Cells[(int)DispColumn.RowState].Value) == DataRowState.Unchanged)
                         CurRow.Cells[(int)DispColumn.RowState].Value = DataRowState.Modified;
 
-                    ResetNo();
-                    m_bChengeAns = true;
-                    return;
+                    bUnKwonRow = true;
+
                 }
 
-                // ƒ_ƒCƒAƒ�ƒO‚Å‘I‘ð‚³‚ê‚½‹ÆŽÒ‚ªŠù‚É‚ ‚ê‚ÎŽæ“¾‚·‚é
+                // ƒ_ƒCƒAƒ�ƒO‚Å‘I‘ð‚³‚ê‚½‹ÆŽÒ‚ðŒŸ�õ
                 DataGridViewRow[] rows = dgv.Rows.Cast<DataGridViewRow>().Where(x => CommonMotions.cnvInt(x.Cells[m_Company_DispColumn].Value) == selRec.CompanyCode
                                                                                 && CommonMotions.cnvInt(x.Cells[(int)DispColumn.RowVisible].Value) == (int)RowVisibleDef.Visible
                                                                                 && CommonMotions.cnvInt(x.Cells[(int)DispColumn.RowType].Value) == (int)RowsTypeDef.–¾�×
@@ -1302,17 +1300,46 @@
                                                                                 && cnvRowState(x.Cells[(int)DispColumn.RowState].Value) != DataRowState.Deleted)
                                                                             .ToArray();
 
+                if (rows.Count() > 0)
+                {
+                    // ‘I‘ð‚³‚ê‚½‹ÆŽÒ‚ªŠù‚É‚ ‚ê‚Î�ˆ—�‚µ‚È‚¢
+                    if (!bUnKwonRow) return;
+                }
+                else
+                {
+                    // �V‹K’Ç‰Á‚Í�HŽ–ƒR�[ƒh‚ðƒNƒŠƒA‚·‚é
+                    nConstrCode = 0;
+                }
+
+                // ‘ä’ ‘I‘ð
+                int[] nRowCol = new int[2];
+                if (nConstrCode > 0 && selRec.CompanyCode > 0)
+                {
+                    // ‹ÆŽÒ�E�HŽ–‚ª�Ý’è�Ï‚Ý‚Í‘ä’ ‚æ‚è�s‚ð‘I‘ð
+                    if (!DispSelectLedger(selRec.CompanyCode, nConstrCode, frm2, ref nRowCol)) return;
+                }
+
+                // •s–¾�s‚ÉƒZƒbƒg‚µ‚½�ê�‡‚Í‘ä’ ‚ðƒZƒbƒg‚µ‚Ä”²‚¯‚é
+                if (bUnKwonRow)
+                {
+                    nNewMakeRowIndex = CurRow.Index;
+                    // ‘ä’ ‘I‘ð�s‚ÌƒZƒbƒg
+                    dgv.Rows[CurRow.Index].Cells[(int)DispColumn.ConstructionLedgerDetailNo].Value = nRowCol[0];
+                    dgv.Rows[CurRow.Index].Cells[(int)DispColumn.ConstructionLedgerColNo].Value = nRowCol[1];
+                    return;
+                }
+
                 // No’l
-                string cell = dgv.Rows.Cast<DataGridViewRow>().Where(x => cnvRowState(x.Cells[(int)DispColumn.RowState].Value) != DataRowState.Deleted)
+                string cellNo = dgv.Rows.Cast<DataGridViewRow>().Where(x => cnvRowState(x.Cells[(int)DispColumn.RowState].Value) != DataRowState.Deleted)
                                                               .Max(y => (string)y.Cells[(int)DispColumn.No].Value.ToString());
                 int No = 0;
-                if (cell == null)
+                if (cellNo == null)
                 {
                     No = 1;
                 }
                 else
                 {
-                    No = CommonMotions.cnvInt(cell) + 1;
+                    No = CommonMotions.cnvInt(cellNo) + 1;
                 }
 
                 MakeIndex = SearchRowIndexCompany(selRec.CompanyCode, true);
@@ -1322,16 +1349,11 @@
                 dgv.Rows[MakeIndex].Cells[(int)DispColumn.CompanyDispOrder].Value = selRec.DisplayOrder;
                 dgv.Rows[MakeIndex].Cells[(int)DispColumn.RowState].Value = DataRowState.Added;
 
-                if (rows.Count() < 1)
-                {
-                    MakeIndex++;
-                    // �‡Œv�s’Ç‰Á
-                    MakeGoukeiGyo(dgv, selRec.CompanyCode, selRec.DisplayOrder, MakeIndex);
-                }
+                MakeIndex++;
+                // �‡Œv�s’Ç‰Á
+                MakeGoukeiGyo(dgv, selRec.CompanyCode, selRec.DisplayOrder, MakeIndex);
 
-                ResetNo();
-                m_bChengeAns = true;
-
+                nNewMakeRowIndex = MakeIndex;
             }
             catch (System.Exception ex)
             {
@@ -1339,7 +1361,7 @@
             }
             finally
             {
-                nNewMakeRowIndex = MakeIndex;
+                frm2.Dispose(); frm2 = null;
             }
         }
         #endregion
@@ -1349,54 +1371,64 @@
         /// Œ»�êƒOƒŠƒbƒh‹ÆŽÒ’Ç‰Á�ˆ—�
         /// </summary>
         /// <param name="selRec"></param>
-        private void InsdgvProject2Project(SubContractorMaster selRec, int[] nRowCol, ref int nNewMakeRowIndex)
+        private void GridProjectInCompany(SubContractorMaster selRec, ref int nNewMakeRowIndex)
         {
-            DataGridView dgv = getShowingView();
-            DataGridViewRow CurRow = dgv.CurrentRow;
-
-            int MakeIndex = -1;
+            FrmConstructionLedger frm2 = new FrmConstructionLedger();
             try
             {
-                int nRowCompCode = CommonMotions.cnvInt(CurRow.Cells[m_Company_Column].Value);
+                DataGridView dgv = getShowingView();
+                DataGridViewRow CurRow = dgv.CurrentRow;
+                int MakeIndex = -1;
+
+                // ƒOƒŠƒbƒh‚ÌƒR�[ƒhŽæ“¾
+                int nConstrCode = CommonMotions.cnvInt(CurRow.Cells[m_Genba_Column].Value);
+                int nCompanyCode = CommonMotions.cnvInt(CurRow.Cells[m_Company_Column].Value);
                 string strRowCompName = CommonMotions.cnvString(CurRow.Cells[m_CompanyNM_Column].Value);
+
                 // ----- •s–¾�s‚Å‚Ì‘I‘ð
-                if (nRowCompCode == 0 && strRowCompName.Equals(s_UnknownString) && selRec.CompanyCode != 0)
+                bool bUnKwonRow = false;
+                if (nCompanyCode == 0 && strRowCompName.Equals(s_UnknownString) && selRec.CompanyCode > 0)
                 {
                     // •s–¾�s‚Å‹ÆŽÒ‚ð‘I‘ð‚µ‚½�ê�‡‚ÍƒZƒbƒg‚·‚é
                     CurRow.Cells[m_Company_DispColumn].Value = selRec.CompanyCode;
                     CurRow.Cells[m_CompanyNM_Column].Value = selRec.CompanyName;
                     if (cnvRowState(CurRow.Cells[(int)DispColumn.RowState].Value) == DataRowState.Unchanged)
-                    {
                         CurRow.Cells[(int)DispColumn.RowState].Value = DataRowState.Modified;
-                    }
-                    ResetNo();
 
-                    m_bChengeAns = true;
+                    bUnKwonRow = true;
+                }
+
+                // ‘ä’ ‘I‘ð
+                int[] nRowCol = new int[2];
+                if (nConstrCode > 0 && selRec.CompanyCode > 0)
+                {
+                    // ‹ÆŽÒ�E�HŽ–‚ª�Ý’è�Ï‚Ý‚Í‘ä’ ‚æ‚è�s‚ð‘I‘ð
+                    if (!DispSelectLedger(selRec.CompanyCode, nConstrCode, frm2, ref nRowCol)) return;
+                }
+
+                // •s–¾�s‚ÉƒZƒbƒg‚µ‚½�ê�‡‚Í‘ä’ ‚ðƒZƒbƒg‚µ‚Ä”²‚¯‚é
+                if (bUnKwonRow)
+                {
+                    nNewMakeRowIndex = CurRow.Index;
+                    // ‘ä’ ‘I‘ð�s‚ÌƒZƒbƒg
+                    dgv.Rows[CurRow.Index].Cells[(int)DispColumn.ConstructionLedgerDetailNo].Value = nRowCol[0];
+                    dgv.Rows[CurRow.Index].Cells[(int)DispColumn.ConstructionLedgerColNo].Value = nRowCol[1];
                     return;
                 }
 
-                // �HŽ–ƒR�[ƒhŽæ“¾
-                int nConstrCode = CommonMotions.cnvInt(CurRow.Cells[m_Genba_Column].Value);
-                if (nConstrCode < 1) return;
-
                 // �HŽ––¼‚ðŽæ“¾‚·‚é
                 int iNo = 0;
                 string strConstrName = string.Empty;
-                for (int i = CurRow.Index; i >= 0; i--)
+                DataGridViewRow[] rows = dgv.Rows.Cast<DataGridViewRow>().Where(x => CommonMotions.cnvInt(x.Cells[m_Genba_Column].Value) == nConstrCode
+                                                                                && CommonMotions.cnvString(x.Cells[m_GenbaNM_Column].Value).Length > 0
+                                                                                && CommonMotions.cnvInt(x.Cells[(int)DispColumn.No].Value) > 0)
+                                                                            .ToArray();
+                if (rows.Count() > 0)
                 {
-                    // “¯ˆê�HŽ–“à‚ðŒŸ�õ‚·‚é
-                    if (CommonMotions.cnvInt(dgv.Rows[i].Cells[m_Genba_Column].Value) != nConstrCode) break;
+                    // ‡‚‚ª‚ ‚ê‚ÎŽæ“¾‚·‚é
+                    iNo = CommonMotions.cnvInt(rows[0].Cells[(int)DispColumn.No].Value);
                     // Œ»�ê–¼�Ì‚ª‚ ‚ê‚ÎŽæ“¾‚·‚é
-                    if (CommonMotions.cnvString(dgv.Rows[i].Cells[m_GenbaNM_Column].Value).Length > 0)
-                    {
-                        strConstrName = CommonMotions.cnvString(dgv.Rows[i].Cells[m_GenbaNM_Column].Value);
-                        // ‡‚‚ª‚ ‚ê‚ÎŽæ“¾‚·‚é
-                        if (CommonMotions.cnvInt(dgv.Rows[i].Cells[(int)DispColumn.No].Value) > 0)
-                        {
-                            iNo = CommonMotions.cnvInt(dgv.Rows[i].Cells[(int)DispColumn.No].Value);
-                        }
-                        break;
-                    }
+                    strConstrName = CommonMotions.cnvString(rows[0].Cells[m_GenbaNM_Column].Value);
                 }
 
                 // ‘I‘ð‹ÆŽÒ‚ª“¯ˆê�HŽ–“à‚É‚ ‚é‚©‚ð”»’è‚·‚é
@@ -1424,9 +1456,7 @@
                 dgv.Rows[MakeIndex].Cells[(int)DispColumn.CompanyDispOrder].Value = selRec.DisplayOrder;
                 dgv.Rows[MakeIndex].Cells[(int)DispColumn.RowState].Value = DataRowState.Added;
 
-                ResetNo();
-
-                m_bChengeAns = true;
+                nNewMakeRowIndex = MakeIndex;
             }
             catch (System.Exception ex)
             {
@@ -1434,11 +1464,48 @@
             }
             finally
             {
-                nNewMakeRowIndex = MakeIndex;
+                frm2.Dispose(); frm2 = null;
             }
         }
         #endregion
 
+        #region ’�•¶�‘—X‘—�E’�•¶�‘•Ô‘—�E—\ŽZ�‘‚Ì’lŽæ“¾
+        /// <summary>
+        /// ’�•¶�‘—X‘—�E’�•¶�‘•Ô‘—�E—\ŽZ�‘‚Ì’lŽæ“¾
+        /// </summary>
+        private void SetMaruBatsuKigou(DataGridView dgv
+                                        , IOConstructionBaseInfo IoCbi
+                                        , int nConstructionCode
+                                        , int nNewMakeRowIndex)
+        {
+            try
+            {
+                if (nConstructionCode < 1) return;
+                // ’�•¶�‘—X‘—�E’�•¶�‘•Ô‘—�E—\ŽZ�‘‚Ì’lŽæ“¾
+                StringBuilder sWhere = new StringBuilder();
+                ArrayList arData = new ArrayList();
+                if (!GetMarubatu(IoCbi, nConstructionCode, ref arData))
+                {
+                    MessageBox.Show("�HŽ–Šî–{�î•ñ�E�³”Fƒf�[ƒ^ƒGƒ‰�[", "ƒf�[ƒ^Žæ“¾ƒGƒ‰�[", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                    return;
+                }
+
+                if (arData.Count != 0)
+                {
+                    // ’�•¶�‘’ñ�o�E’�•¶�‘“ž’…�E—\ŽZ�‘
+                    object[] row = (object[])arData[0];
+                    dgv.Rows[nNewMakeRowIndex].Cells[(int)DispColumn.CyuumonshoTeisyutu].Value = row[0];
+                    dgv.Rows[nNewMakeRowIndex].Cells[(int)DispColumn.CyuumonshoTouchaku].Value = row[1];
+                    dgv.Rows[nNewMakeRowIndex].Cells[(int)DispColumn.YosanSho].Value = row[2];
+                }
+            }
+            catch (System.Exception ex)
+            {
+                logger.ErrorFormat("ƒVƒXƒeƒ€ƒGƒ‰�[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
         #region ‹ÆŽÒƒOƒŠƒbƒh‚ÅŽw’è‚µ‚½‰ïŽÐƒR�[ƒh�‡‚ÌŽŸ‚ÌƒCƒ“ƒfƒbƒNƒX‚ðŽæ“¾‚·‚é
         /// <summary>
         /// ‹ÆŽÒƒOƒŠƒbƒh‚ÅŽw’è‚µ‚½‰ïŽÐƒR�[ƒh�‡‚ÌŽŸ‚ÌƒCƒ“ƒfƒbƒNƒX‚ðŽæ“¾‚·‚é
@@ -1734,14 +1801,13 @@
         private void ShowProjectDiag()
         {
             FrmConstructionDiag frm = new FrmConstructionDiag();
-            FrmConstructionLedger frm2 = new FrmConstructionLedger();
             IOConstructionBaseInfo IoCbi = new IOConstructionBaseInfo();
-            DataGridView dgv = getShowingView();
             try
             {
+                DataGridView dgv = getShowingView();
                 DataGridViewRow CurRow = dgv.CurrentRow;
 
-                int nCompnyCode = CommonMotions.cnvInt(CurRow.Cells[m_Company_DispColumn].Value);
+                int nCompanyCode = CommonMotions.cnvInt(CurRow.Cells[m_Company_DispColumn].Value);
                 int nConstrCode = CommonMotions.cnvInt(CurRow.Cells[m_Genba_Column].Value);
 
                 // �³”F�Ï‚Ý‚Í�ˆ—�‚µ‚È‚¢
@@ -1765,46 +1831,39 @@
                 frm.DispAddUnknown = true;
 
                 frm.ShowDialog();
-                
+
                 // �I—¹ƒR�[ƒhŠm”F
                 if (DialogResult.Cancel.Equals(frm.EndButton)) return;
 
                 // ‘I‘ð–³‚µ‚Í�ˆ—�‚µ‚È‚¢
                 int nSelConstrCode = 0;
-
+                string sSelConstrName = string.Empty;
                 // •s–¾ˆÈŠO‚Í‘I‘ðƒf�[ƒ^‚ðŽæ“¾‚·‚é
                 if (!DialogResult.Yes.Equals(frm.EndButton))
                 {
                     // ‘I‘ð’lƒZƒbƒg
                     nSelConstrCode = frm.ConstructionCode;
+                    sSelConstrName = frm.ConstructionName;
                 }
 
-                int[] nRowCol = new int[2];
-                Array.Clear(nRowCol, 0, nRowCol.Length);
                 int nNewMakeRowIndex = -1;
-
-                if (frm.ConstructionCode > 0 && nCompnyCode > 0)
-                {
-                    // —¼•û�Ý’è‚³‚ê‚Ä‚¢‚ê‚Î‘ä’ •\Ž¦•\Ž¦‚·‚é
-                    if (!DispSelectLedger(nCompnyCode, nSelConstrCode, frm2, ref nRowCol)) return;
-                }
-
                 if (rdbCompany.Checked)
                 {
                     // ----- ‹ÆŽÒ
-                    InsdgvCompany2Project(nCompnyCode, frm.ConstructionCode, frm.ConstructionName, nRowCol, ref nNewMakeRowIndex);
+                    GridCompanyInProject(nSelConstrCode, sSelConstrName, ref nNewMakeRowIndex);
                 }
                 else if (rdbProject.Checked)
                 {   // ----- Œ»�ê
-                    InsdgvProject2Company(nCompnyCode, frm.ConstructionCode, frm.ConstructionName, nRowCol, ref nNewMakeRowIndex);
+                    GridProjectInProject(nSelConstrCode, sSelConstrName, ref nNewMakeRowIndex);
                 }
 
-                if (frm.ConstructionCode > 0 && nCompnyCode > 0)
-                {   // ----- •s–¾Žž‚Í�ˆ—�‚µ‚È‚¢
-                    // ’�•¶�‘—X‘—�E’�•¶�‘•Ô‘—�E—\ŽZ�‘‚Ì’lŽæ“¾
-                    SetMaruBatsuKigou(dgv, IoCbi, frm.ConstructionCode, nNewMakeRowIndex);
-                }
+                // �sƒf�[ƒ^‚ÌƒZƒbƒg‚ª�³�í�I—¹‚µ‚Ä‚¢‚È‚¢�ê�‡‚Í�ˆ—�‚µ‚È‚¢
+                if (nNewMakeRowIndex < 0) return;
 
+                // ’�•¶�‘—X‘—�E’�•¶�‘•Ô‘—�E—\ŽZ�‘‚Ì’lŽæ“¾
+                SetMaruBatsuKigou(dgv, IoCbi, nSelConstrCode, nNewMakeRowIndex);
+
+                ResetNo();
                 m_bChengeAns = true;
             }
             catch (System.Exception ex)
@@ -1814,47 +1873,170 @@
             finally
             {
                 frm.Dispose(); frm = null;
-                frm2.Dispose(); frm2 = null;
                 IoCbi.close(); IoCbi = null;
-
-                ResetNo();
             }
         }
         #endregion
 
-        #region ’�•¶�‘—X‘—�E’�•¶�‘•Ô‘—�E—\ŽZ�‘‚Ì’lŽæ“¾
+        #region ‹ÆŽÒƒOƒŠƒbƒhŒ»�ê’Ç‰Á�ˆ—�
         /// <summary>
-        /// ’�•¶�‘—X‘—�E’�•¶�‘•Ô‘—�E—\ŽZ�‘‚Ì’lŽæ“¾
+        /// ‹ÆŽÒƒOƒŠƒbƒhŒ»�ê’Ç‰Á�ˆ—�
         /// </summary>
-        private void SetMaruBatsuKigou(DataGridView dgv
-                                        , IOConstructionBaseInfo IoCbi
-                                        , int nConstructionCode
-                                        , int nNewMakeRowIndex)
+        private void GridCompanyInProject(int SelConstrCode, string SelConstrName, ref int nNewMakeRowIndex)
         {
+            FrmConstructionLedger frm2 = new FrmConstructionLedger();
             try
             {
-                // ’�•¶�‘—X‘—�E’�•¶�‘•Ô‘—�E—\ŽZ�‘‚Ì’lŽæ“¾
-                StringBuilder sWhere = new StringBuilder();
-                ArrayList arData = new ArrayList();
-                if (!GetMarubatu(IoCbi, nConstructionCode, ref arData))
+                DataGridView dgv = getShowingView();
+                DataGridViewRow CurRow = dgv.CurrentRow;
+
+                // ƒOƒŠƒbƒh‚ÌƒR�[ƒhŽæ“¾
+                int nCompanyCode = CommonMotions.cnvInt(CurRow.Cells[m_Company_DispColumn].Value);
+                int nConstrCode = CommonMotions.cnvInt(CurRow.Cells[m_Genba_Column].Value);
+                string strConstrName = CommonMotions.cnvString(CurRow.Cells[m_GenbaNM_Column].Value);
+
+                // •s–¾�s‚ð‘I‘ð‚µ‚½�ê�‡‚Í�HŽ–‚ðƒZƒbƒg‚·‚é
+                bool bUnKwonRow = false;
+                if (nConstrCode == 0 && s_UnknownString.Equals(strConstrName) && SelConstrCode > 0)
                 {
-                    MessageBox.Show("�HŽ–Šî–{�î•ñ�E�³”Fƒf�[ƒ^ƒGƒ‰�[", "ƒf�[ƒ^Žæ“¾ƒGƒ‰�[", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                    CurRow.Cells[m_Genba_Column].Value = SelConstrCode;
+                    CurRow.Cells[m_GenbaNM_Column].Value = SelConstrName;
+                    if (cnvRowState(CurRow.Cells[(int)DispColumn.RowState].Value) == DataRowState.Unchanged)
+                        CurRow.Cells[(int)DispColumn.RowState].Value = DataRowState.Modified;
+
+                    bUnKwonRow = true;
+                }
+
+                int[] nRowCol = new int[2];
+                if (SelConstrCode > 0 && nCompanyCode > 0)
+                {
+                    // —¼•û�Ý’è‚³‚ê‚Ä‚¢‚ê‚Î‘ä’ •\Ž¦•\Ž¦‚·‚é
+                    if (!DispSelectLedger(nCompanyCode, SelConstrCode, frm2, ref nRowCol)) return;
+                }
+
+                // •s–¾�s‚ÉƒZƒbƒg‚µ‚½�ê�‡‚Í‘ä’ ‚ðƒZƒbƒg‚µ‚Ä”²‚¯‚é
+                if (bUnKwonRow)
+                {
+                    nNewMakeRowIndex = CurRow.Index;
+                    // ‘ä’ ‘I‘ð�s‚ÌƒZƒbƒg
+                    dgv.Rows[CurRow.Index].Cells[(int)DispColumn.ConstructionLedgerDetailNo].Value = nRowCol[0];
+                    dgv.Rows[CurRow.Index].Cells[(int)DispColumn.ConstructionLedgerColNo].Value = nRowCol[1];
                     return;
                 }
 
-                if (arData.Count != 0)
+                // ----- �¬Œv�s‚Ì�ã‚É’Ç‰Á‚·‚é
+                int MakeIndex = SearchRowIndexCompany(nCompanyCode, false, SelConstrCode);
+
+                // ‹ÆŽÒ–¼‚ðŽæ“¾‚·‚é
+                DataGridViewRow[] CompNameRows = dgv.Rows.Cast<DataGridViewRow>().Where(x => CommonMotions.cnvInt(x.Cells[m_Company_DispColumn].Value) == nCompanyCode
+                                                                                && CommonMotions.cnvString(x.Cells[m_CompanyNM_Column].Value).Length > 0
+                                                                                && CommonMotions.cnvInt(x.Cells[(int)DispColumn.RowType].Value) == (int)RowsTypeDef.–¾�×)
+                                                                            .ToArray();
+                string strCompnyName = CommonMotions.cnvString(CompNameRows[0].Cells[m_CompanyNM_Column].Value);
+
+                // �s�ì�¬
+                MakeNewRow(nCompanyCode, strCompnyName, SelConstrCode, 0, nRowCol, ref MakeIndex, -1, MakeIndex, SelConstrName);
+                dgv.Rows[MakeIndex].Cells[(int)DispColumn.RowState].Value = DataRowState.Added;
+
+                nNewMakeRowIndex = MakeIndex;
+            }
+            catch (System.Exception ex)
+            {
+                logger.ErrorFormat("ƒVƒXƒeƒ€ƒGƒ‰�[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+            finally
+            {
+                frm2.Dispose(); frm2 = null;
+            }
+        }
+        #endregion
+
+        #region Œ»�êƒOƒŠƒbƒhŒ»�ê’Ç‰Á�ˆ—�
+        /// <summary>
+        /// Œ»�êƒOƒŠƒbƒhŒ»�ê’Ç‰Á�ˆ—�
+        /// </summary>
+        private void GridProjectInProject(int SelConstrCode, string SelConstrName, ref int nNewMakeRowIndex)
+        {
+            FrmConstructionLedger frm2 = new FrmConstructionLedger();
+            try
+            {
+                DataGridView dgv = getShowingView();
+                DataGridViewRow CurRow = dgv.CurrentRow;
+
+                // ƒOƒŠƒbƒh‚ÌƒR�[ƒhŽæ“¾
+                int nCompanyCode = CommonMotions.cnvInt(CurRow.Cells[m_Company_DispColumn].Value);
+                int nConstrCode = CommonMotions.cnvInt(CurRow.Cells[m_Genba_Column].Value);
+                string strConstrName = CommonMotions.cnvString(CurRow.Cells[m_CompanyNM_Column].Value);
+
+                // •s–¾�s‚ð‘I‘ð‚µ‚½�ê�‡‚Í�HŽ–‚ðƒZƒbƒg‚·‚é
+                bool bUnKwonRow = false;
+                if (nConstrCode == 0 && s_UnknownString.Equals(strConstrName) && SelConstrCode > 0)
                 {
-                    // ’�•¶�‘’ñ�o�E’�•¶�‘“ž’…�E—\ŽZ�‘
-                    object[] row = (object[])arData[0];
-                    dgv.Rows[nNewMakeRowIndex].Cells[(int)DispColumn.CyuumonshoTeisyutu].Value = row[0];
-                    dgv.Rows[nNewMakeRowIndex].Cells[(int)DispColumn.CyuumonshoTouchaku].Value = row[1];
-                    dgv.Rows[nNewMakeRowIndex].Cells[(int)DispColumn.YosanSho].Value = row[2];
+                    CurRow.Cells[m_Genba_Column].Value = SelConstrCode;
+                    CurRow.Cells[m_GenbaNM_Column].Value = SelConstrName;
+                    if (cnvRowState(CurRow.Cells[(int)DispColumn.RowState].Value) == DataRowState.Unchanged)
+                        CurRow.Cells[(int)DispColumn.RowState].Value = DataRowState.Modified;
+
+                    bUnKwonRow = true;
                 }
+
+                // Šù‚É�HŽ–‚ª‚ ‚é‚©‚Ìƒ`ƒFƒbƒN
+                DataGridViewRow[] Rows = dgv.Rows.Cast<DataGridViewRow>().Where(x => CommonMotions.cnvInt(x.Cells[m_Genba_Column].Value) == SelConstrCode
+                                                                                && CommonMotions.cnvInt(x.Cells[(int)DispColumn.RowType].Value) == (int)RowsTypeDef.–¾�×
+                                                                                && cnvRowState(x.Cells[(int)DispColumn.RowState].Value) != DataRowState.Deleted)
+                                                                        .ToArray();
+                if (Rows.Count() > 0)
+                {
+                    // ‘I‘ð‚³‚ê‚½‹ÆŽÒ‚ªŠù‚É‚ ‚ê‚Î�ˆ—�‚µ‚È‚¢
+                    if (!bUnKwonRow) return;
+                }
+                else
+                {
+                    // �V‹K’Ç‰Á‚Í�HŽ–ƒR�[ƒh‚ðƒNƒŠƒA‚·‚é
+                    nConstrCode = 0;
+                }
+
+                int[] nRowCol = new int[2];
+                if (SelConstrCode > 0 && nCompanyCode > 0)
+                {
+                    // —¼•û�Ý’è‚³‚ê‚Ä‚¢‚ê‚Î‘ä’ •\Ž¦•\Ž¦‚·‚é
+                    if (!DispSelectLedger(nCompanyCode, SelConstrCode, frm2, ref nRowCol)) return;
+                }
+
+                // •s–¾�s‚ÉƒZƒbƒg‚µ‚½�ê�‡‚Í‘ä’ ‚ðƒZƒbƒg‚µ‚Ä”²‚¯‚é
+                if (bUnKwonRow)
+                {
+                    nNewMakeRowIndex = CurRow.Index;
+                    // ‘ä’ ‘I‘ð�s‚ÌƒZƒbƒg
+                    dgv.Rows[CurRow.Index].Cells[(int)DispColumn.ConstructionLedgerDetailNo].Value = nRowCol[0];
+                    dgv.Rows[CurRow.Index].Cells[(int)DispColumn.ConstructionLedgerColNo].Value = nRowCol[1];
+                    return;
+                }
+
+                int MakeIndex = 0;
+                // ----- �V‹K�s
+                MakeIndex = SearchRowIndexProject(SelConstrCode, false);
+
+                // �s�ì�¬
+                MakeNewRow(0, string.Empty, SelConstrCode, 0, nRowCol, ref MakeIndex, -1, -1, SelConstrName);
+                dgv.Rows[MakeIndex].Cells[(int)DispColumn.CompanyDispOrder].Value = 0;
+                dgv.Rows[MakeIndex].Cells[(int)DispColumn.RowState].Value = DataRowState.Added;
+
+                // �‡Œv�s’Ç‰Á
+                int GoukeiNo = CommonMotions.cnvInt(dgv.Rows[MakeIndex].Cells[(int)DispColumn.GoukeiSeqNo].Value);
+                MakeIndex++;
+                MakeGoukeiGyo(dgv, GoukeiNo, 0, MakeIndex);
+
+                nNewMakeRowIndex = MakeIndex;
             }
             catch (System.Exception ex)
             {
                 logger.ErrorFormat("ƒVƒXƒeƒ€ƒGƒ‰�[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
             }
+            finally
+            {
+                frm2.Dispose(); frm2 = null;
+            }
         }
         #endregion
 
@@ -1873,7 +2055,7 @@
                 // �HŽ–”Ô�†
                 frmLedger.ConstructionCode = nConstrCode;
                 // �¿‹�‚Ü‚Æ‚ß‘I‘ðŽg—pŽžƒtƒ‰ƒO
-                frmLedger.ReqSumSelFlag = true;
+                frmLedger.ReqSumDialogFlag = true;
                 // �¿‹�‚Ü‚Æ‚ß‘Î�ÛŒŽ
                 frmLedger.ReqSumTargetMonth = CommonMotions.cnvInt(cmbTargetMonth.SelectedValue);
                 // �¿‹�‚Ü‚Æ‚ß‘Î�Û‹ÆŽÒƒR�[ƒh
@@ -1902,7 +2084,7 @@
         /// </summary>
         /// <param name="nCompnyCode"></param>
         /// <param name="frm2"></param>
-        private void SetTargetCompanyList(int nCompnyCode, int nSelConstrCode, FrmConstructionLedger frm2)
+        private void SetTargetCompanyList(int nCompnyCode, int nSelConstrCode, FrmConstructionLedger frm2, bool bDialog = true)
         {
             try
             {
@@ -1909,12 +2091,26 @@
                 DataGridView dgv = getShowingView();
 
                 // ‘Î�Û‹ÆŽÒ‚ðŽæ“¾‚·‚é
-                DataGridViewRow[] SelRows = dgv.Rows.Cast<DataGridViewRow>().Where(x => CommonMotions.cnvInt(x.Cells[m_Company_DispColumn].Value) == nCompnyCode
-                                                                                && CommonMotions.cnvInt(x.Cells[m_Genba_Column].Value) == nSelConstrCode
-                                                                                && CommonMotions.cnvInt(x.Cells[(int)DispColumn.RowVisible].Value) == (int)RowVisibleDef.Visible
-                                                                                && CommonMotions.cnvInt(x.Cells[(int)DispColumn.RowType].Value) == (int)RowsTypeDef.–¾�×)
-                                                                            .OrderBy(y => CommonMotions.cnvInt(y.Cells[m_Company_DispColumn].Value))
-                                                                            .ToArray();
+                DataGridViewRow[] SelRows = null;
+                if (bDialog)
+                {
+                    // ‹ÆŽÒ‘I‘ðƒ_ƒCƒAƒ�ƒO
+                    SelRows = dgv.Rows.Cast<DataGridViewRow>().Where(x => CommonMotions.cnvInt(x.Cells[m_Company_DispColumn].Value) == nCompnyCode
+                                                                        && CommonMotions.cnvInt(x.Cells[m_Genba_Column].Value) == nSelConstrCode
+                                                                        && CommonMotions.cnvInt(x.Cells[(int)DispColumn.RowType].Value) == (int)RowsTypeDef.–¾�×)
+                                                                .OrderBy(y => CommonMotions.cnvInt(y.Cells[m_Company_DispColumn].Value))
+                                                                .ToArray();
+                }
+                else
+                {
+                    // ‘ä’ ‰{——•\Ž¦
+                    SelRows = dgv.Rows.Cast<DataGridViewRow>().Where(x => CommonMotions.cnvInt(x.Cells[m_Genba_Column].Value) == nSelConstrCode
+                                                                        && (cnvRowState(x.Cells[(int)DispColumn.RowState].Value) == DataRowState.Added
+                                                                        || cnvRowState(x.Cells[(int)DispColumn.RowState].Value) == DataRowState.Modified)
+                                                                        && CommonMotions.cnvInt(x.Cells[(int)DispColumn.RowType].Value) == (int)RowsTypeDef.–¾�×)
+                                                                .OrderBy(y => CommonMotions.cnvInt(y.Cells[m_Company_DispColumn].Value))
+                                                                .ToArray();
+                }
                 // ƒŠƒXƒgƒZƒbƒg
                 frm2.BillDetailList.Clear();
                 foreach (DataGridViewRow CurRow in SelRows)
@@ -1922,6 +2118,7 @@
                     BillingDataDetail DataCurRec = new BillingDataDetail();
                     DataCurRec.CompanyCode = CommonMotions.cnvInt(CurRow.Cells[m_Company_DispColumn].Value);
                     DataCurRec.ConstructionRowCnt = CommonMotions.cnvInt(CurRow.Cells[(int)DispColumn.ConstructionLedgerDetailNo].Value);
+                    DataCurRec.BillPrice = CommonMotions.cnvInt(CurRow.Cells[(int)DispColumn.KojiSeikyu].Value);
                     frm2.BillDetailList.Add(DataCurRec);
                 }
             }
@@ -1932,136 +2129,122 @@
         }
         #endregion
 
-        #region ‹ÆŽÒƒOƒŠƒbƒhŒ»�ê’Ç‰Á�ˆ—�
+        #region ƒZƒ‹“ü—ÍŒã�ˆ—�
         /// <summary>
-        /// ‹ÆŽÒƒOƒŠƒbƒhŒ»�ê’Ç‰Á�ˆ—�
+        /// ƒZƒ‹“ü—ÍŒã�ˆ—�
         /// </summary>
-        private void InsdgvCompany2Project(int nCompanyCode
-                                            , int nConstructionCode
-                                            , string strConstructionName
-                                            , int[] nRowCol
-                                            , ref int nNewMakeRowIndex)
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void CellInputAfter(object sender, DataGridViewCellEventArgs e)
         {
-            int MakeIndex = 0;
             try
             {
-                DataGridView dgv = getShowingView();
-                DataGridViewRow CurRow = dgv.CurrentRow;
+                DataGridView dgv = (DataGridView)sender;
+                RowsTypeDef TargetRowtype = (RowsTypeDef)dgv[(int)DispColumn.RowType, e.RowIndex].Value;
 
-                // ‹ÆŽÒ–¼‚ðŽæ“¾‚·‚é
-                string strCompnyName = string.Empty;
-                DataGridViewRow[] CompNameRows = dgv.Rows.Cast<DataGridViewRow>().Where(x => CommonMotions.cnvInt(x.Cells[m_Company_DispColumn].Value) == nCompanyCode
-                                                                                && CommonMotions.cnvString(x.Cells[m_CompanyNM_Column].Value).Length > 0
-                                                                                && CommonMotions.cnvInt(x.Cells[(int)DispColumn.RowType].Value) == (int)RowsTypeDef.–¾�×)
-                                                                            .ToArray();
-                strCompnyName = CommonMotions.cnvString(CompNameRows[0].Cells[m_CompanyNM_Column].Value);
+                // �s�E—ñ‚ª”ÍˆÍŠO‚Í�ˆ—�‚µ‚È‚¢
+                if (e.ColumnIndex < (int)DispColumn.SomuSeikyu) return;
+                if ((int)DispColumn.KyoryokuUmu < e.ColumnIndex) return;
+                if (TargetRowtype >= RowsTypeDef.�¬Œv) return;
 
-                // •s–¾�s‚ð‘I‘ð‚µ‚½�ê�‡‚Í�HŽ–‚ðƒZƒbƒg‚·‚é
-                if (nConstructionCode > 0
-                    && s_UnknownString.Equals(CommonMotions.cnvString(CurRow.Cells[m_GenbaNM_Column].Value)))
+                int Code_Column = dgvCompany.Visible == true ? (int)DispColumn_Company.SubConstractorCode : (int)DispColumn_Project.GengaCode;
+
+                // �¬ŒvŽZ�o
+                ShoukeiSanshutu(e.ColumnIndex, Code_Column, CommonMotions.cnvInt(dgv[Code_Column, e.RowIndex].Value));
+
+                // ŽŸ‰ñŒJ‰z
+                if (e.ColumnIndex == (int)DispColumn.SomuSeikyu ||
+                    e.ColumnIndex == (int)DispColumn.KojiSeikyu ||
+                    e.ColumnIndex == (int)DispColumn.KojiNebiki ||
+                    e.ColumnIndex == (int)DispColumn.KojiSousai)
                 {
-                    MakeIndex = CurRow.Index;
-                    CurRow.Cells[m_Genba_Column].Value = nConstructionCode;
-                    CurRow.Cells[m_GenbaNM_Column].Value = strConstructionName;
-                    if (cnvRowState(CurRow.Cells[(int)DispColumn.RowState].Value) == DataRowState.Unchanged)
-                        CurRow.Cells[(int)DispColumn.RowState].Value = DataRowState.Modified;
-                    return;
+                    dgv[(int)DispColumn.JikaiKurikosi, e.RowIndex].Value = CommonMotions.cnvInt(dgv[(int)DispColumn.SomuSeikyu, e.RowIndex].Value)
+                                                                        - (CommonMotions.cnvInt(dgv[(int)DispColumn.KojiSeikyu, e.RowIndex].Value)
+                                                                        + CommonMotions.cnvInt(dgv[(int)DispColumn.KojiNebiki, e.RowIndex].Value)
+                                                                        + CommonMotions.cnvInt(dgv[(int)DispColumn.KojiSousai, e.RowIndex].Value));
                 }
 
-                // ----- �¬Œv�s‚Ì�ã‚É’Ç‰Á‚·‚é
-                MakeIndex = SearchRowIndexCompany(nCompanyCode, false, nConstructionCode);
+                // ‹¦—Í‹à
+                if (e.ColumnIndex == (int)DispColumn.KojiSeikyu)
+                {
+                    SetKyoryokukin(dgv, e.RowIndex, Code_Column);
+                }
 
-                // �s�ì�¬
-                MakeNewRow(nCompanyCode, strCompnyName, nConstructionCode, 0, nRowCol, ref MakeIndex, -1, MakeIndex, strConstructionName);
-                dgv.Rows[MakeIndex].Cells[(int)DispColumn.RowState].Value = DataRowState.Added;
+                // �Á”ï�Å
+                if (e.ColumnIndex == (int)DispColumn.SomuSeikyu || e.ColumnIndex == (int)DispColumn.KojiSeikyu)
+                {
+                    // �Á”ï�Å�sŒŸ�õ
+                    int ZeiRowIndex = SearchRowIndex(Code_Column, CommonMotions.cnvInt(dgv[Code_Column, e.RowIndex].Value), RowsTypeDef.�Á”ï�Å);
 
-            }
-            catch (System.Exception ex)
-            {
-                logger.ErrorFormat("ƒVƒXƒeƒ€ƒGƒ‰�[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
-            }
-            finally
-            {
-                nNewMakeRowIndex = MakeIndex;
-            }
-        }
-        #endregion
+                    // �¬Œv�sŒŸ�õ
+                    int ShoukeiRowIndex = SearchRowIndex(Code_Column, CommonMotions.cnvInt(dgv[Code_Column, e.RowIndex].Value), RowsTypeDef.�¬Œv);
 
-        #region Œ»�êƒOƒŠƒbƒhŒ»�ê’Ç‰Á�ˆ—�
-        /// <summary>
-        /// Œ»�êƒOƒŠƒbƒhŒ»�ê’Ç‰Á�ˆ—�
-        /// </summary>
-        private void InsdgvProject2Company(int nCompanyCode
-                                            , int nConstructionCode
-                                            , string strConstructionName
-                                            , int[] nRowCol
-                                            , ref int nNewMakeRowIndex)
-        {
-            try
-            {
-                DataGridView dgv = getShowingView();
-                DataGridViewRow CurRow = dgv.CurrentRow;
+                    if (ShoukeiRowIndex >= 0)
+                    {
+                        dgv[e.ColumnIndex, ZeiRowIndex].Value = CommonMotions.cnvRound(CommonMotions.cnvDouble(dgv[e.ColumnIndex, ShoukeiRowIndex].Value)
+                                                                                        * (CommonMotions.SystemMasterData.ConsumptionTax / 100));
+                    }
+                }
 
+                // �‚‘¬‘ã
+                if (e.ColumnIndex == (int)DispColumn.SomuKosoku || e.ColumnIndex == (int)DispColumn.KojiKosoku)
+                {
+                    // —ñ�Ý’è
+                    int ColIndex = e.ColumnIndex == (int)DispColumn.SomuKosoku ? (int)DispColumn.SomuSeikyu : (int)DispColumn.KojiSeikyu;
 
-                // •s–¾�s‚ð‘I‘ð‚µ‚½�ê�‡‚Í�HŽ–‚ðƒZƒbƒg‚·‚é
-                if (nConstructionCode > 0
-                    && s_UnknownString.Equals(CommonMotions.cnvString(CurRow.Cells[m_GenbaNM_Column].Value)))
-                {
-                    nNewMakeRowIndex = CurRow.Index;
-                    CurRow.Cells[m_Genba_Column].Value = nConstructionCode;
-                    CurRow.Cells[m_GenbaNM_Column].Value = strConstructionName;
-                    if (cnvRowState(CurRow.Cells[(int)DispColumn.RowState].Value) == DataRowState.Unchanged)
-                        CurRow.Cells[(int)DispColumn.RowState].Value = DataRowState.Modified;
-                    return;
+                    // �‡Œv’l�Ý’è
+                    SetSubGoukei(dgv, ColIndex, e.ColumnIndex, Code_Column, CommonMotions.cnvInt(dgv[Code_Column, e.RowIndex].Value), RowsTypeDef.�‚‘¬‘ã);
                 }
 
-                // Šù‚É�HŽ–‚ª‚ ‚é‚©‚Ìƒ`ƒFƒbƒN
-                DataGridViewRow[] Rows = dgv.Rows.Cast<DataGridViewRow>().Where(x => CommonMotions.cnvInt(x.Cells[m_Genba_Column].Value) == nConstructionCode
-                                                                                && CommonMotions.cnvInt(x.Cells[(int)DispColumn.RowType].Value) == (int)RowsTypeDef.–¾�×)
-                                                                        .ToArray();
 
-                bool bLastAdd = true;
-                if (Rows.Count() > 0) bLastAdd = false;
+                // ‹à•¨‘ã
+                if (e.ColumnIndex == (int)DispColumn.SomuKanamono || e.ColumnIndex == (int)DispColumn.KojiKanamono)
+                {
+                    // —ñ�Ý’è
+                    int ColIndex = e.ColumnIndex == (int)DispColumn.SomuKanamono ? (int)DispColumn.SomuSeikyu : (int)DispColumn.KojiSeikyu;
 
+                    // �‡Œv’l�Ý’è
+                    SetSubGoukei(dgv, ColIndex, e.ColumnIndex, Code_Column, CommonMotions.cnvInt(dgv[Code_Column, e.RowIndex].Value), RowsTypeDef.‹à•¨‘ã);
+                }
 
-                if (!bLastAdd)
+                // ŽY”p�Å
+                if (e.ColumnIndex == (int)DispColumn.SomuSannhaiZei || e.ColumnIndex == (int)DispColumn.KojiSannhaiZei)
                 {
-                    // ----- Šù‚É‚ ‚é�ê�‡
-                    if (cnvRowState(Rows[0].Cells[(int)DispColumn.RowState].Value) == DataRowState.Deleted)
-                    {
-                        // ----- �í�œ‚³‚ê‚Ä‚¢‚½�ê�‡
-                        Rows[0].Cells[(int)DispColumn.RowState].Value = DataRowState.Modified;
-                        Rows[0].Visible = true;
+                    // —ñ�Ý’è
+                    int ColIndex = e.ColumnIndex == (int)DispColumn.SomuSannhaiZei ? (int)DispColumn.SomuSeikyu : (int)DispColumn.KojiSeikyu;
 
-                        //Rows[0].Cells[m_Company_Column].Value = 0;
-                        Rows[0].Cells[m_Company_DispColumn].Value = 0;
-                        Rows[0].Cells[m_CompanyNM_Column].Value = s_UnknownString;
-                        Rows[0].Cells[m_CompanyNM_Column].ToolTipText = s_UnknownString;
-                        Rows[0].Cells[m_Genba_Column].Value = nConstructionCode;
-                        Rows[0].Cells[m_GenbaNM_Column].Value = strConstructionName;
-                        Rows[0].Cells[m_GenbaNM_Column].ToolTipText = strConstructionName;
-
-                        nNewMakeRowIndex = Rows[0].Index;
-                    }
-                    return;
+                    // �‡Œv’l�Ý’è
+                    SetSubGoukei(dgv, ColIndex, e.ColumnIndex, Code_Column, CommonMotions.cnvInt(dgv[Code_Column, e.RowIndex].Value), RowsTypeDef.ŽY”p�Å);
                 }
 
-                int MakeIndex = 0;
-                // ----- �V‹K�s
-                MakeIndex = SearchRowIndexProject(nConstructionCode, false);
+                // �‡Œv�s
+                setGoukei(Code_Column, CommonMotions.cnvInt(dgv[Code_Column, e.RowIndex].Value));
 
-                // �s�ì�¬
-                MakeNewRow(0, string.Empty, nConstructionCode, 0, nRowCol, ref MakeIndex, -1, -1, strConstructionName);
-                dgv.Rows[MakeIndex].Cells[(int)DispColumn.CompanyDispOrder].Value = 0;
-                dgv.Rows[MakeIndex].Cells[(int)DispColumn.RowState].Value = DataRowState.Added;
+                if (!m_initDataLoad) m_bChengeAns = true;
 
-                // �‡Œv�s’Ç‰Á
-                int GoukeiNo = CommonMotions.cnvInt(dgv.Rows[MakeIndex].Cells[(int)DispColumn.GoukeiSeqNo].Value);
-                MakeIndex++;
-                MakeGoukeiGyo(dgv, GoukeiNo, 0, MakeIndex);
 
+                DataGridViewRow CurRow = dgv.Rows[e.RowIndex];
 
-                nNewMakeRowIndex = MakeIndex;
+                // �¿‹�‹àŠz˜AŒg
+                if (e.ColumnIndex != (int)DispColumn.KojiSeikyu) return;
+                if (m_FrmLedger == null) return;
+
+                // �¿‹�‚Ü‚Æ‚ß‘Î�Û‹ÆŽÒƒR�[ƒh
+                m_FrmLedger.ReqSumCompany = CommonMotions.cnvInt(CurRow.Cells[m_Company_DispColumn].Value);
+                // –¾�×”Ô�†
+                m_FrmLedger.TargetDetailNo = CommonMotions.cnvInt(CurRow.Cells[(int)DispColumn.ConstructionLedgerDetailNo].Value);
+                // �‘�ž‚ÝƒJƒ‰ƒ€ˆÊ’u
+                m_FrmLedger.TargetColumn = CommonMotions.cnvInt(CurRow.Cells[(int)DispColumn.ConstructionLedgerColNo].Value);
+                // �¿‹��ˆ—�˜AŒg‹àŠz
+                m_FrmLedger.AddingRequestPrice = CommonMotions.cnvInt(CurRow.Cells[(int)DispColumn.KojiSeikyu].Value);
+                // ‹àŠzƒZƒbƒg
+                bool bRet = m_FrmLedger.SetGridData;
+
+                //if (m_FrmLedger.AddingRequestPrice != CommonMotions.cnvInt(CurRow.Cells[(int)DispColumn.KojiSeikyu].Value))
+                //{
+                //    m_FrmLedger.AddingRequestPrice = CommonMotions.cnvInt(CurRow.Cells[(int)DispColumn.KojiSeikyu].Value);
+                //}
+
             }
             catch (System.Exception ex)
             {
@@ -4697,7 +4880,7 @@
                 sql.Append("        And PayApp.LINECOUNT = Pdd.LINECOUNT");
                 sql.Append("        And PayApp.APPROVALPERSON = AppM.ApprovalPerson");
 
-                sql.Append("     Left Join SubContractorMaster as Scm ");
+                sql.Append("     Inner Join SubContractorMaster as Scm ");
                 sql.Append("        On Bdd.CompanyCode = Scm.CompanyCode ");
                 sql.AppendFormat("  And Scm.LabourKind = {0} ", m_Labourkind);
 
@@ -5082,13 +5265,13 @@
                 // �í�œŠm”F
                 if (!ExceRemoveConfirmation(ExceRemDataDef.SelCompany)) return;
 
-                int nCompanyCode = CommonMotions.cnvInt(CurRow.Cells[m_Company_Column].Value);
+                int nCompanyCode = CommonMotions.cnvInt(CurRow.Cells[m_Company_DispColumn].Value);
                 int nConstrCode = CommonMotions.cnvInt(CurRow.Cells[m_Genba_Column].Value);
                 // –¾�×�sŽæ“¾
                 DataGridViewRow[] DetailRows = null;
                 if (rdbCompany.Checked)
                 {
-                    DetailRows = dgv.Rows.Cast<DataGridViewRow>().Where(x => CommonMotions.cnvInt(x.Cells[m_Company_Column].Value) == nCompanyCode
+                    DetailRows = dgv.Rows.Cast<DataGridViewRow>().Where(x => CommonMotions.cnvInt(x.Cells[m_Company_DispColumn].Value) == nCompanyCode
                                                                                 && CommonMotions.cnvInt(x.Cells[(int)DispColumn.RowType].Value) == (int)RowsTypeDef.–¾�×)
                                                                              .ToArray();
                 }
@@ -5120,21 +5303,6 @@
                     return;
                 }
 
-                // ‹ÆŽÒƒOƒŠƒbƒh‚Å‹ÆŽÒ�í�œ‚Í�‡Œv‚à�í�œ‚·‚é
-                if (rdbCompany.Checked)
-                {
-                    // �‡Œv�sŽæ“¾
-                    DataGridViewRow[] TotalRows = dgv.Rows.Cast<DataGridViewRow>().Where(x => CommonMotions.cnvInt(x.Cells[m_Company_Column].Value) == nCompanyCode
-                                                                                                && CommonMotions.cnvInt(x.Cells[(int)DispColumn.RowType].Value) != (int)RowsTypeDef.–¾�×)
-                                                                                    .ToArray();
-
-                    // �‡Œv�s�í�œ
-                    foreach (DataGridViewRow r in TotalRows)
-                    {
-                        dgv.Rows.Remove(r);
-                    }
-                }
-
                 // –¾�×�s�í�œ
                 List<DataGridViewRow> RemovRows = new List<DataGridViewRow>();
                 foreach (DataGridViewRow r in DetailRows)
@@ -5157,6 +5325,40 @@
                     dgv.Rows.Remove(r);
                 }
 
+                DataGridViewRow[] TotalRows = null;
+                if (rdbCompany.Checked)
+                {
+                    // ‹ÆŽÒƒOƒŠƒbƒh‚Å‹ÆŽÒ�í�œ‚Í�‡Œv‚à�í�œ‚·‚é
+                    // �‡Œv�sŽæ“¾
+                    TotalRows = dgv.Rows.Cast<DataGridViewRow>().Where(x => CommonMotions.cnvInt(x.Cells[m_Company_Column].Value) == nCompanyCode
+                                                                                                && CommonMotions.cnvInt(x.Cells[(int)DispColumn.RowType].Value) != (int)RowsTypeDef.–¾�×)
+                                                                                    .ToArray();
+                }
+                else
+                {
+                    // Œ»�êƒOƒŠƒbƒh‚Å�s‚ª‚È‚­‚È‚ê‚Î�‡Œv‚à�í�œ‚·‚é
+                    // Œ»�ê“à�s‚ðŽæ“¾‚·‚é
+                    DataGridViewRow[] LeftOverRows = dgv.Rows.Cast<DataGridViewRow>().Where(x => CommonMotions.cnvInt(x.Cells[m_Genba_Column].Value) == nConstrCode
+                                                                                                && CommonMotions.cnvInt(x.Cells[(int)DispColumn.RowVisible].Value) == (int)RowVisibleDef.Visible
+                                                                                                && CommonMotions.cnvInt(x.Cells[(int)DispColumn.RowType].Value) == (int)RowsTypeDef.–¾�×)
+                                                                                    .ToArray();
+
+                    if (LeftOverRows.Count() < 1)
+                    {
+                        // �‡Œv�sŽæ“¾
+                        TotalRows = dgv.Rows.Cast<DataGridViewRow>().Where(x => CommonMotions.cnvInt(x.Cells[m_Genba_Column].Value) == nConstrCode
+                                                                                && CommonMotions.cnvInt(x.Cells[(int)DispColumn.RowType].Value) != (int)RowsTypeDef.–¾�×)
+                                                                    .ToArray();
+                    }
+
+                }
+
+                // �‡Œv�s�í�œ
+                foreach (DataGridViewRow r in TotalRows)
+                {
+                    dgv.Rows.Remove(r);
+                }
+
                 ResetNo();
 
                 controlButton_DataCount();
@@ -5187,7 +5389,7 @@
                 // �í�œŠm”F
                 if (!ExceRemoveConfirmation(ExceRemDataDef.SelProject)) return;
 
-                int nCompanyCode = CommonMotions.cnvInt(CurRow.Cells[m_Company_Column].Value);
+                int nCompanyCode = CommonMotions.cnvInt(CurRow.Cells[m_Company_DispColumn].Value);
                 int nConstrCode = CommonMotions.cnvInt(CurRow.Cells[m_Genba_Column].Value);
 
                 // –¾�×�sŽæ“¾
@@ -5226,21 +5428,6 @@
                     return;
                 }
 
-                // Œ»�êƒOƒŠƒbƒh‚ÅŒ»�ê�í�œ‚Í�‡Œv‚à�í�œ‚·‚é
-                if (rdbProject.Checked)
-                {
-                    // �‡Œv�sŽæ“¾
-                    DataGridViewRow[] TotalRows = dgv.Rows.Cast<DataGridViewRow>().Where(x => CommonMotions.cnvInt(x.Cells[m_Genba_Column].Value) == nConstrCode
-                                                                                                && CommonMotions.cnvInt(x.Cells[(int)DispColumn.RowType].Value) != (int)RowsTypeDef.–¾�×)
-                                                                                    .ToArray();
-
-                    // �‡Œv�s�í�œ
-                    foreach (DataGridViewRow r in TotalRows)
-                    {
-                        dgv.Rows.Remove(r);
-                    }
-                }
-
                 // –¾�×�s�í�œ
                 List<DataGridViewRow> RemovRows = new List<DataGridViewRow>();
                 foreach (DataGridViewRow r in DetailRows)
@@ -5263,6 +5450,41 @@
                     dgv.Rows.Remove(r);
                 }
 
+                // �‡Œv�í�œ
+                DataGridViewRow[] TotalRows = null;
+                if (rdbProject.Checked)
+                {
+                    // Œ»�êƒOƒŠƒbƒh‚ÅŒ»�ê�í�œ‚Í�‡Œv‚à�í�œ‚·‚é
+                    // �‡Œv�sŽæ“¾
+                    TotalRows = dgv.Rows.Cast<DataGridViewRow>().Where(x => CommonMotions.cnvInt(x.Cells[m_Genba_Column].Value) == nConstrCode
+                                                                            && CommonMotions.cnvInt(x.Cells[(int)DispColumn.RowType].Value) != (int)RowsTypeDef.–¾�×)
+                                                                .ToArray();
+
+                }
+                else {
+
+                    // ‹ÆŽÒƒOƒŠƒbƒh‚Å�s‚ª‚È‚­‚È‚ê‚Î�‡Œv‚à�í�œ‚·‚é
+                    // ‹ÆŽÒ“à�s‚ðŽæ“¾‚·‚é
+                    DataGridViewRow[] LeftOverRows = dgv.Rows.Cast<DataGridViewRow>().Where(x => CommonMotions.cnvInt(x.Cells[m_Company_DispColumn].Value) == nCompanyCode
+                                                                                                && CommonMotions.cnvInt(x.Cells[(int)DispColumn.RowVisible].Value) == (int)RowVisibleDef.Visible
+                                                                                                && CommonMotions.cnvInt(x.Cells[(int)DispColumn.RowType].Value) == (int)RowsTypeDef.–¾�×)
+                                                                                    .ToArray();
+
+                    if (LeftOverRows.Count() < 1)
+                    {
+                        // �‡Œv�sŽæ“¾
+                        TotalRows = dgv.Rows.Cast<DataGridViewRow>().Where(x => CommonMotions.cnvInt(x.Cells[m_Company_Column].Value) == nCompanyCode
+                                                                                && CommonMotions.cnvInt(x.Cells[(int)DispColumn.RowType].Value) != (int)RowsTypeDef.–¾�×)
+                                                                    .ToArray();
+                    }
+                }
+
+                // �‡Œv�s�í�œ
+                foreach (DataGridViewRow r in TotalRows)
+                {
+                    dgv.Rows.Remove(r);
+                }
+
                 ResetNo();
 
                 controlButton_DataCount();
@@ -5512,7 +5734,7 @@
                                                                          .ThenBy(y2 => y2.Cells[(int)DispColumn.LineCount].Value)
                                                                          .ToArray();
                 // ƒvƒ�ƒOƒŒƒXƒo�[�‰Šú’lƒZƒbƒg
-                DataProgressBar.Maximum = dgv.RowCount + 3;
+                DataProgressBar.Maximum = dgv.RowCount + 4; // ƒ‹�[ƒv�I—¹Œã�X�V�ˆ—�‚ª‚ ‚é‚½‚ß+4
                 DataProgressBar.Value = 0;
 
                 // ‰ïŽÐ–ˆŒ��”ƒŠƒXƒg
@@ -5655,6 +5877,21 @@
 
                     DataProgressBar.Value++;
                     DataProgressBar.Update();
+
+                    // �s�ó‘Ô�X�Vƒ‹�[ƒv
+                    foreach (DataGridViewRow CurRow in TargetRows)
+                    {
+                        // �ó‘ÔŽæ“¾
+                        DataRowState CurStatus = cnvRowState(CurRow.Cells[(int)DispColumn.RowState].Value);
+                        // �ó‘Ô‚É‚æ‚è�ˆ—�
+                        if (CurStatus == DataRowState.Unchanged) continue;
+
+                        // –³•Ï�X‚Ö–ß‚·
+                        CurRow.Cells[(int)DispColumn.RowState].Value = DataRowState.Unchanged;
+                    }
+                    
+                    DataProgressBar.Value++;
+                    DataProgressBar.Update();
                 }
                 catch (Exception ex)
                 {
@@ -6075,12 +6312,6 @@
                 PaymentDataDetail PdDWork = new PaymentDataDetail();
                 SetRow2PaymentDataDetail(CurRow, ref  PdDWork);
 
-                // �V‹KƒL�[ƒZƒbƒg
-                PdDWork.CompanyCode = nCompanyCode;
-                PdDWork.TargetDate = nTargetDate;
-                PdDWork.SeqNo = nSeqNo;
-                PdDWork.LineCount = nLineCount;
-
                 if (!IoPdD.InsertAction(PdDWork, false))
                 {
                     nErrorCode = (int)EntryErrorCode.AddData;
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestSummaryList/ProcessControl.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestSummaryList/ProcessControl.cs	(revision 325)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestSummaryList/ProcessControl.cs	(revision 326)
@@ -853,21 +853,30 @@
                 // ç”»é�¢ã�Œã�‚ã�£ã�¦å·¥äº‹ã�Œé�•ã�†å ´å�ˆã�¯ãƒ•ã‚©ãƒ¼ãƒ ã‚¯ãƒ­ãƒ¼ã‚º
                 if (bFormDown)
                 {
-                    m_FrmLedger.Close();
+                    frm.Close();
                     frm.Dispose();
                     frm = null;
+                    m_FrmLedger = null;
                 }
 
-                // å·¥äº‹è©³ç´°å�°å¸³å…¥åŠ›èµ·å‹•
+                // ----- å·¥äº‹è©³ç´°å�°å¸³å…¥åŠ›èµ·å‹•
+                // ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆ
                 frm = new FrmConstructionLedger();
-                m_FrmLedger = frm;
+                // ãƒ�ãƒ³ãƒ‰ãƒ«ã‚»ãƒƒãƒˆ
                 ClsExcute.SubFormHandleList[ProcessNo].ProcessNo = s_CurrentProcessNo;
                 ClsExcute.SubFormHandleList[ProcessNo].SubFormHandle = (Form)frm;
+                m_FrmLedger = frm;
                 frm.ConstructionCode = nConstrCode;
                 frm.EditLock = m_EditLock;
                 frm.SubForm = true;
+                frm.ReqSumDspFlag = true;
                 frm.ShowInTaskbar = true;
 
+                // å¯¾è±¡ãƒªã‚¹ãƒˆä½œæˆ�
+                SetTargetCompanyList(0, nConstrCode, frm, false);
+                // è«‹æ±‚ã�¾ã�¨ã‚�å¯¾è±¡æœˆ
+                frm.ReqSumTargetMonth = CommonMotions.cnvInt(cmbTargetMonth.SelectedValue);
+
                 // ã‚¯ãƒ­ãƒ¼ã‚¹ãƒ‰ãƒ�ãƒ³ãƒ‰ãƒ©ã‚’ã�“ã�¡ã‚‰ã�§å®šç¾©ã�™ã‚‹
                 frm.FormClosed += new FormClosedEventHandler(FrmConstructionLedgerClosed);
                 frm.Show();
@@ -1282,6 +1291,7 @@
                 ClsExcute.SubFormHandleList[ProcessNo].SubFormHandle.Dispose();
                 ClsExcute.SubFormHandleList[ProcessNo].SubFormHandle = null;
                 ClsExcute.SubFormHandleList[ProcessNo].ProcessNo = (int)ClsExcute.ProcessExecuteNo.MainMenu;
+                m_FrmLedger = null;
 
                 // ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã�¸æˆ»ã‚‹ã�®é�¸æŠž
                 if (ThisEnd)
Index: branches/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmConstructionDiag.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmConstructionDiag.cs	(revision 325)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmConstructionDiag.cs	(revision 326)
@@ -263,8 +263,9 @@
         {
             // ãƒ•ã‚©ãƒ¼ãƒ ã‚µã‚¤ã‚ºå›ºå®š
             this.MaximizedBounds = new Rectangle(this.Left, this.Top, this.Width, this.Height);
-            // åˆ�æœŸè¡¨ç¤º
-            InitDataLoad();
+
+            // ä¸€è¦§è¡¨ç¤º
+            ConstructionListDisplay();
         }
         #endregion
 
@@ -393,28 +394,6 @@
         }
         #endregion
 
-        #region åˆ�æœŸè¡¨ç¤ºå‡¦ç�†
-        /// <summary>
-        /// åˆ�æœŸè¡¨ç¤ºå‡¦ç�†
-        /// </summary>
-        private void InitDataLoad()
-        {
-            try
-            {
-                // ã‚°ãƒªãƒƒãƒ‰ã�®è¡Œã‚’0ã�«æˆ»ã�™
-                dgvMaster.Rows.Clear();
-
-                // ä¸€è¦§è¡¨ç¤º
-                ConstructionListDisplay();
-
-            }
-            catch (Exception ex)
-            {
-                logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}", CommonMotions.GetMethodName(), ex.Message);
-            }
-        }
-        #endregion
-
         #region å·¥äº‹ä¸€è¦§è¡¨ç¤ºå‡¦ç�†
         /// <summary>
         /// å·¥äº‹ä¸€è¦§è¡¨ç¤ºå‡¦ç�†
@@ -422,9 +401,10 @@
         private void ConstructionListDisplay()
         {
             IOConstructionBaseInfo BaseDB = new IOConstructionBaseInfo();
+            DataGridView dgv = dgvMaster;
             try
             {
-                dgvMaster.Rows.Clear();
+                dgv.Rows.Clear();
 
                 StringBuilder strSQL = new StringBuilder();
 
@@ -478,7 +458,7 @@
                     // ãƒ‡ãƒ¼ã‚¿è¡¨ç¤º
                     int ConstructionCode = CommonMotions.cnvInt(wrk[0]);
                     EditConstructionCode = CommonMotions.cnvStringCodeFromInt(ConstructionCode, "-", 8);
-                    dgvMaster.Rows.Add((i + 1),
+                    dgv.Rows.Add((i + 1),
                                         EditConstructionCode,
                                         CommonMotions.cnvString(wrk[1]),
                                         CommonMotions.cnvString(wrk[4]),
@@ -486,7 +466,7 @@
                                         iData[0],
                                         iData[1]);
 
-                    dgvMaster.Rows[i++].Cells[(int)DispGridColumn.ConstructionName].ToolTipText = CommonMotions.cnvString(wrk[1]);
+                    dgv.Rows[i++].Cells[(int)DispGridColumn.ConstructionName].ToolTipText = CommonMotions.cnvString(wrk[1]);
                 }
             }
             catch (Exception ex)
@@ -496,7 +476,8 @@
             finally
             {
                 BaseDB.close(); BaseDB = null;
-                dgvMaster.RowCount += (CommonDefine.s_MaxInitLineCount - dgvMaster.Rows.Count);
+                if (CommonDefine.s_MaxInitLineCount > dgv.Rows.Count)
+                    dgv.RowCount += (CommonDefine.s_MaxInitLineCount - dgv.Rows.Count);
             }
         }
         #endregion
@@ -510,6 +491,8 @@
         {
             try
             {
+                int nCode = CommonDefine.ProjectsStatus.First(x => x.Value.Equals("é�ž å�— æ³¨")).Key;
+
                 // é€²è¡Œä¸­æ¡ˆä»¶ã‚’æ¤œç´¢ã�™ã‚‹
                 strSQL.Append("SELECT");
                 strSQL.Append(" A.CONSTRUCTIONCODE");
@@ -522,9 +505,12 @@
                 strSQL.Append(", CONSTRUCTIONBASEINFODETAIL B");
                 strSQL.Append(", CONSTRUCTIONLEDGER C");
                 strSQL.Append(", PERSONINCHARGEMASTER D");
-                strSQL.Append(" WHERE (A.CONSTRUCTIONCODE = B.CONSTRUCTIONCODE");
+                strSQL.Append(" WHERE");
+                strSQL.AppendFormat(" A.ConstructionStatusFlg != {0}", nCode);
+                strSQL.Append(" AND (A.CONSTRUCTIONCODE = B.CONSTRUCTIONCODE");
                 strSQL.AppendFormat(" AND B.DETAILNO = {0})", (int)ConstructionBaseInfoDetail.DataNoDef.ConstructionName);
-                strSQL.AppendFormat(" AND A.CONSTRUCTIONCODE = C.CONSTRUCTIONCODE AND C.COMPLATEFLG = {0}", (int)ConstructionLedger.CompFlagDef.Operateing);
+                strSQL.Append(" AND A.CONSTRUCTIONCODE = C.CONSTRUCTIONCODE");
+                strSQL.AppendFormat(" AND C.COMPLATEFLG = {0}", (int)ConstructionLedger.CompFlagDef.Operateing);
                 strSQL.Append(" AND D.PERSONCODE = A.ConstructionPersonCode");
 
             }
Index: branches/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmCustomMsgBox.Designer.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmCustomMsgBox.Designer.cs	(nonexistent)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmCustomMsgBox.Designer.cs	(revision 326)
@@ -0,0 +1,136 @@
+ï»¿namespace ProcessManagement.Forms.SubForms
+{
+    partial class FrmCustomMsgBox
+    {
+        /// <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.lblType1 = new System.Windows.Forms.Label();
+            this.btnOK = new System.Windows.Forms.Button();
+            this.btnCANCEL = new System.Windows.Forms.Button();
+            this.pnlType2 = new System.Windows.Forms.Panel();
+            this.lblType2_2 = new System.Windows.Forms.Label();
+            this.lblType2_1 = new System.Windows.Forms.Label();
+            this.pnlType2.SuspendLayout();
+            this.SuspendLayout();
+            // 
+            // lblType1
+            // 
+            this.lblType1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.lblType1.Font = new System.Drawing.Font("ï¼­ï¼³ æ˜Žæœ�", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+            this.lblType1.Location = new System.Drawing.Point(2, 1);
+            this.lblType1.Name = "lblType1";
+            this.lblType1.Size = new System.Drawing.Size(560, 160);
+            this.lblType1.TabIndex = 0;
+            this.lblType1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            this.lblType1.Visible = false;
+            // 
+            // btnOK
+            // 
+            this.btnOK.BackColor = System.Drawing.Color.Green;
+            this.btnOK.Font = new System.Drawing.Font("Century", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+            this.btnOK.ForeColor = System.Drawing.Color.White;
+            this.btnOK.Location = new System.Drawing.Point(315, 169);
+            this.btnOK.Name = "btnOK";
+            this.btnOK.Size = new System.Drawing.Size(120, 36);
+            this.btnOK.TabIndex = 1;
+            this.btnOK.Text = "Oã€€K";
+            this.btnOK.UseVisualStyleBackColor = false;
+            this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
+            // 
+            // btnCANCEL
+            // 
+            this.btnCANCEL.BackColor = System.Drawing.Color.Blue;
+            this.btnCANCEL.Font = new System.Drawing.Font("Century", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+            this.btnCANCEL.ForeColor = System.Drawing.Color.White;
+            this.btnCANCEL.Location = new System.Drawing.Point(442, 169);
+            this.btnCANCEL.Name = "btnCANCEL";
+            this.btnCANCEL.Size = new System.Drawing.Size(120, 36);
+            this.btnCANCEL.TabIndex = 1;
+            this.btnCANCEL.Text = "CANCEL";
+            this.btnCANCEL.UseVisualStyleBackColor = false;
+            this.btnCANCEL.Click += new System.EventHandler(this.btnCANCEL_Click);
+            // 
+            // pnlType2
+            // 
+            this.pnlType2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.pnlType2.Controls.Add(this.lblType2_2);
+            this.pnlType2.Controls.Add(this.lblType2_1);
+            this.pnlType2.Location = new System.Drawing.Point(2, 1);
+            this.pnlType2.Name = "pnlType2";
+            this.pnlType2.Size = new System.Drawing.Size(560, 160);
+            this.pnlType2.TabIndex = 2;
+            this.pnlType2.Visible = false;
+            // 
+            // lblType2_2
+            // 
+            this.lblType2_2.Font = new System.Drawing.Font("ï¼­ï¼³ æ˜Žæœ�", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+            this.lblType2_2.Location = new System.Drawing.Point(0, 79);
+            this.lblType2_2.Name = "lblType2_2";
+            this.lblType2_2.Size = new System.Drawing.Size(560, 78);
+            this.lblType2_2.TabIndex = 1;
+            this.lblType2_2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            // 
+            // lblType2_1
+            // 
+            this.lblType2_1.Font = new System.Drawing.Font("ï¼­ï¼³ æ˜Žæœ�", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+            this.lblType2_1.Location = new System.Drawing.Point(0, 0);
+            this.lblType2_1.Name = "lblType2_1";
+            this.lblType2_1.Size = new System.Drawing.Size(560, 78);
+            this.lblType2_1.TabIndex = 0;
+            this.lblType2_1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            // 
+            // FrmCustomMsgBox
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 13F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.BackColor = System.Drawing.Color.White;
+            this.ClientSize = new System.Drawing.Size(564, 211);
+            this.Controls.Add(this.pnlType2);
+            this.Controls.Add(this.btnCANCEL);
+            this.Controls.Add(this.btnOK);
+            this.Controls.Add(this.lblType1);
+            this.Font = new System.Drawing.Font("ï¼­ï¼³ æ˜Žæœ�", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+            this.MaximizeBox = false;
+            this.MinimizeBox = false;
+            this.Name = "FrmCustomMsgBox";
+            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+            this.pnlType2.ResumeLayout(false);
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private System.Windows.Forms.Label lblType1;
+        private System.Windows.Forms.Button btnOK;
+        private System.Windows.Forms.Button btnCANCEL;
+        private System.Windows.Forms.Panel pnlType2;
+        private System.Windows.Forms.Label lblType2_2;
+        private System.Windows.Forms.Label lblType2_1;
+    }
+}
\ No newline at end of file
Index: branches/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmCustomMsgBox.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmCustomMsgBox.cs	(nonexistent)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmCustomMsgBox.cs	(revision 326)
@@ -0,0 +1,278 @@
+ï»¿using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Diagnostics;
+using System.Data;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+using System.Collections;
+using System.Linq;
+
+using log4net;
+using log4net.Appender;
+using log4net.Repository.Hierarchy;
+
+using ProcessManagement.Common;
+using ProcessManagement.DB.IOAccess;
+using ProcessManagement.DataModel;
+using ProcessManagement.DB.Core;
+using ProcessManagement.Forms.Master;
+using ProcessManagement.Forms.SubForms;
+using ProcessManagement.Forms.ControlsAction;
+using ProcessManagement.Forms.CustomControls;
+//*---------------------------- ã‚«ã‚¹ã‚¿ãƒ ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãƒœãƒƒã‚¯ã‚¹ --------------------*
+//  2018/03/01  Ver1.0.0.0      Create Source           
+//
+//
+//
+//*----------------------------------------------------------------------------*
+namespace ProcessManagement.Forms.SubForms
+{
+    public partial class FrmCustomMsgBox : Form
+    {
+        #region ä½¿ç”¨å®šç¾©
+        //log4netãƒ­ã‚°ã‚’ä½¿ç”¨ã�™ã‚‹
+        private static readonly log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
+        #endregion
+
+        #region å®šæ•°
+
+        #endregion
+
+        #region å¤‰æ•°
+
+        #endregion
+
+        #region ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£
+        #region å�–ã�£ã�Ÿå¼•æ•°
+        /// <summary>
+        /// å�–ã�£ã�Ÿå¼•æ•°
+        /// </summary>
+        private string[] argumentValues;
+        #endregion
+
+        #region æˆ»ã‚Šå€¤
+        /// <summary>
+        /// æˆ»ã‚Šå€¤
+        /// </summary>
+        public DialogResult ReturnValue;
+        #endregion
+
+        // ---------- Type1
+        #region Type1è¡¨ç¤ºæ–‡å­—è¡¨ç¤ºï¼�é�žè¡¨ç¤º
+        /// <summary>
+        /// Type1è¡¨ç¤ºæ–‡å­—è¡¨ç¤ºï¼�é�žè¡¨ç¤º
+        /// </summary>
+        public bool DisplayVisbleType1
+        {
+            get { return lblType1.Visible; }
+            set { lblType1.Visible = value; }
+        }
+        #endregion
+
+        #region Type1è¡¨ç¤ºæ–‡å­—
+        /// <summary>
+        /// Type1è¡¨ç¤ºæ–‡å­—
+        /// </summary>
+        public string DisplayTextType1
+        {
+            get { return lblType1.Text; }
+            set { lblType1.Text = value; }
+        }
+        #endregion
+
+        #region Type1è¡¨ç¤ºæ–‡å­—è‰²
+        /// <summary>
+        /// Type1è¡¨ç¤ºæ–‡å­—è‰²
+        /// </summary>
+        public Color DisplayTextForeColorType1
+        {
+            get { return lblType1.ForeColor; }
+            set { lblType1.ForeColor = value; }
+        }
+        #endregion
+
+        #region Type1è¡¨ç¤ºèƒŒæ™¯è‰²
+        /// <summary>
+        /// Type1è¡¨ç¤ºèƒŒæ™¯è‰²
+        /// </summary>
+        public Color DisplayTextBackColorType1
+        {
+            get { return lblType1.BackColor; }
+            set { lblType1.BackColor = value; }
+        }
+        #endregion
+
+        #region Type1è¡¨ç¤ºæ–‡å­—ãƒ•ã‚©ãƒ³ãƒˆ
+        /// <summary>
+        /// Type1è¡¨ç¤ºæ–‡å­—ãƒ•ã‚©ãƒ³ãƒˆ
+        /// </summary>
+        public Font DisplayTextFontType1
+        {
+            get { return lblType1.Font; }
+            set { lblType1.Font = value; }
+        }
+        #endregion
+
+        // ---------- Type2
+        #region Type2è¡¨ç¤ºæ–‡å­—è¡¨ç¤ºï¼�é�žè¡¨ç¤º
+        /// <summary>
+        /// Type2è¡¨ç¤ºæ–‡å­—è¡¨ç¤ºï¼�é�žè¡¨ç¤º
+        /// </summary>
+        public bool DisplayVisbleType2
+        {
+            get { return pnlType2.Visible; }
+            set { pnlType2.Visible = value; }
+        }
+        #endregion
+
+        #region Type2_1è¡¨ç¤ºæ–‡å­—
+        /// <summary>
+        /// Type2_1è¡¨ç¤ºæ–‡å­—
+        /// </summary>
+        public string DisplayTextType2_1
+        {
+            get { return lblType2_1.Text; }
+            set { lblType2_1.Text = value; }
+        }
+        #endregion
+
+        #region Type2_1è¡¨ç¤ºæ–‡å­—è‰²
+        /// <summary>
+        /// Type2_1è¡¨ç¤ºæ–‡å­—è‰²
+        /// </summary>
+        public Color DisplayTextForeColorType2_1
+        {
+            get { return lblType2_1.ForeColor; }
+            set { lblType2_1.ForeColor = value; }
+        }
+        #endregion
+
+        #region Type2_1è¡¨ç¤ºèƒŒæ™¯è‰²
+        /// <summary>
+        /// Type2_1è¡¨ç¤ºèƒŒæ™¯è‰²
+        /// </summary>
+        public Color DisplayTextBackColorType2_1
+        {
+            get { return lblType2_1.BackColor; }
+            set { lblType2_1.BackColor = value; }
+        }
+        #endregion
+
+        #region Type2_1è¡¨ç¤ºæ–‡å­—ãƒ•ã‚©ãƒ³ãƒˆ
+        /// <summary>
+        /// Type2_1è¡¨ç¤ºæ–‡å­—ãƒ•ã‚©ãƒ³ãƒˆ
+        /// </summary>
+        public Font DisplayTextFontType2_1
+        {
+            get { return lblType2_1.Font; }
+            set { lblType2_1.Font = value; }
+        }
+        #endregion
+
+        #region Type2_2è¡¨ç¤ºæ–‡å­—
+        /// <summary>
+        /// Type2_2è¡¨ç¤ºæ–‡å­—
+        /// </summary>
+        public string DisplayTextType2_2
+        {
+            get { return lblType2_2.Text; }
+            set { lblType2_2.Text = value; }
+        }
+        #endregion
+
+        #region Type2_2è¡¨ç¤ºæ–‡å­—è‰²
+        /// <summary>
+        /// Type2_2è¡¨ç¤ºæ–‡å­—è‰²
+        /// </summary>
+        public Color DisplayTextForeColorType2_2
+        {
+            get { return lblType2_2.ForeColor; }
+            set { lblType2_2.ForeColor = value; }
+        }
+        #endregion
+
+        #region Type2_2è¡¨ç¤ºèƒŒæ™¯è‰²
+        /// <summary>
+        /// Type2_2è¡¨ç¤ºèƒŒæ™¯è‰²
+        /// </summary>
+        public Color DisplayTextBackColorType2_2
+        {
+            get { return lblType2_2.BackColor; }
+            set { lblType2_2.BackColor = value; }
+        }
+        #endregion
+
+        #region Type2_2è¡¨ç¤ºæ–‡å­—ãƒ•ã‚©ãƒ³ãƒˆ
+        /// <summary>
+        /// Type2_2è¡¨ç¤ºæ–‡å­—ãƒ•ã‚©ãƒ³ãƒˆ
+        /// </summary>
+        public Font DisplayTextFontType2_2
+        {
+            get { return lblType2_2.Font; }
+            set { lblType2_2.Font = value; }
+        }
+        #endregion
+        #endregion
+
+        #region ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿
+        /// <summary>
+        /// ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿
+        /// </summary>
+        public FrmCustomMsgBox()
+        {
+            InitializeComponent();
+        }
+        public FrmCustomMsgBox(params string[] argumentValues)
+        {
+            // è¦ªãƒ•ã‚©ãƒ¼ãƒ ã�‹ã‚‰å�—ã�‘å�–ã�£ã�Ÿãƒ‡ãƒ¼ã‚¿ã‚’ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã�®ãƒ¡ãƒ³ãƒ�ã�«æ ¼ç´�
+            this.argumentValues = argumentValues;
+
+            InitializeComponent();
+        }
+        #endregion
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="s"></param>
+        /// <returns></returns>
+        static public DialogResult ShowMiniForm(string s)
+        {
+
+            FrmCustomMsgBox f = new FrmCustomMsgBox(s);
+            f.ShowDialog();
+            DialogResult receiveValue = f.ReturnValue;
+            f.Dispose();
+
+            return receiveValue;
+        }
+
+        #region ï¼¯ï¼«ãƒœã‚¿ãƒ³ã‚¯ãƒªãƒƒã‚¯
+        /// <summary>
+        /// ï¼¯ï¼«ãƒœã‚¿ãƒ³ã‚¯ãƒªãƒƒã‚¯
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnOK_Click(object sender, EventArgs e)
+        {
+            ReturnValue = DialogResult.OK;
+            this.Close();
+        }
+        #endregion
+
+        #region ã‚­ãƒ£ãƒ³ã‚»ãƒ«ãƒœã‚¿ãƒ³ã‚¯ãƒªãƒƒã‚¯
+        /// <summary>
+        /// ã‚­ãƒ£ãƒ³ã‚»ãƒ«ãƒœã‚¿ãƒ³ã‚¯ãƒªãƒƒã‚¯
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnCANCEL_Click(object sender, EventArgs e)
+        {
+            ReturnValue = DialogResult.Cancel;
+            this.Close();
+        }
+        #endregion
+    }
+}
Index: branches/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmCustomMsgBox.resx
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmCustomMsgBox.resx	(nonexistent)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmCustomMsgBox.resx	(revision 326)
@@ -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: branches/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmWaitDialog.Designer.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmWaitDialog.Designer.cs	(nonexistent)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmWaitDialog.Designer.cs	(revision 326)
@@ -0,0 +1,82 @@
+ï»¿namespace ProcessManagement.Forms.SubForms
+{
+    partial class FrmWaitDialog
+    {
+        /// <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.progressBar1 = new System.Windows.Forms.ProgressBar();
+            this.label1 = new System.Windows.Forms.Label();
+            this.SuspendLayout();
+            // 
+            // progressBar1
+            // 
+            this.progressBar1.ForeColor = System.Drawing.Color.Red;
+            this.progressBar1.Location = new System.Drawing.Point(7, 75);
+            this.progressBar1.Name = "progressBar1";
+            this.progressBar1.Size = new System.Drawing.Size(570, 40);
+            this.progressBar1.Style = System.Windows.Forms.ProgressBarStyle.Marquee;
+            this.progressBar1.TabIndex = 0;
+            // 
+            // label1
+            // 
+            this.label1.Font = new System.Drawing.Font("ï¼­ï¼³ æ˜Žæœ�", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+            this.label1.Location = new System.Drawing.Point(7, 7);
+            this.label1.Name = "label1";
+            this.label1.Size = new System.Drawing.Size(570, 60);
+            this.label1.TabIndex = 1;
+            this.label1.Text = "label1";
+            this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            // 
+            // FrmWaitDialog
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.BackColor = System.Drawing.Color.White;
+            this.ClientSize = new System.Drawing.Size(584, 144);
+            this.ControlBox = false;
+            this.Controls.Add(this.label1);
+            this.Controls.Add(this.progressBar1);
+            this.Font = new System.Drawing.Font("ï¼­ï¼³ æ˜Žæœ�", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+            this.ImeMode = System.Windows.Forms.ImeMode.Disable;
+            this.Margin = new System.Windows.Forms.Padding(4);
+            this.MaximizeBox = false;
+            this.MinimizeBox = false;
+            this.Name = "FrmWaitDialog";
+            this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
+            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+            this.Load += new System.EventHandler(this.FrmWaitDialog_Load);
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private System.Windows.Forms.ProgressBar progressBar1;
+        private System.Windows.Forms.Label label1;
+    }
+}
\ No newline at end of file
Index: branches/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmWaitDialog.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmWaitDialog.cs	(nonexistent)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmWaitDialog.cs	(revision 326)
@@ -0,0 +1,120 @@
+ï»¿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 System.Threading;
+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.DataEntry;
+using System.Collections;
+
+namespace ProcessManagement.Forms.SubForms
+{
+    public partial class FrmWaitDialog : Form
+    {
+        #region ãƒ­ã‚°ä½¿ç”¨å®šç¾©
+        //log4netãƒ­ã‚°ã‚’ä½¿ç”¨ã�™ã‚‹
+        private static readonly log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
+        #endregion
+
+        #region å®šæ•°
+        #endregion
+
+        #region å¤‰æ•°
+        /// <summary>
+        /// è¦ªã‚³ãƒ³ãƒˆãƒ­ãƒ¼ãƒ«
+        /// </summary>
+        private static Control m_Parent = null;
+
+        // å¤–ã�‹ã‚‰ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’ç”Ÿæˆ�ã�§ã��ã�ªã�„ã‚ˆã�†ã�«ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã�¯private
+        private static FrmWaitDialog mInstance = null;
+        #endregion
+
+        #region ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£
+        /// <summary>
+        /// è¡¨ç¤ºæ–‡å­—
+        /// </summary>
+        public string SetText
+        {
+            set { label1.Text = value; }
+            get { return label1.Text; }
+        }
+
+        public Control SendParent
+        {
+            set { m_Parent = value; }
+        }
+        #endregion
+
+        #region ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿
+        public FrmWaitDialog()
+        {
+            InitializeComponent();
+        }
+        #endregion
+
+        #region ãƒ•ã‚©ãƒ¼ãƒ ãƒ­ãƒ¼ãƒ‰
+        /// <summary>
+        /// ãƒ•ã‚©ãƒ¼ãƒ ãƒ­ãƒ¼ãƒ‰
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void FrmWaitDialog_Load(object sender, EventArgs e)
+        {
+        }
+        #endregion
+
+        public static new void Show()
+        {
+            // BeginInvokeã�§å®Ÿå‡¦ç�†ã‚’åˆ¥ã‚¹ãƒ¬ãƒƒãƒ‰å®Ÿè¡Œ
+            Action showProc = new Action(ShowProcess);
+            IAsyncResult async = showProc.BeginInvoke(null, null);
+
+            // ã��ã�®ã�¾ã�¾ãƒ¡ã‚¤ãƒ³ã‚¹ãƒ¬ãƒƒãƒ‰ã�¯å‡¦ç�†ã�Œæµ�ã‚Œã‚‹ã�Ÿã‚�ã€�åˆ¥ã‚¹ãƒ¬ãƒƒãƒ‰ã�§ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã�Œç”Ÿæˆ�ã�•ã‚Œã‚‹ã�¾ã�§å¾…ã�¤
+            while (true)
+            {
+                if (mInstance != null)
+                {
+                    break;
+                }
+            }
+            return;
+        }
+
+        private static void ShowProcess()
+        {
+            if (mInstance == null || mInstance.IsDisposed == true)
+            {
+                mInstance = new FrmWaitDialog();
+            }
+
+            // Showã� ã�¨å‡¦ç�†ã�Œæµ�ã‚Œã�¦ã‚¹ãƒ¬ãƒƒãƒ‰ã�Œçµ‚äº†ã�—ã�¦ã�—ã�¾ã�†ã�®ã�§ã€�ShowDialogã�§è¡¨ç¤ºã�—ã�¦
+            // åˆ¥ã‚¹ãƒ¬ãƒƒãƒ‰å�´ã�¯å‡¦ç�†ã‚’å¾…ã�¤
+            ((Form)mInstance).ShowDialog();
+        }
+
+        // ã‚¯ãƒ­ãƒ¼ã‚ºå‡¦ç�†
+        public static new void Close()
+        {
+            if (mInstance == null || mInstance.IsDisposed == true) return;
+
+            if (mInstance.InvokeRequired == true)
+            {
+                mInstance.Invoke(new Action(Close));
+            }
+            else
+            {
+                ((Form)mInstance).Close();
+            }
+        }
+    }
+}
Index: branches/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmWaitDialog.resx
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmWaitDialog.resx	(nonexistent)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/SubForms/FrmWaitDialog.resx	(revision 326)
@@ -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: branches/src/ProcessManagement/ProcessManagement/ProcessManagement.csproj
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/ProcessManagement.csproj	(revision 325)
+++ branches/src/ProcessManagement/ProcessManagement/ProcessManagement.csproj	(revision 326)
@@ -146,6 +146,7 @@
     <Compile Include="Common\CommonDefine.cs" />
     <Compile Include="Common\Office\UsedWord.cs" />
     <Compile Include="DataModel\GridCellStyleMember.cs" />
+    <Compile Include="DataModel\BuilderPersonData.cs" />
     <Compile Include="DataModel\PersonApprovalDetail.cs" />
     <Compile Include="DataModel\SFPDataDetail.cs" />
     <Compile Include="DataModel\SFPData.cs" />
@@ -871,6 +872,12 @@
     <Compile Include="Forms\Master\System\FrmBizHisList.Designer.cs">
       <DependentUpon>FrmBizHisList.cs</DependentUpon>
     </Compile>
+    <Compile Include="Forms\SubForms\FrmCustomMsgBox.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="Forms\SubForms\FrmCustomMsgBox.Designer.cs">
+      <DependentUpon>FrmCustomMsgBox.cs</DependentUpon>
+    </Compile>
     <Compile Include="Forms\SubForms\FrmInputComment.cs">
       <SubType>Form</SubType>
     </Compile>
@@ -1129,9 +1136,7 @@
     <Compile Include="Forms\SubForms\FrmRadioButtonNextProcess.Designer.cs">
       <DependentUpon>FrmRadioButtonNextProcess.cs</DependentUpon>
     </Compile>
-    <Compile Include="Forms\DataEntry\EstimatePrint\FrmEstimatePrintAuxiliary.cs">
-      <SubType>Form</SubType>
-    </Compile>
+    <Compile Include="Forms\DataEntry\EstimatePrint\FrmEstimatePrintAuxiliary.cs" />
     <Compile Include="Forms\ControlsAction\ComboBoxAction.cs" />
     <Compile Include="Forms\ControlsAction\DataGridViewAction.cs" />
     <Compile Include="Forms\CustomControls\DataGridViewEX.cs">
@@ -1285,6 +1290,12 @@
     <Compile Include="Forms\DataEntry\ConstructionSplit\FrmConstructionSplit.Designer.cs">
       <DependentUpon>FrmConstructionSplit.cs</DependentUpon>
     </Compile>
+    <Compile Include="Forms\SubForms\FrmWaitDialog.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="Forms\SubForms\FrmWaitDialog.Designer.cs">
+      <DependentUpon>FrmWaitDialog.cs</DependentUpon>
+    </Compile>
     <Compile Include="Forms\SubForms\Material\FrmMaterialHistory.cs">
       <SubType>Form</SubType>
     </Compile>
@@ -1608,6 +1619,9 @@
     <EmbeddedResource Include="Forms\Master\System\FrmBizHisList.resx">
       <DependentUpon>FrmBizHisList.cs</DependentUpon>
     </EmbeddedResource>
+    <EmbeddedResource Include="Forms\SubForms\FrmCustomMsgBox.resx">
+      <DependentUpon>FrmCustomMsgBox.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="Forms\SubForms\FrmInputComment.resx">
       <DependentUpon>FrmInputComment.cs</DependentUpon>
     </EmbeddedResource>
@@ -1758,6 +1772,9 @@
     <EmbeddedResource Include="Forms\DataEntry\ConstructionSplit\FrmConstructionSplit.resx">
       <DependentUpon>FrmConstructionSplit.cs</DependentUpon>
     </EmbeddedResource>
+    <EmbeddedResource Include="Forms\SubForms\FrmWaitDialog.resx">
+      <DependentUpon>FrmWaitDialog.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="Forms\SubForms\Material\FrmMaterialHistory.resx">
       <DependentUpon>FrmMaterialHistory.cs</DependentUpon>
     </EmbeddedResource>
Index: branches/src/ProcessManagement/ProcessManagement/Properties/AssemblyInfo.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Properties/AssemblyInfo.cs	(revision 325)
+++ branches/src/ProcessManagement/ProcessManagement/Properties/AssemblyInfo.cs	(revision 326)
@@ -32,7 +32,7 @@
 // ã�™ã�¹ã�¦ã�®å€¤ã‚’æŒ‡å®šã�™ã‚‹ã�‹ã€�ä¸‹ã�®ã‚ˆã�†ã�« '*' ã‚’ä½¿ã�£ã�¦ãƒ“ãƒ«ãƒ‰ã�Šã‚ˆã�³ãƒªãƒ“ã‚¸ãƒ§ãƒ³ç•ªå�·ã‚’ 
 // æ—¢å®šå€¤ã�«ã�™ã‚‹ã�“ã�¨ã�Œã�§ã��ã�¾ã�™:
 // [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.1.148")]
-[assembly: AssemblyFileVersion("1.0.1.148")]
+[assembly: AssemblyVersion("1.0.1.150")]
+[assembly: AssemblyFileVersion("1.0.1.150")]
 // Log4netã‚’ä½¿ç”¨ã�™ã‚‹
 [assembly: log4net.Config.XmlConfigurator(ConfigFile = @"log4net.config", Watch = true)]
\ No newline at end of file
