Index: trunk/src/ProcessManagement/ProcessManagement/Common/CommonDefine.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Common/CommonDefine.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Common/CommonDefine.cs	(revision 57)
@@ -93,6 +93,7 @@
         /// </summary>
         public static int AdminSecurityManagement = -1;
 
+        #region 旧機密管理
         /// <summary>
         /// 旧機密管理番号
         /// </summary>
@@ -123,6 +124,8 @@
                                                                                 new KeyValuePair<int,string>(2,"統括責任者"),
                                                                                 new KeyValuePair<int,string>(3,"所　属　長"),
                                                                                 new KeyValuePair<int,string>(4,"一般使用者")};
+        #endregion
+
         /// <summary>
         /// 機密管理番号
         /// </summary>
@@ -508,8 +511,8 @@
         /// <summary>
         /// 申請状態色
         /// </summary>
-        public static Color[] ApprovalBackColorStatusColor = new Color[] { Color.Blue, Color.Yellow, Color.MediumSpringGreen, Color.Red, Color.LightSkyBlue, Color.LightBlue };
-        public static Color[] ApprovalForeColorStatusColor = new Color[] { Color.White, Color.Black, Color.Black, Color.Black, Color.Black, Color.Black };
+        public static Color[] ApprovalBackStatusColor = new Color[] { Color.Blue, Color.Yellow, Color.MediumSpringGreen, Color.Red, Color.LightSkyBlue, Color.LightBlue };
+        public static Color[] ApprovalForeStatusColor = new Color[] { Color.White, Color.Black, Color.Black, Color.Black, Color.Black, Color.Black };
 
         /// <summary>
         /// 承認状態文字
Index: trunk/src/ProcessManagement/ProcessManagement/Common/CommonVersion.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Common/CommonVersion.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Common/CommonVersion.cs	(revision 57)
@@ -14,7 +14,7 @@
         /// <summary>
         /// 本体バージョン
         /// </summary>
-        public static int s_SystemVersion = 14;
+        public static int s_SystemVersion = 15;
 
         /// <summary>
         /// コピー・環境バージョン
Index: trunk/src/ProcessManagement/ProcessManagement/Common/Process/ClsExcute.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Common/Process/ClsExcute.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Common/Process/ClsExcute.cs	(revision 57)
@@ -77,7 +77,8 @@
             PaymentConfirmation = 30,           // 30:入金確認
             RequestInput = 31,                  // 31:請求入力
             RequestPrint = 32,                  // 32:請求書印刷
-            CostomerRegist = 33,                // 33:発注者登録申請
+            CostomerRegistList = 33,            // 33:発注者登録申請一覧
+            CostomerRegist = 34,                // 34:発注者登録申請
         }
         #endregion
 
@@ -175,6 +176,7 @@
                                                                                 { (int)ProcessExecuteNo.PaymentConfirmation,    "入金確認"},
                                                                                 { (int)ProcessExecuteNo.RequestInput,           "請求入力"},
                                                                                 { (int)ProcessExecuteNo.RequestPrint,           "請求書印刷"},
+                                                                                { (int)ProcessExecuteNo.CostomerRegistList,     "発注者登録申請一覧"},
                                                                                 { (int)ProcessExecuteNo.CostomerRegist,         "発注者登録申請"},
         };
 
@@ -480,7 +482,12 @@
                         case (int)ProcessExecuteNo.PersonApprovalList:                  // 22:担当者承認申請一覧
                             ProcessExecuteNo_PersonAppList(m_ProcControlPara[NowPoint]);
                             break;
-                        case (int)ProcessExecuteNo.CostomerRegist:                      // 33:発注者登録申請
+
+                        case (int)ProcessExecuteNo.CostomerRegistList:                  // 33:発注者登録申請一覧
+                            ProcessExecuteNo_CostomerRegistList(m_ProcControlPara[NowPoint]);
+                            break;
+
+                        case (int)ProcessExecuteNo.CostomerRegist:                      // 34:発注者登録申請
                             ProcessExecuteNo_CostomerRegist(m_ProcControlPara[NowPoint]);
                             break;
 
@@ -1665,9 +1672,9 @@
 
                 // パラメータセット
                 frm.PersonCode = CurrentPara.IntExecParameter[0];
-                if (CurrentPara.StringExecParameter.Count > 0)
+                if (CurrentPara.DateExecParameter.Count > 0)
                 {
-                    frm.OrdertDate = CommonMotions.cnvDate(CurrentPara.StringExecParameter[0]);
+                    frm.OrdertDate = CurrentPara.DateExecParameter[0];
                 }
 
                 // フォーム表示
@@ -1685,12 +1692,12 @@
         }
         #endregion
 
-        #region 発注者登録申請
+        #region 発注者登録申請一覧
         /// <summary>
-        /// 発注者登録申請
+        /// 発注者登録申請一覧
         /// </summary>
         /// <param name="CurrentPara"></param>
-        public static void ProcessExecuteNo_CostomerRegist(ProcessParameter CurrentPara)
+        public static void ProcessExecuteNo_CostomerRegistList(ProcessParameter CurrentPara)
         {
             //　発注者登録申請一覧
             FrmCostomerRegistList frm = new FrmCostomerRegistList();
@@ -1698,7 +1705,51 @@
             {
                 // フォーム表示
                 frm.ShowDialog();
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+                BackProcess();
+            }
+            finally
+            {
+                frm.Dispose(); frm = null;
+            }
+        }
+        #endregion
 
+        #region 発注者登録申請一覧
+        /// <summary>
+        /// 発注者登録申請一覧
+        /// </summary>
+        /// <param name="CurrentPara"></param>
+        public static void ProcessExecuteNo_CostomerRegist(ProcessParameter CurrentPara)
+        {
+            //　発注者登録申請
+            FrmCostomerRegist frm = new FrmCostomerRegist();
+            try
+            {
+                // 自分のハンドルをリストへセットする
+                int ProcessNo = (int)ClsExcute.ProcessExecuteNo.DRWork;
+                ClsExcute.SubFormHandleList[ProcessNo].ProcessNo = ProcessNo;
+                ClsExcute.SubFormHandleList[ProcessNo].SubFormHandle = (Form)frm;
+
+                // 起動・編集フラグ
+                int EditFlg = (int)CommonDefine.ProcessDataEdit.Reference;
+                if (!ClsSecurityPermission.GetExecutePermission(ProcessNo, ref EditFlg))
+                {
+                    BackProcess();
+                    return;
+                }
+                if (EditFlg == (int)CommonDefine.ProcessDataEdit.Reference) frm.EditLock = true;
+
+                // パラメータセット
+                frm.PersonCode = CurrentPara.IntExecParameter[0];
+                frm.CreateDate = CurrentPara.DateExecParameter[0];
+                frm.SeqNo = CurrentPara.IntExecParameter[1];
+
+                // フォーム表示
+                frm.ShowDialog();
             }
             catch (Exception ex)
             {
@@ -2723,8 +2774,11 @@
                 frm.PersonCode = CurrentPara.IntExecParameter[0];
                 frm.ApprovalCode = CurrentPara.IntExecParameter[1];
                 frm.OrderNo = CurrentPara.IntExecParameter[2];
-                frm.OrderDate = CommonMotions.cnvDate(CurrentPara.StringExecParameter[0]);
+                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];
+                
                 // フォーム表示
                 frm.ShowDialog();
             }
Index: trunk/src/ProcessManagement/ProcessManagement/DB/IOAccess/IOAttendanceData.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/DB/IOAccess/IOAttendanceData.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/DB/IOAccess/IOAttendanceData.cs	(revision 57)
@@ -54,6 +54,10 @@
             /// </summary>
             TotalOverTimes,
             /// <summary>
+            ///  申請日
+            /// </summary>
+            OrderDate,
+            /// <summary>
             /// 申請受付番号
             /// </summary>
             OrderNo,
@@ -94,6 +98,7 @@
             strcmd += " ,LastDays";                                         // 当月最終日
             strcmd += " ,AttendDayCount";                                   // 出勤日数
             strcmd += " ,TotalOverTimes";                                   // 残業時間数
+            strcmd += " ,OrderDate";                                        // 申請日
             strcmd += " ,OrderNo";                                          // 申請受付番号
             strcmd += " ,TO_CHAR(EntryDate, 'YYYY/MM/DD HH24:MI:ss')";      // 登録年月日
             strcmd += " ,TO_CHAR(UpdateDate, 'YYYY/MM/DD HH24:MI:ss')";     // 更新年月日
@@ -180,16 +185,16 @@
             try
             {
                 strcmd = "INSERT INTO AttendanceData";
-                strcmd += "  (PersonCode";      // 担当者コード
-                strcmd += " ,AttendanceMonth";  // 出勤管理年月
-                strcmd += " ,LastDays";         // 当月最終日
-                strcmd += " ,AttendDayCount";   // 出勤日数
-                strcmd += " ,TotalOverTimes";   // 残業時間数
-                strcmd += " ,OrderNo";          // 申請受付番号
-                strcmd += " ,EntryDate";        // 登録年月日
-                strcmd += " ,UpdateDate)";      // 更新年月日
 
-                strcmd += " VALUES (";
+                strcmd += "(";
+                bool bFirst = true;
+                foreach (var gender in Enum.GetValues(typeof(DataColumn)))
+                {
+                    if (!bFirst) strcmd += " ,";
+                    strcmd += gender.ToString();
+                    bFirst = false;
+                }
+                strcmd += ") VALUES (";
 
                 strcmd += string.Format("  {0}", work.PersonCode);                      // 担当者コード
                 strcmd += string.Format(", TO_DATE('{0}','YYYY/MM/DD')"
@@ -197,6 +202,8 @@
                 strcmd += string.Format(", {0}", work.LastDays);                        // 当月最終日
                 strcmd += string.Format(", {0}", work.AttendDayCount);                  // 出勤日数
                 strcmd += string.Format(", {0}", work.TotalOverTimes);                  // 残業時間数
+                strcmd += string.Format(", TO_DATE('{0}','YYYY/MM/DD')"
+                                            , work.OrderDate.ToShortDateString());      // 申請日
                 strcmd += string.Format(", {0}", work.OrderNo);                         // 申請受付番号
 
                 strcmd += ", TO_DATE(TO_CHAR(sysdate,'YYYY/MM/DD HH24:MI:SS'),'YYYY/MM/DD HH24:MI:SS')";
@@ -253,11 +260,11 @@
                 strcmd += " SET";
 
                 strcmd += string.Format(" PersonCode = {0}", data.PersonCode);                  // 担当者コード
-                strcmd += string.Format(" ,AttendanceMonth = TO_DATE('{0}','YYYY/MM/DD')"
-                                        , data.AttendanceMonth.ToShortDateString());            // 出勤管理年月
+                strcmd += string.Format(" ,AttendanceMonth = TO_DATE('{0}','YYYY/MM/DD')", data.AttendanceMonth.ToShortDateString());   // 出勤管理年月
                 strcmd += string.Format(" ,LastDays =  {0} ", data.LastDays);                   // 当月最終日
                 strcmd += string.Format(" ,AttendDayCount =  {0} ", data.AttendDayCount);       // 出勤日数
                 strcmd += string.Format(" ,TotalOverTimes =  {0} ", data.TotalOverTimes);       // 残業時間数
+                strcmd += string.Format(" ,OrderDate = TO_DATE('{0}','YYYY/MM/DD')", data.OrderDate.ToShortDateString());   // 申請日
                 strcmd += string.Format(" ,OrderNo =  {0} ", data.OrderNo);                     // 申請受付番号
                 
                 strcmd += ", UpdateDate = TO_DATE(TO_CHAR(sysdate,'YYYY/MM/DD HH24:MI:SS'),'YYYY/MM/DD HH24:MI:SS')";
@@ -336,6 +343,9 @@
                     case (int)DataColumn.TotalOverTimes:
                         strcmd += string.Format(" TotalOverTimes = {0}", (double)value);
                         break;
+                    case (int)DataColumn.OrderDate:
+                        strcmd += string.Format(" OrderDate = TO_DATE('{0}','YYYY/MM/DD')", ((DateTime)value).ToShortDateString());
+                        break;
                     case (int)DataColumn.OrderNo:
                         strcmd += string.Format(" OrderNo = {0}", (int)value);
                         break;
@@ -372,6 +382,7 @@
                 wrk.LastDays = int.Parse(objwrk[(int)DataColumn.LastDays].ToString());                      // 当月最終日
                 wrk.AttendDayCount = int.Parse(objwrk[(int)DataColumn.AttendDayCount].ToString());          // 出勤日数
                 wrk.TotalOverTimes = double.Parse(objwrk[(int)DataColumn.TotalOverTimes].ToString());       // 残業時間数
+                wrk.OrderDate = DateTime.Parse(objwrk[(int)DataColumn.OrderDate].ToString());               // 申請日
                 wrk.OrderNo = int.Parse(objwrk[(int)DataColumn.OrderNo].ToString());                        // 申請受付番号
                 
                 wrk.EntryDate = DateTime.Parse(objwrk[(int)DataColumn.EntryDate].ToString());
Index: trunk/src/ProcessManagement/ProcessManagement/DB/IOAccess/IOConstructionBaseInfo.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/DB/IOAccess/IOConstructionBaseInfo.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/DB/IOAccess/IOConstructionBaseInfo.cs	(revision 57)
@@ -239,7 +239,7 @@
             {
                 strcmd = "INSERT INTO ConstructionBaseInfo";
 
-                strcmd += " (";
+                strcmd += "(";
                 bool bFirst = true;
                 foreach (var gender in Enum.GetValues(typeof(TableColumn)))
                 {
Index: trunk/src/ProcessManagement/ProcessManagement/DB/IOAccess/IOConstructionBudgetDetail.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/DB/IOAccess/IOConstructionBudgetDetail.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/DB/IOAccess/IOConstructionBudgetDetail.cs	(revision 57)
@@ -458,16 +458,19 @@
         /// <param name="GroupCount"></param>
         /// <param name="LineCount"></param>
         /// <returns></returns>
-        public string CreatePrimarykeyString(int ConstructionCode, int GroupCount = 0, int LineCount = 0)
+        public string CreatePrimarykeyString(int ConstructionCode, int GroupCount = 0, int LineCount = 0, string Alias = "")
         {
             string strWork = "";
             try
             {
-                strWork = string.Format(" Where ConstructionCode = {0}", ConstructionCode);
+                string strAlias = string.Empty;
+                if (Alias.Length != 0) strAlias = string.Format("{0}.", Alias);
+
+                strWork = string.Format(" Where {0}ConstructionCode = {1}", strAlias, ConstructionCode);
                 if (GroupCount != 0)
-                    strWork += string.Format(" And GroupCount = {0}", GroupCount);
+                    strWork += string.Format(" And {0}GroupCount = {1}", strAlias, GroupCount);
                 if (LineCount != 0)
-                    strWork += string.Format(" And LineCount = {0}", LineCount);
+                    strWork += string.Format(" And {0}LineCount = {1}", strAlias, LineCount);
             }
             catch (Exception ex)
             {
Index: trunk/src/ProcessManagement/ProcessManagement/DB/IOAccess/IOCostomerRegist.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/DB/IOAccess/IOCostomerRegist.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/DB/IOAccess/IOCostomerRegist.cs	(revision 57)
@@ -34,11 +34,10 @@
         /// </summary>
         public enum DataColumn
         {
-            PetitionNo = 0,
+            PersonCode = 0,
+            CreateDate,
             SeqNo,
             PetitionPeriod,
-            PersonCode,
-            PetitionDate,
             OrderFlg,
             CorporateStatusName,
             CorporateStatusPoint,
@@ -55,6 +54,7 @@
             MailAddress,
             Note,
             OrderCotegory,
+            OrderDate,
             OrderNo,
             EntryDate,
             UpdateDate,
@@ -83,11 +83,11 @@
         private string CreateSelectSQL()
         {
             string strcmd = "SELECT";
-            strcmd += " PetitionNo";
+            strcmd += "  PersonCode";
+            strcmd += " ,TO_CHAR(CreateDate, 'YYYY/MM/DD')";
             strcmd += " ,SeqNo";
+
             strcmd += " ,PetitionPeriod";
-            strcmd += " ,PersonCode";
-            strcmd += " ,TO_CHAR(PetitionDate, 'YYYY/MM/DD')";
             strcmd += " ,OrderFlg";
             strcmd += " ,CorporateStatusName";
             strcmd += " ,CorporateStatusPoint";
@@ -104,6 +104,7 @@
             strcmd += " ,MailAddress";
             strcmd += " ,Note";
             strcmd += " ,OrderCotegory";
+            strcmd += " ,TO_CHAR(OrderDate, 'YYYY/MM/DD')";
             strcmd += " ,OrderNo";
 
             strcmd += " ,TO_CHAR(EntryDate, 'YYYY/MM/DD HH24:MI:ss')";
@@ -218,11 +219,10 @@
 
                 strcmd += ") VALUES (";
 
-                strcmd += string.Format("  {0}", work.PetitionNo);
+                strcmd += string.Format("  {0}", work.PersonCode);
+                strcmd += string.Format(", TO_DATE('{0}','YYYY/MM/DD')", work.CreateDate.ToShortDateString());
                 strcmd += string.Format(", {0}", work.SeqNo);
                 strcmd += string.Format(", {0}", work.PetitionPeriod);
-                strcmd += string.Format(", {0}", work.PersonCode);
-                strcmd += string.Format(", TO_DATE('{0}','YYYY/MM/DD')", work.PetitionDate.ToShortDateString());
                 strcmd += string.Format(", {0}", work.OrderFlg);
                 strcmd += string.Format(", '{0}'", work.CorporateStatusName);
                 strcmd += string.Format(", {0}", work.CorporateStatusPoint);
@@ -239,6 +239,7 @@
                 strcmd += string.Format(", '{0}'", work.MailAddress);
                 strcmd += string.Format(", '{0}'", work.Note);
                 strcmd += string.Format(", {0}", work.OrderCotegory);
+                strcmd += string.Format(", TO_DATE('{0}','YYYY/MM/DD')", work.OrderDate.ToShortDateString());
                 strcmd += string.Format(", {0}", work.OrderNo);
 
                 strcmd += ", TO_DATE(TO_CHAR(sysdate,'YYYY/MM/DD HH24:MI:SS'),'YYYY/MM/DD HH24:MI:SS')";
@@ -299,11 +300,10 @@
 
                 strcmd += " SET";
 
-                strcmd += string.Format(" PetitionNo = {0}", data.PetitionNo);
+                strcmd += string.Format(" PersonCode = {0}", data.PersonCode);
+                strcmd += string.Format(", CreateDate = TO_DATE('{0}','YYYY/MM/DD')", data.CreateDate.ToShortDateString());
                 strcmd += string.Format(", SeqNo = {0}", data.SeqNo);
                 strcmd += string.Format(", PetitionPeriod = {0}", data.PetitionPeriod);
-                strcmd += string.Format(", PersonCode = {0}", data.PersonCode);
-                strcmd += string.Format(", PetitionDate = TO_DATE('{0}','YYYY/MM/DD')", data.PetitionDate.ToShortDateString());
                 strcmd += string.Format(", OrderFlg = {0}", data.OrderFlg);
                 strcmd += string.Format(", CorporateStatusName = '{0}'", data.CorporateStatusName);
                 strcmd += string.Format(", CorporateStatusPoint = {0}", data.CorporateStatusPoint);
@@ -320,6 +320,7 @@
                 strcmd += string.Format(", MailAddress = '{0}'", data.MailAddress);
                 strcmd += string.Format(", Note = '{0}'", data.Note);
                 strcmd += string.Format(", OrderCotegory = {0}", data.OrderCotegory);
+                strcmd += string.Format(", OrderDate = TO_DATE('{0}','YYYY/MM/DD')", data.OrderDate.ToShortDateString());
                 strcmd += string.Format(", OrderNo = {0}", data.OrderNo);
 
                 strcmd += ", UpdateDate = TO_DATE(TO_CHAR(sysdate,'YYYY/MM/DD HH24:MI:SS'),'YYYY/MM/DD HH24:MI:SS')";
@@ -369,7 +370,7 @@
         /// 1項目の更新を行う
         /// </summary>
         /// <returns></returns>
-        public bool UpdateFeild(int PetitionNo, int SeqNo, int FeildNo, object value, bool bConnect = true)
+        public bool UpdateFeild(int PersonCode, DateTime CreateDate, int SeqNo, int FeildNo, object value, bool bConnect = true)
         {
             string strcmd = "";
             try
@@ -379,9 +380,12 @@
                 strcmd += " SET";
                 switch (FeildNo)
                 {
-                    case (int)DataColumn.PetitionNo:
-                        strcmd += string.Format(" PetitionNo = {0}", ((int)value).ToString());
+                    case (int)DataColumn.PersonCode:
+                        strcmd += string.Format(" PersonCode = {0}", ((int)value).ToString());
                         break;
+                    case (int)DataColumn.CreateDate:
+                        strcmd += string.Format(" CreateDate = TO_DATE('{0}','YYYY/MM/DD')", ((DateTime)value).ToShortDateString());
+                        break;
                     case (int)DataColumn.SeqNo:
                         strcmd += string.Format(" SeqNo = {0}", ((int)value).ToString());
                         break;
@@ -388,12 +392,6 @@
                     case (int)DataColumn.PetitionPeriod:
                         strcmd += string.Format(" PetitionPeriod = {0}", ((int)value).ToString());
                         break;
-                    case (int)DataColumn.PersonCode:
-                        strcmd += string.Format(" PersonCode = {0}", ((int)value).ToString());
-                        break;
-                    case (int)DataColumn.PetitionDate:
-                        strcmd += string.Format(" PetitionDate = TO_DATE('{0}','YYYY/MM/DD')", ((DateTime)value).ToShortDateString());
-                        break;
                     case (int)DataColumn.OrderFlg:
                         strcmd += string.Format(" OrderFlg = {0}", ((int)value).ToString());
                         break;
@@ -442,6 +440,9 @@
                     case (int)DataColumn.OrderCotegory:
                         strcmd += string.Format(" OrderCotegory = {0}", ((int)value).ToString());
                         break;
+                    case (int)DataColumn.OrderDate:
+                        strcmd += string.Format(" OrderDate = TO_DATE('{0}','YYYY/MM/DD')", ((DateTime)value).ToShortDateString());
+                        break;
                     case (int)DataColumn.OrderNo:
                         strcmd += string.Format(" OrderNo = {0}", ((int)value).ToString());
                         break;
@@ -448,7 +449,7 @@
                 }
 
                 strcmd += ", UpdateDate = TO_DATE(TO_CHAR(sysdate,'YYYY/MM/DD HH24:MI:SS'),'YYYY/MM/DD HH24:MI:SS')";
-                strcmd += CreatePrimarykeyString(PetitionNo, SeqNo);
+                strcmd += CreatePrimarykeyString(PersonCode, CreateDate, SeqNo);
 
                 if (!ExecuteNonQuery(strcmd, bConnect)) return false;
 
@@ -473,12 +474,11 @@
             try
             {
                 // データ取得
-                wrk.PetitionNo = int.Parse(objwrk[(int)DataColumn.PetitionNo].ToString());
+                wrk.PersonCode = int.Parse(objwrk[(int)DataColumn.PersonCode].ToString());
+                wrk.CreateDate = DateTime.Parse(objwrk[(int)DataColumn.CreateDate].ToString());
                 wrk.SeqNo = int.Parse(objwrk[(int)DataColumn.SeqNo].ToString());
                 wrk.PetitionPeriod = int.Parse(objwrk[(int)DataColumn.PetitionPeriod].ToString());
-                wrk.PersonCode = int.Parse(objwrk[(int)DataColumn.PersonCode].ToString());
                 wrk.OrderFlg = int.Parse(objwrk[(int)DataColumn.OrderFlg].ToString());
-                wrk.PetitionDate = DateTime.Parse(objwrk[(int)DataColumn.PetitionDate].ToString());
                 wrk.CorporateStatusName = objwrk[(int)DataColumn.CorporateStatusName].ToString();
                 wrk.CorporateStatusPoint = int.Parse(objwrk[(int)DataColumn.CorporateStatusPoint].ToString());
 
@@ -495,6 +495,7 @@
                 wrk.MailAddress = objwrk[(int)DataColumn.MailAddress].ToString();
                 wrk.Note = objwrk[(int)DataColumn.Note].ToString();
                 wrk.OrderCotegory = int.Parse(objwrk[(int)DataColumn.OrderCotegory].ToString());
+                wrk.OrderDate = DateTime.Parse(objwrk[(int)DataColumn.OrderDate].ToString());
                 wrk.OrderNo = int.Parse(objwrk[(int)DataColumn.OrderNo].ToString());
 
                 wrk.EntryDate = DateTime.Parse(objwrk[(int)DataColumn.EntryDate].ToString());
@@ -556,12 +557,14 @@
         /// </summary>
         /// <param name="ItemCode">大工種キー</param>
         /// <returns>Where文字列</returns>
-        public string CreatePrimarykeyString(int PetitionNo, int SeqNo = 0)
+        public string CreatePrimarykeyString(int PersonCode, DateTime CaretaDate, int SeqNo = 0)
         {
             string strWork = "";
             try
             {
-                strWork = string.Format(" WHERE PetitionNo = {0}", PetitionNo);
+                strWork = string.Format(" WHERE PersonCode = {0}", PersonCode);
+                if (CaretaDate != DateTime.MinValue)
+                    strWork += string.Format(" AND CreateDate = TO_DATE('{0}','YYYY/MM/DD')", CaretaDate.ToShortDateString());
                 if (SeqNo != 0)
                     strWork += string.Format(" AND SeqNo = {0}", SeqNo);
             }
Index: trunk/src/ProcessManagement/ProcessManagement/DB/IOAccess/IOMConstructionTypeMaster.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/DB/IOAccess/IOMConstructionTypeMaster.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/DB/IOAccess/IOMConstructionTypeMaster.cs	(revision 57)
@@ -37,6 +37,8 @@
             DisplayOrder,
             NameString,
             PublicFlg,
+            SecRank,
+            ExpensesLink,
             DeleteFlg,
             EntryDate,
             UpdateDate,
@@ -55,9 +57,9 @@
 
         #endregion
 
-        #region 検索処理
+        #region 名称マスタ検索ＳＱＬ作成
         /// <summary>
-        /// 名称マスタ検索
+        /// 名称マスタ検索ＳＱＬ作成
         /// </summary>
         /// <param name="AddSQLString">検索条件SQL文字列</param>
         /// <param name="data">名称マスタデータ</param>
@@ -70,6 +72,9 @@
             strcmd += ",DisplayOrder";
             strcmd += ",NameString";
             strcmd += ",PublicFlg";
+            strcmd += ",SecRank";
+            strcmd += ",ExpensesLink";
+
             strcmd += ",DeleteFlg";
 
             strcmd += " ,TO_CHAR(EntryDate, 'YYYY/MM/DD HH24:MI:ss')";
@@ -78,6 +83,16 @@
 
             return strcmd;
         }
+        #endregion
+
+        #region 名称マスタ検索（複数件）
+        /// <summary>
+        /// 名称マスタ検索（複数件）
+        /// </summary>
+        /// <param name="AddSQLString"></param>
+        /// <param name="data"></param>
+        /// <param name="bConnect"></param>
+        /// <returns></returns>
         public bool SelectAction(string AddSQLString, ref List<ConstructionTypeMaster> data, bool bConnect = true)
         {
             //Oracle インターフェース
@@ -109,6 +124,16 @@
             }
 
         }
+        #endregion
+
+        #region 名称マスタ検索（１件）
+        /// <summary>
+        /// 名称マスタ検索（１件）
+        /// </summary>
+        /// <param name="AddSQLString"></param>
+        /// <param name="data"></param>
+        /// <param name="bConnect"></param>
+        /// <returns></returns>
         public bool SelectAction(string AddSQLString, ref ConstructionTypeMaster data, bool bConnect = true)
         {
             //Oracle インターフェース
@@ -142,7 +167,7 @@
         }
         #endregion
 
-        #region 追加処理
+        #region 名称マスタ追加（１件）
         /// <summary>
         /// 名称マスタ追加
         /// </summary>
@@ -156,13 +181,23 @@
 
                 strcmd = "INSERT INTO ConstructionTypeMaster";
 
-                strcmd += " VALUES (";
+                strcmd += "(";
+                bool bFirst = true;
+                foreach (var gender in Enum.GetValues(typeof(NameColumn)))
+                {
+                    if (!bFirst) strcmd += " ,";
+                    strcmd += gender.ToString();
+                    bFirst = false;
+                }
+                strcmd += ") VALUES (";
 
-                strcmd += string.Format("  {0}", work.TypeCode.ToString());
-                strcmd += string.Format(", {0}", work.DisplayOrder.ToString());
-                strcmd += string.Format(",'{0}'", work.NameString.ToString());
-                strcmd += string.Format(", {0}", work.PublicFlg.ToString());
-                strcmd += string.Format(", {0}", work.DeleteFlg.ToString());
+                strcmd += string.Format("  {0}", work.TypeCode);
+                strcmd += string.Format(", {0}", work.DisplayOrder);
+                strcmd += string.Format(",'{0}'", work.NameString);
+                strcmd += string.Format(", {0}", work.PublicFlg);
+                strcmd += string.Format(", {0}", work.SecRank);
+                strcmd += string.Format(", {0}", work.ExpensesLink);
+                strcmd += string.Format(", {0}", work.DeleteFlg);
 
                 strcmd += ", TO_DATE(TO_CHAR(sysdate,'YYYY/MM/DD HH24:MI:SS'),'YYYY/MM/DD HH24:MI:SS')";
                 strcmd += ", TO_DATE(TO_CHAR(sysdate,'YYYY/MM/DD HH24:MI:SS'),'YYYY/MM/DD HH24:MI:SS')";
@@ -178,12 +213,20 @@
                 return false;
             }
         }
+        #endregion
+
+        #region 名称マスタ追加（複数件）
+        /// <summary>
+        /// 名称マスタ追加（複数件）
+        /// </summary>
+        /// <param name="data"></param>
+        /// <param name="bConnect"></param>
+        /// <returns></returns>
         public bool InsertAction(List<ConstructionTypeMaster> data, bool bConnect = true)
         {
             string strcmd = "";
             try
             {
-
                 foreach (ConstructionTypeMaster work in data)
                 {
                     if (!InsertAction(work, bConnect)) return false;
@@ -198,7 +241,7 @@
         }
         #endregion
 
-        #region 更新処理
+        #region 名称マスタ更新
         /// <summary>
         /// 名称マスタ更新
         /// </summary>
@@ -215,11 +258,13 @@
 
                 strcmd += " SET";
 
-                strcmd += string.Format(" TypeCode = {0}", data.TypeCode.ToString());
-                strcmd += string.Format(",DisplayOrder = {0}", data.DisplayOrder.ToString());
-                strcmd += string.Format(",NameString = '{0}'", data.NameString.ToString());
-                strcmd += string.Format(",PublicFlg = {0}", data.PublicFlg.ToString());
-                strcmd += string.Format(",DeleteFlg = {0}", data.DeleteFlg.ToString());
+                strcmd += string.Format(" TypeCode = {0}", data.TypeCode);
+                strcmd += string.Format(",DisplayOrder = {0}", data.DisplayOrder);
+                strcmd += string.Format(",NameString = '{0}'", data.NameString);
+                strcmd += string.Format(",PublicFlg = {0}", data.PublicFlg);
+                strcmd += string.Format(",SecRank = {0}", data.SecRank);
+                strcmd += string.Format(",ExpensesLink = {0}", data.ExpensesLink);
+                strcmd += string.Format(",DeleteFlg = {0}", data.DeleteFlg);
 
                 strcmd += ", UpdateDate = TO_DATE(TO_CHAR(sysdate,'YYYY/MM/DD HH24:MI:SS'),'YYYY/MM/DD HH24:MI:SS')";
                 strcmd += AddSQLString;
@@ -313,6 +358,9 @@
                 wrk.DisplayOrder = int.Parse(objwrk[(int)NameColumn.DisplayOrder].ToString());
                 wrk.NameString = objwrk[(int)NameColumn.NameString].ToString();
                 wrk.PublicFlg = int.Parse(objwrk[(int)NameColumn.PublicFlg].ToString());
+                wrk.SecRank = int.Parse(objwrk[(int)NameColumn.SecRank].ToString());
+                wrk.ExpensesLink = int.Parse(objwrk[(int)NameColumn.ExpensesLink].ToString());
+
                 wrk.DeleteFlg = int.Parse(objwrk[(int)NameColumn.DeleteFlg].ToString());
 
                 wrk.EntryDate = DateTime.Parse(objwrk[(int)NameColumn.EntryDate].ToString());
@@ -327,11 +375,9 @@
                 logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
             }
         }
-
         #endregion
 
-        #region パブリックメソッド（特殊処理）
-
+        #region 種別コードの最大値を取得する
         /// <summary>
         /// 種別コードの最大値を取得する
         /// </summary>
@@ -368,7 +414,9 @@
 
             return iRet;
         }
+        #endregion
 
+        #region 表示順の最大値を取得する
         /// <summary>
         /// 表示順の最大値を取得する
         /// </summary>
@@ -405,7 +453,9 @@
 
             return iRet;
         }
+        #endregion
 
+        #region 主キー検索の文字列を返す
         /// <summary>
         /// 主キー検索の文字列を返す
         /// </summary>
Index: trunk/src/ProcessManagement/ProcessManagement/DB/IOAccess/IOMTypeExpenses.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/DB/IOAccess/IOMTypeExpenses.cs	(nonexistent)
+++ trunk/src/ProcessManagement/ProcessManagement/DB/IOAccess/IOMTypeExpenses.cs	(revision 57)
@@ -0,0 +1,435 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Collections;
+
+using log4net;
+using Oracle.ManagedDataAccess.Client;
+
+using ProcessManagement.DB.Oracle;
+using ProcessManagement.DB.Core;
+using ProcessManagement.DataModel;
+
+using ProcessManagement.Common;
+
+namespace ProcessManagement.DB.IOAccess
+{
+    /// <summary>
+    /// 工事種別経費率マスタアクセスクラス
+    /// </summary>
+    public class IOMTypeExpenses : OracleProcess
+    {
+        #region 定義部
+        /// <summary>
+        /// log4netログを使用する
+        /// </summary>
+        private static readonly ILog logger = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
+        #endregion
+
+        #region 定数
+        /// <summary>
+        /// 経費率マスタフィールド並び
+        /// </summary>
+        public enum NameColumn
+        {
+            TypeCode = 0,
+            ExpensesPeriod,
+            NameCode,
+            ExpensesRate,
+            DeleteFlg,
+            EntryDate,
+            UpdateDate,
+        }
+        #endregion
+
+        #region コンストラクタ
+        /// <summary>
+        /// コンストラクタ
+        /// </summary>
+        /// <param name="ConnectionString"></param>
+        public IOMTypeExpenses()
+            : base(DBCommon.Instance.DBConnectString)
+        {
+        }
+
+        #endregion
+
+        #region 経費率マスタ検索SQL作成
+        /// <summary>
+        /// 経費率マスタ検索SQL作成
+        /// </summary>
+        /// <param name="AddSQLString">検索条件SQL文字列</param>
+        /// <param name="data">経費率マスタデータ</param>
+        /// <returns>true：成功 false：失敗</returns>
+        private string CreateSelectSQL()
+        {
+            string strcmd = "SELECT";
+
+            strcmd += " TypeCode";
+            strcmd += " ,ExpensesPeriod";
+            strcmd += " ,NameCode";
+            strcmd += " ,ExpensesRate";
+            strcmd += " ,DeleteFlg";
+
+            strcmd += " ,TO_CHAR(EntryDate, 'YYYY/MM/DD HH24:MI:ss')";
+            strcmd += " ,TO_CHAR(UpdateDate, 'YYYY/MM/DD HH24:MI:ss')";
+            strcmd += " FROM TypeExpensesMaster";
+
+            return strcmd;
+        }
+        #endregion
+
+        #region データ検索（複数件）
+        /// <summary>
+        /// データ検索（複数件）
+        /// </summary>
+        /// <param name="AddSQLString"></param>
+        /// <param name="data"></param>
+        /// <param name="bConnect"></param>
+        /// <returns></returns>
+        public bool SelectAction(string AddSQLString, ref List<TypeExpensesMaster> data, bool bConnect = true)
+        {
+            //Oracle インターフェース
+            string strcmd = "";
+            ArrayList arData = new ArrayList();
+
+            try
+            {
+                // SQL作成（oracleのDateTime型が変換できないのでCharに変換しておく）
+                strcmd = CreateSelectSQL() + AddSQLString;
+
+                // SQL実行
+                if (!ExecuteReader(strcmd, ref arData, bConnect)) return false;
+
+                // データセット
+                foreach (object[] objwrk in arData)
+                {
+                    TypeExpensesMaster work = new TypeExpensesMaster();
+                    Reader2Struct(objwrk, ref work);
+                    data.Add(work);
+                }
+
+                return true;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}：{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd);
+                return false;
+            }
+
+        }
+        #endregion
+
+        #region データ検索（１件）
+        /// <summary>
+        /// データ検索（１件）
+        /// </summary>
+        /// <param name="AddSQLString"></param>
+        /// <param name="data"></param>
+        /// <param name="bConnect"></param>
+        /// <returns></returns>
+        public bool SelectAction(string AddSQLString, ref TypeExpensesMaster data, bool bConnect = true)
+        {
+            //Oracle インターフェース
+            string strcmd = "";
+            ArrayList arData = new ArrayList();
+
+            try
+            {
+                // SQL作成（oracleのDateTime型が変換できないのでCharに変換しておく）
+                strcmd = CreateSelectSQL() + AddSQLString;
+
+                // SQL実行
+                if (!ExecuteReader(strcmd, ref arData, bConnect)) return false;
+                if (arData.Count == 0) return false;
+
+                // データセット
+                foreach (object[] objwrk in arData)
+                {
+                    Reader2Struct(objwrk, ref data);
+                    break;
+                }
+
+                return true;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}：{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd);
+                return false;
+            }
+
+        }
+        #endregion
+
+        #region 経費率マスタ追加（１件）
+        /// <summary>
+        /// 経費率マスタ追加（１件）
+        /// </summary>
+        /// <param name="data">経費率マスタデータ</param>
+        /// <returns>true：成功 false：失敗</returns>
+        public bool InsertAction(TypeExpensesMaster work, bool bConnect = true)
+        {
+            string strcmd = "";
+            try
+            {
+                strcmd = "INSERT INTO TypeExpensesMaster";
+
+                strcmd += "(";
+                bool bFirst = true;
+                foreach (var gender in Enum.GetValues(typeof(NameColumn)))
+                {
+                    if (!bFirst) strcmd += " ,";
+                    strcmd += gender.ToString();
+                    bFirst = false;
+                }
+                strcmd += ") VALUES (";
+
+                strcmd += string.Format("  {0}", work.TypeCode.ToString());
+                strcmd += string.Format(", {0}", work.ExpensesPeriod.ToString());
+                strcmd += string.Format(", {0}", work.NameCode.ToString());
+                strcmd += string.Format(", {0}", work.ExpensesRate.ToString());
+                strcmd += string.Format(", {0}", work.DeleteFlg.ToString());
+
+                strcmd += ", TO_DATE(TO_CHAR(sysdate,'YYYY/MM/DD HH24:MI:SS'),'YYYY/MM/DD HH24:MI:SS')";
+                strcmd += ", TO_DATE(TO_CHAR(sysdate,'YYYY/MM/DD HH24:MI:SS'),'YYYY/MM/DD HH24:MI:SS')";
+                strcmd = strcmd + ")";
+
+                if (!ExecuteNonQuery(strcmd, bConnect)) return false;
+
+                return true;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}：{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd);
+                return false;
+            }
+        }
+        #endregion
+
+        #region 経費率マスタ追加（複数件）
+        /// <summary>
+        /// 経費率マスタ追加
+        /// </summary>
+        /// <param name="data">経費率マスタデータ</param>
+        /// <returns>true：成功 false：失敗</returns>
+        public bool InsertAction(List<TypeExpensesMaster> data, bool bConnect = true)
+        {
+            string strcmd = "";
+            try
+            {
+                foreach (TypeExpensesMaster work in data)
+                {
+                    if (!InsertAction(work, bConnect)) return false;
+                }
+                return true;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}：{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd);
+                return false;
+            }
+        }
+        #endregion
+
+        #region 経費率マスタ更新
+        /// <summary>
+        /// 経費率マスタ更新
+        /// </summary>
+        /// <param name="AddSQLString">更新条件SQL文字列</param>
+        /// <param name="data">経費率マスタデータ</param>
+        /// <returns>true：成功 false：失敗</returns>
+        public bool UpdateAction(string AddSQLString, TypeExpensesMaster data, bool bConnect = true)
+        {
+            string strcmd = "";
+            try
+            {
+
+                strcmd = "UPDATE TypeExpensesMaster";
+
+                strcmd += " SET";
+
+                strcmd += string.Format(" TypeCode = {0}", data.TypeCode.ToString());
+                strcmd += string.Format(",ExpensesPeriod = {0}", data.ExpensesPeriod.ToString());
+                strcmd += string.Format(",NameCode = {0}", data.NameCode.ToString());
+                strcmd += string.Format(",ExpensesRate = {0}", data.ExpensesRate.ToString());
+                strcmd += string.Format(",DeleteFlg = {0}", data.DeleteFlg.ToString());
+
+                strcmd += ", UpdateDate = TO_DATE(TO_CHAR(sysdate,'YYYY/MM/DD HH24:MI:SS'),'YYYY/MM/DD HH24:MI:SS')";
+                strcmd += AddSQLString;
+
+                if (!ExecuteNonQuery(strcmd, bConnect)) return false;
+
+                return true;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}：{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd);
+                return false;
+            }
+        }
+        #endregion
+
+        #region 経費率マスタ削除
+        /// <summary>
+        /// 経費率マスタ削除
+        /// </summary>
+        /// <param name="AddSQLString">削除条件SQL文字列</param>
+        /// <param name="data">経費率マスタデータ</param>
+        /// <returns>true：成功 false：失敗</returns>
+        public bool DeleteAction(string AddSQLString, bool bConnect = true)
+        {
+            //Oracle インターフェース
+            string strcmd = "";
+            try
+            {
+                strcmd = string.Format("{0}{1}", "DELETE FROM TypeExpensesMaster", AddSQLString);
+
+                if (!ExecuteNonQuery(strcmd, bConnect)) return false;
+
+                return true;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}：{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd);
+                return false;
+            }
+        }
+        #endregion
+
+        #region 論理削除
+        /// <summary>
+        /// 論理削除
+        /// </summary>
+        /// <param name="NameCode">名称コード</param>
+        /// <returns>成功時：true　失敗時：false</returns>
+        public bool LogicalDeleteAction(int NameCode, bool bConnect = true)
+        {
+            // Where文字列作成
+            string strWhere = CreatePrimarykeyString(NameCode);
+            try
+            {
+                List<TypeExpensesMaster> workList = new List<TypeExpensesMaster>();
+                // データ読込
+                if (SelectAction(strWhere, ref workList, bConnect))
+                {
+                    if (workList.Count == 0) return true;
+
+                    // 削除フラグ
+                    workList[0].DeleteFlg = 1;
+                    // データ更新
+                    if (!UpdateAction(strWhere, workList[0], bConnect))
+                    {
+                        rollback();
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}：{2}", CommonMotions.GetMethodName(2), ex.Message, strWhere);
+                return false;
+            }
+        }
+        #endregion
+
+        #region OracleDataReaderより構造体へセットする
+        /// <summary>
+        /// OracleDataReaderより構造体へセットする
+        /// </summary>
+        /// <param name="reader">OracleDataReader</param>
+        /// <param name="wrk">構造体</param>
+        public void Reader2Struct(object[] objwrk, ref TypeExpensesMaster wrk)
+        {
+            try
+            {
+                // データ取得
+                wrk.TypeCode = int.Parse(objwrk[(int)NameColumn.TypeCode].ToString());
+                wrk.ExpensesPeriod = int.Parse(objwrk[(int)NameColumn.ExpensesPeriod].ToString());
+                wrk.NameCode = int.Parse(objwrk[(int)NameColumn.NameCode].ToString());
+                wrk.ExpensesRate = double.Parse(objwrk[(int)NameColumn.ExpensesRate].ToString());
+                wrk.DeleteFlg = int.Parse(objwrk[(int)NameColumn.DeleteFlg].ToString());
+
+                wrk.EntryDate = DateTime.Parse(objwrk[(int)NameColumn.EntryDate].ToString());
+                wrk.UpdateDate = DateTime.Parse(objwrk[(int)NameColumn.UpdateDate].ToString());
+            }
+            catch (OracleException oraex)
+            {
+                logger.ErrorFormat("オラクルエラー：{0}：{1}", CommonMotions.GetMethodName(), oraex.Message);
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
+        #region 区分別の最大値を取得する
+        /// <summary>
+        /// 区分別の最大値を取得する
+        /// </summary>
+        /// <param name="AddSQLString"></param>
+        /// <param name="bConnect"></param>
+        /// <returns></returns>
+        public int SelectMaxCategoryHistoryCount(string AddSQLString, bool bConnect = true)
+        {
+            //Oracle インターフェース
+            string strcmd = "";
+            ArrayList arData = new ArrayList();
+            int iRet = 0;
+            try
+            {
+                // SQL作成
+                strcmd = "SELECT NVL(MAX(NameCode), 0) FROM TypeExpensesMaster" + AddSQLString;
+
+                // SQL実行
+                if (!ExecuteReader(strcmd, ref arData, bConnect)) return iRet;
+
+                // データセット
+                foreach (object[] objwrk in arData)
+                {
+                    if (objwrk[0].ToString().Equals(""))
+                        iRet = 0;
+                    else
+                        iRet = int.Parse(objwrk[0].ToString());
+                }
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}：{2}", CommonMotions.GetMethodName(2), ex.Message, strcmd);
+            }
+
+            return iRet;
+        }
+        #endregion
+
+        #region 主キー検索の文字列を返す
+        /// <summary>
+        /// 主キー検索の文字列を返す
+        /// </summary>
+        /// <param name="NameCode">名称コード</param>
+        /// <returns>Where文字列</returns>
+        public string CreatePrimarykeyString(int TypeCode, int Period = 0, int NameCode = 0, string Alias = "")
+        {
+            string strWork = string.Empty;
+            try
+            {
+                string strAlias = string.Empty;
+                if (Alias.Length != 0) strAlias = string.Format("{0}.", Alias);
+                strWork = string.Format(" Where {0}TypeCode = {1}", strAlias, TypeCode);
+                if (Period != 0)
+                    strWork += string.Format(" And {0}ExpensesPeriod = {1}", strAlias, Period);
+                if (NameCode != 0)
+                    strWork += string.Format(" And {0}NameCode = {1}", strAlias, NameCode);
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}：{2}", CommonMotions.GetMethodName(2), ex.Message, strWork);
+            }
+
+            return strWork;
+        }
+        #endregion
+    }
+}
Index: trunk/src/ProcessManagement/ProcessManagement/DataModel/AttendanceData.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/DataModel/AttendanceData.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/DataModel/AttendanceData.cs	(revision 57)
@@ -32,6 +32,10 @@
         /// </summary>
         private double      m_TotalOverTimes = 0;
         /// <summary>
