Exemplo n.º 1
0
def design_eval_unit(partition_id):
    # 查询得到评价单元划分
    deup = SQLClientHelper.GetDesignEvalUnitPartitionById(partition_id)
    if deup.id <= 0: return
    # 删除所有与划分id号关联的评价单元
    eval_unit_id_lists = SQLClientHelper.GetDesignEvalUnitIdListByForeignKey(
        'design_eval_unit_partition_id', partition_id)
    SQLClientHelper.DeleteMoreDesignEvalUnit(eval_unit_id_lists)

    # 工作面顺槽长度Ln、巷道掘进速度V、巷道终点钻孔的抽采时间T、抽采半径R
    Ln, V, T, R = deup.l, deup.v, deup.t, deup.r

    # 计算各单元边界线与巷道交点到巷道起点的距离
    Li = Lf(Ln, T, V)
    print Li

    # 计算各单元的起点抽采时间
    g = lambda x: int(round(1.0 * (Ln - x) / V + T))
    Ti = [g(x) for x in Li]

    # 评价单元写入到数据库
    print u'单元号\tLi(m)\tTi(d)'
    for i, (x, t) in enumerate(zip(Li, Ti)):
        print u'%d\t%.1f\t%d' % (i + 1, x, t)
        a_eval_unit = DesignEvalUnit()
        a_eval_unit.num = i + 1
        a_eval_unit.l = x
        a_eval_unit.t = t
        a_eval_unit.design_eval_unit_partition_id = partition_id
        SQLClientHelper.AddDesignEvalUnit(a_eval_unit)
Exemplo n.º 2
0
def test_design_eval_unit():
    # 指定一个设计id
    partition_id = 21
    # 查询得到评价单元划分
    deup = SQLClientHelper.GetDesignEvalUnitPartitionById(partition_id)
    if deup.id <= 0: return

    # 工作面顺槽长度Ln、巷道掘进速度V、巷道终点钻孔的抽采时间T、抽采半径R
    Ln, V, T, R = deup.l, deup.v, deup.t, deup.r

    # 计算各单元边界线与巷道交点到巷道起点的距离
    Li = Lf(Ln, T, V)

    # 计算各单元的起点抽采时间
    g = lambda x: int(round(1.0 * (Ln - x) / V + T))
    Ti = [g(x) for x in Li]

    # 评价单元写入到数据库
    print u'单元号\tLi(m)\tTi(d)'
    for i, (x, t) in enumerate(zip(Li, Ti)):
        print u'%d\t%.1f\t%d' % (i + 1, x, t)
        a_eval_unit = DesignEvalUnit()
        a_eval_unit.num = i + 1
        a_eval_unit.l = x
        a_eval_unit.t = t
        a_eval_unit.design_eval_unit_partition_id = partition_id
        SQLClientHelper.AddDesignEvalUnit(a_eval_unit)