Index: trunk/src/ProcessManagement/ProcessManagement/Common/CommonMotions.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Common/CommonMotions.cs	(revision 421)
+++ trunk/src/ProcessManagement/ProcessManagement/Common/CommonMotions.cs	(revision 422)
@@ -3719,6 +3719,8 @@
 
                     strSQL.AppendFormat(" And DATE(A.StartDate) <= DATE('{0}')", dtDefaultEnd.ToShortDateString());
                     if (!bInput) strSQL.Append(" And C.ConstrDepCode = A.DepartmentCode");
+                    // é–‹å§‹æ—¥ã�Œä»Šæ—¥ã‚ˆã‚Šå°�ã�•ã�„
+                    strSQL.AppendFormat(" And DATE(A.StartDate) <= DATE('{0}')", DateTime.Today.ToShortDateString());
 
                     // ã‚·ã‚¹ãƒ†ãƒ ç®¡ç�†è€…ä»¥å¤–ã�¯éƒ¨ç½²å�‚ç…§ãƒžã‚¹ã‚¿ã‚ˆã‚Šãƒ‡ãƒ¼ã‚¿å�–å¾—
                     if (CommonMotions.LoginUserData.PersonCode != CommonDefine.AdminCode)
@@ -3776,6 +3778,9 @@
                 strSQL.AppendFormat(" AND(DATE('{0}') <= DATE(B.CompDate)", dtDefaultStart.ToShortDateString());
                 strSQL.AppendFormat(" OR DATE('{0}') = DATE(B.CompDate)))", DateTime.MinValue.ToShortDateString());
 
+                // é–‹å§‹æ—¥ã�Œä»Šæ—¥ã‚ˆã‚Šå°�ã�•ã�„
+                strSQL.AppendFormat(" And DATE(A.StartDate) <= DATE('{0}')", DateTime.Today.ToShortDateString());
+
                 if (nDepCode > 0) strSQL.AppendFormat(" AND (B.DEPARTMENTCODE = {0})", nDepCode);
 
                 // ä»ŠæœŸã�®ãƒ‡ãƒ¼ã‚¿ã�‹ã�©ã�†ã�‹ã‚’åˆ¤å®šã�™ã‚‹