+        ///  申請日
+        /// </summary>
+        private DateTime    m_OrderDate = DateTime.MinValue;
+        /// <summary>
         /// 申請受付番号
         /// </summary>
         private int         m_OrderNo = 0;
@@ -87,6 +91,14 @@
             set { m_TotalOverTimes = value; }
         }
         /// <summary>
+        ///  申請日
+        /// </summary>
+        public DateTime OrderDate
+        {
+            get { return m_OrderDate; }
+            set { m_OrderDate = value; }
+        }
+        /// <summary>
         /// 申請受付番号
         /// </summary>
         public int OrderNo
Index: trunk/src/ProcessManagement/ProcessManagement/DataModel/ConstructionTypeMaster.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/DataModel/ConstructionTypeMaster.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/DataModel/ConstructionTypeMaster.cs	(revision 57)
@@ -14,7 +14,10 @@
         private int         m_TypeCode = 0;	                    // 工事種別コード
         private int         m_DisplayOrder = 0;	                // 表示順
         private string      m_NameString = string.Empty;	    // 表示名称
+        private int         m_SecRank = 0;                      // 保護区分ランク
         private int         m_PublicFlg = 0;                    // 公共工事フラグ
+        private int         m_ExpensesLink = 0;                 // 経費使用区分
+
         private int         m_DeleteFlg = 0;	                // 削除フラグ
         private DateTime    m_EntryDate = DateTime.Now;         // 登録日付
         private DateTime    m_UpdateDate = DateTime.Now;        // 更新日付
@@ -49,6 +52,14 @@
             set { m_NameString = value; }
         }
         /// <summary>
+        /// 保護区分ランク
+        /// </summary>
+        public int SecRank
+        {
+            get { return m_SecRank; }
+            set { m_SecRank = value; }
+        }
+        /// <summary>
         /// 公共工事フラグ
         /// </summary>
         public int PublicFlg
@@ -57,6 +68,14 @@
             set { m_PublicFlg = value; }
         }
         /// <summary>
+        /// 経費使用区分
+        /// </summary>
+        public int ExpensesLink
+        {
+            get { return m_ExpensesLink; }
+            set { m_ExpensesLink = value; }
+        }
+        /// <summary>
         /// 削除フラグ
         /// </summary>
         public int DeleteFlg
Index: trunk/src/ProcessManagement/ProcessManagement/DataModel/CostomerRegist.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/DataModel/CostomerRegist.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/DataModel/CostomerRegist.cs	(revision 57)
@@ -11,15 +11,15 @@
     public class CostomerRegist
     {
         #region メンバ変数
-        private int         m_PetitionNo = 0;                       // 登録申請年月
+        private int         m_PersonCode = 0;                       // 申請者番号
+        private DateTime    m_CreateDate = DateTime.Now;            // 作成日
         private int         m_SeqNo = 0;                            // 申請連番
+
         private int         m_PetitionPeriod = 0;                   // 申請年度
-        private int         m_PersonCode = 0;                       // 申請者番号
-        private DateTime    m_PetitionDate = DateTime.Now;          // 申請日
         
         private int         m_OrderFlg = 0;                         // 法人団体・個人フラグ
         private string      m_CorporateStatusName = string.Empty;	// 法人格名称
-        private int         m_CorporateStatusPoint = 0;	            // 法人格名称
+        private int         m_CorporateStatusPoint = 0;	            // 法人格名称位置
         private string      m_OrderersName1 = string.Empty;	        // 発注者名１
         private string      m_OrderersName2 = string.Empty;	        // 発注者名２
 
@@ -35,6 +35,8 @@
         private string      m_MailAddress = string.Empty;           // メールアドレス
         private string      m_note = string.Empty;	                // 備考
         private int         m_OrderCotegory = 0;                    // 発注者区分
+
+        private DateTime    m_OrderDate = DateTime.MinValue;        // 申請日
         private int         m_OrderNo = 0;                          // 申請受付番号
 
         private DateTime    m_EntryDate = DateTime.Now;             // 登録日付
@@ -46,14 +48,22 @@
 
         #region プロパティ
         /// <summary>
-        /// 登録申請番号
+        /// 申請者番号
         /// </summary>
-        public int PetitionNo
+        public int PersonCode
         {
-            get { return m_PetitionNo; }
-            set { m_PetitionNo = value; }
+            get { return m_PersonCode; }
+            set { m_PersonCode = value; }
         }
         /// <summary>
+        /// 作成日
+        /// </summary>
+        public DateTime CreateDate
+        {
+            get { return m_CreateDate; }
+            set { m_CreateDate = value; }
+        }
+        /// <summary>
         /// 申請連番
         /// </summary>
         public int SeqNo
@@ -61,6 +71,7 @@
             get { return m_SeqNo; }
             set { m_SeqNo = value; }
         }
+
         /// <summary>
         /// 申請年度
         /// </summary>
@@ -69,23 +80,8 @@
             get { return m_PetitionPeriod; }
             set { m_PetitionPeriod = value; }
         }
+
         /// <summary>
-        /// 申請者番号
-        /// </summary>
-        public int PersonCode
-        {
-            get { return m_PersonCode; }
-            set { m_PersonCode = value; }
-        }
-        /// <summary>
-        /// 申請日
-        /// </summary>
-        public DateTime PetitionDate
-        {
-            get { return m_PetitionDate; }
-            set { m_PetitionDate = value; }
-        }
-        /// <summary>
         /// 法人団体・個人フラグ
         /// </summary>
         public int OrderFlg
@@ -213,7 +209,16 @@
             get { return m_OrderCotegory; }
             set { m_OrderCotegory = value; }
         }
+
         /// <summary>
+        /// 申請日
+        /// </summary>
+        public DateTime OrderDate
+        {
+            get { return m_OrderDate; }
+            set { m_OrderDate = value; }
+        }
+        /// <summary>
         /// 申請受付番号
         /// </summary>
         public int OrderNo
@@ -221,6 +226,7 @@
             get { return m_OrderNo; }
             set { m_OrderNo = value; }
         }
+
         /// <summary>
         /// 登録日付
         /// </summary>
Index: trunk/src/ProcessManagement/ProcessManagement/DataModel/ProcessParameter.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/DataModel/ProcessParameter.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/DataModel/ProcessParameter.cs	(revision 57)
@@ -32,6 +32,10 @@
         /// ブール値パラメータ
         /// </summary>
         private List<bool> m_BoolParameter = new List<bool>();
+        /// <summary>
+        /// 日付値パラメータ
+        /// </summary>
+        private List<DateTime> m_DateParameter = new List<DateTime>();
 
         /// <summary>
         /// 数値パラメータ
@@ -81,6 +85,14 @@
             set { m_BoolParameter = value; }
         }
         /// <summary>
+        /// 日付値パラメータ
+        /// </summary>
+        public List<DateTime> DateExecParameter
+        {
+            get { return m_DateParameter; }
+            set { m_DateParameter = value; }
+        }
+        /// <summary>
         /// 退避用数値パラメータ
         /// </summary>
         public List<int> IntSaveParameter
Index: trunk/src/ProcessManagement/ProcessManagement/DataModel/TypeExpensesMaster.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/DataModel/TypeExpensesMaster.cs	(nonexistent)
+++ trunk/src/ProcessManagement/ProcessManagement/DataModel/TypeExpensesMaster.cs	(revision 57)
@@ -0,0 +1,85 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace ProcessManagement.DataModel
+{
+    /// <summary>
+    /// 工事種別経費率マスタ
+    /// </summary>
+    public class TypeExpensesMaster
+    {
+        #region メンバ変数
+        private int         m_TypeCode = 0;	                    // 工事種別コード
+        private int         m_ExpensesPeriod = 0;               // 事業期
+        private int         m_NameCode = 0;	                    // 経費区分コード
+        private double      m_ExpensesRate = 0;	                // 経費率
+        private int         m_DeleteFlg = 0;	                // 削除フラグ
+        private DateTime    m_EntryDate = DateTime.Now;         // 登録日付
+        private DateTime    m_UpdateDate = DateTime.Now;        // 更新日付
+        #endregion
+
+        #region コンストラクタ
+        #endregion
+
+        #region プロパティ
+        /// <summary>
+        /// 工事種別コード
+        /// </summary>
+        public int TypeCode
+        {
+            get { return m_TypeCode; }
+            set { m_TypeCode = value; }
+        }
+        /// <summary>
+        /// 事業期
+        /// </summary>
+        public int ExpensesPeriod
+        {
+            get { return m_ExpensesPeriod; }
+            set { m_ExpensesPeriod = value; }
+        }
+        /// <summary>
+        /// 経費区分コード
+        /// </summary>
+        public int NameCode
+        {
+            get { return m_NameCode; }
+            set { m_NameCode = value; }
+        }
+        /// <summary>
+        /// 経費率
+        /// </summary>
+        public double ExpensesRate
+        {
+            get { return m_ExpensesRate; }
+            set { m_ExpensesRate = value; }
+        }
+        /// <summary>
+        /// 削除フラグ
+        /// </summary>
+        public int DeleteFlg
+        {
+            get { return m_DeleteFlg; }
+            set { m_DeleteFlg = value; }
+        }
+        /// <summary>
+        /// 登録日付
+        /// </summary>
+        public DateTime EntryDate
+        {
+            set { m_EntryDate = value; }
+            get { return m_EntryDate; }
+        }
+        /// <summary>
+        /// 更新日付
+        /// </summary>
+        public DateTime UpdateDate
+        {
+            set { m_UpdateDate = value; }
+            get { return m_UpdateDate; }
+        }
+        #endregion
+    }
+}
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalPerson/FrmApprovalPerson.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalPerson/FrmApprovalPerson.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalPerson/FrmApprovalPerson.cs	(revision 57)
@@ -75,8 +75,15 @@
         }
         #endregion
 
+        #region �\���E�Đ\���E����{�^���ʒu
+        /// <summary>
+        /// �\���E�Đ\���E����{�^���ʒu
+        /// </summary>
+        Point[] s_ButtonPosition = new Point[] { new Point(6, 58), new Point(258, 58), new Point(510, 58) };
         #endregion
 
+        #endregion
+
         #region �ϐ�
         /// <summary>
         /// ���x���R���g���[���ێ��z��
@@ -111,10 +118,14 @@
         /// </summary>
         private int m_OrderNo = 0;
         /// <summary>
-        /// �������}��
+        /// �������t�L�[
         /// </summary>
-        private List<int> m_PurchaseOrderSeqNo = new List<int>();
+        private DateTime m_SearchDate = DateTime.MinValue;
         /// <summary>
+        /// �����}�ԃL�[
+        /// </summary>
+        private int m_SearchSeqNo = 0;
+        /// <summary>
         /// �Y���H����{���
         /// </summary>
         private ConstructionBaseInfo m_ConstructionBaseInfo = new ConstructionBaseInfo();
@@ -158,13 +169,21 @@
             set { m_OrderNo = value; }
         }
         /// <summary>
-        /// �������}��
+        /// �������t�L�[
         /// </summary>
-        public List<int> PurchaseOrderSeqNo
+        public DateTime DataSearchDate
         {
-            get { return m_PurchaseOrderSeqNo; }
-            set { m_PurchaseOrderSeqNo = value; }
+            get { return m_SearchDate; }
+            set { m_SearchDate = value; }
         }
+        /// <summary>
+        /// �����}�ԃL�[
+        /// </summary>
+        public int DataSearchSeqNo
+        {
+            get { return m_SearchSeqNo; }
+            set { m_SearchSeqNo = value; }
+        }
 
         #endregion
 
@@ -219,7 +238,7 @@
         }
         #endregion
 
-        #region �C�x���g���\�b�h
+        #region �t�B�[���h�l�ύX�t���O
         /// <summary>
         /// �t�B�[���h�l�ύX�t���O
         /// </summary>
@@ -290,6 +309,31 @@
         }
         #endregion
 
