/// <summary> /// 按钮“显示”操作接口 /// </summary> public void btn_show(tpc_jzlt_model jzlt) { if (jzlt == null) { return; } oc_xcsj.Clear(); StringBuilder sql = new StringBuilder(); sql.Append(" select * "); sql.Append(" from oil_well_c "); sql.AppendFormat(" where jh=\"{0}\" and syds <> 0 and stl <> 0 and skqk<>'' ", jzlt.yj); sql.Append(" order by syds "); DataTable dt = DbHelperOleDb.Query(sql.ToString()).Tables[0]; for (int i = 0; i < dt.Rows.Count; i++) { oc_xcsj.Add(new DB_XCSJ() { Selected = false, JH = Unity.ToString(dt.Rows[i]["jh"]), YCZ = Unity.ToString(dt.Rows[i]["ycz"]), XCH = Unity.ToString(dt.Rows[i]["xch"]), XCXH = Unity.ToString(dt.Rows[i]["xcxh"]), SYDS = Unity.ToDecimal(dt.Rows[i]["syds"]), SYHD = Unity.ToDecimal(dt.Rows[i]["syhd"]), YXHD = Unity.ToDecimal(dt.Rows[i]["yxhd"]), STL = Unity.ToDecimal(dt.Rows[i]["stl"]), SKQK = Unity.ToString(dt.Rows[i]["skqk"]), HYBHD = Unity.ToDecimal(dt.Rows[i]["hybhd"]), }); } }
/// <summary> /// 按钮“加载”操作接口 /// </summary> public void btn_load(tpc_jzlt_model jzlt) { if (jzlt == null) { MessageBox.Show("请在井组连通中选择一口井"); return; } List <DB_XCSJ> list = new List <DB_XCSJ>(); // 获取被选中井组连通项油井的小层数据 foreach (DB_XCSJ item in oc_xcsj.Where(p => p.Selected == true)) { list.Add(item); } // 将相应的井组连通数据汇总 foreach (tpc_jzlt_model item in oc_jzlt) { if (item.sj.Equals(jzlt.sj) && item.yj.Equals(jzlt.yj)) { item.cw = get_jzlt_cw(list); item.syhd = (double)list.Sum(p => p.SYHD); item.yxhd = (double)list.Sum(p => p.YXHD); item.stl = (double)list.Sum(p => p.STL) / list.Count; set_tpc_ltsl(item); } } }
private void Dg_jzlt_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e) { jzlt = dg_jzlt.SelectedItem as tpc_jzlt_model; jzlt.Selected = true; bll.oc_jzlt.Where <tpc_jzlt_model>(x => !x.yj.Equals(jzlt.yj)).ToList().ForEach(x => x.Selected = false); bll.oc_xcsj.Clear(); }
/// <summary> /// 设置调剖层数据的井组连通数量 /// </summary> /// <param name="jzlt"></param> private void set_tpc_ltsl(tpc_jzlt_model jzlt) { foreach (tpc_model item_tpc in oc_tpc) { if (item_tpc.jh.Equals(jzlt.sj)) { item_tpc.ltsl = oc_jzlt.Where(p => p.sj == jzlt.sj && p.yxhd > 0 && p.stl > 0).Count(); } } }