Index: branches/src/ProcessManagement/ProcessManagement/Common/CommonMotions.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Common/CommonMotions.cs	(revision 342)
+++ branches/src/ProcessManagement/ProcessManagement/Common/CommonMotions.cs	(revision 343)
@@ -2920,6 +2920,307 @@
         }
         #endregion
 
+        #region 経過給与を一括計算する
+        /// <summary>
+        /// 経過給与を一括計算する
+        /// </summary>
+        /// <param name="dtStart"></param>
+        /// <param name="PersonCode"></param>
+        /// <returns></returns>
+        public static void CalcElapsedSalaryAll(IOMPersonInCharge SalDB, ArrayList TargetList, ref List<KeyValuePair<int, long>> SalDataList)
+        {
+            try
+            {
+
+                StringBuilder strSQL = new StringBuilder();
+
+                bool bFirst = true;
+                foreach (object[] ObjRec in TargetList)
+                {
+                    int PersonCode = CommonMotions.cnvInt(ObjRec[(int)CreateLedgerSQL.GetPersonTerm.PersonCode]);
+                    DateTime dtStart = CommonMotions.cnvDate(ObjRec[(int)CreateLedgerSQL.GetPersonTerm.StartDate]);
+                    DateTime dtLast = CommonMotions.cnvDate(ObjRec[(int)CreateLedgerSQL.GetPersonTerm.CompDate]);
+
+                    if (!bFirst) strSQL.Append(" UNION ");
+
+                    strSQL.AppendFormat("SELECT {0} As LinkKey, SUM(SAL{0}.SALARY) FROM", PersonCode);
+
+                    strSQL.Append(" (SELECT AX.hiduke,");
+                    //strSQL.AppendFormat(" ROUND((AX.salary * {0}) / DATE_FORMAT(LAST_DAY(AX.hiduke), '%d')) AS SALARY,", CommonDefine.s_SalaryCorrection);
+                    strSQL.AppendFormat(" ROUND((AX.salary * {0}) / 30) AS SALARY,", CommonDefine.s_SalaryCorrection);
+                    strSQL.Append(" MAX(AX.StartD) FROM");
+                    strSQL.Append(" (SELECT A.d hiduke, B.MonthlySalary salary, B.STARTDATE StartD FROM");
+
+                    strSQL.Append(" (SELECT A1.years, A2.month, A3.days, DATE(CONCAT(A1.years, '/', A2.month, '/', A3.days)) AS d");
+                    strSQL.Append(" FROM yearmaster AS A1, monthmaster AS A2, daymaster AS A3");
+
+                    strSQL.Append(" WHERE");
+                    if (dtStart.Year == dtLast.Year)
+                    {
+                        strSQL.AppendFormat(" (A1.years = {0} AND A2.month IN(", dtStart.Year.ToString("0000"));
+                        for (int i = dtStart.Month; i <= dtLast.Month; i++)
+                        {
+                            if (i != dtStart.Month) strSQL.Append(", ");
+                            strSQL.AppendFormat("{0} ", i);
+                        }
+                        strSQL.Append("))");
+                    }
+                    else
+                    {
+                        strSQL.Append(" (");
+
+                        for (int iYear = dtStart.Year; iYear <= dtLast.Year; iYear++)
+                        {
+                            // 先頭以外はORを追加する
+                            if (iYear != dtStart.Year) strSQL.AppendFormat(" OR");
+
+                            strSQL.AppendFormat(" (A1.years = {0}", iYear.ToString("0000"));
+                            strSQL.Append(" AND A2.month IN (");
+
+                            if (iYear == dtStart.Year)
+                            {   // 先頭年
+                                for (int i = dtStart.Month; i <= 12; i++)
+                                {
+                                    if (i != dtStart.Month) strSQL.Append(", ");
+                                    strSQL.AppendFormat("{0} ", i);
+                                }
+                            }
+                            else if (iYear == dtLast.Year)
+                            {   // 最終年
+                                for (int i = 1; i <= dtLast.Month; i++)
+                                {
+                                    if (i != 1) strSQL.Append(", ");
+                                    strSQL.AppendFormat("{0} ", i);
+                                }
+                            }
+                            else
+                            {   // 以外の年
+                                for (int i = 1; i <= 12; i++)
+                                {
+                                    if (i != 1) strSQL.Append(", ");
+                                    strSQL.AppendFormat("{0} ", i);
+                                }
+                            }
+                            strSQL.Append("))");
+                        }
+                        strSQL.Append(")");
+                    }
+
+                    strSQL.Append(" AND DATE(CONCAT(A1.years, '/', A2.month, '/', A3.days)) IS NOT NULL");
+                    strSQL.AppendFormat(" AND (DATE('{0}') <= DATE(CONCAT(A1.years, '/', A2.month, '/', A3.days))", dtStart.ToShortDateString());
+                    strSQL.AppendFormat(" AND DATE(CONCAT(A1.years, '/', A2.month, '/', A3.days)) <= DATE('{0}'))", dtLast.ToShortDateString());
+                    strSQL.Append(" ORDER BY d) A");
+                    strSQL.Append(", PERSONSALARYMASTER AS B");
+                    strSQL.AppendFormat(" WHERE B.PERSONCODE = {0}", PersonCode);
+                    strSQL.Append("       AND B.STARTDATE <= A.d");
+                    strSQL.Append(" ORDER BY A.d, B.STARTDATE DESC) AS AX");
+                    strSQL.Append(" GROUP BY AX.hiduke");
+                    strSQL.Append(" ORDER BY AX.hiduke");
+                    strSQL.AppendFormat(" ) AS SAL{0}", PersonCode);
+
+                    bFirst = false;
+                }
+
+                ArrayList ArData = new ArrayList();
+                if (!SalDB.ExecuteReader(strSQL.ToString(), ref ArData)) return;
+
+                foreach (object[] objRec in ArData)
+                {
+                    SalDataList.Add(new KeyValuePair<int, long>(CommonMotions.cnvInt(objRec[0]), CommonMotions.cnvLong(objRec[1])));
+                }
+
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
+        #region 期間より零れた経過給与を取得しデータテーブルの開始終了日を変更する
+        /// <summary>
+        /// 期間より零れた経過給与を取得しデータテーブルの開始終了日を変更する
+        /// </summary>
+        /// <returns></returns>
+        public static void CalcSpilledSalaryAll(IOMPersonInCharge SalDB
+                                            , int TargetYear
+                                            , ref ArrayList TargetList)
+        {
+            try
+            {
+                // デフォルト開始・終了を取得する
+                DateTime dtDefaultStart = CommonMotions.GetOpeningEndDate(TargetYear, true);
+                DateTime dtDefaultEnd = CommonMotions.GetOpeningEndDate(TargetYear, false);
+                DateTime dtPrevEnd = CommonMotions.GetOpeningEndDate((TargetYear - 1), false);
+
+                // 先期の期末を取得する
+                int PrevTargetYear = (TargetYear - 1);
+                if (PrevTargetYear < 1) return;
+
+                List<KeyValuePair<DateTime, DateTime>> wrkStEdDate = new List<KeyValuePair<DateTime, DateTime>>();
+                bool bFirst = true;
+                StringBuilder strSQL = new StringBuilder();
+                foreach (object[] ObjRec in TargetList)
+                {
+                    // 開始・終了日が無い場合はデフォルトの期首・期末を使用する
+                    DateTime stDate = CommonMotions.cnvDate(ObjRec[(int)CreateLedgerSQL.GetPersonTerm.StartDate]);
+                    DateTime edDate = CommonMotions.cnvDate(ObjRec[(int)CreateLedgerSQL.GetPersonTerm.CompDate]);
+                    CalcStartCompDate(TargetYear,
+                                        dtDefaultStart, dtDefaultEnd,
+                                        CommonMotions.cnvDate(ObjRec[(int)CreateLedgerSQL.GetPersonTerm.HireStartDays]),
+                                        CommonMotions.cnvDate(ObjRec[(int)CreateLedgerSQL.GetPersonTerm.HireCompDays]),
+                                        CommonMotions.cnvDate(ObjRec[(int)CreateLedgerSQL.GetPersonTerm.NextStartDate]),
+                                        CommonMotions.cnvDate(ObjRec[(int)CreateLedgerSQL.GetPersonTerm.NextCompDate]),
+                                        ref stDate, ref edDate);
+
+                    int nPersonCode = CommonMotions.cnvInt(ObjRec[(int)CreateLedgerSQL.GetPersonTerm.PersonCode]);
+                    wrkStEdDate.Add(new KeyValuePair<DateTime, DateTime>(stDate, edDate));
+
+                    // 今期の最初が先期の最後より大きい場合は処理しない
+                    //if (dtPrevEnd < stDate) continue;
+
+                    if (!bFirst) strSQL.Append(" Union ");
+
+                    strSQL.Append("Select");
+                    strSQL.Append(" Base.ConstructionPeriod");
+                    strSQL.Append(", Base.ConstructionCode");
+                    strSQL.Append(", Base.ConstructionPersonCode");
+                    strSQL.Append(", Ledger.ConstructionStart");
+                    strSQL.Append(", Ledger.ConstructionEnd");
+                    strSQL.Append(", LDetail.GroupCount");
+                    strSQL.Append(", LDetail.SalaryFlg");
+                    strSQL.Append(", LDetail.SalaryDays");
+                    strSQL.Append(" From");
+                    strSQL.Append(" constructionbaseinfo As Base");
+                    strSQL.Append(" Inner Join constructionledger As Ledger");
+                    strSQL.Append("       On Ledger.ConstructionCode = Base.ConstructionCode");
+                    strSQL.AppendFormat("  And DATE('{0}') <= DATE(Ledger.ConstructionEnd)", dtDefaultStart.ToShortDateString());
+                    strSQL.Append(" Inner Join constructionledgerdetail As LDetail");
+                    strSQL.Append("       On LDetail.ConstructionCode = Base.ConstructionCode");
+                    strSQL.AppendFormat(" And LDetail.GroupCount = {0}", (int)FrmConstructionLedger.DataGroup.Payroll);
+                    strSQL.AppendFormat(" And LDetail.CompanyCode = {0}", nPersonCode);
+                    strSQL.AppendFormat(" And LDetail.SalaryFlg = {0}", (int)CommonDefine.SalaryDevision.DaysInput);
+                    strSQL.Append(" Where");
+                    strSQL.AppendFormat(" Base.ConstructionPeriod = {0}", TargetYear);
+                    strSQL.AppendFormat(" And Base.ConstructionPersonCode = {0}", nPersonCode);
+                    strSQL.Append(" And(");
+                    strSQL.AppendFormat("DATE('{0}') <= DATE(Ledger.ConstructionStart)", edDate.ToShortDateString());
+                    strSQL.AppendFormat(" And DATE(Ledger.ConstructionEnd) <= DATE('{0}')", dtDefaultEnd.ToShortDateString());
+                    strSQL.Append(")");
+                    strSQL.Append(" Union Select");
+                    strSQL.Append(" Base.ConstructionPeriod");
+                    strSQL.Append(", Base.ConstructionCode");
+                    strSQL.Append(", Base.ConstructionPersonCode");
+                    strSQL.Append(", Ledger.ConstructionStart");
+                    strSQL.Append(", Ledger.ConstructionEnd");
+                    strSQL.Append(", LDetail.GroupCount");
+                    strSQL.Append(", LDetail.SalaryFlg");
+                    strSQL.Append(", LDetail.SalaryDays");
+                    strSQL.Append(" From");
+                    strSQL.Append(" constructionbaseinfo As Base");
+                    strSQL.Append(" Inner Join constructionledger As Ledger");
+                    strSQL.Append("       On Ledger.ConstructionCode = Base.ConstructionCode");
+                    strSQL.Append(" Inner Join constructionledgerdetail As LDetail");
+                    strSQL.Append("       On LDetail.ConstructionCode = Base.ConstructionCode");
+                    strSQL.AppendFormat(" And LDetail.GroupCount = {0}", (int)FrmConstructionLedger.DataGroup.Payroll);
+                    strSQL.AppendFormat(" And LDetail.CompanyCode = {0}", nPersonCode);
+                    strSQL.AppendFormat(" And LDetail.SalaryFlg = {0}", (int)CommonDefine.SalaryDevision.DaysInput);
+                    strSQL.Append(" Where");
+                    strSQL.AppendFormat(" Base.ConstructionPeriod = {0}", PrevTargetYear);
+                    strSQL.AppendFormat(" And Base.ConstructionPersonCode = {0}", nPersonCode);
+                    strSQL.Append(" And(");
+                    strSQL.AppendFormat("DATE('{0}') <= DATE(Ledger.ConstructionStart)", (stDate.AddDays(-1)).ToShortDateString());
+                    strSQL.AppendFormat(" And DATE(Ledger.ConstructionEnd) <= DATE('{0}')", dtPrevEnd.ToShortDateString());
+                    strSQL.Append(")");
+
+                    bFirst = false;
+                }
+                // データ取得
+                ArrayList ArData = new ArrayList();
+                if (!SalDB.ExecuteReader(strSQL.ToString(), ref ArData)) return;
+
+                int DateCnt = 0;
+                foreach (object[] ObjRec in TargetList)
+                {
+                    int nPersonCode = CommonMotions.cnvInt(ObjRec[(int)CreateLedgerSQL.GetPersonTerm.PersonCode]);
+
+                    // 半端分の日数を取得する
+                    int NextDiffDay = ArData.Cast<object[]>().Where(x => CommonMotions.cnvInt(x[0]) == TargetYear
+                                                                    && CommonMotions.cnvInt(x[2]) == nPersonCode)
+                                                            .Sum(y => CommonMotions.cnvInt(y[7]));
+
+                    // 先期の半端分の日数を取得する
+                    int PrevDiffDay = ArData.Cast<object[]>().Where(x => CommonMotions.cnvInt(x[0]) == PrevTargetYear
+                                                                    && CommonMotions.cnvInt(x[2]) == nPersonCode)
+                                                            .Sum(y => CommonMotions.cnvInt(y[7]));
+
+                    KeyValuePair<DateTime, DateTime> CurStEd = wrkStEdDate[DateCnt++];
+                    // 今期終了日変更
+                    DateTime wrkDate = CurStEd.Value.AddDays(NextDiffDay);
+                    if (dtDefaultEnd.Date < wrkDate.Date) wrkDate = dtDefaultEnd;
+                    ObjRec[(int)CreateLedgerSQL.GetPersonTerm.CompDate] = wrkDate;
+                    // 今期開始日変更
+                    wrkDate = CurStEd.Key.AddDays(PrevDiffDay);
+                    if (dtDefaultEnd.Date < wrkDate.Date) wrkDate = dtDefaultEnd;
+                    ObjRec[(int)CreateLedgerSQL.GetPersonTerm.StartDate] = wrkDate;
+                }
+
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
+        #region 計算開始・終了日のチェック入れ替え
+        /// <summary>
+        /// 計算開始・終了日のチェック入れ替え
+        /// </summary>
+        public static void CalcStartCompDate(int BusinessPeriod,
+                                        DateTime dtDefaultStart, DateTime dtDefaultEnd,
+                                        DateTime HireStartDate, DateTime HireCompDate,
+                                        DateTime NextStartDate, DateTime NextCompDate,
+                                        ref DateTime StartDate, ref DateTime CompDate)
+        {
+            try
+            {
+                // ----- 計算開始日セット
+                if (StartDate == DateTime.MinValue)
+                {
+                    StartDate = dtDefaultStart;
+                }
+                else if (dtDefaultStart <= HireStartDate && HireStartDate <= dtDefaultEnd)
+                {
+                    StartDate = HireStartDate;
+                }
+                else if (dtDefaultStart < StartDate)
+                {
+                    StartDate = dtDefaultStart;
+                }
+                // 入社日が期内ならば開始を入社日にする
+                if (dtDefaultStart < HireStartDate && HireStartDate < dtDefaultEnd) StartDate = HireStartDate;
+
+                // ----- 計算終了日セット
+                // Defaultは期末
+                CompDate = dtDefaultEnd;
+
+                // 退社日が期内ならば終了を退社日にする
+                if (dtDefaultStart < HireCompDate && HireCompDate < dtDefaultEnd) CompDate = HireCompDate;
+
+                // 来季の開始があって期末日より小さい場合は置き換える
+                if (NextStartDate != DateTime.MinValue)
+                {
+                    if (StartDate < NextStartDate && NextStartDate < CompDate) CompDate = NextStartDate.AddDays(-1);
+                }
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}", ex.Message);
+            }
+        }
+        #endregion
+
         #region グリッド行退避エリア初期化処理
         /// <summary>
         /// グリッド行退避エリア初期化処理
Index: branches/src/ProcessManagement/ProcessManagement/Common/CommonVersion.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Common/CommonVersion.cs	(revision 342)
+++ branches/src/ProcessManagement/ProcessManagement/Common/CommonVersion.cs	(revision 343)
@@ -14,7 +14,7 @@
         /// <summary>
         /// 本体バージョン
         /// </summary>
-        public static int s_SystemVersion = 180;
+        public static int s_SystemVersion = 181;
 
         /// <summary>
         /// コピー・環境バージョン
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalScreen/FrmApprovalScreen.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalScreen/FrmApprovalScreen.cs	(revision 342)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalScreen/FrmApprovalScreen.cs	(revision 343)
@@ -437,7 +437,10 @@
         {
             try
             {
-                // ���F�����`�F�b�N
+                // ���F�ς݃`�F�b�N
+                if (!CheckUserAppStat()) return;
+
+                    // ���F�����`�F�b�N
                 if (!ChkApprovalOrder()) return;
 
                 // ��ʍ��ڃ`�F�b�N
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalScreen/FrmApprovalScreenAuxiliary.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalScreen/FrmApprovalScreenAuxiliary.cs	(revision 342)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ApprovalScreen/FrmApprovalScreenAuxiliary.cs	(revision 343)
@@ -1243,6 +1243,47 @@
         }
         #endregion
 
+        #region ログイン者・承認者の承認状態をグリッドから取る
+        /// <summary>
+        /// ログイン者・承認者の承認状態をグリッドから取る
+        /// </summary>
+        /// <returns></returns>
+        private bool CheckUserAppStat()
+        {
+            try
+            {
+                DataGridView dgv = dgvEntryData;
+
+                int nPresonCode = (int)DispGridColumn.ApprovalCode;
+                DataGridViewRow[] CurRow = dgv.Rows.Cast<DataGridViewRow>()
+                                                    .Where(x => CommonMotions.cnvInt(x.Cells[nPresonCode].Value) == CommonMotions.LoginUserData.PersonCode)
+                                                    .ToArray();
+                // ----- グリッドに無いものは処理できない
+                if (CurRow.Count() < 1) return false;
+
+                // ----- 承認済みは処理できない
+                // グリッドの承認文字を取得する
+                int nGridAppStat = (int)DispGridColumn.ApprovalStatus;
+                string strGridApp = CommonMotions.cnvString(CurRow[0].Cells[nGridAppStat].Value);
+                // 承認文字を取得する
+                int nAppStat = (int)CommonDefine.ApprovalStatus.Approval;
+                string strAppString = CommonDefine.ApprovalStatusString[nAppStat];
+                if (strGridApp == strAppString)
+                {
+                    MessageBox.Show("既に承認されています。", "承認エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                    return false;
+                }
+
+                return true;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+                return false;
+            }
+        }
+        #endregion
+
         #region ---------->> 指示連絡コメント処理
         #region 指示連絡コメント表示処理
         /// <summary>
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedgerList/CreateLedgerSQL.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedgerList/CreateLedgerSQL.cs	(revision 342)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedgerList/CreateLedgerSQL.cs	(revision 343)
@@ -229,10 +229,7 @@
                 DateTime dtDefaultEnd = CommonMotions.GetOpeningEndDate(TargetNum, false);
                 DateTime stDate = DateTime.Today;
                 DateTime edDate = DateTime.Today;
-                DateTime DspSTDate = DateTime.MaxValue;
-                DateTime DspEdDate = DateTime.MinValue;
 
-
                 // 給与を集計する
                 foreach (object[] ObjRec in TargetList)
                 {
@@ -479,7 +476,7 @@
             }
         }
         #endregion
-
+        
         #region 担当者毎割当無費目毎の経費を取得する（一括バージョン）
         /// <summary>
         /// 担当者毎割当無費目毎の経費を取得する（一括バージョン）
@@ -556,5 +553,116 @@
             }
         }
         #endregion
+
+        #region 経過給与を一括取得する
+        /// <summary>
+        /// 経過給与を一括取得する
+        /// </summary>
+        public static void GetElapsedSalaryAll(IOMPersonInCharge SalaryDB, int TargetNum, ref ArrayList TargetList, ref List<SalaryClass> ArrarySalary)
+        {
+            try
+            {
+                // 零れた給与日数取得とデータテーブル加工
+                CommonMotions.CalcSpilledSalaryAll(SalaryDB, TargetNum, ref TargetList);
+
+                // 給与累積取得
+                List<KeyValuePair<int, long>> SalDataList = new List<KeyValuePair<int, long>>();
+                CommonMotions.CalcElapsedSalaryAll(SalaryDB, TargetList, ref SalDataList);
+
+                foreach (object[] ObjRec in TargetList)
+                {
+                    int nDepartmentCode = CommonMotions.cnvInt(ObjRec[(int)CreateLedgerSQL.GetPersonTerm.DepartmentCode]);
+                    int nPersonCode = CommonMotions.cnvInt(ObjRec[(int)CreateLedgerSQL.GetPersonTerm.PersonCode]);
+                    DateTime stDate = CommonMotions.cnvDate(ObjRec[(int)CreateLedgerSQL.GetPersonTerm.StartDate]);
+                    DateTime edDate = CommonMotions.cnvDate(ObjRec[(int)CreateLedgerSQL.GetPersonTerm.CompDate]);
+
+                    KeyValuePair<int, long> CurValuePair = SalDataList.Find(x => x.Key == nPersonCode);
+
+                    // 配列セット
+                    ArrarySalary.Add(new SalaryClass(nDepartmentCode, nPersonCode, (int)CurValuePair.Value, stDate, edDate));
+                }
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
+        #region 担当者毎割当無費目毎の経費を一括取得する
+        /// <summary>
+        /// 担当者毎割当無費目毎の経費を一括取得する
+        /// </summary>
+        public static void GetPersonExpensesCostValueAll(IOCostDataOfPerson CostDB,
+                                                        int nNowYear,
+                                                        List<SalaryClass> ArrarySalary,
+                                                        ref List<PersonExpensesCost> CostValue)
+        {
+            try
+            {
+                // デフォルト開始・終了を取得する
+                DateTime dtDefaultStart = CommonMotions.GetOpeningEndDate(nNowYear, true);
+                DateTime dtDefaultEnd = CommonMotions.GetOpeningEndDate(nNowYear, false);
+
+                // 担当者毎経費データよりどこの工事にも所属していない経費を取得する
+                bool bFirst = true;
+                StringBuilder strSQL = new StringBuilder();
+                foreach (SalaryClass CurData in ArrarySalary)
+                {
+                    if(!bFirst) strSQL.Append(" UNION ");
+                    strSQL.Append("SELECT");
+                    strSQL.Append(" PERSONCODE");
+                    strSQL.Append(", B.DATATYPE AS DATATYPE");
+                    strSQL.Append(", SUM(B.ENTRYPRICE) AS SUMPRICE");
+                    strSQL.Append(" FROM");
+                    strSQL.Append(" COSTDATAOFPERSON AS B");
+                    strSQL.Append(" WHERE");
+
+                    strSQL.AppendFormat(" B.PERSONCODE = {0}", CurData.PersonCode);
+
+                    strSQL.AppendFormat(" AND (DATE('{0}') <= DATE(B.ACTIONDATE)", dtDefaultStart.ToShortDateString());
+                    strSQL.AppendFormat(" AND DATE(B.ACTIONDATE) <= DATE('{0}'))", dtDefaultEnd.ToShortDateString());
+                    strSQL.Append(" AND B.CONSTRUCTIONCODE = 0");
+                    strSQL.Append(" GROUP BY B.DATATYPE");
+
+                    bFirst = false;
+                }
+                // データ取得
+                ArrayList arList = new ArrayList();
+                if (!CostDB.ExecuteReader(strSQL.ToString(), ref arList)) return;
+
+                // データセット
+                int[] GetCostVal = new int[CostDataOfPerson.DataNoStrArrary.Length];
+                foreach (SalaryClass CurData in ArrarySalary)
+                {
+                    Array.Clear(GetCostVal, 0, GetCostVal.Length);
+                    // 取得結果を振り分ける
+                    foreach (object[] wrkobj in arList)
+                    {
+                        for (int i = (int)CostDataOfPerson.DataNoDef.Transport
+                                    ; i <= (int)CostDataOfPerson.DataNoDef.DisposalCost
+                                    ; i++)
+                        {
+                            GetCostVal[i] = arList.Cast<object[]>().Where(x => CommonMotions.cnvInt(x[0]) == CurData.PersonCode
+                                                                            && CommonMotions.cnvInt(x[1]) == i)
+                                                                    .Sum(y => CommonMotions.cnvInt(y[2]));
+                        }
+                    }
+
+                    CostValue.Add(new PersonExpensesCost(CurData.DepartmentCode
+                                                            , CurData.PersonCode
+                                                            , CurData.StartDate
+                                                            , CurData.CompDate
+                                                            , new int[] { GetCostVal[0], GetCostVal[1], GetCostVal[2],
+                                                                                GetCostVal[3],GetCostVal[4],GetCostVal[5],
+                                                                                GetCostVal[6] }));
+                }
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("システムエラー：{0}：{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
     }
 }
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedgerList/FrmConstructionLedgerListAuxiliary.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedgerList/FrmConstructionLedgerListAuxiliary.cs	(revision 342)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedgerList/FrmConstructionLedgerListAuxiliary.cs	(revision 343)
@@ -1009,11 +1009,13 @@
 
                 // �Ώۂ̌o�ߋ��^���擾����
                 List<SalaryClass> ArrarySalary = new List<SalaryClass>();
-                CreateLedgerSQL.GetElapsedSalary(SalaryDB, (int)numUDConstPro.Value, TargetList, ref ArrarySalary);
+                //CreateLedgerSQL.GetElapsedSalary(SalaryDB, (int)numUDConstPro.Value, TargetList, ref ArrarySalary);
+                CreateLedgerSQL.GetElapsedSalaryAll(SalaryDB, (int)numUDConstPro.Value, ref TargetList, ref ArrarySalary);
 
                 // �Ώۂ̌o����擾����
                 List<PersonExpensesCost> ArraryCost = new List<PersonExpensesCost>();
-                CreateLedgerSQL.GetPersonExpensesCostValue(CostDB, (int)numUDConstPro.Value, ArrarySalary, ref ArraryCost);
+                //CreateLedgerSQL.GetPersonExpensesCostValue(CostDB, (int)numUDConstPro.Value, ArrarySalary, ref ArraryCost);
+                CreateLedgerSQL.GetPersonExpensesCostValueAll(CostDB, (int)numUDConstPro.Value, ArrarySalary, ref ArraryCost);
 
                 // ProgressBar�̒l��ύX����
                 prgber.Value++;
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/DepExpenssList/FrmDepExpenssListAuxiliary.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/DepExpenssList/FrmDepExpenssListAuxiliary.cs	(revision 342)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/DepExpenssList/FrmDepExpenssListAuxiliary.cs	(revision 343)
@@ -813,7 +813,8 @@
 
                 // �Ώۂ̌o�ߋ��^���擾����
                 List<SalaryClass> ArrarySalary = new List<SalaryClass>();
-                CreateLedgerSQL.GetElapsedSalary(SalaryDB, (int)numUDConstPro.Value, TargetList, ref ArrarySalary);
+                //CreateLedgerSQL.GetElapsedSalary(SalaryDB, (int)numUDConstPro.Value, TargetList, ref ArrarySalary);
+                CreateLedgerSQL.GetElapsedSalaryAll(SalaryDB, (int)numUDConstPro.Value, ref TargetList, ref ArrarySalary);
 
                 // ProgressBar�̒l��ύX����
                 prgber.Value++;
@@ -821,18 +822,15 @@
 
                 // �Ώۂ̌o����擾����
                 List<PersonExpensesCost> ArraryCost = new List<PersonExpensesCost>();
-                CreateLedgerSQL.GetPersonExpensesCostValue(CostDB, (int)numUDConstPro.Value, ArrarySalary, ref ArraryCost);
+                //CreateLedgerSQL.GetPersonExpensesCostValue(CostDB, (int)numUDConstPro.Value, ArrarySalary, ref ArraryCost);
+                CreateLedgerSQL.GetPersonExpensesCostValueAll(CostDB, (int)numUDConstPro.Value, ArrarySalary, ref ArraryCost);
 
                 // ProgressBar�̒l��ύX����
                 prgber.Value++;
                 prgber.Update();
 
-                // �f�t�H���g�J�n�E�I�����擾����
-                DateTime dtDefaultStart = CommonMotions.GetOpeningEndDate((int)numUDConstPro.Value, true);
-                DateTime dtDefaultEnd = CommonMotions.GetOpeningEndDate((int)numUDConstPro.Value, false);
-
                 // ----- �o�ߋ��^�\���i�w�b�_�[�ɕ\���j
-                SetPayrollData(TargetList, dtDefaultStart, dtDefaultEnd, SalaryDB, LedgerDB, ArrarySalary);
+                SetPayrollData(TargetList, LedgerDB, ArrarySalary);
 
                 // ProgressBar�̒l��ύX����
                 prgber.Value++;
@@ -873,6 +871,10 @@
                 int[] TotalArea = new int[TotalColCnt];
                 Array.Clear(TotalArea, 0, TotalArea.Length);
 
+                // �f�t�H���g�J�n�E�I�����擾����
+                DateTime dtDefaultStart = CommonMotions.GetOpeningEndDate((int)numUDConstPro.Value, true);
+                DateTime dtDefaultEnd = CommonMotions.GetOpeningEndDate((int)numUDConstPro.Value, false);
+
                 int ino = 1;
                 // �f�[�^�\��
                 if (arData.Count != 0)
@@ -1249,14 +1251,11 @@
         /// <summary>
         /// �����̌o�ߋ��^��\������
         /// </summary>
-        private void SetPayrollData(ArrayList TargetList,
-                                    DateTime dtDefaultStart, DateTime dtDefaultEnd,
-                                    IOMPersonInCharge SalaryDB, IOConstructionLedger LedgerDB,
+        private void SetPayrollData(ArrayList TargetList, IOConstructionLedger LedgerDB,
                                     List<SalaryClass> ArrarySalary)
         {
             try
             {
-
                 //Debug.WriteLine("---------------------");
                 // �����R�[�h�擾
                 int DepartmentCode = GetDepartmentCode();
Index: branches/src/ProcessManagement/ProcessManagement/Properties/AssemblyInfo.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Properties/AssemblyInfo.cs	(revision 342)
+++ branches/src/ProcessManagement/ProcessManagement/Properties/AssemblyInfo.cs	(revision 343)
@@ -32,7 +32,7 @@
 // すべての値を指定するか、下のように '*' を使ってビルドおよびリビジョン番号を 
 // 既定値にすることができます:
 // [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.1.180")]
-[assembly: AssemblyFileVersion("1.0.1.180")]
+[assembly: AssemblyVersion("1.0.1.181")]
+[assembly: AssemblyFileVersion("1.0.1.181")]
 // Log4netを使用する
 [assembly: log4net.Config.XmlConfigurator(ConfigFile = @"log4net.config", Watch = true)]
\ No newline at end of file
