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)
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)