Index: trunk/src/ProcessManagement/ProcessManagement/DataModel/RequestDataDetail.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/DataModel/RequestDataDetail.cs	(revision 421)
+++ trunk/src/ProcessManagement/ProcessManagement/DataModel/RequestDataDetail.cs	(revision 422)
@@ -11,6 +11,23 @@
     /// </summary>
     public class RequestDataDetail
     {
+        #region å®šæ•°
+        /// <summary>
+        /// å·¥äº‹åŒºåˆ†å®šç¾©
+        /// </summary>
+        public enum ConstructionKindDef
+        {
+            /// <summary>
+            /// 0:æœ¬å·¥äº‹
+            /// </summary>
+            Original = 0,
+            /// <summary>
+            /// 1:è¿½åŠ å·¥äº‹ï¼ˆå¢—æ¸›å·¥äº‹ï¼‰
+            /// </summary>
+            Additional,
+        }
+        #endregion
+
         #region ãƒ¡ãƒ³ãƒ�å¤‰æ•°
         private int         m_RequestNo = 0;                    // è«‹æ±‚No
         private int         m_MainConstructionCode = 0;         // æœ¬å·¥äº‹ç•ªå�·
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBaseInfo/FrmConstructionBaseInfoAuxiliary.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBaseInfo/FrmConstructionBaseInfoAuxiliary.cs	(revision 421)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBaseInfo/FrmConstructionBaseInfoAuxiliary.cs	(revision 422)
@@ -5335,9 +5335,59 @@
             rdbStatus13.Text = CommonDefine.ProjectsStatus[(int)CommonDefine.StatNumArray.Status13];    // ’S“–ŽÒ“ü‹àŠm”FŠ®—¹
             rdbStatus16.Text = CommonDefine.ProjectsStatus[(int)CommonDefine.StatNumArray.Status16];    // ‹ó‰Æ•â�C�HŽ–
             rdbStatus17.Text = CommonDefine.ProjectsStatus[(int)CommonDefine.StatNumArray.Status17];    // Hit'sV�HŽ–
+
+            switch (ProductDefine.ProductType)
+            {
+                case (int)ProductDefine.ProductTypeDef.Originals:
+                    // ----- ƒIƒŠƒWƒiƒ‹”Å
+                    break;
+                case (int)ProductDefine.ProductTypeDef.MassProductionType1:
+                    // ----- �»•i”Å
+                    // ”ñ•\Ž¦
+                    rdbStatus8.Visible = false;         // ˆê”Ê•â�C�HŽ–
+                    rdbStatus12.Visible = false;        // ‘�–±“ü‹àŠm”F
+                    rdbStatus13.Visible = false;        // ’S“–ŽÒ“ü‹àŠm”FŠ®—¹
+                    rdbStatus16.Visible = false;        // ‹ó‰Æ•â�C�HŽ–
+                    rdbStatus17.Visible = false;        // Hit'sV�HŽ–
+
+                    // ˆÊ’u�‡‚í‚¹
+                    // Ž{�HŠJŽn
+                    SetProductRadioButton(rdbStatus0, rdbStatus1);      // Œ©�Ï’ñ�o
+                    SetProductRadioButton(rdbStatus1, rdbStatus11);     // ‰¼ Žó ’�
+                    SetProductRadioButton(rdbStatus11, rdbStatus2);     // Žó�@�@’�
+                    SetProductRadioButton(rdbStatus2, rdbStatus3);      // ”ñ Žó ’�
+                    SetProductRadioButton(rdbStatus3, rdbStatus4);      // •”��ˆøŒp
+                    SetProductRadioButton(rdbStatus4, rdbStatus5);      // Ž{�H�€”õ
+                    SetProductRadioButton(rdbStatus5, rdbStatus6);      // Ž{�HŠJŽn
+                    SetProductRadioButton(rdbStatus6, rdbStatus7);      // Ž{�HŠ®—¹
+                    SetProductRadioButton(rdbStatus4, rdbStatus9);      // �¿‹��€”õ
+                    SetProductRadioButton(rdbStatus6, rdbStatus10);     // �¿‹�Šm”F
+                    break;
+                default:
+                    break;
+            }
         }
         #endregion
 
+        #region �»•i”Åƒ‰ƒWƒIƒ{ƒ^ƒ“ƒZƒbƒg�ˆ—�
+        /// <summary>
+        /// �»•i”Åƒ‰ƒWƒIƒ{ƒ^ƒ“ƒZƒbƒg�ˆ—�
+        /// </summary>
+        private void SetProductRadioButton(RadioButton radio1, RadioButton radio2)
+        {
+            try
+            {
+                Point wrkPO = radio2.Location;
+                wrkPO.X = radio1.Location.X + 120;
+                radio2.Location = wrkPO;
+            }
+            catch (Exception ex)
+            {
+                logger.ErrorFormat("ƒVƒXƒeƒ€ƒGƒ‰�[�F{0}�F{1}", CommonMotions.GetMethodName(), ex.Message);
+            }
+        }
+        #endregion
+
         #region �i’»�ó‘ÔŽæ“¾
         /// <summary>
         /// �i’»�ó‘Ôƒ`ƒFƒbƒNƒ{ƒbƒNƒX‚æ‚è�ó‘Ô‚ð‚Æ‚é
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBudget/FrmConstructionBudget.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBudget/FrmConstructionBudget.cs	(revision 421)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBudget/FrmConstructionBudget.cs	(revision 422)
@@ -740,13 +740,25 @@
                     return;
                 }
 