+        #region �R�����g����
+        /// <summary>
+        /// �R�����g����
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void txtPetitionComment_Validated(object sender, EventArgs e)
+        {
+            try
+            {
+                // �I�����̓`�F�b�N���Ȃ�
+                if (ActiveControl == btnEnd) return;
+
+                if (!CommonMotions.DispFieldLengthCheck((Control)sender, 300))
+                {
+                    MessageBox.Show("��������300�����܂œ��͉\�ł�", "���̓G���[", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                }
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("�V�X�e���G���[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
         #region Entry�L�[�ł̈ړ�����
         /// <summary>
         /// Entry�L�[�ł̈ړ�����
@@ -515,6 +559,62 @@
         }
         #endregion
 
+        #region �Đ\���{�^������
+        /// <summary>
+        /// �Đ\���{�^������
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnRePetition_Click(object sender, EventArgs e)
+        {
+            IOPersonApproval pAppDB = new IOPersonApproval();
+            try
+            {
+                if (MessageBox.Show("�\���f�[�^���ēx�\�����܂��A��낵���ł����H�B", "�Đ\���m�F"
+                                , MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) return;
+
+                pAppDB.connect(); pAppDB.beginTran();
+
+                // ���F�f�[�^����C�ɍ폜����
+                string strSQL = pAppDB.CreatePrimarykeyString(m_PersonCode, m_ApprovalCode, m_OrderDate, m_OrderNo);
+                strSQL += " AND SeqNo != 1";
+                if (!pAppDB.DeleteAction(strSQL, false))
+                {
+                    pAppDB.rollback();
+                    MessageBox.Show("�Đ\���Ɏ��s���܂����B", "�Đ\���G���[", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                    return;
+                }
+                // �\���f�[�^��\�����ɖ߂�
+                if (!pAppDB.UpdateFeild(m_PersonCode,
+                                    m_ApprovalCode,
+                                    m_OrderDate,
+                                    (int)IOProcessApproval.ColumnName.ApprovalStatus,
+                                    (int)CommonDefine.ApprovalStatus.Petition,
+                                    false))
+                {
+                    pAppDB.rollback();
+                    return;
+                }
+
+                pAppDB.commit();
+                // �������b�Z�[�W
+                CommonMotions.EntryEndMessage("�S���Ґ\���f�[�^�Đ\��", "�Đ\��");
+
+                m_bChengeAns = false;
+
+                this.Close();
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("�V�X�e���G���[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+            finally
+            {
+                pAppDB.close(); pAppDB = null;
+            }
+        }
+        #endregion
+
         #region �\���������{�^������
         /// <summary>
         /// �\���������{�^������
@@ -537,6 +637,9 @@
                     return;
                 }
 
+                // �\�����f�[�^���֘A���ڂ��N���A����
+                ClearApprovalOrderNo();
+
                 // �R�����g�폜
                 RemoveCommentData();
 
@@ -570,9 +673,12 @@
             // ----- �������Z�b�g
             switch (m_ApprovalCode)
             {
-                case (int)ClsExcute.ApprovalListNo.DRWorkApproval:                        // 8:�o�ΊǗ����F
+                case (int)ClsExcute.ApprovalListNo.DRWorkApproval:                      // 8:�o�ΊǗ����F
                     iNextProcessNo = (int)ClsExcute.ProcessExecuteNo.DRWork;
                     break;
+                case (int)ClsExcute.ApprovalListNo.CostomerRegistApproval:              // 9:�����ғo�^���F
+                    iNextProcessNo = (int)ClsExcute.ProcessExecuteNo.CostomerRegist;
+                    break;
             }
             if (iNextProcessNo == 0) return;
 
@@ -580,10 +686,10 @@
             int NowPoint = ClsExcute.NextProcess(iNextProcessNo);
             // ----- �S���҃R�[�h�Z�b�g
             ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(m_PersonCode);
-            // ���F�@�\�ԍ�
-            ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(m_ApprovalCode);
             // ��t��
-            ClsExcute.ProcControlPara[NowPoint].StringExecParameter.Add(m_OrderDate.ToShortDateString());
+            ClsExcute.ProcControlPara[NowPoint].DateExecParameter.Add(m_SearchDate);
+            // ��t�ԍ�
+            ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(m_SearchSeqNo);
 
             m_bTargetFlg = true;
             m_bEndFlg = true;
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalPerson/FrmApprovalPerson.designer.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalPerson/FrmApprovalPerson.designer.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalPerson/FrmApprovalPerson.designer.cs	(revision 57)
@@ -42,6 +42,13 @@
             this.btnEnd = new System.Windows.Forms.Button();
             this.panel2 = new System.Windows.Forms.Panel();
             this.dgvEntryData = new ProcessManagement.Forms.CustomControls.DataGridViewEX();
+            this.Column01 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.Column02 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.Column03 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.Column06 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.Column07 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.Column04 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.Column05 = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.panel1 = new System.Windows.Forms.Panel();
             this.lblLabel03 = new System.Windows.Forms.Label();
             this.label2 = new System.Windows.Forms.Label();
@@ -63,6 +70,8 @@
             this.btnNotApproval = new System.Windows.Forms.Button();
             this.btnOnHold = new System.Windows.Forms.Button();
             this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
+            this.btnPetition = new System.Windows.Forms.Button();
+            this.btnRePetition = new System.Windows.Forms.Button();
             this.panel4 = new System.Windows.Forms.Panel();
             this.lblLabel09 = new System.Windows.Forms.Label();
             this.label4 = new System.Windows.Forms.Label();
@@ -75,7 +84,6 @@
             this.label12 = new System.Windows.Forms.Label();
             this.txtHoppesDate = new System.Windows.Forms.TextBox();
             this.btnNotPetition = new System.Windows.Forms.Button();
-            this.btnPetition = new System.Windows.Forms.Button();
             this.panel5 = new System.Windows.Forms.Panel();
             this.btnReturnComment = new System.Windows.Forms.Button();
             this.btnRemoveComment = new System.Windows.Forms.Button();
@@ -82,13 +90,6 @@
             this.btnEntryComment = new System.Windows.Forms.Button();
             this.label18 = new System.Windows.Forms.Label();
             this.tvDispData = new System.Windows.Forms.TreeView();
-            this.Column01 = new System.Windows.Forms.DataGridViewTextBoxColumn();
-            this.Column02 = new System.Windows.Forms.DataGridViewTextBoxColumn();
-            this.Column03 = new System.Windows.Forms.DataGridViewTextBoxColumn();
-            this.Column06 = new System.Windows.Forms.DataGridViewTextBoxColumn();
-            this.Column07 = new System.Windows.Forms.DataGridViewTextBoxColumn();
-            this.Column04 = new System.Windows.Forms.DataGridViewTextBoxColumn();
-            this.Column05 = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.panel2.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.dgvEntryData)).BeginInit();
             this.panel1.SuspendLayout();
@@ -171,6 +172,90 @@
             this.dgvEntryData.Size = new System.Drawing.Size(744, 146);
             this.dgvEntryData.TabIndex = 8;
             // 
+            // Column01
+            // 
+            this.Column01.Frozen = true;
+            this.Column01.HeaderText = "承認者コード";
+            this.Column01.Name = "Column01";
+            this.Column01.ReadOnly = true;
+            this.Column01.Resizable = System.Windows.Forms.DataGridViewTriState.False;
+            this.Column01.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            this.Column01.Visible = false;
+            this.Column01.Width = 5;
+            // 
+            // Column02
+            // 
+            dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            dataGridViewCellStyle2.Font = new System.Drawing.Font("Century", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+            dataGridViewCellStyle2.ForeColor = System.Drawing.Color.Black;
+            this.Column02.DefaultCellStyle = dataGridViewCellStyle2;
+            this.Column02.Frozen = true;
+            this.Column02.HeaderText = "№";
+            this.Column02.Name = "Column02";
+            this.Column02.ReadOnly = true;
+            this.Column02.Resizable = System.Windows.Forms.DataGridViewTriState.False;
+            this.Column02.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            this.Column02.Width = 44;
+            // 
+            // Column03
+            // 
+            dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            this.Column03.DefaultCellStyle = dataGridViewCellStyle3;
+            this.Column03.Frozen = true;
+            this.Column03.HeaderText = "承認者名";
+            this.Column03.Name = "Column03";
+            this.Column03.ReadOnly = true;
+            this.Column03.Resizable = System.Windows.Forms.DataGridViewTriState.False;
+            this.Column03.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            this.Column03.Width = 150;
+            // 
+            // Column06
+            // 
+            dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            this.Column06.DefaultCellStyle = dataGridViewCellStyle4;
+            this.Column06.Frozen = true;
+            this.Column06.HeaderText = "承認状態";
+            this.Column06.Name = "Column06";
+            this.Column06.ReadOnly = true;
+            this.Column06.Resizable = System.Windows.Forms.DataGridViewTriState.False;
+            this.Column06.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            this.Column06.Width = 125;
+            // 
+            // Column07
+            // 
+            dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            dataGridViewCellStyle5.Font = new System.Drawing.Font("Century", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+            this.Column07.DefaultCellStyle = dataGridViewCellStyle5;
+            this.Column07.Frozen = true;
+            this.Column07.HeaderText = "処理日付";
+            this.Column07.Name = "Column07";
+            this.Column07.ReadOnly = true;
+            this.Column07.Resizable = System.Windows.Forms.DataGridViewTriState.False;
+            this.Column07.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            this.Column07.Width = 120;
+            // 
+            // Column04
+            // 
+            dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            this.Column04.DefaultCellStyle = dataGridViewCellStyle6;
+            this.Column04.HeaderText = "所　属";
+            this.Column04.Name = "Column04";
+            this.Column04.ReadOnly = true;
+            this.Column04.Resizable = System.Windows.Forms.DataGridViewTriState.False;
+            this.Column04.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            this.Column04.Width = 145;
+            // 
+            // Column05
+            // 
+            dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            this.Column05.DefaultCellStyle = dataGridViewCellStyle7;
+            this.Column05.HeaderText = "役　職";
+            this.Column05.Name = "Column05";
+            this.Column05.ReadOnly = true;
+            this.Column05.Resizable = System.Windows.Forms.DataGridViewTriState.False;
+            this.Column05.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            this.Column05.Width = 157;
+            // 
             // panel1
             // 
             this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
@@ -260,12 +345,13 @@
             // 
             this.btnTargetData.BackColor = System.Drawing.Color.DarkCyan;
             this.btnTargetData.ForeColor = System.Drawing.Color.White;
-            this.btnTargetData.Location = new System.Drawing.Point(930, 26);
+            this.btnTargetData.Location = new System.Drawing.Point(930, 30);
             this.btnTargetData.Name = "btnTargetData";
             this.btnTargetData.Size = new System.Drawing.Size(380, 34);
             this.btnTargetData.TabIndex = 45;
             this.btnTargetData.TabStop = false;
             this.btnTargetData.Text = "承認対象データを見る";
+            this.toolTip1.SetToolTip(this.btnTargetData, "承認対象のデータを確認します。");
             this.btnTargetData.UseVisualStyleBackColor = false;
             this.btnTargetData.Click += new System.EventHandler(this.btnTargetData_Click);
             // 
@@ -413,10 +499,37 @@
             this.btnOnHold.UseVisualStyleBackColor = false;
             this.btnOnHold.Click += new System.EventHandler(this.btnOnHold_Click);
             // 
+            // btnPetition
+            // 
+            this.btnPetition.BackColor = System.Drawing.Color.Lime;
+            this.btnPetition.Location = new System.Drawing.Point(6, 58);
+            this.btnPetition.Name = "btnPetition";
+            this.btnPetition.Size = new System.Drawing.Size(240, 30);
+            this.btnPetition.TabIndex = 31;
+            this.btnPetition.Text = "申　請　す　る";
+            this.toolTip1.SetToolTip(this.btnPetition, "承認を申請します。");
+            this.btnPetition.UseVisualStyleBackColor = false;
+            this.btnPetition.Visible = false;
+            this.btnPetition.Click += new System.EventHandler(this.btnPetition_Click);
+            // 
+            // btnRePetition
+            // 
+            this.btnRePetition.BackColor = System.Drawing.Color.MediumSeaGreen;
+            this.btnRePetition.Location = new System.Drawing.Point(258, 58);
+            this.btnRePetition.Name = "btnRePetition";
+            this.btnRePetition.Size = new System.Drawing.Size(240, 30);
+            this.btnRePetition.TabIndex = 41;
+            this.btnRePetition.Text = "再　申　請　す　る";
+            this.toolTip1.SetToolTip(this.btnRePetition, "指摘事項等の変更後、再度申請をし直すときに押下します。\r\n初めから承認をやり直します。");
+            this.btnRePetition.UseVisualStyleBackColor = false;
+            this.btnRePetition.Visible = false;
+            this.btnRePetition.Click += new System.EventHandler(this.btnRePetition_Click);
+            // 
             // panel4
             // 
             this.panel4.BackColor = System.Drawing.Color.Gold;
             this.panel4.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
+            this.panel4.Controls.Add(this.btnRePetition);
             this.panel4.Controls.Add(this.lblLabel09);
             this.panel4.Controls.Add(this.label4);
             this.panel4.Controls.Add(this.label16);
@@ -551,9 +664,9 @@
             // btnNotPetition
             // 
             this.btnNotPetition.BackColor = System.Drawing.Color.Red;
-            this.btnNotPetition.Location = new System.Drawing.Point(490, 58);
+            this.btnNotPetition.Location = new System.Drawing.Point(510, 58);
             this.btnNotPetition.Name = "btnNotPetition";
-            this.btnNotPetition.Size = new System.Drawing.Size(260, 30);
+            this.btnNotPetition.Size = new System.Drawing.Size(240, 30);
             this.btnNotPetition.TabIndex = 31;
             this.btnNotPetition.Text = "申請を取消しする";
             this.btnNotPetition.UseVisualStyleBackColor = false;
@@ -560,18 +673,6 @@
             this.btnNotPetition.Visible = false;
             this.btnNotPetition.Click += new System.EventHandler(this.btnNotPetition_Click);
             // 
-            // btnPetition
-            // 
-            this.btnPetition.BackColor = System.Drawing.Color.Lime;
-            this.btnPetition.Location = new System.Drawing.Point(224, 58);
-            this.btnPetition.Name = "btnPetition";
-            this.btnPetition.Size = new System.Drawing.Size(260, 30);
-            this.btnPetition.TabIndex = 31;
-            this.btnPetition.Text = "申　請　す　る";
-            this.btnPetition.UseVisualStyleBackColor = false;
-            this.btnPetition.Visible = false;
-            this.btnPetition.Click += new System.EventHandler(this.btnPetition_Click);
-            // 
             // panel5
             // 
             this.panel5.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
@@ -652,90 +753,6 @@
             this.tvDispData.Size = new System.Drawing.Size(544, 308);
             this.tvDispData.TabIndex = 158;
             // 
-            // Column01
-            // 
-            this.Column01.Frozen = true;
-            this.Column01.HeaderText = "承認者コード";
-            this.Column01.Name = "Column01";
-            this.Column01.ReadOnly = true;
-            this.Column01.Resizable = System.Windows.Forms.DataGridViewTriState.False;
-            this.Column01.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
-            this.Column01.Visible = false;
-            this.Column01.Width = 5;
-            // 
-            // Column02
-            // 
-            dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
-            dataGridViewCellStyle2.Font = new System.Drawing.Font("Century", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-            dataGridViewCellStyle2.ForeColor = System.Drawing.Color.Black;
-            this.Column02.DefaultCellStyle = dataGridViewCellStyle2;
-            this.Column02.Frozen = true;
-            this.Column02.HeaderText = "№";
-            this.Column02.Name = "Column02";
-            this.Column02.ReadOnly = true;
-            this.Column02.Resizable = System.Windows.Forms.DataGridViewTriState.False;
-            this.Column02.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
-            this.Column02.Width = 44;
-            // 
-            // Column03
-            // 
-            dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
-            this.Column03.DefaultCellStyle = dataGridViewCellStyle3;
-            this.Column03.Frozen = true;
-            this.Column03.HeaderText = "承認者名";
-            this.Column03.Name = "Column03";
-            this.Column03.ReadOnly = true;
-            this.Column03.Resizable = System.Windows.Forms.DataGridViewTriState.False;
-            this.Column03.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
-            this.Column03.Width = 150;
-            // 
-            // Column06
-            // 
-            dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
-            this.Column06.DefaultCellStyle = dataGridViewCellStyle4;
-            this.Column06.Frozen = true;
-            this.Column06.HeaderText = "承認状態";
-            this.Column06.Name = "Column06";
-            this.Column06.ReadOnly = true;
-            this.Column06.Resizable = System.Windows.Forms.DataGridViewTriState.False;
-            this.Column06.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
-            this.Column06.Width = 125;
-            // 
-            // Column07
-            // 
-            dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
-            dataGridViewCellStyle5.Font = new System.Drawing.Font("Century", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-            this.Column07.DefaultCellStyle = dataGridViewCellStyle5;
-            this.Column07.Frozen = true;
-            this.Column07.HeaderText = "処理日付";
-            this.Column07.Name = "Column07";
-            this.Column07.ReadOnly = true;
-            this.Column07.Resizable = System.Windows.Forms.DataGridViewTriState.False;
-            this.Column07.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
-            this.Column07.Width = 120;
-            // 
-            // Column04
-            // 
-            dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
-            this.Column04.DefaultCellStyle = dataGridViewCellStyle6;
-            this.Column04.HeaderText = "所　属";
-            this.Column04.Name = "Column04";
-            this.Column04.ReadOnly = true;
-            this.Column04.Resizable = System.Windows.Forms.DataGridViewTriState.False;
-            this.Column04.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
-            this.Column04.Width = 145;
-            // 
-            // Column05
-            // 
-            dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
-            this.Column05.DefaultCellStyle = dataGridViewCellStyle7;
-            this.Column05.HeaderText = "役　職";
-            this.Column05.Name = "Column05";
-            this.Column05.ReadOnly = true;
-            this.Column05.Resizable = System.Windows.Forms.DataGridViewTriState.False;
-            this.Column05.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
-            this.Column05.Width = 157;
-            // 
             // FrmApprovalPerson
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
@@ -822,5 +839,6 @@
         private System.Windows.Forms.DataGridViewTextBoxColumn Column07;
         private System.Windows.Forms.DataGridViewTextBoxColumn Column04;
         private System.Windows.Forms.DataGridViewTextBoxColumn Column05;
+        private System.Windows.Forms.Button btnRePetition;
     }
 }
\ No newline at end of file
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalPerson/FrmApprovalPersonAuxiliary.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalPerson/FrmApprovalPersonAuxiliary.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalPerson/FrmApprovalPersonAuxiliary.cs	(revision 57)
@@ -46,30 +46,14 @@
             // 承認対象コードを取得する
             switch (m_ApprovalCode)
             {
-                // 1:積算見積書入力
-                case (int)ClsExcute.ApprovalListNo.EstimateApproval:
-                    if (RecPara.ProcNo == (int)ClsExcute.ProcessExecuteNo.EstimateInput) bAns = true;
+                // 8:出勤管理承認
+                case (int)ClsExcute.ApprovalListNo.DRWorkApproval:
+                    if (RecPara.ProcNo == (int)ClsExcute.ProcessExecuteNo.DRWork) bAns = true;
                     break;
-                // 2:積算予算書入力
-                case (int)ClsExcute.ApprovalListNo.EstimateBudgetApproval:
-                    if (RecPara.ProcNo == (int)ClsExcute.ProcessExecuteNo.EstimateBudget) bAns = true;
+                // 9:発注者登録承認
+                case (int)ClsExcute.ApprovalListNo.CostomerRegistApproval:
+                    if (RecPara.ProcNo == (int)ClsExcute.ProcessExecuteNo.CostomerRegist) bAns = true;
                     break;
-                // 3:工事予算書入力
-                case (int)ClsExcute.ApprovalListNo.ConstructionBudgetApproval:
-                    if (RecPara.ProcNo == (int)ClsExcute.ProcessExecuteNo.ConstructionBudget) bAns = true;
-                    break;
-                // 4:注文書承認
-                case (int)ClsExcute.ApprovalListNo.PurchaseOrderEntryApproval:
-                    if (RecPara.ProcNo == (int)ClsExcute.ProcessExecuteNo.PurchaseOrderEntry) bAns = true;
-                    break;
-                // 5:請求書承認
-                case (int)ClsExcute.ApprovalListNo.OrderBillingApproval:
-                    //if (RecPara.ProcNo == (int)ClsExcute.ProcessExecuteNo.ConstructionBudget) bAns = true;
-                    break;
-                // 6:工事日報承認
-                case (int)ClsExcute.ApprovalListNo.DRConstructionApproval:
-                    if (RecPara.ProcNo == (int)ClsExcute.ProcessExecuteNo.DRConstruction) bAns = true;
-                    break;
             }
 
             return bAns;
@@ -156,13 +140,13 @@
                         {
                             // 最終承認がされていれば申請レコードを承認へ変更する
                             ClsApprovalPermission.SetPrimaryRecStatus(m_PersonCode, m_ApprovalCode, m_OrderDate, m_OrderNo, (int)CommonDefine.ApprovalStatus.Approval);
-                        
-                            // 承認後の処理をおこなう
-                            OtherApprovalProc();
+
+                            // 最終承認が成された後の処理
+                            UpdateSourceData();
                         }
                         break;
-                    case (int)CommonDefine.ApprovalStatus.NotApproval:
-                        // ----- 非承認
+                    default:
+                        // ----- 承認以外
                         ClsApprovalPermission.SetPrimaryRecStatus(m_PersonCode, m_ApprovalCode, m_OrderDate, m_OrderNo, (int)CommonDefine.ApprovalStatus.NotApproval);
                         break;
                 }
@@ -176,41 +160,19 @@
         }
         #endregion
 
-        #region 承認後のその他処理
+        #region 発注者承認処理後更新
         /// <summary>
-        /// 承認後のその他処理
+        /// 発注者承認処理後更新
         /// </summary>
-        private void OtherApprovalProc()
+        private void OAPCostomerRegistApproval()
         {
+            IOCostomerRegist crDB = new IOCostomerRegist();
             try
             {
-                switch (m_ApprovalCode)
-                {
-                    case (int)ClsExcute.ApprovalListNo.DRWorkApproval:
-                        OAPDRWorkApproval();
-                        break;
-                    case (int)ClsExcute.ApprovalListNo.CostomerRegistApproval:
-                        break;
-                }
-            }
-            catch (Exception ex)
-            {
-                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
-            }
-        }
-        #endregion
-
-        #region 出勤データ承認処理後更新
-        /// <summary>
-        /// 出勤データ承認処理後更新
-        /// </summary>
-        private void OAPDRWorkApproval()
-        {
-            IOAttendanceData AttDB = new IOAttendanceData();
-            try
-            {
+                // 受付日
+                crDB.UpdateFeild(m_PersonCode, m_SearchDate, m_SearchSeqNo, (int)IOCostomerRegist.DataColumn.OrderDate, m_OrderDate);
                 // 受付番号書込み
-                AttDB.UpdateFeild(m_PersonCode, m_OrderDate, (int)IOAttendanceData.DataColumn.OrderNo, m_OrderNo);
+                crDB.UpdateFeild(m_PersonCode, m_SearchDate, m_SearchSeqNo, (int)IOCostomerRegist.DataColumn.OrderNo, m_OrderNo);
             }
             catch (Exception ex)
             {
@@ -218,28 +180,11 @@
             }
             finally
             {
-                AttDB.close(); AttDB = null;
+                crDB.close(); crDB = null;
             }
         }
         #endregion
 
-        private void OAPCostomerRegistApproval()
-        {
-            IOCostomerRegist crDB = new IOCostomerRegist();
-            IOMOrderers OrderersDB = new IOMOrderers();
-            try
-            {
-            }
-            catch (Exception ex)
-            {
-                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
-            }
-            finally
-            {
-                crDB.close(); crDB = null;
-                OrderersDB.close(); OrderersDB = null;
-            }
-        }
         #region 承認レコードデータ作成
         /// <summary>
         /// 承認レコードデータ作成
@@ -330,18 +275,18 @@
         }
         #endregion
 
-        #region 申請取消しボタンの表示状態を変える
+        #region 再申請ボタンの表示状態を変える
         /// <summary>
-        /// 申請取消しボタンの表示状態を変える
+        /// 再申請ボタンの表示状態を変える
         /// </summary>
         /// <param name="Status"></param>
-        private void DispNotPetitionButton(int Status)
+        private void DispRePetitionButton(int Status)
         {
             IOPersonApproval pAppDB = new IOPersonApproval();
             try
             {
                 // 申請データ取得
-                string strSQL = pAppDB.CreatePrimarykeyString(m_PersonCode, m_ApprovalCode, m_OrderDate, m_OrderNo, 1);
+                string strSQL = pAppDB.CreatePrimarykeyString(m_PersonCode, m_ApprovalCode, m_OrderDate, m_OrderNo);
                 PersonApproval pRec = new PersonApproval();
                 int CurrentPerson = 0;
                 if (pAppDB.SelectAction(strSQL, ref pRec))
@@ -351,8 +296,11 @@
                 }
                 else
                 {
+                    pRec.ApprovalStatus = (int)CommonDefine.ApprovalStatus.Undecided;    // 未定
+
                     // データが無い場合（申請時）はログインユーザー
                     CurrentPerson = CommonMotions.LoginUserData.PersonCode;
+                    pRec.PersonCode = CommonMotions.LoginUserData.PersonCode;
                 }
 
                 // 新セキュリティデータ対応済みかを確認する
@@ -376,7 +324,7 @@
                 else
                 {
                     // システム権限によってデータアクセスに制限がある
-                    if(CommonMotions.LoginUserData.PersonCode == CommonDefine.AdminCode)
+                    if (CommonMotions.LoginUserData.PersonCode == CommonDefine.AdminCode)
                     {
                         // システム管理者（すべて対象）
                     }
@@ -392,16 +340,77 @@
                 }
 
                 // 申請・承認以外は申請ボタンを表示する
-                switch (pRec.ApprovalStatus)
+                DispButtonInput(pRec.ApprovalStatus);
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+            finally
+            {
+                pAppDB.close(); pAppDB = null;
+            }
+
+        }
+        #endregion
+
+        #region 承認ボタン・承認日付の表示制御
+        /// <summary>
+        /// 承認ボタン・承認日付の表示制御
+        /// </summary>
+        /// <param name="ApprovalStatus"></param>
+        private void DispButtonInput(int ApprovalStatus)
+        {
+            try
+            {
+                // 申請・承認以外は申請ボタンを表示する
+                switch (ApprovalStatus)
                 {
                     case (int)CommonDefine.ApprovalStatus.Petition:     // 申請
                     case (int)CommonDefine.ApprovalStatus.Pending:      // 保留
                     case (int)CommonDefine.ApprovalStatus.Approval:     // 承認
                     case (int)CommonDefine.ApprovalStatus.NotApproval:  // 不承認
-                        btnNotPetition.Visible = true;                                                                      // 申請取消ボタン
+                        btnPetition.Visible = false;                // 申請ボタン
+
+                        // 注文書承認は承認取り消しがある
+                        switch (m_ApprovalCode)
+                        {
+                            case (int)ClsExcute.ApprovalListNo.PurchaseOrderEntryApproval:
+                                btnRePetition.Visible = true;               // 再申請ボタン
+                                btnRePetition.Left = s_ButtonPosition[1].X;
+                                btnRePetition.Top = s_ButtonPosition[1].Y;
+
+                                btnNotPetition.Visible = true;              // 申請取消ボタン
+                                btnNotPetition.Left = s_ButtonPosition[2].X;
+                                btnNotPetition.Top = s_ButtonPosition[2].Y;
+                                break;
+                            default:
+                                btnRePetition.Visible = true;               // 再申請ボタン
+                                btnRePetition.Left = s_ButtonPosition[2].X;
+                                btnRePetition.Top = s_ButtonPosition[2].Y;
+                                break;
+                        }
+
+                        txtHoppesDate.Enabled = false;              // 承認希望日
+
+                        btnApproval.Visible = true;                 // 承認ボタン
+                        btnNotApproval.Visible = true;              // 不承認ボタン
+                        btnOnHold.Visible = true;                   // 保留ボタン
                         break;
                     case (int)CommonDefine.ApprovalStatus.Undecided:    // 未定
-                        btnNotPetition.Visible = false;                                                                     // 申請取消ボタン
+                    case (int)CommonDefine.ApprovalStatus.Unclaimed:    // 未申請
+                        btnPetition.Visible = true;                 // 申請ボタン
+                        btnPetition.Left = s_ButtonPosition[2].X;
+                        btnPetition.Top = s_ButtonPosition[2].Y;
+
+                        btnRePetition.Visible = false;              // 再申請ボタン
+                        btnNotPetition.Visible = false;             // 申請取消ボタン
+
+                        txtHoppesDate.Enabled = true;               // 承認希望日
+
+                        btnApproval.Visible = false;                // 承認ボタン
+                        btnNotApproval.Visible = false;             // 不承認ボタン
+                        btnOnHold.Visible = false;                  // 保留ボタン
                         break;
                 }
             }
@@ -409,11 +418,6 @@
             {
                 logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
             }
-            finally
-            {
-                pAppDB.close(); pAppDB = null;
-            }
-
         }
         #endregion
 
@@ -438,39 +442,6 @@
         }
         #endregion
 
-        #region タイトルとボタンの表示状態を制御する
-        /// <summary>
-        /// タイトルとボタンの表示状態を制御する
-        /// </summary>
-        private void SetDisplayTitleAndButton(int Status)
-        {
-            switch (Status)
-            {
-                case (int)CommonDefine.ApprovalStatus.Petition: // 申請
-                case (int)CommonDefine.ApprovalStatus.Pending:  // 保留
-                case (int)CommonDefine.ApprovalStatus.Approval: // 承認
-                    label1.Text = "担　当　者　承　認　処　理";                                                          // タイトル
-                    btnPetition.Visible = false;                                                                        // 申請ボタン
-                    txtHoppesDate.Enabled = false;                                                                      // 承認希望日
-
-                    btnApproval.Visible = true;                                                                         // 承認ボタン
-                    btnNotApproval.Visible = true;                                                                      // 不承認ボタン
-                    btnOnHold.Visible = true;                                                                           // 保留ボタン
-                    break;
-                case (int)CommonDefine.ApprovalStatus.Undecided:    // 未定
-                case (int)CommonDefine.ApprovalStatus.NotApproval:  // 不承認
-                    label1.Text = "担　当　者　申　請　処　理";                                                          // タイトル
-                    btnPetition.Visible = true;                                                                         // 申請ボタン
-                    txtHoppesDate.Enabled = true;                                                                       // 承認希望日
-
-                    btnApproval.Visible = false;                                                                        // 承認ボタン
-                    btnNotApproval.Visible = false;                                                                     // 不承認ボタン
-                    btnOnHold.Visible = false;                                                                          // 保留ボタン
-                    break;
-            }
-        }
-        #endregion
-
         #region 承認基本情報取得
         /// <summary>
         /// 承認の基本情報
@@ -590,7 +561,7 @@
                 strSQL += " TO_CHAR(C.ENTRYDATE,'YYYY/MM/DD')";
                 strSQL += " FROM PERSONINCHARGEMASTER A";
                 strSQL += " LEFT JOIN DEPARTMENTMASTER B ON B.DEPARTMENTCODE = A.DEPARTMENTCODE";
-                strSQL += " LEFT JOIN PersonApproval C ON C.PERSONCODE = A.PERSONCODE";
+                strSQL += " LEFT JOIN PERSONAPPROVAL C ON C.PERSONCODE = A.PERSONCODE";
                 strSQL += pAppDB.CreatePrimarykeyString(m_PersonCode, m_ApprovalCode, m_OrderDate, m_OrderNo, 0, "C.").Replace("Where", "AND");
                 strSQL += string.Format(" WHERE A.PersonCode = {0}", pRec.PersonCode);
 
@@ -619,13 +590,8 @@
 
                 m_dispLabelControl[(int)DispHeader.ApprovalDate].Text = EntryDate;                                                      // 登録年月日
 
-
-                // 申請取消ボタン表示(申請時以外は押下可能)
-                DispNotPetitionButton(ApprovalStatus);
-
-                // 申請・承認以外は申請ボタンを表示する
-                SetDisplayTitleAndButton(ApprovalStatus);
-
+                // 再申請ボタン表示(申請時以外は押下可能)
+                DispRePetitionButton(ApprovalStatus);
             }
             catch (Exception ex)
             {
@@ -714,8 +680,8 @@
                                                             strDate,
                                                             strDepartment,
                                                             strPersonPosion);
-                    dgvEntryData.Rows[AddRowCnt].Cells[(int)DispGridColumn.ApprovalStatus].Style.BackColor = CommonDefine.ApprovalBackColorStatusColor[ApprovalStatus];
-                    dgvEntryData.Rows[AddRowCnt].Cells[(int)DispGridColumn.ApprovalStatus].Style.ForeColor = CommonDefine.ApprovalForeColorStatusColor[ApprovalStatus];
+                    dgvEntryData.Rows[AddRowCnt].Cells[(int)DispGridColumn.ApprovalStatus].Style.BackColor = CommonDefine.ApprovalBackStatusColor[ApprovalStatus];
+                    dgvEntryData.Rows[AddRowCnt].Cells[(int)DispGridColumn.ApprovalStatus].Style.ForeColor = CommonDefine.ApprovalForeStatusColor[ApprovalStatus];
                 }
 
                 return true;
