Index: branches/ddl/20170614_SQL.txt
===================================================================
--- branches/ddl/20170614_SQL.txt	(revision 216)
+++ branches/ddl/20170614_SQL.txt	(revision 217)
@@ -27,10 +27,11 @@
 CREATE TABLE RequestOrderDate
 (
 	ConstructionCode decimal(10,0) unsigned NOT NULL COMMENT '�HŽ–ƒR�[ƒh',
-	RequestNo decimal(9,0) NOT NULL COMMENT '�¿‹�No',
+	InvoiceNo decimal(9,0) NOT NULL COMMENT '�¿‹��‘No',
 	SendDate date NOT NULL COMMENT '�¿‹��‘”­‹‹—X‘—“ú',
 	EntryDate datetime NOT NULL COMMENT '“o˜^“ú•t',
-	UpdateDate datetime NOT NULL COMMENT '�X�V“ú•t'
+	UpdateDate datetime NOT NULL COMMENT '�X�V“ú•t',
+	PRIMARY KEY (ConstructionCode, InvoiceNo)
 ) COMMENT = '�¿‹��‘“ú•tƒf�[ƒ^';
 
 
Index: branches/ddl/ProcessManagement.sql
===================================================================
--- branches/ddl/ProcessManagement.sql	(revision 216)
+++ branches/ddl/ProcessManagement.sql	(revision 217)
@@ -1990,10 +1990,11 @@
 
 create table requestorderdate (
   ConstructionCode decimal(10,0) unsigned not null comment 'å·¥äº‹ã‚³ãƒ¼ãƒ‰'
-  , RequestNo decimal(9,0) not null comment 'è«‹æ±‚No'
+  , InvoiceNo decimal(9,0) not null comment 'è«‹æ±‚æ›¸No'
   , SendDate date not null comment 'è«‹æ±‚æ›¸ç™ºçµ¦éƒµé€�æ—¥'
   , EntryDate datetime not null comment 'ç™»éŒ²æ—¥ä»˜'
-  , UpdateDate datetime not null comment 'æ›´æ–°æ—¥ä»˜'
+  , UpdateDate datetime not null comment 'æ›´æ–°æ—¥ä»˜',
+	PRIMARY KEY (ConstructionCode, InvoiceNo)
 ) comment 'è«‹æ±‚æ›¸æ—¥ä»˜ãƒ‡ãƒ¼ã‚¿' ;
 
 -- å£²ä¸Šã‚°ãƒ©ãƒ•ãƒ‡ãƒ¼ã‚¿
Index: branches/src/ProcessManagement/ProcessManagement/Common/Process/ClsExcute.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Common/Process/ClsExcute.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Common/Process/ClsExcute.cs	(revision 217)
@@ -2508,6 +2508,7 @@
             FrmReqBillingStatus frm = new FrmReqBillingStatus();
             try
             {
+                frm.ExecuteFlg = CurrentPara.IntExecParameter[0];
                 // ãƒ•ã‚©ãƒ¼ãƒ è¡¨ç¤º
                 frm.ShowDialog();
             }
@@ -2535,8 +2536,7 @@
             try
             {
                 // ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆ
-                frm.ConstructionCode = CurrentPara.IntExecParameter[0];
-                if (CurrentPara.IntExecParameter.Count > 1) frm.OrderNo = CurrentPara.IntExecParameter[1];
+                frm.InvoiceNo = CurrentPara.IntExecParameter[0];
 
                 // ãƒ•ã‚©ãƒ¼ãƒ è¡¨ç¤º
                 frm.ShowDialog();
@@ -3669,10 +3669,10 @@
             FrmApprovalPerson frm = new FrmApprovalPerson();
             try
             {
-                frm.PersonCode = CurrentPara.IntExecParameter[0];
-                frm.ApprovalCode = CurrentPara.IntExecParameter[1];
-                frm.OrderNo = CurrentPara.IntExecParameter[2];
-                frm.OrderDate = CurrentPara.DateExecParameter[0];
+                frm.PersonCode = CurrentPara.IntExecParameter[0];           // æ‹…å½“è€…ã‚³ãƒ¼ãƒ‰
+                frm.ApprovalCode = CurrentPara.IntExecParameter[1];         // æ‰¿èª�æ©Ÿèƒ½ç•ªå�·
+                frm.OrderNo = CurrentPara.IntExecParameter[2];              // å�—ä»˜ç•ªå�·
+                frm.OrderDate = CurrentPara.DateExecParameter[0];           // å�—ä»˜æ—¥
 
                 if (CurrentPara.DateExecParameter.Count > 1) frm.DataSearchDate = CurrentPara.DateExecParameter[1];
                 if (CurrentPara.IntExecParameter.Count > 3) frm.DataSearchSeqNo = CurrentPara.IntExecParameter[3];
Index: branches/src/ProcessManagement/ProcessManagement/DB/IOAccess/IORequestOrderDate.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/DB/IOAccess/IORequestOrderDate.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/DB/IOAccess/IORequestOrderDate.cs	(revision 217)
@@ -34,9 +34,8 @@
         public enum TableColumn
         {
             ConstructionCode = 0,	    // å·¥äº‹ç•ªå�·
-            RequestNo,                  // è«‹æ±‚No
+            InvoiceNo,                  // è«‹æ±‚æ›¸No
             SendDate,   	            // è«‹æ±‚æ›¸ç™ºçµ¦éƒµé€�æ—¥
-            PaymentDate,                // å…¥é‡‘æ—¥
             EntryDate,	                // ç™»éŒ²å¹´æœˆæ—¥
             UpdateDate,	                // æ›´æ–°å¹´æœˆæ—¥
         }
@@ -61,17 +60,17 @@
         /// <returns></returns>
         private string CreateSelectSQL()
         {
-            string strcmd = "SELECT";
+            StringBuilder strcmd = new StringBuilder();
+            
+            strcmd.Append("SELECT");
+            strcmd .Append(" ConstructionCode");                                  // å·¥äº‹ç•ªå�·
+            strcmd .Append(", InvoiceNo");                                        // è«‹æ±‚æ›¸No
+            strcmd .Append(", DATE_FORMAT(SendDate, '%Y/%m/%d')");                // è«‹æ±‚æ›¸ç™ºçµ¦éƒµé€�æ—¥
+            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 RequestOrderDate");
 
-            strcmd += " ConstructionCode";                                  // å·¥äº‹ç•ªå�·
-            strcmd += ", RequestNo";                                        // è«‹æ±‚No
-            strcmd += ", DATE_FORMAT(SendDate, '%Y/%m/%d')";                // è«‹æ±‚æ›¸ç™ºçµ¦éƒµé€�æ—¥
-            strcmd += ", DATE_FORMAT(PaymentDate, '%Y/%m/%d')";             // å…¥é‡‘æ—¥
-            strcmd += ", DATE_FORMAT(EntryDate, '%Y/%m/%d %H:%i:%s')";
-            strcmd += ", DATE_FORMAT(UpdateDate, '%Y/%m/%d %H:%i:%s')";
-            strcmd += " FROM RequestOrderDate";
-
-            return strcmd;
+            return strcmd.ToString();
         }
         #endregion
 
@@ -86,16 +85,16 @@
         public bool SelectAction(string AddSQLString, ref List<RequestOrderDate> data, bool bConnect = true)
         {
             // ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹
-            string strcmd = "";
+            StringBuilder strcmd = new StringBuilder(); ;
             ArrayList arData = new ArrayList();
 
             try
             {
                 // SQLä½œæˆ�ï¼ˆDateTimeåž‹ã�Œå¤‰æ�›ã�§ã��ã�ªã�„ã�®ã�§Charã�«å¤‰æ�›ã�—ã�¦ã�Šã��ï¼‰
-                strcmd = CreateSelectSQL() + AddSQLString;
+                strcmd.AppendFormat("{0}{1}", CreateSelectSQL(), AddSQLString);
 
                 // SQLå®Ÿè¡Œ
-                if (!ExecuteReader(strcmd, ref arData, bConnect)) return false;
+                if (!ExecuteReader(strcmd.ToString(), ref arData, bConnect)) return false;
 
                 // ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆ
                 foreach (object[] objwrk in arData)
@@ -109,7 +108,7 @@
             }
             catch (Exception ex)
             {
-                logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}ï¼š{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd);
+                logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}ï¼š{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd.ToString());
                 return false;
             }
         }
@@ -126,16 +125,16 @@
         public bool SelectAction(string AddSQLString, ref RequestOrderDate data, bool bConnect = true)
         {
             // ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹
-            string strcmd = "";
+            StringBuilder strcmd = new StringBuilder();
             ArrayList arData = new ArrayList();
 
             try
             {
                 // SQLä½œæˆ�ï¼ˆDateTimeåž‹ã�Œå¤‰æ�›ã�§ã��ã�ªã�„ã�®ã�§Charã�«å¤‰æ�›ã�—ã�¦ã�Šã��ï¼‰
-                strcmd = CreateSelectSQL() + AddSQLString;
+                strcmd.AppendFormat("{0}{1}", CreateSelectSQL(), AddSQLString);
 
                 // SQLå®Ÿè¡Œ
-                if (!ExecuteReader(strcmd, ref arData, bConnect)) return false;
+                if (!ExecuteReader(strcmd.ToString(), ref arData, bConnect)) return false;
                 if (arData.Count == 0) return false;
 
                 // ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆ
@@ -149,7 +148,7 @@
             }
             catch (Exception ex)
             {
-                logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}ï¼š{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd);
+                logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}ï¼š{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd.ToString());
                 return false;
             }
         }
@@ -163,40 +162,38 @@
         /// <returns>trueï¼šæˆ�åŠŸ falseï¼šå¤±æ•—</returns>
         public bool InsertAction(RequestOrderDate work, bool bConnect = true)
         {
-            string strcmd = "";
+            StringBuilder strcmd = new StringBuilder();
             try
             {
 
                 bool bColFirst = true;
-                strcmd = "INSERT INTO RequestOrderDate";
-                strcmd += " (";
+                strcmd.Append("INSERT INTO RequestOrderDate");
+                strcmd .Append(" (");
                 foreach (var gender in Enum.GetValues(typeof(TableColumn)))
                 {
-                    if (!bColFirst) strcmd += ", ";
-                    strcmd += gender.ToString();
+                    if (!bColFirst) strcmd .Append(", ");
+                    strcmd .Append(gender.ToString());
                     bColFirst = false;
                 }
-                strcmd += ") VALUES (";
+                strcmd .Append(") VALUES (");
 
-                strcmd += string.Format(" {0}", work.ConstructionCode);                 // å·¥äº‹ç•ªå�·
-                strcmd += string.Format(",{0}", work.RequestNo);                        // è«‹æ±‚No
+                strcmd .AppendFormat(" {0}", work.ConstructionCode);                 // å·¥äº‹ç•ªå�·
+                strcmd .AppendFormat(",{0}", work.InvoiceNo);                        // è«‹æ±‚No
 
-                strcmd += string.Format(", STR_TO_DATE('{0}','%Y/%m/%d')",
+                strcmd .AppendFormat(", STR_TO_DATE('{0}','%Y/%m/%d')",
                                             work.SendDate.ToShortDateString());         // è«‹æ±‚æ›¸ç™ºçµ¦éƒµé€�æ—¥
-                strcmd += string.Format(", STR_TO_DATE('{0}','%Y/%m/%d')",
-                                            work.PaymentDate.ToShortDateString());      // å…¥é‡‘æ—¥
 
-                strcmd += string.Format(", STR_TO_DATE('{0}','%Y/%m/%d %H:%i:%s')", work.EntryDate);
-                strcmd += string.Format(", STR_TO_DATE('{0}','%Y/%m/%d %H:%i:%s')", work.UpdateDate);
-                strcmd += ")";
+                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(")");
 
-                if (!ExecuteNonQuery(strcmd, bConnect)) return false;
+                if (!ExecuteNonQuery(strcmd.ToString(), bConnect)) return false;
 
                 return true;
             }
             catch (Exception ex)
             {
-                logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}ï¼š{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd);
+                logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}ï¼š{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd.ToString());
                 return false;
             }
         }
@@ -210,48 +207,46 @@
         /// <returns>trueï¼šæˆ�åŠŸ falseï¼šå¤±æ•—</returns>
         public bool InsertAction(List<RequestOrderDate> data, bool bConnect = true)
         {
-            string strcmd = "";
+            StringBuilder strcmd = new StringBuilder();
             try
             {
                 bool bColFirst = true;
-                strcmd = "INSERT INTO RequestOrderDate";
-                strcmd += " (";
+                strcmd.Append("INSERT INTO RequestOrderDate");
+                strcmd.Append(" (");
                 foreach (var gender in Enum.GetValues(typeof(TableColumn)))
                 {
-                    if (!bColFirst) strcmd += ", ";
-                    strcmd += gender.ToString();
+                    if (!bColFirst) strcmd.Append(", ");
+                    strcmd.Append(gender.ToString());
                     bColFirst = false;
                 }
-                strcmd += ") VALUES";
+                strcmd.Append(") VALUES");
 
                 bool bDataFirst = true;
                 foreach (RequestOrderDate work in data)
                 {
-                    if (bDataFirst) strcmd += " (";
-                    else strcmd += ", (";
+                    if (bDataFirst) strcmd.Append(" (");
+                    else strcmd.Append(", (");
 
-                    strcmd += string.Format(" {0}", work.ConstructionCode);                 // å·¥äº‹ç•ªå�·
-                    strcmd += string.Format(",{0}", work.RequestNo);                        // è«‹æ±‚No
+                    strcmd.AppendFormat(" {0}", work.ConstructionCode);                 // å·¥äº‹ç•ªå�·
+                    strcmd.AppendFormat(",{0}", work.InvoiceNo);                        // è«‹æ±‚No
 
-                    strcmd += string.Format(", STR_TO_DATE('{0}','%Y/%m/%d')",
+                    strcmd.AppendFormat(", STR_TO_DATE('{0}','%Y/%m/%d')",
                                                 work.SendDate.ToShortDateString());         // è«‹æ±‚æ›¸ç™ºçµ¦éƒµé€�æ—¥
-                    strcmd += string.Format(", STR_TO_DATE('{0}','%Y/%m/%d')",
-                                                work.PaymentDate.ToShortDateString());      // å…¥é‡‘æ—¥
 
-                    strcmd += string.Format(", STR_TO_DATE('{0}','%Y/%m/%d %H:%i:%s')", work.EntryDate);
-                    strcmd += string.Format(", STR_TO_DATE('{0}','%Y/%m/%d %H:%i:%s')", work.UpdateDate);
-                    strcmd += ")";
+                    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, false)) return false;
+                if (!ExecuteNonQuery(strcmd.ToString(), false)) return false;
 
                 return true;
             }
             catch (Exception ex)
             {
-                logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}ï¼š{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd);
+                logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}ï¼š{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd.ToString());
                 return false;
             }
         }
@@ -266,32 +261,30 @@
         /// <returns>trueï¼šæˆ�åŠŸ falseï¼šå¤±æ•—</returns>
         public bool UpdateAction(string AddSQLString, RequestOrderDate data, bool bConnect = true)
         {
-            string strcmd = "";
+            StringBuilder strcmd = new StringBuilder();
             try
             {
 
-                strcmd = "UPDATE RequestOrderDate";
+                strcmd.Append("UPDATE RequestOrderDate");
 
-                strcmd += " SET";
+                strcmd.Append(" SET");
 
-                strcmd += string.Format("  ConstructionCode = {0}", data.ConstructionCode);	    // å·¥äº‹ç•ªå�·
-                strcmd += string.Format(", RequestNo = {0}", data.RequestNo);                   // è«‹æ±‚No
+                strcmd.AppendFormat("  ConstructionCode = {0}", data.ConstructionCode);	    // å·¥äº‹ç•ªå�·
+                strcmd.AppendFormat(", RequestNo = {0}", data.InvoiceNo);                   // è«‹æ±‚No
 
-                strcmd += string.Format(", SendDate = STR_TO_DATE('{0}','%Y/%m/%d')",
+                strcmd.AppendFormat(", SendDate = STR_TO_DATE('{0}','%Y/%m/%d')",
                                                     data.SendDate.ToShortDateString());         // è«‹æ±‚æ›¸ç™ºçµ¦éƒµé€�æ—¥
-                strcmd += string.Format(", PaymentDate = STR_TO_DATE('{0}','%Y/%m/%d')",
-                                                    data.PaymentDate.ToShortDateString());      // å…¥é‡‘æ—¥
 
-                strcmd += ", UpdateDate = NOW()";
-                strcmd += AddSQLString;
+                strcmd.Append(", UpdateDate = NOW()");
+                strcmd.Append(AddSQLString);
 
-                if (!ExecuteNonQuery(strcmd, bConnect)) return false;
+                if (!ExecuteNonQuery(strcmd.ToString(), bConnect)) return false;
 
                 return true;
             }
             catch (Exception ex)
             {
-                logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}ï¼š{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd);
+                logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}ï¼š{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd.ToString());
                 return false;
             }
         }
@@ -307,18 +300,18 @@
         public bool DeleteAction(string AddSQLString, bool bConnect = true)
         {
             // ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹
-            string strcmd = "";
+            StringBuilder strcmd = new StringBuilder();
             try
             {
-                strcmd = string.Format("{0}{1}", "DELETE FROM RequestOrderDate", AddSQLString);
+                strcmd.AppendFormat("{0}{1}", "DELETE FROM RequestOrderDate", AddSQLString);
 
-                if (!ExecuteNonQuery(strcmd, bConnect)) return false;
+                if (!ExecuteNonQuery(strcmd.ToString(), bConnect)) return false;
 
                 return true;
             }
             catch (Exception ex)
             {
-                logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}ï¼š{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd);
+                logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}ï¼š{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd.ToString());
                 return false;
             }
         }
@@ -329,40 +322,37 @@
         /// 1é …ç›®ã�®æ›´æ–°ã‚’è¡Œã�†
         /// </summary>
         /// <returns></returns>
-        public bool UpdateFeild(int ConstructionCode, int FeildNo, object value, bool bConnect = true, int RequestNo = 0)
+        public bool UpdateFeild(int ConstructionCode, int FeildNo, object value, bool bConnect = true, int InvoiceNo = 0)
         {
-            string strcmd = "";
+            StringBuilder strcmd = new StringBuilder();
             try
             {
-                strcmd = "UPDATE RequestOrderDate";
+                strcmd.Append("UPDATE RequestOrderDate");
 
-                strcmd += " SET";
+                strcmd.Append(" SET");
                 switch (FeildNo)
                 {
                     case (int)TableColumn.ConstructionCode:	        // å·¥äº‹ç•ªå�·
-                        strcmd += string.Format(" ConstructionCode = {0}", ((int)value).ToString());
+                        strcmd.AppendFormat(" ConstructionCode = {0}", ((int)value).ToString());
                         break;
-                    case (int)TableColumn.RequestNo:                // è«‹æ±‚No
-                        strcmd += string.Format(" RequestNo = {0}", ((int)value).ToString());
+                    case (int)TableColumn.InvoiceNo:                // è«‹æ±‚æ›¸No
+                        strcmd.AppendFormat(" InvoiceNo = {0}", ((int)value).ToString());
                         break;
                     case (int)TableColumn.SendDate:                 // è«‹æ±‚æ›¸ç™ºçµ¦éƒµé€�æ—¥
-                        strcmd += string.Format("SendDate = STR_TO_DATE('{0}','%Y/%m/%d')", ((DateTime)value).ToShortDateString());
+                        strcmd.AppendFormat(" SendDate = STR_TO_DATE('{0}','%Y/%m/%d')", ((DateTime)value).ToShortDateString());
                         break;
-                    case (int)TableColumn.PaymentDate:              // å…¥é‡‘æ—¥
-                        strcmd += string.Format("PaymentDate = STR_TO_DATE('{0}','%Y/%m/%d')", ((DateTime)value).ToShortDateString());
-                        break;
                 }
 
-                strcmd += ", UpdateDate = NOW()";
-                strcmd += CreatePrimarykeyString(ConstructionCode, RequestNo);
+                strcmd.Append(", UpdateDate = NOW()");
+                strcmd.Append(CreatePrimarykeyString(ConstructionCode, InvoiceNo));
 
-                if (!ExecuteNonQuery(strcmd, bConnect)) return false;
+                if (!ExecuteNonQuery(strcmd.ToString(), bConnect)) return false;
 
                 return true;
             }
             catch (Exception ex)
             {
-                logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}ï¼š{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd);
+                logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}ï¼š{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd.ToString());
                 return false;
             }
         }
@@ -380,10 +370,9 @@
             {
                 // ãƒ‡ãƒ¼ã‚¿å�–å¾—
                 wrk.ConstructionCode = int.Parse(objwrk[(int)TableColumn.ConstructionCode].ToString());	            // å·¥äº‹ç•ªå�·
-                wrk.RequestNo = int.Parse(objwrk[(int)TableColumn.RequestNo].ToString());	                        // è«‹æ±‚No
+                wrk.InvoiceNo = int.Parse(objwrk[(int)TableColumn.InvoiceNo].ToString());	                        // è«‹æ±‚æ›¸No
 
                 wrk.SendDate = DateTime.Parse(objwrk[(int)TableColumn.SendDate].ToString());                        // è«‹æ±‚æ›¸ç™ºçµ¦éƒµé€�æ—¥
-                wrk.PaymentDate = DateTime.Parse(objwrk[(int)TableColumn.PaymentDate].ToString());                  // å…¥é‡‘æ—¥
 
                 wrk.EntryDate = DateTime.Parse(objwrk[(int)TableColumn.EntryDate].ToString());
                 wrk.UpdateDate = DateTime.Parse(objwrk[(int)TableColumn.UpdateDate].ToString());
@@ -403,21 +392,21 @@
         /// <summary>
         /// ä¸»ã‚­ãƒ¼æ¤œç´¢ã�®æ–‡å­—åˆ—ã‚’è¿”ã�™
         /// </summary>
-        public string CreatePrimarykeyString(int ConstructionCode, int RequestNo = 0)
+        public string CreatePrimarykeyString(int ConstructionCode, int InvoiceNo = 0)
         {
-            string strWork = "";
+            StringBuilder strWork = new StringBuilder();
             try
             {
-                strWork = string.Format(" Where ConstructionCode = {0}", ConstructionCode);
-                if (RequestNo != 0)
-                    strWork += string.Format(" And RequestNo = {0}", RequestNo);
+                strWork.AppendFormat(" Where ConstructionCode = {0}", ConstructionCode);
+                if (InvoiceNo != 0)
+                    strWork.AppendFormat(" And InvoiceNo = {0}", InvoiceNo);
             }
             catch (Exception ex)
             {
-                logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}ï¼š{2}", CommonMotions.GetMethodName(2), ex.Message, strWork);
+                logger.ErrorFormat("ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼ï¼š{0}ï¼š{1}ï¼š{2}", CommonMotions.GetMethodName(2), ex.Message, strWork.ToString());
             }
 
-            return strWork;
+            return strWork.ToString();
         }
         #endregion
     }
Index: branches/src/ProcessManagement/ProcessManagement/DataModel/RequestOrderDate.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/DataModel/RequestOrderDate.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/DataModel/RequestOrderDate.cs	(revision 217)
@@ -13,9 +13,8 @@
     {
         #region ãƒ¡ãƒ³ãƒ�å¤‰æ•°
         private int         m_ConstructionCode = 0;             // å·¥äº‹ç•ªå�·
-        private int         m_RequestNo = 0;	                // è«‹æ±‚No
+        private int         m_InvoiceNo = 0;	                // è«‹æ±‚æ›¸No
         private DateTime    m_SendDate = DateTime.MinValue;     // è«‹æ±‚æ›¸ç™ºçµ¦éƒµé€�æ—¥
-        private DateTime    m_PaymentDate = DateTime.MinValue;  // å…¥é‡‘æ—¥
         private DateTime    m_EntryDate = DateTime.Now;         // ç™»éŒ²æ—¥ä»˜
         private DateTime    m_UpdateDate = DateTime.Now;        // æ›´æ–°æ—¥ä»˜
         #endregion
@@ -33,12 +32,12 @@
             set { m_ConstructionCode = value; }
         }
         /// <summary>
-        /// è«‹æ±‚â„–
+        /// è«‹æ±‚æ›¸â„–
         /// </summary>
-        public int RequestNo
+        public int InvoiceNo
         {
-            get { return m_RequestNo; }
-            set { m_RequestNo = value; }
+            get { return m_InvoiceNo; }
+            set { m_InvoiceNo = value; }
         }
         /// <summary>
         /// è«‹æ±‚æ›¸ç™ºçµ¦éƒµé€�æ—¥
@@ -49,14 +48,6 @@
             set { m_SendDate = value; }
         }
         /// <summary>
-        /// å…¥é‡‘æ—¥
-        /// </summary>
-        public DateTime PaymentDate
-        {
-            get { return m_PaymentDate; }
-            set { m_PaymentDate = value; }
-        }
-        /// <summary>
         /// ç™»éŒ²æ—¥ä»˜
         /// </summary>
         public DateTime EntryDate
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalPerson/FrmApprovalPerson.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalPerson/FrmApprovalPerson.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalPerson/FrmApprovalPerson.cs	(revision 217)
@@ -682,11 +682,29 @@
                 case (int)ClsExcute.ApprovalListNo.SubConstregistApproval:              // 10:‹¦—Í‰ïŽÐ“o˜^�³”F
                     iNextProcessNo = (int)ClsExcute.ProcessExecuteNo.SubConstrRegist;
                     break;
+                case (int)ClsExcute.ApprovalListNo.FeePayment:                          // 11:ŽèŠÔŽx•¥
+                    iNextProcessNo = (int)ClsExcute.ProcessExecuteNo.RequestSummaryList;
+                    break;
+                case (int)ClsExcute.ApprovalListNo.SubConstrPayment:                    // 12:‹ÆŽÒŽx•¥
+                    iNextProcessNo = (int)ClsExcute.ProcessExecuteNo.RequestSummaryList;
+                    break;
             }
             if (iNextProcessNo == 0) return;
 
             // ----- ‹N“®ƒvƒ�ƒZƒX�Ý’è
             int NowPoint = ClsExcute.NextProcess(iNextProcessNo);
