Index: branches/src/ProcessManagement/ProcessManagement/Common/CommonVersion.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Common/CommonVersion.cs	(revision 287)
+++ branches/src/ProcessManagement/ProcessManagement/Common/CommonVersion.cs	(revision 288)
@@ -14,7 +14,7 @@
         /// <summary>
         /// æœ¬ä½“ãƒ�ãƒ¼ã‚¸ãƒ§ãƒ³
         /// </summary>
-        public static int s_SystemVersion = 98;
+        public static int s_SystemVersion = 99;
 
         /// <summary>
         /// ã‚³ãƒ”ãƒ¼ãƒ»ç’°å¢ƒãƒ�ãƒ¼ã‚¸ãƒ§ãƒ³
Index: branches/src/ProcessManagement/ProcessManagement/DataModel/DivisionMaster.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/DataModel/DivisionMaster.cs	(revision 287)
+++ branches/src/ProcessManagement/ProcessManagement/DataModel/DivisionMaster.cs	(revision 288)
@@ -17,15 +17,15 @@
         public enum DivisionMasterCodeDefine
         {
             /// <summary>
-            /// ç™ºæ³¨è€…åŒºåˆ†ç™»éŒ²
+            /// 1:ç™ºæ³¨è€…åŒºåˆ†ç™»éŒ²
             /// </summary>
             OrderDivision = 1,
             /// <summary>
-            /// å·¥äº‹ç¨®åˆ¥ç™»éŒ²
+            /// 2:å·¥äº‹ç¨®åˆ¥ç™»éŒ²
             /// </summary>
             ConstructionClass = 2,
             /// <summary>
-            /// å·¥äº‹çµŒè²»å��ç§°ç™»éŒ²
+            /// 3:å·¥äº‹çµŒè²»å��ç§°ç™»éŒ²
             /// </summary>
             ConstructionExpenses = 3,
         }
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstractionList/FrmConstructionList.designer.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstractionList/FrmConstructionList.designer.cs	(revision 287)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstractionList/FrmConstructionList.designer.cs	(revision 288)
@@ -183,7 +183,7 @@
             this.grpExample1.Size = new System.Drawing.Size(400, 38);
             this.grpExample1.TabIndex = 33;
             this.grpExample1.TabStop = false;
-            this.grpExample1.Text = "æ–½å·¥çŠ¶æ…‹å¤‰æ›´ã‚ˆã‚Š1ã‚«æœˆçµŒé�Žæ™‚è‰²";
+            this.grpExample1.Text = "æ–½å·¥çŠ¶æ…‹å¤‰æ›´ã‚ˆã‚Š1ã‚«æœˆçµŒé�Žæ™‚";
             this.grpExample1.Visible = false;
             // 
             // lblEstimateType03
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBudget/FrmConstructionBudget.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBudget/FrmConstructionBudget.cs	(revision 287)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBudget/FrmConstructionBudget.cs	(revision 288)
@@ -1071,6 +1071,7 @@
                     switch (GroupNo)
                     {
                         // Ž©ŽÐŽ{�H�EŠO’�”ïƒOƒ‹�[ƒvˆÈŠO‚Í�ˆ—�‚µ‚È‚¢
+                        case (int)FrmConstructionBudget.DataGroup.CommonTempCosts:
                         case (int)FrmConstructionBudget.DataGroup.OutSourceCosts:
                         case (int)FrmConstructionBudget.DataGroup.MyConstruction:
                             // Œð�Â•¶Žš—ñ‚ðƒZƒbƒg‚·‚é
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBudget/FrmConstructionBudgetAuxiliary.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBudget/FrmConstructionBudgetAuxiliary.cs	(revision 287)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBudget/FrmConstructionBudgetAuxiliary.cs	(revision 288)
@@ -4411,6 +4411,9 @@
                 dgv.CurrentRow.Cells[(int)GridColumn.CompanyType].Value = frm.DataType;
                 dgv.CurrentRow.Cells[(int)GridColumn.CompanyCode].Value = selRec.CompanyCode;
                 dgv.CurrentRow.Cells[(int)GridColumn.CompanyName].Value = selRec.CompanyName;
+
+                // å¤‰æ›´ãƒ•ãƒ©ã‚°ON
+                m_bChengeAns = true;
             }
             catch (System.Exception ex)
             {
@@ -4548,6 +4551,9 @@
                 }
 
                 wrkRow.Cells[(int)GridColumn.Negotiation].Value = NegoStr;
+
+                // å¤‰æ›´ãƒ•ãƒ©ã‚°ON
+                m_bChengeAns = true;
             }
             catch (System.Exception ex)
             {
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/DRList/FrmDRListAuxiliary.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/DRList/FrmDRListAuxiliary.cs	(revision 287)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/DRList/FrmDRListAuxiliary.cs	(revision 288)
@@ -141,7 +141,7 @@
         /// ŒŸ�õSQL‚ÌƒZƒLƒ…ƒŠƒeƒB”»’è•”•ª‚ð�ì�¬‚·‚é
         /// </summary>
         /// <param name="strSQL"></param>
-        private void CreateSecuritySQL(ref string strSQL)
+        private void CreateSecuritySQL(ref StringBuilder strSQL)
         {
             try
             {
@@ -165,23 +165,23 @@
                     int iStatus = CommonDefine.ProjectsStatus.First(x => x.Value.Equals("Œ©�Ï’ñ�o")).Key;
                     int iStatus2 = CommonDefine.ProjectsStatus.First(x => x.Value.Equals("•”��ˆøŒp")).Key;
 
-                    strSQL += " And (A.SalesPersonCode IN (Select A1.PersonCode From PersonInChargeMaster A1";
-                    strSQL += string.Format(" Where A1.DepartmentCode IN (SELECT A2.DEPARTMENTCODE FROM PERSONDEPARTMENTMASTER A2 WHERE A2.PERSONCODE = {0}))", CommonMotions.LoginUserData.PersonCode);
+                    strSQL.Append(" And (A.SalesPersonCode IN (Select A1.PersonCode From PersonInChargeMaster A1");
+                    strSQL.AppendFormat(" Where A1.DepartmentCode IN (SELECT A2.DEPARTMENTCODE FROM PERSONDEPARTMENTMASTER A2 WHERE A2.PERSONCODE = {0}))", CommonMotions.LoginUserData.PersonCode);
 
-                    strSQL += string.Format(" Or (A.ConstructionStatusFlg >= {0}", iStatus);
+                    strSQL.AppendFormat(" Or (A.ConstructionStatusFlg >= {0}", iStatus);
 
-                    strSQL += " And (A.ConstructionPersonCode IN (Select A3.PersonCode From PersonInChargeMaster A3";
-                    strSQL += string.Format(" Where A3.DepartmentCode IN (SELECT A4.DEPARTMENTCODE FROM PERSONDEPARTMENTMASTER A4 WHERE A4.PERSONCODE = {0}))", CommonMotions.LoginUserData.PersonCode);
+                    strSQL.Append(" And (A.ConstructionPersonCode IN (Select A3.PersonCode From PersonInChargeMaster A3");
+                    strSQL.AppendFormat(" Where A3.DepartmentCode IN (SELECT A4.DEPARTMENTCODE FROM PERSONDEPARTMENTMASTER A4 WHERE A4.PERSONCODE = {0}))", CommonMotions.LoginUserData.PersonCode);
 
-                    strSQL += " Or A.CONSTRSUBPERSONCODE IN (Select A5.PersonCode From PersonInChargeMaster A5";
-                    strSQL += string.Format(" Where A5.DepartmentCode IN (SELECT A6.DEPARTMENTCODE FROM PERSONDEPARTMENTMASTER A6 WHERE A6.PERSONCODE = {0}))", CommonMotions.LoginUserData.PersonCode);
+                    strSQL.Append(" Or A.CONSTRSUBPERSONCODE IN (Select A5.PersonCode From PersonInChargeMaster A5");
+                    strSQL.AppendFormat(" Where A5.DepartmentCode IN (SELECT A6.DEPARTMENTCODE FROM PERSONDEPARTMENTMASTER A6 WHERE A6.PERSONCODE = {0}))", CommonMotions.LoginUserData.PersonCode);
 
-                    strSQL += " Or A.ConstructionInstructor IN (Select A7.PersonCode From PersonInChargeMaster A7";
-                    strSQL += string.Format(" Where A7.DepartmentCode IN (SELECT A8.DEPARTMENTCODE FROM PERSONDEPARTMENTMASTER A8 WHERE A8.PERSONCODE = {0}))))", CommonMotions.LoginUserData.PersonCode);
+                    strSQL.Append(" Or A.ConstructionInstructor IN (Select A7.PersonCode From PersonInChargeMaster A7");
+                    strSQL.AppendFormat(" Where A7.DepartmentCode IN (SELECT A8.DEPARTMENTCODE FROM PERSONDEPARTMENTMASTER A8 WHERE A8.PERSONCODE = {0}))))", CommonMotions.LoginUserData.PersonCode);
 
-                    strSQL += string.Format(" Or (A.ConstructionStatusFlg >= {0} And A.ConstructionPersonCode = 0)", iStatus);          // �Š‘®’·‚ÍŒ©�Ï’ñ�oŒã‚Å�HŽ–’S“–ŽÒ‚ª“ü‚Á‚Ä‚¢‚È‚¢�ê�‡•\Ž¦
-                    strSQL += string.Format(" Or (A.ConstructionStatusFlg = {0}", iStatus2);                                            // •”��ˆøŒpŽž‚ÍˆøŒp•”��‚Ì‚à‚Ì‚ÍŒ©‚¦‚é
-                    strSQL += string.Format(" And A.TransferConstruction = {0}))", CommonMotions.LoginUserData.DepartmentCode);
+                    strSQL.AppendFormat(" Or (A.ConstructionStatusFlg >= {0} And A.ConstructionPersonCode = 0)", iStatus);          // �Š‘®’·‚ÍŒ©�Ï’ñ�oŒã‚Å�HŽ–’S“–ŽÒ‚ª“ü‚Á‚Ä‚¢‚È‚¢�ê�‡•\Ž¦
+                    strSQL.AppendFormat(" Or (A.ConstructionStatusFlg = {0}", iStatus2);                                            // •”��ˆøŒpŽž‚ÍˆøŒp•”��‚Ì‚à‚Ì‚ÍŒ©‚¦‚é
+                    strSQL.AppendFormat(" And A.TransferConstruction = {0}))", CommonMotions.LoginUserData.DepartmentCode);
                 }
                 else if (CommonMotions.LoginUserSecurity.SecRange == CommonDefine.SecurityRangeList[None].Key)
                 {
@@ -188,15 +188,15 @@
                     // ˆê”ÊŽg—pŽÒ
                     int iStatus = CommonDefine.ProjectsStatus.First(x => x.Value.Equals("Œ©�Ï’ñ�o")).Key;
 
-                    strSQL += string.Format(" And (A.SalesPersonCode = {0}", CommonMotions.LoginUserData.PersonCode);
+                    strSQL.AppendFormat(" And (A.SalesPersonCode = {0}", CommonMotions.LoginUserData.PersonCode);
 
-                    strSQL += string.Format(" Or (A.ConstructionStatusFlg > {0}", iStatus);
+                    strSQL.AppendFormat(" Or (A.ConstructionStatusFlg > {0}", iStatus);
 
-                    strSQL += string.Format(" And (A.ConstructionPersonCode = {0}", CommonMotions.LoginUserData.PersonCode);
+                    strSQL.AppendFormat(" And (A.ConstructionPersonCode = {0}", CommonMotions.LoginUserData.PersonCode);
 
-                    strSQL += string.Format(" Or A.CONSTRSUBPERSONCODE = {0}", CommonMotions.LoginUserData.PersonCode);
+                    strSQL.AppendFormat(" Or A.CONSTRSUBPERSONCODE = {0}", CommonMotions.LoginUserData.PersonCode);
 
-                    strSQL += string.Format(" Or A.ConstructionInstructor = {0})))", CommonMotions.LoginUserData.PersonCode);
+                    strSQL.AppendFormat(" Or A.ConstructionInstructor = {0})))", CommonMotions.LoginUserData.PersonCode);
                 }
             }
             catch (Exception ex)
@@ -210,10 +210,10 @@
         /// <summary>
         /// �HŽ–“ú•ñƒf�[ƒ^Žæ“¾SQL�ì�¬
         /// </summary>
-        private void CreateInitSQL1(ref string strSQL)
+        private void CreateInitSQL1(ref StringBuilder strSQL)
         {
-            string strSub1 = "";
-            string strSub2 = "";
+            StringBuilder strSub1 = new StringBuilder();
+            StringBuilder strSub2 = new StringBuilder();
             try
             {
                 int iCode = CommonDefine.ProjectsStatus.First(x => x.Value.Equals("�¿‹�Š®—¹")).Key;
@@ -227,58 +227,74 @@
                 if (cmbDepartment.Visible) DepartmentCode = CommonMotions.cnvInt(cmbDepartment.SelectedValue);
 
                 // SQL‚ÉƒAƒNƒZƒX�§ŒÀ‚ð‚©‚¯‚é
-                string strSecurity = string.Empty;
+                StringBuilder strSecurity = new StringBuilder();
                 CreateSecuritySQL(ref strSecurity);
 
                 // “ú•ñ“ü—Í‘Î�Û�HŽ–
-                strSub1 = "SELECT A.CONSTRUCTIONCODE, B.DETAILSTRING, C.PERSONCODE, C.PERSONNAME, '', D.DEPARTMENTCODE, D.DEPARTMENTSTRING, D.DISPLAYORDER, C.DISPLAYORDER, E.COMPLATEFLG";
-                strSub1 += " FROM CONSTRUCTIONBASEINFO A, CONSTRUCTIONBASEINFODETAIL B, PERSONINCHARGEMASTER C, DEPARTMENTMASTER D, CONSTRUCTIONLEDGER E";
-                strSub1 += " WHERE NOT EXISTS (SELECT * FROM DAILYDATACONSTRUCTION Z WHERE Z.CONSTRUCTIONCODE = A.CONSTRUCTIONCODE AND Z.PERSONCODE = A.CONSTRUCTIONPERSONCODE)";
-                strSub1 += string.Format(" And A.TyingFlg != {0}", (int)ConstructionBaseInfo.TyingFlgDef.Tying);
+                strSub1.Append("SELECT A.CONSTRUCTIONCODE");
+                strSub1.Append(", B.DETAILSTRING");
+                strSub1.Append(", C.PERSONCODE");
+                strSub1.Append(", C.PERSONNAME");
+                strSub1.Append(", ''");
+                strSub1.Append(", D.DEPARTMENTCODE");
+                strSub1.Append(", D.DEPARTMENTSTRING");
+                strSub1.Append(", D.DISPLAYORDER");
+                strSub1.Append(", C.DISPLAYORDER");
+
+                // strSub1.Append(", E.COMPLATEFLG"); 2017/10/30 ‘ä’ ‚ª�o—ˆ‚Ä‚È‚­‚Ä‚à“ü—Í‚Å‚«‚é‚æ‚¤‚É‚·‚é
                 
+                strSub1.Append(", 0");
+                strSub1.Append(" FROM CONSTRUCTIONBASEINFO A");
+                strSub1.Append(", CONSTRUCTIONBASEINFODETAIL B");
+                strSub1.Append(", PERSONINCHARGEMASTER C");
+                strSub1.Append(", DEPARTMENTMASTER D");
+
+                // strSub1.Append(", CONSTRUCTIONLEDGER E"); 2017/10/30 ‘ä’ ‚ª�o—ˆ‚Ä‚È‚­‚Ä‚à“ü—Í‚Å‚«‚é‚æ‚¤‚É‚·‚é
+                
+                strSub1.Append(" WHERE NOT EXISTS (SELECT * FROM DAILYDATACONSTRUCTION Z WHERE Z.CONSTRUCTIONCODE = A.CONSTRUCTIONCODE AND Z.PERSONCODE = A.CONSTRUCTIONPERSONCODE)");
+                strSub1.AppendFormat(" And A.TyingFlg != {0}", (int)ConstructionBaseInfo.TyingFlgDef.Tying);
+                
                 // �¿‹�Š®—¹ˆÈ�~‚Í‘Î�ÛŠO
-                strSub1 += string.Format(" AND ((A.CONSTRUCTIONSTATUSFLG < {0})", iCode);
+                strSub1.AppendFormat(" AND ((A.CONSTRUCTIONSTATUSFLG < {0})", iCode);
                 // �¿‹�Š®—¹Œã�A7“úŠÔ‚Í“ú•ñ“ü—Í‰Â”\‚É‚·‚é
-                strSub1 += string.Format(" OR (A.CONSTRUCTIONSTATUSFLG = {0}", iCode);
-                //strSub1 += string.Format(" AND TO_DATE('{0}','YYYY/MM/DD') <= A.BILLINGDATE))", DateTime.Now.AddDays(-7).ToShortDateString());
-                strSub1 += string.Format(" AND STR_TO_DATE('{0}','%Y/%m/%d') <= DATE(A.BILLINGDATE)))", DateTime.Now.AddDays(-7).ToShortDateString());
+                strSub1.AppendFormat(" OR (A.CONSTRUCTIONSTATUSFLG = {0}", iCode);
+                strSub1.AppendFormat(" AND STR_TO_DATE('{0}','%Y/%m/%d') <= DATE(A.BILLINGDATE)))", DateTime.Now.AddDays(-7).ToShortDateString());
                 
                 // ’S“–ŽÒ‘I‘ð‚ª‚ ‚é�ê�‡
                 if (PersonCode > 0)
-                    strSub1 += string.Format(" AND (A.ConstructionPersonCode = {0} OR A.ConstructionInstructor = {0} OR A.ConstrSubPersonCode = {0})", PersonCode);
-                
-                strSub1 += string.Format(" AND (A.CONSTRUCTIONCODE = B.CONSTRUCTIONCODE AND B.DETAILNO = {0})", (int)ConstructionBaseInfoDetail.DataNoDef.ConstructionName);
-                strSub1 += " AND A.CONSTRUCTIONPERSONCODE = C.PERSONCODE";
+                    strSub1.AppendFormat(" AND (A.ConstructionPersonCode = {0} OR A.ConstructionInstructor = {0} OR A.ConstrSubPersonCode = {0})", PersonCode);
+
+                strSub1.AppendFormat(" AND (A.CONSTRUCTIONCODE = B.CONSTRUCTIONCODE AND B.DETAILNO = {0})", (int)ConstructionBaseInfoDetail.DataNoDef.ConstructionName);
+                strSub1.Append(" AND A.CONSTRUCTIONPERSONCODE = C.PERSONCODE");
                 // •”��‘I‘ð‚ª‚ ‚éŽž
                 if (DepartmentCode > 0)
-                    strSub1 += string.Format(" AND C.DEPARTMENTCODE = {0}", DepartmentCode);
+                    strSub1.AppendFormat(" AND C.DEPARTMENTCODE = {0}", DepartmentCode);
 
-                strSub1 += string.Format(" AND A.CONSTRUCTIONPERIOD = {0}", numUDConstPro.Value);
-                strSub1 += " AND C.DEPARTMENTCODE = D.DEPARTMENTCODE";
-                strSub1 += " AND E.CONSTRUCTIONCODE = A.CONSTRUCTIONCODE";
+                strSub1.AppendFormat(" AND A.CONSTRUCTIONPERIOD = {0}", numUDConstPro.Value);
+                strSub1.Append(" AND C.DEPARTMENTCODE = D.DEPARTMENTCODE");
+                // strSub1.Append(" AND E.CONSTRUCTIONCODE = A.CONSTRUCTIONCODE"); 2017/10/30 ‘ä’ ‚ª�o—ˆ‚Ä‚È‚­‚Ä‚à“ü—Í‚Å‚«‚é‚æ‚¤‚É‚·‚é
                 // “ü—Í‚³‚ê‚½�HŽ–“ú•ñ‚ª‚ ‚é�HŽ–
-                //strSub2 = " UNION (SELECT A.CONSTRUCTIONCODE, B.DETAILSTRING , D.PERSONCODE, D.PERSONNAME, MAX(TO_CHAR(C.DAILYDATADATE,'YYYY/MM/DD'))";
-                strSub2 = " UNION (SELECT A.CONSTRUCTIONCODE, B.DETAILSTRING , D.PERSONCODE, D.PERSONNAME, MAX(DATE_FORMAT(C.DAILYDATADATE,'%Y/%m/%d'))";
-                strSub2 += " , E.DEPARTMENTCODE, E.DEPARTMENTSTRING, E.DISPLAYORDER, D.DISPLAYORDER, F.COMPLATEFLG";
-                strSub2 += " FROM CONSTRUCTIONBASEINFO A, CONSTRUCTIONBASEINFODETAIL B, DAILYDATACONSTRUCTION C, PERSONINCHARGEMASTER D, DEPARTMENTMASTER E, CONSTRUCTIONLEDGER F";
-                strSub2 += string.Format(" WHERE A.CONSTRUCTIONPERIOD = {0}", numUDConstPro.Value);
+                strSub2.Append(" UNION (SELECT A.CONSTRUCTIONCODE, B.DETAILSTRING , D.PERSONCODE, D.PERSONNAME, MAX(DATE_FORMAT(C.DAILYDATADATE,'%Y/%m/%d'))");
+                strSub2.Append(" , E.DEPARTMENTCODE, E.DEPARTMENTSTRING, E.DISPLAYORDER, D.DISPLAYORDER, F.COMPLATEFLG");
+                strSub2.Append(" FROM CONSTRUCTIONBASEINFO A, CONSTRUCTIONBASEINFODETAIL B, DAILYDATACONSTRUCTION C, PERSONINCHARGEMASTER D, DEPARTMENTMASTER E, CONSTRUCTIONLEDGER F");
+                strSub2.AppendFormat(" WHERE A.CONSTRUCTIONPERIOD = {0}", numUDConstPro.Value);
                 // ’S“–ŽÒ‘I‘ð‚ª‚ ‚é�ê�‡
                 if (PersonCode > 0)
-                    strSub2 += string.Format(" AND (A.ConstructionPersonCode = {0} OR A.ConstructionInstructor = {0} OR A.ConstrSubPersonCode = {0})", PersonCode);
+                    strSub2.AppendFormat(" AND (A.ConstructionPersonCode = {0} OR A.ConstructionInstructor = {0} OR A.ConstrSubPersonCode = {0})", PersonCode);
 
-                strSub2 += string.Format(" AND (A.CONSTRUCTIONCODE = B.CONSTRUCTIONCODE AND B.DETAILNO = {0})", (int)ConstructionBaseInfoDetail.DataNoDef.ConstructionName);
-                strSub2 += " AND A.CONSTRUCTIONCODE = C.CONSTRUCTIONCODE";
-                strSub2 += " AND C.PERSONCODE = D.PERSONCODE";
+                strSub2.AppendFormat(" AND (A.CONSTRUCTIONCODE = B.CONSTRUCTIONCODE AND B.DETAILNO = {0})", (int)ConstructionBaseInfoDetail.DataNoDef.ConstructionName);
+                strSub2.Append(" AND A.CONSTRUCTIONCODE = C.CONSTRUCTIONCODE");
+                strSub2.Append(" AND C.PERSONCODE = D.PERSONCODE");
                 // •”��‘I‘ð‚ª‚ ‚éŽž
                 if (DepartmentCode > 0)
-                    strSub2 += string.Format(" AND D.DEPARTMENTCODE = {0}", DepartmentCode);
-                strSub2 += " AND D.DEPARTMENTCODE = E.DEPARTMENTCODE";
-                strSub2 += " AND F.CONSTRUCTIONCODE = A.CONSTRUCTIONCODE";
+                    strSub2.AppendFormat(" AND D.DEPARTMENTCODE = {0}", DepartmentCode);
+                strSub2.Append(" AND D.DEPARTMENTCODE = E.DEPARTMENTCODE");
+                strSub2.Append(" AND F.CONSTRUCTIONCODE = A.CONSTRUCTIONCODE");
 
-                strSQL = strSub1 + strSecurity + strSub2 + strSecurity;
-                strSQL += " GROUP BY A.CONSTRUCTIONCODE, B.DETAILSTRING, D.PERSONCODE, D.PERSONNAME, E.DEPARTMENTCODE, E.DEPARTMENTSTRING, E.DISPLAYORDER, D.DISPLAYORDER, F.COMPLATEFLG)";
+                strSQL.Append(strSub1.ToString() + strSecurity.ToString() + strSub2.ToString() + strSecurity.ToString());
+                strSQL.Append(" GROUP BY A.CONSTRUCTIONCODE, B.DETAILSTRING, D.PERSONCODE, D.PERSONNAME, E.DEPARTMENTCODE, E.DEPARTMENTSTRING, E.DISPLAYORDER, D.DISPLAYORDER, F.COMPLATEFLG)");
                 // Order by •t��
-                strSQL += " ORDER BY 10 ASC, 8 ASC, 9 ASC, 6 ASC, 7 ASC, 3 ASC";
+                strSQL.Append(" ORDER BY 10 ASC, 8 ASC, 9 ASC, 6 ASC, 7 ASC, 3 ASC");
 
             }
             catch (Exception ex)
@@ -292,10 +308,10 @@
         /// <summary>
         /// ‘Å‚¿�‡‚í‚¹‹cŽ–˜^ƒf�[ƒ^Žæ“¾SQL�ì�¬
         /// </summary>
-        private void CreateInitSQL2(ref string strSQL)
+        private void CreateInitSQL2(ref StringBuilder strSQL)
         {
-            string strSub1 = "";
-            string strSub2 = "";
+            StringBuilder strSub1 = new StringBuilder();
+            StringBuilder strSub2 = new StringBuilder();
             try
             {
                 int iCode = CommonDefine.ProjectsStatus.First(x => x.Value.Equals("�¿‹�Š®—¹")).Key;
@@ -309,58 +325,74 @@
                 if (cmbDepartment.Visible) DepartmentCode = CommonMotions.cnvInt(cmbDepartment.SelectedValue);
 
                 // SQL‚ÉƒAƒNƒZƒX�§ŒÀ‚ð‚©‚¯‚é
-                string strSecurity = string.Empty;
+                StringBuilder strSecurity = new StringBuilder();
                 CreateSecuritySQL(ref strSecurity);
 
                 // “ú•ñ“ü—Í‘Î�Û�HŽ–
-                strSub1 = "SELECT A.CONSTRUCTIONCODE, B.DETAILSTRING, C.PERSONCODE, C.PERSONNAME, '', D.DEPARTMENTCODE, D.DEPARTMENTSTRING, D.DISPLAYORDER, C.DISPLAYORDER, E.COMPLATEFLG";
-                strSub1 += " FROM CONSTRUCTIONBASEINFO A, CONSTRUCTIONBASEINFODETAIL B, PERSONINCHARGEMASTER C, DEPARTMENTMASTER D, CONSTRUCTIONLEDGER E";
-                strSub1 += " WHERE NOT EXISTS (SELECT * FROM PROCEEDINGSDATA Z WHERE Z.CONSTRUCTIONCODE = A.CONSTRUCTIONCODE)";
-                strSub1 += string.Format(" And A.TyingFlg != {0}", (int)ConstructionBaseInfo.TyingFlgDef.Tying);
+                strSub1.Append("SELECT A.CONSTRUCTIONCODE");
+                strSub1.Append(", B.DETAILSTRING");
+                strSub1.Append(", C.PERSONCODE");
+                strSub1.Append(", C.PERSONNAME");
+                strSub1.Append(", ''");
+                strSub1.Append(", D.DEPARTMENTCODE");
+                strSub1.Append(", D.DEPARTMENTSTRING");
+                strSub1.Append(", D.DISPLAYORDER");
+                strSub1.Append(", C.DISPLAYORDER");
+                
+                // strSub1.Append(", E.COMPLATEFLG"); 2017/10/30 ‘ä’ ‚ª�o—ˆ‚Ä‚È‚­‚Ä‚à“ü—Í‚Å‚«‚é‚æ‚¤‚É‚·‚é
+                strSub1.Append(", 0");
 
+                strSub1.Append(" FROM CONSTRUCTIONBASEINFO A");
+                strSub1.Append(", CONSTRUCTIONBASEINFODETAIL B");
+                strSub1.Append(", PERSONINCHARGEMASTER C");
+                strSub1.Append(", DEPARTMENTMASTER D");
+
+                // strSub1.Append(", CONSTRUCTIONLEDGER E"); 2017/10/30 ‘ä’ ‚ª�o—ˆ‚Ä‚È‚­‚Ä‚à“ü—Í‚Å‚«‚é‚æ‚¤‚É‚·‚é
+                
+                strSub1.Append(" WHERE NOT EXISTS (SELECT * FROM PROCEEDINGSDATA Z WHERE Z.CONSTRUCTIONCODE = A.CONSTRUCTIONCODE)");
+                strSub1.AppendFormat(" And A.TyingFlg != {0}", (int)ConstructionBaseInfo.TyingFlgDef.Tying);
+
                 // �¿‹�Š®—¹ˆÈ�~‚Í‘Î�ÛŠO
-                strSub1 += string.Format(" AND ((A.CONSTRUCTIONSTATUSFLG < {0})", iCode);
+                strSub1.AppendFormat(" AND ((A.CONSTRUCTIONSTATUSFLG < {0})", iCode);
                 // �¿‹�Š®—¹Œã�A7“úŠÔ‚Í“ú•ñ“ü—Í‰Â”\‚É‚·‚é
-                strSub1 += string.Format(" OR (A.CONSTRUCTIONSTATUSFLG = {0}", iCode);
-                //strSub1 += string.Format(" AND TO_DATE('{0}','YYYY/MM/DD') <= A.BILLINGDATE))", DateTime.Now.AddDays(-7).ToShortDateString());
-                strSub1 += string.Format(" AND STR_TO_DATE('{0}','%Y/%m/%d') <= DATE(A.BILLINGDATE)))", DateTime.Now.AddDays(-7).ToShortDateString());
+                strSub1.AppendFormat(" OR (A.CONSTRUCTIONSTATUSFLG = {0}", iCode);
+                strSub1.AppendFormat(" AND STR_TO_DATE('{0}','%Y/%m/%d') <= DATE(A.BILLINGDATE)))", DateTime.Now.AddDays(-7).ToShortDateString());
 
                 // ’S“–ŽÒ‘I‘ð‚ª‚ ‚é�ê�‡
                 if (PersonCode > 0)
-                    strSub1 += string.Format(" AND (A.ConstructionPersonCode = {0} OR A.ConstructionInstructor = {0} OR A.ConstrSubPersonCode = {0})", PersonCode);
+                    strSub1.AppendFormat(" AND (A.ConstructionPersonCode = {0} OR A.ConstructionInstructor = {0} OR A.ConstrSubPersonCode = {0})", PersonCode);
 
-                strSub1 += string.Format(" AND (A.CONSTRUCTIONCODE = B.CONSTRUCTIONCODE AND B.DETAILNO = {0})", (int)ConstructionBaseInfoDetail.DataNoDef.ConstructionName);
-                strSub1 += " AND A.CONSTRUCTIONPERSONCODE = C.PERSONCODE";
+                strSub1.AppendFormat(" AND (A.CONSTRUCTIONCODE = B.CONSTRUCTIONCODE AND B.DETAILNO = {0})", (int)ConstructionBaseInfoDetail.DataNoDef.ConstructionName);
+                strSub1.Append(" AND A.CONSTRUCTIONPERSONCODE = C.PERSONCODE");
                 // •”��‘I‘ð‚ª‚ ‚éŽž
                 if (DepartmentCode > 0)
-                    strSub1 += string.Format(" AND C.DEPARTMENTCODE = {0}", DepartmentCode);
+                    strSub1.AppendFormat(" AND C.DEPARTMENTCODE = {0}", DepartmentCode);
 
-                strSub1 += string.Format(" AND A.CONSTRUCTIONPERIOD = {0}", numUDConstPro.Value);
-                strSub1 += " AND C.DEPARTMENTCODE = D.DEPARTMENTCODE";
-                strSub1 += " AND E.CONSTRUCTIONCODE = A.CONSTRUCTIONCODE";
+                strSub1.AppendFormat(" AND A.CONSTRUCTIONPERIOD = {0}", numUDConstPro.Value);
+                strSub1.Append(" AND C.DEPARTMENTCODE = D.DEPARTMENTCODE");
+                // strSub1.Append(" AND E.CONSTRUCTIONCODE = A.CONSTRUCTIONCODE"); 2017/10/30 ‘ä’ ‚ª�o—ˆ‚Ä‚È‚­‚Ä‚à“ü—Í‚Å‚«‚é‚æ‚¤‚É‚·‚é
                 // “ü—Í‚³‚ê‚½�HŽ–“ú•ñ‚ª‚ ‚é�HŽ–
-                //strSub2 = " UNION (SELECT A.CONSTRUCTIONCODE, B.DETAILSTRING , D.PERSONCODE, D.PERSONNAME, MAX(TO_CHAR(C.PROCEEDINGSDATADATE,'YYYY/MM/DD'))";
-                strSub2 = " UNION (SELECT A.CONSTRUCTIONCODE, B.DETAILSTRING , D.PERSONCODE, D.PERSONNAME, MAX(DATE_FORMAT(C.PROCEEDINGSDATADATE,'%Y/%m/%d'))";
-                strSub2 += " , E.DEPARTMENTCODE, E.DEPARTMENTSTRING, E.DISPLAYORDER, D.DISPLAYORDER, F.COMPLATEFLG";
-                strSub2 += " FROM CONSTRUCTIONBASEINFO A, CONSTRUCTIONBASEINFODETAIL B, PROCEEDINGSDATA C, PERSONINCHARGEMASTER D, DEPARTMENTMASTER E, CONSTRUCTIONLEDGER F";
-                strSub2 += string.Format(" WHERE A.CONSTRUCTIONPERIOD = {0}", numUDConstPro.Value);
+                strSub2.Append(" UNION (SELECT A.CONSTRUCTIONCODE, B.DETAILSTRING , D.PERSONCODE, D.PERSONNAME, MAX(DATE_FORMAT(C.PROCEEDINGSDATADATE,'%Y/%m/%d'))");
+                strSub2.Append(" , E.DEPARTMENTCODE, E.DEPARTMENTSTRING, E.DISPLAYORDER, D.DISPLAYORDER, F.COMPLATEFLG");
+                strSub2.Append(" FROM CONSTRUCTIONBASEINFO A, CONSTRUCTIONBASEINFODETAIL B, PROCEEDINGSDATA C, PERSONINCHARGEMASTER D, DEPARTMENTMASTER E, CONSTRUCTIONLEDGER F");
+                strSub2.AppendFormat(" WHERE A.CONSTRUCTIONPERIOD = {0}", numUDConstPro.Value);
                 // ’S“–ŽÒ‘I‘ð‚ª‚ ‚é�ê�‡
                 if (PersonCode > 0)
-                    strSub2 += string.Format(" AND (A.ConstructionPersonCode = {0} OR A.ConstructionInstructor = {0} OR A.ConstrSubPersonCode = {0})", PersonCode);
+                    strSub2.AppendFormat(" AND (A.ConstructionPersonCode = {0} OR A.ConstructionInstructor = {0} OR A.ConstrSubPersonCode = {0})", PersonCode);
 
-                strSub2 += string.Format(" AND (A.CONSTRUCTIONCODE = B.CONSTRUCTIONCODE AND B.DETAILNO = {0})", (int)ConstructionBaseInfoDetail.DataNoDef.ConstructionName);
-                strSub2 += " AND A.CONSTRUCTIONCODE = C.CONSTRUCTIONCODE";
-                strSub2 += " AND D.PERSONCODE = A.CONSTRUCTIONPERSONCODE";
+                strSub2.AppendFormat(" AND (A.CONSTRUCTIONCODE = B.CONSTRUCTIONCODE AND B.DETAILNO = {0})", (int)ConstructionBaseInfoDetail.DataNoDef.ConstructionName);
+                strSub2.Append(" AND A.CONSTRUCTIONCODE = C.CONSTRUCTIONCODE");
+                strSub2.Append(" AND D.PERSONCODE = A.CONSTRUCTIONPERSONCODE");
                 // •”��‘I‘ð‚ª‚ ‚éŽž
                 if (DepartmentCode > 0)
-                    strSub2 += string.Format(" AND D.DEPARTMENTCODE = {0}", DepartmentCode);
-                strSub2 += " AND D.DEPARTMENTCODE = E.DEPARTMENTCODE";
-                strSub2 += " AND F.CONSTRUCTIONCODE = A.CONSTRUCTIONCODE";
+                    strSub2.AppendFormat(" AND D.DEPARTMENTCODE = {0}", DepartmentCode);
+                strSub2.Append(" AND D.DEPARTMENTCODE = E.DEPARTMENTCODE");
+                strSub2.Append(" AND F.CONSTRUCTIONCODE = A.CONSTRUCTIONCODE");
 
-                strSQL = strSub1 + strSecurity + strSub2 + strSecurity;
-                strSQL += " GROUP BY A.CONSTRUCTIONCODE, B.DETAILSTRING, D.PERSONCODE, D.PERSONNAME, E.DEPARTMENTCODE, E.DEPARTMENTSTRING, E.DISPLAYORDER, D.DISPLAYORDER, F.COMPLATEFLG)";
+                strSQL.Append(strSub1.ToString() + strSecurity.ToString() + strSub2.ToString() + strSecurity.ToString());
+                strSQL.Append(" GROUP BY A.CONSTRUCTIONCODE, B.DETAILSTRING, D.PERSONCODE, D.PERSONNAME, E.DEPARTMENTCODE, E.DEPARTMENTSTRING, E.DISPLAYORDER, D.DISPLAYORDER, F.COMPLATEFLG)");
                 // Order by •t��
-                strSQL += " ORDER BY 10 ASC, 8 ASC, 9 ASC, 6 ASC, 7 ASC, 3 ASC";
+                strSQL.Append(" ORDER BY 10 ASC, 8 ASC, 9 ASC, 6 ASC, 7 ASC, 3 ASC");
 
             }
             catch (Exception ex)
@@ -374,7 +406,7 @@
         /// <summary>
         /// ƒf�[ƒ^Žæ“¾SQL�ì�¬
         /// </summary>
-        private void CreateInitSQL(ref string strSQL)
+        private void CreateInitSQL(ref StringBuilder strSQL)
         {
             try
             {
@@ -425,12 +457,12 @@
             try
             {
                 dgvMaster.Rows.Clear();
-                string strSQL = "";
+                StringBuilder strSQL = new StringBuilder();
                 // SQL�ì�¬
                 CreateInitSQL(ref strSQL);
                 bool init = true;
                 // �HŽ–Šî–{�î•ñŽæ“¾
-                if (!cbiDB.ExecuteReader(strSQL, ref arData)) return;
+                if (!cbiDB.ExecuteReader(strSQL.ToString(), ref arData)) return;
 
                 int DepCode = 0;
                 int PersonCode = 0;
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/DepExpenssList/FrmDepExpenssListAuxiliary.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/DepExpenssList/FrmDepExpenssListAuxiliary.cs	(revision 287)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/DepExpenssList/FrmDepExpenssListAuxiliary.cs	(revision 288)
@@ -1284,7 +1284,6 @@
         }
         #endregion
 
-
         #region ƒwƒbƒ_�[‚ÌŒo‰ß‹‹—^‚ð•\Ž¦‚·‚é
         /// <summary>
         /// ƒwƒbƒ_�[‚ÌŒo‰ß‹‹—^‚ð•\Ž¦‚·‚é
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/PriceOfBudget/FrmPriceOfBudget.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/PriceOfBudget/FrmPriceOfBudget.cs	(revision 287)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/PriceOfBudget/FrmPriceOfBudget.cs	(revision 288)
@@ -126,9 +126,13 @@
         private DialogResult m_EndButton = DialogResult.None;
 
         // å�ˆè¨ˆã‚¨ãƒªã‚¢
-        private int[] m_TotalArea;
+        private long[] m_TotalArea;
 
         /// <summary>
+        /// çµŒè²»çŽ‡ãƒžã‚¹ã‚¿ãƒ¬ã‚³ãƒ¼ãƒ‰æ•°
+        /// </summary>
+        private int m_ExpensesMasterCount = 3;
+        /// <summary>
         /// æ¬¡ç”»é�¢é�¸æŠž
         /// </summary>
         private bool m_NextProc = false;
Index: branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/PriceOfBudget/FrmPriceOfBudgetAuxiliary.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/PriceOfBudget/FrmPriceOfBudgetAuxiliary.cs	(revision 287)
+++ branches/src/ProcessManagement/ProcessManagement/Forms/DataEntry/PriceOfBudget/FrmPriceOfBudgetAuxiliary.cs	(revision 288)
@@ -43,7 +43,7 @@
             {
                 // ‘��‡ŒvƒGƒŠƒA�‰Šú‰»
                 int TotalColCnt = Enum.GetNames(typeof(GridColumn)).Length;
-                m_TotalArea = new int[TotalColCnt];
+                m_TotalArea = new long[TotalColCnt];
                 Array.Clear(m_TotalArea, 0, m_TotalArea.Length);
 
                 dgv.Rows.Clear();
@@ -130,6 +130,22 @@
             /// Žó’�“ú
             /// </summary>
             OrderDate,
+            /// <summary>
+            /// �HŽ–—\ŽZ�‘�FƒOƒ‹�[ƒv‡‚
+            /// </summary>
+            GroupCount,
+            /// <summary>
+            /// �HŽ–—\ŽZ�‘�F�sƒJƒEƒ“ƒg
+            /// </summary>
+            LineCount,
+            /// <summary>
+            /// �HŽ–—\ŽZ�‘�FŽÀ�s‹àŠz
+            /// </summary>
+            ExecutionAmount,
+            /// <summary>
+            /// �HŽ–—\ŽZ�‘�F‹àŠz”ä—¦
+            /// </summary>
+            AmountConfigRate,
         }
         #endregion
 
@@ -144,7 +160,7 @@
 
             // �‡ŒvƒGƒŠƒA�‰Šú‰»
             int TotalColCnt = Enum.GetNames(typeof(GridColumn)).Length;
-            int[] CurTotalArea = new int[TotalColCnt];
+            long[] CurTotalArea = new long[TotalColCnt];
             Array.Clear(CurTotalArea, 0, CurTotalArea.Length);
             try
             {
@@ -157,49 +173,107 @@
                 int iCode1 = CommonDefine.ProjectsStatus.First(x => x.Value.Equals("‰¼ Žó ’�")).Key;
                 int iCode2 = CommonDefine.ProjectsStatus.First(x => x.Value.Equals("Ž{�HŠJŽn")).Key;
 
-                string strSQL = "(SELECT C1.DISPLAYORDER, A.CONSTRUCTIONCODE, A.ORDERSDECISIONPRICE,";
-                strSQL += " A.CONSTRUCTIONSTATUSFLG, A.CONSTRUCTIONPERSONCODE,";
-                strSQL += " C1.DEPARTMENTSTRING, B1.PERSONNAME,";
-                strSQL += " D1.EXPENSESRAITO, D2.EXPENSESRAITO, D3.EXPENSESRAITO,";
-                strSQL += " E1.DETAILSTRING, B1.DISPLAYORDER,";
-                strSQL += " A.ORDERDATE";
-                strSQL += " FROM CONSTRUCTIONBASEINFO A, PERSONINCHARGEMASTER B1, DEPARTMENTMASTER C1";
-                strSQL += string.Format(" LEFT JOIN DEPARTMENTEXPENSESMASTER D1 ON D1.DEPARTMENTCODE = C1.DEPARTMENTCODE AND D1.EXPENSESPERIOD = {0} AND D1.NameCode = 3", SelectPeriod);
-                strSQL += string.Format(" LEFT JOIN DEPARTMENTEXPENSESMASTER D2 ON D2.DEPARTMENTCODE = C1.DEPARTMENTCODE AND D2.EXPENSESPERIOD = {0} AND D2.NameCode = 2", SelectPeriod);
-                strSQL += string.Format(" LEFT JOIN DEPARTMENTEXPENSESMASTER D3 ON D3.DEPARTMENTCODE = C1.DEPARTMENTCODE AND D3.EXPENSESPERIOD = {0} AND D3.NameCode = 1", SelectPeriod);
-                strSQL += ", CONSTRUCTIONBASEINFODETAIL E1";
-                strSQL += " WHERE NOT EXISTS (SELECT * FROM CONSTRUCTIONLEDGER A1 WHERE A1.CONSTRUCTIONCODE = A.CONSTRUCTIONCODE)";
-                strSQL += string.Format(" AND A.CONSTRUCTIONPERIOD = {0}", SelectPeriod);
+                StringBuilder strSQL = new StringBuilder();
+                strSQL.Append("(SELECT C1.DISPLAYORDER");
+                strSQL.Append(", A.CONSTRUCTIONCODE");
+                strSQL.Append(", A.ORDERSDECISIONPRICE");
+                strSQL.Append(", A.CONSTRUCTIONSTATUSFLG");
+                strSQL.Append(", A.CONSTRUCTIONPERSONCODE");
+                strSQL.Append(", C1.DEPARTMENTSTRING");
+                strSQL.Append(", B1.PERSONNAME");
+                strSQL.Append(", D1.EXPENSESRAITO");
+                strSQL.Append(", D2.EXPENSESRAITO");
+                strSQL.Append(", D3.EXPENSESRAITO");
+                strSQL.Append(", E1.DETAILSTRING");
+                strSQL.Append(", B1.DISPLAYORDER");
+                strSQL.Append(", A.ORDERDATE");
+                strSQL.Append(", Budget.GroupCount");
+                strSQL.Append(", Budget.LineCount");
+                strSQL.Append(", Budget.ExecutionAmount");
+                strSQL.Append(", Budget.AmountConfigRate");
+                strSQL.Append(", ExpName.DisplayOrder");
 
-                strSQL += string.Format(" AND A.TYINGFLG != {0}", (int)ConstructionBaseInfo.TyingFlgDef.Tying);
-                strSQL += string.Format(" AND A.JOINFLG != {0}", (int)ConstructionBaseInfo.JoinFlgDef.JoinChildren);
+                strSQL.Append(" FROM CONSTRUCTIONBASEINFO A");
 
-                strSQL += string.Format(" And ({0} <= A.ConstructionStatusFlg And A.ConstructionStatusFlg <= {1})", iCode1, iCode2);
-                strSQL += " AND B1.PERSONCODE = A.CONSTRUCTIONPERSONCODE";
-                strSQL += " AND C1.DEPARTMENTCODE = B1.DEPARTMENTCODE";
-                strSQL += " AND E1.CONSTRUCTIONCODE = A.CONSTRUCTIONCODE";
-                strSQL += string.Format(" AND E1.DETAILNO = {0}", (int)ConstructionBaseInfoDetail.DataNoDef.ConstructionName);
-                if (DepartmantCode > 0) strSQL += string.Format(" AND C1.DEPARTMENTCODE = {0}", DepartmantCode);
-                if (PersonCode > 0) strSQL += string.Format(" AND B1.PERSONCODE = {0}", PersonCode);
-                strSQL += ")";
-                strSQL += " ORDER BY 1, 12, 2";
+                strSQL.Append(" LEFT JOIN constructionbudgetdetail AS Budget");
+                strSQL.Append(" ON Budget.ConstructionCode = A.ConstructionCode");
+                strSQL.AppendFormat(" And Budget.GroupCount = {0}", (int)FrmConstructionBudget.DataGroup.Expenses);
 
+                strSQL.Append(" LEFT JOIN divisionmaster AS ExpName");
+                strSQL.AppendFormat(" ON ExpName.DivisionCode = {0}", (int)DivisionMaster.DivisionMasterCodeDefine.ConstructionExpenses);
+                strSQL.Append(" And ExpName.NameCode = Budget.ComponentCode");
+
+                strSQL.Append(", PERSONINCHARGEMASTER B1");
+                strSQL.Append(", DEPARTMENTMASTER C1");
+                strSQL.AppendFormat(" LEFT JOIN DEPARTMENTEXPENSESMASTER D1 ON D1.DEPARTMENTCODE = C1.DEPARTMENTCODE AND D1.EXPENSESPERIOD = {0} AND D1.NameCode = 3", SelectPeriod);
+                strSQL.AppendFormat(" LEFT JOIN DEPARTMENTEXPENSESMASTER D2 ON D2.DEPARTMENTCODE = C1.DEPARTMENTCODE AND D2.EXPENSESPERIOD = {0} AND D2.NameCode = 2", SelectPeriod);
+                strSQL.AppendFormat(" LEFT JOIN DEPARTMENTEXPENSESMASTER D3 ON D3.DEPARTMENTCODE = C1.DEPARTMENTCODE AND D3.EXPENSESPERIOD = {0} AND D3.NameCode = 1", SelectPeriod);
+                strSQL.Append(", CONSTRUCTIONBASEINFODETAIL E1");
+                strSQL.Append(" WHERE NOT EXISTS (SELECT * FROM CONSTRUCTIONLEDGER A1 WHERE A1.CONSTRUCTIONCODE = A.CONSTRUCTIONCODE)");
+                strSQL.AppendFormat(" AND A.CONSTRUCTIONPERIOD = {0}", SelectPeriod);
+
+                strSQL.AppendFormat(" AND A.TYINGFLG != {0}", (int)ConstructionBaseInfo.TyingFlgDef.Tying);
+                strSQL.AppendFormat(" AND A.JOINFLG != {0}", (int)ConstructionBaseInfo.JoinFlgDef.JoinChildren);
+
+                strSQL.AppendFormat(" And ({0} <= A.ConstructionStatusFlg And A.ConstructionStatusFlg <= {1})", iCode1, iCode2);
+                strSQL.Append(" AND B1.PERSONCODE = A.CONSTRUCTIONPERSONCODE");
+                strSQL.Append(" AND C1.DEPARTMENTCODE = B1.DEPARTMENTCODE");
+                strSQL.Append(" AND E1.CONSTRUCTIONCODE = A.CONSTRUCTIONCODE");
+                strSQL.AppendFormat(" AND E1.DETAILNO = {0}", (int)ConstructionBaseInfoDetail.DataNoDef.ConstructionName);
+                if (DepartmantCode > 0) strSQL.AppendFormat(" AND C1.DEPARTMENTCODE = {0}", DepartmantCode);
+                if (PersonCode > 0) strSQL.AppendFormat(" AND B1.PERSONCODE = {0}", PersonCode);
+                strSQL.Append(")");
+                strSQL.Append(" ORDER BY 1, 12, 2, 18");
+
                 ArrayList DatArList = new ArrayList();
-                if (!BaseDB.ExecuteReader(strSQL, ref DatArList)) return;
+                if (!BaseDB.ExecuteReader(strSQL.ToString(), ref DatArList)) return;
                 if (DatArList.Count == 0) return;
 
                 int ino = 1;
                 bool FirstFlg = true;
                 string BreakKey = string.Empty;
-                foreach (object[] objGetArry in DatArList)
+                string workDepName = string.Empty;
+                int ConstrCode = 0;
+                int ConstrStatus = 0;
+                long OrdersDecisionPrice = 0;
+                long[] ExpensesVal = new long[3];
+                string [] strValue = new string[2];
+                DateTime dtOrderDate = DateTime.Now;
+
+                for (int nDataCount = 0; nDataCount < DatArList.Count; nDataCount++)
                 {
-                    int ConstrStatus = CommonMotions.cnvInt(objGetArry[(int)DetilData.ConstructionStatusFlg]);          // Ž{�H�ó‘Ôƒtƒ‰ƒO
-                    int OrdersDecisionPrice = CommonMotions.cnvInt(objGetArry[(int)DetilData.OrdersDecisionPrice]);     // Žó’�‹àŠz
-                    double ExpensesRaito1 = CommonMotions.cnvDouble(objGetArry[(int)DetilData.ExpensesRaito1]) / 100.0; // ‰ïŽÐŒo”ï
-                    double ExpensesRaito2 = CommonMotions.cnvDouble(objGetArry[(int)DetilData.ExpensesRaito2]) / 100.0; // •”��Œo”ï
-                    double ExpensesRaito3 = CommonMotions.cnvDouble(objGetArry[(int)DetilData.ExpensesRaito3]) / 100.0; // ‰c‹ÆŒo”ï
+                    object[] objGetArry = (object[])DatArList[nDataCount];
 
-                    string workDepName = CommonMotions.cnvString(objGetArry[(int)DetilData.DepartmentString]);
+                    // �HŽ–”Ô�†Žæ“¾
+                    ConstrCode = CommonMotions.cnvInt(objGetArry[(int)DetilData.ConstructionCode]);
+                    Array.Clear(ExpensesVal, 0, ExpensesVal.Length);
+
+                    // Žæ“¾ƒf�[ƒ^Œ��”
+                    int DataCnt = DatArList.Cast<object[]>().Where(x => CommonMotions.cnvInt(x[(int)DetilData.ConstructionCode]) == ConstrCode).Count();
+
+                    if (DataCnt == 1)
+                    {
+                        SetNotCreatedOneceRow(objGetArry
+                                                , ref ConstrStatus
+                                                , ref OrdersDecisionPrice
+                                                , ref ExpensesVal
+                                                , ref workDepName
+                                                , ref strValue
+                                                , ref dtOrderDate);
+                    }
+                    else
+                    {
+                        SetNotCreatedMultiRow(DatArList
+                                                , ConstrCode
+                                                , ref ConstrStatus
+                                                , ref OrdersDecisionPrice
+                                                , ref ExpensesVal
+                                                , ref workDepName
+                                                , ref strValue
+                                                , ref dtOrderDate
+                                                , ref nDataCount);
+                    }
+
                     if (!BreakKey.Equals(workDepName))
                     {
                         if (!FirstFlg) dgv.Rows.Add(1);
@@ -206,23 +280,28 @@
                         FirstFlg = false;
                         BreakKey = workDepName;
                     }
+                    else
+                    {
+                        workDepName = string.Empty;
+                    }
+
                     dgv.Rows.Add((ino++)
-                                    , CommonMotions.cnvString(objGetArry[(int)DetilData.DepartmentString])      // •”��–¼
-                                    , CommonMotions.cnvString(objGetArry[(int)DetilData.PersonName])            // ’S“–ŽÒ–¼
-                                    , CommonMotions.cnvInt(objGetArry[(int)DetilData.ConstructionCode])         // �HŽ–”Ô�†
-                                    , CommonMotions.cnvString(objGetArry[(int)DetilData.ConstrName])            // �HŽ––¼�Ì
-                                    , CommonMotions.cnvDate(objGetArry[(int)DetilData.OrderDate]).ToShortDateString()   // Žó’�“ú
-                                    , CommonDefine.ProjectsStatus[ConstrStatus]                                 // Ž{�H�ó‘Ô
-                                    , OrdersDecisionPrice.ToString("#,0")                                       // Žó’�‹àŠz
-                                    , (OrdersDecisionPrice * ExpensesRaito1).ToString("#,0")                    // ‰ïŽÐŒo”ï
-                                    , (OrdersDecisionPrice * ExpensesRaito2).ToString("#,0")                    // •”��Œo”ï
-                                    , (OrdersDecisionPrice * ExpensesRaito3).ToString("#,0")                    // ‰c‹ÆŒo”ï
+                                    , workDepName                                   // •”��–¼
+                                    , strValue[0]                                   // ’S“–ŽÒ–¼
+                                    , ConstrCode                                    // �HŽ–”Ô�†
+                                    , strValue[1]                                   // �HŽ––¼�Ì
+                                    , dtOrderDate.ToShortDateString()               // Žó’�“ú
+                                    , CommonDefine.ProjectsStatus[ConstrStatus]     // Ž{�H�ó‘Ô
+                                    , OrdersDecisionPrice.ToString("#,0")           // Žó’�‹àŠz
+                                    , ExpensesVal[0].ToString("#,0")                // ‰ïŽÐŒo”ï
+                                    , ExpensesVal[1].ToString("#,0")                // •”��Œo”ï
+                                    , ExpensesVal[2].ToString("#,0")                // ‰c‹ÆŒo”ï
                                 );
 
-                    CurTotalArea[(int)GridColumn.OrdersPrice] += OrdersDecisionPrice;                                  // Žó’�‹àŠz
-                    CurTotalArea[(int)GridColumn.CompanyExpeses] += (int)(OrdersDecisionPrice * ExpensesRaito1);       // ‰ïŽÐŒo”ï
-                    CurTotalArea[(int)GridColumn.DepartmentExpeses] += (int)(OrdersDecisionPrice * ExpensesRaito2);    // •”��Œo”ï
-                    CurTotalArea[(int)GridColumn.SaleseExpeses] += (int)(OrdersDecisionPrice * ExpensesRaito3);        // ‰c‹ÆŒo”ï
+                    CurTotalArea[(int)GridColumn.OrdersPrice] += OrdersDecisionPrice;                                   // Žó’�‹àŠz
+                    CurTotalArea[(int)GridColumn.CompanyExpeses] += ExpensesVal[0];                                     // ‰ïŽÐŒo”ï
+                    CurTotalArea[(int)GridColumn.DepartmentExpeses] += ExpensesVal[1];                                  // •”��Œo”ï
+                    CurTotalArea[(int)GridColumn.SaleseExpeses] += ExpensesVal[2];                                      // ‰c‹ÆŒo”ï
                 }
 
                 m_TotalArea[(int)GridColumn.OrdersPrice] += CurTotalArea[(int)GridColumn.OrdersPrice];
@@ -244,6 +323,98 @@
         }
         #endregion
 
+        #region –¢�ì�¬‘ä’ ‚P�s�ˆ—�
+        /// <summary>
+        /// –¢�ì�¬‘ä’ ‚P�s�ˆ—�
+        /// </summary>
+        private void SetNotCreatedOneceRow(object[] objGetArry
+                                            , ref int ConstrStatus
+                                            , ref long OrdersDecisionPrice
+                                            , ref long[] ExpensesVal
+                                            , ref string DepName
+                                            , ref string[] strValue
+                                            , ref DateTime dtOrderDate)
+        {
+            try
+            {
+                ConstrStatus = CommonMotions.cnvInt(objGetArry[(int)DetilData.ConstructionStatusFlg]);                  // Ž{�H�ó‘Ôƒtƒ‰ƒO
+                OrdersDecisionPrice = CommonMotions.cnvLong(objGetArry[(int)DetilData.OrdersDecisionPrice]);            // Žó’�‹àŠz
+                double ExpensesRaito1 = CommonMotions.cnvDouble(objGetArry[(int)DetilData.ExpensesRaito1]) / 100.0;     // ‰ïŽÐŒo”ï
+                double ExpensesRaito2 = CommonMotions.cnvDouble(objGetArry[(int)DetilData.ExpensesRaito2]) / 100.0;     // •”��Œo”ï
+                double ExpensesRaito3 = CommonMotions.cnvDouble(objGetArry[(int)DetilData.ExpensesRaito3]) / 100.0;     // ‰c‹ÆŒo”ï
+                ExpensesVal[0] = CommonMotions.cnvRound(OrdersDecisionPrice * ExpensesRaito1);
+                ExpensesVal[1] = CommonMotions.cnvRound(OrdersDecisionPrice * ExpensesRaito2);
+                ExpensesVal[2] = CommonMotions.cnvRound(OrdersDecisionPrice * ExpensesRaito3);
+
+                DepName = CommonMotions.cnvString(objGetArry[(int)DetilData.DepartmentString]);                         // •”��–¼�Ì
+
+                strValue[0] = CommonMotions.cnvString(objGetArry[(int)DetilData.PersonName]);                           // ’S“–ŽÒ–¼
+                strValue[1] = CommonMotions.cnvString(objGetArry[(int)DetilData.ConstrName]);                           // �HŽ––¼�Ì
+
+                dtOrderDate = CommonMotions.cnvDate(objGetArry[(int)DetilData.OrderDate]);                              // Žó’�“ú
+            }
+            catch (System.Exception ex)
+            {
+                logger.ErrorFormat("ƒVƒXƒeƒ€ƒGƒ‰�[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
+        #region –¢�ì�¬‘ä’ •¡�”�s�ˆ—�
+        /// <summary>
+        /// –¢�ì�¬‘ä’ •¡�”�s�ˆ—�
+        /// </summary>
+        private void SetNotCreatedMultiRow(ArrayList DatArList
+                                            , int ConstrCode
+                                            , ref int ConstrStatus
+                                            , ref long OrdersDecisionPrice
+                                            , ref long[] ExpensesVal
+                                            , ref string DepName
+                                            , ref string[] strValue
+                                            , ref DateTime dtOrderDate
+                                            , ref int nDataCount)
+        {
+            try
+            {
+                object[] TargetData = DatArList.Cast<object[]>().Where(x => CommonMotions.cnvInt(x[(int)DetilData.ConstructionCode]) == ConstrCode).ToArray();
+
+                object[] FirstRec = (object[])TargetData[0];
+
+                ConstrStatus = CommonMotions.cnvInt(FirstRec[(int)DetilData.ConstructionStatusFlg]);                    // Ž{�H�ó‘Ôƒtƒ‰ƒO
+                OrdersDecisionPrice = CommonMotions.cnvLong(FirstRec[(int)DetilData.OrdersDecisionPrice]);              // Žó’�‹àŠz
+                DepName = CommonMotions.cnvString(FirstRec[(int)DetilData.DepartmentString]);                           // •”��–¼�Ì
+                strValue[0] = CommonMotions.cnvString(FirstRec[(int)DetilData.PersonName]);                             // ’S“–ŽÒ–¼
+                strValue[1] = CommonMotions.cnvString(FirstRec[(int)DetilData.ConstrName]);                             // �HŽ––¼�Ì
+                dtOrderDate = CommonMotions.cnvDate(FirstRec[(int)DetilData.OrderDate]);                                // Žó’�“ú
+
+                for (int i = 0; i < TargetData.Length; i++)
+                {
+                    if (i < m_ExpensesMasterCount)
+                    {
+                        object[] objRec = (object[])TargetData[i];
+                        switch (i)
+                        {
+                            case 0:
+                                ExpensesVal[0] = CommonMotions.cnvLong(objRec[(int)DetilData.ExecutionAmount]);
+                                break;
+                            case 1:
+                                ExpensesVal[2] = CommonMotions.cnvLong(objRec[(int)DetilData.ExecutionAmount]);
+                                break;
+                            case 2:
+                                ExpensesVal[1] = CommonMotions.cnvLong(objRec[(int)DetilData.ExecutionAmount]);
+                                break;
+                        }
+                        if (i != 0) nDataCount++;
+                    }
+                }
+            }
+            catch (System.Exception ex)
+            {
+                logger.ErrorFormat("ƒVƒXƒeƒ€ƒGƒ‰�[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
         #region ‘ä’ ƒf�[ƒ^•\Ž¦
         /// <summary>
         /// ‘ä’ ƒf�[ƒ^•\Ž¦�ˆ—�
@@ -279,7 +450,7 @@
 
                 // �‡ŒvƒGƒŠƒA�‰Šú‰»
                 int TotalColCnt = Enum.GetNames(typeof(GridColumn)).Length;
-                int[] CurTotalArea = new int[TotalColCnt];
+                long[] CurTotalArea = new long[TotalColCnt];
                 Array.Clear(CurTotalArea, 0, CurTotalArea.Length);
 
                 int CompFlg = -1;
@@ -342,7 +513,7 @@
         /// <summary>
         /// �‡Œv‚ð•\Ž¦‚·‚é
         /// </summary>
-        private void DisplayTotalRow(int TitleNo, int[] TotalArea, bool AddBrankRow = true)
+        private void DisplayTotalRow(int TitleNo, long[] TotalArea, bool AddBrankRow = true)
         {
             try
             {
@@ -373,7 +544,7 @@
         /// <summary>
         /// ‚O‚Ì�‡Œv‚ð•\Ž¦‚·‚é
         /// </summary>
-        private void InsertZeroTotalRow(int TitleNo, int[] TotalArea)
+        private void InsertZeroTotalRow(int TitleNo, long[] TotalArea)
         {
             try
             {
Index: branches/src/ProcessManagement/ProcessManagement/Properties/AssemblyInfo.cs
===================================================================
--- branches/src/ProcessManagement/ProcessManagement/Properties/AssemblyInfo.cs	(revision 287)
+++ branches/src/ProcessManagement/ProcessManagement/Properties/AssemblyInfo.cs	(revision 288)
@@ -32,7 +32,7 @@
 // ã�™ã�¹ã�¦ã�®å€¤ã‚’æŒ‡å®šã�™ã‚‹ã�‹ã€�ä¸‹ã�®ã‚ˆã�†ã�« '*' ã‚’ä½¿ã�£ã�¦ãƒ“ãƒ«ãƒ‰ã�Šã‚ˆã�³ãƒªãƒ“ã‚¸ãƒ§ãƒ³ç•ªå�·ã‚’ 
 // æ—¢å®šå€¤ã�«ã�™ã‚‹ã�“ã�¨ã�Œã�§ã��ã�¾ã�™:
 // [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.98")]
-[assembly: AssemblyFileVersion("1.0.0.98")]
+[assembly: AssemblyVersion("1.0.0.99")]
+[assembly: AssemblyFileVersion("1.0.0.99")]
 // Log4netã‚’ä½¿ç”¨ã�™ã‚‹
 [assembly: log4net.Config.XmlConfigurator(ConfigFile = @"log4net.config", Watch = true)]
\ No newline at end of file