@@ -848,10 +814,65 @@
                 switch (m_ApprovalCode)
                 {
                     case (int)ClsExcute.ApprovalListNo.DRWorkApproval:
-                        strSQL = string.Format("UPDATE ATTENDANCEDATA SET ORDERNO = {0}", m_OrderNo);
+                        strSQL = string.Format("UPDATE ATTENDANCEDATA SET ORDERDATE = TO_DATE('{0}','YYYY/MM/DD'),", m_OrderDate.ToShortDateString());
+                        strSQL += string.Format(" ORDERNO = {0}", m_OrderNo);
                         strSQL += string.Format(" WHERE PersonCode = {0}",m_PersonCode);
+                        strSQL += string.Format(" AND AttendanceMonth = TO_DATE('{0}' ,'YYYY/MM/DD')", m_SearchDate.ToShortDateString());
+                        break;
+                    case (int)ClsExcute.ApprovalListNo.CostomerRegistApproval:
+                        strSQL = string.Format("UPDATE COSTOMERREGIST SET ORDERDATE = TO_DATE('{0}','YYYY/MM/DD'),", m_OrderDate.ToShortDateString());
+                        strSQL += string.Format(" ORDERNO = {0}", m_OrderNo);
+                        strSQL += string.Format(" WHERE PersonCode = {0}", m_PersonCode);
+                        strSQL += string.Format(" AND CREATEDATE = TO_DATE('{0}' ,'YYYY/MM/DD')", m_SearchDate.ToShortDateString());
+                        strSQL += string.Format(" AND SEQNO = {0}", m_SearchSeqNo);
+                        break;
+                    default:
+                        break;
+                }
+
+                if (!AppDB.ExecuteNonQuery(strSQL)) return false;
+
+                return true;
+            }
+            catch (System.Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+                return false;
+            }
+            finally
+            {
+                AppDB.close(); AppDB = null;
+            }
+        }
+        #endregion
+
+        #region 申請元データの受付番号をクリアする
+        /// <summary>
+        /// 申請元データの受付番号をクリアする
+        /// </summary>
+        /// <returns></returns>
+        private bool ClearApprovalOrderNo()
+        {
+            IOPersonApproval AppDB = new IOPersonApproval();
+            try
+            {
+                string strSQL = string.Empty;
+
+                switch (m_ApprovalCode)
+                {
+                    case (int)ClsExcute.ApprovalListNo.DRWorkApproval:
+                        strSQL = string.Format("UPDATE ATTENDANCEDATA SET ORDERDATE = TO_DATE('{0}','YYYY/MM/DD'),", DateTime.MinValue.ToShortDateString());
+                        strSQL = " ORDERNO = 0";
+                        strSQL += string.Format(" WHERE PersonCode = {0}", m_PersonCode);
                         strSQL += string.Format(" AND AttendanceMonth = TO_DATE('{0}')", m_OrderDate.ToShortDateString());
                         break;
+                    case (int)ClsExcute.ApprovalListNo.CostomerRegistApproval:
+                        strSQL = string.Format("UPDATE COSTOMERREGIST SET ORDERDATE = TO_DATE('{0}','YYYY/MM/DD'),", DateTime.MinValue.ToShortDateString());
+                        strSQL += " ORDERNO = 0";
+                        strSQL += string.Format(" WHERE PersonCode = {0}", m_PersonCode);
+                        strSQL += string.Format(" AND CREATEDATE = TO_DATE('{0}','YYYY/MM/DD')", m_SearchDate.ToShortDateString());
+                        strSQL += string.Format(" AND SEQNO = {0}", m_SearchSeqNo);
+                        break;
                     default:
                         break;
                 }
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalPerson/SourceUpdate.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalPerson/SourceUpdate.cs	(nonexistent)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalPerson/SourceUpdate.cs	(revision 57)
@@ -0,0 +1,144 @@
+﻿using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+using System.Collections;
+using System.Linq;
+using System.Diagnostics;
+using System.Data.Common;
+
+using log4net;
+using log4net.Appender;
+using log4net.Repository.Hierarchy;
+
+using ProcessManagement.Common;
+using ProcessManagement.DB.IOAccess;
+using ProcessManagement.DataModel;
+using ProcessManagement.DB.Core;
+using ProcessManagement.Forms.Master;
+using ProcessManagement.Forms.SubForms;
+using ProcessManagement.Forms.ControlsAction;
+using ProcessManagement.Forms.CustomControls;
+
+namespace ProcessManagement.Forms.DataEntry
+{
+    partial class FrmApprovalPerson
+    {
+        #region 最終承認が成された後の処理
+        /// <summary>
+        /// 最終承認が成された後の処理
+        /// </summary>
+        private void UpdateSourceData()
+        {
+            try
+            {
+                switch (m_ApprovalCode)
+                {
+                    // 8:出勤管理承認
+                    case (int)ClsExcute.ApprovalListNo.DRWorkApproval:
+                        break;
+                    // 9:発注者登録承認
+                    case (int)ClsExcute.ApprovalListNo.CostomerRegistApproval:
+                        CreateCostomerData();
+                        break;
+                }
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
+        #region 発注者マスタの登録
+        /// <summary>
+        /// 発注者マスタの登録
+        /// </summary>
+        private void CreateCostomerData()
+        {
+            IOMOrderers OrderDB = new IOMOrderers();
+            IOCostomerRegist RegistDB = new IOCostomerRegist();
+            try
+            {
+                // 発注者登録申請データ取得
+                string strSQL = RegistDB.CreatePrimarykeyString(m_PersonCode, m_SearchDate, m_SearchSeqNo);
+                CostomerRegist RegistRec = new CostomerRegist();
+                if (!RegistDB.SelectAction(strSQL, ref RegistRec))
+                {
+                    MessageBox.Show("発注者登録申請データが存在しません。", "登録確認エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                    return;
+                }
+
+                // 新規発注者コード取得
+                strSQL = OrderDB.CreatePrimarykeyString(RegistRec.OrderCotegory);
+                int OrderersCode = OrderDB.SelectMaxOrderersCodeCount(strSQL) + 1;
+                // 表示順取得
+                int DispOrder = OrderDB.GetMaxDisplayOrder(strSQL) + 1;
+
+                // 新規データ作成SQL
+                CreateCostomerSQL(OrderersCode, DispOrder, ref strSQL);
+                strSQL += RegistDB.CreatePrimarykeyString(m_PersonCode, m_SearchDate, m_SearchSeqNo);
+                if (!OrderDB.ExecuteNonQuery(strSQL))
+                {
+                    MessageBox.Show("発注者マスタ、登録に失敗しました。", "登録エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                }
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+            finally
+            {
+                OrderDB.close(); OrderDB = null;
+                RegistDB.close(); RegistDB = null;
+            }
+        }
+        #endregion
+
+        #region 発注者マスタ新規データ用ＳＱＬ作成
+        /// <summary>
+        /// 発注者マスタ新規データ用ＳＱＬ作成
+        /// </summary>
+        /// <param name="OrderersCode"></param>
+        /// <param name="DispOrder"></param>
+        /// <param name="strSQL"></param>
+        private void CreateCostomerSQL(int OrderersCode, int DispOrder, ref string strSQL)
+        {
+            try
+            {
+                strSQL = "INSERT INTO ORDERERSMASTER";
+                strSQL += " SELECT";
+                strSQL += " OrderCotegory,";
+                strSQL += string.Format(" {0},", OrderersCode);
+                strSQL += string.Format(" {0},", DispOrder);
+                strSQL += " OrderFlg,";
+                strSQL += " CorporateStatusName,";
+                strSQL += " CorporateStatusPoint,";
+                strSQL += " OrderersName1,";
+                strSQL += " OrderersName2,";
+                strSQL += " DepartmentName,";
+                strSQL += " ChargePersonName,";
+                strSQL += " ZipCode,";
+                strSQL += " Address1,";
+                strSQL += " Address2,";
+                strSQL += " Address3,";
+                strSQL += " PhoneNumber,";
+                strSQL += " FaxNumber,";
+                strSQL += " MailAddress,";
+                strSQL += " Note,";
+                strSQL += " 0,";
+                strSQL += " TO_DATE(TO_CHAR(sysdate,'YYYY/MM/DD HH24:MI:SS'),'YYYY/MM/DD HH24:MI:SS'),";
+                strSQL += " TO_DATE(TO_CHAR(sysdate,'YYYY/MM/DD HH24:MI:SS'),'YYYY/MM/DD HH24:MI:SS')";
+                strSQL += " FROM COSTOMERREGIST";
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+    }
+}
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalScreen/FrmApprovalScreen.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalScreen/FrmApprovalScreen.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalScreen/FrmApprovalScreen.cs	(revision 57)
@@ -77,8 +77,15 @@
         }
         #endregion
 
+        #region �\���E�Đ\���E����{�^���ʒu
+        /// <summary>
+        /// �\���E�Đ\���E����{�^���ʒu
+        /// </summary>
+        Point[] s_ButtonPosition = new Point[] { new Point(6, 58), new Point(258, 58), new Point(510, 58) };
         #endregion
 
+        #endregion
+
         #region �ϐ�
         /// <summary>
         /// ���x���R���g���[���ێ��z��
@@ -213,7 +220,7 @@
         }
         #endregion
 
-        #region �C�x���g���\�b�h
+        #region �t�B�[���h�l�ύX�t���O
         /// <summary>
         /// �t�B�[���h�l�ύX�t���O
         /// </summary>
@@ -547,6 +554,62 @@
         }
         #endregion
 
+        #region �Đ\���{�^������
+        /// <summary>
+        /// �Đ\���{�^������
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnRePetition_Click(object sender, EventArgs e)
+        {
+            IOProcessApproval pAppDB = new IOProcessApproval();
+            try
+            {
+                if (MessageBox.Show("�H���Č��̍ēx�\�����܂��A��낵���ł����H�B", "�Đ\���m�F"
+                                , MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) return;
+
+                pAppDB.connect(); pAppDB.beginTran();
+                
+                // ���F�f�[�^����C�ɍ폜����
+                string strSQL = pAppDB.CreatePrimarykeyString(m_ConstructionCode, m_ApprovalCode, m_OrderNo);
+                strSQL += " AND SeqNo != 1";
+                if (!pAppDB.DeleteAction(strSQL, false))
+                {
+                    pAppDB.rollback();
+                    MessageBox.Show("�Đ\���Ɏ��s���܂����B", "�Đ\���G���[", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                    return;
+                }
+                // �\���f�[�^��\�����ɖ߂�
+                if(!pAppDB.UpdateFeild(m_ConstructionCode,
+                                    (int)IOProcessApproval.ColumnName.ApprovalStatus,
+                                    (int)CommonDefine.ApprovalStatus.Petition,
+                                    false,
+                                    m_ApprovalCode,
+                                    m_OrderNo))
+                {
+                    pAppDB.rollback();
+                    return;
+                }
+
+                pAppDB.commit();
+                // �������b�Z�[�W
+                CommonMotions.EntryEndMessage("�H���\���f�[�^�Đ\��", "�Đ\��");
+
+                m_bChengeAns = false;
+
+                this.Close();
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("�V�X�e���G���[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+            finally
+            {
+                pAppDB.close(); pAppDB = null;
+            }
+        }
+        #endregion
+
         #region �\���������{�^������
         /// <summary>
         /// �\���������{�^������
@@ -584,7 +647,7 @@
                     case (int)ClsExcute.ApprovalListNo.PurchaseOrderEntryApproval:
                         RemoveApprovalLinkDetail();
                         break;
-                    
+
                     // 5:���������F
                     case (int)ClsExcute.ApprovalListNo.OrderBillingApproval:
                     // 6:�H�����񏳔F
@@ -749,5 +812,6 @@
             RemoveTreeViewComment();
         }
         #endregion
+
     }
 }
\ No newline at end of file
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalScreen/FrmApprovalScreen.designer.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalScreen/FrmApprovalScreen.designer.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalScreen/FrmApprovalScreen.designer.cs	(revision 57)
@@ -31,17 +31,16 @@
         private void InitializeComponent()
         {
             this.components = new System.ComponentModel.Container();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle15 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle16 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle17 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle18 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle19 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle20 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle21 = new System.Windows.Forms.DataGridViewCellStyle();
             this.label1 = new System.Windows.Forms.Label();
             this.btnEnd = new System.Windows.Forms.Button();
             this.panel2 = new System.Windows.Forms.Panel();
-            this.dgvEntryData = new ProcessManagement.Forms.CustomControls.DataGridViewEX();
             this.panel1 = new System.Windows.Forms.Panel();
             this.lblLabel03 = new System.Windows.Forms.Label();
             this.label2 = new System.Windows.Forms.Label();
@@ -80,7 +79,7 @@
             this.label11 = new System.Windows.Forms.Label();
             this.label12 = new System.Windows.Forms.Label();
             this.txtHoppesDate = new System.Windows.Forms.TextBox();
-            this.btnNotPetition = new System.Windows.Forms.Button();
+            this.btnRePetition = new System.Windows.Forms.Button();
             this.btnPetition = new System.Windows.Forms.Button();
             this.panel5 = new System.Windows.Forms.Panel();
             this.btnReturnComment = new System.Windows.Forms.Button();
@@ -88,6 +87,7 @@
             this.btnEntryComment = new System.Windows.Forms.Button();
             this.label18 = new System.Windows.Forms.Label();
             this.tvDispData = new System.Windows.Forms.TreeView();
+            this.dgvEntryData = new ProcessManagement.Forms.CustomControls.DataGridViewEX();
             this.Column01 = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.Column02 = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.Column03 = new System.Windows.Forms.DataGridViewTextBoxColumn();
@@ -95,12 +95,13 @@
             this.Column07 = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.Column04 = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.Column05 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.btnNotPetition = new System.Windows.Forms.Button();
             this.panel2.SuspendLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.dgvEntryData)).BeginInit();
             this.panel1.SuspendLayout();
             this.panel3.SuspendLayout();
             this.panel4.SuspendLayout();
             this.panel5.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.dgvEntryData)).BeginInit();
             this.SuspendLayout();
             // 
             // label1
@@ -114,7 +115,7 @@
             this.label1.Name = "label1";
             this.label1.Size = new System.Drawing.Size(500, 20);
             this.label1.TabIndex = 6;
-            this.label1.Text = "承　認　処　理";
+            this.label1.Text = "工　事　承　認　処　理";
             this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
             // 
             // btnEnd
@@ -140,43 +141,6 @@
             this.panel2.Size = new System.Drawing.Size(760, 160);
             this.panel2.TabIndex = 15;
             // 
-            // dgvEntryData
-            // 
-            this.dgvEntryData.AllowUserToAddRows = false;
-            this.dgvEntryData.AllowUserToDeleteRows = false;
-            this.dgvEntryData.AllowUserToResizeColumns = false;
-            this.dgvEntryData.AllowUserToResizeRows = false;
-            this.dgvEntryData.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
-            this.dgvEntryData.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-            dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
-            dataGridViewCellStyle1.BackColor = System.Drawing.Color.Black;
-            dataGridViewCellStyle1.Font = new System.Drawing.Font("ＭＳ 明朝", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
-            dataGridViewCellStyle1.ForeColor = System.Drawing.Color.White;
-            dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
-            dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
-            dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
-            this.dgvEntryData.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
-            this.dgvEntryData.ColumnHeadersHeight = 24;
-            this.dgvEntryData.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
-            this.dgvEntryData.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
-            this.Column01,
-            this.Column02,
-            this.Column03,
-            this.Column06,
-            this.Column07,
-            this.Column04,
-            this.Column05});
-            this.dgvEntryData.EnableHeadersVisualStyles = false;
-            this.dgvEntryData.Location = new System.Drawing.Point(6, 5);
-            this.dgvEntryData.Name = "dgvEntryData";
-            this.dgvEntryData.RowHeadersVisible = false;
-            this.dgvEntryData.RowHeadersWidth = 20;
-            this.dgvEntryData.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
-            this.dgvEntryData.RowTemplate.Height = 24;
-            this.dgvEntryData.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.CellSelect;
-            this.dgvEntryData.Size = new System.Drawing.Size(744, 146);
-            this.dgvEntryData.TabIndex = 8;
-            // 
             // panel1
             // 
             this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
@@ -323,6 +287,7 @@
             this.btnTargetData.TabIndex = 45;
             this.btnTargetData.TabStop = false;
             this.btnTargetData.Text = "承認対象データを見る";
+            this.toolTip1.SetToolTip(this.btnTargetData, "承認対象のデータを確認します。");
             this.btnTargetData.UseVisualStyleBackColor = false;
             this.btnTargetData.Click += new System.EventHandler(this.btnTargetData_Click);
             // 
@@ -496,6 +461,7 @@
             // 
             this.panel4.BackColor = System.Drawing.Color.Gold;
             this.panel4.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
+            this.panel4.Controls.Add(this.btnNotPetition);
             this.panel4.Controls.Add(this.lblLabel09);
             this.panel4.Controls.Add(this.label4);
             this.panel4.Controls.Add(this.label16);
@@ -506,7 +472,7 @@
             this.panel4.Controls.Add(this.label11);
             this.panel4.Controls.Add(this.label12);
             this.panel4.Controls.Add(this.txtHoppesDate);
-            this.panel4.Controls.Add(this.btnNotPetition);
+            this.panel4.Controls.Add(this.btnRePetition);
             this.panel4.Controls.Add(this.btnPetition);
             this.panel4.Location = new System.Drawing.Point(10, 140);
             this.panel4.Name = "panel4";
@@ -627,26 +593,28 @@
             this.txtHoppesDate.TextChanged += new System.EventHandler(this.valueChange);
             this.txtHoppesDate.Validated += new System.EventHandler(this.txtHoppesDate_Validated);
             // 
-            // btnNotPetition
+            // btnRePetition
             // 
-            this.btnNotPetition.BackColor = System.Drawing.Color.Red;
-            this.btnNotPetition.Location = new System.Drawing.Point(490, 58);
-            this.btnNotPetition.Name = "btnNotPetition";
-            this.btnNotPetition.Size = new System.Drawing.Size(260, 30);
-            this.btnNotPetition.TabIndex = 31;
-            this.btnNotPetition.Text = "申請を取消しする";
-            this.btnNotPetition.UseVisualStyleBackColor = false;
-            this.btnNotPetition.Visible = false;
-            this.btnNotPetition.Click += new System.EventHandler(this.btnNotPetition_Click);
+            this.btnRePetition.BackColor = System.Drawing.Color.MediumSeaGreen;
+            this.btnRePetition.Location = new System.Drawing.Point(258, 58);
+            this.btnRePetition.Name = "btnRePetition";
+            this.btnRePetition.Size = new System.Drawing.Size(240, 30);
+            this.btnRePetition.TabIndex = 31;
+            this.btnRePetition.Text = "再　申　請　す　る";
+            this.toolTip1.SetToolTip(this.btnRePetition, "指摘事項等の変更後、再度申請をし直すときに押下します。\r\n初めから承認をやり直します。");
+            this.btnRePetition.UseVisualStyleBackColor = false;
+            this.btnRePetition.Visible = false;
+            this.btnRePetition.Click += new System.EventHandler(this.btnRePetition_Click);
             // 
             // btnPetition
             // 
             this.btnPetition.BackColor = System.Drawing.Color.Lime;
-            this.btnPetition.Location = new System.Drawing.Point(224, 58);
+            this.btnPetition.Location = new System.Drawing.Point(6, 58);
             this.btnPetition.Name = "btnPetition";
-            this.btnPetition.Size = new System.Drawing.Size(260, 30);
+            this.btnPetition.Size = new System.Drawing.Size(240, 30);
             this.btnPetition.TabIndex = 31;
             this.btnPetition.Text = "申　請　す　る";
+            this.toolTip1.SetToolTip(this.btnPetition, "承認を申請します。");
             this.btnPetition.UseVisualStyleBackColor = false;
             this.btnPetition.Visible = false;
             this.btnPetition.Click += new System.EventHandler(this.btnPetition_Click);
@@ -731,6 +699,43 @@
             this.tvDispData.Size = new System.Drawing.Size(544, 308);
             this.tvDispData.TabIndex = 158;
             // 
+            // dgvEntryData
+            // 
+            this.dgvEntryData.AllowUserToAddRows = false;
+            this.dgvEntryData.AllowUserToDeleteRows = false;
+            this.dgvEntryData.AllowUserToResizeColumns = false;
+            this.dgvEntryData.AllowUserToResizeRows = false;
+            this.dgvEntryData.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
+            this.dgvEntryData.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
+            dataGridViewCellStyle15.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            dataGridViewCellStyle15.BackColor = System.Drawing.Color.Black;
+            dataGridViewCellStyle15.Font = new System.Drawing.Font("ＭＳ 明朝", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+            dataGridViewCellStyle15.ForeColor = System.Drawing.Color.White;
+            dataGridViewCellStyle15.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+            dataGridViewCellStyle15.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+            dataGridViewCellStyle15.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+            this.dgvEntryData.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle15;
+            this.dgvEntryData.ColumnHeadersHeight = 24;
+            this.dgvEntryData.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
+            this.dgvEntryData.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+            this.Column01,
+            this.Column02,
+            this.Column03,
+            this.Column06,
+            this.Column07,
+            this.Column04,
+            this.Column05});
+            this.dgvEntryData.EnableHeadersVisualStyles = false;
+            this.dgvEntryData.Location = new System.Drawing.Point(6, 5);
+            this.dgvEntryData.Name = "dgvEntryData";
+            this.dgvEntryData.RowHeadersVisible = false;
+            this.dgvEntryData.RowHeadersWidth = 20;
+            this.dgvEntryData.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
+            this.dgvEntryData.RowTemplate.Height = 24;
+            this.dgvEntryData.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.CellSelect;
+            this.dgvEntryData.Size = new System.Drawing.Size(744, 146);
+            this.dgvEntryData.TabIndex = 8;
+            // 
             // Column01
             // 
             this.Column01.Frozen = true;
@@ -744,10 +749,10 @@
             // 
             // Column02
             // 
-            dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
-            dataGridViewCellStyle2.Font = new System.Drawing.Font("Century", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-            dataGridViewCellStyle2.ForeColor = System.Drawing.Color.Black;
-            this.Column02.DefaultCellStyle = dataGridViewCellStyle2;
+            dataGridViewCellStyle16.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            dataGridViewCellStyle16.Font = new System.Drawing.Font("Century", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+            dataGridViewCellStyle16.ForeColor = System.Drawing.Color.Black;
+            this.Column02.DefaultCellStyle = dataGridViewCellStyle16;
             this.Column02.Frozen = true;
             this.Column02.HeaderText = "№";
             this.Column02.Name = "Column02";
@@ -758,8 +763,8 @@
             // 
             // Column03
             // 
-            dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
-            this.Column03.DefaultCellStyle = dataGridViewCellStyle3;
+            dataGridViewCellStyle17.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            this.Column03.DefaultCellStyle = dataGridViewCellStyle17;
             this.Column03.Frozen = true;
             this.Column03.HeaderText = "承認者名";
             this.Column03.Name = "Column03";
@@ -770,8 +775,8 @@
             // 
             // Column06
             // 
-            dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
-            this.Column06.DefaultCellStyle = dataGridViewCellStyle4;
+            dataGridViewCellStyle18.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            this.Column06.DefaultCellStyle = dataGridViewCellStyle18;
             this.Column06.Frozen = true;
             this.Column06.HeaderText = "承認状態";
             this.Column06.Name = "Column06";
@@ -782,9 +787,9 @@
             // 
             // Column07
             // 
-            dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
-            dataGridViewCellStyle5.Font = new System.Drawing.Font("Century", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-            this.Column07.DefaultCellStyle = dataGridViewCellStyle5;
+            dataGridViewCellStyle19.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            dataGridViewCellStyle19.Font = new System.Drawing.Font("Century", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+            this.Column07.DefaultCellStyle = dataGridViewCellStyle19;
             this.Column07.Frozen = true;
             this.Column07.HeaderText = "処理日付";
             this.Column07.Name = "Column07";
@@ -795,8 +800,8 @@
             // 
             // Column04
             // 
-            dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
-            this.Column04.DefaultCellStyle = dataGridViewCellStyle6;
+            dataGridViewCellStyle20.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            this.Column04.DefaultCellStyle = dataGridViewCellStyle20;
             this.Column04.HeaderText = "所　属";
             this.Column04.Name = "Column04";
             this.Column04.ReadOnly = true;
@@ -806,8 +811,8 @@
             // 
             // Column05
             // 
-            dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
-            this.Column05.DefaultCellStyle = dataGridViewCellStyle7;
+            dataGridViewCellStyle21.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            this.Column05.DefaultCellStyle = dataGridViewCellStyle21;
             this.Column05.HeaderText = "役　職";
             this.Column05.Name = "Column05";
             this.Column05.ReadOnly = true;
@@ -815,6 +820,18 @@
             this.Column05.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
             this.Column05.Width = 157;
             // 
+            // btnNotPetition
+            // 
+            this.btnNotPetition.BackColor = System.Drawing.Color.Red;
+            this.btnNotPetition.Location = new System.Drawing.Point(510, 58);
+            this.btnNotPetition.Name = "btnNotPetition";
+            this.btnNotPetition.Size = new System.Drawing.Size(240, 30);
+            this.btnNotPetition.TabIndex = 41;
+            this.btnNotPetition.Text = "申請取消する";
+            this.btnNotPetition.UseVisualStyleBackColor = false;
+            this.btnNotPetition.Visible = false;
+            this.btnNotPetition.Click += new System.EventHandler(this.btnNotPetition_Click);
+            // 
             // FrmApprovalScreen
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
@@ -838,12 +855,12 @@
             this.Load += new System.EventHandler(this.FrmApprovalScreen_Load);
             this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.FrmApprovalScreen_KeyDown);
             this.panel2.ResumeLayout(false);
-            ((System.ComponentModel.ISupportInitialize)(this.dgvEntryData)).EndInit();
             this.panel1.ResumeLayout(false);
             this.panel3.ResumeLayout(false);
             this.panel4.ResumeLayout(false);
             this.panel4.PerformLayout();
             this.panel5.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.dgvEntryData)).EndInit();
             this.ResumeLayout(false);
 
         }
@@ -880,7 +897,7 @@
         private System.Windows.Forms.Button btnApproval;
         private System.Windows.Forms.Button btnNotApproval;
         private System.Windows.Forms.Button btnOnHold;
-        private System.Windows.Forms.Button btnNotPetition;
+        private System.Windows.Forms.Button btnRePetition;
         private System.Windows.Forms.Label lblLabel03;
         private System.Windows.Forms.Label label2;
         private System.Windows.Forms.Label lblLabel01;
@@ -907,5 +924,6 @@
         private System.Windows.Forms.DataGridViewTextBoxColumn Column07;
         private System.Windows.Forms.DataGridViewTextBoxColumn Column04;
         private System.Windows.Forms.DataGridViewTextBoxColumn Column05;
+        private System.Windows.Forms.Button btnNotPetition;
     }
 }
\ No newline at end of file
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalScreen/FrmApprovalScreen.resx
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalScreen/FrmApprovalScreen.resx	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalScreen/FrmApprovalScreen.resx	(revision 57)
@@ -117,6 +117,12 @@
   <resheader name="writer">
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
+  <metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
   <metadata name="Column03.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
@@ -132,9 +138,6 @@
   <metadata name="Column05.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
-  <metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 17</value>
-  </metadata>
   <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>35</value>
   </metadata>
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalScreen/FrmApprovalScreenAuxiliary.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalScreen/FrmApprovalScreenAuxiliary.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalScreen/FrmApprovalScreenAuxiliary.cs	(revision 57)
@@ -266,15 +266,15 @@
                         if (ClsApprovalPermission.CheckProcessApprovalData(m_ConstructionCode, m_ApprovalCode, m_OrderNo))
                         {
                             // 最終承認がされていれば申請レコードを承認へ変更する
-                            ClsApprovalPermission.SetPrimaryRecStatus(m_ConstructionCode, m_ApprovalCode, m_OrderNo, (int)CommonDefine.ApprovalStatus.Approval);
+                            ClsApprovalPermission.SetPrimaryRecStatus(m_ConstructionCode, m_ApprovalCode, m_OrderNo, statusCode);
                             
                             // 工事詳細台帳データを作成するデータがある
                             CaretaLedgerData();
                         }
                         break;
-                    case (int)CommonDefine.ApprovalStatus.NotApproval:
-                        // ----- 非承認
-                        ClsApprovalPermission.SetPrimaryRecStatus(m_ConstructionCode, m_ApprovalCode, m_OrderNo, (int)CommonDefine.ApprovalStatus.NotApproval);
+                    default:
+                        // ----- 承認以外
+                        ClsApprovalPermission.SetPrimaryRecStatus(m_ConstructionCode, m_ApprovalCode, m_OrderNo, statusCode);
                         break;
                 }
                 return true;
@@ -411,12 +411,12 @@
         }
         #endregion
 
-        #region 申請取消しボタンの表示状態を変える
+        #region 再申請ボタンの表示状態を変える
         /// <summary>
-        /// 申請取消しボタンの表示状態を変える
+        /// 再申請ボタンの表示状態を変える
         /// </summary>
         /// <param name="Status"></param>
-        private void DispNotPetitionButton(int Status)
+        private void DispRePetitionButton(int Status)
         {
             IOProcessApproval pAppDB = new IOProcessApproval();
             try
@@ -432,8 +432,11 @@
                 }
                 else
                 {
+                    pRec.ApprovalStatus = (int)CommonDefine.ApprovalStatus.Undecided;    // 未定
+
                     // データが無い場合（申請時）はログインユーザー
                     CurrentPerson = CommonMotions.LoginUserData.PersonCode;
+                    pRec.PersonCode = CommonMotions.LoginUserData.PersonCode;
                 }
 
                 // 新セキュリティデータ対応済みかを確認する
@@ -473,16 +476,77 @@
                 }
 
                 // 申請・承認以外は申請ボタンを表示する
-                switch (pRec.ApprovalStatus)
+                DispButtonInput(pRec.ApprovalStatus);
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+            finally
+            {
+                pAppDB.close(); pAppDB = null;
+            }
+
+        }
+        #endregion
+
+        #region 承認ボタン・承認日付の表示制御
+        /// <summary>
+        /// 承認ボタン・承認日付の表示制御
+        /// </summary>
+        /// <param name="ApprovalStatus"></param>
+        private void DispButtonInput(int ApprovalStatus)
+        {
+            try
+            {
+                // 申請・承認以外は申請ボタンを表示する
+                switch (ApprovalStatus)
                 {
                     case (int)CommonDefine.ApprovalStatus.Petition:     // 申請
                     case (int)CommonDefine.ApprovalStatus.Pending:      // 保留
                     case (int)CommonDefine.ApprovalStatus.Approval:     // 承認
                     case (int)CommonDefine.ApprovalStatus.NotApproval:  // 不承認
-                        btnNotPetition.Visible = true;                                                                      // 申請取消ボタン
+                        btnPetition.Visible = false;                // 申請ボタン
+
+                        // 注文書承認は承認取り消しがある
+                        switch (m_ApprovalCode)
+                        {
+                            case (int)ClsExcute.ApprovalListNo.PurchaseOrderEntryApproval:
+                                btnRePetition.Visible = true;               // 再申請ボタン
+                                btnRePetition.Left = s_ButtonPosition[1].X;
+                                btnRePetition.Top = s_ButtonPosition[1].Y;
+
+                                btnNotPetition.Visible = true;              // 申請取消ボタン
+                                btnNotPetition.Left = s_ButtonPosition[2].X;
+                                btnNotPetition.Top = s_ButtonPosition[2].Y;
+                                break;
+                            default:
+                                btnRePetition.Visible = true;               // 再申請ボタン
+                                btnRePetition.Left = s_ButtonPosition[2].X;
+                                btnRePetition.Top = s_ButtonPosition[2].Y;
+                                break;
+                        }
+
+                        txtHoppesDate.Enabled = false;              // 承認希望日
+
+                        btnApproval.Visible = true;                 // 承認ボタン
+                        btnNotApproval.Visible = true;              // 不承認ボタン
+                        btnOnHold.Visible = true;                   // 保留ボタン
                         break;
                     case (int)CommonDefine.ApprovalStatus.Undecided:    // 未定
-                        btnNotPetition.Visible = false;                                                                     // 申請取消ボタン
+                    case (int)CommonDefine.ApprovalStatus.Unclaimed:    // 未申請
+                        btnPetition.Visible = true;                 // 申請ボタン
+                        btnPetition.Left = s_ButtonPosition[2].X;
+                        btnPetition.Top = s_ButtonPosition[2].Y;
+                        
+                        btnRePetition.Visible = false;              // 再申請ボタン
+                        btnNotPetition.Visible = false;             // 申請取消ボタン
+
+                        txtHoppesDate.Enabled = true;               // 承認希望日
+
+                        btnApproval.Visible = false;                // 承認ボタン
+                        btnNotApproval.Visible = false;             // 不承認ボタン
+                        btnOnHold.Visible = false;                  // 保留ボタン
                         break;
                 }
             }
@@ -490,11 +554,6 @@
             {
                 logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
             }
-            finally
-            {
-                pAppDB.close(); pAppDB = null;
-            }
-
         }
         #endregion
 
@@ -519,39 +578,6 @@
         }
         #endregion
 
-        #region タイトルとボタンの表示状態を制御する
-        /// <summary>
-        /// タイトルとボタンの表示状態を制御する
-        /// </summary>
-        private void SetDisplayTitleAndButton(int Status)
-        {
-            switch (Status)
-            {
-                case (int)CommonDefine.ApprovalStatus.Petition: // 申請
-                case (int)CommonDefine.ApprovalStatus.Pending:  // 保留
-                case (int)CommonDefine.ApprovalStatus.Approval: // 承認
-                    label1.Text = "工　事　承　認　処　理";                                                            // タイトル
-                    btnPetition.Visible = false;                                                                        // 申請ボタン
-                    txtHoppesDate.Enabled = false;                                                                      // 承認希望日
-
-                    btnApproval.Visible = true;                                                                         // 承認ボタン
-                    btnNotApproval.Visible = true;                                                                      // 不承認ボタン
-                    btnOnHold.Visible = true;                                                                           // 保留ボタン
-                    break;
-                case (int)CommonDefine.ApprovalStatus.Undecided:    // 未定
-                case (int)CommonDefine.ApprovalStatus.NotApproval:  // 不承認
-                    label1.Text = "工　事　申　請　処　理";                                                               // タイトル
-                    btnPetition.Visible = true;                                                                         // 申請ボタン
-                    txtHoppesDate.Enabled = true;                                                                       // 承認希望日
-
-                    btnApproval.Visible = false;                                                                        // 承認ボタン
-                    btnNotApproval.Visible = false;                                                                     // 不承認ボタン
-                    btnOnHold.Visible = false;                                                                          // 保留ボタン
-                    break;
-            }
-        }
-        #endregion
-
         #region 承認基本情報取得
         /// <summary>
         /// 承認の基本情報
@@ -716,7 +742,10 @@
                 }
 
                 m_dispLabelControl[(int)DispHeader.PetitionStatus].Text = CommonDefine.ApprovalStatusString[ApprovalStatus];            // 申請状態
+                m_dispLabelControl[(int)DispHeader.PetitionStatus].BackColor = CommonDefine.ApprovalBackStatusColor[ApprovalStatus];
+                m_dispLabelControl[(int)DispHeader.PetitionStatus].ForeColor = CommonDefine.ApprovalForeStatusColor[ApprovalStatus];
 
+
                 m_dispLabelControl[(int)DispHeader.PetitionName].Text = strPersonName;                                                  // 申請者名
                 
                 m_dispLabelControl[(int)DispHeader.PetitionHopeDates].Text = strDate;                                                   // 承認希望日
@@ -728,11 +757,11 @@
                 // 申請者コード退避
                 m_PetitionPerson = pRec.PersonCode;
 
-                // 申請取消ボタン表示(申請時以外は押下可能)
-                DispNotPetitionButton(ApprovalStatus);
+                // 再申請ボタン表示(申請時以外は押下可能)
+                DispRePetitionButton(ApprovalStatus);
 
                 // 申請・承認以外は申請ボタンを表示する
-                SetDisplayTitleAndButton(ApprovalStatus);
+                //SetDisplayTitleAndButton(ApprovalStatus);
 
             }
             catch (Exception ex)
@@ -811,8 +840,8 @@
                                                             strDate,
                                                             strDepartment,
                                                             strPersonPosion);