+
+            // ŽèŠÔ�E‹ÆŽÒŽx•¥‚¢‚Í‹æ•ª‚ªˆê”Ô�Å�‰
+            switch (m_ApprovalCode)
+            {
+                case (int)ClsExcute.ApprovalListNo.FeePayment:                          // 11:ŽèŠÔŽx•¥
+                    ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add((int)CommonDefine.LabourKinds.Labor);
+                    break;
+                case (int)ClsExcute.ApprovalListNo.SubConstrPayment:                    // 12:‹ÆŽÒŽx•¥
+                    ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add((int)CommonDefine.LabourKinds.Normal);
+                    break;
+            }
+            
             // ----- ’S“–ŽÒƒR�[ƒhƒZƒbƒg
             ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(m_PersonCode);
             // Žó•t“ú
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalPerson/FrmApprovalPersonAuxiliary.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalPerson/FrmApprovalPersonAuxiliary.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalPerson/FrmApprovalPersonAuxiliary.cs	(revision 217)
@@ -803,35 +803,35 @@
             IOPersonApproval AppDB = new IOPersonApproval();
             try
             {
-                string strSQL = string.Empty;
+                StringBuilder strSQL = new StringBuilder();
 
                 switch (m_ApprovalCode)
                 {
                     case (int)ClsExcute.ApprovalListNo.DRWorkApproval:
-                        strSQL = string.Format("UPDATE ATTENDANCEDATA SET ORDERDATE = STR_TO_DATE('{0}','%Y/%m/%d'),", m_OrderDate.ToShortDateString());
-                        strSQL += string.Format(" ORDERNO = {0}", m_OrderNo);
-                        strSQL += string.Format(" WHERE PersonCode = {0}",m_PersonCode);
-                        strSQL += string.Format(" AND DATE(AttendanceMonth) = STR_TO_DATE('{0}' ,'%Y/%m/%d')", m_SearchDate.ToShortDateString());
+                        strSQL.AppendFormat("UPDATE ATTENDANCEDATA SET ORDERDATE = STR_TO_DATE('{0}','%Y/%m/%d'),", m_OrderDate.ToShortDateString());
+                        strSQL.AppendFormat(" ORDERNO = {0}", m_OrderNo);
+                        strSQL.AppendFormat(" WHERE PersonCode = {0}",m_PersonCode);
+                        strSQL.AppendFormat(" AND DATE(AttendanceMonth) = STR_TO_DATE('{0}' ,'%Y/%m/%d')", m_SearchDate.ToShortDateString());
                         break;
                     case (int)ClsExcute.ApprovalListNo.CostomerRegistApproval:
-                        strSQL = string.Format("UPDATE COSTOMERREGIST SET ORDERDATE = STR_TO_DATE('{0}','%Y/%m/%d'),", m_OrderDate.ToShortDateString());
-                        strSQL += string.Format(" ORDERNO = {0}", m_OrderNo);
-                        strSQL += string.Format(" WHERE PersonCode = {0}", m_PersonCode);
-                        strSQL += string.Format(" AND DATE(CREATEDATE) = STR_TO_DATE('{0}' ,'%Y/%m/%d')", m_SearchDate.ToShortDateString());
-                        strSQL += string.Format(" AND SEQNO = {0}", m_SearchSeqNo);
+                        strSQL.AppendFormat("UPDATE COSTOMERREGIST SET ORDERDATE = STR_TO_DATE('{0}','%Y/%m/%d'),", m_OrderDate.ToShortDateString());
+                        strSQL.AppendFormat(" ORDERNO = {0}", m_OrderNo);
+                        strSQL.AppendFormat(" WHERE PersonCode = {0}", m_PersonCode);
+                        strSQL.AppendFormat(" AND DATE(CREATEDATE) = STR_TO_DATE('{0}' ,'%Y/%m/%d')", m_SearchDate.ToShortDateString());
+                        strSQL.AppendFormat(" AND SEQNO = {0}", m_SearchSeqNo);
                         break;
                     case (int)ClsExcute.ApprovalListNo.SubConstregistApproval:
-                        strSQL = string.Format("UPDATE SUBCONSTRREGIST SET ORDERDATE = STR_TO_DATE('{0}','%Y/%m/%d'),", m_OrderDate.ToShortDateString());
-                        strSQL += string.Format(" ORDERNO = {0}", m_OrderNo);
-                        strSQL += string.Format(" WHERE PersonCode = {0}", m_PersonCode);
-                        strSQL += string.Format(" AND DATE(CREATEDATE) = STR_TO_DATE('{0}' ,'%Y/%m/%d')", m_SearchDate.ToShortDateString());
-                        strSQL += string.Format(" AND SEQNO = {0}", m_SearchSeqNo);
+                        strSQL.AppendFormat("UPDATE SUBCONSTRREGIST SET ORDERDATE = STR_TO_DATE('{0}','%Y/%m/%d'),", m_OrderDate.ToShortDateString());
+                        strSQL.AppendFormat(" ORDERNO = {0}", m_OrderNo);
+                        strSQL.AppendFormat(" WHERE PersonCode = {0}", m_PersonCode);
+                        strSQL.AppendFormat(" AND DATE(CREATEDATE) = STR_TO_DATE('{0}' ,'%Y/%m/%d')", m_SearchDate.ToShortDateString());
+                        strSQL.AppendFormat(" AND SEQNO = {0}", m_SearchSeqNo);
                         break;
                     default:
                         break;
                 }
 
-                if (!AppDB.ExecuteNonQuery(strSQL)) return false;
+                if (!AppDB.ExecuteNonQuery(strSQL.ToString())) return false;
 
                 return true;
             }
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBaseInfo/ProcessControl.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBaseInfo/ProcessControl.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBaseInfo/ProcessControl.cs	(revision 217)
@@ -116,7 +116,6 @@
                             handle = ProcessExecute_ConstructionBudget;
                             break;
                         case (int)ClsExcute.ProcessExecuteNo.ConstructionCopyList:      //  8:å·¥äº‹æ¡ˆä»¶ã‚³ãƒ”ãƒ¼æ©Ÿèƒ½
-                            if (m_EditLock) continue;
                             handle = ProcessExecute_ConstructionCopyList;
                             break;
                         case (int)ClsExcute.ProcessExecuteNo.PurchaseOrderEntry:        //  9:æ³¨æ–‡æ›¸å…¥åŠ›
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBudget/ProcessControl.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBudget/ProcessControl.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBudget/ProcessControl.cs	(revision 217)
@@ -116,7 +116,6 @@
                             handle = ProcessExecute_ConstructionBudget;
                             break;
                         case (int)ClsExcute.ProcessExecuteNo.ConstructionCopyList:      //  8:å·¥äº‹æ¡ˆä»¶ã‚³ãƒ”ãƒ¼æ©Ÿèƒ½
-                            if (m_EditLock) continue;
                             handle = ProcessExecute_ConstructionCopyList;
                             break;
                         case (int)ClsExcute.ProcessExecuteNo.PurchaseOrderEntry:        //  9:æ³¨æ–‡æ›¸å…¥åŠ›
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedger/ProcessControl.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedger/ProcessControl.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedger/ProcessControl.cs	(revision 217)
@@ -109,7 +109,6 @@
                             handle = ProcessExecute_ConstructionBudget;
                             break;
                         case (int)ClsExcute.ProcessExecuteNo.ConstructionCopyList:      //  8:å·¥äº‹æ¡ˆä»¶ã‚³ãƒ”ãƒ¼æ©Ÿèƒ½
-                            if (m_EditLock) continue;
                             handle = ProcessExecute_ConstructionCopyList;
                             break;
                         case (int)ClsExcute.ProcessExecuteNo.PurchaseOrderEntry:        //  9:æ³¨æ–‡æ›¸å…¥åŠ›
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedgerList/FrmConstructionLedgerListAuxiliary.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedgerList/FrmConstructionLedgerListAuxiliary.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedgerList/FrmConstructionLedgerListAuxiliary.cs	(revision 217)
@@ -1747,26 +1747,23 @@
                 DateTime DspSTDate = DateTime.MaxValue;
                 DateTime DspEdDate = DateTime.MinValue;
 
-                // Šú–¢“ž’B‚ÍŒo‰ß‹‹—^‚ð•\Ž¦‚µ‚È‚¢
-                if (numUDConstPro.Value <= CommonMotions.SystemMasterData.BusinessPeriod)
+                // ‹‹—^‚ð�WŒv‚·‚é
+                for (int i = 0; i < PersonCDArray.Count; i++)
                 {
-                    // ‹‹—^‚ð�WŒv‚·‚é
-                    for (int i = 0; i < PersonCDArray.Count; i++)
-                    {
-                        // ŠJŽn�E�I—¹“ú‚ª–³‚¢�ê�‡‚ÍƒfƒtƒHƒ‹ƒg‚ÌŠúŽñ�EŠú––‚ðŽg—p‚·‚é
-                        stDate = dtStartArray[i];
-                        edDate = dtMaxCompArray[i];
-                        CalcStartCompDate(dtDefaultStart, dtDefaultEnd, dtHireStDayArray[i], dtHireEdDayArray[i], ref stDate, ref edDate);
+                    // ŠJŽn�E�I—¹“ú‚ª–³‚¢�ê�‡‚ÍƒfƒtƒHƒ‹ƒg‚ÌŠúŽñ�EŠú––‚ðŽg—p‚·‚é
+                    stDate = dtStartArray[i];
+                    edDate = dtMaxCompArray[i];
+                    CalcStartCompDate(dtDefaultStart, dtDefaultEnd, dtHireStDayArray[i], dtHireEdDayArray[i], ref stDate, ref edDate);
 
-                        // ‹‹—^—Ý�ÏŽæ“¾
-                        int workSalary = CommonMotions.CalcElapsedSalary(SalaryDB, stDate, edDate, PersonCDArray[i]);
-                        // —ÝŒv‰ÁŽZ
-                        TotalSalary += workSalary;
-                        // •\Ž¦“ú•tŽæ“¾
-                        if (DspSTDate > stDate) DspSTDate = stDate;
-                        if (DspEdDate < edDate) DspEdDate = edDate;
-                    }
+                    // ‹‹—^—Ý�ÏŽæ“¾
+                    int workSalary = CommonMotions.CalcElapsedSalary(SalaryDB, stDate, edDate, PersonCDArray[i]);
+                    // —ÝŒv‰ÁŽZ
+                    TotalSalary += workSalary;
+                    // •\Ž¦“ú•tŽæ“¾
+                    if (DspSTDate > stDate) DspSTDate = stDate;
+                    if (DspEdDate < edDate) DspEdDate = edDate;
                 }
+
                 // ----- •\Ž¦�ˆ—�
                 // �U•ª‹‹—^‹àŠz�E�ƒ—˜‰v‹àŠz�E‘e—˜‰v‹àŠzŽæ“¾
                 ProfitGeneral(ref OnSalary, ref  NetIncome, ref  NonSalary);
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/DRConstruction/ProcessControl.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/DRConstruction/ProcessControl.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/DRConstruction/ProcessControl.cs	(revision 217)
@@ -109,7 +109,6 @@
                             handle = ProcessExecute_ConstructionBudget;
                             break;
                         case (int)ClsExcute.ProcessExecuteNo.ConstructionCopyList:      //  8:å·¥äº‹æ¡ˆä»¶ã‚³ãƒ”ãƒ¼æ©Ÿèƒ½
-                            if (m_EditLock) continue;
                             handle = ProcessExecute_ConstructionCopyList;
                             break;
                         case (int)ClsExcute.ProcessExecuteNo.PurchaseOrderEntry:        //  9:æ³¨æ–‡æ›¸å…¥åŠ›
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/DepExpenssList/FrmDepExpenssListAuxiliary.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/DepExpenssList/FrmDepExpenssListAuxiliary.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/DepExpenssList/FrmDepExpenssListAuxiliary.cs	(revision 217)
@@ -1703,27 +1703,24 @@
                 DateTime DspSTDate = DateTime.MaxValue;
                 DateTime DspEdDate = DateTime.MinValue;
 
-                // Šú–¢“ž’B‚ÍŒo‰ß‹‹—^‚ð•\Ž¦‚µ‚È‚¢
-                if (numUDConstPro.Value <= CommonMotions.SystemMasterData.BusinessPeriod)
+                // ‹‹—^‚ð�WŒv‚·‚é
+                for (int i = 0; i < PersonCDArray.Count; i++)
                 {
-                    // ‹‹—^‚ð�WŒv‚·‚é
-                    for (int i = 0; i < PersonCDArray.Count; i++)
-                    {
-                        // ŠJŽn�E�I—¹“ú‚ª–³‚¢�ê�‡‚ÍƒfƒtƒHƒ‹ƒg‚ÌŠúŽñ�EŠú––‚ðŽg—p‚·‚é
-                        stDate = dtStartArray[i];
-                        edDate = dtMaxCompArray[i];
-                        CalcStartCompDate(dtDefaultStart, dtDefaultEnd, dtHireStDayArray[i], dtHireEdDayArray[i], ref stDate, ref edDate);
+                    // ŠJŽn�E�I—¹“ú‚ª–³‚¢�ê�‡‚ÍƒfƒtƒHƒ‹ƒg‚ÌŠúŽñ�EŠú––‚ðŽg—p‚·‚é
+                    stDate = dtStartArray[i];
+                    edDate = dtMaxCompArray[i];
+                    CalcStartCompDate(dtDefaultStart, dtDefaultEnd, dtHireStDayArray[i], dtHireEdDayArray[i], ref stDate, ref edDate);
 
-                        // ‹‹—^—Ý�ÏŽæ“¾
-                        int workSalary = CommonMotions.CalcElapsedSalary(SalaryDB, stDate, edDate, PersonCDArray[i]);
-                        // —ÝŒv‰ÁŽZ
-                        TotalSalary += workSalary;
+                    // ‹‹—^—Ý�ÏŽæ“¾
+                    int workSalary = CommonMotions.CalcElapsedSalary(SalaryDB, stDate, edDate, PersonCDArray[i]);
+                    // —ÝŒv‰ÁŽZ
+                    TotalSalary += workSalary;
 
-                        // •\Ž¦“ú•tŽæ“¾
-                        if (DspSTDate > stDate) DspSTDate = stDate;
-                        if (DspEdDate < edDate) DspEdDate = edDate;
-                    }
+                    // •\Ž¦“ú•tŽæ“¾
+                    if (DspSTDate > stDate) DspSTDate = stDate;
+                    if (DspEdDate < edDate) DspEdDate = edDate;
                 }
+
                 // ----- •\Ž¦�ˆ—�
                 // �U•ª‹‹—^‹àŠz�E�ƒ—˜‰v‹àŠz�E‘e—˜‰v‹àŠzŽæ“¾
                 ProfitGeneral(DepartmentCode, 0, ref OnSalary, ref  NetIncome, ref  NonSalary);
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/EstimateBudget/ProcessControl.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/EstimateBudget/ProcessControl.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/EstimateBudget/ProcessControl.cs	(revision 217)
@@ -109,7 +109,6 @@
                             handle = ProcessExecute_ConstructionBudget;
                             break;
                         case (int)ClsExcute.ProcessExecuteNo.ConstructionCopyList:      //  8:å·¥äº‹æ¡ˆä»¶ã‚³ãƒ”ãƒ¼æ©Ÿèƒ½
-                            if (m_EditLock) continue;
                             handle = ProcessExecute_ConstructionCopyList;
                             break;
                         case (int)ClsExcute.ProcessExecuteNo.PurchaseOrderEntry:        //  9:æ³¨æ–‡æ›¸å…¥åŠ›
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/EstimateInput/ProcessControl.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/EstimateInput/ProcessControl.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/EstimateInput/ProcessControl.cs	(revision 217)
@@ -109,7 +109,6 @@
                             handle = ProcessExecute_ConstructionBudget;
                             break;
                         case (int)ClsExcute.ProcessExecuteNo.ConstructionCopyList:      //  8:å·¥äº‹æ¡ˆä»¶ã‚³ãƒ”ãƒ¼æ©Ÿèƒ½
-                            if (m_EditLock) continue;
                             handle = ProcessExecute_ConstructionCopyList;
                             break;
                         case (int)ClsExcute.ProcessExecuteNo.PurchaseOrderEntry:        //  9:æ³¨æ–‡æ›¸å…¥åŠ›
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/EstimatePrint/ProcessControl.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/EstimatePrint/ProcessControl.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/EstimatePrint/ProcessControl.cs	(revision 217)
@@ -109,7 +109,6 @@
                             handle = ProcessExecute_ConstructionBudget;
                             break;
                         case (int)ClsExcute.ProcessExecuteNo.ConstructionCopyList:      //  8:å·¥äº‹æ¡ˆä»¶ã‚³ãƒ”ãƒ¼æ©Ÿèƒ½
-                            if (m_EditLock) continue;
                             handle = ProcessExecute_ConstructionCopyList;
                             break;
                         case (int)ClsExcute.ProcessExecuteNo.PurchaseOrderEntry:        //  9:æ³¨æ–‡æ›¸å…¥åŠ›
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Material/ConstrMATLList/FrmConstrMATLList.designer.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Material/ConstrMATLList/FrmConstrMATLList.designer.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Material/ConstrMATLList/FrmConstrMATLList.designer.cs	(revision 217)
@@ -138,6 +138,7 @@
             // 
             this.radioButton2.AutoSize = true;
             this.radioButton2.BackColor = System.Drawing.Color.Transparent;