-                // •”��‚²‚Æ‚ÌŒo”ï‚ðŽæ“¾‚·‚é
-                if (!GetExpensesList())
+                // ƒIƒŠƒWƒiƒ‹‚Í16Šú‚æ‚è‘O‚Í‚ÍŒo”ïŒÅ’è
+                if (ProductDefine.ProductType == (int)ProductDefine.ProductTypeDef.Originals
+                        && m_ConstructionBaseInfo.ConstructionPeriod < 16)
                 {
-                    MessageBox.Show("Œo”ï‚ª�Ý’è‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ‚µ‚Ü‚¹‚ñ", "ƒGƒ‰�[•\Ž¦", MessageBoxButtons.OK, MessageBoxIcon.Error);
-                    this.Close();
-                    return;
+                    m_ExpensesList.Add(new object[] { CommonDefine.BeforeExpenses[0].Key, CommonDefine.BeforeExpenses[0].Value });
+                    m_ExpensesList.Add(new object[] { CommonDefine.BeforeExpenses[1].Key, CommonDefine.BeforeExpenses[1].Value });
+                    m_ExpensesList.Add(new object[] { CommonDefine.BeforeExpenses[2].Key, CommonDefine.BeforeExpenses[2].Value });
                 }
+                else
+                {
+                    // �»•i”Å‚»‚Ì‘¼
+                    // •”��‚²‚Æ‚ÌŒo”ï‚ðŽæ“¾‚·‚é
+                    if (!GetExpensesList())
+                    {
+                        MessageBox.Show("Œo”ï‚ª�Ý’è‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ‚µ‚Ü‚¹‚ñ", "ƒGƒ‰�[•\Ž¦", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                        this.Close();
+                        return;
+                    }
+                }
 
                 // �‰Šú�Ý’è
                 InitSettingLoad();
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBudget/FrmConstructionBudgetAuxiliary.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBudget/FrmConstructionBudgetAuxiliary.cs	(revision 421)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBudget/FrmConstructionBudgetAuxiliary.cs	(revision 422)
@@ -1533,15 +1533,25 @@
                 // ç²—åˆ©ç›Šè¡Œä½œæˆ�
                 CreateGrossProfit(true);
 
-                // æŒ‡å°Žå“¡çµ¦ä¸Ž
-                CreateInstructorCosts(true);
+                // ã‚ªãƒªã‚¸ãƒŠãƒ«ã�®16æœŸã‚ˆã‚Šå‰�ã�¯äººä»¶è²»é‡‘é¡�ã‚’è¡¨ç¤ºã�—ã�ªã�„
+                if (ProductDefine.ProductType == (int)ProductDefine.ProductTypeDef.Originals
+                    && m_ConstructionBaseInfo.ConstructionPeriod < 16)
+                {
 
-                // å‰¯æ‹…å½“è€…çµ¦ä¸ŽçµŒè²»
-                CreateAssistantCosts(true);
+                }
+                else
+                {
+                    // è£½å“�ç‰ˆã��ã�®ä»–ã�¯äººä»¶è²»é‡‘é¡�ã‚’è¡¨ç¤ºã�™ã‚‹
+                    // æŒ‡å°Žå“¡çµ¦ä¸Ž
+                    CreateInstructorCosts(true);
 
-                // æ‹…å½“è€…çµ¦ä¸ŽçµŒè²»
-                CreatePayrollCosts(true);
+                    // å‰¯æ‹…å½“è€…çµ¦ä¸ŽçµŒè²»
+                    CreateAssistantCosts(true);
 
+                    // æ‹…å½“è€…çµ¦ä¸ŽçµŒè²»
+                    CreatePayrollCosts(true);
+                }
+
                 // ç²—åˆ©ç›Šè¡Œè¨ˆç®—
                 CreateGrossProfit(false);
 
@@ -3081,6 +3091,9 @@
         {
 
             DataGridViewEX dgv = dgvAllDisplay;
+            // 16æœŸä»¥é™�ã�¯è¡¨ç¤ºã�™ã‚‹
+            if (ProductDefine.ProductType == (int)ProductDefine.ProductTypeDef.Originals 
+                && m_ConstructionBaseInfo.ConstructionPeriod < 16) return;
 
             int AssistantLine = m_CostsRowCount[(int)CostsRowLine.AssistantRowLine];
             if (AssistantLine == 0) return;
@@ -3236,6 +3249,9 @@
         {
 
             DataGridViewEX dgv = dgvAllDisplay;
+            // 16æœŸä»¥é™�ã�¯ã�¯è¡¨ç¤ºã�™ã‚‹
+            if (ProductDefine.ProductType == (int)ProductDefine.ProductTypeDef.Originals
+                && m_ConstructionBaseInfo.ConstructionPeriod < 16) return;
 
             int InstructorLine = m_CostsRowCount[(int)CostsRowLine.InstructorRowLine];
             if (InstructorLine == 0) return;
@@ -3458,6 +3474,10 @@
                     }
                 }
 
+                // 16æœŸä»¥é™�ã�¯çµ¦ä¸Žã‚’è¡¨ç¤ºã�™ã‚‹
+                if (ProductDefine.ProductType == (int)ProductDefine.ProductTypeDef.Originals 
+                    && m_ConstructionBaseInfo.ConstructionPeriod < 16) return;
+
                 // å�—æ³¨é‡‘é¡�
                 //double OrdersPrice = CommonMotions.cnvDouble(m_DspLabelCtrl[(int)DspLblCtrlName.OrdersPrice].Text);
                 // å·¥æœŸå�–å¾—
@@ -3567,6 +3587,9 @@
         private void GetCreatorLineValue(ref int CreatorHope, ref int CreatorExec)
         {
             DataGridViewEX dgv = dgvAllDisplay;
+            // 16æœŸä»¥é™�ã�®ã�¿å‡¦ç�†ã�™ã‚‹
+            if (ProductDefine.ProductType == (int)ProductDefine.ProductTypeDef.Originals 
+                && m_ConstructionBaseInfo.ConstructionPeriod < 16) return;
 
             int CreatorLine = m_CostsRowCount[(int)CostsRowLine.ConstructorRowLine];
             if (CreatorLine == 0) return;
@@ -3586,6 +3609,10 @@
             {
                 DataGridViewEX dgv = dgvAllDisplay;
 
+                // 16æœŸä»¥é™�ã�¯çµ¦ä¸Žã‚’è¡¨ç¤ºã�™ã‚‹
+                if (ProductDefine.ProductType == (int)ProductDefine.ProductTypeDef.Originals 
+                    && m_ConstructionBaseInfo.ConstructionPeriod < 16) return;
+
                 // å�—æ³¨é‡‘é¡�å�–å¾—
                 int OrdersPrice = CommonMotions.cnvInt(m_DspLabelCtrl[(int)DspLblCtrlName.OrdersPrice].Text.Replace("\\", ""));
 
@@ -3666,6 +3693,10 @@
         {
             try
             {
+                // 16æœŸä»¥é™�ã�¯çµ¦ä¸Žã‚’è¡¨ç¤ºã�™ã‚‹
+                if (ProductDefine.ProductType == (int)ProductDefine.ProductTypeDef.Originals 
+                    && m_ConstructionBaseInfo.ConstructionPeriod < 16) return;
+
                 // è¡Œä½�ç½®å�–å¾—
                 DataGridViewEX dgv = dgvAllDisplay;
                 int LineCnt = m_CostsRowCount[RowArrayCount];
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBudget/ProcessControl.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBudget/ProcessControl.cs	(revision 421)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionBudget/ProcessControl.cs	(revision 422)
@@ -978,7 +978,15 @@
                     if (DataChange)
                     {
                         GetBaseInfoData();
-                        GetExpensesList();
+                        // ã‚ªãƒªã‚¸ãƒŠãƒ«ã�¯16æœŸã‚ˆã‚Šå‰�ã�¯ã�¯çµŒè²»å›ºå®š
+                        if (ProductDefine.ProductType == (int)ProductDefine.ProductTypeDef.Originals
+                                && m_ConstructionBaseInfo.ConstructionPeriod < 16)
+                        {
+                        }
+                        else
+                        {
+                            GetExpensesList();
+                        }
                         InitDataLoad();
                     }
                 }
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedger/FrmConstructionLedger.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedger/FrmConstructionLedger.cs	(revision 421)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedger/FrmConstructionLedger.cs	(revision 422)
@@ -1038,12 +1038,24 @@
                     return;
                 }
 
-                // •”��‚²‚Æ‚ÌŒo”ï‚ðŽæ“¾‚·‚é
-                if (!GetExpensesList())
+                // 16ŠúˆÈ‘O‚ÍŒÅ’èŒo”ï
+                if (ProductDefine.ProductType == (int)ProductDefine.ProductTypeDef.Originals
+                    && m_ConstructionBaseInfo.ConstructionPeriod < 16)
+                {   // ŒÅ’èŒo”ï—¦‚ðŽæ“¾‚·‚é
+                    m_ExpensesList.Add(new object[] { CommonDefine.BeforeExpenses[0].Key, CommonDefine.BeforeExpenses[0].Value });
+                    m_ExpensesList.Add(new object[] { CommonDefine.BeforeExpenses[1].Key, CommonDefine.BeforeExpenses[1].Value });
+                    m_ExpensesList.Add(new object[] { CommonDefine.BeforeExpenses[2].Key, CommonDefine.BeforeExpenses[2].Value });
+                }
+                else
                 {
-                    MessageBox.Show("Œo”ï‚ª�Ý’è‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ‚µ‚Ü‚¹‚ñ", "ƒGƒ‰�[•\Ž¦", MessageBoxButtons.OK, MessageBoxIcon.Error);
-                    this.Close();
-                    return;
+                    // 16ŠúˆÈ�~‚Í•”��‚²‚Æ‚ÉŒo”ï‚ð�Ý’è‚·‚é
+                    // •”��‚²‚Æ‚ÌŒo”ï‚ðŽæ“¾‚·‚é
+                    if (!GetExpensesList())
+                    {
+                        MessageBox.Show("Œo”ï‚ª�Ý’è‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ‚µ‚Ü‚¹‚ñ", "ƒGƒ‰�[•\Ž¦", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                        this.Close();
+                        return;
+                    }
                 }
 
                 // �‰Šú�Ý’è
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedger/FrmConstructionLedgerAuxiliary.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedger/FrmConstructionLedgerAuxiliary.cs	(revision 421)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedger/FrmConstructionLedgerAuxiliary.cs	(revision 422)
@@ -1570,9 +1570,18 @@
                 // ç©ºç™½è¡Œ
                 AddEmptyRow();
 
-                // å·¥äº‹äºˆç®—æ›¸ã‚ˆã‚Šäººä»¶è²»ãƒ–ãƒ­ãƒƒã‚¯ã‚’å�–ã‚Šè¾¼ã‚€
-                DispDataFromConstructionBudget4(DetailList);
+                // 16æœŸä»¥é™�ã�¯çµ¦ä¸Žã‚’è¡¨ç¤ºã�™ã‚‹
+                if (ProductDefine.ProductType == (int)ProductDefine.ProductTypeDef.Originals
+                    && m_ConstructionBaseInfo.ConstructionPeriod < 16)
+                {
 
+                }
+                else
+                {
+                    // å·¥äº‹äºˆç®—æ›¸ã‚ˆã‚Šäººä»¶è²»ãƒ–ãƒ­ãƒƒã‚¯ã‚’å�–ã‚Šè¾¼ã‚€
+                    DispDataFromConstructionBudget4(DetailList);
+                }
+
                 // ç©ºç™½è¡Œ
                 AddEmptyRow();
 
@@ -3850,6 +3859,12 @@
 
                         case (int)DataGroup.Assistant:               // å‰¯æ‹…å½“
                         case (int)DataGroup.Payroll:                 // å·¥äº‹æ‹…å½“
+                            // ä¸€èˆ¬ãƒ¦ãƒ¼ã‚¶ãƒ¼ã�¯è¡Œãƒ­ãƒƒã‚¯
+                            if (ProductDefine.ProductType == (int)ProductDefine.ProductTypeDef.Originals
+                                && m_ConstructionBaseInfo.ConstructionPeriod < 16)
+                            {
+                                CurRow.Visible = false;
+                            }
                             if (!CheckLeaderOrUser()) CurRow.ReadOnly = true;
                             // ãƒ˜ãƒƒãƒ€ãƒ¼ãƒ�ã‚§ãƒƒã‚¯ãƒœãƒƒã‚¯ã‚¹è¡¨ç¤º
                             SalaryRadioButtonCheck(DetailRec);
@@ -3856,6 +3871,12 @@
                             break;
                         case (int)DataGroup.Instructor:              // æŒ‡å°Žå“¡
                         case (int)DataGroup.NetIncome:               // ç´”åˆ©ç›Š
+                            // 16æœŸã‚ˆã‚Šå‰�ã�¯æŒ‡å°Žå“¡é‡‘é¡�ãƒ»æ‹…å½“è€…çµ¦ä¸Žãƒ»ç´”åˆ©ç›Šã‚’è¡¨ç¤ºã�—ã�ªã�„
+                            if (ProductDefine.ProductType == (int)ProductDefine.ProductTypeDef.Originals
+                                && m_ConstructionBaseInfo.ConstructionPeriod < 16)
+                            {
+                                CurRow.Visible = false;
+                            }
                             // ä¸€èˆ¬ãƒ¦ãƒ¼ã‚¶ãƒ¼ã�¯è¡Œãƒ­ãƒƒã‚¯
                             if (!CheckLeaderOrUser()) CurRow.ReadOnly = true;
                             break;
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedger/ProcessControl.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedger/ProcessControl.cs	(revision 421)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/ConstructionLedger/ProcessControl.cs	(revision 422)
@@ -978,7 +978,15 @@
                     if (DataChange)
                     {
                         GetBaseInfoData();
-                        GetExpensesList();
+                        if (ProductDefine.ProductType == (int)ProductDefine.ProductTypeDef.Originals
+                            && m_ConstructionBaseInfo.ConstructionPeriod < 16)
+                        {
+
+                        }
+                        else
+                        {
+                            GetExpensesList();
+                        }
                         InitDataLoad();
                     }
                 }
Index: trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmRequestInputAuxiliary.cs
===================================================================
--- trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmRequestInputAuxiliary.cs	(revision 421)
+++ trunk/src/ProcessManagement/ProcessManagement/Forms/DataEntry/Request/RequestInput/FrmRequestInputAuxiliary.cs	(revision 422)
@@ -1253,6 +1253,8 @@
                 m_nRequestNo = m_lstRequestHead[m_lstRequestHead.Count - 1].RequestNo;
                 m_nMaxOrderNo = m_lstRequestHead[m_lstRequestHead.Count - 1].OrderNo;
 
+                // è«‹æ±‚ãƒ‡ãƒ¼ã‚¿ãƒªã‚¹ãƒˆã�®æ§‹ç¯‰ï¼ˆï¼¤ï¼¢å�–å¾—ç”¨ï¼‰
+                List<RequestData> lstData = new List<RequestData>();
                 // è«‹æ±‚ãƒ˜ãƒƒãƒ€ãƒ¬ã‚³ãƒ¼ãƒ‰åˆ†ãƒ«ãƒ¼ãƒ—
                 foreach (RequestHead ReqHead in m_lstRequestHead)
                 {
@@ -1260,7 +1262,7 @@
                     if (ReqHead.OrderNo == m_nMaxOrderNo) break;
 
                     // è«‹æ±‚ãƒ‡ãƒ¼ã‚¿ãƒªã‚¹ãƒˆã�®æ§‹ç¯‰ï¼ˆï¼¤ï¼¢å�–å¾—ç”¨ï¼‰
-                    List<RequestData> lstData = new List<RequestData>();
+                    lstData.Clear();
 
                     // è«‹æ±‚ãƒ‡ãƒ¼ã‚¿ã�®å�–å¾—(æ¤œç´¢ã‚­ãƒ¼ã�¯è«‹æ±‚Noã�®ã�¿)
                     strSQL.Clear();
@@ -1431,7 +1433,7 @@
                         ReqDetailMain.RequestNo = nRequestNo;
                         ReqDetailMain.MainConstructionCode = nMainConstructonCode;
                         ReqDetailMain.ConstructionCode = nMainConstructonCode;
-                        ReqDetailMain.ConstructionKind = 0;
+                        ReqDetailMain.ConstructionKind = (int)RequestDataDetail.ConstructionKindDef.Original;
                     }
                     lstDetail.Add(ReqDetailMain);
 
@@ -1445,7 +1447,7 @@
                             ReqDetailSub.RequestNo = nRequestNo;
                             ReqDetailSub.MainConstructionCode = nMainConstructonCode;
                             ReqDetailSub.ConstructionCode = nConstructionCode;
-                            ReqDetailSub.ConstructionKind = 1;
+                            ReqDetailSub.ConstructionKind = (int)RequestDataDetail.ConstructionKindDef.Additional;
                         }
 
                         info = new ConstructionBaseInfo();
@@ -1689,9 +1691,9 @@
                     data = new RequestDataDetail();
 
                     // è«‹æ±‚Noã�¯ç™»éŒ²æ™‚ã�«è£�åˆ¤
-                    data.MainConstructionCode = nMainConstructionCode;          // æœ¬å·¥äº‹ç•ªå�·
-                    data.ConstructionCode = nMainConstructionCode;              // å·¥äº‹ç•ªå�·
-                    data.ConstructionKind = 0;                                  // å·¥äº‹åŒºåˆ†(=æœ¬å·¥äº‹)
+                    data.MainConstructionCode = nMainConstructionCode;                              // æœ¬å·¥äº‹ç•ªå�·
+                    data.ConstructionCode = nMainConstructionCode;                                  // å·¥äº‹ç•ªå�·
+                    data.ConstructionKind = (int)RequestDataDetail.ConstructionKindDef.Original;    // å·¥äº‹åŒºåˆ†(=æœ¬å·¥äº‹)
 
                     lstDetail.Add(data);
 
@@ -1707,9 +1709,9 @@
                         data = new RequestDataDetail();
 
                         // è«‹æ±‚Noã�¯ç™»éŒ²æ™‚ã�«è£�åˆ¤
-                        data.MainConstructionCode = nMainConstructionCode;          // æœ¬å·¥äº‹ç•ªå�·
-                        data.ConstructionCode = nConstructionCode;                  // å·¥äº‹ç•ªå�·
-                        data.ConstructionKind = 1;                                  // å·¥äº‹åŒºåˆ†(=å¢—æ¸›å·¥äº‹)
+                        data.MainConstructionCode = nMainConstructionCode;                              // æœ¬å·¥äº‹ç•ªå�·
+                        data.ConstructionCode = nConstructionCode;                                      // å·¥äº‹ç•ªå�·
+                        data.ConstructionKind = (int)RequestDataDetail.ConstructionKindDef.Additional;  // å·¥äº‹åŒºåˆ†(=å¢—æ¸›å·¥äº‹)
 
                         Dictionary<int, string> dicString = new Dictionary<int, string>();
                         GetConstructionBaseInfoDetail(nConstructionCode, ref dicString);
@@ -1967,7 +1969,7 @@
                         }
 
                         // æœ¬å·¥äº‹ã�®å ´å�ˆ
-                        if (ReqDetail.ConstructionKind == 0)
+                        if (ReqDetail.ConstructionKind == (int)RequestDataDetail.ConstructionKindDef.Original)
                         {
                             // å·¥äº‹ä»¶å��ã�¯ã€�è«‹æ±‚ãƒ‡ãƒ¼ã‚¿ã�‹ã‚‰ï¼ˆç·¨é›†å�¯ï¼‰
                             dgv1[(int)ColumnName.ConstructionName, trow].Value = ReqData.ConstructionName;