-                    dgvEntryData.Rows[AddRowCnt].Cells[(int)DispGridColumn.ApprovalStatus].Style.BackColor = CommonDefine.ApprovalBackColorStatusColor[ApprovalStatus];
-                    dgvEntryData.Rows[AddRowCnt].Cells[(int)DispGridColumn.ApprovalStatus].Style.ForeColor = CommonDefine.ApprovalForeColorStatusColor[ApprovalStatus];
+                    dgvEntryData.Rows[AddRowCnt].Cells[(int)DispGridColumn.ApprovalStatus].Style.BackColor = CommonDefine.ApprovalBackStatusColor[ApprovalStatus];
+                    dgvEntryData.Rows[AddRowCnt].Cells[(int)DispGridColumn.ApprovalStatus].Style.ForeColor = CommonDefine.ApprovalForeStatusColor[ApprovalStatus];
                 }
 
                 return true;
@@ -1326,7 +1355,7 @@
                     tvDispData.SelectedNode.Expand();
                 }
                 // データ登録
-                EntryComment(m_ApprovalCode);
+                if (!EntryComment(m_ApprovalCode)) return;
 
                 // 完了メッセージ
                 CommonMotions.EntryEndMessage("コメントデータ");
@@ -1366,7 +1395,7 @@
                 TargetNodes.Remove();
             
                 // データ登録
-                EntryComment(m_ApprovalCode);
+                if (!EntryComment(m_ApprovalCode)) return;
 
                 // 完了メッセージ
                 CommonMotions.RemoveEndMessage("コメントデータ");
@@ -1422,7 +1451,7 @@
         /// <summary>
         /// コメントデータ登録
         /// </summary>
-        private void EntryComment(int ParaAppCode)
+        private bool EntryComment(int ParaAppCode)
         {
             IOProcessApprovalComment CommentDB = new IOProcessApprovalComment();
             try
@@ -1433,7 +1462,7 @@
                 CommentDB.DeleteAction(strSQL, false);
 
                 // ノードが無い場合は以下を処理しない
-                if (tvDispData.GetNodeCount(true) == 0) return;
+                if (tvDispData.GetNodeCount(true) == 0) return true;
                 
                 m_InsertNo = 1;
                 m_InsertParentNo = 0;
@@ -1450,10 +1479,12 @@
                     CommentDB.rollback();
                 }
 
+                return true;
             }
             catch (Exception ex)
             {
                 logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+                return false;
             }
             finally
             {
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBaseInfo/FrmConstructionBaseInfo.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBaseInfo/FrmConstructionBaseInfo.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBaseInfo/FrmConstructionBaseInfo.cs	(revision 57)
@@ -1930,5 +1930,20 @@
             ReleaseFluctuation();
         }
         #endregion
+
+        #region �H����ʃR���{�ύX
+        /// <summary>
+        /// �H����ʃR���{�ύX
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void cmbConstructionType_SelectedIndexChanged(object sender, EventArgs e)
+        {
+            // �����\�����͏������Ȃ�
+            if (bInitFlg) return;
+
+            ChkSelConstrType();
+        }
+        #endregion
     }
 }
\ No newline at end of file
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBaseInfo/FrmConstructionBaseInfo.designer.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBaseInfo/FrmConstructionBaseInfo.designer.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBaseInfo/FrmConstructionBaseInfo.designer.cs	(revision 57)
@@ -685,6 +685,7 @@
             this.cmbConstructionType.Name = "cmbConstructionType";
             this.cmbConstructionType.Size = new System.Drawing.Size(300, 27);
             this.cmbConstructionType.TabIndex = 21;
+            this.cmbConstructionType.SelectedIndexChanged += new System.EventHandler(this.cmbConstructionType_SelectedIndexChanged);
             this.cmbConstructionType.TextChanged += new System.EventHandler(this.valueChange);
             // 
             // txtInput08
@@ -1268,7 +1269,7 @@
             this.label39.ForeColor = System.Drawing.Color.Red;
             this.label39.Location = new System.Drawing.Point(408, 79);
             this.label39.Name = "label39";
-            this.label39.Size = new System.Drawing.Size(230, 44);
+            this.label39.Size = new System.Drawing.Size(232, 44);
             this.label39.TabIndex = 190;
             this.label39.Text = "※受注時に金額を\r\n直接入力してください";
             this.label39.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -1789,7 +1790,7 @@
             this.label56.ForeColor = System.Drawing.Color.Red;
             this.label56.Location = new System.Drawing.Point(1, 690);
             this.label56.Name = "label56";
-            this.label56.Size = new System.Drawing.Size(621, 30);
+            this.label56.Size = new System.Drawing.Size(641, 30);
             this.label56.TabIndex = 178;
             this.label56.Text = "※「受注日」・「開始予定日」・「完了予定日」は人員配置状況に転記されますので必ず記入して下さい";
             this.label56.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBaseInfo/FrmConstructionBaseInfoAuxiliary.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBaseInfo/FrmConstructionBaseInfoAuxiliary.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBaseInfo/FrmConstructionBaseInfoAuxiliary.cs	(revision 57)
@@ -2035,6 +2035,7 @@
                 if (typeList.Count == 0) return;
 
                 List<KeyValuePair<int, string>> DataList = new List<KeyValuePair<int, string>>();
+                DataList.Add(new KeyValuePair<int, string>(0, string.Empty));
                 // �f�[�^�\��
                 for (int i = 0; i < typeList.Count; i++)
                 {
@@ -4055,5 +4056,42 @@
             }
         }
         #endregion
+
+        #region �H����ʕύX����
+        /// <summary>
+        /// �H����ʕύX����
+        /// </summary>
+        private void ChkSelConstrType()
+        {
+            IOMConstructionType ConTypeDB = new IOMConstructionType();
+            try
+            {
+                int TypeCode = CommonMotions.cnvInt(cmbConstructionType.SelectedValue);
+                string strSQL = ConTypeDB.CreatePrimarykeyString(TypeCode);
+                ConstructionTypeMaster TypeRec = new ConstructionTypeMaster();
+                if (!ConTypeDB.SelectAction(strSQL, ref TypeRec))
+                {
+                    MessageBox.Show("�H����ʎ擾�G���[�B", "�H����ʃ`�F�b�N�G���[", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                    cmbConstructionType.SelectedValue = 0;
+                    return;
+                }
+
+                if (TypeRec.SecRank < CommonMotions.LoginUserSecurity.SecRank)
+                {
+                    MessageBox.Show("�I���H����ʂ�I�Ԍ���������܂���B\n�㒷�ɘA�����Ă��������B", "�I���G���[", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                    cmbConstructionType.SelectedValue = 0;
+                    return;
+                }
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("�V�X�e���G���[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+            finally
+            {
+                ConTypeDB.close(); ConTypeDB = null;
+            }
+        }
+        #endregion
     }
 }
\ No newline at end of file
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBudget/FrmConstructionBudgetAuxiliary.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBudget/FrmConstructionBudgetAuxiliary.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBudget/FrmConstructionBudgetAuxiliary.cs	(revision 57)
@@ -992,6 +992,9 @@
                 // グループ名表示
                 CreateTitleRow((int)FrmConstructionBudget.DataGroup.Expenses, s_GroupTitle[(int)FrmConstructionBudget.DataGroup.Expenses]);
 
+                // 関連工事は会社経費５％だけにする
+                GetBudgetExpensesList();
+
                 int icnt = 1;
                 foreach (object[] wrkExpense in m_ExpensesList)
                 {
@@ -1028,6 +1031,44 @@
         }
         #endregion
 
+        #region 関連工事は会社経費５％だけにする
+        /// <summary>
+        /// 関連工事は会社経費５％だけにする
+        /// </summary>
+        private void GetBudgetExpensesList()
+        {
+            IOMTypeExpenses TypeExpDB = new IOMTypeExpenses();
+            try
+            {
+                string strSQL = "SELECT A.TYPECODE, A.NAMESTRING, A.EXPENSESLINK, B.NAMECODE, B.EXPENSESRATE";
+                strSQL += " FROM CONSTRUCTIONTYPEMASTER A";
+                strSQL += " LEFT JOIN TYPEEXPENSESMASTER B ON B.TYPECODE = A.TYPECODE";
+                strSQL += string.Format(" AND B.EXPENSESPERIOD = {0}", CommonMotions.SystemMasterData.BusinessPeriod);
+                strSQL += string.Format(" WHERE A.TYPECODE = {0} AND A.EXPENSESLINK = 1", m_ConstructionBaseInfo.ConstructionType);
+
+                ArrayList arList = new ArrayList();
+                if (!TypeExpDB.ExecuteReader(strSQL, ref arList)) return;
+                // 対象外は処理しない
+                if (arList.Count == 0) return;
+                
+                m_ExpensesList.Clear();
+
+                object[] objRec = (object[])arList[0];
+                m_ExpensesList.Add(new object[] { CommonMotions.cnvString(objRec[1]),
+                                                    CommonMotions.cnvDouble(objRec[4]),
+                                                    CommonMotions.cnvInt(objRec[3]) });
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+            finally
+            {
+                TypeExpDB.close(); TypeExpDB = null;
+            }
+        }
+        #endregion
+
         #region 受注金額よりパーセントを求める
         /// <summary>
         /// 指示値が受注金額の何パーセントかを計算する
@@ -2607,8 +2648,11 @@
                     object[] RowData = new object[Enum.GetNames(typeof(GridColumn)).Length];
                     string title1 = s_GroupTitle[(int)FrmConstructionBudget.DataGroup.AssistantCosts];
                     string title2 = string.Empty;
-                    if (m_DspLabelLocalData[(int)DspLblCtrlName.AssistantName].Length != 0)
-                        title2 = string.Format("【{0}氏】", m_DspLabelLocalData[(int)DspLblCtrlName.AssistantName]);
+                    if (!CommonMotions.chkObjectIsNull(m_DspLabelLocalData[(int)DspLblCtrlName.AssistantName]))
+                    {
+                        if (m_DspLabelLocalData[(int)DspLblCtrlName.AssistantName].Length != 0)
+                            title2 = string.Format("【{0}氏】", m_DspLabelLocalData[(int)DspLblCtrlName.AssistantName]);
+                    }
                     // データセット
                     RowData[(int)GridColumn.FixFlg] = "*";
                     RowData[(int)GridColumn.GroupCount] = (int)FrmConstructionBudget.DataGroup.AssistantCosts;
@@ -2761,8 +2805,11 @@
                     object[] RowData = new object[Enum.GetNames(typeof(GridColumn)).Length];
                     string title1 = s_GroupTitle[(int)FrmConstructionBudget.DataGroup.InstructorCosts];
                     string title2 = string.Empty;
-                    if (m_DspLabelLocalData[(int)DspLblCtrlName.InstructorName].Length != 0)
-                        title2 = string.Format("【{0}氏】", m_DspLabelLocalData[(int)DspLblCtrlName.InstructorName]);
+                    if (!CommonMotions.chkObjectIsNull(m_DspLabelLocalData[(int)DspLblCtrlName.InstructorName]))
+                    {
+                        if (m_DspLabelLocalData[(int)DspLblCtrlName.InstructorName].Length != 0)
+                            title2 = string.Format("【{0}氏】", m_DspLabelLocalData[(int)DspLblCtrlName.InstructorName]);
+                    }
                     // データセット
                     RowData[(int)GridColumn.FixFlg] = "*";
                     RowData[(int)GridColumn.GroupCount] = (int)FrmConstructionBudget.DataGroup.InstructorCosts;
@@ -3545,15 +3592,20 @@
                 // 変更フラグON
                 m_bChengeAns = true;
 
-                // カレント行が削除不可の場合はボタンを消す
-                btnLineDel.Visible = false;
-                if (CommonMotions.cnvString(dgv.CurrentRow.Cells[(int)GridColumn.FixFlg].Value).Equals("*")) return;    // 固定行は処理しない
-                if (CommonMotions.cnvInt(dgv.CurrentRow.Cells[(int)GridColumn.BlankFlg].Value) == 1) return;            // 空白行は処理しない
-                btnLineDel.Visible = true;
+                // 行選択色を変更する
+                DefaultALLRowChangeColor();
 
+                // 粗利益行計算
+                CreateGrossProfit(false);
 
-                // 行選択色を変更する
-                DefaultALLRowChangeColor();
+                // 純利益計算
+                CreateNetIncome(false);
+
+                // 合計計算
+                CreateAllTotal(false);
+
+                // カレント行が削除不可の場合はボタンを消す
+                DispControlLineButton();
             }
             catch (System.Exception ex)
             {
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedger/FrmConstructionLedgerAuxiliary.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedger/FrmConstructionLedgerAuxiliary.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedger/FrmConstructionLedgerAuxiliary.cs	(revision 57)
@@ -1504,6 +1504,9 @@
                 // 行位置取得
                 m_CostsRowCount[(int)CostsRowLine.ExpensesRowLine] = dgv.RowCount - 1;
 
+                // 工事予算書より経費を取り込む
+                GetBudgetExpensesList();
+
                 foreach (object[] wrkExpense in m_ExpensesList)
                 {
                     // 経費率取得
@@ -1550,6 +1553,47 @@
         }
         #endregion
 
+        #region 工事予算書より経費データを取り込む
+        /// <summary>
+        /// 工事予算書より経費データを取り込む
+        /// </summary>
+        private void GetBudgetExpensesList()
+        {
+            IOConstructionBudgetDetail DetailDB = new IOConstructionBudgetDetail();
+            try
+            {
+                int DivCode = CommonDefine.DivisionMasterCode.First(x => x.Value.Equals("工事経費名称登録")).Key;
+                string strSQL = "SELECT B.NAMESTRING, A.AMOUNTCONFIGRATE, A.COMPONENTCODE";
+                strSQL += " FROM CONSTRUCTIONBUDGETDETAIL A, DIVISIONMASTER B";
+                strSQL += DetailDB.CreatePrimarykeyString(m_ConstructionCode, (int)FrmConstructionBudget.DataGroup.Expenses, 0, "A");
+                strSQL += string.Format(" AND B.DIVISIONCODE = {0}", DivCode);
+                strSQL += " AND B.NAMECODE = A.COMPONENTCODE";
+                strSQL += " ORDER BY A.LINECOUNT";
+
+                ArrayList DetailList = new ArrayList();
+                if (!DetailDB.ExecuteReader(strSQL, ref DetailList)) return;
+                if (DetailList.Count == 0) return;
+                
+                m_ExpensesList.Clear();
+
+                foreach (object[] CurRec in DetailList)
+                {
+                    m_ExpensesList.Add(new object[] { CommonMotions.cnvString(CurRec[0]),
+                                                        CommonMotions.cnvDouble(CurRec[1]),
+                                                        CommonMotions.cnvInt(CurRec[2]) });
+                }
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+            finally
+            {
+                DetailDB.close(); DetailDB = null;
+            }
+        }
+        #endregion
+
         #region 工事予算書より施工費を取り込む
         /// <summary>
         /// 工事予算書より施工費を取り込む
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedgerList/FrmConstructionLedgerList.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedgerList/FrmConstructionLedgerList.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedgerList/FrmConstructionLedgerList.cs	(revision 57)
@@ -498,6 +498,9 @@
             // �O���b�h�����ݒ�
             SetDisplayObject();
 
+            // ���O�C���҂̃Z�b�g
+            InitDepPersonCode();
+
             // �����\��
             InitDataLoad();
 
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedgerList/FrmConstructionLedgerListAuxiliary.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedgerList/FrmConstructionLedgerListAuxiliary.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedgerList/FrmConstructionLedgerListAuxiliary.cs	(revision 57)
@@ -2427,5 +2427,34 @@
             }
         }
         #endregion
+
+        #region �������Ƀ��O�C���S���҂��Z�b�g����
+        /// <summary>
+        /// �������Ƀ��O�C���S���҂��Z�b�g����
+        /// </summary>
+        private void InitDepPersonCode()
+        {
+            try
+            {
+                if (!m_FirstStartFlg && m_initDataLoad)
+                {
+                    cmbDepartment.SelectedValue = m_FirstStartDepartmentCode;
+                    SetcmbPersons();
+                    cmbConstructionPerson.SelectedValue = m_FirstStartPersonCode;
+                }
+                else
+                {
+                    cmbDepartment.SelectedValue = CommonMotions.LoginUserData.DepartmentCode;
+                    SetcmbPersons();
+                    cmbConstructionPerson.SelectedValue = CommonMotions.LoginUserData.PersonCode;
+                }
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("�V�X�e���G���[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
     }
 }
\ No newline at end of file
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/CostomerRegist/FrmCostomerRegist.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/CostomerRegist/FrmCostomerRegist.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/CostomerRegist/FrmCostomerRegist.cs	(revision 57)
@@ -35,8 +35,15 @@
         #endregion
 
         #region 定数
-        // 最大文字数
+        #region 自プロセス名称
         /// <summary>
+        /// 自プロセス名称
+        /// </summary>
+        private const string s_MyProcessName = "発注者登録承認";
+        #endregion
+
+        #region 最大文字数
+        /// <summary>
         /// 発注者名
         /// </summary>
         private const int s_CostomerNameLength = 60;
@@ -48,7 +55,9 @@
         /// 備考
         /// </summary>
         private const int s_NoteLength = 300;
+        #endregion
 
+        #region 表示順番
         /// <summary>
         /// 表示順番
         /// </summary>
@@ -58,7 +67,7 @@
             PersonCode,
             PersonName,
             DepartmentName,
-            PetitionDate,
+            CreateDate,
             OrdersDivision,
             CorporateStatusName,
             OrdersName1,
@@ -78,8 +87,10 @@
             ChargePersonName,
             ChargeDepartmentName,
             OrderNo,
+            OrderDate,
         }
         #endregion
+        #endregion
 
         #region 変数
         /// <summary>
@@ -93,13 +104,21 @@
         private Control[] m_dispControl;
 
         /// <summary>
+        /// 申請者番号
+        /// </summary>
+        private int m_PersonCode = 0;
+        /// <summary>
         /// 申請年月
         /// </summary>
-        private int m_PetitionNo = 0;
+        private DateTime m_OrderDate = DateTime.MinValue;
         /// <summary>
-        /// 申請番号
+        /// 申請連番
         /// </summary>
-        private int m_PetitionSeqNo = 0;
+        private int m_OrderNo = 0;
+        /// <summary>
+        /// 申請年度
+        /// </summary>
+        private int m_BusinessPeriod = 0;
 
         /// <summary>
         /// 新規データ作成フラグ
@@ -115,25 +134,46 @@
         /// 参照フラグ
         /// </summary>
         private bool m_EditLock = false;
+
+        /// <summary>
+        /// 親フォーム終了
+        /// </summary>
+        private bool m_ParentEnd = false;
         #endregion
 
         #region プロパティ
         /// <summary>
+        /// 申請者番号
+        /// </summary>
+        public int PersonCode
+        {
+            get { return m_PersonCode; }
+            set { m_PersonCode = value; }
+        }
+        /// <summary>
         /// 申請年月
         /// </summary>
-        public int PetitionNo
+        public DateTime CreateDate
         {
-            get { return m_PetitionNo; }
-            set { m_PetitionNo = value; }
+            get { return m_OrderDate; }
+            set { m_OrderDate = value; }
         }
         /// <summary>
-        /// 申請番号
+        /// 申請連番
         /// </summary>
-        public int PetitionSeqNo
+        public int SeqNo 
         {
-            get { return m_PetitionSeqNo; }
-            set { m_PetitionSeqNo = value; }
+            get { return m_OrderNo; }
+            set { m_OrderNo = value; }
         }
+        /// <summary>
+        /// 申請年度
+        /// </summary>
+        public int BusinessPeriod
+        {
+            get { return m_BusinessPeriod; }
+            set { m_BusinessPeriod = value; }
+        }
 
         /// <summary>
         /// 新規データ作成フラグ
@@ -152,6 +192,15 @@
             get { return m_EditLock; }
             set { m_EditLock = value; }
         }
+
+        /// <summary>
+        /// 親フォーム終了
+        /// </summary>
+        public bool ParentEnd
+        {
+            get { return m_ParentEnd; }
+            set { m_ParentEnd=value;}
+        }
         #endregion
 
         #region コンストラクタ
@@ -237,6 +286,9 @@
             // 更新データ表示処理
             DispMentenanceData();
 
+            // 申請・承認表示処理
+            InitApprovalDisplay();
+
             // 参照時ロック
             if (m_EditLock)
             {
@@ -243,6 +295,25 @@
                 ExecReadOnly();
             }
 
+            // 承認画面の「承認対象データを見る」からの起動時は承認ボタンの表示がある
+            bool bApproval = ClsApprovalPermission.ExceApprovalScreen((int)ClsExcute.SubFormExecuteNo.ApprovalPerson);
+            if (bApproval)
+            {
+                // 承認対象コードを取得する
+                int ApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName)).Key;
+                // 工事案件の管理部署を取得する
+                int DepartmentCode = ClsApprovalPermission.GetFromPersonAndApprovalTheDepartment(m_PersonCode, ApprovalCode, m_OrderDate, m_OrderNo);
+                // 案件に対して申請がされているかを確認する
+                bool Pettition = ClsApprovalPermission.CheckPersonPetition(m_PersonCode, ApprovalCode, m_OrderDate, m_OrderNo);
+                // ログイン者が承認者かを確認する
+                bool Approvaler = ClsApprovalPermission.CheckUserForApprover(ApprovalCode, DepartmentCode);
+                // 申請中でログイン者が承認者の場合は承認ボタンを表示する
+                if (Pettition && Approvaler)
+                {
+                    pnlApprovalButton.Visible = true;
+                }
+            }
+
             m_bChengeAns = false;
         }
         #endregion
@@ -473,46 +544,8 @@
         /// <param name="e"></param>
         private void btnPetition_Click(object sender, EventArgs e)
         {
-            IOCostomerRegist CrDB = new IOCostomerRegist();
-            IOPersonApproval PersonAppDB = new IOPersonApproval();
-            try
-            {
-                int SelPersonCode = CommonMotions.cnvInt(m_dispControl[(int)DispCtrl.PersonCode]);
-                // 発注者登録申請データが無い場合は登録する
-                string strSQL = CrDB.CreatePrimarykeyString(m_PetitionNo, m_PetitionSeqNo);
-
-                CostomerRegist DataRec = new CostomerRegist();
-                if (!CrDB.SelectAction(strSQL, ref DataRec)) m_bChengeAns = true;
-
-                // データ変更有時はデータ登録
-                if (m_bChengeAns) if (!CostomerRegistDataEntry()) return;
-
-                // 起動番号
-                int NowPoint = ClsExcute.NextProcess((int)ClsExcute.SubFormExecuteNo.ApprovalPerson);
-                // 担当者コード
-                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(SelPersonCode);
-                // 承認機能番号
-                int iApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals("発注者登録承認")).Key;
-                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(iApprovalCode);
-                // 受付日
-                ClsExcute.ProcControlPara[NowPoint].StringExecParameter.Add(DateTime.Now.ToShortDateString());
-                // 受付番号
-                string strApp = PersonAppDB.CreatePrimarykeyString(SelPersonCode, (int)ClsExcute.ApprovalListNo.CostomerRegistApproval, DateTime.Now.Date);
-                int wrkOrderNo = PersonAppDB.SelectMaxOrderNoCount(strApp) + 1;
-                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(wrkOrderNo);
-
-                // 自フォーム終了
-                this.Close();
-            }
-            catch (Exception ex)
-            {
-                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
-            }
-            finally
-            {
-                CrDB.close(); CrDB = null;
-                PersonAppDB.close(); PersonAppDB = null;
-            }
+            // 申請ボタン押下処理
+            PetitionProcess();
         }
         #endregion
 
@@ -524,39 +557,8 @@
         /// <param name="e"></param>
         private void btnApproval_Click(object sender, EventArgs e)
         {
-            try
-            {
-                // データ変更有時はデータ登録
-                if (m_bChengeAns)
-                {
-                    if (!CostomerRegistDataEntry()) return;
-                }
-
-                // 起動番号
-                int NowPoint = ClsExcute.NextProcess((int)ClsExcute.SubFormExecuteNo.ApprovalPerson);
-
-                // 担当者コード
-                int SelPersonCode = CommonMotions.cnvInt(m_dispControl[(int)DispCtrl.PersonCode]);
-                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(SelPersonCode);
-
-                // 承認機能番号
-                int iApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals("発注者登録承認")).Key;
-                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(iApprovalCode);
-
-                // 受付日
-                string strartDate = m_dispControl[(int)DispCtrl.PetitionDate].Text;
-                ClsExcute.ProcControlPara[NowPoint].StringExecParameter.Add(strartDate);
-
-                // 受付番号
-                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(CommonMotions.cnvInt(m_dispControl[(int)DispCtrl.OrderNo].Text));
-
-                // 自フォーム終了
-                this.Close();
-            }
-            catch (Exception ex)
-            {
-                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
-            }
+            // 承認ボタン押下処理
+            ApprovalProcess();
         }
         #endregion
 
@@ -568,45 +570,8 @@
         /// <param name="e"></param>
         private void btnOnApproval_Click(object sender, EventArgs e)
         {
-            FrmApprovalPerson frm = new FrmApprovalPerson();
-            try
-            {
-                if (MessageBox.Show("出勤管理を承認します、よろしいですか？。", "承認確認"
-                                , MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) return;
-
-                // 担当者コード
-                int SelPersonCode = CommonMotions.cnvInt(m_dispControl[(int)DispCtrl.PersonCode]);
-                frm.PersonCode = SelPersonCode;
-                // 承認機能番号セット
-                frm.ApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals("発注者登録承認")).Key;
-                // 受付日
-                string strartDate = m_dispControl[(int)DispCtrl.PetitionDate].Text;
-                frm.OrderDate = CommonMotions.cnvDate(strartDate);
-                // 受付番号
-                frm.OrderNo = CommonMotions.cnvInt(m_dispControl[(int)DispCtrl.OrderNo].Text);
-
-
-                // 申請・承認レコード更新
-                if (!frm.ApprovalDataUpDate((int)CommonDefine.ApprovalStatus.Approval, false))
-                {
-                    MessageBox.Show("承認に失敗しました。", "承認エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
-                    return;
-                }
-
-                // メニューへ戻る
-                ClsExcute.ClearProcess();
-
-                // 画面クローズ
-                this.Close();
-            }
-            catch (System.Exception ex)
-            {
-                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
-            }
-            finally
-            {
-                frm.Dispose(); frm = null;
-            }
+            // 承認パネル（pnlApproval）承認ボタン 
+            OnApprovalProcess();
         }
         #endregion
 
@@ -618,44 +583,8 @@
         /// <param name="e"></param>
         private void btnOnHold_Click(object sender, EventArgs e)
         {
-            FrmApprovalPerson frm = new FrmApprovalPerson();
-            try
-            {
-                if (MessageBox.Show("出勤管理を保留とします、よろしいですか？。", "保留確認"
-                                , MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) return;
-
-                // 担当者コード
-                int SelPersonCode = CommonMotions.cnvInt(m_dispControl[(int)DispCtrl.PersonCode]);
-                frm.PersonCode = SelPersonCode;
-                // 承認機能番号セット
-                frm.ApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals("発注者登録承認")).Key;
-                // 受付日
-                string strartDate = m_dispControl[(int)DispCtrl.PetitionDate].Text;
-                frm.OrderDate = CommonMotions.cnvDate(strartDate);
-                // 受付番号
-                frm.OrderNo = CommonMotions.cnvInt(m_dispControl[(int)DispCtrl.OrderNo].Text);
-
-                // 申請・承認レコード更新
-                if (!frm.ApprovalDataUpDate((int)CommonDefine.ApprovalStatus.Pending, false))
-                {
-                    MessageBox.Show("保留に失敗しました。", "保留エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
-                    return;
-                }
-
-                // メニューへ戻る
-                ClsExcute.ClearProcess();
-
-                // 画面クローズ
-                this.Close();
-            }
-            catch (System.Exception ex)
-            {
-                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
-            }
-            finally
-            {
-                frm.Dispose(); frm = null;
-            }
+            // 承認パネル（pnlApproval）保留ボタン押下処理
+            OnHoldProcess();
         }
         #endregion
 
@@ -667,44 +596,8 @@
         /// <param name="e"></param>
         private void btnNotApproval_Click(object sender, EventArgs e)
         {
-            FrmApprovalPerson frm = new FrmApprovalPerson();
-            try
-            {
-                if (MessageBox.Show("出勤管理を不承認します、よろしいですか？。", "不承認確認"
-                                , MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) return;
-
-                // 担当者コード
-                int SelPersonCode = CommonMotions.cnvInt(m_dispControl[(int)DispCtrl.PersonCode]);
-                frm.PersonCode = SelPersonCode;
-                // 承認機能番号セット
-                frm.ApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals("発注者登録承認")).Key;
-                // 受付日
-                string strartDate = m_dispControl[(int)DispCtrl.PetitionDate].Text;
-                frm.OrderDate = CommonMotions.cnvDate(strartDate);
-                // 受付番号
-                frm.OrderNo = CommonMotions.cnvInt(m_dispControl[(int)DispCtrl.OrderNo].Text);
-
-                // 申請・承認レコード更新
-                if (!frm.ApprovalDataUpDate((int)CommonDefine.ApprovalStatus.NotApproval, false))
-                {
-                    MessageBox.Show("不承認に失敗しました。", "不承認エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
-                    return;
-                }
-
-                // メニューへ戻る
-                ClsExcute.ClearProcess();
-
-                // 画面クローズ
-                this.Close();
-            }
-            catch (System.Exception ex)
-            {
-                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
-            }
-            finally
-            {
-                frm.Dispose(); frm = null;
-            }
+            // 承認パネル（pnlApproval）不承認ボタン押下処理
+            NotApprovalProcess();
         }
         #endregion
     }
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/CostomerRegist/FrmCostomerRegist.designer.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/CostomerRegist/FrmCostomerRegist.designer.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/CostomerRegist/FrmCostomerRegist.designer.cs	(revision 57)
@@ -57,6 +57,7 @@
             this.txtInput02 = new System.Windows.Forms.TextBox();
             this.cmbDivision = new System.Windows.Forms.ComboBox();
             this.panel1 = new System.Windows.Forms.Panel();
+            this.label27 = new System.Windows.Forms.Label();
             this.label21 = new System.Windows.Forms.Label();
             this.label20 = new System.Windows.Forms.Label();
             this.label19 = new System.Windows.Forms.Label();
@@ -434,6 +435,7 @@
             // panel1
             // 
             this.panel1.BackColor = System.Drawing.Color.Orange;
+            this.panel1.Controls.Add(this.label27);
             this.panel1.Controls.Add(this.label21);
             this.panel1.Controls.Add(this.label20);
             this.panel1.Controls.Add(this.label19);
@@ -452,6 +454,18 @@
             this.panel1.Size = new System.Drawing.Size(870, 80);
             this.panel1.TabIndex = 13;
             // 
+            // label27
+            // 
+            this.label27.BackColor = System.Drawing.Color.White;
+            this.label27.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
+            this.label27.ForeColor = System.Drawing.Color.Black;
+            this.label27.Location = new System.Drawing.Point(264, 45);
+            this.label27.Name = "label27";
+            this.label27.Size = new System.Drawing.Size(130, 25);
+            this.label27.TabIndex = 125;
+            this.label27.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            this.label27.Visible = false;
+            // 
             // label21
             // 
             this.label21.BackColor = System.Drawing.Color.White;
@@ -524,6 +538,7 @@
             this.btnPetition.TabIndex = 12;
             this.btnPetition.Text = "未申請";
             this.btnPetition.UseVisualStyleBackColor = false;
+            this.btnPetition.Click += new System.EventHandler(this.btnPetition_Click);
             // 
             // btnApproval
             // 
@@ -537,6 +552,7 @@
             this.btnApproval.TabIndex = 12;
             this.btnApproval.Text = "未承認";
             this.btnApproval.UseVisualStyleBackColor = false;
+            this.btnApproval.Click += new System.EventHandler(this.btnApproval_Click);
             // 
             // pnlApprovalButton
             // 
@@ -562,6 +578,7 @@
             this.btnOnApproval.TabStop = false;
             this.btnOnApproval.Text = "承認";
             this.btnOnApproval.UseVisualStyleBackColor = false;
+            this.btnOnApproval.Click += new System.EventHandler(this.btnOnApproval_Click);
             // 
             // btnNotApproval
             // 
@@ -573,6 +590,7 @@
             this.btnNotApproval.TabStop = false;
             this.btnNotApproval.Text = "不承認";
             this.btnNotApproval.UseVisualStyleBackColor = false;
+            this.btnNotApproval.Click += new System.EventHandler(this.btnNotApproval_Click);
             // 
             // btnOnHold
             // 
@@ -584,6 +602,7 @@
             this.btnOnHold.TabStop = false;
             this.btnOnHold.Text = "保留";
             this.btnOnHold.UseVisualStyleBackColor = false;
+            this.btnOnHold.Click += new System.EventHandler(this.btnOnHold_Click);
             // 
             // label15
             // 
@@ -593,7 +612,7 @@
             this.label15.Name = "label15";
             this.label15.Size = new System.Drawing.Size(114, 25);
             this.label15.TabIndex = 37;
-            this.label15.Text = "申請日";
+            this.label15.Text = "作成日";
             this.label15.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
             // 
             // label18
@@ -1083,5 +1102,6 @@
         private System.Windows.Forms.Label label25;
         private System.Windows.Forms.TextBox txtInput15;
         private System.Windows.Forms.Label label26;
+        private System.Windows.Forms.Label label27;
     }
 }
\ No newline at end of file
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/CostomerRegist/FrmCostomerRegistAuxiliary.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/CostomerRegist/FrmCostomerRegistAuxiliary.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/CostomerRegist/FrmCostomerRegistAuxiliary.cs	(revision 57)
@@ -33,7 +33,7 @@
             m_dispControl[(int)DispCtrl.PersonCode] = label21;
             m_dispControl[(int)DispCtrl.PersonName] = lblLabel01;
             m_dispControl[(int)DispCtrl.DepartmentName] = lblLabel02;
-            m_dispControl[(int)DispCtrl.PetitionDate] = lblLabel03;
+            m_dispControl[(int)DispCtrl.CreateDate] = lblLabel03;
 
             m_dispControl[(int)DispCtrl.OrdersDivision] = cmbDivision;
             m_dispControl[(int)DispCtrl.CorporateStatusName] = cmbCorporateStatus;
@@ -54,6 +54,7 @@
             m_dispControl[(int)DispCtrl.ChargeDepartmentName] = textBox1;
             m_dispControl[(int)DispCtrl.ChargePersonName] = textBox2;
             m_dispControl[(int)DispCtrl.OrderNo] = label26;
+            m_dispControl[(int)DispCtrl.OrderDate] = label27;
         }
         #endregion
         
@@ -179,6 +180,104 @@
         }
         #endregion
 
+        #region 初期時申請・承認表示処理
+        /// <summary>
+        /// 初期時申請・承認表示処理
+        /// </summary>
+        private void InitApprovalDisplay()
+        {
+            try
+            {
+                // 承認コード取得
+                int iApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName)).Key;
+
+                // 起動元のリストに承認画面があれば表示しない
+                if (ClsApprovalPermission.ExceApprovalScreen((int)ClsExcute.SubFormExecuteNo.ApprovalPerson))
+                {
+                    pnlApproval.Visible = false;
+                }
+
+                // 承認ボタン・件数の非表示
+                btnApproval.Visible = false;
+                lblApprovalCount.Visible = false;
+
+                // ----- 初期時は申請ボタンのサイズを最大にする
+                btnPetition.Size = new Size(250, btnPetition.Size.Height);
+
+                DateTime OrderDate = CommonMotions.cnvDate(m_dispControl[(int)DispCtrl.OrderDate].Text);
+                // ----- 担当者コード・承認機能番号取得（申請レコードがない場合は未申請）
+                if (!ClsApprovalPermission.CheckPersonPetition(m_PersonCode,
+                                                                iApprovalCode,
+                                                                OrderDate,
+                                                                CommonDefine.s_Default_OrderNo)) return;
+
+                // ----- 申請済の場合
+                // 申請ボタンの表示
+                btnPetition.Text = CommonDefine.PetitionButtonString[1];
+                btnPetition.ForeColor = Color.Black;
+                btnPetition.Size = btnApproval.Size;
+                btnPetition.Enabled = false;
+
+                // 承認ボタンの表示
+                btnApproval.Visible = true;
+
+                // ----- 承認済の場合
+                if (ClsApprovalPermission.CheckPersonApproval(m_PersonCode, iApprovalCode, OrderDate, 1))
+                {
+                    btnApproval.Text = CommonDefine.ApprovalButtonString[1];
+                    btnApproval.ForeColor = Color.Black;
+                    // 承認済みの場合は入力できない
+                    ExecReadOnly();
+                    //// 承認済みフラグON
+                    //m_ApprovalFlag = true;
+                }
+
+                // 承認件数の表示
+                lblApprovalCount.Visible = true;
+                SetApprovalCount();
+
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
+        #region 承認数表示
+        /// <summary>
+        /// 承認件数のセット
+        /// </summary>
+        private void SetApprovalCount()
+        {
+            try
+            {
+                // 初期値セット
+                lblApprovalCount.Text = "";
+
+                DateTime OrderDate = CommonMotions.cnvDate(m_dispControl[(int)DispCtrl.OrderDate].Text);
+                // 担当者コード・承認機能番号取得
+                int iApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName)).Key;
+                // 担当部署取得
+                int DepartmentCode = ClsApprovalPermission.GetFromPersonAndApprovalTheDepartment(m_PersonCode, iApprovalCode, OrderDate, 1);
+
+                // 承認データ取得
+                int ApprovalCount = ClsApprovalPermission.GetPersonApprovalDataCount(m_PersonCode, iApprovalCode, OrderDate);
+
+                // 承認経路マスタ取得
+                int MasterCount = ClsApprovalPermission.GetApprovalMasterCount(iApprovalCode, DepartmentCode);
+
+                // 初期値セット
+                lblApprovalCount.Text = string.Format("{0}/{1}", ApprovalCount, MasterCount);
+
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
         #region データ登録時初期処理
         /// <summary>
         /// データ登録時初期処理
@@ -191,22 +290,25 @@
                 // 対象データ・取得SQL作成
                 if (m_NewData)
                 {   // 新規作成時
-                    DateTime BaseDate = DateTime.Now;
-                    int PetitionNo = (BaseDate.Year * 100) + (BaseDate.Month);
-                    strSQL = crDB.CreatePrimarykeyString(PetitionNo);
+                    // キー項目セット
+                    RegRec.PersonCode = CommonMotions.cnvInt(m_dispControl[(int)DispCtrl.PersonCode].Text);
+                    RegRec.CreateDate = CommonMotions.cnvDate(m_dispControl[(int)DispCtrl.CreateDate].Text);
+                    RegRec.PetitionPeriod = CommonMotions.cnvInt(m_dispControl[(int)DispCtrl.PetitionPeriod].Text);
+
+                    // 申請連番取得
+                    strSQL = crDB.CreatePrimarykeyString(RegRec.PersonCode, RegRec.CreateDate);
                     int SeqNo = crDB.SelectMaxSeqNo(strSQL, false) + 1;
-                    strSQL = crDB.CreatePrimarykeyString(PetitionNo, SeqNo);
+                    strSQL = crDB.CreatePrimarykeyString(RegRec.PersonCode, RegRec.CreateDate, SeqNo);
                     crDB.DeleteAction(strSQL, false);
-                    // キー項目セット
-                    RegRec.PetitionNo = PetitionNo;
+
                     RegRec.SeqNo = SeqNo;
-                    RegRec.PetitionPeriod = CommonMotions.cnvInt(m_dispControl[(int)DispCtrl.PetitionPeriod].Text);
-                    RegRec.PersonCode = CommonMotions.cnvInt(m_dispControl[(int)DispCtrl.PersonCode].Text);
-                    RegRec.PetitionDate = CommonMotions.cnvDate(m_dispControl[(int)DispCtrl.PetitionDate].Text);
+                    m_PersonCode = RegRec.PersonCode;
+                    m_OrderDate = RegRec.CreateDate;
+                    m_OrderNo = SeqNo;
                 }
                 else
                 {   //  既存データ取得
-                    strSQL = crDB.CreatePrimarykeyString(m_PetitionNo, m_PetitionSeqNo);
+                    strSQL = crDB.CreatePrimarykeyString(m_PersonCode, m_OrderDate, m_OrderNo);
                     if (!crDB.SelectAction(strSQL, ref RegRec, false))
                     {
                         crDB.rollback();
@@ -334,7 +436,7 @@
 
                 crDB.connect(); crDB.beginTran();
 
-                string strWhere = crDB.CreatePrimarykeyString(m_PetitionNo, m_PetitionSeqNo);
+                string strWhere = crDB.CreatePrimarykeyString(m_PersonCode, m_OrderDate, m_OrderNo);
 
                 if (!crDB.DeleteAction(strWhere,false))
                 {
@@ -367,16 +469,27 @@
             IOMDepartment dmDB = new IOMDepartment();
             try
             {
-                string strSQL = dmDB.CreatePrimarykeyString(CommonMotions.LoginUserData.DepartmentCode);
-                DepartmentMaster dmRec = new DepartmentMaster();
-                dmDB.SelectAction(strSQL, ref dmRec);
+                string strSQL = "SELECT B.DEPARTMENTSTRING, A.PERSONNAME FROM PERSONINCHARGEMASTER A, DEPARTMENTMASTER B";
+                strSQL += string.Format(" WHERE A.PERSONCODE = {0}", m_PersonCode);
+                strSQL += " AND B.DEPARTMENTCODE = A.DEPARTMENTCODE";
+                ArrayList dmRec = new ArrayList();
+                dmDB.ExecuteReader(strSQL, ref dmRec);
 
-                m_dispControl[(int)DispCtrl.PetitionPeriod].Text = CommonMotions.SystemMasterData.BusinessPeriod.ToString();
-                m_dispControl[(int)DispCtrl.PersonCode].Text = CommonMotions.LoginUserData.PersonCode.ToString();
-                m_dispControl[(int)DispCtrl.PersonName].Text = CommonMotions.LoginUserData.PersonName;
-                m_dispControl[(int)DispCtrl.DepartmentName].Text = dmRec.DepartmentString;
-                m_dispControl[(int)DispCtrl.PetitionDate].Text = DateTime.Now.ToShortDateString();
+                string strDepName = string.Empty;
+                string strPerName = string.Empty;
+                if (dmRec.Count != 0)
+                {
+                    object[] objRec = (object[])dmRec[0];
+                    strDepName = CommonMotions.cnvString(objRec[0]);
+                    strPerName = CommonMotions.cnvString(objRec[1]);
+                }
 
+                m_dispControl[(int)DispCtrl.PetitionPeriod].Text = m_BusinessPeriod.ToString();
+                m_dispControl[(int)DispCtrl.PersonCode].Text = m_PersonCode.ToString();
+                m_dispControl[(int)DispCtrl.PersonName].Text = strPerName;
+                m_dispControl[(int)DispCtrl.DepartmentName].Text = strDepName;
+                m_dispControl[(int)DispCtrl.CreateDate].Text = DateTime.Now.ToShortDateString();
+
             }
             catch (Exception ex)
             {
@@ -405,7 +518,9 @@
                 string strSQL = "SELECT A.*, B.PERSONNAME, C.DEPARTMENTSTRING, C.DEPARTMENTCODE FROM COSTOMERREGIST A";
                 strSQL += " LEFT JOIN PERSONINCHARGEMASTER B ON B.PERSONCODE = A.PERSONCODE";
                 strSQL += " LEFT JOIN DEPARTMENTMASTER C ON C.DEPARTMENTCODE = B.DEPARTMENTCODE";
-                strSQL += string.Format(" WHERE PetitionNo = {0} AND SeqNo = {1}", m_PetitionNo, m_PetitionSeqNo);
+                strSQL += string.Format(" WHERE A.PersonCode = {0}", m_PersonCode);
+                strSQL += string.Format(" AND A.CreateDate = TO_DATE('{0}')", m_OrderDate.ToShortDateString());
+                strSQL += string.Format(" AND A.SeqNo = {0}", m_OrderNo);
 
                 if (!crDB.ExecuteReader(strSQL, ref crList)) return false;
                 if (crList.Count == 0) return true;
@@ -425,6 +540,7 @@
                 else radioButton2.Checked = true;
 
                 m_dispControl[(int)DispCtrl.OrderNo].Text = CommonMotions.cnvInt(crRec[(int)IOCostomerRegist.DataColumn.OrderNo]).ToString();
+                m_dispControl[(int)DispCtrl.OrderDate].Text = CommonMotions.cnvDate(crRec[(int)IOCostomerRegist.DataColumn.OrderDate]).ToShortDateString();
 
                 m_dispControl[(int)DispCtrl.OrdersName1].Text = CommonMotions.cnvString(crRec[(int)IOCostomerRegist.DataColumn.OrderersName1]);
                 m_dispControl[(int)DispCtrl.OrdersName2].Text = CommonMotions.cnvString(crRec[(int)IOCostomerRegist.DataColumn.OrderersName2]);
@@ -439,13 +555,18 @@
                 m_dispControl[(int)DispCtrl.MailAddress].Text = CommonMotions.cnvString(crRec[(int)IOCostomerRegist.DataColumn.MailAddress]);
                 m_dispControl[(int)DispCtrl.Note].Text = CommonMotions.cnvString(crRec[(int)IOCostomerRegist.DataColumn.Note]);
 
-                int DspCtrlCnt = Enum.GetNames(typeof(IOCostomerRegist.DataColumn)).Length;
+                m_dispControl[(int)DispCtrl.CreateDate].Text = CommonMotions.cnvDate(crRec[(int)IOCostomerRegist.DataColumn.CreateDate]).ToShortDateString();
                 m_dispControl[(int)DispCtrl.PetitionPeriod].Text = CommonMotions.cnvInt(crRec[(int)IOCostomerRegist.DataColumn.PetitionPeriod]).ToString();
                 m_dispControl[(int)DispCtrl.PersonCode].Text = CommonMotions.cnvInt(crRec[(int)IOCostomerRegist.DataColumn.PersonCode]).ToString();
+
+                int DspCtrlCnt = Enum.GetNames(typeof(IOCostomerRegist.DataColumn)).Length;
                 m_dispControl[(int)DispCtrl.PersonName].Text = CommonMotions.cnvString(crRec[DspCtrlCnt]);
                 m_dispControl[(int)DispCtrl.DepartmentName].Text = CommonMotions.cnvString(crRec[(DspCtrlCnt + 1)]);
-                m_dispControl[(int)DispCtrl.PetitionDate].Text = CommonMotions.cnvDate(crRec[(int)IOCostomerRegist.DataColumn.PetitionDate]).ToShortDateString();
 
+                // 申請データキー取得
+                m_OrderDate = CommonMotions.cnvDate(crRec[(int)IOCostomerRegist.DataColumn.OrderDate]);
+                m_OrderNo = CommonMotions.cnvInt(crRec[(int)IOCostomerRegist.DataColumn.OrderNo]);
+                
                 return true;
             }
             catch (Exception ex)
@@ -552,6 +673,7 @@
                 ControlLock(false);
                 btnDataEntry.Visible = false;
                 btnDataDelete.Visible = false;
+                panel2.Enabled = false;
             }
             catch (Exception ex)
             {
@@ -608,6 +730,292 @@
         }
         #endregion
 
+        #region 申請ボタン押下処理
+        /// <summary>
+        /// 申請ボタン押下処理
+        /// </summary>
+        private void PetitionProcess()
+        {
+            IOCostomerRegist CrDB = new IOCostomerRegist();
+            IOPersonApproval PersonAppDB = new IOPersonApproval();
+            try
+            {
+                // 発注者登録申請データが無い場合は登録する
+                string strSQL = CrDB.CreatePrimarykeyString(m_PersonCode, m_OrderDate, m_OrderNo);
+                CostomerRegist DataRec = new CostomerRegist();
+                if (!CrDB.SelectAction(strSQL, ref DataRec)) m_bChengeAns = true;
+
+                // データ変更有時はデータ登録
+                if (m_bChengeAns) if (!CostomerRegistDataEntry()) return;
+
+                // 一気にメニューに戻る
+                m_EndButton = true;
+                ClsExcute.ClearProcess();
+
+                DateTime wkDate = DateTime.Now;
+                // 起動番号
+                int NowPoint = ClsExcute.NextProcess((int)ClsExcute.SubFormExecuteNo.ApprovalPerson);
+                // 担当者コード
+                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(m_PersonCode);
+                // 承認機能番号
+                int iApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName)).Key;
+                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(iApprovalCode);
+                // 受付日
+                ClsExcute.ProcControlPara[NowPoint].DateExecParameter.Add(wkDate);
+                // 受付番号
+                string strApp = PersonAppDB.CreatePrimarykeyString(m_PersonCode, (int)ClsExcute.ApprovalListNo.CostomerRegistApproval, wkDate);
+                int wrkOrderNo = PersonAppDB.SelectMaxOrderNoCount(strApp) + 1;
+                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(wrkOrderNo);
+
+                // 検索日付キー
+                ClsExcute.ProcControlPara[NowPoint].DateExecParameter.Add(m_OrderDate);
+                // 検索連番キー
+                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(m_OrderNo);
+
+                // 親フォーム終了
+                m_ParentEnd = true;
+
+                // 自フォーム終了
+                this.Close();
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+            finally
+            {
+                CrDB.close(); CrDB = null;
+                PersonAppDB.close(); PersonAppDB = null;
+            }
+        }
+        #endregion
+
+        #region 承認ボタン押下処理
+        /// <summary>
+        /// 承認ボタン押下処理
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void ApprovalProcess()
+        {
+            try
+            {
+                // データ変更有時はデータ登録
+                if (m_bChengeAns)
+                {
+                    if (!CostomerRegistDataEntry()) return;
+                }
+
+                // 一気にメニューに戻る
+                m_EndButton = true;
+                ClsExcute.ClearProcess();
+
+                // 起動番号
+                int NowPoint = ClsExcute.NextProcess((int)ClsExcute.SubFormExecuteNo.ApprovalPerson);
+
+                // 担当者コード
+                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(m_PersonCode);
+
+                // 承認機能番号
+                int iApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName)).Key;
+                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(iApprovalCode);
+
+                // 受付日
+                string strartDate = m_dispControl[(int)DispCtrl.OrderDate].Text;
+                ClsExcute.ProcControlPara[NowPoint].DateExecParameter.Add(CommonMotions.cnvDate(strartDate));
+
+                // 受付番号
+                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(CommonMotions.cnvInt(m_dispControl[(int)DispCtrl.OrderNo].Text));
+
+                // 検索日付キー
+                ClsExcute.ProcControlPara[NowPoint].DateExecParameter.Add(m_OrderDate);
+                // 検索連番キー
+                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(m_OrderNo);
+
+                // 親フォーム終了
+                m_ParentEnd = true;
+
+                // 自フォーム終了
+                this.Close();
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
+        #region 承認パネル（pnlApproval）承認ボタン押下処理
+        /// <summary>
+        /// 承認パネル（pnlApproval）承認ボタン押下処理
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void OnApprovalProcess()
+        {
+            FrmApprovalPerson frm = new FrmApprovalPerson();
+            try
+            {
+                if (MessageBox.Show("出勤管理を承認します、よろしいですか？。", "承認確認"
+                                , MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) return;
+
+                // 一気にメニューに戻る
+                m_EndButton = true;
+                ClsExcute.ClearProcess();
+
+                // 担当者コード
+                frm.PersonCode = m_PersonCode;
+                // 承認機能番号セット
+                frm.ApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName)).Key;
+                // 受付日
+                string strartDate = m_dispControl[(int)DispCtrl.OrderDate].Text;
+                frm.OrderDate = CommonMotions.cnvDate(strartDate);
+                // 受付番号
+                frm.OrderNo = CommonMotions.cnvInt(m_dispControl[(int)DispCtrl.OrderNo].Text);
+
+                // 検索日付キー
+                frm.DataSearchDate = m_OrderDate;
+                // 検索連番キー
+                frm.DataSearchSeqNo = m_OrderNo;
+
+                // 申請・承認レコード更新
+                if (!frm.ApprovalDataUpDate((int)CommonDefine.ApprovalStatus.Approval, false))
+                {
+                    MessageBox.Show("承認に失敗しました。", "承認エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                    return;
+                }
+
+                // 親フォーム終了
+                m_ParentEnd = true;
+
+                // 画面クローズ
+                this.Close();
+            }
+            catch (System.Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+            finally
+            {
+                frm.Dispose(); frm = null;
+            }
+        }
+        #endregion
+
+        #region 承認パネル（pnlApproval）保留ボタン押下処理
+        /// <summary>
+        /// 承認パネル（pnlApproval）保留ボタン押下処理
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void OnHoldProcess()
+        {
+            FrmApprovalPerson frm = new FrmApprovalPerson();
+            try
+            {
+                if (MessageBox.Show("出勤管理を保留とします、よろしいですか？。", "保留確認"
+                                , MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) return;
+
+                // 一気にメニューに戻る
+                m_EndButton = true;
+                ClsExcute.ClearProcess();
+
+                // 担当者コード
+                frm.PersonCode = m_PersonCode;
+                // 承認機能番号セット
+                frm.ApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName)).Key;
+                // 受付日
+                string strartDate = m_dispControl[(int)DispCtrl.OrderDate].Text;
+                frm.OrderDate = CommonMotions.cnvDate(strartDate);
+                // 受付番号
+                frm.OrderNo = CommonMotions.cnvInt(m_dispControl[(int)DispCtrl.OrderNo].Text);
+
+                // 検索日付キー
+                frm.DataSearchDate = m_OrderDate;
+                // 検索連番キー
+                frm.DataSearchSeqNo = m_OrderNo;
+
+                // 申請・承認レコード更新
+                if (!frm.ApprovalDataUpDate((int)CommonDefine.ApprovalStatus.Pending, false))
+                {
+                    MessageBox.Show("保留に失敗しました。", "保留エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                    return;
+                }
+
+                // 親フォーム終了
+                m_ParentEnd = true;
+
+                // 画面クローズ
+                this.Close();
+            }
+            catch (System.Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+            finally
+            {
+                frm.Dispose(); frm = null;
+            }
+        }
+        #endregion
+
+        #region 承認パネル（pnlApproval）不承認ボタン押下処理
+        /// <summary>
+        /// 承認パネル（pnlApproval）不承認ボタン押下処理
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void NotApprovalProcess()
+        {
+            FrmApprovalPerson frm = new FrmApprovalPerson();
+            try
+            {
+                if (MessageBox.Show("出勤管理を不承認します、よろしいですか？。", "不承認確認"
+                                , MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) return;
+
+                // 一気にメニューに戻る
+                m_EndButton = true;
+                ClsExcute.ClearProcess();
+
+                // 担当者コード
+                frm.PersonCode = m_PersonCode;
+                // 承認機能番号セット
+                frm.ApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName)).Key;
+                // 受付日
+                string strartDate = m_dispControl[(int)DispCtrl.OrderDate].Text;
+                frm.OrderDate = CommonMotions.cnvDate(strartDate);
+                // 受付番号
+                frm.OrderNo = CommonMotions.cnvInt(m_dispControl[(int)DispCtrl.OrderNo].Text);
+
+                // 検索日付キー
+                frm.DataSearchDate = m_OrderDate;
+                // 検索連番キー
+                frm.DataSearchSeqNo = m_OrderNo;
+
+                // 申請・承認レコード更新
+                if (!frm.ApprovalDataUpDate((int)CommonDefine.ApprovalStatus.NotApproval, false))
+                {
+                    MessageBox.Show("不承認に失敗しました。", "不承認エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                    return;
+                }
+
+                // 親フォーム終了
+                m_ParentEnd = true;
+
+                // 画面クローズ
+                this.Close();
+            }
+            catch (System.Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+            finally
+            {
+                frm.Dispose(); frm = null;
+            }
+        }
+        #endregion
+
         // -------------------- 印刷処理
         #region 印刷時ボタン制御
         /// <summary>
@@ -706,7 +1114,6 @@
             }
         }
         #endregion
-
         // -------------------- 印刷処理
     }
 }
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/CostomerRegist/FrmCostomerRegistList.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/CostomerRegist/FrmCostomerRegistList.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/CostomerRegist/FrmCostomerRegistList.cs	(revision 57)
@@ -43,9 +43,9 @@
             PersonName,
             OrdersName,
             OrderDivName,
-            PetitionDate,
-            PetitionNo,
-            PetitionSeqNo,
+            CreateDate,
+            PersonCode,
+            SeqNo,
         }
         #endregion
 
@@ -84,6 +84,12 @@
         /// </summary>
         private int m_GridWidthSize = 0;
         #endregion
+
+        /// <summary>
+        /// �I���{�^�������t���O
+        /// </summary>
+        private bool m_CloseingProcessOn = true;
+
         #endregion
 
         #region �v���p�e�B
@@ -133,8 +139,8 @@
         /// <param name="e"></param>
         private void FrmCostomerRegistList_FormClosing(object sender, FormClosingEventArgs e)
         {
-            // �O�v���Z�X�ɖ߂�
-            ClsExcute.BackProcess();
+            // �I���{�^����ON�Ȃ�ΑO�v���Z�X�ɖ߂�
+            if (m_CloseingProcessOn) ClsExcute.BackProcess();
         }
         #endregion
 
@@ -222,7 +228,7 @@
                 if (e.RowIndex < 0) return;
                 // �f�[�^���Ȃ��ꍇ�͔�����
                 if (dgvMaster.RowCount == 0) return;
-                if (CommonMotions.chkCellBlank(dgvMaster.CurrentRow.Cells[(int)DispColumn.PetitionNo].Value)) return;
+                if (CommonMotions.chkCellBlank(dgvMaster.CurrentRow.Cells[(int)DispColumn.PersonCode].Value)) return;
 
                 // ����ʋN��
                 SubProcessExecute();
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/CostomerRegist/FrmCostomerRegistList.designer.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/CostomerRegist/FrmCostomerRegistList.designer.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/CostomerRegist/FrmCostomerRegistList.designer.cs	(revision 57)
@@ -348,7 +348,7 @@
             dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
             this.Column3.DefaultCellStyle = dataGridViewCellStyle7;
             this.Column3.Frozen = true;
-            this.Column3.HeaderText = "登録申請日";
+            this.Column3.HeaderText = "データ作成日";
             this.Column3.Name = "Column3";
             this.Column3.ReadOnly = true;
             this.Column3.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
@@ -357,7 +357,7 @@
             // Column5
             // 
             this.Column5.Frozen = true;
-            this.Column5.HeaderText = "申請番号";
+            this.Column5.HeaderText = "担当者番号";
             this.Column5.Name = "Column5";
             this.Column5.ReadOnly = true;
             this.Column5.Visible = false;
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/CostomerRegist/FrmCostomerRegistListAuxiliary.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/CostomerRegist/FrmCostomerRegistListAuxiliary.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/CostomerRegist/FrmCostomerRegistListAuxiliary.cs	(revision 57)
@@ -157,14 +157,29 @@
                 DataGridView dgv = dgvMaster;
                 DataGridViewRow CurRow = dgv.CurrentRow;
 
-                if (!bNewFlg)
+                if (bNewFlg)
                 {
-                    frm.PetitionNo = CommonMotions.cnvInt(CurRow.Cells[(int)DispColumn.PetitionNo].Value);
-                    frm.PetitionSeqNo = CommonMotions.cnvInt(CurRow.Cells[(int)DispColumn.PetitionSeqNo].Value);
+                    frm.NewData = bNewFlg;
+                    frm.PersonCode = CommonMotions.LoginUserData.PersonCode;
+                    frm.CreateDate = DateTime.Now;
+                    frm.SeqNo = 0;
+                    frm.BusinessPeriod = (int)numUDConstPro.Value;
                 }
+                else
+                {
+                    frm.PersonCode = CommonMotions.cnvInt(CurRow.Cells[(int)DispColumn.PersonCode].Value);
+                    frm.CreateDate = CommonMotions.cnvDate(CurRow.Cells[(int)DispColumn.CreateDate].Value);
+                    frm.SeqNo = CommonMotions.cnvInt(CurRow.Cells[(int)DispColumn.SeqNo].Value);
+                    frm.BusinessPeriod = (int)numUDConstPro.Value;
+                }
 
-                frm.NewData = bNewFlg;
                 frm.ShowDialog();
+                if (frm.ParentEnd)
+                {
+                    m_CloseingProcessOn = false;
+                    this.Close();
+                    return;
+                }
 
                 // �����\��
                 InitDataLoad();
@@ -177,9 +192,6 @@
             {
                 this.Visible = true;
                 frm.Dispose(); frm = null;
-
-                // ��ʃN���[�Y
-                //this.Close();
             }
         }
         #endregion
@@ -211,7 +223,7 @@
                     // �ꕔ�����L
                     // �@���Ǘ��ҁi�������̂݁j
                     strSQL += " And (A.PERSONCODE 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 += string.Format(" WHERE A1.DepartmentCode IN (SELECT A2.DEPARTMENTCODE FROM PERSONDEPARTMENTMASTER A2 WHERE A2.PERSONCODE = {0})))", CommonMotions.LoginUserData.PersonCode);
 
                 }
                 else if (CommonMotions.LoginUserSecurity.SecRange == CommonDefine.SecurityRangeList[None].Key)
@@ -290,15 +302,15 @@
             {
                 strSQL = "SELECT";
                 strSQL += " B.PERSONNAME";
-                strSQL += " , A.CORPORATESTATUSNAME";
-                strSQL += " , A.CORPORATESTATUSPOINT";
-                strSQL += " , A.ORDERERSNAME1";
-                strSQL += " , A.ORDERERSNAME2";
-                strSQL += " , C.NAMESTRING";
-                strSQL += " , TO_CHAR(A.PETITIONDATE,'YYYY/MM/DD')";
-                strSQL += " , A.PETITIONNO";
-                strSQL += " , A.SEQNO";
-                strSQL += " , D.DEPARTMENTSTRING";
+                strSQL += " ,A.CORPORATESTATUSNAME";
+                strSQL += " ,A.CORPORATESTATUSPOINT";
+                strSQL += " ,A.ORDERERSNAME1";
+                strSQL += " ,A.ORDERERSNAME2";
+                strSQL += " ,C.NAMESTRING";
+                strSQL += " ,TO_CHAR(A.CREATEDATE,'YYYY/MM/DD')";
+                strSQL += " ,A.PERSONCODE";
+                strSQL += " ,A.SEQNO";
+                strSQL += " ,D.DEPARTMENTSTRING";
                 strSQL += " FROM COSTOMERREGIST A";
                 strSQL += " LEFT JOIN PERSONINCHARGEMASTER B ON B.PERSONCODE = A.PERSONCODE";
                 strSQL += " LEFT JOIN DIVISIONMASTER C ON C.DIVISIONCODE = 1 AND C.NAMECODE = A.ORDERCOTEGORY";
@@ -307,7 +319,7 @@
                 strSQL += GetDepartmentString();
                 strSQL += GetPersonString();
                 CreateNewSecuritySQL(ref strSQL);
-                strSQL += " ORDER BY A.PETITIONNO";
+                strSQL += " ORDER BY A.CREATEDATE DESC";
             }
             catch (Exception ex)
             {
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/CostomerRegist/PrintFormat.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/CostomerRegist/PrintFormat.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/CostomerRegist/PrintFormat.cs	(revision 57)
@@ -134,7 +134,7 @@
             try
             {
                 // 登録申請データ取得
-                string strSQL = crDB.CreatePrimarykeyString(m_PetitionNo, m_PetitionSeqNo);
+                string strSQL = crDB.CreatePrimarykeyString(m_PersonCode, m_OrderDate, m_OrderNo);
                 CostomerRegist crRec = new CostomerRegist();
                 if (!crDB.SelectAction(strSQL, ref crRec)) return CommonDefine.RetunAnswer.Answer3;
 
@@ -389,7 +389,7 @@
             try
             {
                 // 申請日和暦取得
-                string strJapanDate = CommonMotions.cnvJapaneseCalendar(crRec.PetitionDate);
+                string strJapanDate = CommonMotions.cnvJapaneseCalendar(crRec.OrderDate);
                 m_UsedExcel.ExcelCellSet("L1", strJapanDate);
 
                 // 法人格名称
@@ -454,7 +454,7 @@
             try
             {
                 // 申請日和暦取得
-                string strJapanDate = CommonMotions.cnvJapaneseCalendar(crRec.PetitionDate);
+                string strJapanDate = CommonMotions.cnvJapaneseCalendar(crRec.OrderDate);
                 m_UsedExcel.ExcelCellSet("L1", strJapanDate);
 
                 // 発注者名称
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/DRWork/FrmDRWork.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/DRWork/FrmDRWork.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/DRWork/FrmDRWork.cs	(revision 57)
@@ -32,6 +32,13 @@
         #endregion
 
         #region 定数
+        #region 自プロセス名称
+        /// <summary>
+        /// 自プロセス名称
+        /// </summary>
+        private const string s_MyProcessName = "出勤管理承認";
+        #endregion
+
         #region 出勤日報グリッドカラム
         /// <summary>
         /// 出勤日報グリッドカラム
@@ -148,9 +155,13 @@
         private int m_PersonCode = 0;
 
         /// <summary>
-        /// 対象年月
+        /// 申請年月日
         /// </summary>
         private DateTime m_OrderDate = DateTime.Now;
+        /// <summary>
+        /// 申請№
+        /// </summary>
+        private int m_OrderNo = 0;
 
         /// <summary>
         /// 終了ボタン押下フラグ
@@ -288,6 +299,25 @@
                     SeeModeLock();
                 }
 
+                // 承認画面の「承認対象データを見る」からの起動時は承認ボタンの表示がある
+                bool bApproval = ClsApprovalPermission.ExceApprovalScreen((int)ClsExcute.SubFormExecuteNo.ApprovalPerson);
+                if (bApproval)
+                {
+                    // 承認対象コードを取得する
+                    int ApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName)).Key;
+                    // 工事案件の管理部署を取得する
+                    int DepartmentCode = ClsApprovalPermission.GetFromPersonAndApprovalTheDepartment(m_PersonCode, ApprovalCode, m_OrderDate, m_OrderNo);
+                    // 案件に対して申請がされているかを確認する
+                    bool Pettition = ClsApprovalPermission.CheckPersonPetition(m_PersonCode, ApprovalCode, m_OrderDate, m_OrderNo);
+                    // ログイン者が承認者かを確認する
+                    bool Approvaler = ClsApprovalPermission.CheckUserForApprover(ApprovalCode, DepartmentCode);
+                    // 申請中でログイン者が承認者の場合は承認ボタンを表示する
+                    if (Pettition && Approvaler)
+                    {
+                        pnlApprovalButton.Visible = true;
+                    }
+                }
+
                 // 初期表示フラグOFF
                 m_bInitFlg = false;
             }
@@ -904,15 +934,18 @@
                 // 担当者コード
                 ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(SelPersonCode);
                 // 承認機能番号
-                int iApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals("出勤管理承認")).Key;
+                int iApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName)).Key;
                 ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(iApprovalCode);
                 // 受付日
-                ClsExcute.ProcControlPara[NowPoint].StringExecParameter.Add(startDate);
+                ClsExcute.ProcControlPara[NowPoint].DateExecParameter.Add(DateTime.Now);
                 // 受付番号
                 string strApp = PersonAppDB.CreatePrimarykeyString(SelPersonCode, (int)ClsExcute.ApprovalListNo.DRWorkApproval, dtwork);
                 int wrkOrderNo = PersonAppDB.SelectMaxOrderNoCount(strApp) + 1;
                 ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(wrkOrderNo);
 
+                // 自データ検索キー
+                ClsExcute.ProcControlPara[NowPoint].DateExecParameter.Add(dtwork);
+
                 // 親フォーム終了
                 //m_ParentEnd = true;
 
@@ -958,16 +991,20 @@
                 ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(SelPersonCode);
 
                 // 承認機能番号
-                int iApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals("出勤管理承認")).Key;
+                int iApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName)).Key;
                 ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(iApprovalCode);
 
                 // 受付日
-                string strartDate = comboBox1.SelectedValue.ToString() + "/01";
-                ClsExcute.ProcControlPara[NowPoint].StringExecParameter.Add(strartDate);
+                ClsExcute.ProcControlPara[NowPoint].DateExecParameter.Add(m_OrderDate);
 
                 // 受付番号
-                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(CommonMotions.cnvInt(m_DspControl[(int)DspCtrlName.OrderNo].Text));
+                ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(m_OrderNo);
 
+                // 自データ検索キー
+                string startDate = comboBox1.SelectedValue.ToString() + "/01";
+                DateTime dtwork = CommonMotions.cnvDate(startDate);
+                ClsExcute.ProcControlPara[NowPoint].DateExecParameter.Add(dtwork);
+
                 // 親フォーム終了
                 //m_ParentEnd = true;
 
@@ -1001,14 +1038,15 @@
                 int SelPersonCode = CommonMotions.cnvInt(cmbConstructionPerson.SelectedValue);
                 frm.PersonCode = SelPersonCode;
                 // 承認機能番号セット
-                frm.ApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals("出勤管理承認")).Key;
+                frm.ApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName)).Key;
                 // 受付日
-                string strartDate = comboBox1.SelectedValue.ToString() + "/01";
-                frm.OrderDate = CommonMotions.cnvDate(strartDate);
+                frm.OrderDate = m_OrderDate;
                 // 受付番号
-                frm.OrderNo = CommonMotions.cnvInt(m_DspControl[(int)DspCtrlName.OrderNo].Text);
+                frm.OrderNo = m_OrderNo;
+                // 自データ検索キー
+                string startDate = comboBox1.SelectedValue.ToString() + "/01";
+                frm.DataSearchDate =  CommonMotions.cnvDate(startDate);
 
-
                 // 申請・承認レコード更新
                 if (!frm.ApprovalDataUpDate((int)CommonDefine.ApprovalStatus.Approval, false))
                 {
@@ -1055,12 +1093,14 @@
                 int SelPersonCode = CommonMotions.cnvInt(cmbConstructionPerson.SelectedValue);
                 frm.PersonCode = SelPersonCode;
                 // 承認機能番号セット
-                frm.ApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals("出勤管理承認")).Key;
+                frm.ApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName)).Key;
                 // 受付日
-                string strartDate = comboBox1.SelectedValue.ToString() + "/01";
-                frm.OrderDate = CommonMotions.cnvDate(strartDate);
+                frm.OrderDate = m_OrderDate;
                 // 受付番号
-                frm.OrderNo = CommonMotions.cnvInt(m_DspControl[(int)DspCtrlName.OrderNo].Text);
+                frm.OrderNo = m_OrderNo;
+                // 自データ検索キー
+                string startDate = comboBox1.SelectedValue.ToString() + "/01";
+                frm.DataSearchDate = CommonMotions.cnvDate(startDate);
 
                 // 申請・承認レコード更新
                 if (!frm.ApprovalDataUpDate((int)CommonDefine.ApprovalStatus.Pending, false))
@@ -1108,12 +1148,14 @@
                 int SelPersonCode = CommonMotions.cnvInt(cmbConstructionPerson.SelectedValue);
                 frm.PersonCode = SelPersonCode;
                 // 承認機能番号セット
-                frm.ApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals("出勤管理承認")).Key;
+                frm.ApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName)).Key;
                 // 受付日
-                string strartDate = comboBox1.SelectedValue.ToString() + "/01";
-                frm.OrderDate = CommonMotions.cnvDate(strartDate);
+                frm.OrderDate = m_OrderDate;
                 // 受付番号
-                frm.OrderNo = CommonMotions.cnvInt(m_DspControl[(int)DspCtrlName.OrderNo].Text);
+                frm.OrderNo = m_OrderNo;
+                // 自データ検索キー
+                string startDate = comboBox1.SelectedValue.ToString() + "/01";
+                frm.DataSearchDate = CommonMotions.cnvDate(startDate);
 
                 // 申請・承認レコード更新
                 if (!frm.ApprovalDataUpDate((int)CommonDefine.ApprovalStatus.NotApproval, false))
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/DRWork/FrmDRWorkAuxiliary.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/DRWork/FrmDRWorkAuxiliary.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/DRWork/FrmDRWorkAuxiliary.cs	(revision 57)
@@ -270,6 +270,10 @@
                 AttendanceData AttendRec = new AttendanceData();
                 AttendDB.SelectAction(strSQL, ref AttendRec);
                 m_DspControl[(int)DspCtrlName.OrderNo].Text = AttendRec.OrderNo.ToString();
+
+                // 申請データ取得
+                m_OrderDate = AttendRec.OrderDate;
+                m_OrderNo = AttendRec.OrderNo;
             }
             catch (Exception ex)
             {
@@ -1819,7 +1823,7 @@
 
                 // 対象年月
                 string strartDate = comboBox1.SelectedValue.ToString() + "/01";
-                m_OrderDate = CommonMotions.cnvDate(strartDate);
+                //m_OrderDate = CommonMotions.cnvDate(strartDate);
 
             }
             catch (System.Exception ex)
@@ -1841,9 +1845,9 @@
                 lblApprovalCount.Text = "";
 
                 // 担当者コード・承認機能番号取得
-                int iApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals("出勤管理承認")).Key;
+                int iApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName)).Key;
                 // 担当部署取得
-                int DepartmentCode = ClsApprovalPermission.GetFromPersonAndApprovalTheDepartment(m_PersonCode, iApprovalCode, m_OrderDate, 1);
+                int DepartmentCode = ClsApprovalPermission.GetFromPersonAndApprovalTheDepartment(m_PersonCode, iApprovalCode, m_OrderDate, m_OrderNo);
 
                 // 承認データ取得
                 int ApprovalCount = ClsApprovalPermission.GetPersonApprovalDataCount(m_PersonCode, iApprovalCode, m_OrderDate);
@@ -1871,7 +1875,7 @@
             try
             {
                 // 承認コード取得
-                int iApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals("出勤管理承認")).Key;
+                int iApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName)).Key;
 
                 // 起動元のリストに承認画面があれば表示しない
                 if (ClsApprovalPermission.ExceApprovalScreen((int)ClsExcute.SubFormExecuteNo.ApprovalPerson))
@@ -1890,7 +1894,7 @@
                 if (!ClsApprovalPermission.CheckPersonPetition(m_PersonCode,
                                                                 iApprovalCode,
                                                                 m_OrderDate,
-                                                                CommonDefine.s_Default_OrderNo)) return;
+                                                                m_OrderNo)) return;
 
                 // ----- 申請済の場合
                 // 申請ボタンの表示
@@ -1903,7 +1907,7 @@
                 btnApproval.Visible = true;
 
                 // ----- 承認済の場合
-                if (ClsApprovalPermission.CheckPersonApproval(m_PersonCode, iApprovalCode, m_OrderDate, 1))
+                if (ClsApprovalPermission.CheckPersonApproval(m_PersonCode, iApprovalCode, m_OrderDate, m_OrderNo))
                 {
                     btnApproval.Text = CommonDefine.ApprovalButtonString[1];
                     btnApproval.ForeColor = Color.Black;
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/EstimateInput/FrmEstimateInput.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/EstimateInput/FrmEstimateInput.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/EstimateInput/FrmEstimateInput.cs	(revision 57)
@@ -39,7 +39,14 @@
         #endregion
 
         #region �萔
+        #region ���v���Z�X����
         /// <summary>
+        /// ���v���Z�X����
+        /// </summary>
+        private const string s_MyProcessName = "�ώZ���Ϗ����F";
+        #endregion
+        
+        /// <summary>
         /// �\���J����
         /// </summary>
         private enum GridTotalColumn
@@ -704,6 +711,22 @@
 
                 // �\�������X�V
                 SetDataCount();
+
+                // �y�[�W�v�v�Z
+                CalculateItemPageTotal(TabCnt);
+
+                if (TabCnt == 0)
+                {   // ���v�ł̌v�Z
+                    CalculateTotalPageTotal();
+                }
+                else
+                {
+                    if (m_EntryPage[TabCnt].Cotegory == CommonDefine.TabCotegory.Component)
+                    {   // �\���^�u�y�[�W�v�Z
+                        CalculateComponentPageTotal(TabCnt);
+                    }
+                }
+
                 // �f�[�^�ύX�t���Oon
                 m_bChengeAns = true;
             }
@@ -1028,7 +1051,7 @@
                 ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(m_ConstructionBaseInfo.ConstructionCode);
 
                 // ���F�@�\�ԍ�
-                int iApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals("�ώZ���Ϗ����F")).Key;
+                int iApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName)).Key;
                 ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(iApprovalCode);
 
                 // ��t�ԍ�
@@ -1077,7 +1100,7 @@
                 ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(m_ConstructionBaseInfo.ConstructionCode);
                 
                 // ���F�@�\�ԍ�
-                int iApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals("�ώZ���Ϗ����F")).Key;
+                int iApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName)).Key;
                 ClsExcute.ProcControlPara[NowPoint].IntExecParameter.Add(iApprovalCode);
 
                 // ��t�ԍ�
@@ -1136,7 +1159,7 @@
                 // �H���Č��̊Ǘ��������擾����
                 int DepartmentCode = ClsApprovalPermission.GetFromConstructionTheDepartment(m_ConstructionCode);
                 // ���F�ΏۃR�[�h���擾����
-                int ApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals("�ώZ���Ϗ����F")).Key;
+                int ApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName)).Key;
                 // �Č��ɑ΂��Đ\��������Ă��邩���m�F����
                 bool Pettition = ClsApprovalPermission.CheckProcessPetition(m_ConstructionCode, ApprovalCode, CommonDefine.s_Default_OrderNo);
                 // ���O�C���҂����F�҂����m�F����
@@ -1933,7 +1956,7 @@
                 // �H���ԍ�
                 frm.ConstructionCode = m_ConstructionCode;
                 // ���F�@�\�ԍ��Z�b�g
-                frm.ApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals("�ώZ���Ϗ����F")).Key;
+                frm.ApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName)).Key;
                 // ��t�ԍ�
                 frm.OrderNo = CommonDefine.s_Default_OrderNo;
 
@@ -1982,7 +2005,7 @@
                 // �H���ԍ�
                 frm.ConstructionCode = m_ConstructionCode;
                 // ���F�@�\�ԍ��Z�b�g
-                frm.ApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals("�ώZ���Ϗ����F")).Key;
+                frm.ApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName)).Key;
                 // ��t�ԍ�
                 frm.OrderNo = CommonDefine.s_Default_OrderNo;
 
@@ -2031,7 +2054,7 @@
                 // �H���ԍ�
                 frm.ConstructionCode = m_ConstructionCode;
                 // ���F�@�\�ԍ��Z�b�g
-                frm.ApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals("�ώZ���Ϗ����F")).Key;
+                frm.ApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName)).Key;
                 // ��t�ԍ�
                 frm.OrderNo = CommonDefine.s_Default_OrderNo;
 
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/EstimateInput/FrmEstimateInputAuxiliary.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/EstimateInput/FrmEstimateInputAuxiliary.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/EstimateInput/FrmEstimateInputAuxiliary.cs	(revision 57)
@@ -1751,7 +1751,7 @@
 
                 // 工事コード・承認機能番号取得
                 int iConstructionCode = m_ConstructionBaseInfo.ConstructionCode;
-                int iApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals("積算見積書承認")).Key;
+                int iApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName)).Key;
                 // 担当部署取得
                 int DepartmentCode = ClsApprovalPermission.GetFromConstructionAndApprovalTheDepartment(m_ConstructionBaseInfo.ConstructionCode, iApprovalCode, CommonDefine.s_Default_OrderNo);
 
@@ -1781,7 +1781,7 @@
             try
             {
                 // 承認コード取得
-                int iApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals("積算見積書承認")).Key;
+                int iApprovalCode = ClsExcute.AppovalList.First(x => x.Value.Equals(s_MyProcessName)).Key;
 
                 // 起動元のリストに承認画面があれば表示しない
                 if (ClsApprovalPermission.ExceApprovalScreen())
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/Master/ApprovalRoute/FrmApprovalRoute.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/Master/ApprovalRoute/FrmApprovalRoute.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/Master/ApprovalRoute/FrmApprovalRoute.cs	(revision 57)
@@ -377,7 +377,7 @@
             {
                 if (dgvGridData.CurrentRow.Index == 0) return;
                 // グリッドアップキー処理
-                DataGridViewAction.GridRowUpAction((DataGridView)dgvGridData, (int)DispGridApproval.PersonCode, (int)DispGridApproval.JobPosision);
+                DataGridViewAction.GridRowUpAction((DataGridView)dgvGridData, (int)DispGridApproval.PersonCode, (int)DispGridApproval.Check);
 
                 m_bChengeAns = true;
             }
@@ -402,7 +402,7 @@
                 int CurrRow = dgvGridData.CurrentRow.Index;
                 if (CommonMotions.chkObjectIsNull(dgvGridData[(int)DispGridApproval.PersonCode, (CurrRow + 1)].Value)) return;
                 // グリッドダウンキー処理
-                DataGridViewAction.GridRowDownAction((DataGridView)dgvGridData, (int)DispGridApproval.PersonCode, (int)DispGridApproval.JobPosision);
+                DataGridViewAction.GridRowDownAction((DataGridView)dgvGridData, (int)DispGridApproval.PersonCode, (int)DispGridApproval.Check);
 
                 m_bChengeAns = true;
             }
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/Master/ConstructionType/FrmConstructionType.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/Master/ConstructionType/FrmConstructionType.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/Master/ConstructionType/FrmConstructionType.cs	(revision 57)
@@ -1,11 +1,12 @@
 using System;
 using System.Collections.Generic;
+using System.Collections;
+using System.Linq;
 using System.ComponentModel;
 using System.Data;
 using System.Drawing;
 using System.Text;
 using System.Windows.Forms;
-using System.Collections;
 
 using log4net;
 using log4net.Appender;
@@ -18,7 +19,7 @@
 using ProcessManagement.Forms.SubForms;
 using ProcessManagement.Forms.CustomControls;
 using ProcessManagement.Forms.ControlsAction;
-//*------------------------ 構成マスタメンテ画面 ------------------------------*
+//*------------------------ 工事種別マスタメンテ画面 ------------------------------*
 //  2015/08/01  Ver1.0.0.0      Create Source           
 //  2015/09/05  Ver2.0.0.0      Create Source           
 //
@@ -46,7 +47,7 @@
         private const int s_MaxCode = 99999;
 
         /// <summary>
-        /// 表示順番
+        /// 一覧グリッドカラム順番
         /// </summary>
         private enum DispColumn
         {
@@ -56,6 +57,20 @@
             PublicFlg,
         }
 
+        /// <summary>
+        /// 経費グリッドカラム
+        /// </summary>
+        private enum ExpensesCol
+        {
+            Code = 0,
+            CheckFlg,
+            Name,
+            Rato
+        }
+
+        /// <summary>
+        /// コントロール定義
+        /// </summary>
         private enum DispCtrl
         {
             TypeCode = 0,
@@ -184,6 +199,9 @@
             // 公共工事コンボボックスセット
             SetPublicFlgCombBox();
 
+            // 選択許可区分コンボボックスセット
+            SetSecRankCombBox();
+            
             // グリッドデータ表示
             DispGridData();
 
@@ -312,7 +330,8 @@
         /// <param name="e"></param>
         private void btnDataDelete_Click(object sender, EventArgs e)
         {
-            IOMConstructionType typeDB = new IOMConstructionType();
+            IOMConstructionType TypeDB = new IOMConstructionType();
+            IOMTypeExpenses TypeExpDB = new IOMTypeExpenses();
             try
             {
                 // 選択無は削除できない
@@ -321,13 +340,27 @@
                 if (MessageBox.Show("表示中のデータを削除します。", "削除確認"
                     , MessageBoxButtons.YesNo, MessageBoxIcon.Information) != DialogResult.Yes) return;
 
-                string strSQL = typeDB.CreatePrimarykeyString(m_TypeCode);
-                if (!typeDB.DeleteAction(strSQL))
+                TypeDB.connect(); TypeDB.beginTran();
+                TypeExpDB.connect(); TypeExpDB.beginTran();
+
+                string strSQL = TypeDB.CreatePrimarykeyString(m_TypeCode);
+                if (!TypeDB.DeleteAction(strSQL, false))
                 {
-                    MessageBox.Show("削除に失敗しました。", "削除エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                    TypeDB.rollback();
+                    MessageBox.Show("工事種別マスタ：削除に失敗しました。", "削除エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
                     return;
                 }
 
+                int Period = (int)numUDPeriod.Value;
+                strSQL = TypeExpDB.CreatePrimarykeyString(m_TypeCode, Period);
+                if (!TypeExpDB.DeleteAction(strSQL, false))
+                {
+                    TypeDB.rollback();
+                    TypeExpDB.rollback();
+                    MessageBox.Show("工事種別経費率マスタ：削除に失敗しました。", "削除エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                    return;
+                }
+
                 CommonMotions.RemoveEndMessage("工事種別データ");
 
                 // フィールドロック
@@ -356,7 +389,11 @@
             }
             finally
             {
-                typeDB.close(); typeDB = null;
+                TypeDB.commit();
+                TypeExpDB.commit();
+
+                TypeDB.close(); TypeDB = null;
+                TypeExpDB.close(); TypeExpDB = null;
             }
         }
         #endregion
@@ -572,8 +609,9 @@
                 foreach (Control wrk in m_dispControl)
                 {
                     if (CommonMotions.chkObjectIsNull(wrk)) continue;
-                    if (!wrk.GetType().Equals(typeof(Button)))
-                        wrk.Text = "";
+                    if (wrk.GetType().Equals(typeof(Button))) continue;
+                 
+                    wrk.Text = "";
                 }
 
                 // 新規時はコードを表示しない
@@ -589,6 +627,7 @@
                 }
                 cmbPublicFlg.SelectedIndex = -1;
                 m_bChengeAns = false;
+                TypeExpensesVisible(false);
             }
             catch (System.Exception ex)
             {
@@ -597,6 +636,50 @@
         }
         #endregion
 
+        #region 対象期セット処理
+        /// <summary>
+        /// 対象期セット処理
+        /// </summary>
+        private void SetInitnumUD()
+        {
+            try
+            {
+                // 検索年度セット
+                // データにある事業期と現在の事業セット
+                int minval = 0;
+                int maxval = 0;
+                CommonMotions.GetPeriodYear(ref minval, ref maxval);
+                numUDPeriod.Minimum = minval;
+                numUDPeriod.Maximum = maxval;
+                numUDPeriod.Value = CommonMotions.SystemMasterData.BusinessPeriod;
+            }
+            catch (System.Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
+        #region 種別毎経費コントロール表示
+        /// <summary>
+        /// 種別毎経費コントロール表示
+        /// </summary>
+        /// <param name="bVisibleFlg"></param>
+        private void TypeExpensesVisible(bool bVisibleFlg = true)
+        {
+            try
+            {
+                label3.Visible = bVisibleFlg;
+                numUDPeriod.Visible = bVisibleFlg;
+                dgvExpenses.Visible = bVisibleFlg;
+            }
+            catch (System.Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
         #region 項目のチェック
         /// <summary>
         /// 画面項目のチェック
@@ -672,10 +755,12 @@
         private bool ConstructionTypeDataEntry()
         {
             IOMConstructionType typeDB = new IOMConstructionType();
+            IOMTypeExpenses typeExpDB = new IOMTypeExpenses();
             try
             {
                 //// 一括処理なので接続を行う
                 typeDB.connect(); typeDB.beginTran();
+                typeExpDB.connect(); typeExpDB.beginTran();
 
                 // 表示順を更新する
                 int idno = 0;
@@ -703,7 +788,9 @@
                 // データセット
                 ci.TypeCode = m_TypeCode;
                 ci.NameString = m_dispControl[(int)DispCtrl.TypeName].Text.ToString();
-                ci.PublicFlg = CommonMotions.cnvInt(((ComboBox)m_dispControl[(int)DispCtrl.PublicFlg]).SelectedValue.ToString());
+                ci.PublicFlg = CommonMotions.cnvInt(cmbPublicFlg.SelectedValue);
+                ci.SecRank = CommonMotions.cnvInt(cmbDataSecRank.SelectedValue);
+                if (radioButton1.Checked) ci.ExpensesLink = 0; else ci.ExpensesLink = 1;
                 ci.DeleteFlg = 0;
                 // 表示順はセットしない
                 ci.DisplayOrder = 0;
@@ -711,11 +798,11 @@
                 // SQL作成
                 string strSQL = typeDB.CreatePrimarykeyString(ci.TypeCode);
                 List<ConstructionTypeMaster> TypeList = new List<ConstructionTypeMaster>();
-                // 構成マスタ取得
+                // 工事種別マスタ取得
                 if (!typeDB.SelectAction(strSQL, ref TypeList, false))
                 {
                     typeDB.rollback();
-                    MessageBox.Show("登録確認に失敗しました。", "登録エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                    MessageBox.Show("工事種別マスタ：登録確認に失敗しました。", "登録エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
                     return false;
                 }
 
@@ -723,15 +810,12 @@
                 {
                     // 表示順セット
                     ci.DisplayOrder = GetGridLineEffectivenessCount() + 1;
-                    // データがない場合は追加
-                    TypeList.Clear();
-                    TypeList.Add(ci);
 
                     // データ登録
                     if (!typeDB.InsertAction(ci, false))
                     {
                         typeDB.rollback();
-                        MessageBox.Show("登録に失敗しました。", "登録エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                        MessageBox.Show("工事種別マスタ：登録に失敗しました。", "登録エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
                         return false;
                     }
                 }
@@ -743,13 +827,18 @@
                     if (!typeDB.UpdateAction(strSQL, ci, false))
                     {
                         typeDB.rollback();
-                        MessageBox.Show("更新に失敗しました。", "登録エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                        MessageBox.Show("工事種別マスタ：更新に失敗しました。", "登録エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
                         return false;
                     }
                 }
 
-                // 成功したらcommit
-                typeDB.commit();
+                // 工事種別経費率マスタ更新
+                if (!UpdateTypeExpenses(typeExpDB))
+                {
+                    typeDB.rollback();
+                    typeExpDB.rollback();
+                    return false;
+                }
 
                 return true;
 
@@ -761,11 +850,106 @@
             }
             finally
             {
+                typeDB.commit();
+                typeExpDB.commit();
+
                 typeDB.close(); typeDB = null;
+                typeExpDB.close(); typeExpDB = null;
             }
         }
         #endregion
 
+        #region 工事種別経費率マスタ更新
+        /// <summary>
+        /// 工事種別経費率マスタ更新
+        /// </summary>
+        /// <returns></returns>
+        private bool UpdateTypeExpenses(IOMTypeExpenses typeExpDB)
+        {
+            try
+            {
+                // 年度取得
+                int Period = (int)numUDPeriod.Value;
+                string strSQL = typeExpDB.CreatePrimarykeyString(m_TypeCode, Period);
+
+                // 削除
+                typeExpDB.DeleteAction(strSQL, false);
+
+                // 経費が部署毎は登録しない
+                if (radioButton1.Checked) return true;
+
+                string strSubSQL = string.Empty;
+
+                foreach (DataGridViewRow CurRow in dgvExpenses.Rows)
+                {
+                    if (CurRow.Cells[(int)ExpensesCol.CheckFlg].Value == null) continue;
+                    if (!(bool)CurRow.Cells[(int)ExpensesCol.CheckFlg].Value) continue;
+
+                    SetCostsRowDataSQL(CurRow, Period, ref strSubSQL);
+                }
+                // 対象データ無は書き込まない
+                if (strSubSQL.Length == 0) return true;
+
+                strSQL = "INSERT ALL";
+                strSQL += strSubSQL;
+                strSQL += " SELECT * FROM DUAL";
+                if (!typeExpDB.ExecuteNonQuery(strSQL, false))
+                {
+                    MessageBox.Show("担当者毎経費データ登録に失敗しました。", "登録エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                    return false;
+                }
+
+                return true;
+            }
+            catch (System.Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+                return false;
+            }
+        }
+        #endregion
+
+        #region 工事種別経費率マスタデータ取得
+        /// <summary>
+        /// 工事種別経費率マスタデータ取得
+        /// </summary>
+        /// <param name="dgvRow"></param>
+        /// <param name="Period"></param>
+        /// <param name="strSQL"></param>
+        private void SetCostsRowDataSQL(DataGridViewRow dgvRow, int Period, ref string strSQL)
+        {
+            try
+            {
+                strSQL += " INTO TypeExpensesMaster";
+
+                strSQL += "(";
+                bool bFirst = true;
+                foreach (var gender in Enum.GetValues(typeof(IOMTypeExpenses.NameColumn)))
+                {
+                    if (!bFirst) strSQL += " ,";
+                    strSQL += gender.ToString();
+                    bFirst = false;
+                }
+                strSQL += ") VALUES (";
+
+                strSQL += string.Format("  {0}", m_TypeCode);
+                strSQL += string.Format(", {0}", Period);
+                strSQL += string.Format(", {0}", CommonMotions.cnvInt(dgvRow.Cells[(int)ExpensesCol.Code].Value));
+                strSQL += string.Format(", {0}", CommonMotions.cnvDouble(dgvRow.Cells[(int)ExpensesCol.Rato].Value));
+                strSQL += ", 0";
+
+                strSQL += ", TO_DATE(TO_CHAR(sysdate,'YYYY/MM/DD HH24:MI:SS'),'YYYY/MM/DD HH24:MI:SS')";
+                strSQL += ", TO_DATE(TO_CHAR(sysdate,'YYYY/MM/DD HH24:MI:SS'),'YYYY/MM/DD HH24:MI:SS')";
+
+                strSQL += ")";
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
         #region グリッドデータ取得
         /// <summary>
         /// 作業名称グリッドデータ取得
@@ -789,26 +973,38 @@
 
                 // データ表示
                 string sflg = string.Empty;
+                string eflg = string.Empty;
                 int ino = 1;
                 foreach (ConstructionTypeMaster work in wrk)
                 {
                     // 工事種別を選択
-                    switch (work.PublicFlg){
+                    switch (work.PublicFlg)
+                    {
                         case (int)CommonDefine.ConstructionType.Other:
                             sflg = cmbPublicFlgString[0].Substring(0, 3);
                             break;
                         case (int)CommonDefine.ConstructionType.Community:
                             sflg = cmbPublicFlgString[1].Substring(0, 2);
-                        break;
+                            break;
                         case (int)CommonDefine.ConstructionType.Popular:
                             sflg = cmbPublicFlgString[2].Substring(0, 2);
-                        break;
+                            break;
                     }
-                    
+                    // 経費区分
+                    switch(work.ExpensesLink)
+                    {
+                        case 0:
+                            eflg = "部署";
+                            break;
+                        case 1:
+                            eflg = "種別";
+                            break;
+                    }
                     dgvWorkList.Rows.Add((ino++)
                                         , work.TypeCode
                                         , work.NameString
                                         , sflg
+                                        , eflg
                                         );
 
                 }
@@ -855,7 +1051,7 @@
                 // 新規時は表示しない
                 if (m_TypeCode == 0) return;
 
-                // 構成マスタ取得
+                // 工事種別マスタ取得
                 List<ConstructionTypeMaster> wrklist = new List<ConstructionTypeMaster>();
                 string strSQL = typeDB.CreatePrimarykeyString(m_TypeCode);
                 if (!typeDB.SelectAction(strSQL, ref wrklist)) return;
@@ -863,9 +1059,24 @@
                 if (wrklist.Count != 0)
                 {
                     // データ表示
-                    m_dispControl[(int)DispCtrl.TypeCode].Text = wrklist[0].TypeCode.ToString();                    // 種別コード
-                    m_dispControl[(int)DispCtrl.TypeName].Text = wrklist[0].NameString.ToString();                  // 種別名称
-                    ((ComboBox)m_dispControl[(int)DispCtrl.PublicFlg]).SelectedValue = wrklist[0].PublicFlg;        // 工事種別
+                    m_dispControl[(int)DispCtrl.TypeCode].Text = wrklist[0].TypeCode.ToString();        // 種別コード
+                    m_dispControl[(int)DispCtrl.TypeName].Text = wrklist[0].NameString.ToString();      // 種別名称
+                    cmbPublicFlg.SelectedValue = wrklist[0].PublicFlg;                                  // 工事種別
+                    cmbDataSecRank.SelectedValue = wrklist[0].SecRank;                                  // 選択機密区分
+                    if (wrklist[0].ExpensesLink == 0)
+                    {
+                        radioButton1.Checked = true;
+                        // コントロール表示
+                        TypeExpensesVisible(false);
+                    }
+                    else if (wrklist[0].ExpensesLink == 1)
+                    {
+                        radioButton2.Checked = true;
+                        // コントロール表示
+                        TypeExpensesVisible(true);
+                        // データ表示
+                        DspTypeExpenses();
+                    }
 
                     if (m_EditLock)
                         m_dispControl[(int)DispCtrl.EditMode].Text = CommonDefine.EditModeStringRef;                // 参照
@@ -893,6 +1104,60 @@
         }
         #endregion
 
+        #region 種別毎経費表示
+        /// <summary>
+        /// 種別毎経費表示
+        /// </summary>
+        private void DspTypeExpenses()
+        {
+            IOMTypeExpenses TypeExDB = new IOMTypeExpenses();
+            try
+            {
+                // 対象期セット
+                SetInitnumUD();
+
+                dgvExpenses.Rows.Clear();
+
+                // 工事種別経費率マスタ取得
+                int DivCode = CommonDefine.DivisionMasterCode.First(x => x.Value.Equals("工事経費名称登録")).Key;
+                ArrayList wrklist = new ArrayList();
+                string strSQL = "SELECT A.NAMECODE, A.NAMESTRING, B.TYPECODE, B.EXPENSESPERIOD, B.EXPENSESRATE";
+                strSQL += " FROM DIVISIONMASTER A";
+                strSQL += string.Format(" LEFT JOIN TYPEEXPENSESMASTER B ON B.TYPECODE = {0} AND B.NAMECODE = A.NAMECODE AND B.DELETEFLG = 0", m_TypeCode);
+                strSQL += string.Format(" WHERE A.DIVISIONCODE = {0}", DivCode);
+                strSQL += " AND A.DELETEFLG = 0";
+                strSQL += " ORDER BY A.DISPLAYORDER";
+                
+                if (!TypeExDB.ExecuteReader(strSQL, ref wrklist)) return;
+                if (wrklist.Count == 0) return;
+
+                bool bChk = false;
+                int TypeCode = 0;
+                double ExpRate = 0;
+                foreach (object[] CurRec in wrklist)
+                {
+                    TypeCode = CommonMotions.cnvInt(CurRec[2]);
+                    ExpRate = CommonMotions.cnvDouble(CurRec[4]);
+                    if (TypeCode == 0) bChk = false;
+                    else bChk = true;
+                    dgvExpenses.Rows.Add(CommonMotions.cnvInt(CurRec[0]),
+                                            bChk,
+                                            CommonMotions.cnvString(CurRec[1]),
+                                            ExpRate.ToString("0.0"));
+                }
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+            finally
+            {
+                if (dgvExpenses.RowCount < 3) dgvExpenses.RowCount += (3 - dgvExpenses.RowCount);
+                TypeExDB.close(); TypeExDB = null;
+            }
+        }
+        #endregion
+
         #region 公共工事コンボボックスセット
         /// <summary>
         /// 公共工事コンボボックスセット
@@ -901,7 +1166,6 @@
         {
             try
             {
-
                 List<KeyValuePair<int, string>> DataList = new List<KeyValuePair<int, string>>();
                 // データ表示
                 for (int i = 0; i < cmbPublicFlgString.Length; i++)
@@ -920,6 +1184,41 @@
         }
         #endregion
 
+        #region 機密区分コンボボックス初期表示処理
+        /// <summary>
+        /// 機密区分コンボボックス初期表示処理
+        /// </summary>
+        private void SetSecRankCombBox()
+        {
+            try
+            {
+                // コンボボックスクリア
+                cmbDataSecRank.DataSource = null;
+                cmbDataSecRank.Items.Clear();
+
+                // 選択項目クリア
+                cmbDataSecRank.Text = "";
+
+                //コンボボックスのデータをセットする
+
+                List<KeyValuePair<int, string>> DataList = new List<KeyValuePair<int, string>>();
+                DataList.Add(new KeyValuePair<int, string>(0, ""));
+                foreach (KeyValuePair<int, string> wrk in CommonDefine.SecurityRankList)
+                {
+                    KeyValuePair<int, string> keyval = new KeyValuePair<int, string>(wrk.Key, wrk.Value);
+
+                    DataList.Add(keyval);
+                }
+                // コンボボックス初期表示
+                ComboBoxAction.InitDataSetCombBox(cmbDataSecRank, DataList);
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
         #region 参照時ロック処理
         /// <summary>
         /// 参照時ロック処理
@@ -941,5 +1240,63 @@
             }
         }
         #endregion
+
+        #region 経費使用区分ラジオボタン
+        /// <summary>
+        /// 経費使用区分ラジオボタン
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void radioButton_CheckedChanged(object sender, EventArgs e)
+        {
+            try
+            {
+                if (radioButton1.Checked)
+                {
+                    // コントロール表示
+                    TypeExpensesVisible(false);
+                }
+                else
+                {
+                    // コントロール表示
+                    TypeExpensesVisible(true);
+                    // データ表示
+                    DspTypeExpenses();
+                }
+                m_bChengeAns = true;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
+        #region 営業期コンボボックス変更
+        /// <summary>
+        /// 営業期変更
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void numUDPeriod_ValueChanged(object sender, EventArgs e)
+        {
+            // データ表示
+            DspTypeExpenses();
+        }
+        #endregion
+
+        #region 経費率グリッド値変更
+        /// <summary>
+        /// 経費率グリッド値変更
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void dgvExpenses_CellValidated(object sender, DataGridViewCellEventArgs e)
+        {
+            if (e.ColumnIndex != (int)ExpensesCol.Rato) return;
+            double dwork = CommonMotions.cnvDouble(dgvExpenses[e.ColumnIndex, e.RowIndex].Value);
+            dgvExpenses[e.ColumnIndex, e.RowIndex].Value = dwork.ToString("0.0");
+        }
+        #endregion
     }
 }
\ No newline at end of file
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/Master/ConstructionType/FrmConstructionType.designer.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/Master/ConstructionType/FrmConstructionType.designer.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/Master/ConstructionType/FrmConstructionType.designer.cs	(revision 57)
@@ -30,10 +30,14 @@
         private void InitializeComponent()
         {
             System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = 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();
             System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
             System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
             this.btnDataEntry = new System.Windows.Forms.Button();
             this.btnEnd = new System.Windows.Forms.Button();
             this.label1 = new System.Windows.Forms.Label();
@@ -43,19 +47,36 @@
             this.btnDispDown = new System.Windows.Forms.Button();
             this.btnDispUp = new System.Windows.Forms.Button();
             this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
+            this.numUDPeriod = new System.Windows.Forms.NumericUpDown();
             this.lblStaticItemCode = new System.Windows.Forms.Label();
+            this.label3 = new System.Windows.Forms.Label();
             this.label4 = new System.Windows.Forms.Label();
             this.txtInput1 = new System.Windows.Forms.TextBox();
             this.lblTypeCode = new System.Windows.Forms.Label();
             this.label5 = new System.Windows.Forms.Label();
             this.cmbPublicFlg = new System.Windows.Forms.ComboBox();
+            this.label2 = new System.Windows.Forms.Label();
+            this.panel1 = new System.Windows.Forms.Panel();
+            this.radioButton2 = new System.Windows.Forms.RadioButton();
+            this.radioButton1 = new System.Windows.Forms.RadioButton();
             this.lblEditMode = new System.Windows.Forms.Label();
+            this.label6 = new System.Windows.Forms.Label();
+            this.cmbDataSecRank = new System.Windows.Forms.ComboBox();
+            this.dgvExpenses = new ProcessManagement.Forms.CustomControls.DataGridViewEX();
             this.dgvWorkList = new ProcessManagement.Forms.CustomControls.DataGridViewEX();
             this.Column0 = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.Column5 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.dataGridViewTextBoxColumn2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.Column4 = new System.Windows.Forms.DataGridViewCheckBoxColumn();
+            this.dataGridViewTextBoxColumn3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.dataGridViewTextBoxColumn1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.tableLayoutPanel1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.numUDPeriod)).BeginInit();
+            this.panel1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.dgvExpenses)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.dgvWorkList)).BeginInit();
             this.SuspendLayout();
             // 
@@ -172,23 +193,45 @@
             this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 150F));
             this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 210F));
             this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 250F));
+            this.tableLayoutPanel1.Controls.Add(this.cmbDataSecRank, 1, 3);
+            this.tableLayoutPanel1.Controls.Add(this.dgvExpenses, 0, 6);
+            this.tableLayoutPanel1.Controls.Add(this.numUDPeriod, 1, 5);
             this.tableLayoutPanel1.Controls.Add(this.lblStaticItemCode, 0, 0);
+            this.tableLayoutPanel1.Controls.Add(this.label3, 0, 5);
             this.tableLayoutPanel1.Controls.Add(this.label4, 0, 1);
             this.tableLayoutPanel1.Controls.Add(this.txtInput1, 1, 1);
             this.tableLayoutPanel1.Controls.Add(this.lblTypeCode, 1, 0);
             this.tableLayoutPanel1.Controls.Add(this.label5, 0, 2);
             this.tableLayoutPanel1.Controls.Add(this.cmbPublicFlg, 1, 2);
+            this.tableLayoutPanel1.Controls.Add(this.label2, 0, 4);
+            this.tableLayoutPanel1.Controls.Add(this.panel1, 1, 4);
+            this.tableLayoutPanel1.Controls.Add(this.label6, 0, 3);
             this.tableLayoutPanel1.Location = new System.Drawing.Point(600, 100);
             this.tableLayoutPanel1.Name = "tableLayoutPanel1";
-            this.tableLayoutPanel1.RowCount = 3;
+            this.tableLayoutPanel1.RowCount = 7;
             this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F));
             this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F));
             this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F));