+            this.radioButton2.Checked = true;
             this.radioButton2.Font = new System.Drawing.Font("ï¼­ï¼³ æ˜Žæœ�", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
             this.radioButton2.ForeColor = System.Drawing.Color.Black;
             this.radioButton2.Location = new System.Drawing.Point(662, 32);
@@ -144,6 +145,7 @@
             this.radioButton2.Name = "radioButton2";
             this.radioButton2.Size = new System.Drawing.Size(77, 20);
             this.radioButton2.TabIndex = 44;
+            this.radioButton2.TabStop = true;
             this.radioButton2.Text = "å·¥ã€€äº‹";
             this.radioButton2.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
             this.radioButton2.UseVisualStyleBackColor = false;
@@ -153,7 +155,6 @@
             // 
             this.radioButton1.AutoSize = true;
             this.radioButton1.BackColor = System.Drawing.Color.Transparent;
-            this.radioButton1.Checked = true;
             this.radioButton1.Font = new System.Drawing.Font("ï¼­ï¼³ æ˜Žæœ�", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
             this.radioButton1.ForeColor = System.Drawing.Color.Black;
             this.radioButton1.Location = new System.Drawing.Point(662, 12);
@@ -160,7 +161,6 @@
             this.radioButton1.Name = "radioButton1";
             this.radioButton1.Size = new System.Drawing.Size(77, 20);
             this.radioButton1.TabIndex = 43;
-            this.radioButton1.TabStop = true;
             this.radioButton1.Text = "å–¶ã€€æ¥­";
             this.radioButton1.TextAlign = System.Drawing.ContentAlignment.TopCenter;
             this.radioButton1.UseVisualStyleBackColor = false;
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Material/ConstrMATLList/FrmConstrMATLListAuxiliary.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Material/ConstrMATLList/FrmConstrMATLListAuxiliary.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Material/ConstrMATLList/FrmConstrMATLListAuxiliary.cs	(revision 217)
@@ -50,6 +50,7 @@
             CONSTMANDISPORDER,
             CONSTDEPDISPORDER,
             MARKCONSTRCODE,
+            COMPLETEFLG,
         }
         #endregion
 
@@ -122,7 +123,7 @@
         /// ŒŸ�õSQL‚ÌƒZƒLƒ…ƒŠƒeƒB”»’è•”•ª‚ð�ì�¬‚·‚é
         /// </summary>
         /// <param name="strSQL"></param>
-        private void CreateSecuritySQL(ref string strSQL)
+        private void CreateSecuritySQL(ref StringBuilder strSQL)
         {
             try
             {
@@ -147,36 +148,36 @@
                     // ˆê•”�§ŒÀ—L
                     // ‹@–§ŠÇ—�ŽÒ�iŽ©•”��‚Ì‚Ý�j
 
-                    strSQL += " And (A.SalesPersonCode IN (Select A1.PersonCode From PersonInChargeMaster A1";
-                    strSQL += string.Format(" Where A1.DepartmentCode IN (SELECT A2.DEPARTMENTCODE FROM PERSONDEPARTMENTMASTER A2 WHERE A2.PERSONCODE = {0}))", CommonMotions.LoginUserData.PersonCode);
+                    strSQL.Append(" And (A.SalesPersonCode IN (Select A1.PersonCode From PersonInChargeMaster A1");
+                    strSQL.AppendFormat(" Where A1.DepartmentCode IN (SELECT A2.DEPARTMENTCODE FROM PERSONDEPARTMENTMASTER A2 WHERE A2.PERSONCODE = {0}))", CommonMotions.LoginUserData.PersonCode);
 
-                    strSQL += string.Format(" Or (A.ConstructionStatusFlg >= {0}", iStatus);
+                    strSQL.AppendFormat(" Or (A.ConstructionStatusFlg >= {0}", iStatus);
 
-                    strSQL += " And (A.ConstructionPersonCode IN (Select A3.PersonCode From PersonInChargeMaster A3";
-                    strSQL += string.Format(" Where A3.DepartmentCode IN (SELECT A4.DEPARTMENTCODE FROM PERSONDEPARTMENTMASTER A4 WHERE A4.PERSONCODE = {0}))", CommonMotions.LoginUserData.PersonCode);
+                    strSQL.Append(" And (A.ConstructionPersonCode IN (Select A3.PersonCode From PersonInChargeMaster A3");
+                    strSQL.AppendFormat(" Where A3.DepartmentCode IN (SELECT A4.DEPARTMENTCODE FROM PERSONDEPARTMENTMASTER A4 WHERE A4.PERSONCODE = {0}))", CommonMotions.LoginUserData.PersonCode);
 
-                    strSQL += " Or A.CONSTRSUBPERSONCODE IN (Select A5.PersonCode From PersonInChargeMaster A5";
-                    strSQL += string.Format(" Where A5.DepartmentCode IN (SELECT A6.DEPARTMENTCODE FROM PERSONDEPARTMENTMASTER A6 WHERE A6.PERSONCODE = {0}))", CommonMotions.LoginUserData.PersonCode);
+                    strSQL.Append(" Or A.CONSTRSUBPERSONCODE IN (Select A5.PersonCode From PersonInChargeMaster A5");
+                    strSQL.AppendFormat(" Where A5.DepartmentCode IN (SELECT A6.DEPARTMENTCODE FROM PERSONDEPARTMENTMASTER A6 WHERE A6.PERSONCODE = {0}))", CommonMotions.LoginUserData.PersonCode);
 
-                    strSQL += " Or A.ConstructionInstructor IN (Select A7.PersonCode From PersonInChargeMaster A7";
-                    strSQL += string.Format(" Where A7.DepartmentCode IN (SELECT A8.DEPARTMENTCODE FROM PERSONDEPARTMENTMASTER A8 WHERE A8.PERSONCODE = {0}))))", CommonMotions.LoginUserData.PersonCode);
+                    strSQL.Append(" Or A.ConstructionInstructor IN (Select A7.PersonCode From PersonInChargeMaster A7");
+                    strSQL.AppendFormat(" Where A7.DepartmentCode IN (SELECT A8.DEPARTMENTCODE FROM PERSONDEPARTMENTMASTER A8 WHERE A8.PERSONCODE = {0}))))", CommonMotions.LoginUserData.PersonCode);
 
-                    strSQL += string.Format(" Or (A.ConstructionStatusFlg >= {0} And A.ConstructionPersonCode = 0)", iStatus);          // �Š‘®’·‚ÍŒ©�Ï’ñ�oŒã‚Å�HŽ–’S“–ŽÒ‚ª“ü‚Á‚Ä‚¢‚È‚¢�ê�‡•\Ž¦
-                    strSQL += string.Format(" Or (A.ConstructionStatusFlg = {0}", iStatus2);                                            // •”��ˆøŒpŽž‚ÍˆøŒp•”��‚Ì‚à‚Ì‚ÍŒ©‚¦‚é
-                    strSQL += string.Format(" And A.TransferConstruction = {0}))", CommonMotions.LoginUserData.DepartmentCode);
+                    strSQL.AppendFormat(" Or (A.ConstructionStatusFlg >= {0} And A.ConstructionPersonCode = 0)", iStatus);          // �Š‘®’·‚ÍŒ©�Ï’ñ�oŒã‚Å�HŽ–’S“–ŽÒ‚ª“ü‚Á‚Ä‚¢‚È‚¢�ê�‡•\Ž¦
+                    strSQL.AppendFormat(" Or (A.ConstructionStatusFlg = {0}", iStatus2);                                            // •”��ˆøŒpŽž‚ÍˆøŒp•”��‚Ì‚à‚Ì‚ÍŒ©‚¦‚é
+                    strSQL.AppendFormat(" And A.TransferConstruction = {0}))", CommonMotions.LoginUserData.DepartmentCode);
                 }
                 else if (CommonMotions.LoginUserSecurity.SecRange == CommonDefine.SecurityRangeList[None].Key)
                 {
                     // ˆê”ÊŽg—pŽÒ
-                    strSQL += string.Format(" And (A.SalesPersonCode = {0}", CommonMotions.LoginUserData.PersonCode);
+                    strSQL.AppendFormat(" And (A.SalesPersonCode = {0}", CommonMotions.LoginUserData.PersonCode);
 
-                    strSQL += string.Format(" Or (A.ConstructionStatusFlg >= {0}", iStatus);
+                    strSQL.AppendFormat(" Or (A.ConstructionStatusFlg >= {0}", iStatus);
 
-                    strSQL += string.Format(" And (A.ConstructionPersonCode = {0}", CommonMotions.LoginUserData.PersonCode);
+                    strSQL.AppendFormat(" And (A.ConstructionPersonCode = {0}", CommonMotions.LoginUserData.PersonCode);
 
-                    strSQL += string.Format(" Or A.CONSTRSUBPERSONCODE = {0}", CommonMotions.LoginUserData.PersonCode);
+                    strSQL.AppendFormat(" Or A.CONSTRSUBPERSONCODE = {0}", CommonMotions.LoginUserData.PersonCode);
 
-                    strSQL += string.Format(" Or A.ConstructionInstructor = {0})))", CommonMotions.LoginUserData.PersonCode);
+                    strSQL.AppendFormat(" Or A.ConstructionInstructor = {0})))", CommonMotions.LoginUserData.PersonCode);
                 }
             }
             catch (Exception ex)
@@ -227,14 +228,14 @@
         {
             try
             {
-                string strRet = string.Empty;
+                StringBuilder strRet = new StringBuilder(); ;
 
                 int DepartmentCode = GetDepartmentCode();
-                if (DepartmentCode == 0) return strRet;
+                if (DepartmentCode == 0) return strRet.ToString();
                     
-                strRet += string.Format(" AND (C.DEPARTMENTCODE = {0} OR D.DEPARTMENTCODE = {0})", DepartmentCode);
+                strRet.AppendFormat(" AND (C.DEPARTMENTCODE = {0} OR D.DEPARTMENTCODE = {0})", DepartmentCode);
 
-                return strRet;
+                return strRet.ToString();
             }
             catch (Exception ex)
             {
@@ -249,7 +250,7 @@
         /// Ž‘�Þ‘Ý�o“ü—ÍŒŸ�õSQL�ì�¬
         /// </summary>
         /// <param name="strSQL"></param>
-        private void CreateSQL01(ref string strSQL)
+        private void CreateSQL01(ref StringBuilder strSQL)
         {
             try
             {
@@ -256,97 +257,98 @@
                 int Status1 = CommonDefine.ProjectsStatus.First(x => x.Value.Equals("”ñ Žó ’�")).Key;
                 int Status2 = CommonDefine.ProjectsStatus.First(x => x.Value.Equals("Ž{�HŠ®—¹")).Key;
 
-                strSQL = "SELECT * FROM (";
+                strSQL.Append("SELECT * FROM (");
                 for (int i = 0; i < 2; i++)
                 {
                     switch (i)
                     {
                         case 0:
-                            strSQL += "SELECT";
+                            strSQL.Append("SELECT");
                             break;
                         case 1:
-                            strSQL += " UNION SELECT";
+                            strSQL.Append(" UNION SELECT");
                             break;
                     }
 
-                    strSQL += " DISTINCT A.CONSTRUCTIONCODE,";
-                    strSQL += " A.CONSTRUCTIONPERIOD,";
-                    strSQL += " B.DETAILSTRING,";
-                    strSQL += " A.CONSTRUCTIONSTATUSFLG,";
-                    strSQL += " C.PERSONCODE AS SALESMANCODE,";
-                    strSQL += " C.PERSONNAME AS SALESMANNAME,";
-                    strSQL += " C.DEPARTMENTCODE AS SALESDEPCODE,";
-                    strSQL += " C.DEPARTMENTNAME AS SALESDEPNAME,";
-                    strSQL += " C.MANDISPORDER AS SALESMANORDER,";
-                    strSQL += " C.DEPDISPORDER AS SALESDEPORDER,";
-                    strSQL += " D.PERSONCODE,";
-                    strSQL += " D.PERSONNAME,";
-                    strSQL += " D.DEPARTMENTCODE,";
-                    strSQL += " D.DEPARTMENTNAME,";
-                    strSQL += " D.MANDISPORDER,";
-                    strSQL += " D.DEPDISPORDER,";
-                    strSQL += " E.CONSTRUCTIONCODE AS MARCKCODE";
+                    strSQL.Append(" DISTINCT A.CONSTRUCTIONCODE,");
+                    strSQL.Append(" A.CONSTRUCTIONPERIOD,");
+                    strSQL.Append(" B.DETAILSTRING,");
+                    strSQL.Append(" A.CONSTRUCTIONSTATUSFLG,");
+                    strSQL.Append(" C.PERSONCODE AS SALESMANCODE,");
+                    strSQL.Append(" C.PERSONNAME AS SALESMANNAME,");
+                    strSQL.Append(" C.DEPARTMENTCODE AS SALESDEPCODE,");
+                    strSQL.Append(" C.DEPARTMENTNAME AS SALESDEPNAME,");
+                    strSQL.Append(" C.MANDISPORDER AS SALESMANORDER,");
+                    strSQL.Append(" C.DEPDISPORDER AS SALESDEPORDER,");
+                    strSQL.Append(" D.PERSONCODE,");
+                    strSQL.Append(" D.PERSONNAME,");
+                    strSQL.Append(" D.DEPARTMENTCODE,");
+                    strSQL.Append(" D.DEPARTMENTNAME,");
+                    strSQL.Append(" D.MANDISPORDER,");
+                    strSQL.Append(" D.DEPDISPORDER,");
+                    strSQL.Append(" E.CONSTRUCTIONCODE AS MARCKCODE,");
+                    strSQL.Append(" E.COMPLETEFLG AS COMPLETEFLG");
 
-                    strSQL += " FROM CONSTRUCTIONBASEINFO A";
+                    strSQL.Append(" FROM CONSTRUCTIONBASEINFO A");
 
-                    strSQL += " LEFT JOIN (SELECT CA.CONSTRUCTIONCODE, CA.SALESPERSONCODE PERSONCODE, CB.PERSONNAME PERSONNAME,";
-                    strSQL += " CB.DEPARTMENTCODE DEPARTMENTCODE, CC.DEPARTMENTSTRING DEPARTMENTNAME,";
-                    strSQL += " CB.DISPLAYORDER MANDISPORDER, CC.DISPLAYORDER DEPDISPORDER";
-                    strSQL += " FROM CONSTRUCTIONBASEINFO CA";
-                    strSQL += " LEFT JOIN PERSONINCHARGEMASTER CB ON CA.SALESPERSONCODE = CB.PERSONCODE";
-                    strSQL += " LEFT JOIN DEPARTMENTMASTER CC ON CB.DEPARTMENTCODE = CC.DEPARTMENTCODE";
-                    strSQL += string.Format(" WHERE CA.CONSTRUCTIONPERIOD = {0}) C ON A.CONSTRUCTIONCODE = C.CONSTRUCTIONCODE", numUDConstPro.Value);
+                    strSQL.Append(" LEFT JOIN (SELECT CA.CONSTRUCTIONCODE, CA.SALESPERSONCODE PERSONCODE, CB.PERSONNAME PERSONNAME,");
+                    strSQL.Append(" CB.DEPARTMENTCODE DEPARTMENTCODE, CC.DEPARTMENTSTRING DEPARTMENTNAME,");
+                    strSQL.Append(" CB.DISPLAYORDER MANDISPORDER, CC.DISPLAYORDER DEPDISPORDER");
+                    strSQL.Append(" FROM CONSTRUCTIONBASEINFO CA");
+                    strSQL.Append(" LEFT JOIN PERSONINCHARGEMASTER CB ON CA.SALESPERSONCODE = CB.PERSONCODE");
+                    strSQL.Append(" LEFT JOIN DEPARTMENTMASTER CC ON CB.DEPARTMENTCODE = CC.DEPARTMENTCODE");
+                    strSQL.AppendFormat(" WHERE CA.CONSTRUCTIONPERIOD = {0}) C ON A.CONSTRUCTIONCODE = C.CONSTRUCTIONCODE", numUDConstPro.Value);
 
-                    strSQL += " LEFT JOIN (SELECT DA.CONSTRUCTIONCODE, DA.CONSTRUCTIONPERSONCODE PERSONCODE, DB.PERSONNAME PERSONNAME,";
-                    strSQL += " DB.DEPARTMENTCODE DEPARTMENTCODE, DC.DEPARTMENTSTRING DEPARTMENTNAME,";
-                    strSQL += " DB.DISPLAYORDER MANDISPORDER, DC.DISPLAYORDER DEPDISPORDER";
-                    strSQL += " FROM CONSTRUCTIONBASEINFO DA";
-                    strSQL += " LEFT JOIN PERSONINCHARGEMASTER DB ON DA.CONSTRUCTIONPERSONCODE = DB.PERSONCODE";
-                    strSQL += " LEFT JOIN DEPARTMENTMASTER DC ON DB.DEPARTMENTCODE = DC.DEPARTMENTCODE";
+                    strSQL.Append(" LEFT JOIN (SELECT DA.CONSTRUCTIONCODE, DA.CONSTRUCTIONPERSONCODE PERSONCODE, DB.PERSONNAME PERSONNAME,");
+                    strSQL.Append(" DB.DEPARTMENTCODE DEPARTMENTCODE, DC.DEPARTMENTSTRING DEPARTMENTNAME,");
+                    strSQL.Append(" DB.DISPLAYORDER MANDISPORDER, DC.DISPLAYORDER DEPDISPORDER");
+                    strSQL.Append(" FROM CONSTRUCTIONBASEINFO DA");
+                    strSQL.Append(" LEFT JOIN PERSONINCHARGEMASTER DB ON DA.CONSTRUCTIONPERSONCODE = DB.PERSONCODE");
+                    strSQL.Append(" LEFT JOIN DEPARTMENTMASTER DC ON DB.DEPARTMENTCODE = DC.DEPARTMENTCODE");
 
-                    strSQL += string.Format(" WHERE DA.CONSTRUCTIONPERIOD = {0}) D ON A.CONSTRUCTIONCODE = D.CONSTRUCTIONCODE", numUDConstPro.Value);
+                    strSQL.AppendFormat(" WHERE DA.CONSTRUCTIONPERIOD = {0}) D ON A.CONSTRUCTIONCODE = D.CONSTRUCTIONCODE", numUDConstPro.Value);
                     switch (i)
                     {
                         case 0:
-                            strSQL += ", CONSTRUCTIONBASEINFODETAIL B";
-                            strSQL += " LEFT JOIN CONSTRUCTIONMATERIALINFO E ON E.CONSTRUCTIONCODE = B.CONSTRUCTIONCODE";
+                            strSQL.Append(", CONSTRUCTIONBASEINFODETAIL B");
+                            strSQL.Append(" LEFT JOIN CONSTRUCTIONMATERIALINFO E ON E.CONSTRUCTIONCODE = B.CONSTRUCTIONCODE");
                             break;
                         case 1:
-                            strSQL += ", CONSTRUCTIONBASEINFODETAIL B, CONSTRUCTIONMATERIALINFO E";
+                            strSQL.Append(", CONSTRUCTIONBASEINFODETAIL B, CONSTRUCTIONMATERIALINFO E");
                             break;
                     }
 
-                    strSQL += string.Format(" WHERE A.CONSTRUCTIONPERIOD = {0}", numUDConstPro.Value);
-                    strSQL += string.Format(" AND A.TYINGFLG != {0}", (int)CommonDefine.BaseInfoTyingFlg.Tying);
-                    strSQL += " AND A.CONSTRUCTIONCODE = B.CONSTRUCTIONCODE";
-                    strSQL += string.Format(" AND B.DETAILNO = {0}", (int)ConstructionBaseInfoDetail.DetailDataNo.ConstructionName);
+                    strSQL.AppendFormat(" WHERE A.CONSTRUCTIONPERIOD = {0}", numUDConstPro.Value);
+                    strSQL.AppendFormat(" AND A.TYINGFLG != {0}", (int)CommonDefine.BaseInfoTyingFlg.Tying);
+                    strSQL.Append(" AND A.CONSTRUCTIONCODE = B.CONSTRUCTIONCODE");
+                    strSQL.AppendFormat(" AND B.DETAILNO = {0}", (int)ConstructionBaseInfoDetail.DetailDataNo.ConstructionName);
 
                     switch (i)
                     {
                         case 0:
-                            strSQL += string.Format(" AND (A.CONSTRUCTIONSTATUSFLG != {0}", Status1);
-                            strSQL += string.Format(" AND A.CONSTRUCTIONSTATUSFLG <= {0})", Status2);
+                            strSQL.AppendFormat(" AND (A.CONSTRUCTIONSTATUSFLG != {0}", Status1);
+                            strSQL.AppendFormat(" AND A.CONSTRUCTIONSTATUSFLG <= {0})", Status2);
                             break;
                         case 1:
-                            strSQL += " AND E.CONSTRUCTIONCODE = A.CONSTRUCTIONCODE";
+                            strSQL.Append(" AND E.CONSTRUCTIONCODE = A.CONSTRUCTIONCODE");
                             break;
                     }
 
                     // •”��‚ª‘I‘ð‚³‚ê‚Ä‚¢‚é�ê�‡
-                    strSQL += GetDepartmentString();
+                    strSQL.Append(GetDepartmentString());
 
                     // ’S“–ŽÒ‚ª‘I‘ð‚³‚ê‚Ä‚¢‚é�ê�‡
-                    strSQL += GetPersonString();
+                    strSQL.Append(GetPersonString());
 
                     // ƒZƒLƒ…ƒŠƒeƒB•¶Žš—ñŽæ“¾
-                    string wrkBuff = string.Empty;
+                    StringBuilder wrkBuff = new StringBuilder();
                     CreateSecuritySQL(ref wrkBuff);
-                    strSQL += wrkBuff;
+                    strSQL.Append(wrkBuff.ToString());
                 }
 
-                strSQL += ") AS UNI";
+                strSQL.Append(") AS UNI");
                 // ORDER BY ’Ç‰Á
-                strSQL += " ORDER BY 4 ASC, 10 ASC, 9 ASC, 16 ASC, 15 ASC, 1 DESC";
+                strSQL.Append(" ORDER BY 4 ASC, 10 ASC, 9 ASC, 16 ASC, 15 ASC, 1 DESC");
 
             }
             catch (Exception ex)
@@ -361,60 +363,60 @@
         /// Ž‘�Þ•Ô‹p“ü—ÍŒŸ�õSQL�ì�¬
         /// </summary>
         /// <param name="strSQL"></param>
-        private void CreateSQL02(ref string strSQL)
+        private void CreateSQL02(ref StringBuilder strSQL)
         {
             try
             {
-                strSQL = string.Empty;
-                strSQL += "SELECT";
+                strSQL.Append("SELECT");
 
-                strSQL += " DISTINCT A.CONSTRUCTIONCODE,";
-                strSQL += " A.CONSTRUCTIONPERIOD, B.DETAILSTRING, A.CONSTRUCTIONSTATUSFLG,";
-                strSQL += " C.PERSONCODE, C.PERSONNAME, C.DEPARTMENTCODE, C.DEPARTMENTNAME, C.MANDISPORDER, C.DEPDISPORDER,";
-                strSQL += " D.PERSONCODE, D.PERSONNAME, D.DEPARTMENTCODE, D.DEPARTMENTNAME, D.MANDISPORDER, D.DEPDISPORDER,";
+                strSQL.Append(" DISTINCT A.CONSTRUCTIONCODE,");
+                strSQL.Append(" A.CONSTRUCTIONPERIOD, B.DETAILSTRING, A.CONSTRUCTIONSTATUSFLG,");
+                strSQL.Append(" C.PERSONCODE, C.PERSONNAME, C.DEPARTMENTCODE, C.DEPARTMENTNAME, C.MANDISPORDER, C.DEPDISPORDER,");
+                strSQL.Append(" D.PERSONCODE, D.PERSONNAME, D.DEPARTMENTCODE, D.DEPARTMENTNAME, D.MANDISPORDER, D.DEPDISPORDER,");
 
-                strSQL += " E.CONSTRUCTIONCODE";
+                strSQL.Append(" E.CONSTRUCTIONCODE AS MARCKCODE,");
+                strSQL.Append(" E.COMPLETEFLG AS COMPLETEFLG");
 
-                strSQL += " FROM CONSTRUCTIONBASEINFO A";
+                strSQL.Append(" FROM CONSTRUCTIONBASEINFO A");
 
-                strSQL += " LEFT JOIN (SELECT CA.CONSTRUCTIONCODE, CA.SALESPERSONCODE PERSONCODE, CB.PERSONNAME PERSONNAME,";
-                strSQL += " CB.DEPARTMENTCODE DEPARTMENTCODE, CC.DEPARTMENTSTRING DEPARTMENTNAME,";
-                strSQL += " CB.DISPLAYORDER MANDISPORDER, CC.DISPLAYORDER DEPDISPORDER";
-                strSQL += " FROM CONSTRUCTIONBASEINFO CA";
-                strSQL += " LEFT JOIN PERSONINCHARGEMASTER CB ON CA.SALESPERSONCODE = CB.PERSONCODE";
-                strSQL += " LEFT JOIN DEPARTMENTMASTER CC ON CB.DEPARTMENTCODE = CC.DEPARTMENTCODE";
-                strSQL += string.Format(" WHERE CA.CONSTRUCTIONPERIOD = {0}) C ON A.CONSTRUCTIONCODE = C.CONSTRUCTIONCODE", numUDConstPro.Value);
+                strSQL.Append(" LEFT JOIN (SELECT CA.CONSTRUCTIONCODE, CA.SALESPERSONCODE PERSONCODE, CB.PERSONNAME PERSONNAME,");
+                strSQL.Append(" CB.DEPARTMENTCODE DEPARTMENTCODE, CC.DEPARTMENTSTRING DEPARTMENTNAME,");
+                strSQL.Append(" CB.DISPLAYORDER MANDISPORDER, CC.DISPLAYORDER DEPDISPORDER");
+                strSQL.Append(" FROM CONSTRUCTIONBASEINFO CA");
+                strSQL.Append(" LEFT JOIN PERSONINCHARGEMASTER CB ON CA.SALESPERSONCODE = CB.PERSONCODE");
+                strSQL.Append(" LEFT JOIN DEPARTMENTMASTER CC ON CB.DEPARTMENTCODE = CC.DEPARTMENTCODE");
+                strSQL.AppendFormat(" WHERE CA.CONSTRUCTIONPERIOD = {0}) C ON A.CONSTRUCTIONCODE = C.CONSTRUCTIONCODE", numUDConstPro.Value);
 
-                strSQL += " LEFT JOIN (SELECT DA.CONSTRUCTIONCODE, DA.CONSTRUCTIONPERSONCODE PERSONCODE, DB.PERSONNAME PERSONNAME,";
-                strSQL += " DB.DEPARTMENTCODE DEPARTMENTCODE, DC.DEPARTMENTSTRING DEPARTMENTNAME,";
-                strSQL += " DB.DISPLAYORDER MANDISPORDER, DC.DISPLAYORDER DEPDISPORDER";
-                strSQL += " FROM CONSTRUCTIONBASEINFO DA";
-                strSQL += " LEFT JOIN PERSONINCHARGEMASTER DB ON DA.CONSTRUCTIONPERSONCODE = DB.PERSONCODE";
-                strSQL += " LEFT JOIN DEPARTMENTMASTER DC ON DB.DEPARTMENTCODE = DC.DEPARTMENTCODE";
-                strSQL += string.Format(" WHERE DA.CONSTRUCTIONPERIOD = {0}) D ON A.CONSTRUCTIONCODE = D.CONSTRUCTIONCODE", numUDConstPro.Value);
-                strSQL += ", CONSTRUCTIONBASEINFODETAIL B, CONSTRUCTIONMATERIALINFO E";
+                strSQL.Append(" LEFT JOIN (SELECT DA.CONSTRUCTIONCODE, DA.CONSTRUCTIONPERSONCODE PERSONCODE, DB.PERSONNAME PERSONNAME,");
+                strSQL.Append(" DB.DEPARTMENTCODE DEPARTMENTCODE, DC.DEPARTMENTSTRING DEPARTMENTNAME,");
+                strSQL.Append(" DB.DISPLAYORDER MANDISPORDER, DC.DISPLAYORDER DEPDISPORDER");
+                strSQL.Append(" FROM CONSTRUCTIONBASEINFO DA");
+                strSQL.Append(" LEFT JOIN PERSONINCHARGEMASTER DB ON DA.CONSTRUCTIONPERSONCODE = DB.PERSONCODE");
+                strSQL.Append(" LEFT JOIN DEPARTMENTMASTER DC ON DB.DEPARTMENTCODE = DC.DEPARTMENTCODE");
+                strSQL.AppendFormat(" WHERE DA.CONSTRUCTIONPERIOD = {0}) D ON A.CONSTRUCTIONCODE = D.CONSTRUCTIONCODE", numUDConstPro.Value);
+                strSQL.Append(", CONSTRUCTIONBASEINFODETAIL B, CONSTRUCTIONMATERIALINFO E");
 
-                strSQL += string.Format(" WHERE A.CONSTRUCTIONPERIOD = {0}", numUDConstPro.Value);
-                strSQL += string.Format(" AND A.TYINGFLG != {0}", (int)CommonDefine.BaseInfoTyingFlg.Tying);
-                strSQL += " AND A.CONSTRUCTIONCODE = B.CONSTRUCTIONCODE";
-                strSQL += string.Format(" AND B.DETAILNO = {0}", (int)ConstructionBaseInfoDetail.DetailDataNo.ConstructionName);
+                strSQL.AppendFormat(" WHERE A.CONSTRUCTIONPERIOD = {0}", numUDConstPro.Value);
+                strSQL.AppendFormat(" AND A.TYINGFLG != {0}", (int)CommonDefine.BaseInfoTyingFlg.Tying);
+                strSQL.Append(" AND A.CONSTRUCTIONCODE = B.CONSTRUCTIONCODE");
+                strSQL.AppendFormat(" AND B.DETAILNO = {0}", (int)ConstructionBaseInfoDetail.DetailDataNo.ConstructionName);
 
-                strSQL += " AND E.CONSTRUCTIONCODE = A.CONSTRUCTIONCODE";
-                strSQL += " AND E.COMPLETEFLG != 1";
+                strSQL.Append(" AND E.CONSTRUCTIONCODE = A.CONSTRUCTIONCODE");
+                strSQL.Append(" AND E.COMPLETEFLG != 1");
 
                 // •”��‚ª‘I‘ð‚³‚ê‚Ä‚¢‚é�ê�‡
-                strSQL += GetDepartmentString();
+                strSQL.Append(GetDepartmentString());
 
                 // ’S“–ŽÒ‚ª‘I‘ð‚³‚ê‚Ä‚¢‚é�ê�‡
-                strSQL += GetPersonString();
+                strSQL.Append(GetPersonString());
 
                 // ƒZƒLƒ…ƒŠƒeƒB•¶Žš—ñŽæ“¾
-                string wrkBuff = string.Empty;
+                StringBuilder wrkBuff = new StringBuilder();
                 CreateSecuritySQL(ref wrkBuff);
-                strSQL += wrkBuff;
+                strSQL.Append(wrkBuff.ToString());
 
                 // ORDER BY ’Ç‰Á
-                strSQL += " ORDER BY 4 ASC, 10 ASC, 9 ASC, 16 ASC, 15 ASC, 1 DESC";
+                strSQL.Append(" ORDER BY 4 ASC, 10 ASC, 9 ASC, 16 ASC, 15 ASC, 1 DESC");
             }
             catch (Exception ex)
             {
@@ -427,7 +429,7 @@
         /// <summary>
         /// •\Ž¦—pƒf�[ƒ^Žæ“¾SQL�ì�¬
         /// </summary>
-        private void CreateInitSQL(ref string strSQL)
+        private void CreateInitSQL(ref StringBuilder strSQL)
         {
             try
             {
@@ -483,7 +485,11 @@
                     strConstrName = CommonMotions.cnvString(objwrk[(int)GetData.CONSTRUCTIONNAME]);
 
                     MarkCode = string.Empty;
-                    if (CommonMotions.cnvInt(objwrk[(int)GetData.MARKCONSTRCODE]) != 0) MarkCode = "‘Ý�o—L";
+                    if (CommonMotions.cnvInt(objwrk[(int)GetData.MARKCONSTRCODE]) != 0
+                        && CommonMotions.cnvInt(objwrk[(int)GetData.COMPLETEFLG]) == 0)
+                    {
+                        MarkCode = "‘Ý�o—L";
+                    }
 
                     // ƒXƒe�[ƒ^ƒXƒtƒ‰ƒO‚ªˆá‚¦‚Î1�sŠJ‚¯‚é
                     if (StatusFlg != CommonMotions.cnvInt(objwrk[(int)GetData.CONSTRUCTIONSTATUSFLG]))
@@ -611,12 +617,12 @@
             {
                 foreach (DataGridViewColumn wrkCol in dgvMaster.Columns) wrkCol.SortMode = DataGridViewColumnSortMode.NotSortable;
                 dgvMaster.Rows.Clear();
-                string strSQL = "";
+                StringBuilder strSQL = new StringBuilder();
                 // SQL�ì�¬
                 CreateInitSQL(ref strSQL);
                 ArrayList arData = new ArrayList();
                 // �HŽ–Šî–{�î•ñŽæ“¾
-                if (cbiDB.ExecuteReader(strSQL, ref arData))
+                if (cbiDB.ExecuteReader(strSQL.ToString(), ref arData))
                 {
                     // ƒOƒŠƒbƒh‚ÖƒZƒbƒg‚Æ‚·‚é
                     SetToGridData(arData);
@@ -957,27 +963,27 @@
                 cmbDepartment.Items.Clear();
                 cmbDepartment.Text = "";
 
-                string strSQL = string.Empty;
+                StringBuilder strSQL = new StringBuilder();
                 // •”��ƒ}ƒXƒ^‚ðŒŸ�õ‚·‚é
-                strSQL = "SELECT A.DEPARTMENTCODE, A.DEPARTMENTSTRING, A.DISPLAYORDER, COUNT(*)";
-                strSQL += " FROM DEPARTMENTMASTER A, PERSONINCHARGEMASTER B, CONSTRUCTIONBASEINFO C";
-                strSQL += " WHERE A.DELETEFLG = 0";
+                strSQL.Append("SELECT A.DEPARTMENTCODE, A.DEPARTMENTSTRING, A.DISPLAYORDER, COUNT(*)");
+                strSQL.Append(" FROM DEPARTMENTMASTER A, PERSONINCHARGEMASTER B, CONSTRUCTIONBASEINFO C");
+                strSQL.Append(" WHERE A.DELETEFLG = 0");
 
                 if (CommonMotions.LoginUserData.PersonCode != CommonDefine.AdminCode)
                 {
                     // ŽQ�Æ•”��ƒ}ƒXƒ^‚æ‚èŽæ“¾‚·‚é
-                    strSQL += " AND A.DEPARTMENTCODE IN (SELECT A1.DEPARTMENTCODE FROM PERSONDEPARTMENTMASTER A1";
-                    strSQL += string.Format(" WHERE A1.PERSONCODE = {0})", CommonMotions.LoginUserData.PersonCode);
+                    strSQL.Append(" AND A.DEPARTMENTCODE IN (SELECT A1.DEPARTMENTCODE FROM PERSONDEPARTMENTMASTER A1");
+                    strSQL.AppendFormat(" WHERE A1.PERSONCODE = {0})", CommonMotions.LoginUserData.PersonCode);
                 }
 
-                strSQL += " AND A.DEPARTMENTCODE = B.DEPARTMENTCODE";
-                strSQL += " AND B.PERSONCODE = C.CONSTRUCTIONPERSONCODE";
-                strSQL += " GROUP BY A.DEPARTMENTCODE, A.DEPARTMENTSTRING, A.DISPLAYORDER";
-                strSQL += " ORDER BY A.DISPLAYORDER ASC";
+                strSQL.Append(" AND A.DEPARTMENTCODE = B.DEPARTMENTCODE");
+                strSQL.Append(" AND B.PERSONCODE = C.CONSTRUCTIONPERSONCODE");
+                strSQL.Append(" GROUP BY A.DEPARTMENTCODE, A.DEPARTMENTSTRING, A.DISPLAYORDER");
+                strSQL.Append(" ORDER BY A.DISPLAYORDER ASC");
 
                 // •”��ƒ}ƒXƒ^“Ç�ž
                 ArrayList arList = new ArrayList();
-                if (!depDB.ExecuteReader(strSQL, ref arList)) return;
+                if (!depDB.ExecuteReader(strSQL.ToString(), ref arList)) return;
 
                 List<KeyValuePair<int, string>> ConstructionDataList = new List<KeyValuePair<int, string>>();
                 ConstructionDataList.Add(new KeyValuePair<int, string>(0, ""));
@@ -1024,22 +1030,23 @@
                 cmbConstructionPerson.Text = "";
 
                 int DepartmentCode = GetDepartmentCode();
-                string strSQL = string.Empty;
+                StringBuilder strSQL = new StringBuilder();
                 // ŒŸ�õ�ðŒ�
-                strSQL = string.Format(" WHERE LEDGERFLG = {0}", (int)CommonDefine.PersonLedgerDivNo.CalcTarget);
-                strSQL += " AND (DEPARTMENTCODE";
-                string strSubSQL = string.Empty;
+                strSQL.AppendFormat(" WHERE LEDGERFLG = {0}", (int)CommonDefine.PersonLedgerDivNo.CalcTarget);
+                strSQL.Append(" AND (DEPARTMENTCODE");
+                StringBuilder strSubSQL = new StringBuilder(); ;
                 if (DepartmentCode == 0)
                 {
                     // ŽQ�Æ•”��ƒ}ƒXƒ^‚æ‚èŽæ“¾‚·‚é
-                    strSubSQL += string.Format(" IN (SELECT AA.DEPARTMENTCODE FROM PERSONDEPARTMENTMASTER AA WHERE AA.PERSONCODE = {0})"
+                    strSubSQL.AppendFormat(" IN (SELECT AA.DEPARTMENTCODE FROM PERSONDEPARTMENTMASTER AA WHERE AA.PERSONCODE = {0})"
                                             , CommonMotions.LoginUserData.PersonCode);
                 }
                 else
                 {
-                    strSubSQL += string.Format(" = {0}", DepartmentCode);
+                    strSubSQL.AppendFormat(" = {0}", DepartmentCode);
                 }
-                strSQL += strSubSQL + ")";
+                strSQL.Append(strSubSQL);
+                strSQL.Append(")");
 
                 // “–ŠúŠúŽñ“ú�EŠú––“ú‚ðŽæ“¾
                 DateTime dtDefaultStart = DateTime.MinValue;
@@ -1046,13 +1053,13 @@
                 DateTime dtDefaultEnd = DateTime.MinValue;
                 CreateDefaultStartAndEndDate(ref dtDefaultStart, ref dtDefaultEnd);
 
-                strSQL += string.Format(" AND (DATE(STARTDATE) <= STR_TO_DATE('{0}','%Y/%m/%d')", dtDefaultEnd.ToShortDateString());
-                strSQL += string.Format(" AND (STR_TO_DATE('{0}','%Y/%m/%d') <= DATE(ENDDATE)", dtDefaultStart.ToShortDateString());
-                strSQL += string.Format(" OR STR_TO_DATE('{0}','%Y/%m/%d') = DATE(ENDDATE)))", DateTime.MinValue.ToShortDateString());
+                strSQL.AppendFormat(" AND (DATE(STARTDATE) <= STR_TO_DATE('{0}','%Y/%m/%d')", dtDefaultEnd.ToShortDateString());
+                strSQL.AppendFormat(" AND (STR_TO_DATE('{0}','%Y/%m/%d') <= DATE(ENDDATE)", dtDefaultStart.ToShortDateString());
+                strSQL.AppendFormat(" OR STR_TO_DATE('{0}','%Y/%m/%d') = DATE(ENDDATE)))", DateTime.MinValue.ToShortDateString());
 
-                strSQL += " Order By DeleteFlg ASC, EmployeeClassFlg ASC, DisplayOrder ASC";
+                strSQL.Append(" Order By DeleteFlg ASC, EmployeeClassFlg ASC, DisplayOrder ASC");
                 // ’S“–ŽÒƒ}ƒXƒ^“Ç�ž
-                if (!picDB.SelectAction(strSQL, ref workList)) return;
+                if (!picDB.SelectAction(strSQL.ToString(), ref workList)) return;
 
                 List<KeyValuePair<int, string>> ConstructionDataList = new List<KeyValuePair<int, string>>();
                 ConstructionDataList.Add(new KeyValuePair<int, string>(0, ""));
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Proceedings/ProcessControl.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Proceedings/ProcessControl.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Proceedings/ProcessControl.cs	(revision 217)
@@ -109,7 +109,6 @@
                             handle = ProcessExecute_ConstructionBudget;
                             break;
                         case (int)ClsExcute.ProcessExecuteNo.ConstructionCopyList:      //  8:å·¥äº‹æ¡ˆä»¶ã‚³ãƒ”ãƒ¼æ©Ÿèƒ½
-                            if (m_EditLock) continue;
                             handle = ProcessExecute_ConstructionCopyList;
                             break;
                         case (int)ClsExcute.ProcessExecuteNo.PurchaseOrderEntry:        //  9:æ³¨æ–‡æ›¸å…¥åŠ›
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/PurchaseOrderEntry/ProcessControl.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/PurchaseOrderEntry/ProcessControl.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/PurchaseOrderEntry/ProcessControl.cs	(revision 217)
@@ -109,7 +109,6 @@
                             handle = ProcessExecute_ConstructionBudget;
                             break;
                         case (int)ClsExcute.ProcessExecuteNo.ConstructionCopyList:      //  8:å·¥äº‹æ¡ˆä»¶ã‚³ãƒ”ãƒ¼æ©Ÿèƒ½
-                            if (m_EditLock) continue;
                             handle = ProcessExecute_ConstructionCopyList;
                             break;
                         case (int)ClsExcute.ProcessExecuteNo.PurchaseOrderEntry:        //  9:æ³¨æ–‡æ›¸å…¥åŠ›
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/PurchaseOrderPrint/ProcessControl.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/PurchaseOrderPrint/ProcessControl.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/PurchaseOrderPrint/ProcessControl.cs	(revision 217)
@@ -109,7 +109,6 @@
                             handle = ProcessExecute_ConstructionBudget;
                             break;
                         case (int)ClsExcute.ProcessExecuteNo.ConstructionCopyList:      //  8:å·¥äº‹æ¡ˆä»¶ã‚³ãƒ”ãƒ¼æ©Ÿèƒ½
-                            if (m_EditLock) continue;
                             handle = ProcessExecute_ConstructionCopyList;
                             break;
                         case (int)ClsExcute.ProcessExecuteNo.PurchaseOrderEntry:        //  9:æ³¨æ–‡æ›¸å…¥åŠ›
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/PurchaseStatusInput/FrmPurchaseStatusInputAuxiliary.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/PurchaseStatusInput/FrmPurchaseStatusInputAuxiliary.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/PurchaseStatusInput/FrmPurchaseStatusInputAuxiliary.cs	(revision 217)
@@ -196,6 +196,7 @@
             finally
             {
                 DetailDB.close(); DetailDB = null;
+                PersonDB.close(); PersonDB = null;
             }
         }
         #endregion
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ReqBillingStatInput/FrmBillingStatInput.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ReqBillingStatInput/FrmBillingStatInput.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ReqBillingStatInput/FrmBillingStatInput.cs	(revision 217)
@@ -34,15 +34,11 @@
         private enum DispColumn
         {
             No = 0,
-            SeqNo,
-            CompanyCode,
-            CompanyName,
-            OrderPrice,
-            PrintOutDate,
-            MailingDate,
-            ReturnDate,
-            ReturnCheckDate,
-            DataChangeFlg,
+            RequestNo,
+            ConstrName,
+            ReqestValue,
+            ApprovalDate,
+            ConstrCode,
         }
 
         #endregion
@@ -63,20 +59,13 @@
 
         #endregion
 
-        #region ŠY“–�HŽ–Šî–{�î•ñ
+        #region �¿‹��‘”Ô�†
         /// <summary>
-        /// ŠY“–�HŽ–Šî–{�î•ñ
+        /// �¿‹��‘”Ô�†
         /// </summary>
-        private ConstructionBaseInfo m_ConstructionBaseInfo = new ConstructionBaseInfo();
+        private int m_InvoiceNo = 0;
         #endregion
 
-        #region �HŽ–ƒR�[ƒh
-        /// <summary>
-        /// �HŽ–ƒR�[ƒh
-        /// </summary>
-        private int m_ConstructionCode = 0;
-        #endregion
-
         #region Žó•t”Ô�†
         /// <summary>
         /// Žó•t”Ô�†
@@ -88,13 +77,14 @@
 
         #region ƒvƒ�ƒpƒeƒB
         /// <summary>
-        /// �HŽ–ƒR�[ƒh
+        /// �¿‹��‘”Ô�†
         /// </summary>
-        public int ConstructionCode
+        public int InvoiceNo
         {
-            get { return m_ConstructionCode; }
-            set { m_ConstructionCode = value; }
+            get { return m_InvoiceNo; }
+            set { m_InvoiceNo = value; }
         }
+
         /// <summary>
         /// Žó•t”Ô�†
         /// </summary>
@@ -103,6 +93,7 @@
             get { return m_OrderNo; }
             set { m_OrderNo = value; }
         }
+
         #endregion
 
         #region ƒRƒ“ƒXƒgƒ‰ƒNƒ^
@@ -156,9 +147,6 @@
         /// <param name="e"></param>
         private void btnDataEntry_Click(object sender, EventArgs e)
         {
-            //ƒf�[ƒ^ƒ`ƒFƒbƒN
-            if (!DispFeildCheck()) return;
-
             // ƒf�[ƒ^“o˜^
             if (!DataEntryProcess()) return;
 
@@ -191,19 +179,13 @@
         /// <param name="e"></param>
         private void FrmConstructionBaseInfoList_Load(object sender, EventArgs e)
         {
-            // �HŽ–�î•ñŽæ“¾
-            if (!GetBaseInfoData())
-            {
-                MessageBox.Show("�HŽ–Šî–{�î•ñ‚ª‘¶�Ý‚µ‚Ü‚¹‚ñ", "ƒGƒ‰�[•\Ž¦", MessageBoxButtons.OK, MessageBoxIcon.Error);
-                this.Close();
-                return;
-            }
-
             // �‰Šú�Ý’è
             InitSettingLoad();
 
             // �‰Šú•\Ž¦
             InitDataLoad();
+
+            m_DataChangeFlg = false;
         }
         #endregion
 
@@ -255,33 +237,18 @@
         }
         #endregion
 
-        #region ƒZƒ‹’l‚Ì•Ï�X
+        #region —X‘—“ú“ü—ÍŒã�ˆ—�
         /// <summary>
-        /// ƒZƒ‹’l‚Ì•Ï�X
+        /// —X‘—“ú“ü—ÍŒã�ˆ—�
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
-        private void dgvMaster_CellValueChanged(object sender, DataGridViewCellEventArgs e)
+        private void textBox1_Validated(object sender, EventArgs e)
         {
-            try
-            {
-                // •Ï�Xƒtƒ‰ƒOON
-                m_DataChangeFlg = true;
-                
-                // •Ï�Xƒtƒ‰ƒOON
-                DataGridView dgv = (DataGridView)sender;
-                DataGridViewRow dgvRow = dgv.CurrentRow;
-                DataGridViewCell dgvCell = dgv.CurrentCell;
+            // �I—¹Žž‚Íƒ`ƒFƒbƒN‚µ‚È‚¢
+            if (ActiveControl == btnEnd) return;
 
-                dgvRow.Cells[(int)DispColumn.DataChangeFlg].Value = 1;
-                
-                // “ú•t•Ò�W
-                txtInputDate_TextChanged(dgvCell);
-            }
-            catch (Exception ex)
-            {
-                logger.ErrorFormat("ƒVƒXƒeƒ€ƒGƒ‰�[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
-            }
+            txtInputDate_TextChanged((Control)sender);
         }
         #endregion
     }
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ReqBillingStatInput/FrmBillingStatInput.designer.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ReqBillingStatInput/FrmBillingStatInput.designer.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ReqBillingStatInput/FrmBillingStatInput.designer.cs	(revision 217)
@@ -30,32 +30,29 @@
         {
             System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
             System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
             System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
             System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
             System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
             System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
             this.btnEnd = new System.Windows.Forms.Button();
             this.label1 = new System.Windows.Forms.Label();
             this.groupBox1 = new System.Windows.Forms.GroupBox();
+            this.textBox1 = new System.Windows.Forms.TextBox();
+            this.label7 = new System.Windows.Forms.Label();
             this.label2 = new System.Windows.Forms.Label();
             this.lblLabel03 = new System.Windows.Forms.Label();
             this.label5 = new System.Windows.Forms.Label();
-            this.lblLabel05 = new System.Windows.Forms.Label();
+            this.lblLabel04 = new System.Windows.Forms.Label();
             this.label4 = new System.Windows.Forms.Label();
+            this.label6 = new System.Windows.Forms.Label();
             this.lblConstructionCodelabel = new System.Windows.Forms.Label();
             this.lblLabel02 = new System.Windows.Forms.Label();
-            this.lblLabel04 = new System.Windows.Forms.Label();
+            this.lblLabel05 = new System.Windows.Forms.Label();
+            this.lblLabel06 = new System.Windows.Forms.Label();
             this.lblLabel01 = new System.Windows.Forms.Label();
             this.btnDataEntry = new System.Windows.Forms.Button();
             this.dgvMaster = new ProcessManagement.Forms.CustomControls.DataGridViewEX();
-            this.label3 = new System.Windows.Forms.Label();
-            this.label6 = new System.Windows.Forms.Label();
-            this.label7 = new System.Windows.Forms.Label();
-            this.textBox1 = new System.Windows.Forms.TextBox();
             this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.Column4 = new System.Windows.Forms.DataGridViewTextBoxColumn();
@@ -62,9 +59,6 @@
             this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.Column8 = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.Column5 = new System.Windows.Forms.DataGridViewTextBoxColumn();
-            this.Column9 = new System.Windows.Forms.DataGridViewTextBoxColumn();
-            this.Column11 = new System.Windows.Forms.DataGridViewTextBoxColumn();
-            this.Column12 = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.groupBox1.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.dgvMaster)).BeginInit();
             this.SuspendLayout();
@@ -74,7 +68,7 @@
             this.btnEnd.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
             this.btnEnd.BackColor = System.Drawing.Color.Blue;
             this.btnEnd.ForeColor = System.Drawing.Color.White;
-            this.btnEnd.Location = new System.Drawing.Point(1130, 550);
+            this.btnEnd.Location = new System.Drawing.Point(1130, 525);
             this.btnEnd.Name = "btnEnd";
             this.btnEnd.Size = new System.Drawing.Size(120, 30);
             this.btnEnd.TabIndex = 8;
@@ -99,19 +93,19 @@
             // groupBox1
             // 
             this.groupBox1.Anchor = System.Windows.Forms.AnchorStyles.Top;
-            this.groupBox1.BackColor = System.Drawing.Color.Linen;
+            this.groupBox1.BackColor = System.Drawing.Color.NavajoWhite;
             this.groupBox1.Controls.Add(this.textBox1);
             this.groupBox1.Controls.Add(this.label7);
             this.groupBox1.Controls.Add(this.label2);
             this.groupBox1.Controls.Add(this.lblLabel03);
             this.groupBox1.Controls.Add(this.label5);
-            this.groupBox1.Controls.Add(this.lblLabel05);
+            this.groupBox1.Controls.Add(this.lblLabel04);
             this.groupBox1.Controls.Add(this.label4);
             this.groupBox1.Controls.Add(this.label6);
             this.groupBox1.Controls.Add(this.lblConstructionCodelabel);
             this.groupBox1.Controls.Add(this.lblLabel02);
-            this.groupBox1.Controls.Add(this.lblLabel04);
-            this.groupBox1.Controls.Add(this.label3);
+            this.groupBox1.Controls.Add(this.lblLabel05);
+            this.groupBox1.Controls.Add(this.lblLabel06);
             this.groupBox1.Controls.Add(this.lblLabel01);
             this.groupBox1.ForeColor = System.Drawing.Color.White;
             this.groupBox1.Location = new System.Drawing.Point(10, 40);
@@ -120,10 +114,33 @@
             this.groupBox1.TabIndex = 0;
             this.groupBox1.TabStop = false;
             // 
+            // textBox1
+            // 
+            this.textBox1.Font = new System.Drawing.Font("Century", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+            this.textBox1.Location = new System.Drawing.Point(130, 80);
+            this.textBox1.Name = "textBox1";
+            this.textBox1.Size = new System.Drawing.Size(120, 26);
+            this.textBox1.TabIndex = 41;
+            this.textBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+            this.textBox1.Validated += new System.EventHandler(this.textBox1_Validated);
+            // 
+            // label7
+            // 
+            this.label7.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+            this.label7.BackColor = System.Drawing.Color.Black;
+            this.label7.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
+            this.label7.ForeColor = System.Drawing.Color.AntiqueWhite;
+            this.label7.Location = new System.Drawing.Point(8, 81);
+            this.label7.Name = "label7";
+            this.label7.Size = new System.Drawing.Size(114, 25);
+            this.label7.TabIndex = 39;
+            this.label7.Text = "éƒµã€€é€�ã€€æ—¥";
+            this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            // 
             // label2
             // 
             this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-            this.label2.BackColor = System.Drawing.Color.PeachPuff;
+            this.label2.BackColor = System.Drawing.Color.AntiqueWhite;
             this.label2.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
             this.label2.ForeColor = System.Drawing.Color.Black;
             this.label2.Location = new System.Drawing.Point(8, 48);
@@ -149,7 +166,7 @@
             // label5
             // 
             this.label5.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-            this.label5.BackColor = System.Drawing.Color.PeachPuff;
+            this.label5.BackColor = System.Drawing.Color.AntiqueWhite;
             this.label5.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
             this.label5.ForeColor = System.Drawing.Color.Black;
             this.label5.Location = new System.Drawing.Point(258, 48);
@@ -159,22 +176,22 @@
             this.label5.Text = "ä½œã€€æˆ�ã€€æ—¥";
             this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
             // 
-            // lblLabel05
+            // lblLabel04
             // 
-            this.lblLabel05.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-            this.lblLabel05.BackColor = System.Drawing.Color.White;
-            this.lblLabel05.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-            this.lblLabel05.Font = new System.Drawing.Font("Century", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-            this.lblLabel05.ForeColor = System.Drawing.Color.Black;
-            this.lblLabel05.Location = new System.Drawing.Point(380, 48);
-            this.lblLabel05.Name = "lblLabel05";
-            this.lblLabel05.Size = new System.Drawing.Size(120, 25);
-            this.lblLabel05.TabIndex = 38;
-            this.lblLabel05.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
+            this.lblLabel04.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+            this.lblLabel04.BackColor = System.Drawing.Color.White;
+            this.lblLabel04.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
+            this.lblLabel04.Font = new System.Drawing.Font("Century", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+            this.lblLabel04.ForeColor = System.Drawing.Color.Black;
+            this.lblLabel04.Location = new System.Drawing.Point(380, 48);
+            this.lblLabel04.Name = "lblLabel04";
+            this.lblLabel04.Size = new System.Drawing.Size(120, 25);
+            this.lblLabel04.TabIndex = 38;
+            this.lblLabel04.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
             // 
             // label4
             // 
-            this.label4.BackColor = System.Drawing.Color.PeachPuff;
+            this.label4.BackColor = System.Drawing.Color.AntiqueWhite;
             this.label4.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
             this.label4.ForeColor = System.Drawing.Color.Black;
             this.label4.Location = new System.Drawing.Point(516, 48);
@@ -184,9 +201,21 @@
             this.label4.Text = "è«‹ã€€æ±‚ã€€æ—¥";
             this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
             // 
+            // label6
+            // 
+            this.label6.BackColor = System.Drawing.Color.AntiqueWhite;
+            this.label6.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
+            this.label6.ForeColor = System.Drawing.Color.Black;
+            this.label6.Location = new System.Drawing.Point(774, 48);
+            this.label6.Name = "label6";
+            this.label6.Size = new System.Drawing.Size(114, 25);
+            this.label6.TabIndex = 18;
+            this.label6.Text = "è«‹æ±‚é‡‘é¡�";
+            this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            // 
             // lblConstructionCodelabel
             // 
-            this.lblConstructionCodelabel.BackColor = System.Drawing.Color.PeachPuff;
+            this.lblConstructionCodelabel.BackColor = System.Drawing.Color.AntiqueWhite;
             this.lblConstructionCodelabel.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
             this.lblConstructionCodelabel.ForeColor = System.Drawing.Color.Black;
             this.lblConstructionCodelabel.Location = new System.Drawing.Point(8, 15);
@@ -207,18 +236,30 @@
             this.lblLabel02.TabIndex = 17;
             this.lblLabel02.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
             // 
-            // lblLabel04
+            // lblLabel05
             // 
-            this.lblLabel04.BackColor = System.Drawing.Color.White;
-            this.lblLabel04.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-            this.lblLabel04.Font = new System.Drawing.Font("Century", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-            this.lblLabel04.ForeColor = System.Drawing.Color.Black;
-            this.lblLabel04.Location = new System.Drawing.Point(638, 48);
-            this.lblLabel04.Name = "lblLabel04";
-            this.lblLabel04.Size = new System.Drawing.Size(120, 25);
-            this.lblLabel04.TabIndex = 16;
-            this.lblLabel04.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+            this.lblLabel05.BackColor = System.Drawing.Color.White;
+            this.lblLabel05.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
+            this.lblLabel05.Font = new System.Drawing.Font("Century", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+            this.lblLabel05.ForeColor = System.Drawing.Color.Black;
+            this.lblLabel05.Location = new System.Drawing.Point(638, 48);
+            this.lblLabel05.Name = "lblLabel05";
+            this.lblLabel05.Size = new System.Drawing.Size(120, 25);
+            this.lblLabel05.TabIndex = 16;
+            this.lblLabel05.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
             // 
+            // lblLabel06
+            // 
+            this.lblLabel06.BackColor = System.Drawing.Color.White;
+            this.lblLabel06.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
+            this.lblLabel06.Font = new System.Drawing.Font("Century", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+            this.lblLabel06.ForeColor = System.Drawing.Color.Black;
+            this.lblLabel06.Location = new System.Drawing.Point(896, 48);
+            this.lblLabel06.Name = "lblLabel06";
+            this.lblLabel06.Size = new System.Drawing.Size(160, 25);
+            this.lblLabel06.TabIndex = 16;
+            this.lblLabel06.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+            // 
             // lblLabel01
             // 
             this.lblLabel01.BackColor = System.Drawing.Color.White;
@@ -237,7 +278,7 @@
             this.btnDataEntry.BackColor = System.Drawing.Color.Green;
             this.btnDataEntry.Font = new System.Drawing.Font("ï¼­ï¼³ æ˜Žæœ�", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
             this.btnDataEntry.ForeColor = System.Drawing.Color.White;
-            this.btnDataEntry.Location = new System.Drawing.Point(1002, 550);
+            this.btnDataEntry.Location = new System.Drawing.Point(1002, 525);
             this.btnDataEntry.Name = "btnDataEntry";
             this.btnDataEntry.Size = new System.Drawing.Size(120, 30);
             this.btnDataEntry.TabIndex = 14;
@@ -274,18 +315,15 @@
             this.Column4,
             this.Column2,
             this.Column8,
-            this.Column5,
-            this.Column9,
-            this.Column11,
-            this.Column12});
-            dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
-            dataGridViewCellStyle10.BackColor = System.Drawing.SystemColors.Window;
-            dataGridViewCellStyle10.Font = new System.Drawing.Font("ï¼­ï¼³ æ˜Žæœ�", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
-            dataGridViewCellStyle10.ForeColor = System.Drawing.SystemColors.ControlText;
-            dataGridViewCellStyle10.SelectionBackColor = System.Drawing.Color.LightSeaGreen;
-            dataGridViewCellStyle10.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
-            dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
-            this.dgvMaster.DefaultCellStyle = dataGridViewCellStyle10;
+            this.Column5});
+            dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Window;
+            dataGridViewCellStyle7.Font = new System.Drawing.Font("ï¼­ï¼³ æ˜Žæœ�", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+            dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.ControlText;
+            dataGridViewCellStyle7.SelectionBackColor = System.Drawing.Color.LightSeaGreen;
+            dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+            dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
+            this.dgvMaster.DefaultCellStyle = dataGridViewCellStyle7;
             this.dgvMaster.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnEnter;
             this.dgvMaster.Location = new System.Drawing.Point(10, 158);
             this.dgvMaster.MultiSelect = false;
@@ -295,55 +333,9 @@
             this.dgvMaster.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
             this.dgvMaster.RowTemplate.Height = 24;
             this.dgvMaster.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
-            this.dgvMaster.Size = new System.Drawing.Size(1240, 386);
+            this.dgvMaster.Size = new System.Drawing.Size(1240, 362);
             this.dgvMaster.TabIndex = 5;
-            this.dgvMaster.CellValueChanged += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvMaster_CellValueChanged);
             // 
-            // label3
-            // 
-            this.label3.BackColor = System.Drawing.Color.White;
-            this.label3.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-            this.label3.Font = new System.Drawing.Font("Century", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-            this.label3.ForeColor = System.Drawing.Color.Black;
-            this.label3.Location = new System.Drawing.Point(896, 48);
-            this.label3.Name = "label3";
-            this.label3.Size = new System.Drawing.Size(160, 25);
-            this.label3.TabIndex = 16;
-            this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
-            // 
-            // label6
-            // 
-            this.label6.BackColor = System.Drawing.Color.PeachPuff;
-            this.label6.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-            this.label6.ForeColor = System.Drawing.Color.Black;
-            this.label6.Location = new System.Drawing.Point(774, 48);
-            this.label6.Name = "label6";
-            this.label6.Size = new System.Drawing.Size(114, 25);
-            this.label6.TabIndex = 18;
-            this.label6.Text = "è«‹æ±‚é‡‘é¡�";
-            this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
-            // 
-            // label7
-            // 
-            this.label7.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-            this.label7.BackColor = System.Drawing.Color.Black;
-            this.label7.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-            this.label7.ForeColor = System.Drawing.Color.PeachPuff;
-            this.label7.Location = new System.Drawing.Point(8, 81);
-            this.label7.Name = "label7";
-            this.label7.Size = new System.Drawing.Size(114, 25);
-            this.label7.TabIndex = 39;
-            this.label7.Text = "éƒµã€€é€�ã€€æ—¥";
-            this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
-            // 
-            // textBox1
-            // 
-            this.textBox1.Font = new System.Drawing.Font("Century", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-            this.textBox1.Location = new System.Drawing.Point(130, 80);
-            this.textBox1.Name = "textBox1";
-            this.textBox1.Size = new System.Drawing.Size(120, 26);
-            this.textBox1.TabIndex = 41;
-            // 
             // Column1
             // 
             dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
@@ -376,7 +368,7 @@
             this.Column4.ReadOnly = true;
             this.Column4.Resizable = System.Windows.Forms.DataGridViewTriState.False;
             this.Column4.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
-            this.Column4.Width = 540;
+            this.Column4.Width = 900;
             // 
             // Column2
             // 
@@ -402,46 +394,12 @@
             // 
             // Column5
             // 
-            dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
-            this.Column5.DefaultCellStyle = dataGridViewCellStyle7;
-            this.Column5.Frozen = true;
-            this.Column5.HeaderText = "éƒµé€�æ—¥";
+            this.Column5.HeaderText = "å·¥äº‹ç•ªå�·";
             this.Column5.Name = "Column5";
             this.Column5.ReadOnly = true;
-            this.Column5.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
-            this.Column5.Width = 120;
+            this.Column5.Visible = false;
+            this.Column5.Width = 5;
             // 
-            // Column9
-            // 
-            dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
-            this.Column9.DefaultCellStyle = dataGridViewCellStyle8;
-            this.Column9.Frozen = true;
-            this.Column9.HeaderText = "è¿”é€�æ—¥";
-            this.Column9.Name = "Column9";
-            this.Column9.ReadOnly = true;
-            this.Column9.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
-            this.Column9.Width = 120;
-            // 
-            // Column11
-            // 
-            dataGridViewCellStyle9.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
-            this.Column11.DefaultCellStyle = dataGridViewCellStyle9;
-            this.Column11.Frozen = true;
-            this.Column11.HeaderText = "è¿”é€�ç¢ºèª�æ—¥";
-            this.Column11.Name = "Column11";
-            this.Column11.ReadOnly = true;
-            this.Column11.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
-            this.Column11.Width = 120;
-            // 
-            // Column12
-            // 
-            this.Column12.Frozen = true;
-            this.Column12.HeaderText = "å¤‰æ›´ãƒ•ãƒ©ã‚°";
-            this.Column12.Name = "Column12";
-            this.Column12.ReadOnly = true;
-            this.Column12.Visible = false;
-            this.Column12.Width = 5;
-            // 
             // FrmBillingStatInput
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
@@ -448,7 +406,7 @@
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
             this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
             this.BackColor = System.Drawing.Color.Black;
-            this.ClientSize = new System.Drawing.Size(1260, 582);
+            this.ClientSize = new System.Drawing.Size(1260, 557);
             this.Controls.Add(this.btnDataEntry);
             this.Controls.Add(this.groupBox1);
             this.Controls.Add(this.label1);
@@ -482,16 +440,16 @@
         private System.Windows.Forms.Label lblLabel02;
         private System.Windows.Forms.Label lblLabel01;
         private System.Windows.Forms.Label label5;
-        private System.Windows.Forms.Label lblLabel05;
+        private System.Windows.Forms.Label lblLabel04;
         private System.Windows.Forms.Label label2;
         private System.Windows.Forms.Label lblLabel03;
         private System.Windows.Forms.Label label4;
-        private System.Windows.Forms.Label lblLabel04;
+        private System.Windows.Forms.Label lblLabel05;
         private System.Windows.Forms.Button btnDataEntry;
         private System.Windows.Forms.TextBox textBox1;
         private System.Windows.Forms.Label label7;
         private System.Windows.Forms.Label label6;
-        private System.Windows.Forms.Label label3;
+        private System.Windows.Forms.Label lblLabel06;
         private System.Windows.Forms.DataGridViewTextBoxColumn Column1;
         private System.Windows.Forms.DataGridViewTextBoxColumn Column3;
         private System.Windows.Forms.DataGridViewTextBoxColumn Column4;
@@ -498,8 +456,5 @@
         private System.Windows.Forms.DataGridViewTextBoxColumn Column2;
         private System.Windows.Forms.DataGridViewTextBoxColumn Column8;
         private System.Windows.Forms.DataGridViewTextBoxColumn Column5;
-        private System.Windows.Forms.DataGridViewTextBoxColumn Column9;
-        private System.Windows.Forms.DataGridViewTextBoxColumn Column11;
-        private System.Windows.Forms.DataGridViewTextBoxColumn Column12;
     }
 }
\ No newline at end of file
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ReqBillingStatInput/FrmBillingStatInput.resx
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ReqBillingStatInput/FrmBillingStatInput.resx	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ReqBillingStatInput/FrmBillingStatInput.resx	(revision 217)
@@ -135,13 +135,4 @@
   <metadata name="Column5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
-  <metadata name="Column9.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </metadata>
-  <metadata name="Column11.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </metadata>
-  <metadata name="Column12.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </metadata>
 </root>
\ No newline at end of file
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ReqBillingStatInput/FrmBillingStatInputAuxiliary.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ReqBillingStatInput/FrmBillingStatInputAuxiliary.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ReqBillingStatInput/FrmBillingStatInputAuxiliary.cs	(revision 217)
@@ -115,33 +115,6 @@
         }
         #endregion
 
-        #region �HŽ–�î•ñŽæ“¾�ˆ—�
-        /// <summary>
-        /// �HŽ–�î•ñŽæ“¾
-        /// </summary>
-        /// <returns></returns>
-        private bool GetBaseInfoData()
-        {
-            IOConstructionBaseInfo cbDB = new IOConstructionBaseInfo();
-            try
-            {
-                string strSQL = cbDB.CreatePrimarykeyString(m_ConstructionCode);
-                if (!cbDB.SelectAction(strSQL, ref m_ConstructionBaseInfo)) return false;
-
-                return true;
-            }
-            catch (Exception ex)
-            {
-                logger.ErrorFormat("ƒVƒXƒeƒ€ƒGƒ‰�[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
-                return false;
-            }
-            finally
-            {
-                cbDB.close(); cbDB = null;
-            }
-        }
-        #endregion
-
         #region ƒf�[ƒ^•\Ž¦�ˆ—�
         /// <summary>
         /// �‰ŠúŽžƒf�[ƒ^Žæ“¾
@@ -148,46 +121,61 @@
         /// </summary>
         private void InitDataLoad()
         {
+            IOInvoiceData InvoiceDB = new IOInvoiceData();
+            DataGridView dgv = dgvMaster;
             try
             {
-                // ƒwƒbƒ_�[•\Ž¦
-                DispHeader();
-                // ƒf�[ƒ^•\Ž¦
-                DispDetail();
+                StringBuilder strSQL = new StringBuilder();
 
-                m_DataChangeFlg = false;
-            }
-            catch (Exception ex)
-            {
-                logger.ErrorFormat("ƒVƒXƒeƒ€ƒGƒ‰�[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
-            }
-        }
-        #endregion
+                strSQL.Append("select * from");
+                strSQL.Append(" invoicedata as A");
+                strSQL.Append(" LEFT JOIN requesthead as B ON B.INVOICENO = A.INVOICENO");
+                strSQL.Append(" LEFT JOIN processapproval as C");
+                strSQL.Append(" ON C.ConstructionCode = B.REQCONSTRUCTIONCODE");
+                strSQL.AppendFormat(" AND C.ApprovalCode = {0}", (int)ClsExcute.ApprovalListNo.OrderBillingApproval);
+	            strSQL.Append(" AND C.OrderNo= B.ORDERNO ");
+                strSQL.Append(" AND C.SeqNo = 1");
 
-        #region ƒwƒbƒ_�[•\Ž¦
-        /// <summary>
-        /// ƒwƒbƒ_�[•\Ž¦
-        /// </summary>
-        private void DispHeader()
-        {
-            IOConstructionBaseInfoDetail DetailDB = new IOConstructionBaseInfoDetail();
-            IOMPersonInCharge PersonDB = new IOMPersonInCharge();
-            try
-            {
-                string strSQL = DetailDB.CreatePrimarykeyString(m_ConstructionCode, (int)ConstructionBaseInfoDetail.DetailDataNo.ConstructionName);
-                ConstructionBaseInfoDetail DetailRec = new ConstructionBaseInfoDetail();
-                DetailDB.SelectAction(strSQL, ref DetailRec);
+                strSQL.Append(" LEFT JOIN requestorderdate as D");
+                strSQL.Append(" ON D.ConstructionCode = B.REQCONSTRUCTIONCODE AND D.InvoiceNo = B.INVOICENO");
+                strSQL.Append(" where");
+                strSQL.AppendFormat(" A.INVOICENO = {0}", m_InvoiceNo);
+                strSQL.Append(" ORDER BY A.INVOICENO DESC, B.REQUESTNO DESC");
 
-                strSQL = PersonDB.CreatePrimarykeyString(m_ConstructionBaseInfo.ConstructionPersonCode);
-                PersonInChargeMaster PersonRec = new PersonInChargeMaster();
-                PersonDB.SelectAction(strSQL, ref PersonRec);
+                ArrayList ArList = new ArrayList();
+                InvoiceDB.ExecuteReader(strSQL.ToString(), ref ArList);
 
-                lblLabel01.Text = CommonMotions.cnvStringCodeFromInt(m_ConstructionCode, "-", 8);
-                lblLabel02.Text = DetailRec.DetailString;
-                lblLabel03.Text = CommonDefine.ProjectsStatus[m_ConstructionBaseInfo.ConstructionStatusFlg];
-                lblLabel04.Text = string.Format("{0}‰ñ–Ú", m_OrderNo);
-                lblLabel05.Text = PersonRec.PersonName;
+                bool bFirst = true;
+                InvoiceData InvoiceRec = new InvoiceData();
+                int ino = 1;
+                long TotalVal = 0;
+                long TaxVal = 0;
 
+                int InvoiceCnt = Enum.GetNames(typeof(IOInvoiceData.NameColumn)).Length;
+                int ReqHeadCnt = Enum.GetNames(typeof(IORequestHead.NameColumn)).Length;
+                int ApprovalCnt = Enum.GetNames(typeof(IOProcessApproval.ColumnName)).Length;
+                DateTime dtSend = DateTime.MinValue;
+                foreach (object[] objRec in ArList)
+                {
+                    InvoiceDB.Reader2Struct(objRec, ref InvoiceRec);
+                    if (bFirst)
+                    {
+                        int SendDateCnt = InvoiceCnt + ReqHeadCnt + ApprovalCnt + (int)IORequestOrderDate.TableColumn.SendDate;
+                        dtSend = CommonMotions.cnvDate(objRec[SendDateCnt]);
+                        SetHeaderData(InvoiceRec, dtSend);
+                        bFirst = false;
+                    }
+
+                    TotalVal = CommonMotions.cnvInt(objRec[InvoiceCnt + (int)IORequestHead.NameColumn.RequestTotalAmount]);
+                    TaxVal = CommonMotions.cnvInt(objRec[InvoiceCnt + (int)IORequestHead.NameColumn.TaxAmount]);
+                    dgv.Rows.Add(ino++,
+                                    CommonMotions.cnvInt(objRec[InvoiceCnt + (int)IORequestHead.NameColumn.RequestNo]),
+                                    CommonMotions.cnvString(objRec[InvoiceCnt + (int)IORequestHead.NameColumn.ReqConstructionName]),
+                                    (TotalVal - TaxVal).ToString("0,0"),
+                                    CommonMotions.cnvDate(objRec[InvoiceCnt + ReqHeadCnt + (int)IOProcessApproval.ColumnName.PetitionApprovalDate]).ToShortDateString(),
+                                    CommonMotions.cnvInt(objRec[InvoiceCnt + (int)IORequestHead.NameColumn.ReqConstructionCode])
+                        );
+                }
             }
             catch (Exception ex)
             {
@@ -195,87 +183,39 @@
             }
             finally
             {
-                DetailDB.close(); DetailDB = null;
+                InvoiceDB.close(); InvoiceDB = null;
+                if (dgv.RowCount < 35) dgv.RowCount += 35 - dgv.RowCount;
             }
         }
         #endregion
 
-        #region ƒf�[ƒ^•\Ž¦
+        #region ƒwƒbƒ_�[ƒZƒbƒg
         /// <summary>
-        /// ƒf�[ƒ^•\Ž¦
+        /// ƒwƒbƒ_�[ƒZƒbƒg
         /// </summary>
-        private void DispDetail()
+        /// <param name="objRec"></param>
+        private void SetHeaderData(InvoiceData HeaderRec, DateTime dtSend)
         {
-            IOPurchaseOrder OrderDB = new IOPurchaseOrder();
-            DataGridView dgv = dgvMaster;
             try
             {
-                string strSQL = "select";
-                strSQL += " A.SeqNo,";
-                strSQL += " A.CompanyCode,";
-                strSQL += " C.CompanyName,";
-                strSQL += " A.OrderPrice,";
-                strSQL += " DATE_FORMAT(A.PrintoutDate,'%Y/%m/%d') AS PDate,";
-                strSQL += " DATE_FORMAT(B.SendDate,'%Y/%m/%d') AS SDate,";
-                strSQL += " DATE_FORMAT(B.ReturnDate,'%Y/%m/%d') AS RDate,";
-                strSQL += " DATE_FORMAT(B.ReturnCheckDate,'%Y/%m/%d') AS RCDate";
-                strSQL += " from purchaseorder AS A";
-                strSQL += " LEFT JOIN purchaseorderdate AS B ON B.ConstructionCode = A.ConstructionCode AND B.CompanyCode = A.CompanyCode,";
-                strSQL += " subcontractormaster AS C";
-                strSQL += string.Format(" where A.ConstructionCode = {0}", m_ConstructionCode);
-                strSQL += " and A.SeqNo in (select A1.LinkCode From processapprovaldetail A1";
-                strSQL += string.Format(" WHERE A1.ConstructionCode = {0} AND A1.ApprovalCode = {1} AND A1.OrderNo = {2})",
-                                        m_ConstructionCode,
-                                        (int)ClsExcute.ApprovalListNo.PurchaseOrderEntryApproval,
-                                        m_OrderNo);
-                strSQL += " AND C.CompanyCode = A.CompanyCode";
-                strSQL += " order by A.SeqNo ASC";
+                lblLabel01.Text = HeaderRec.InvoiceNo.ToString();
+                lblLabel02.Text = HeaderRec.RequestName;
+                int CalYear = CommonMotions.cnvTruncate((double)(HeaderRec.RequestMonth / 100.0));
+                int CalMonth = HeaderRec.RequestMonth - (CalYear * 100);
+                lblLabel03.Text = string.Format("{0}/{1}", CalYear, CalMonth.ToString("00"));
+                lblLabel04.Text = HeaderRec.CretateDate.ToShortDateString();
+                lblLabel05.Text = HeaderRec.RequestDate.ToShortDateString();
+                lblLabel06.Text = (HeaderRec.TotalAmount - HeaderRec.TaxAmount).ToString("0,0");
 
-                ArrayList ArList = new ArrayList();
-                OrderDB.ExecuteReader(strSQL, ref ArList);
+                textBox1.Text = "";
+                if (dtSend.Date == DateTime.MinValue) return;
 
-                int no = 1;
-                string[] DateArray = new string[4];
-
-                foreach (object[] objRec in ArList)
-                {
-                    Array.Clear(DateArray, 0, DateArray.Length);
-                    if (CommonMotions.cnvDate(objRec[4]) != DateTime.MinValue) DateArray[0] = CommonMotions.cnvDate(objRec[4]).ToShortDateString();
-                    if (CommonMotions.cnvDate(objRec[5]) != DateTime.MinValue) DateArray[1] = CommonMotions.cnvDate(objRec[5]).ToShortDateString();
-                    if (CommonMotions.cnvDate(objRec[6]) != DateTime.MinValue) DateArray[2] = CommonMotions.cnvDate(objRec[6]).ToShortDateString();
-                    if (CommonMotions.cnvDate(objRec[7]) != DateTime.MinValue) DateArray[3] = CommonMotions.cnvDate(objRec[7]).ToShortDateString();
-
-                    int CreateRow = dgv.Rows.Add(no++,
-                                                    objRec[0],
-                                                    objRec[1],
-                                                    CommonMotions.cnvString(objRec[2]),
-                                                    CommonMotions.cnvInt(objRec[3]).ToString("#,0"),
-                                                    DateArray[0],
-                                                    DateArray[1],
-                                                    DateArray[2],
-                                                    DateArray[3],
-                                                    0
-                                                    );
-                }
+                textBox1.Text = dtSend.ToShortDateString();
             }
             catch (Exception ex)
             {
                 logger.ErrorFormat("ƒVƒXƒeƒ€ƒGƒ‰�[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
             }
-            finally
-            {
-                OrderDB.close(); OrderDB = null;
-                if (dgv.RowCount < 35) dgv.RowCount += 35 - dgv.RowCount;
-                foreach (DataGridViewRow CurRow in dgv.Rows)
-                {
-                    if (CommonMotions.cnvString(CurRow.Cells[(int)DispColumn.CompanyName].Value).Length != 0)
-                    {
-                        CurRow.Cells[(int)DispColumn.MailingDate].ReadOnly = false;
-                        CurRow.Cells[(int)DispColumn.ReturnDate].ReadOnly = false;
-                        CurRow.Cells[(int)DispColumn.ReturnCheckDate].ReadOnly = false;
-                    }
-                }
-            }
         }
         #endregion
 
@@ -286,51 +226,32 @@
         /// <returns></returns>
         private bool DataEntryProcess()
         {
-            IOPurchaseOrderDate OrderDateDB = new IOPurchaseOrderDate();
+            IORequestOrderDate OrderDateDB = new IORequestOrderDate();
             try
             {
-                OrderDateDB.connect(); OrderDateDB.beginTran();
                 DataGridView dgv = dgvMaster;
 
-                foreach (DataGridViewRow wrkRow in dgv.Rows)
-                {
-                    // –¾�×ƒ`ƒFƒbƒN
-                    if (CommonMotions.chkObjectIsNull(wrkRow.Cells[(int)DispColumn.CompanyName].Value)) continue;
-                    if (CommonMotions.cnvString(wrkRow.Cells[(int)DispColumn.CompanyName].Value).Length == 0) continue;
+                StringBuilder strSQL = new StringBuilder();
 
-                    // •Ï�X‚È‚µ‚Í�ˆ—�‚µ‚È‚¢
-                    if (CommonMotions.cnvInt(wrkRow.Cells[(int)DispColumn.DataChangeFlg].Value) == 0) continue;
+                OrderDateDB.connect(); OrderDateDB.beginTran();
 
-                    PurchaseOrderDate OrderDateRec = new PurchaseOrderDate();
-                    OrderDateRec.ConstructionCode = m_ConstructionCode;
-                    OrderDateRec.SeqNo = CommonMotions.cnvInt(wrkRow.Cells[(int)DispColumn.SeqNo].Value);
+                int ConstrCode = 0;
+                DateTime dtSend = CommonMotions.cnvDate(textBox1.Text);
+                foreach (DataGridViewRow CurRow in dgv.Rows)
+                {
+                    ConstrCode = CommonMotions.cnvInt(CurRow.Cells[(int)DispColumn.ConstrCode].Value);
 
-                    // ƒf�[ƒ^‘¶�ÝŠm”F
-                    bool bUpdate = false;
-                    string strSQL = OrderDateDB.CreatePrimarykeyString(OrderDateRec.ConstructionCode, OrderDateRec.SeqNo);
-                    if (OrderDateDB.SelectAction(strSQL, ref OrderDateRec)) bUpdate = true;
-                    else bUpdate = false;
+                    if (ConstrCode == 0) continue;
+                    strSQL.Clear();
+                    strSQL.Append(OrderDateDB.CreatePrimarykeyString(ConstrCode, m_InvoiceNo));
+                    RequestOrderDate OrderRec = new RequestOrderDate();
+                    bool bExists = OrderDateDB.SelectAction(strSQL.ToString(), ref OrderRec, false);
 
-                    // ƒf�[ƒ^ƒZƒbƒg
-                    OrderDateRec.CompanyCode = CommonMotions.cnvInt(wrkRow.Cells[(int)DispColumn.CompanyCode].Value);
-                    if (CommonMotions.cnvDate(wrkRow.Cells[(int)DispColumn.MailingDate].Value) != DateTime.MinValue)
+                    if (bExists)
                     {
-                        OrderDateRec.SendDate = CommonMotions.cnvDate(wrkRow.Cells[(int)DispColumn.MailingDate].Value);
-                    }
-                    if (CommonMotions.cnvDate(wrkRow.Cells[(int)DispColumn.ReturnDate].Value) != DateTime.MinValue)
-                    {
-                        OrderDateRec.ReturnDate = CommonMotions.cnvDate(wrkRow.Cells[(int)DispColumn.ReturnDate].Value);
-                    }
-                    if (CommonMotions.cnvDate(wrkRow.Cells[(int)DispColumn.ReturnCheckDate].Value) != DateTime.MinValue)
-                    {
-                        OrderDateRec.ReturnCheckDate = CommonMotions.cnvDate(wrkRow.Cells[(int)DispColumn.ReturnCheckDate].Value);
-                    }
-
-                    if (bUpdate)
-                    {
-                        if (!OrderDateDB.UpdateAction(strSQL, OrderDateRec))
+                        if (!OrderDateDB.UpdateFeild(ConstrCode, (int)IORequestOrderDate.TableColumn.SendDate, dtSend, false, m_InvoiceNo))
                         {
-                            MessageBox.Show("�HŽ–�Ú�×‘ä’ ƒf�[ƒ^�F�X�V‚ÉŽ¸”s‚µ‚Ü‚µ‚½�B", "“o˜^ƒGƒ‰�[", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                            MessageBox.Show("�¿‹��‘“ú•tƒf�[ƒ^�X�VƒGƒ‰�[", "�X�VƒGƒ‰�[", MessageBoxButtons.OK, MessageBoxIcon.Error);
                             OrderDateDB.rollback();
                             return false;
                         }
@@ -337,9 +258,12 @@
                     }
                     else
                     {
-                        if (!OrderDateDB.InsertAction(OrderDateRec))
+                        OrderRec.ConstructionCode = ConstrCode;     // �HŽ–”Ô�†
+                        OrderRec.InvoiceNo = m_InvoiceNo;	        // �¿‹��‘No
+                        OrderRec.SendDate = dtSend;                 // �¿‹��‘”­‹‹—X‘—“ú
+                        if (!OrderDateDB.InsertAction(OrderRec, false))
                         {
-                            MessageBox.Show("�HŽ–�Ú�×‘ä’ ƒf�[ƒ^�F“o˜^‚ÉŽ¸”s‚µ‚Ü‚µ‚½�B", "“o˜^ƒGƒ‰�[", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                            MessageBox.Show("�¿‹��‘“ú•tƒf�[ƒ^�ì�¬ƒGƒ‰�[", "�ì�¬ƒGƒ‰�[", MessageBoxButtons.OK, MessageBoxIcon.Error);
                             OrderDateDB.rollback();
                             return false;
                         }
@@ -346,7 +270,6 @@
                     }
                 }
 
-                OrderDateDB.commit();
                 return true;
             }
             catch (Exception ex)
@@ -356,87 +279,12 @@
             }
             finally
             {
+                OrderDateDB.commit();
                 OrderDateDB.close(); OrderDateDB = null;
             }
         }
         #endregion
 
-        #region ‰æ–Ê�€–Ú‚Ìƒ`ƒFƒbƒN
-        /// <summary>
-        /// ‰æ–Ê�€–Ú‚Ìƒ`ƒFƒbƒN
-        /// </summary>
-        /// <returns></returns>
-        private bool DispFeildCheck()
-        {
-            try
-            {
-                DataGridView dgv = dgvMaster;
-
-                bool bRet = true;
-                bool bAns = true;
-                int ErrorRowl = 0;
-
-                // –¾�×ƒ`ƒFƒbƒN
-                string workCell = string.Empty;
-                foreach (DataGridViewRow wrkRow in dgv.Rows)
-                {
-                    // –¾�×ƒ`ƒFƒbƒN
-                    if (CommonMotions.chkObjectIsNull(wrkRow.Cells[(int)DispColumn.CompanyName].Value)) continue;
-                    if (CommonMotions.cnvString(wrkRow.Cells[(int)DispColumn.CompanyName].Value).Length == 0) continue;
-
-                    // —X‘—“úƒ`ƒFƒbƒN
-                    bAns = true; ;
-                    workCell = CommonMotions.cnvString(wrkRow.Cells[(int)DispColumn.MailingDate].Value);
-                    if (workCell.Length != 0)
-                    {
-                        bAns = CommonMotions.chkDate(workCell);                                             // “ú•tƒ`ƒFƒbƒN
-                        CommonMotions.chgBackColor(workCell, bAns);                                         // ”wŒi�F•Ï�X
-                        if (!bAns) ErrorRowl = wrkRow.Index;
-                    }
-                    bRet &= bAns;
-
-                    // •Ô‘—“úƒ`ƒFƒbƒN
-                    bAns = true; ;
-                    workCell = CommonMotions.cnvString(wrkRow.Cells[(int)DispColumn.ReturnDate].Value);
-                    if (workCell.Length != 0)
-                    {
-                        bAns = CommonMotions.chkDate(workCell);                                             // “ú•tƒ`ƒFƒbƒN
-                        CommonMotions.chgBackColor(workCell, bAns);                                         // ”wŒi�F•Ï�X
-                        if (!bAns) ErrorRowl = wrkRow.Index;
-                    }
-                    bRet &= bAns;
-
-                    // •Ô‘—Šm”F“úƒ`ƒFƒbƒN
-                    bAns = true; ;
-                    workCell = CommonMotions.cnvString(wrkRow.Cells[(int)DispColumn.ReturnCheckDate].Value);
-                    if (workCell.Length != 0)
-                    {
-                        bAns = CommonMotions.chkDate(workCell);                                             // “ú•tƒ`ƒFƒbƒN
-                        CommonMotions.chgBackColor(workCell, bAns);                                         // ”wŒi�F•Ï�X
-                        if (!bAns) ErrorRowl = wrkRow.Index;
-                    }
-                    bRet &= bAns;
-                }
-
-                if (!bRet)
-                {
-                    MessageBox.Show("“ü—ÍƒGƒ‰�[‚ª‚ ‚è‚Ü‚·�AŠm”F‚µ‚Ä‚­‚¾‚³‚¢�B", "ƒf�[ƒ^Šm”F", MessageBoxButtons.OK, MessageBoxIcon.Warning);
-                    return false;
-                }
-
-                // �ÅŒã‚ÌƒGƒ‰�[�s‚ÖˆÚ“®‚·‚é
-                dgv.FirstDisplayedScrollingRowIndex = ErrorRowl;
-
-                return true;
-            }
-            catch (System.Exception ex)
-            {
-                logger.ErrorFormat("ƒVƒXƒeƒ€ƒGƒ‰�[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
-                return false;
-            }
-        }
-        #endregion
-
         #region ”NŒŽ“ú“ü—ÍŒã�ˆ—�
         /// <summary>
         /// ”NŒŽ“ú“ü—ÍŒã�ˆ—�
@@ -443,16 +291,16 @@
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
-        private void txtInputDate_TextChanged(DataGridViewCell sender)
+        private void txtInputDate_TextChanged(Control sender)
         {
             if (ActiveControl == btnEnd) return;
 
             try
             {
-                if (CommonMotions.chkObjectIsNull(sender)) return;
-                if (CommonMotions.cnvString(sender.Value).Length == 0) return;
+                if (CommonMotions.chkObjectIsNull(sender.Text)) return;
+                if (CommonMotions.cnvString(sender.Text).Length == 0) return;
 
-                string strTxt = CommonMotions.cnvString(sender.Value);
+                string strTxt = sender.Text;
                 // •¶Žš‚Ì�oŒ»‰ñ�”ƒJƒEƒ“ƒg
                 if (CommonMotions.chkNumeric(strTxt))
                 {   // �”Žš‚Ì‚Ý“ü—Í
@@ -474,13 +322,17 @@
                     }
                 }
 
-                if (!CommonMotions.chkDate(strTxt.ToString())) return;
+                if (!CommonMotions.chkDate(strTxt.ToString()))
+                {
+                    MessageBox.Show("“ú•t‚ÉŒë‚è‚ª‚ ‚è‚Ü‚·�B", "“ü—ÍƒGƒ‰�[", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                    return;
+                }
 
-                sender.Value = DateTime.Parse(strTxt.ToString()).ToShortDateString();
+                sender.Text = DateTime.Parse(strTxt.ToString()).ToShortDateString();
             }
             catch (Exception ex)
             {
-                sender.Value = "";
+                sender.Text = "";
                 logger.ErrorFormat("ƒVƒXƒeƒ€ƒGƒ‰�[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
             }
             finally
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ReqbillingStatus/FrmReqBillingStatus.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ReqbillingStatus/FrmReqBillingStatus.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ReqbillingStatus/FrmReqBillingStatus.cs	(revision 217)
@@ -50,6 +50,7 @@
             PrintOutDate,
             MailingDate,
             OrderNo,
+            InvoiceNo,
         }
         #endregion
 
@@ -230,10 +231,11 @@
             if (e.RowIndex < 0) return;
             // ƒf�[ƒ^‚ª‚È‚¢�ê�‡‚Í”²‚¯‚é
             if (dgvMaster.RowCount == 0) return;
-            if (CommonMotions.chkCellBlank(dgvMaster.CurrentRow.Cells[(int)DispColumn.OrdersName].Value)) return;
+            if (CommonMotions.chkCellBlank(dgvMaster.CurrentRow.Cells[(int)DispColumn.InvoiceNo].Value)) return;
 
             // Še�ˆ—�‹N“®
-            SubProcessExecute(CommonMotions.cnvIntFromStringCode(dgvMaster.CurrentRow.Cells[(int)DispColumn.ConstructionCode].Value.ToString(), "-"));
+            int InvoiceNo = CommonMotions.cnvInt(dgvMaster.CurrentRow.Cells[(int)DispColumn.InvoiceNo].Value);
+            SubProcessExecute(InvoiceNo);
         }
         #endregion
 
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ReqbillingStatus/FrmReqBillingStatusAuxiliary.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ReqbillingStatus/FrmReqBillingStatusAuxiliary.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ReqbillingStatus/FrmReqBillingStatusAuxiliary.cs	(revision 217)
@@ -52,11 +52,13 @@
         /// ˆê——‚æ‚è‹N“®‚·‚éƒvƒ�ƒZƒX‘I‘ð�ˆ—�
         /// </summary>
         /// <param name="para_ConstructionCode"></param>
-        private void SubProcessExecute(int para_ConstructionCode = 0)
+        private void SubProcessExecute(int InvoiceNo = 0)
         {
             IOConstructionBaseInfo cbiDB = new IOConstructionBaseInfo();
             try
             {
+                if (InvoiceNo == 0) return;
+
                 DataGridView dgv = dgvMaster;
 
                 int NowPoint = ClsExcute.GetNowProcessPoint();
@@ -89,8 +91,7 @@
                 // ŽŸ‹N“®ƒvƒ�ƒZƒXƒZƒbƒg
                 NowPoint = ClsExcute.NextProcess(m_ExecuteFlg);
                 // ‘I‘ð�HŽ–”Ô�†ƒZƒbƒg
-                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(para_ConstructionCode);
-                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(CommonMotions.cnvInt(dgv.Rows[CurrentIndex].Cells[(int)DispColumn.OrderNo].Value));
+                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(InvoiceNo);
                 // ’¼�Úƒtƒ‰ƒO
                 ClsExcute.ProcControlPara[NowPoint].BoolExecParameter.Add(true);
 
@@ -125,6 +126,9 @@
                 int Only = (int)CommonDefine.SecurityRangePos.Only;                 // Ž©•”��‚Ì‚Ý
                 int None = (int)CommonDefine.SecurityRangePos.None;                 // Ž©’S“–ŽÒ‚Ì‚Ý
 
+                int iStatus = CommonDefine.ProjectsStatus.First(x => x.Value.Equals("Œ©�Ï’ñ�o")).Key;
+                int iStatus2 = CommonDefine.ProjectsStatus.First(x => x.Value.Equals("•”��ˆøŒp")).Key;
+
                 // ƒf�[ƒ^ƒAƒNƒZƒX‚ÉŒ ŒÀ‚É‚æ‚è�§ŒÀ‚ª‚ ‚é
                 if (CommonMotions.LoginUserData.PersonCode == CommonDefine.AdminCode
                 || CommonMotions.LoginUserSecurity.SecRange == CommonDefine.SecurityRangeList[AllPath].Key)
@@ -136,41 +140,36 @@
                 {
                     // ˆê•”�§ŒÀ—L
                     // ‹@–§ŠÇ—�ŽÒ�iŽ©•”��‚Ì‚Ý�j
-                    int iStatus = CommonDefine.ProjectsStatus.First(x => x.Value.Equals("Œ©�Ï’ñ�o")).Key;
-                    int iStatus2 = CommonDefine.ProjectsStatus.First(x => x.Value.Equals("•”��ˆøŒp")).Key;
-
-                    strSQL.Append(" And (A.SalesPersonCode IN (Select A1.PersonCode From PersonInChargeMaster A1");
+                    strSQL.Append(" And (B.SalesPersonCode IN (Select A1.PersonCode From PersonInChargeMaster A1");
                     strSQL.AppendFormat(" Where A1.DepartmentCode IN (SELECT A2.DEPARTMENTCODE FROM PERSONDEPARTMENTMASTER A2 WHERE A2.PERSONCODE = {0}))", CommonMotions.LoginUserData.PersonCode);
 
-                    strSQL.AppendFormat(" Or (A.ConstructionStatusFlg >= {0}", iStatus);
+                    strSQL.AppendFormat(" Or (B.ConstructionStatusFlg >= {0}", iStatus);
 
-                    strSQL.Append(" And (A.ConstructionPersonCode IN (Select A3.PersonCode From PersonInChargeMaster A3");
+                    strSQL.Append(" And (B.ConstructionPersonCode IN (Select A3.PersonCode From PersonInChargeMaster A3");
                     strSQL.AppendFormat(" Where A3.DepartmentCode IN (SELECT A4.DEPARTMENTCODE FROM PERSONDEPARTMENTMASTER A4 WHERE A4.PERSONCODE = {0}))", CommonMotions.LoginUserData.PersonCode);
 
-                    strSQL.Append(" Or A.CONSTRSUBPERSONCODE IN (Select A5.PersonCode From PersonInChargeMaster A5");
+                    strSQL.Append(" Or B.CONSTRSUBPERSONCODE IN (Select A5.PersonCode From PersonInChargeMaster A5");
                     strSQL.AppendFormat(" Where A5.DepartmentCode IN (SELECT A6.DEPARTMENTCODE FROM PERSONDEPARTMENTMASTER A6 WHERE A6.PERSONCODE = {0}))", CommonMotions.LoginUserData.PersonCode);
 
-                    strSQL.Append(" Or A.ConstructionInstructor IN (Select A7.PersonCode From PersonInChargeMaster A7");
+                    strSQL.Append(" Or B.ConstructionInstructor IN (Select A7.PersonCode From PersonInChargeMaster A7");
                     strSQL.AppendFormat(" Where A7.DepartmentCode IN (SELECT A8.DEPARTMENTCODE FROM PERSONDEPARTMENTMASTER A8 WHERE A8.PERSONCODE = {0}))))", CommonMotions.LoginUserData.PersonCode);
 
-                    strSQL.AppendFormat(" Or (A.ConstructionStatusFlg >= {0} And A.ConstructionPersonCode = 0)", iStatus);          // �Š‘®’·‚ÍŒ©�Ï’ñ�oŒã‚Å�HŽ–’S“–ŽÒ‚ª“ü‚Á‚Ä‚¢‚È‚¢�ê�‡•\Ž¦
-                    strSQL.AppendFormat(" Or (A.ConstructionStatusFlg = {0}", iStatus2);                                            // •”��ˆøŒpŽž‚ÍˆøŒp•”��‚Ì‚à‚Ì‚ÍŒ©‚¦‚é
-                    strSQL.AppendFormat(" And A.TransferConstruction = {0}))", CommonMotions.LoginUserData.DepartmentCode);
+                    strSQL.AppendFormat(" Or (B.ConstructionStatusFlg >= {0} And B.ConstructionPersonCode = 0)", iStatus);          // �Š‘®’·‚ÍŒ©�Ï’ñ�oŒã‚Å�HŽ–’S“–ŽÒ‚ª“ü‚Á‚Ä‚¢‚È‚¢�ê�‡•\Ž¦
+                    strSQL.AppendFormat(" Or (B.ConstructionStatusFlg = {0}", iStatus2);                                            // •”��ˆøŒpŽž‚ÍˆøŒp•”��‚Ì‚à‚Ì‚ÍŒ©‚¦‚é
+                    strSQL.AppendFormat(" And B.TransferConstruction = {0}))", CommonMotions.LoginUserData.DepartmentCode);
                 }
                 else if (CommonMotions.LoginUserSecurity.SecRange == CommonDefine.SecurityRangeList[None].Key)
                 {
                     // ˆê”ÊŽg—pŽÒ
-                    int iStatus = CommonDefine.ProjectsStatus.First(x => x.Value.Equals("Œ©�Ï’ñ�o")).Key;
+                    strSQL.AppendFormat(" And (B.SalesPersonCode = {0}", CommonMotions.LoginUserData.PersonCode);
 
-                    strSQL.AppendFormat(" And (A.SalesPersonCode = {0}", CommonMotions.LoginUserData.PersonCode);
+                    strSQL.AppendFormat(" Or (B.ConstructionStatusFlg > {0}", iStatus);
 
-                    strSQL.AppendFormat(" Or (A.ConstructionStatusFlg > {0}", iStatus);
+                    strSQL.AppendFormat(" And (B.ConstructionPersonCode = {0}", CommonMotions.LoginUserData.PersonCode);
 
-                    strSQL.AppendFormat(" And (A.ConstructionPersonCode = {0}", CommonMotions.LoginUserData.PersonCode);
+                    strSQL.AppendFormat(" Or B.CONSTRSUBPERSONCODE = {0}", CommonMotions.LoginUserData.PersonCode);
 
-                    strSQL.AppendFormat(" Or A.CONSTRSUBPERSONCODE = {0}", CommonMotions.LoginUserData.PersonCode);
-
-                    strSQL.AppendFormat(" Or A.ConstructionInstructor = {0})))", CommonMotions.LoginUserData.PersonCode);
+                    strSQL.AppendFormat(" Or B.ConstructionInstructor = {0})))", CommonMotions.LoginUserData.PersonCode);
                 }
             }
             catch (Exception ex)
@@ -253,6 +252,7 @@
             ORDERERSNAME2,
             CONSTRUCTIONNAME,
             REQUESTDATE,
+            TOTALAMOUNT,
             REQUESTAMOUNT,
             MAINCONSTRUCTIONCODE,
             DEPARTMENTCODE,
@@ -274,6 +274,8 @@
             string strSubSQL = "";
             try
             {
+                int nStatus = CommonDefine.ProjectsStatus.First(x => x.Value.Equals("�¿‹��€”õ")).Key;
+                int nNotStatus = CommonDefine.ProjectsStatus.First(x => x.Value.Equals("”ñ Žó ’�")).Key;
                 // �¿‹�‚ª�³”F‚³‚ê‚Ä‚¢‚é‚à‚Ì
                 int ApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals("�¿‹��³”F")).Key;
 
@@ -292,6 +294,7 @@
                 strSQL.Append(", J.DetailString");
                 strSQL.AppendFormat(", DATE_FORMAT(IFNULL(H.REQUESTDATE, '{0}'), '%Y/%m/%d')", DateTime.MinValue);
                 strSQL.Append(", (H.TOTALAMOUNT - H.TAXAMOUNT)");
+                strSQL.Append(", G.REQUESTAMOUNT");
                 strSQL.Append(", A.MAINCONSTRUCTIONCODE");
                 strSQL.Append(", E.DepartmentCode");
                 strSQL.Append(", E.DepartmentString");
@@ -311,7 +314,7 @@
                 strSQL.Append(" LEFT JOIN invoicedata AS H ON H.INVOICENO = G.INVOICENO");
                 strSQL.Append(" LEFT JOIN RequestOrderDate AS I");
                 strSQL.Append(" ON I.ConstructionCode = A.MAINCONSTRUCTIONCODE");
-                strSQL.Append(" AND I.RequestNo = A.REQUESTNO");
+                strSQL.Append(" AND I.INVOICENO = H.INVOICENO");
                 strSQL.Append(" , constructionbaseinfo AS B");
                 strSQL.Append(" LEFT JOIN personinchargemaster AS D ON D.PersonCode = B.ConstructionPersonCode");
                 strSQL.Append(" LEFT JOIN departmentmaster AS E ON E.DepartmentCode = D.DepartmentCode");
@@ -319,7 +322,9 @@
                 strSQL.Append(", constructionbaseinfodetail AS J");
                 strSQL.Append(" WHERE");
                 strSQL.Append(" (B.ConstructionCode = A.MAINCONSTRUCTIONCODE");
-                strSQL.AppendFormat(" AND B.ConstructionPeriod = {0})", numUDConstPro.Value);
+                strSQL.AppendFormat(" AND B.ConstructionPeriod = {0}", numUDConstPro.Value);
+                strSQL.AppendFormat(" AND (B.ConstructionStatusFlg >= {0}", nStatus);
+                strSQL.AppendFormat(" AND B.ConstructionStatusFlg != {0}))", nNotStatus);
                 strSQL.Append(" AND ( C.OrderCotegory = B.OrderersDivision");
                 strSQL.Append(" AND C.OrderersCode = B.OrderersCode)");
                 strSQL.Append(" AND (J.ConstructionCode = B.ConstructionCode");
@@ -335,7 +340,12 @@
                 strSQL.Append(wrkBuff.ToString());
 
                 // ORDER BY ’Ç‰Á
-                strSQL.Append(" ORDER BY C.OrderCotegory ASC, C.OrderersCode ASC, H.INVOICENO DESC, A.REQUESTNO DESC, ApprovalDate DESC, SendDate DESC");
+                strSQL.Append(" ORDER BY C.OrderCotegory ASC");
+                strSQL.Append(" , C.OrderersCode ASC");
+                strSQL.Append(" , H.INVOICENO DESC");
+                strSQL.Append(" , A.REQUESTNO DESC");
+                strSQL.Append(" , ApprovalDate DESC");
+                strSQL.Append(" , SendDate DESC");
             }
             catch (Exception ex)
             {
@@ -366,8 +376,10 @@
                 int BreakConstrCode = 0;
                 int OrderNo = 1;
                 string[] DspDate = new string[3];
-                foreach (object[] objwrk in arData)
+                object[] objwrk;
+                for (int iy = 0; iy < arData.Count; iy++)
                 {
+                    objwrk = (object[])arData[iy];
                     // ”­’��æƒuƒŒƒCƒN�ˆ—�
                     if (BreakOrdererCode == CommonMotions.cnvInt(objwrk[(int)GetData.ORDERERSCODE])
                         && BreakOrdererCotegory == CommonMotions.cnvInt(objwrk[(int)GetData.ORDERERCOTEGORY]))
@@ -380,19 +392,25 @@
                         BreakOrdererCode = CommonMotions.cnvInt(objwrk[(int)GetData.ORDERERSCODE]);
                         BreakOrdererCotegory = CommonMotions.cnvInt(objwrk[(int)GetData.ORDERERCOTEGORY]);
                     }
-                    
+
                     // �HŽ––¼�ÌƒZƒbƒg
                     strConstrName = string.Empty;
                     strConstrName = CommonMotions.cnvString(objwrk[(int)GetData.CONSTRUCTIONNAME]);
                     if (BreakConstrCode != CommonMotions.cnvInt(objwrk[(int)GetData.MAINCONSTRUCTIONCODE]))
                     {
-                        OrderNo = 1;
                         BreakConstrCode = CommonMotions.cnvInt(objwrk[(int)GetData.MAINCONSTRUCTIONCODE]);
                     }
+                    // Žó•t”Ô�†ƒZƒbƒg
+                    OrderNo = CommonMotions.cnvInt(objwrk[(int)GetData.ORDERNO]);
                     if (OrderNo != 1) strConstrName = string.Format("{0} [{1}‰ñ–Ú]", strConstrName, OrderNo);
 
-                    strOrderName = string.Format("{0} {1}", CommonMotions.cnvString(objwrk[(int)GetData.ORDERERSNAME1])
-                                                          , CommonMotions.cnvString(objwrk[(int)GetData.ORDERERSNAME2]));
+                    Array.Clear(DspDate, 0, DspDate.Length);
+                    if (CommonMotions.cnvDate(objwrk[(int)GetData.APPROVALDATE]).Date != DateTime.MinValue.Date)
+                        DspDate[0] = CommonMotions.cnvDate(objwrk[(int)GetData.APPROVALDATE]).ToShortDateString();
+                    if (CommonMotions.cnvDate(objwrk[(int)GetData.REQUESTDATE]).Date != DateTime.MinValue.Date)
+                        DspDate[1] = CommonMotions.cnvDate(objwrk[(int)GetData.REQUESTDATE]).ToShortDateString();
+                    if (CommonMotions.cnvDate(objwrk[(int)GetData.SENDDATE]).Date != DateTime.MinValue.Date)
+                        DspDate[2] = CommonMotions.cnvDate(objwrk[(int)GetData.SENDDATE]).ToShortDateString();
 
                     // �¿‹��‘ƒuƒŒƒCƒN
                     if (BreakInvoiceNo == CommonMotions.cnvInt(objwrk[(int)GetData.INVOICENO]))
@@ -399,6 +417,8 @@
                     {
                         strDspNo = string.Empty;
                         strOrderName = string.Empty;
+                        DspDate[1] = string.Empty;
+                        DspDate[2] = string.Empty;
                     }
                     else
                     {
@@ -405,16 +425,22 @@
                         strDspNo = (ino++).ToString();
                         strOrderName = CommonMotions.cnvString(objwrk[(int)GetData.REQUESTNAME]);
                         BreakInvoiceNo = CommonMotions.cnvInt(objwrk[(int)GetData.INVOICENO]);
+
+                        // ŽŸ‚Ì�s‚à“¯‚¶�¿‹��‘‚Ì�ê�‡‚Íƒwƒbƒ_�s‚ð•\Ž¦‚·‚é
+                        if ((iy + 1) < arData.Count)
+                        {
+                            object[] objNext = (object[])arData[(iy + 1)];
+                            if (CommonMotions.cnvInt(objNext[(int)GetData.INVOICENO]) == BreakInvoiceNo)
+                            {
+                                SetToGridRow(arData, iy, strDspNo);
+                                strDspNo = string.Empty;
+                                strOrderName = string.Empty;
+                                DspDate[1] = string.Empty;
+                                DspDate[2] = string.Empty;
+                            }
+                        }
                     }
 
-                    Array.Clear(DspDate, 0, DspDate.Length);
-                    if (CommonMotions.cnvDate(objwrk[(int)GetData.APPROVALDATE]).Date != DateTime.MinValue.Date)
-                        DspDate[0] = CommonMotions.cnvDate(objwrk[(int)GetData.APPROVALDATE]).ToShortDateString();
-                    if (CommonMotions.cnvDate(objwrk[(int)GetData.REQUESTDATE]).Date != DateTime.MinValue.Date)
-                        DspDate[1] = CommonMotions.cnvDate(objwrk[(int)GetData.REQUESTDATE]).ToShortDateString();
-                    if (CommonMotions.cnvDate(objwrk[(int)GetData.SENDDATE]).Date != DateTime.MinValue.Date)
-                        DspDate[2] = CommonMotions.cnvDate(objwrk[(int)GetData.SENDDATE]).ToShortDateString();
-
                     dgv.Rows.Add(strDspNo
                                         , CommonMotions.cnvString(objwrk[(int)GetData.DEPARTMENTSTRING])
                                         , CommonMotions.cnvString(objwrk[(int)GetData.PERSONNAME])
@@ -428,7 +454,7 @@
                                         , CommonMotions.cnvInt(objwrk[(int)GetData.ORDERNO])
                                         , CommonMotions.cnvInt(objwrk[(int)GetData.INVOICENO])
                                         );
-                    OrderNo++;
+                    //OrderNo++;
                 }
             }
             catch (Exception ex)
@@ -438,6 +464,48 @@
         }
         #endregion
 
+        private void SetToGridRow(ArrayList arData, int RowCount, string strDspNo)
+        {
+            try
+            {
+                DataGridView dgv = dgvMaster;
+
+                // ƒf�[ƒ^•\Ž¦
+                string strOrderName = string.Empty;
+                string[] DspDate = new string[3];
+
+                object[] objwrk = (object[])arData[RowCount];
+
+                Array.Clear(DspDate, 0, DspDate.Length);
+                if (CommonMotions.cnvDate(objwrk[(int)GetData.APPROVALDATE]).Date != DateTime.MinValue.Date)
+                    DspDate[0] = CommonMotions.cnvDate(objwrk[(int)GetData.APPROVALDATE]).ToShortDateString();
+                if (CommonMotions.cnvDate(objwrk[(int)GetData.REQUESTDATE]).Date != DateTime.MinValue.Date)
+                    DspDate[1] = CommonMotions.cnvDate(objwrk[(int)GetData.REQUESTDATE]).ToShortDateString();
+                if (CommonMotions.cnvDate(objwrk[(int)GetData.SENDDATE]).Date != DateTime.MinValue.Date)
+                    DspDate[2] = CommonMotions.cnvDate(objwrk[(int)GetData.SENDDATE]).ToShortDateString();
+
+                strOrderName = CommonMotions.cnvString(objwrk[(int)GetData.REQUESTNAME]);
+
+                dgv.Rows.Add(strDspNo
+                                    , ""
+                                    , ""
+                                    , strOrderName
+                                    , ""
+                                    , CommonMotions.cnvInt(objwrk[(int)GetData.TOTALAMOUNT]).ToString("0,0")
+                                    , CommonMotions.cnvInt(objwrk[(int)GetData.MAINCONSTRUCTIONCODE])
+                                    , ""
+                                    , DspDate[1]
+                                    , DspDate[2]
+                                    , CommonMotions.cnvInt(objwrk[(int)GetData.ORDERNO])
+                                    , CommonMotions.cnvInt(objwrk[(int)GetData.INVOICENO])
+                                    );
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("ƒVƒXƒeƒ€ƒGƒ‰�[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+
         #region ƒf�[ƒ^•\Ž¦�ˆ—�
         /// <summary>
         /// ˆê——ƒf�[ƒ^•\Ž¦�ˆ—�
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestSummaryList/FrmRequestSummaryList.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestSummaryList/FrmRequestSummaryList.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestSummaryList/FrmRequestSummaryList.cs	(revision 217)
@@ -38,7 +38,8 @@
         /// <summary>
         /// Ž©ƒvƒ�ƒZƒX–¼�Ì
         /// </summary>
-        private string[] s_MyProcessName = new string[] { "ŽèŠÔŽx•¥Šm”F�³”F", "‹ÆŽÐŽx•¥Šm”F�³”F" };
+        private string[] s_MyProcessName = new string[] { ClsExcute.AppovalList[(int)ClsExcute.ApprovalListNo.SubConstrPayment],
+                                                            ClsExcute.AppovalList[(int)ClsExcute.ApprovalListNo.FeePayment] };
         #endregion
 
         /// <summary>
@@ -258,12 +259,13 @@
         /// ƒf�[ƒ^’Ç‰Áƒ{ƒ^ƒ“•\Ž¦ƒtƒ‰ƒO
         /// </summary>
         private bool m_DataAddtionButton = false;
-        ///// <summary>
-        ///// �I—¹ƒ{ƒ^ƒ“‰Ÿ‰ºƒtƒ‰ƒO
-        ///// </summary>
-        //private bool m_CloseingProcessOff = false;
 
         /// <summary>
+        /// �I—¹ƒ{ƒ^ƒ“‰Ÿ‰ºƒtƒ‰ƒO
+        /// </summary>
+        private bool m_CloseingProcessOff = false;
+
+        /// <summary>
         /// ŽèŠÔ‹ÆŽÒ‹æ•ª
         /// </summary>
         private int m_Labourkind = 0;
@@ -309,17 +311,29 @@
 
 
         #region ƒvƒ�ƒpƒeƒB
+        #region ŽèŠÔ‹ÆŽÒ‹æ•ª
+        /// <summary>
+        /// ŽèŠÔ‹ÆŽÒ‹æ•ª
+        /// </summary>
         public int Labourkind
         {
             get { return m_Labourkind; }
             set { m_Labourkind = value; }
         }
+        #endregion
 
+        #region ‹N“®ƒtƒ‰ƒO
+        /// <summary>
+        /// ‹N“®ƒtƒ‰ƒO
+        /// </summary>
         public int ExecuteFlg
         {
             get { return m_ExecuteFlg; }
             set { m_ExecuteFlg = value; }
         }
+        #endregion
+
+        #region ƒf�[ƒ^’Ç‰Áƒ{ƒ^ƒ“•\Ž¦
         /// <summary>
         /// ƒf�[ƒ^’Ç‰Áƒ{ƒ^ƒ“•\Ž¦
         /// </summary>
@@ -328,8 +342,23 @@
             get { return m_DataAddtionButton; }
             set { m_DataAddtionButton = value; }
         }
+        #endregion
 
-        // ƒ†�[ƒU�[�î•ñ
+        #region ŽQ�Æƒtƒ‰ƒO
+        /// <summary>
+        /// ŽQ�Æƒtƒ‰ƒO
+        /// </summary>
+        public bool EditLock
+        {
+            get { return m_EditLock; }
+            set { m_EditLock = value; }
+        }
+        #endregion
+
+        #region ƒ†�[ƒU�[�î•ñ
+        /// <summary>
+        /// ƒ†�[ƒU�[�î•ñ
+        /// </summary>
         private ClsSecurityPermission.UserInfo m_UserInfo = new ClsSecurityPermission.UserInfo()
         {
             m_Type = CommonDefine.SecurityRankPos.NormalAuthority,
@@ -337,6 +366,7 @@
             m_SecRange = ClsSecurityPermission.SecRangeType.InCharge
         };
         #endregion
+        #endregion
 
         #region ƒRƒ“ƒXƒgƒ‰ƒNƒ^
         public FrmRequestSummaryList()
@@ -359,17 +389,6 @@
         }
         #endregion
 
-        #region ƒvƒ�ƒpƒeƒB
-        /// <summary>
-        /// ŽQ�Æƒtƒ‰ƒO
-        /// </summary>
-        public bool EditLock
-        {
-            get { return m_EditLock; }
-            set { m_EditLock = value; }
-        }
-        #endregion
-
         #region ƒZƒ‹‚Ì“ü—Í‘O�ˆ—�
         /// <summary>
         /// ƒZƒ‹‚Ì“ü—Í‘O�ˆ—�
@@ -427,7 +446,7 @@
                 }
             }
             // ‘Oƒvƒ�ƒZƒX‚É–ß‚é
-            ClsExcute.BackProcess();
+            if (m_CloseingProcessOff) ClsExcute.BackProcess();
         }
         #endregion
 
@@ -445,6 +464,9 @@
                 m_FrmLedger.Dispose();
                 m_FrmLedger = null;
             }
+
+            m_CloseingProcessOff = true;
+            
             this.Close();
         }
         #endregion
@@ -4290,5 +4312,70 @@
 
         }
         #endregion
+
+        #region �\�¿ƒ{ƒ^ƒ“‰Ÿ‰º
+        /// <summary>
+        /// �\�¿ƒ{ƒ^ƒ“‰Ÿ‰º
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnPetition_Click(object sender, EventArgs e)
+        {
+            // �\�¿ƒ{ƒ^ƒ“‰Ÿ‰º�ˆ—�
+            PetitionProcess();
+        }
+        #endregion
+
+        #region �³”Fƒ{ƒ^ƒ“‰Ÿ‰º
+        /// <summary>
+        /// �³”Fƒ{ƒ^ƒ“‰Ÿ‰º
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnApproval_Click(object sender, EventArgs e)
+        {
+            // �³”Fƒ{ƒ^ƒ“‰Ÿ‰º�ˆ—�
+            ApprovalProcess();
+        }
+        #endregion
+
+        #region �³”Fƒpƒlƒ‹�ipnlApproval�j�³”Fƒ{ƒ^ƒ“
+        /// <summary>
+        /// �³”Fƒpƒlƒ‹�ipnlApproval�j�³”Fƒ{ƒ^ƒ“
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnOnApproval_Click(object sender, EventArgs e)
+        {
+            // �³”Fƒpƒlƒ‹�ipnlApproval�j�³”Fƒ{ƒ^ƒ“ 
+            OnApprovalProcess();
+        }
+        #endregion
+
+        #region �³”Fƒpƒlƒ‹�ipnlApproval�j•Û—¯ƒ{ƒ^ƒ“
+        /// <summary>
+        /// �³”Fƒpƒlƒ‹�ipnlApproval�j•Û—¯ƒ{ƒ^ƒ“
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnOnHold_Click(object sender, EventArgs e)
+        {
+            // �³”Fƒpƒlƒ‹�ipnlApproval�j•Û—¯ƒ{ƒ^ƒ“‰Ÿ‰º�ˆ—�
+            OnHoldProcess();
+        }
+        #endregion
+
+        #region �³”Fƒpƒlƒ‹�ipnlApproval�j•s�³”Fƒ{ƒ^ƒ“
+        /// <summary>
+        /// �³”Fƒpƒlƒ‹�ipnlApproval�j•s�³”Fƒ{ƒ^ƒ“
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnNotApproval_Click(object sender, EventArgs e)
+        {
+            // �³”Fƒpƒlƒ‹�ipnlApproval�j•s�³”Fƒ{ƒ^ƒ“‰Ÿ‰º�ˆ—�
+            NotApprovalProcess();
+        }
+        #endregion
     }
 }
\ No newline at end of file
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestSummaryList/FrmRequestSummaryList.designer.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestSummaryList/FrmRequestSummaryList.designer.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestSummaryList/FrmRequestSummaryList.designer.cs	(revision 217)
@@ -585,6 +585,7 @@
             this.btnPetition.TabIndex = 12;
             this.btnPetition.Text = "æœªç”³è«‹";
             this.btnPetition.UseVisualStyleBackColor = false;
+            this.btnPetition.Click += new System.EventHandler(this.btnPetition_Click);
             // 
             // btnApproval
             // 
@@ -598,6 +599,7 @@
             this.btnApproval.TabIndex = 12;
             this.btnApproval.Text = "æœªæ‰¿èª�";
             this.btnApproval.UseVisualStyleBackColor = false;
+            this.btnApproval.Click += new System.EventHandler(this.btnApproval_Click);
             // 
             // pnlApprovalButton
             // 
@@ -624,6 +626,7 @@
             this.btnOnApproval.TabStop = false;
             this.btnOnApproval.Text = "æ‰¿èª�";
             this.btnOnApproval.UseVisualStyleBackColor = false;
+            this.btnOnApproval.Click += new System.EventHandler(this.btnOnApproval_Click);
             // 
             // btnNotApproval
             // 
@@ -635,6 +638,7 @@
             this.btnNotApproval.TabStop = false;
             this.btnNotApproval.Text = "ä¸�æ‰¿èª�";
             this.btnNotApproval.UseVisualStyleBackColor = false;
+            this.btnNotApproval.Click += new System.EventHandler(this.btnNotApproval_Click);
             // 
             // btnOnHold
             // 
@@ -646,6 +650,7 @@
             this.btnOnHold.TabStop = false;
             this.btnOnHold.Text = "ä¿�ç•™";
             this.btnOnHold.UseVisualStyleBackColor = false;
+            this.btnOnHold.Click += new System.EventHandler(this.btnOnHold_Click);
             // 
             // lblPaymentDate
             // 
@@ -653,7 +658,7 @@
             this.lblPaymentDate.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
             this.lblPaymentDate.Font = new System.Drawing.Font("ï¼­ï¼³ æ˜Žæœ�", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
             this.lblPaymentDate.ForeColor = System.Drawing.Color.Black;
-            this.lblPaymentDate.Location = new System.Drawing.Point(454, 5);
+            this.lblPaymentDate.Location = new System.Drawing.Point(425, 5);
             this.lblPaymentDate.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
             this.lblPaymentDate.Name = "lblPaymentDate";
             this.lblPaymentDate.Size = new System.Drawing.Size(120, 25);
@@ -665,9 +670,9 @@
             // 
             this.label5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
             this.label5.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-            this.label5.Font = new System.Drawing.Font("ï¼­ï¼³ æ˜Žæœ�", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+            this.label5.Font = new System.Drawing.Font("Century", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.label5.ForeColor = System.Drawing.Color.Black;
-            this.label5.Location = new System.Drawing.Point(332, 5);
+            this.label5.Location = new System.Drawing.Point(303, 5);
             this.label5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
             this.label5.Name = "label5";
             this.label5.Size = new System.Drawing.Size(114, 25);
@@ -681,7 +686,7 @@
             this.label2.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
             this.label2.Font = new System.Drawing.Font("ï¼­ï¼³ æ˜Žæœ�", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
             this.label2.ForeColor = System.Drawing.Color.Black;
-            this.label2.Location = new System.Drawing.Point(590, 5);
+            this.label2.Location = new System.Drawing.Point(561, 5);
             this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
             this.label2.Name = "label2";
             this.label2.Size = new System.Drawing.Size(114, 25);
@@ -695,7 +700,7 @@
             this.rdbProject.BackColor = System.Drawing.Color.White;
             this.rdbProject.Font = new System.Drawing.Font("ï¼­ï¼³ æ˜Žæœ�", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
             this.rdbProject.ForeColor = System.Drawing.Color.Black;
-            this.rdbProject.Location = new System.Drawing.Point(844, 8);
+            this.rdbProject.Location = new System.Drawing.Point(813, 8);
             this.rdbProject.Margin = new System.Windows.Forms.Padding(4);
             this.rdbProject.Name = "rdbProject";
             this.rdbProject.Size = new System.Drawing.Size(77, 20);
@@ -711,7 +716,7 @@
             this.rdbCompany.Checked = true;
             this.rdbCompany.Font = new System.Drawing.Font("ï¼­ï¼³ æ˜Žæœ�", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
             this.rdbCompany.ForeColor = System.Drawing.Color.Black;
-            this.rdbCompany.Location = new System.Drawing.Point(734, 8);
+            this.rdbCompany.Location = new System.Drawing.Point(703, 8);
             this.rdbCompany.Margin = new System.Windows.Forms.Padding(4);
             this.rdbCompany.Name = "rdbCompany";
             this.rdbCompany.Size = new System.Drawing.Size(77, 20);
@@ -727,11 +732,12 @@
             this.cmbTargetMonth.BackColor = System.Drawing.Color.White;
             this.cmbTargetMonth.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
             this.cmbTargetMonth.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
+            this.cmbTargetMonth.Font = new System.Drawing.Font("Century", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.cmbTargetMonth.FormattingEnabled = true;
             this.cmbTargetMonth.Location = new System.Drawing.Point(127, 6);
             this.cmbTargetMonth.Margin = new System.Windows.Forms.Padding(4);
             this.cmbTargetMonth.Name = "cmbTargetMonth";
-            this.cmbTargetMonth.Size = new System.Drawing.Size(189, 23);
+            this.cmbTargetMonth.Size = new System.Drawing.Size(160, 28);
             this.cmbTargetMonth.TabIndex = 1;
             this.cmbTargetMonth.SelectedIndexChanged += new System.EventHandler(this.cmbTargetMonth_SelectedIndexChanged);
             // 
@@ -755,7 +761,7 @@
             this.label4.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
             this.label4.Font = new System.Drawing.Font("ï¼­ï¼³ æ˜Žæœ�", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
             this.label4.ForeColor = System.Drawing.Color.Black;
-            this.label4.Location = new System.Drawing.Point(712, 4);
+            this.label4.Location = new System.Drawing.Point(683, 4);
             this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
             this.label4.Name = "label4";
             this.label4.Size = new System.Drawing.Size(227, 27);
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestSummaryList/FrmRequestSummaryListAuxiliary.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestSummaryList/FrmRequestSummaryListAuxiliary.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestSummaryList/FrmRequestSummaryListAuxiliary.cs	(revision 217)
@@ -1127,7 +1127,31 @@
         }
         #endregion
 
+        #region ‘Î�Û”NŒŽ“ú‚ðŽæ“¾‚·‚é
+        /// <summary>
+        /// ‘Î�Û”NŒŽ“ú‚ðŽæ“¾‚·‚é
+        /// </summary>
+        /// <returns></returns>
+        private DateTime GetTargetDate()
+        {
+            DateTime OrderDate = DateTime.MinValue;
+            try
+            {
+                // ‘Î�ÛŒŽŽæ“¾
+                string strSelMonth = CommonMotions.cnvString(cmbTargetMonth.SelectedValue);
+                if (strSelMonth.Length == 0) return OrderDate;
+                OrderDate = new DateTime(int.Parse(strSelMonth.Substring(0, 4)), int.Parse(strSelMonth.Substring(4, 2)), 1);
 
+                return OrderDate;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("ƒVƒXƒeƒ€ƒGƒ‰�[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
+                return OrderDate;
+            }
+        }
+        #endregion
+
         #region �‰ŠúŽž�\�¿�E�³”F•\Ž¦�ˆ—�
         /// <summary>
         /// �‰ŠúŽž�\�¿�E�³”F•\Ž¦�ˆ—�
@@ -1136,6 +1160,10 @@
         {
             try
             {
+                // ‘Î�ÛŒŽ‚ª�Ý’è‚³‚ê‚Ä‚¢‚È‚¯‚ê‚Î�ˆ—�‚µ‚È‚¢
+                DateTime OrderDate = GetTargetDate();
+                if (OrderDate == DateTime.MinValue) return;
+
                 // �³”FƒR�[ƒhŽæ“¾
                 int iApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName[m_Labourkind])).Key;
 
@@ -1152,10 +1180,7 @@
                 // ----- �‰ŠúŽž‚Í�\�¿ƒ{ƒ^ƒ“‚ÌƒTƒCƒY‚ð�Å‘å‚É‚·‚é
                 btnPetition.Size = new Size(250, btnPetition.Size.Height);
 
-                //DateTime OrderDate = CommonMotions.cnvDate(m_dispControl[(int)DispCtrl.OrderDate].Text);
-                //int OrderNo = CommonMotions.cnvInt(m_dispControl[(int)DispCtrl.OrderNo].Text);
-                DateTime OrderDate = DateTime.Now;
-                int OrderNo = 0;
+                int OrderNo = (int)CommonDefine.s_Default_OrderNo;
                 // ----- ’S“–ŽÒƒR�[ƒh�E�³”F‹@”\”Ô�†Žæ“¾�i�\�¿ƒŒƒR�[ƒh‚ª‚È‚¢�ê�‡‚Í–¢�\�¿�j
                 if (!ClsApprovalPermission.CheckPersonPetition(CommonMotions.LoginUserData.PersonCode,
                                                                 iApprovalCode,
@@ -1205,13 +1230,15 @@
         {
             try
             {
+                // ‘Î�ÛŒŽ‚ª�Ý’è‚³‚ê‚Ä‚¢‚È‚¯‚ê‚Î�ˆ—�‚µ‚È‚¢
+                DateTime OrderDate = GetTargetDate();
+                if (OrderDate == DateTime.MinValue) return;
+
                 // �‰Šú’lƒZƒbƒg
                 lblApprovalCount.Text = "";
 
-                //DateTime OrderDate = CommonMotions.cnvDate(m_dispControl[(int)DispCtrl.OrderDate].Text);
-                DateTime OrderDate = DateTime.Now;
                 // ’S“–ŽÒƒR�[ƒh�E�³”F‹@”\”Ô�†Žæ“¾
-                int iApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName)).Key;
+                int iApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName[m_Labourkind])).Key;
                 // ’S“–•”��Žæ“¾
                 int DepartmentCode = ClsApprovalPermission.GetFromPersonAndApprovalTheDepartment(CommonMotions.LoginUserData.PersonCode, iApprovalCode, OrderDate, 1);
 
@@ -1231,5 +1258,212 @@
             }
         }
         #endregion
+
+        #region �\�¿ƒ{ƒ^ƒ“‰Ÿ‰º�ˆ—�
+        /// <summary>
+        /// �\�¿ƒ{ƒ^ƒ“‰Ÿ‰º�ˆ—�
+        /// </summary>
+        private void PetitionProcess()
+        {
+            try
+            {
+                // ƒf�[ƒ^“o˜^
+                if (!DataEntry()) return;
+
+                // ‹N“®”Ô�†
+                int NowPoint = ClsExcute.NextProcess((int)ClsExcute.SubFormExecuteNo.ApprovalPerson);
+                // ’S“–ŽÒƒR�[ƒh
+                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(CommonMotions.LoginUserData.PersonCode);
+                // �³”F‹@”\”Ô�†
+                int iApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName[m_Labourkind])).Key;
+                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(iApprovalCode);
+                // Žó•t“ú
+                ClsExcute.ProcControlPara[NowPoint].DateExecParameter.Add(GetTargetDate());
+                // Žó•t”Ô�†
+                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(CommonDefine.s_Default_OrderNo);
+
+                // Ž©ƒtƒH�[ƒ€�I—¹
+                this.Close();
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("ƒVƒXƒeƒ€ƒGƒ‰�[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
+        #region �³”Fƒ{ƒ^ƒ“‰Ÿ‰º�ˆ—�
+        /// <summary>
+        /// �³”Fƒ{ƒ^ƒ“‰Ÿ‰º�ˆ—�
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void ApprovalProcess()
+        {
+            try
+            {
+                // ƒf�[ƒ^“o˜^
+                if (!DataEntry()) return;
+
+                // ‹N“®”Ô�†
+                int NowPoint = ClsExcute.NextProcess((int)ClsExcute.SubFormExecuteNo.ApprovalPerson);
+
+                // ’S“–ŽÒƒR�[ƒh
+                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(CommonMotions.LoginUserData.PersonCode);
+
+                // �³”F‹@”\”Ô�†
+                int iApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName[m_Labourkind])).Key;
+                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(iApprovalCode);
+
+                // Žó•t“ú
+                ClsExcute.ProcControlPara[NowPoint].DateExecParameter.Add(GetTargetDate());
+
+                // Žó•t”Ô�†
+                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(CommonDefine.s_Default_OrderNo);
+
+                // Ž©ƒtƒH�[ƒ€�I—¹
+                this.Close();
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("ƒVƒXƒeƒ€ƒGƒ‰�[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
+        #region �³”Fƒpƒlƒ‹�ipnlApproval�j�³”Fƒ{ƒ^ƒ“‰Ÿ‰º�ˆ—�
+        /// <summary>
+        /// �³”Fƒpƒlƒ‹�ipnlApproval�j�³”Fƒ{ƒ^ƒ“‰Ÿ‰º�ˆ—�
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void OnApprovalProcess()
+        {
+            FrmApprovalPerson frm = new FrmApprovalPerson();
+            try
+            {
+                string strMsg = string.Format("{0}‚ð�³”F‚µ‚Ü‚·�A‚æ‚ë‚µ‚¢‚Å‚·‚©�H�B", s_MyProcessName[m_Labourkind]);
+                if (MessageBox.Show(strMsg, "�³”FŠm”F"
+                                , MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) return;
+
+                // ’S“–ŽÒƒR�[ƒh
+                frm.PersonCode = CommonMotions.LoginUserData.PersonCode;
+                // �³”F‹@”\”Ô�†ƒZƒbƒg
+                frm.ApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName[m_Labourkind])).Key;
+                // Žó•t“ú
+                frm.OrderDate = GetTargetDate();
+                // Žó•t”Ô�†
+                frm.OrderNo = CommonDefine.s_Default_OrderNo;
+
+                // �\�¿�E�³”FƒŒƒR�[ƒh�X�V
+                if (!frm.ApprovalDataUpDate((int)CommonDefine.ApprovalStatus.Approval, false))
+                {
+                    MessageBox.Show("�³”F‚ÉŽ¸”s‚µ‚Ü‚µ‚½�B", "�³”FƒGƒ‰�[", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                    return;
+                }
+
+                // ‰æ–ÊƒNƒ��[ƒY
+                this.Close();
+            }
+            catch (System.Exception ex)
+            {
+                logger.ErrorFormat("ƒVƒXƒeƒ€ƒGƒ‰�[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+            finally
+            {
+                frm.Dispose(); frm = null;
+            }
+        }
+        #endregion
+
+        #region �³”Fƒpƒlƒ‹�ipnlApproval�j•Û—¯ƒ{ƒ^ƒ“‰Ÿ‰º�ˆ—�
+        /// <summary>
+        /// �³”Fƒpƒlƒ‹�ipnlApproval�j•Û—¯ƒ{ƒ^ƒ“‰Ÿ‰º�ˆ—�
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void OnHoldProcess()
+        {
+            FrmApprovalPerson frm = new FrmApprovalPerson();
+            try
+            {
+                string strMsg = string.Format("{0}‚ð•Û—¯‚Æ‚µ‚Ü‚·�A‚æ‚ë‚µ‚¢‚Å‚·‚©�H�B", s_MyProcessName[m_Labourkind]);
+                if (MessageBox.Show(strMsg, "•Û—¯Šm”F"
+                                , MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) return;
+
+                // ’S“–ŽÒƒR�[ƒh
+                frm.PersonCode = CommonMotions.LoginUserData.PersonCode;
+                // �³”F‹@”\”Ô�†ƒZƒbƒg
+                frm.ApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName[m_Labourkind])).Key;
+                // Žó•t“ú
+                frm.OrderDate = GetTargetDate();
+                // Žó•t”Ô�†
+                frm.OrderNo = CommonDefine.s_Default_OrderNo;
+
+                // �\�¿�E�³”FƒŒƒR�[ƒh�X�V
+                if (!frm.ApprovalDataUpDate((int)CommonDefine.ApprovalStatus.Pending, false))
+                {
+                    MessageBox.Show("•Û—¯‚ÉŽ¸”s‚µ‚Ü‚µ‚½�B", "•Û—¯ƒGƒ‰�[", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                    return;
+                }
+
+                // ‰æ–ÊƒNƒ��[ƒY
+                this.Close();
+            }
+            catch (System.Exception ex)
+            {
+                logger.ErrorFormat("ƒVƒXƒeƒ€ƒGƒ‰�[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+            finally
+            {
+                frm.Dispose(); frm = null;
+            }
+        }
+        #endregion
+
+        #region �³”Fƒpƒlƒ‹�ipnlApproval�j•s�³”Fƒ{ƒ^ƒ“‰Ÿ‰º�ˆ—�
+        /// <summary>
+        /// �³”Fƒpƒlƒ‹�ipnlApproval�j•s�³”Fƒ{ƒ^ƒ“‰Ÿ‰º�ˆ—�
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void NotApprovalProcess()
+        {
+            FrmApprovalPerson frm = new FrmApprovalPerson();
+            try
+            {
+                string strMsg = string.Format("{0}‚ð•s�³”F‚µ‚Ü‚·�A‚æ‚ë‚µ‚¢‚Å‚·‚©�H�B", s_MyProcessName[m_Labourkind]);
+                if (MessageBox.Show(strMsg, "•s�³”FŠm”F"
+                                , MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) return;
+
+                // ’S“–ŽÒƒR�[ƒh
+                frm.PersonCode = CommonMotions.LoginUserData.PersonCode;
+                // �³”F‹@”\”Ô�†ƒZƒbƒg
+                frm.ApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName)).Key;
+                // Žó•t“ú
+                frm.OrderDate = GetTargetDate();
+                // Žó•t”Ô�†
+                frm.OrderNo = CommonDefine.s_Default_OrderNo;
+
+                // �\�¿�E�³”FƒŒƒR�[ƒh�X�V
+                if (!frm.ApprovalDataUpDate((int)CommonDefine.ApprovalStatus.NotApproval, false))
+                {
+                    MessageBox.Show("•s�³”F‚ÉŽ¸”s‚µ‚Ü‚µ‚½�B", "•s�³”FƒGƒ‰�[", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                    return;
+                }
+
+                // ‰æ–ÊƒNƒ��[ƒY
+                this.Close();
+            }
+            catch (System.Exception ex)
+            {
+                logger.ErrorFormat("ƒVƒXƒeƒ€ƒGƒ‰�[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+            finally
+            {
+                frm.Dispose(); frm = null;
+            }
+        }
+        #endregion
     }
 }
Index: branches/src/ProcessManagement/ProcessManagement/Forms/Master/Security/FrmSecurity.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/Master/Security/FrmSecurity.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/Master/Security/FrmSecurity.cs	(revision 217)
@@ -139,7 +139,7 @@
                                                     
                                                     new KeyValuePair<int, string>(-1, "ç·�ã€€å‹™ã€€ç®¡ã€€ç�†"),                                                    // ----- ã‚¿ã‚¤ãƒˆãƒ«
                                                     new KeyValuePair<int, string>((int)ClsExcute.ProcessExecuteNo.PurchaseStatusInput, string.Empty),       // 40:æ³¨æ–‡æ›¸çŠ¶æ³�å…¥åŠ›
-                                                    new KeyValuePair<int, string>((int)ClsExcute.ProcessExecuteNo.ReqBillingStatus, string.Empty),          // 41:è«‹æ±‚æ›¸ç™ºçµ¦ä¸€è¦§
+                                                    new KeyValuePair<int, string>((int)ClsExcute.ProcessExecuteNo.ReqBillingStatInput, string.Empty),       // 42:è«‹æ±‚æ›¸çŠ¶æ³�å…¥åŠ›
 
                                                     new KeyValuePair<int, string>(-1, "å�„ç¨®æ��å‡ºæ›¸é¡ž"),                                                      // ----- ã‚¿ã‚¤ãƒˆãƒ«
                                                     new KeyValuePair<int, string>((int)ClsExcute.ProcessExecuteNo.CostomerRegist, string.Empty),            // 34:ç™ºæ³¨è€…ç™»éŒ²ç”³è«‹
Index: branches/src/ProcessManagement/ProcessManagement/Forms/Master/Security/FrmSecurityAuxiliary.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/Master/Security/FrmSecurityAuxiliary.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/Master/Security/FrmSecurityAuxiliary.cs	(revision 217)
@@ -170,6 +170,7 @@
                 ProcessExcute ExecRec = new ProcessExcute();
 
                 // ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£åŒºåˆ†æ•°ã� ã�‘å‡¦ç�†ã‚’ã�Šã�“ã�ªã�†
+                List<int> AddList = new List<int>();
                 for (int i = 0; i < DataColCnt; i++)
                 {
                     // ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£åŒºåˆ†ãƒžã‚¹ã‚¿ã�®è¡¨ç¤ºé †æ›´æ–°
@@ -188,6 +189,8 @@
                     strSQL = exeDB.CreatePrimarykeyString(m_SecMasterList[i].SecCode);
                     exeDB.DeleteAction(strSQL, false);
 
+                    // è¿½åŠ ç™»éŒ²ãƒªã‚¹ãƒˆã‚¯ãƒªã‚¢
+                    AddList.Clear();
                     foreach (DataGridViewRow CurRow in dgv.Rows)
                     {
                         // å‡¦ç�†ç•ªå�·å�–å¾—
@@ -223,18 +226,39 @@
                         {
                             case (int)ClsExcute.ProcessExecuteNo.MaterialReserveEntry:      // 26:è³‡æ��è²¸å‡º
                             case (int)ClsExcute.ProcessExecuteNo.MaterialReturnEntry:       // 27:è³‡æ��è¿”å�´
-                                strChkExists.Clear();
-                                strChkExists.Append(exeDB.CreatePrimarykeyString((int)ClsExcute.ProcessExecuteNo.MaterialEntrylList));
-                                if (!exeDB.SelectAction(strChkExists.ToString(), ref ExecRec, false))
+                                bool CodeExists = false;
+                                foreach (int ExecCode in AddList)
                                 {
-                                    // èµ·å‹•å‡¦ç�†ç•ªå�·
-                                    wrk.ExecCode = (int)ClsExcute.ProcessExecuteNo.MaterialEntrylList;
-                                    // ãƒ‡ãƒ¼ã‚¿ä½œæˆ�
-                                    exeDB.InsertAction(wrk, false);
+                                    if (ExecCode == (int)ClsExcute.ProcessExecuteNo.MaterialEntrylList)
+                                    {
+                                        CodeExists = true;
+                                        break;
+                                    }
                                 }
+                                if (!CodeExists) AddList.Add((int)ClsExcute.ProcessExecuteNo.MaterialEntrylList);
                                 break;
+                            case (int)ClsExcute.ProcessExecuteNo.ReqBillingStatInput:       // 42:è«‹æ±‚æ›¸çŠ¶æ³�å…¥åŠ›
+                                AddList.Add((int)ClsExcute.ProcessExecuteNo.ReqBillingStatus);
+                                break;
                         }
                     }
+                    // è¿½åŠ ç™»éŒ²
+                    foreach (int ExecCode in AddList)
+                    {
+                        ProcessExcute wrk = new ProcessExcute();
+                        // ä¿�è­·åŒºåˆ†ç•ªå�·
+                        wrk.SecCode = m_SecMasterList[i].SecCode;
+                        // èµ·å‹•å‡¦ç�†ç•ªå�·
+                        wrk.ExecCode = ExecCode;
+                        // ãƒ‡ãƒ¼ã‚¿ä½œæˆ�
+                        if (!exeDB.InsertAction(wrk, false))
+                        {
+                            MessageBox.Show("ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ãƒžã‚¹ã‚¿ã�®ç™»éŒ²ã�«å¤±æ•—ã�—ã�¾ã�—ã�Ÿã€‚", "ç™»éŒ²ã‚¨ãƒ©ãƒ¼", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                            secDB.rollback();
+                            exeDB.rollback();
+                            return false;
+                        }
+                    }
                 }
 
                 secDB.commit();
Index: branches/src/ProcessManagement/ProcessManagement/Forms/ZMenu/FrmMenu.Designer.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/ZMenu/FrmMenu.Designer.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/ZMenu/FrmMenu.Designer.cs	(revision 217)
@@ -284,6 +284,7 @@
             this.dgvPersonApp = new ProcessManagement.Forms.CustomControls.DataGridViewEX();
             this.dataGridViewTextBoxColumn53 = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.Column42 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.Column49 = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.Column43 = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.Column45 = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.Column46 = new System.Windows.Forms.DataGridViewTextBoxColumn();
@@ -1611,6 +1612,7 @@
             this.dgvPersonApp.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
             this.dataGridViewTextBoxColumn53,
             this.Column42,
+            this.Column49,
             this.Column43,
             this.Column45,
             this.Column46,
@@ -1662,6 +1664,14 @@
             this.Column42.ReadOnly = true;
             this.Column42.Visible = false;
             // 
+            // Column49
+            // 
+            this.Column49.Frozen = true;
+            this.Column49.HeaderText = "å�—ä»˜æ—¥";
+            this.Column49.Name = "Column49";
+            this.Column49.ReadOnly = true;
+            this.Column49.Visible = false;
+            // 
             // Column43
             // 
             this.Column43.Frozen = true;
@@ -8196,8 +8206,23 @@
         private System.Windows.Forms.DataGridViewTextBoxColumn Column04;
         private System.Windows.Forms.DataGridViewTextBoxColumn Column07;
         private System.Windows.Forms.Button btnAffairs0501;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ApprovalColumn02;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ApprovalColumn12;
+        private System.Windows.Forms.DataGridViewTextBoxColumn Column32;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ApprovalColumn01;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ApprovalColumn03;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ApprovalColumn04;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ApprovalColumn05;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ApprovalColumn06;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ApprovalColumn07;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ApprovalColumn08;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ApprovalColumn09;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ApprovalColumn10;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ApprovalColumn11;
+        private System.Windows.Forms.DataGridViewTextBoxColumn Column47;
         private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn53;
         private System.Windows.Forms.DataGridViewTextBoxColumn Column42;
+        private System.Windows.Forms.DataGridViewTextBoxColumn Column49;
         private System.Windows.Forms.DataGridViewTextBoxColumn Column43;
         private System.Windows.Forms.DataGridViewTextBoxColumn Column45;
         private System.Windows.Forms.DataGridViewTextBoxColumn Column46;
@@ -8212,20 +8237,6 @@
         private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn61;
         private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn62;
         private System.Windows.Forms.DataGridViewTextBoxColumn Column48;
-        private System.Windows.Forms.DataGridViewTextBoxColumn ApprovalColumn02;
-        private System.Windows.Forms.DataGridViewTextBoxColumn ApprovalColumn12;
-        private System.Windows.Forms.DataGridViewTextBoxColumn Column32;
-        private System.Windows.Forms.DataGridViewTextBoxColumn ApprovalColumn01;
-        private System.Windows.Forms.DataGridViewTextBoxColumn ApprovalColumn03;
-        private System.Windows.Forms.DataGridViewTextBoxColumn ApprovalColumn04;
-        private System.Windows.Forms.DataGridViewTextBoxColumn ApprovalColumn05;
-        private System.Windows.Forms.DataGridViewTextBoxColumn ApprovalColumn06;
-        private System.Windows.Forms.DataGridViewTextBoxColumn ApprovalColumn07;
-        private System.Windows.Forms.DataGridViewTextBoxColumn ApprovalColumn08;
-        private System.Windows.Forms.DataGridViewTextBoxColumn ApprovalColumn09;
-        private System.Windows.Forms.DataGridViewTextBoxColumn ApprovalColumn10;
-        private System.Windows.Forms.DataGridViewTextBoxColumn ApprovalColumn11;
-        private System.Windows.Forms.DataGridViewTextBoxColumn Column47;
     }
 }
 
Index: branches/src/ProcessManagement/ProcessManagement/Forms/ZMenu/FrmMenu.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/ZMenu/FrmMenu.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/ZMenu/FrmMenu.cs	(revision 217)
@@ -407,6 +407,7 @@
         {
             PersonCode = 0,
             ApprovalCode,
+            OrderDate,
             OrderNo,
             DataSearchKey1,
             DataSearchKey2,
@@ -2204,7 +2205,7 @@
                 // æ‰¿èª�æ©Ÿèƒ½ç•ªå�·å�–å¾—
                 int iApprovalCode = CommonMotions.cnvInt(dgv.CurrentRow.Cells[(int)PersonAppGridCount.ApprovalCode].Value);
                 // å�—ä»˜æ—¥ä»˜å�–å¾—
-                DateTime OrderDate = CommonMotions.cnvDate(dgv.CurrentRow.Cells[(int)PersonAppGridCount.PetitionDate].Value);
+                DateTime OrderDate = CommonMotions.cnvDate(dgv.CurrentRow.Cells[(int)PersonAppGridCount.OrderDate].Value);
                 // å�—ä»˜ç•ªå�·å�–å¾—
                 int iOrderNo = CommonMotions.cnvInt(dgv.CurrentRow.Cells[(int)PersonAppGridCount.OrderNo].Value);
 
Index: branches/src/ProcessManagement/ProcessManagement/Forms/ZMenu/FrmMenu.resx
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/ZMenu/FrmMenu.resx	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/ZMenu/FrmMenu.resx	(revision 217)
@@ -186,6 +186,9 @@
   <metadata name="Column42.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
+  <metadata name="Column49.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
   <metadata name="Column43.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
Index: branches/src/ProcessManagement/ProcessManagement/Forms/ZMenu/FrmMenuAuxiliary.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/ZMenu/FrmMenuAuxiliary.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/ZMenu/FrmMenuAuxiliary.cs	(revision 217)
@@ -2631,6 +2631,10 @@
             /// </summary>
             ApprovalCode = 0,
             /// <summary>
+            /// å�—ä»˜æ—¥
+            /// </summary>
+            OrderDate,
+            /// <summary>
             /// å�—ä»˜ç•ªå�·
             /// </summary>
             OrderNo,
@@ -2731,6 +2735,7 @@
                 // å®Œäº†å·¥äº‹ä»¥å¤–ã�®ç”³è«‹ä¸­ã�¨æ‰¿èª�å¾Œ7æ—¥é–“ã�®ãƒ‡ãƒ¼ã‚¿ã‚’å¯¾è±¡ã�¨ã�™ã‚‹
                 string strSQL = "SELECT";
                 strSQL += " A.APPROVALCODE,";
+                strSQL += " A.ORDERDATE,";
                 strSQL += " A.ORDERNO,";
                 strSQL += " A.PERSONCODE,";
                 strSQL += " C.PERSONNAME,";
@@ -2808,11 +2813,11 @@
             try
             {
                 DataGridView dgv = dgvPersonApp;
-                bool bFirst = true;
                 int CurRowCnt = 0;
 
                 int iPersonCode = 0;
                 int iApprovalCode = 0;
+                DateTime OrderDate = DateTime.MinValue;
                 int iOrderNo = 0;
                 DateTime ApprovalEntryDate = DateTime.MinValue;
                 DateTime ApprovalLimitDates = DateTime.MinValue;
@@ -2822,113 +2827,117 @@
                 string petitionDetail = string.Empty;
                 DateTime wrkdt = DateTime.Now;
                 // å…ˆé ­ãƒ¬ã‚³ãƒ¼ãƒ‰ã‚’å�–å¾—
-                foreach (object[] objwrk in BufferList)
-                {
-                    // ãƒ‡ãƒ¼ã‚¿å�–å¾—
-                    iPersonCode = CommonMotions.cnvInt(objwrk[(int)PersonAppDataList.PersonCode]);                  // æ‹…å½“è€…ç•ªå�·
-                    iApprovalCode = CommonMotions.cnvInt(objwrk[(int)PersonAppDataList.ApprovalCode]);              // æ‰¿èª�æ©Ÿèƒ½ç•ªå�·
-                    iOrderNo = CommonMotions.cnvInt(objwrk[(int)PersonAppDataList.OrderNo]);                        // å�—ä»˜ç•ªå�·
+                object[] objwrk = (object[])BufferList[0];
 
-                    ApprovalEntryDate = CommonMotions.cnvDate(objwrk[(int)PersonAppDataList.EntryDate]);             // ç”³è«‹æ—¥ä»˜
-                    ApprovalLimitDates = CommonMotions.cnvDate(objwrk[(int)PersonAppDataList.ApprovalLimitDates].ToString());    // æ‰¿èª�å¸Œæœ›æ—¥
+                // ãƒ‡ãƒ¼ã‚¿å�–å¾—
+                iPersonCode = CommonMotions.cnvInt(objwrk[(int)PersonAppDataList.PersonCode]);                  // æ‹…å½“è€…ç•ªå�·
+                iApprovalCode = CommonMotions.cnvInt(objwrk[(int)PersonAppDataList.ApprovalCode]);              // æ‰¿èª�æ©Ÿèƒ½ç•ªå�·
+                OrderDate = CommonMotions.cnvDate(objwrk[(int)PersonAppDataList.OrderDate]);                    // å�—ä»˜æ—¥
+                iOrderNo = CommonMotions.cnvInt(objwrk[(int)PersonAppDataList.OrderNo]);                        // å�—ä»˜ç•ªå�·
 
-                    if (!bFirst) break;
+                ApprovalEntryDate = CommonMotions.cnvDate(objwrk[(int)PersonAppDataList.EntryDate]);             // ç”³è«‹æ—¥ä»˜
+                ApprovalLimitDates = CommonMotions.cnvDate(objwrk[(int)PersonAppDataList.ApprovalLimitDates].ToString());    // æ‰¿èª�å¸Œæœ›æ—¥
 
-                    string strLimitDate = string.Empty;
-                    if (ApprovalLimitDates != DateTime.MinValue) strLimitDate = ApprovalLimitDates.ToShortDateString();
 
-                    // å‡¦ç�†æœˆã�§ç©ºè¡Œã‚’å…¥ã‚Œã‚‹
-                    if (ino == 1) BreakCode = iApprovalCode;
+                string strLimitDate = string.Empty;
+                if (ApprovalLimitDates != DateTime.MinValue) strLimitDate = ApprovalLimitDates.ToShortDateString();
 
-                    if (BreakCode != iApprovalCode)
-                    {
-                        dgv.Rows.Add(1);
-                        BreakCode = iApprovalCode;
-                    }
+                // å‡¦ç�†æœˆã�§ç©ºè¡Œã‚’å…¥ã‚Œã‚‹
+                if (ino == 1) BreakCode = iApprovalCode;
 
-                    strKey1 = string.Empty;
-                    strKey2 = string.Empty;
-                    switch (iApprovalCode)
-                    {
-                        case (int)ClsExcute.ApprovalListNo.DRWorkApproval:
-                            // å‡ºå‹¤æ—¥å ±ç”³è«‹
-                            wrkdt = CommonMotions.cnvDate(objwrk[(int)PersonAppDataList.AttendanceMonth]);
-                            petitionDetail = string.Format("{0}å¹´{1}æœˆåº¦ã€€å‡ºã€€å‹¤ã€€æ—¥ã€€å ±", wrkdt.Year, wrkdt.Month.ToString("00"));
-                            break;
-                        case (int)ClsExcute.ApprovalListNo.CostomerRegistApproval:
-                            // ç™ºæ³¨è€…ç™»éŒ²ç”³è«‹
-                            petitionDetail = s_PersonApprovalFixed[CommonMotions.cnvInt(objwrk[(int)PersonAppDataList.CostomerDataMode])];
+                if (BreakCode != iApprovalCode)
+                {
+                    dgv.Rows.Add(1);
+                    BreakCode = iApprovalCode;
+                }
 
-                            strKey1 = CommonMotions.cnvDate(objwrk[(int)PersonAppDataList.CostomerRegistKey1]).ToShortDateString();
-                            strKey2 = CommonMotions.cnvInt(objwrk[(int)PersonAppDataList.CostomerRegistKey2]).ToString();
-                            break;
-                        case (int)ClsExcute.ApprovalListNo.SubConstregistApproval:
-                            // å�”åŠ›ä¼šç¤¾ç™»éŒ²ç”³è«‹
-                            petitionDetail = s_PersonApprovalFixed[CommonMotions.cnvInt(objwrk[(int)PersonAppDataList.SubConstrDataMode])];
+                strKey1 = string.Empty;
+                strKey2 = string.Empty;
+                switch (iApprovalCode)
+                {
+                    case (int)ClsExcute.ApprovalListNo.DRWorkApproval:                      // å‡ºå‹¤æ—¥å ±ç”³è«‹
+                        wrkdt = CommonMotions.cnvDate(objwrk[(int)PersonAppDataList.AttendanceMonth]);
+                        petitionDetail = string.Format("{0}å¹´{1}æœˆåº¦", wrkdt.Year, wrkdt.Month.ToString("00"));
+                        break;
 
-                            strKey1 = CommonMotions.cnvDate(objwrk[(int)PersonAppDataList.SubConstrRegistKey1]).ToShortDateString();
-                            strKey2 = CommonMotions.cnvInt(objwrk[(int)PersonAppDataList.SubConstrRegistKey2]).ToString();
-                            break;
-                    }
-                    // ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆ
-                    CurRowCnt = dgv.Rows.Add(iPersonCode,
-                                                    iApprovalCode,
-                                                    iOrderNo,
-                                                    strKey1,
-                                                    strKey2,
-                                                    ino,
-                                                    petitionDetail,
-                                                    ClsExcute.AppovalList[iApprovalCode],
-                                                    CommonMotions.cnvString(objwrk[(int)PersonAppDataList.AppPersonName]),
-                                                    ApprovalEntryDate.ToShortDateString(),
-                                                    strLimitDate);
+                    case (int)ClsExcute.ApprovalListNo.CostomerRegistApproval:              // ç™ºæ³¨è€…ç™»éŒ²ç”³è«‹
+                        petitionDetail = s_PersonApprovalFixed[CommonMotions.cnvInt(objwrk[(int)PersonAppDataList.CostomerDataMode])];
 
-                    // æ‰¿èª�ç¨®åˆ¥ã�¨ç¨®åˆ¥å��ã�«è‰²ã‚’ä»˜ã�‘ã‚‹
-                    Color SelColor = ClsExcute.ApprovalTypeColorList[iApprovalCode];
-                    dgv.Rows[CurRowCnt].Cells[(int)PersonAppGridCount.ApprovalName].Style.BackColor = SelColor;
-                    string wrkname = MenuTabName.First(x => x.Value.Equals((int)TabNameEnum.PersonApproval)).Key;
-                    int Tabcount = MenuTabName[wrkname] - 1;
+                        strKey1 = CommonMotions.cnvDate(objwrk[(int)PersonAppDataList.CostomerRegistKey1]).ToShortDateString();
+                        strKey2 = CommonMotions.cnvInt(objwrk[(int)PersonAppDataList.CostomerRegistKey2]).ToString();
+                        break;
 
-                    object[] objAuthorizer = null;
-                    // ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆ
-                    for (int i = 0; i < BufferList.Count; i++)
-                    {
-                        if (i == 0) objAuthorizer = (object[])BufferList[i];
-                        objAuthorizer = (object[])BufferList[i];
+                    case (int)ClsExcute.ApprovalListNo.SubConstregistApproval:              // å�”åŠ›ä¼šç¤¾ç™»éŒ²ç”³è«‹
+                        petitionDetail = s_PersonApprovalFixed[CommonMotions.cnvInt(objwrk[(int)PersonAppDataList.SubConstrDataMode])];
 
-                        iApprovalCode = CommonMotions.cnvInt(objAuthorizer[(int)PersonAppDataList.ApprovalCode]);   // æ‰¿èª�æ©Ÿèƒ½ç•ªå�·
-                        iOrderNo = CommonMotions.cnvInt(objAuthorizer[(int)PersonAppDataList.OrderNo]);             // å�—ä»˜ç•ªå�·
-                        iPersonCode = CommonMotions.cnvInt(objAuthorizer[(int)PersonAppDataList.PersonCode]);       // æ‹…å½“è€…ç•ªå�·
+                        strKey1 = CommonMotions.cnvDate(objwrk[(int)PersonAppDataList.SubConstrRegistKey1]).ToShortDateString();
+                        strKey2 = CommonMotions.cnvInt(objwrk[(int)PersonAppDataList.SubConstrRegistKey2]).ToString();
+                        break;
 
-                        // æ‰¿èª�è€…ã�Œåˆ—ã‚«ã‚¦ãƒ³ãƒˆã‚’è¶…ã�ˆã�Ÿå ´å�ˆ
-                        if ((dgv.ColumnCount - 1) < ((int)PersonAppGridCount.ApprovalPerson1 + i))
-                        {
-                            // åˆ—ã‚’ä½œæˆ�ã�™ã‚‹
-                            DataGridViewTextBoxColumn NewColumn = new DataGridViewTextBoxColumn();
-                            // å��å‰�ã�¨ãƒ˜ãƒƒãƒ€ãƒ¼ã‚’è¨­å®šã�™ã‚‹
-                            NewColumn.Name = string.Format("ApprovalPerson{0}", i);
-                            NewColumn.HeaderText = string.Format("æ‰¿èª�è€…{0}", (i + 1));
-                            // åˆ—ã�®å¹…
-                            NewColumn.Width = dgv.Columns[((int)PersonAppGridCount.ApprovalPerson1)].Width;
-                            int AllCellColumns = m_CellSize.GetLength(1);
-                            m_CellSize[Tabcount, (int)PersonAppGridCount.ApprovalPerson1 + i] = dgv.Columns[((int)PersonAppGridCount.ApprovalPerson1)].Width;
-                            // åˆ—ã�®ã‚¢ãƒ©ã‚¤ãƒ¡ãƒ³ãƒˆã‚»ãƒƒãƒˆ
-                            NewColumn.DefaultCellStyle = dgv.Columns[((int)PersonAppGridCount.ApprovalPerson1)].DefaultCellStyle;
+                    case (int)ClsExcute.ApprovalListNo.FeePayment:                          // æ‰‹é–“æ”¯æ‰•
+                    case (int)ClsExcute.ApprovalListNo.SubConstrPayment:                    // æ¥­ç¤¾æ”¯æ‰•
+                        wrkdt = CommonMotions.cnvDate(objwrk[(int)PersonAppDataList.OrderDate]);
+                        petitionDetail = string.Format("{0}å¹´{1}æœˆåº¦", wrkdt.Year, wrkdt.Month.ToString("00"));
+                        break;
+                }
+                // ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆ
+                CurRowCnt = dgv.Rows.Add(iPersonCode,
+                                                iApprovalCode,
+                                                OrderDate,
+                                                iOrderNo,
+                                                strKey1,
+                                                strKey2,
+                                                ino,
+                                                petitionDetail,
+                                                ClsExcute.AppovalList[iApprovalCode],
+                                                CommonMotions.cnvString(objwrk[(int)PersonAppDataList.AppPersonName]),
+                                                ApprovalEntryDate.ToShortDateString(),
+                                                strLimitDate);
 
-                            // åˆ—ã‚’è¿½åŠ ã�™ã‚‹
-                            dgv.Columns.Add(NewColumn);
-                        }
+                // æ‰¿èª�ç¨®åˆ¥ã�¨ç¨®åˆ¥å��ã�«è‰²ã‚’ä»˜ã�‘ã‚‹
+                Color SelColor = ClsExcute.ApprovalTypeColorList[iApprovalCode];
+                dgv.Rows[CurRowCnt].Cells[(int)PersonAppGridCount.ApprovalName].Style.BackColor = SelColor;
+                string wrkname = MenuTabName.First(x => x.Value.Equals((int)TabNameEnum.PersonApproval)).Key;
+                int Tabcount = MenuTabName[wrkname] - 1;
 
-                        int ApprovalStatus = CommonMotions.cnvInt(objAuthorizer[(int)PersonAppDataList.ApprovalStatus]);
-                        DataGridViewRow CurRowPo = dgv.Rows[CurRowCnt];
-                        DataGridViewCell CurCell = null;
-                        CurCell = CurRowPo.Cells[(int)PersonAppGridCount.ApprovalPerson1 + i];
+                object[] objAuthorizer = null;
+                // ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆ
+                for (int i = 0; i < BufferList.Count; i++)
+                {
+                    if (i == 0) objAuthorizer = (object[])BufferList[i];
+                    objAuthorizer = (object[])BufferList[i];
 
-                        CurCell.Value = CommonMotions.cnvString(objAuthorizer[(int)PersonAppDataList.ApprovalPersonName]);
-                        CurCell.Style.BackColor = CommonDefine.ApprovalBackStatusColor[ApprovalStatus];
-                        CurCell.Style.ForeColor = CommonDefine.ApprovalForeStatusColor[ApprovalStatus];
+                    iApprovalCode = CommonMotions.cnvInt(objAuthorizer[(int)PersonAppDataList.ApprovalCode]);   // æ‰¿èª�æ©Ÿèƒ½ç•ªå�·
+                    iOrderNo = CommonMotions.cnvInt(objAuthorizer[(int)PersonAppDataList.OrderNo]);             // å�—ä»˜ç•ªå�·
+                    iPersonCode = CommonMotions.cnvInt(objAuthorizer[(int)PersonAppDataList.PersonCode]);       // æ‹…å½“è€…ç•ªå�·
+
+                    // æ‰¿èª�è€…ã�Œåˆ—ã‚«ã‚¦ãƒ³ãƒˆã‚’è¶…ã�ˆã�Ÿå ´å�ˆ
+                    if ((dgv.ColumnCount - 1) < ((int)PersonAppGridCount.ApprovalPerson1 + i))
+                    {
+                        // åˆ—ã‚’ä½œæˆ�ã�™ã‚‹
+                        DataGridViewTextBoxColumn NewColumn = new DataGridViewTextBoxColumn();
+                        // å��å‰�ã�¨ãƒ˜ãƒƒãƒ€ãƒ¼ã‚’è¨­å®šã�™ã‚‹
+                        NewColumn.Name = string.Format("ApprovalPerson{0}", i);
+                        NewColumn.HeaderText = string.Format("æ‰¿èª�è€…{0}", (i + 1));
+                        // åˆ—ã�®å¹…
+                        NewColumn.Width = dgv.Columns[((int)PersonAppGridCount.ApprovalPerson1)].Width;
+                        int AllCellColumns = m_CellSize.GetLength(1);
+                        m_CellSize[Tabcount, (int)PersonAppGridCount.ApprovalPerson1 + i] = dgv.Columns[((int)PersonAppGridCount.ApprovalPerson1)].Width;
+                        // åˆ—ã�®ã‚¢ãƒ©ã‚¤ãƒ¡ãƒ³ãƒˆã‚»ãƒƒãƒˆ
+                        NewColumn.DefaultCellStyle = dgv.Columns[((int)PersonAppGridCount.ApprovalPerson1)].DefaultCellStyle;
+
+                        // åˆ—ã‚’è¿½åŠ ã�™ã‚‹
+                        dgv.Columns.Add(NewColumn);
                     }
-                    bFirst = false;
+
+                    int ApprovalStatus = CommonMotions.cnvInt(objAuthorizer[(int)PersonAppDataList.ApprovalStatus]);
+                    DataGridViewRow CurRowPo = dgv.Rows[CurRowCnt];
+                    DataGridViewCell CurCell = null;
+                    CurCell = CurRowPo.Cells[(int)PersonAppGridCount.ApprovalPerson1 + i];
+
+                    CurCell.Value = CommonMotions.cnvString(objAuthorizer[(int)PersonAppDataList.ApprovalPersonName]);
+                    CurCell.Style.BackColor = CommonDefine.ApprovalBackStatusColor[ApprovalStatus];
+                    CurCell.Style.ForeColor = CommonDefine.ApprovalForeStatusColor[ApprovalStatus];
                 }
             }
             catch (Exception ex)
Index: branches/src/ProcessManagement/ProcessManagement/Forms/ZMenu/FrmMenuEvent.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/ZMenu/FrmMenuEvent.cs	(revision 216)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/ZMenu/FrmMenuEvent.cs	(revision 217)
@@ -505,7 +505,10 @@
                                 #region æ¥­è€…ãƒ»è�·äººæ‰‹é–“è«‹æ±‚ç¢ºèª�ï¼ˆæ‰‹é–“æ¥­è€…ï¼‰
                                 // æ¥­è€…ãƒ»è�·äººæ‰‹é–“è«‹æ±‚ç¢ºèª�ï¼ˆæ‰‹é–“æ¥­è€…ï¼‰
                                 NowPoint = ClsExcute.NextProcess((int)ClsExcute.ProcessExecuteNo.RequestSummaryList);
+                                // æ¥­ç¤¾æ‰‹é–“åŒºåˆ†
                                 ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add((int)CommonDefine.LabourKinds.Labor);
+                                // ----- æ‹…å½“è€…ã‚³ãƒ¼ãƒ‰ã‚»ãƒƒãƒˆ
+                                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(CommonMotions.LoginUserData.PersonCode);
                                 break;
                                 #endregion
                             case 3:
@@ -512,7 +515,10 @@
                                 #region æ¥­è€…ãƒ»è�·äººæ‰‹é–“è«‹æ±‚ç¢ºèª�ï¼ˆé€šå¸¸æ¥­è€…ï¼‰
                                 // æ¥­è€…ãƒ»è�·äººæ‰‹é–“è«‹æ±‚ç¢ºèª�ï¼ˆé€šå¸¸æ¥­è€…ï¼‰
                                 NowPoint = ClsExcute.NextProcess((int)ClsExcute.ProcessExecuteNo.RequestSummaryList);
+                                // æ¥­ç¤¾æ‰‹é–“åŒºåˆ†
                                 ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add((int)CommonDefine.LabourKinds.Normal);
+                                // ----- æ‹…å½“è€…ã‚³ãƒ¼ãƒ‰ã‚»ãƒƒãƒˆ
+                                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(CommonMotions.LoginUserData.PersonCode);
                                 break;
                                 #endregion
                             case 5:
@@ -693,7 +699,7 @@
                                 // è«‹æ±‚æ›¸ç™ºçµ¦çŠ¶æ³�ä¸€è¦§
                                 // ----- èµ·å‹•ãƒ—ãƒ­ã‚»ã‚¹è¨­å®š
                                 NowPoint = ClsExcute.NextProcess((int)ClsExcute.ProcessExecuteNo.ReqBillingStatus);
-                                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add((int)ClsExcute.ProcessExecuteNo.ReqBillingStatus);
+                                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add((int)ClsExcute.ProcessExecuteNo.ReqBillingStatInput);
                                 break;
                                 #endregion
                             case 7:
