/**
 * Created by Mai on 2017/7/21.
 */
"use strict";

const baseCalc = 0, adjustCalc = 1, budgetCalc = 2, diffCalc = 3,  offerCalc = 4;

const gljType = {
    // 人工
    LABOUR: 1,
    // ==============材料类型=================
    // 普通材料
    GENERAL_MATERIAL: 201,
    // 混凝土
    CONCRETE: 202,
    // 砂浆
    MORTAR: 203,
    // 配合比
    MIX_RATIO: 204,
    // 商品混凝土
    COMMERCIAL_CONCRETE: 205,
    // 商品砂浆
    COMMERCIAL_MORTAR: 206,
    // ==============材料类型=================
    // ==============机械类型=================
    // 普通机械
    GENERAL_MACHINE: 301,
    // 机械组成物
    MACHINE_COMPOSITION: 302,
    // 机上人工
    MACHINE_LABOUR: 303,
    // ==============机械类型=================
    // 主材
    MAIN_MATERIAL: 4,
    // 设备
    EQUIPMENT: 5
};

let rationCalcBase = [
    {
        'dispName': '定额基价人工费',
        'calcFun': 'base',
        'calcType': baseCalc,
        'gljTypes': [gljType.LABOUR]
    },{
        'dispName': '定额基价材料费',
        'calcFun': 'base',
        'calcType': baseCalc,
        'gljTypes': [gljType.GENERAL_MATERIAL, gljType.CONCRETE, gljType.MORTAR, gljType.MIX_RATIO, gljType.COMMERCIAL_CONCRETE, gljType.COMMERCIAL_MORTAR]
    },{
        'dispName': '定额基价机械费',
        'calcFun': 'base',
        'calcType': baseCalc,
        'gljTypes': [gljType.GENERAL_MACHINE]
    },{
        'dispName': '定额基价机上人工费',
        'calcFun': 'base',
        'calcType': baseCalc,
        'gljTypes': [gljType.MACHINE_LABOUR]
    },{
        'dispName': '人工费价差',
        'calcFun': 'diff',
        'calcType': diffCalc,
        'gljTypes': [gljType.LABOUR]
    },{
        'dispName': '材料费价差',
        'calcFun': 'diff',
        'calcType': diffCalc,
        'gljTypes': [gljType.GENERAL_MATERIAL, gljType.CONCRETE, gljType.MORTAR, gljType.MIX_RATIO, gljType.COMMERCIAL_CONCRETE, gljType.COMMERCIAL_MORTAR]
    },{
        'dispName': '机械费价差',
        'calcFun': 'diff',
        'calcType': diffCalc,
        'gljTypes': [gljType.GENERAL_MACHINE]
    },{
        'dispName': '主材费',
        'calcFun': 'budget',
        'calcType': budgetCalc,
        'gljTypes': [gljType.MAIN_MATERIAL]
    },{
        'dispName': '设备费',
        'calcFun': 'budget',
        'calcType': budgetCalc,
        'gljTypes': [gljType.EQUIPMENT]
    }
];

// 该方法暂时不用，已使用中文预编译的方式代替，但可靠性有待验证，若有问题再用回来。
function getRationCalcBase(dispName){
    for (let base of rationCalcBase) {
       if (base.dispName == dispName) {
           return base;
       };
    }
    return null;
};