+            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F));
+            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F));
+            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F));
+            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 100F));
             this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
-            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
-            this.tableLayoutPanel1.Size = new System.Drawing.Size(610, 105);
+            this.tableLayoutPanel1.Size = new System.Drawing.Size(610, 310);
             this.tableLayoutPanel1.TabIndex = 23;
             // 
+            // numUDPeriod
+            // 
+            this.numUDPeriod.Anchor = System.Windows.Forms.AnchorStyles.Left;
+            this.numUDPeriod.Location = new System.Drawing.Point(153, 181);
+            this.numUDPeriod.Name = "numUDPeriod";
+            this.numUDPeriod.ReadOnly = true;
+            this.numUDPeriod.Size = new System.Drawing.Size(84, 23);
+            this.numUDPeriod.TabIndex = 39;
+            this.numUDPeriod.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+            this.numUDPeriod.Visible = false;
+            this.numUDPeriod.ValueChanged += new System.EventHandler(this.numUDPeriod_ValueChanged);
+            // 
             // lblStaticItemCode
             // 
             this.lblStaticItemCode.Anchor = System.Windows.Forms.AnchorStyles.Left;
@@ -202,6 +245,20 @@
             this.lblStaticItemCode.Text = "工事種別コード";
             this.lblStaticItemCode.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
             // 
+            // label3
+            // 
+            this.label3.Anchor = System.Windows.Forms.AnchorStyles.Left;
+            this.label3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(128)))));
+            this.label3.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
+            this.label3.ForeColor = System.Drawing.Color.Black;
+            this.label3.Location = new System.Drawing.Point(3, 181);
+            this.label3.Name = "label3";
+            this.label3.Size = new System.Drawing.Size(144, 23);
+            this.label3.TabIndex = 38;
+            this.label3.Text = "経費対象期";
+            this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            this.label3.Visible = false;
+            // 
             // label4
             // 
             this.label4.Anchor = System.Windows.Forms.AnchorStyles.Left;
@@ -255,15 +312,68 @@
             // cmbPublicFlg
             // 
             this.cmbPublicFlg.Anchor = System.Windows.Forms.AnchorStyles.Left;
+            this.tableLayoutPanel1.SetColumnSpan(this.cmbPublicFlg, 2);
             this.cmbPublicFlg.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
             this.cmbPublicFlg.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
             this.cmbPublicFlg.FormattingEnabled = true;
-            this.cmbPublicFlg.Location = new System.Drawing.Point(153, 77);
+            this.cmbPublicFlg.Location = new System.Drawing.Point(153, 75);
             this.cmbPublicFlg.Name = "cmbPublicFlg";
-            this.cmbPublicFlg.Size = new System.Drawing.Size(200, 24);
+            this.cmbPublicFlg.Size = new System.Drawing.Size(340, 24);
             this.cmbPublicFlg.TabIndex = 2;
             this.cmbPublicFlg.TextChanged += new System.EventHandler(this.valueChange);
             // 
+            // label2
+            // 
+            this.label2.Anchor = System.Windows.Forms.AnchorStyles.Left;
+            this.label2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(128)))));
+            this.label2.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
+            this.label2.ForeColor = System.Drawing.Color.Black;
+            this.label2.Location = new System.Drawing.Point(3, 145);
+            this.label2.Name = "label2";
+            this.label2.Size = new System.Drawing.Size(144, 25);
+            this.label2.TabIndex = 36;
+            this.label2.Text = "経費使用区分";
+            this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            // 
+            // panel1
+            // 
+            this.panel1.BackColor = System.Drawing.Color.FloralWhite;
+            this.tableLayoutPanel1.SetColumnSpan(this.panel1, 2);
+            this.panel1.Controls.Add(this.radioButton2);
+            this.panel1.Controls.Add(this.radioButton1);
+            this.panel1.Location = new System.Drawing.Point(153, 143);
+            this.panel1.Name = "panel1";
+            this.panel1.Size = new System.Drawing.Size(340, 29);
+            this.panel1.TabIndex = 41;
+            // 
+            // radioButton2
+            // 
+            this.radioButton2.AutoSize = true;
+            this.radioButton2.Font = new System.Drawing.Font("ＭＳ 明朝", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+            this.radioButton2.ForeColor = System.Drawing.Color.Black;
+            this.radioButton2.Location = new System.Drawing.Point(165, 2);
+            this.radioButton2.Name = "radioButton2";
+            this.radioButton2.Size = new System.Drawing.Size(143, 25);
+            this.radioButton2.TabIndex = 0;
+            this.radioButton2.Text = "種別毎経費";
+            this.radioButton2.UseVisualStyleBackColor = true;
+            this.radioButton2.CheckedChanged += new System.EventHandler(this.radioButton_CheckedChanged);
+            // 
+            // radioButton1
+            // 
+            this.radioButton1.AutoSize = true;
+            this.radioButton1.Checked = true;
+            this.radioButton1.Font = new System.Drawing.Font("ＭＳ 明朝", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+            this.radioButton1.ForeColor = System.Drawing.Color.Black;
+            this.radioButton1.Location = new System.Drawing.Point(6, 2);
+            this.radioButton1.Name = "radioButton1";
+            this.radioButton1.Size = new System.Drawing.Size(143, 25);
+            this.radioButton1.TabIndex = 0;
+            this.radioButton1.TabStop = true;
+            this.radioButton1.Text = "部署毎経費";
+            this.radioButton1.UseVisualStyleBackColor = true;
+            this.radioButton1.CheckedChanged += new System.EventHandler(this.radioButton_CheckedChanged);
+            // 
             // lblEditMode
             // 
             this.lblEditMode.BackColor = System.Drawing.Color.White;
@@ -276,6 +386,67 @@
             this.lblEditMode.TabIndex = 24;
             this.lblEditMode.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
             // 
+            // label6
+            // 
+            this.label6.Anchor = System.Windows.Forms.AnchorStyles.Left;
+            this.label6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(128)))));
+            this.label6.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
+            this.label6.ForeColor = System.Drawing.Color.Black;
+            this.label6.Location = new System.Drawing.Point(3, 110);
+            this.label6.Name = "label6";
+            this.label6.Size = new System.Drawing.Size(144, 25);
+            this.label6.TabIndex = 36;
+            this.label6.Text = "選択許可区分";
+            this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            // 
+            // cmbDataSecRank
+            // 
+            this.tableLayoutPanel1.SetColumnSpan(this.cmbDataSecRank, 2);
+            this.cmbDataSecRank.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+            this.cmbDataSecRank.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
+            this.cmbDataSecRank.FormattingEnabled = true;
+            this.cmbDataSecRank.Location = new System.Drawing.Point(153, 108);
+            this.cmbDataSecRank.Name = "cmbDataSecRank";
+            this.cmbDataSecRank.Size = new System.Drawing.Size(340, 24);
+            this.cmbDataSecRank.TabIndex = 25;
+            // 
+            // dgvExpenses
+            // 
+            this.dgvExpenses.AllowUserToAddRows = false;
+            this.dgvExpenses.AllowUserToDeleteRows = false;
+            this.dgvExpenses.AllowUserToResizeColumns = false;
+            this.dgvExpenses.AllowUserToResizeRows = false;
+            this.dgvExpenses.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders;
+            this.dgvExpenses.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
+            this.dgvExpenses.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
+            dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control;
+            dataGridViewCellStyle1.Font = new System.Drawing.Font("ＭＳ 明朝", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+            dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
+            dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+            dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+            dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+            this.dgvExpenses.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
+            this.dgvExpenses.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
+            this.dgvExpenses.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+            this.dataGridViewTextBoxColumn2,
+            this.Column4,
+            this.dataGridViewTextBoxColumn3,
+            this.dataGridViewTextBoxColumn1});
+            this.tableLayoutPanel1.SetColumnSpan(this.dgvExpenses, 3);
+            this.dgvExpenses.ImeMode = System.Windows.Forms.ImeMode.Disable;
+            this.dgvExpenses.Location = new System.Drawing.Point(3, 213);
+            this.dgvExpenses.Name = "dgvExpenses";
+            this.dgvExpenses.RowHeadersVisible = false;
+            this.dgvExpenses.RowHeadersWidth = 20;
+            this.dgvExpenses.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
+            this.dgvExpenses.RowTemplate.Height = 20;
+            this.dgvExpenses.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.CellSelect;
+            this.dgvExpenses.Size = new System.Drawing.Size(600, 86);
+            this.dgvExpenses.TabIndex = 25;
+            this.dgvExpenses.Visible = false;
+            this.dgvExpenses.CellValidated += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvExpenses_CellValidated);
+            // 
             // dgvWorkList
             // 
             this.dgvWorkList.AllowUserToAddRows = false;
@@ -284,23 +455,25 @@
             this.dgvWorkList.AllowUserToResizeRows = false;
             this.dgvWorkList.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
             this.dgvWorkList.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-            dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
-            dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control;
-            dataGridViewCellStyle1.Font = new System.Drawing.Font("ＭＳ 明朝", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
-            dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
-            dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
-            dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
-            dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
-            this.dgvWorkList.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
+            dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control;
+            dataGridViewCellStyle4.Font = new System.Drawing.Font("ＭＳ 明朝", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
+            dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText;
+            dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+            dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+            dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+            this.dgvWorkList.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4;
             this.dgvWorkList.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
             this.dgvWorkList.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
             this.Column0,
             this.Column1,
             this.Column2,
-            this.Column3});
+            this.Column3,
+            this.Column5});
             this.dgvWorkList.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
             this.dgvWorkList.Location = new System.Drawing.Point(8, 40);
             this.dgvWorkList.Name = "dgvWorkList";
+            this.dgvWorkList.RowHeadersVisible = false;
             this.dgvWorkList.RowHeadersWidth = 20;
             this.dgvWorkList.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
             this.dgvWorkList.RowTemplate.Height = 21;
@@ -312,20 +485,20 @@
             // Column0
             // 
             this.Column0.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
-            dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleRight;
-            dataGridViewCellStyle2.ForeColor = System.Drawing.Color.Black;
-            this.Column0.DefaultCellStyle = dataGridViewCellStyle2;
+            dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleRight;
+            dataGridViewCellStyle5.ForeColor = System.Drawing.Color.Black;
+            this.Column0.DefaultCellStyle = dataGridViewCellStyle5;
             this.Column0.Frozen = true;
             this.Column0.HeaderText = "№";
             this.Column0.Name = "Column0";
             this.Column0.ReadOnly = true;
             this.Column0.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
-            this.Column0.Width = 40;
+            this.Column0.Width = 60;
             // 
             // Column1
             // 
-            dataGridViewCellStyle3.ForeColor = System.Drawing.Color.Black;
-            this.Column1.DefaultCellStyle = dataGridViewCellStyle3;
+            dataGridViewCellStyle6.ForeColor = System.Drawing.Color.Black;
+            this.Column1.DefaultCellStyle = dataGridViewCellStyle6;
             this.Column1.Frozen = true;
             this.Column1.HeaderText = "構成キー";
             this.Column1.Name = "Column1";
@@ -335,9 +508,9 @@
             // 
             // Column2
             // 
-            dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
-            dataGridViewCellStyle4.ForeColor = System.Drawing.Color.Black;
-            this.Column2.DefaultCellStyle = dataGridViewCellStyle4;
+            dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle7.ForeColor = System.Drawing.Color.Black;
+            this.Column2.DefaultCellStyle = dataGridViewCellStyle7;
             this.Column2.Frozen = true;
             this.Column2.HeaderText = "工事種別名称";
             this.Column2.MaxInputLength = 50;
@@ -344,13 +517,13 @@
             this.Column2.Name = "Column2";
             this.Column2.ReadOnly = true;
             this.Column2.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
-            this.Column2.Width = 360;
+            this.Column2.Width = 300;
             // 
             // Column3
             // 
-            dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
-            dataGridViewCellStyle5.ForeColor = System.Drawing.Color.Black;
-            this.Column3.DefaultCellStyle = dataGridViewCellStyle5;
+            dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            dataGridViewCellStyle8.ForeColor = System.Drawing.Color.Black;
+            this.Column3.DefaultCellStyle = dataGridViewCellStyle8;
             this.Column3.Frozen = true;
             this.Column3.HeaderText = "種別";
             this.Column3.Name = "Column3";
@@ -357,6 +530,57 @@
             this.Column3.ReadOnly = true;
             this.Column3.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
             // 
+            // Column5
+            // 
+            dataGridViewCellStyle9.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            dataGridViewCellStyle9.ForeColor = System.Drawing.Color.Black;
+            this.Column5.DefaultCellStyle = dataGridViewCellStyle9;
+            this.Column5.Frozen = true;
+            this.Column5.HeaderText = "経費";
+            this.Column5.Name = "Column5";
+            this.Column5.ReadOnly = true;
+            this.Column5.Width = 60;
+            // 
+            // dataGridViewTextBoxColumn2
+            // 
+            this.dataGridViewTextBoxColumn2.Frozen = true;
+            this.dataGridViewTextBoxColumn2.HeaderText = "経費名称コード";
+            this.dataGridViewTextBoxColumn2.Name = "dataGridViewTextBoxColumn2";
+            this.dataGridViewTextBoxColumn2.ReadOnly = true;
+            this.dataGridViewTextBoxColumn2.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            this.dataGridViewTextBoxColumn2.Visible = false;
+            // 
+            // Column4
+            // 
+            this.Column4.Frozen = true;
+            this.Column4.HeaderText = "";
+            this.Column4.Name = "Column4";
+            this.Column4.Width = 40;
+            // 
+            // dataGridViewTextBoxColumn3
+            // 
+            dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle2.ForeColor = System.Drawing.Color.Black;
+            this.dataGridViewTextBoxColumn3.DefaultCellStyle = dataGridViewCellStyle2;
+            this.dataGridViewTextBoxColumn3.Frozen = true;
+            this.dataGridViewTextBoxColumn3.HeaderText = "経　費　名　称";
+            this.dataGridViewTextBoxColumn3.MaxInputLength = 50;
+            this.dataGridViewTextBoxColumn3.Name = "dataGridViewTextBoxColumn3";
+            this.dataGridViewTextBoxColumn3.ReadOnly = true;
+            this.dataGridViewTextBoxColumn3.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            this.dataGridViewTextBoxColumn3.Width = 440;
+            // 
+            // dataGridViewTextBoxColumn1
+            // 
+            dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleRight;
+            dataGridViewCellStyle3.ForeColor = System.Drawing.Color.Black;
+            dataGridViewCellStyle3.NullValue = null;
+            this.dataGridViewTextBoxColumn1.DefaultCellStyle = dataGridViewCellStyle3;
+            this.dataGridViewTextBoxColumn1.Frozen = true;
+            this.dataGridViewTextBoxColumn1.HeaderText = "経費率(%)";
+            this.dataGridViewTextBoxColumn1.Name = "dataGridViewTextBoxColumn1";
+            this.dataGridViewTextBoxColumn1.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            // 
             // FrmConstructionType
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
@@ -388,6 +612,10 @@
             this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.FrmConstructionType_KeyDown);
             this.tableLayoutPanel1.ResumeLayout(false);
             this.tableLayoutPanel1.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.numUDPeriod)).EndInit();
+            this.panel1.ResumeLayout(false);
+            this.panel1.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.dgvExpenses)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.dgvWorkList)).EndInit();
             this.ResumeLayout(false);
             this.PerformLayout();
@@ -413,9 +641,23 @@
         private System.Windows.Forms.TextBox txtInput1;
         private System.Windows.Forms.Label lblTypeCode;
         private System.Windows.Forms.ComboBox cmbPublicFlg;
+        private System.Windows.Forms.Label label2;
+        private System.Windows.Forms.Panel panel1;
+        private System.Windows.Forms.RadioButton radioButton2;
+        private System.Windows.Forms.RadioButton radioButton1;
+        private System.Windows.Forms.NumericUpDown numUDPeriod;
+        private System.Windows.Forms.Label label3;
+        private DataGridViewEX dgvExpenses;
         private System.Windows.Forms.DataGridViewTextBoxColumn Column0;
         private System.Windows.Forms.DataGridViewTextBoxColumn Column1;
         private System.Windows.Forms.DataGridViewTextBoxColumn Column2;
         private System.Windows.Forms.DataGridViewTextBoxColumn Column3;
+        private System.Windows.Forms.DataGridViewTextBoxColumn Column5;
+        private System.Windows.Forms.Label label6;
+        private System.Windows.Forms.ComboBox cmbDataSecRank;
+        private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn2;
+        private System.Windows.Forms.DataGridViewCheckBoxColumn Column4;
+        private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn3;
+        private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn1;
     }
 }
\ No newline at end of file
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/Master/ConstructionType/FrmConstructionType.resx
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/Master/ConstructionType/FrmConstructionType.resx	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/Master/ConstructionType/FrmConstructionType.resx	(revision 57)
@@ -117,6 +117,18 @@
   <resheader name="writer">
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
+  <metadata name="dataGridViewTextBoxColumn2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="Column4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="dataGridViewTextBoxColumn3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="dataGridViewTextBoxColumn1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
   <metadata name="Column0.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
@@ -129,4 +141,7 @@
   <metadata name="Column3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
+  <metadata name="Column5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
 </root>
\ No newline at end of file
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/ZMenu/FrmMenu.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/ZMenu/FrmMenu.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/ZMenu/FrmMenu.cs	(revision 57)
@@ -2707,7 +2707,7 @@
                         switch (ButtonCol)
                         {
                             case 0:
-                                NowPoint = ClsExcute.NextProcess((int)ClsExcute.ProcessExecuteNo.CostomerRegist);
+                                NowPoint = ClsExcute.NextProcess((int)ClsExcute.ProcessExecuteNo.CostomerRegistList);
                                 break;
                             case 2:
                                 break;
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/ZMenu/FrmMenuAuxiliary.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/ZMenu/FrmMenuAuxiliary.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/ZMenu/FrmMenuAuxiliary.cs	(revision 57)
@@ -1839,8 +1839,8 @@
                         CurCell = CurRowPo.Cells[(int)DocumentApprovalGridCount.ApprovalPerson1 + i];
 
                         CurCell.Value = CommonMotions.cnvString(objAuthorizer[(int)ApprovalDataList.ApprovalPersonName]);
-                        CurCell.Style.BackColor = CommonDefine.ApprovalBackColorStatusColor[ApprovalStatus];
-                        CurCell.Style.ForeColor = CommonDefine.ApprovalForeColorStatusColor[ApprovalStatus];
+                        CurCell.Style.BackColor = CommonDefine.ApprovalBackStatusColor[ApprovalStatus];
+                        CurCell.Style.ForeColor = CommonDefine.ApprovalForeStatusColor[ApprovalStatus];
                     }
                     bFirst = false;
                 }
@@ -4216,7 +4216,7 @@
                 strSQL += string.Format(" And PersonCode = {0}", iCode);
                 strSQL += " ORDER BY TargetDate ASC";
                 if (!asdDB.SelectAction(strSQL, ref asdList)) return;
-                if (asdList.Count == 0) return;
+                //if (asdList.Count == 0) return;
 
                 // 行の追加
                 int LineCnt = dgvActionSchedule.Rows.Add();
Index: trunk/src/ProcessManagement/ProcessManagement/ProcessManagement.csproj
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/ProcessManagement.csproj	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/ProcessManagement.csproj	(revision 57)
@@ -186,6 +186,9 @@
     <Compile Include="Forms\DataEntry\ApprovalPerson\FrmApprovalPersonAuxiliary.cs">
       <SubType>Form</SubType>
     </Compile>
+    <Compile Include="Forms\DataEntry\ApprovalPerson\SourceUpdate.cs">
+      <SubType>Form</SubType>
+    </Compile>
     <Compile Include="Forms\DataEntry\ConstructionBaseInfo\DataChange.cs">
       <SubType>Form</SubType>
     </Compile>
@@ -310,7 +313,7 @@
     <Compile Include="DataModel\ConstructionBudget.cs" />
     <Compile Include="DataModel\DepartmentExpenses.cs" />
     <Compile Include="DataModel\HolidayCalenderMaster.cs" />
-    <Compile Include="DataModel\ExpensesMaster.cs" />
+    <Compile Include="DataModel\TypeExpensesMaster.cs" />
     <Compile Include="DataModel\MessageBoardTerget.cs" />
     <Compile Include="DataModel\MessageBoardData.cs" />
     <Compile Include="DataModel\EstimateBudget.cs" />
@@ -371,7 +374,7 @@
     <Compile Include="DB\IOAccess\IOMessageBoardDataTerget.cs" />
     <Compile Include="DB\IOAccess\IOMSubContractorJobItem.cs" />
     <Compile Include="DB\IOAccess\IOMSubContractorItem.cs" />
-    <Compile Include="DB\IOAccess\IOMExpenses.cs" />
+    <Compile Include="DB\IOAccess\IOMTypeExpenses.cs" />
     <Compile Include="DB\IOAccess\IOMessageBoardData.cs" />
     <Compile Include="DB\IOAccess\IOMDepartment.cs" />
     <Compile Include="DB\IOAccess\IOMBusinessType.cs" />
@@ -954,12 +957,6 @@
     <Compile Include="Forms\Master\Division\FrmDivisionMaster.designer.cs">
       <DependentUpon>FrmDivisionMaster.cs</DependentUpon>
     </Compile>
-    <Compile Include="Forms\Master\Expenses\FrmExpenses.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="Forms\Master\Expenses\FrmExpenses.designer.cs">
-      <DependentUpon>FrmExpenses.cs</DependentUpon>
-    </Compile>
     <Compile Include="Forms\Master\Orderer\FrmOrderers.cs">
       <SubType>Form</SubType>
     </Compile>
@@ -1283,9 +1280,6 @@
     <EmbeddedResource Include="Forms\Master\Division\FrmDivisionMaster.resx">
       <DependentUpon>FrmDivisionMaster.cs</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="Forms\Master\Expenses\FrmExpenses.resx">
-      <DependentUpon>FrmExpenses.cs</DependentUpon>
-    </EmbeddedResource>
     <EmbeddedResource Include="Forms\Master\Orderer\FrmOrderers.resx">
       <DependentUpon>FrmOrderers.cs</DependentUpon>
     </EmbeddedResource>
Index: trunk/src/ProcessManagement/ProcessManagement/Properties/AssemblyInfo.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Properties/AssemblyInfo.cs	(revision 56)
+++ trunk/src/ProcessManagement/ProcessManagement/Properties/AssemblyInfo.cs	(revision 57)
@@ -33,6 +33,6 @@
 // 既定値にすることができます:
 // [assembly: AssemblyVersion("1.0.*")]
 [assembly: AssemblyVersion("0.0.0.0")]
-[assembly: AssemblyFileVersion("0.9.9.14")]
+[assembly: AssemblyFileVersion("0.9.9.15")]
 // Log4netを使用する
 [assembly: log4net.Config.XmlConfigurator(ConfigFile = @"log4net.config", Watch = true)]
\ No newline at end of file
Index: trunk/src/ProcessManagement/ProcessManagement.v12.suo
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
