unit rProjGatherTables;

interface

uses
  DataBaseTables;

const
  SGatherProj = 'r_GatherProj';
  tdGatherProj: array [0..9] of TScFieldDef =(
    (FieldName: 'ID'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: True; PrimaryKey: True; ForceUpdate: False),
    // 标段类型
    (FieldName: 'ProjType'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: True; PrimaryKey: True; ForceUpdate: False),
    // 标段 -- 项目管理ID
    (FieldName: 'ProjectID'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 标段 -- 名称
    (FieldName: 'ProjectName'; FieldType: ftString; Size: 255; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 标段 -- 期数
    (FieldName: 'PhaseCount'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 标段 -- 区间开始期数
    (FieldName: 'BeginPhaseIndex'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 标段 -- 区间结束期数（汇总期数）
    (FieldName: 'EndPhaseIndex'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 标段 -- 审核状态
    (FieldName: 'AuditStatus'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 标段 -- 父节点 -- 名称
    (FieldName: 'ParentName'; FieldType: ftString; Size: 255; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 标段 -- 顶层父节点 -- 名称
    (FieldName: 'TopParentName'; FieldType: ftString; Size: 255; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False)
  );

  SBills = 'r_Bills';
  tdBills: array [0..16] of TScFieldDef =(
    (FieldName: 'ID'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: True; PrimaryKey: True; ForceUpdate: False),
    (FieldName: 'ParentID'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: True; PrimaryKey: False; ForceUpdate: False),
    (FieldName: 'NextSiblingID'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: True; PrimaryKey: False; ForceUpdate: False),
    //--3

    // 项目节编号
    (FieldName: 'Code'; FieldType: ftString; Size: 50; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 清单编号
    (FieldName: 'B_Code'; FieldType: ftString; Size: 50; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 名称
    (FieldName: 'Name'; FieldType: ftString; Size: 200; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 单位
    (FieldName: 'Units'; FieldType: ftstring; Size: 20; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 单价
    (FieldName: 'Price'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    //--5

    // 排序
    (FieldName: 'SerialNo'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 是否最底层节点
    (FieldName: 'IsLeaf'; FieldType: ftBoolean; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 项
    (FieldName: 'XiangCode'; FieldType: ftString; Size: 10; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 目
    (FieldName: 'MuCode'; FieldType: ftString; Size: 10; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 节
    (FieldName: 'JieCode'; FieldType: ftString; Size: 10; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 细目
    (FieldName: 'XiMuCode'; FieldType: ftString; Size: 30; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 工程量清单排序编号
    (FieldName: 'IndexCode'; FieldType: ftString; Size: 50; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 章级父项ID
    (FieldName: 'ChapterParentID'; FieldType: ftInteger; size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 清单编号所属章级
    (FieldName: 'B_CodeChapter'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False)
    //--8
  );

  SBills_Gather = 'r_Bills_Gather'; // 合计, 默认ProjID为 -2
  SBills_Proj = 'r_Bills_Proj'; // 存在N个项目则，有r_Bills_Proj1 ... r_Bills_ProjN，分别存储个项目数据
  SBills_TransProj = 'r_Bills_TransProj'; // 合并所有的r_Bills_Proj

  // 此部分数据不汇总至r_Bills_Gather
  SBills_SProj = 'r_Bills_SProj';

  tdBills_Calc: array [0..83] of TScFieldDef =(
    // 与Bills表ID对应
    (FieldName: 'ID'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: True; PrimaryKey: True; ForceUpdate: False),
    // 对应于r_GatherProj中的ID字段
    (FieldName: 'ProjID'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: True; PrimaryKey: True; ForceUpdate: False),
    // 项目类型（r_Bills_SProj使用，用于标记非正常汇总项目）
    (FieldName: 'ProjType'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),

    // 施工图原设计 -- 数量
    (FieldName: 'OrgQuantity'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 施工图原设计 -- 金额
    (FieldName: 'OrgTotalPrice'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 施工图原设计 -- 金额 -- 重算
    (FieldName: 'OrgTotalPrice_Rc'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 设计错漏增减 -- 数量
    (FieldName: 'MisQuantity'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 设计错漏增减 -- 金额
    (FieldName: 'MisTotalPrice'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 设计错漏增减 -- 金额 -- 重算
    (FieldName: 'MisTotalPrice_Rc'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 其他原因增减 -- 数量
    (FieldName: 'OthQuantity'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 其他原因增减 -- 金额
    (FieldName: 'OthTotalPrice'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 其他原因增减 -- 金额 -- 重算
    (FieldName: 'OthTotalPrice_Rc'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 合同 - 数量
    (FieldName: 'Quantity'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 合同 - 金额
    (FieldName: 'TotalPrice'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 合同 - 金额 -- 重算
    (FieldName: 'TotalPrice_Rc'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    //--12

    // ------------ 0号台账 ----------------
    // 设计数量1
    (FieldName: 'DgnQuantity1'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 设计数量2
    (FieldName: 'DgnQuantity2'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 设计数量
    (FieldName: 'DgnQuantity'; FieldType: ftString; Size: 50; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 经济指标1
    (FieldName: 'DgnPrice1'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 经济指标2
    (FieldName: 'DgnPrice2'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 经济指标（经济指标1/经济指标2）
    (FieldName: 'DgnPrice'; FieldType: ftString; Size: 50; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 经济指标1 -- 重算
    (FieldName: 'DgnPrice1_Rc'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 经济指标2 -- 重算
    (FieldName: 'DgnPrice2_Rc'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 经济指标（经济指标1/经济指标2）-- 重算
    (FieldName: 'DgnPrice_Rc'; FieldType: ftString; Size: 50; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    //--9

    // ------------合同----------------
    // 设计数量1
    (FieldName: 'DealDgnQuantity1'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 设计数量2
    (FieldName: 'DealDgnQuantity2'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 设计数量
    (FieldName: 'DealDgnQuantity'; FieldType: ftString; Size: 50; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // --3

    // ----------------变更-------------------
    // 设计数量1
    (FieldName: 'CDgnQuantity1'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 设计数量2
    (FieldName: 'CDgnQuantity2'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 设计数量
    (FieldName: 'CDgnQuantity'; FieldType: ftString; Size: 50; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // --3

    //  --------------------计量：合同+变更--------------------
    // 设计数量1
    (FieldName: 'FinalDgnQuantity1'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 设计数量2
    (FieldName: 'FinalDgnQuantity2'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 设计数量
    (FieldName: 'FinalDgnQuantity'; FieldType: ftString; Size: 50; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 经济指标1
    (FieldName: 'FinalDgnPrice1'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 经济指标2
    (FieldName: 'FinalDgnPrice2'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 经济指标（经济指标1/经济指标2）
    (FieldName: 'FinalDgnPrice'; FieldType: ftString; Size: 50; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 经济指标1 -- 重算
    (FieldName: 'FinalDgnPrice1_Rc'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 经济指标2 -- 重算
    (FieldName: 'FinalDgnPrice2_Rc'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 经济指标（经济指标1/经济指标2）-- 重算
    (FieldName: 'FinalDgnPrice_Rc'; FieldType: ftString; Size: 50; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // --9

    // 累计合同 -- 数量
    (FieldName: 'AddDealQuantity'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 累计合同 -- 金额
    (FieldName: 'AddDealTotalPrice'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 累计合同 -- 金额 -- 重算
    (FieldName: 'AddDealTotalPrice_Rc'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 累计变更 -- 数量
    (FieldName: 'AddQcQuantity'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 累计变更 -- 金额
    (FieldName: 'AddQcTotalPrice'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 累计变更 -- 金额 -- 重算
    (FieldName: 'AddQcTotalPrice_Rc'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 累计完成 -- 数量
    (FieldName: 'AddGatherQuantity'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 累计完成 -- 金额
    (FieldName: 'AddGatherTotalPrice'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 累计完成 -- 金额 -- 重算
    (FieldName: 'AddGatherTotalPrice_Rc'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    //--9

    // 本期合同 -- 数量
    (FieldName: 'CurDealQuantity'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 本期合同 -- 金额
    (FieldName: 'CurDealTotalPrice'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 本期合同 -- 金额 -- 重算
    (FieldName: 'CurDealTotalPrice_Rc'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 本期变更 -- 数量
    (FieldName: 'CurQcQuantity'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 本期变更 -- 金额
    (FieldName: 'CurQcTotalPrice'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 本期变更 -- 金额 -- 重算
    (FieldName: 'CurQcTotalPrice_Rc'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 本期完成 -- 数量
    (FieldName: 'CurGatherQuantity'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 本期完成 -- 金额
    (FieldName: 'CurGatherTotalPrice'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 本期完成 -- 金额 -- 重算
    (FieldName: 'CurGatherTotalPrice_Rc'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    //--9

    // 截止上期合同 -- 数量
    (FieldName: 'PreDealQuantity'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 截止上期合同 -- 金额
    (FieldName: 'PreDealTotalPrice'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 截止上期合同 -- 金额 -- 重算
    (FieldName: 'PreDealTotalPrice_Rc'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 截止上期变更 -- 数量
    (FieldName: 'PreQcQuantity'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 截止上期变更 -- 金额
    (FieldName: 'PreQcTotalPrice'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 截止上期变更 -- 金额 -- 重算
    (FieldName: 'PreQcTotalPrice_Rc'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 截止上期完成 -- 数量
    (FieldName: 'PreGatherQuantity'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 截止上期完成 -- 金额
    (FieldName: 'PreGatherTotalPrice'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 截止上期完成 -- 金额 -- 重算
    (FieldName: 'PreGatherTotalPrice_Rc'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    //--9

    // 截止本期合同 -- 数量
    (FieldName: 'EndDealQuantity'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 截止本期合同 -- 金额
    (FieldName: 'EndDealTotalPrice'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 截止本期合同 -- 金额 -- 重算
    (FieldName: 'EndDealTotalPrice_Rc'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 截止本期变更 -- 数量
    (FieldName: 'EndQcQuantity'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 截止本期变更 -- 金额
    (FieldName: 'EndQcTotalPrice'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 截止本期变更 -- 金额 -- 重算
    (FieldName: 'EndQcTotalPrice_Rc'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 截止本期完成 -- 数量
    (FieldName: 'EndGatherQuantity'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 截止本期完成 -- 金额
    (FieldName: 'EndGatherTotalPrice'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 截止本期完成 -- 金额 -- 重算
    (FieldName: 'EndGatherTotalPrice_Rc'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    //--9

    // 区间 -- 合同 -- 数量
    (FieldName: 'ZoneDealQuantity'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 区间 -- 合同 -- 金额
    (FieldName: 'ZoneDealTotalPrice'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 区间 -- 合同 -- 金额 -- 重算
    (FieldName: 'ZoneDealTotalPrice_Rc'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 区间 -- 变更 -- 数量
    (FieldName: 'ZoneQcQuantity'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 区间 -- 变更 -- 金额
    (FieldName: 'ZoneQcTotalPrice'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 区间 -- 变更 -- 金额 -- 重算
    (FieldName: 'ZoneQcTotalPrice_Rc'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 区间 -- 完成 -- 数量
    (FieldName: 'ZoneGatherQuantity'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 区间 -- 完成 -- 金额
    (FieldName: 'ZoneGatherTotalPrice'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 区间 -- 完成 -- 金额 -- 重算
    (FieldName: 'ZoneGatherTotalPrice_Rc'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False)
    //--9
  );

  SBGL_TransProj = 'r_BGL_TransProj';
  tdBGL_TransProj: array [0..10] of TScFieldDef =(
    // 与Bills表ID对应
    (FieldName: 'ID'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: True; PrimaryKey: True; ForceUpdate: False),
    // 对应于r_GatherProj中的ID字段
    (FieldName: 'ProjID'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: True; PrimaryKey: True; ForceUpdate: False),
    // 项目类型（r_Bills_SProj使用，用于标记非正常汇总项目）
    (FieldName: 'ProjType'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),

    // 变更令号
    (FieldName: 'Code'; FieldType: ftString; Size: 50; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 名称
    (FieldName: 'Name'; FieldType: ftString; Size: 100; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 金额
    (FieldName: 'TotalPrice'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 变更部位及原因
    (FieldName: 'Pos_Reason'; FieldType: ftMemo; Size: 60535; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 变更工程量说明
    (FieldName: 'Direction'; FieldType: ftMemo; Size: 60535; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 变更图号
    (FieldName: 'DrawingCode'; FieldType: ftString; Size: 50; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 批准文号
    (FieldName: 'ApprovalCode'; FieldType: ftString; Size: 50; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 变更令类型：一般、较大、重大
    (FieldName: 'BGLType'; FieldType: ftString; Size: 10; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False)
  );

  SDealPay_Gather = 'r_DealPay_Gather'; // 合计, 默认ProjID为 -2
  SDealPay_Proj = 'r_DealPay_Proj'; // 存在N个项目则，有r_DealPay_Proj1 ... r_DealPay_ProjN，分别存储个项目数据
  SDealPay_TransProj = 'r_DealPay_TransProj'; // 合并所有的r_DealPay_Proj

  // 此部分数据不汇总至r_DealPay_Gather
  SDealPay_SProj = 'r_DealPay_SProj';

  tdDealPay_Calc: array [0..12] of TScFieldDef =(
    (FieldName: 'ID'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: True; PrimaryKey: True; ForceUpdate: False),
    // 对应于r_GatherProj中的ID字段
    (FieldName: 'ProjID'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: True; PrimaryKey: True; ForceUpdate: False),
    // 项目类型（r_DealPay_SProj使用，用于标记非正常汇总项目）
    (FieldName: 'ProjType'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),

    // 名称
    (FieldName: 'Name'; FieldType: ftString; Size: 50; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 计算类型
    // 0: 一般项
    // 1: 本期应付 -- 汇总所有的一般项
    // 2: 本期实付 -- 输入项
    (FieldName: 'CalcType'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 是否扣减项
    (FieldName: 'IsMinus'; FieldType: ftBoolean; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),

    // 排序
    (FieldName: 'SerialNo'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 按是否扣减分类，排序
    (FieldName: 'LinkSerialNo'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),

    // 累计完成 -- 金额
    (FieldName: 'AddTotalPrice'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),

    // 本期完成 -- 金额
    (FieldName: 'CurTotalPrice'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 截止上期完成 -- 金额
    (FieldName: 'PreTotalPrice'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 截止本期完成 -- 金额
    (FieldName: 'EndTotalPrice'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),

    // 区间 -- 金额
    (FieldName: 'ZoneTotalPrice'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False)
  );

  SProjPropertied_Gather = 'r_Projproperties_Gather';
  SProjProperties_TransProj = 'r_ProjProperties_TransProj';
  tdProjProperties_TransProj: array [0..4] of TScFieldDef =(
    (FieldName: 'ID'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: True; PrimaryKey: True; ForceUpdate: False),
    // 对应于r_GatherProj中的ID字段
    (FieldName: 'ProjID'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: True; PrimaryKey: True; ForceUpdate: False),
    // 项目类型（r_Bills_SProj使用，用于标记非正常汇总项目）
    (FieldName: 'ProjType'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),

    // 名称
    (FieldName: 'Name'; FieldType: ftString; Size: 50; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
    // 值
    (FieldName: 'PropValue'; FieldType: ftString; Size: 50; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False)
  );

implementation

end.
