protected void gdTestItem_RowClick(object sender, GridRowClickEventArgs e) { try { if (gdTestItem.SelectedRowIndexArray.Length > 0) { Dicttestitem item = new Dicttestitem(); ViewState["TestItemID"] = null; if (e.RowIndex >= 0) { int gridRowID = e.RowIndex; //int index = gdTestItem.PageIndex * gdTestItem.PageSize + gridRowID; string keys = gdTestItem.Rows[gridRowID].Values[0].ToString(); //object[] keys = gdTestItem.DataKeys[e.RowIndex]; //List<Dicttestitem> testitemList = BindTestItemAll();//所有单项的集合 //根据选中的行得到当前选中的实例 //item = (from Dicttestitem in testitemList where Dicttestitem.Dicttestitemid == Convert.ToInt32(keys) select Dicttestitem).ToList<Dicttestitem>()[0]; item = testitemservice.SelectDicttestitemByDicttestitemid(Convert.ToDouble(keys)); ViewState["TestItemID"] = item.Dicttestitemid; //SimpleFormEdit.Title = "当前状态-编辑"; txtUniQueid.Text = item.Uniqueid; txtEngName.Text = item.Engname; txtEngLongName.Text = item.Englongname; txtItemCode.Text = item.Testcode; txtTestName.Text = item.Testname; txtUnit.Text = item.Unit; txtFastCode.Text = item.Fastcode; ddlContainerType.SelectedValue = (item.Dictcontainerid ?? -1).ToString(); //试管类型 ddlPhysicalGourp.SelectedValue = (item.Dictlabdeptid ?? -1).ToString(); //物理组 ddlReportTemplate.SelectedValue = (item.Dictreporttemplateid ?? -1).ToString(); //报告模板 ddlTubeGroup.SelectedValue = item.Tubegroup ?? "-1"; //分管原则 ddlforsex.SelectedValue = item.Forsex ?? "-1"; ddlSpecimenType.SelectedValue = (item.Dictspecimentypeid ?? -1).ToString(); //标本类型 txtPrecision.Text = item.Precision.ToString(); //小数位 ddlResultType.SelectedValue = item.Resulttype ?? "-1"; //结果类型 txtDefaultResult.Text = item.Defaultresult; //默认结果 //txtRefmethod.Text = item.Refmethod;//参考值方式 ddlRefmethod.SelectedValue = item.Refmethod ?? "-1"; txtLimitHight.Text = item.Limithigh.ToString(); //限制高 txtLimiLow.Text = item.Limitlow.ToString(); //限制低 txtLabelNumber.Text = item.Labelnumber.ToString(); txtPrintOrder.Text = item.Displayorder.ToString(); //打印排序 txtStandardPrice.Text = item.Price.ToString(); //价格 txtOperationRemark.Text = item.Operationremark; //操作指引说明 if (item.Report == "1") { chbReport.Checked = true; } //1,打印报告 else { chbReport.Checked = false; } if (item.Active == "1") { chbActive.Checked = true; } //1,可用 else { chbActive.Checked = false; } if (item.Billable == "1") { chbBillable.Checked = true; } //1,需要记账 else { chbBillable.Checked = false; } if (item.Isimportant == "1") { chbImportanttest.Checked = true; } //1,是重要项目 else { chbImportanttest.Checked = false; } if (item.Isonlyforbill == "1") { chbImportanttest.Checked = true; } //是否只是收费项目 0 不是 1 是 else { chbImportanttest.Checked = false; } //项目可选结果 BindTestResult(item.Dicttestitemid); } } else { AddTestItem(); } } catch (Exception) { MessageBoxShow("显示数据出错,请联系管理员!"); } }
//private void BindSearchData() //{ // List<Dicttestitem> testitemLst = GetGroupTestItemByC(); // gdGroupTestItem.DataSource = testitemLst; // gdGroupTestItem.DataBind(); //} //public List<Dicttestitem> GetGroupTestItemByC() //{ // List<Dicttestitem> testitemgoutpLst = BindTestGourp();//所有组合项目 // List<Dicttestitem> testitemLst = new List<Dicttestitem>(); // double? Dictlabdeptid = Convert.ToDouble(ddlgoupLibrary.SelectedValue); // if (Dictlabdeptid == -1) // { // testitemLst = testitemgoutpLst; // } // else // { // testitemLst = (from Dicttestitem in testitemgoutpLst where Dicttestitem.Dictlabdeptid == Dictlabdeptid select Dicttestitem).ToList<Dicttestitem>(); // } // string testitemStr = ttbSearch.Text; // List<Dicttestitem> newslist = new List<Dicttestitem>(); // foreach (Dicttestitem item in testitemLst) // { // if ((item.Fastcode != null && item.Fastcode.ToLower().Contains(testitemStr.ToLower())) || // (item.Engname != null && item.Engname.ToLower().Contains(testitemStr.ToLower())) || // (item.Testname != null && item.Testname.ToLower().Contains(testitemStr.ToLower())) || // (item.Testcode != null && item.Testcode.ToLower().Contains(testitemStr.ToLower())) || // (item.Uniqueid != null && item.Uniqueid.ToLower().Contains(testitemStr.ToLower())) || // (item.Englongname != null && item.Englongname.ToLower().Contains(testitemStr.ToLower())) // || testitemStr == "") // { // newslist.Add(item); // } // } // return newslist; //} #endregion #region 保存组合信息 protected void btnSave_Click(object sender, EventArgs e) { try { if (ddlPhysicalGourp.SelectedValue == "-1") { MessageBoxShow("请选择物理组!"); return; } if (ddlSpecimenType.SelectedValue == "-1") { MessageBoxShow("请选择标本类型!"); return; } if (ddlTubeGroup.SelectedValue == "-1") { MessageBoxShow("请选择分管原则!"); return; } if (txtGroupTestCode.Text.Trim() == "") { MessageBoxShow("请填写组合代码名称"); return; } if (txtGroupTestName.Text.Trim() == "") { MessageBoxShow("请填写组合名称"); return; } if (txtFastCode.Text.Trim() == "") { MessageBoxShow("请填写助记符名称"); return; } if (nbbStandardPrice.Text.Trim() == "") { MessageBoxShow("请填写标准价格"); return; } if (txtUniQueid.Text.Trim() == "") { MessageBoxShow("请填写全国统一码"); return; } Dicttestitem item = new Dicttestitem(); Dicttestitem testitem = new Dicttestitem();//日志操作,旧值 List <Dicttestitem> dicttestitemList = new List <Dicttestitem>(); //List<Dicttestitem> testitemgoutpLst = BindTestGourp();//所有组合项目 if (ViewState["TestItemID"] != null) { double?id = Convert.ToDouble(ViewState["TestItemID"]); //item = (from Dicttestitem in testitemgoutpLst where Dicttestitem.Dicttestitemid == id select Dicttestitem).ToList<Dicttestitem>()[0]; item = testitemservice.SelectDicttestitemByDicttestitemid(id); testitem = item; Hashtable ht = new Hashtable(); ht.Add("Uniqueid", txtUniQueid.Text.Trim()); ht.Add("Dicttestitemid", id); dicttestitemList = new DicttestitemService().GetDicttestitemByCode(ht); } else { Hashtable ht = new Hashtable(); ht.Add("Uniqueid", txtUniQueid.Text.Trim()); dicttestitemList = new DicttestitemService().GetDicttestitemByCode(ht); } if (dicttestitemList.Count > 0) { MessageBoxShow("已存在相同的全国统一码!"); return; } item.Fastcode = txtFastCode.Text.Trim(); item.Testcode = txtGroupTestCode.Text.Trim(); item.Testname = txtGroupTestName.Text.Trim(); item.Operationremark = txtOperationRemark.Text.Trim(); item.Price = Convert.ToDouble(nbbStandardPrice.Text.Trim()); item.Uniqueid = txtUniQueid.Text.Trim(); item.Dictlabdeptid = Convert.ToDouble(ddlPhysicalGourp.SelectedValue); item.Dictspecimentypeid = Convert.ToDouble(ddlSpecimenType.SelectedValue); item.Testtype = "1"; //1,组合 item.Tubegroup = ddlTubeGroup.SelectedValue; //分管原则 item.Displayorder = int.Parse(txtDisplayOrder.Text); if (chbActive.Checked) { item.Active = "1"; } else { item.Active = "0"; } if (chbIsonlyForBill.Checked) { item.Isonlyforbill = "1"; } else { item.Isonlyforbill = "0"; } //if (item.Dicttestitemid != null) //{ // testitem = (from Dicttestitem in testitemgoutpLst where Dicttestitem.Dicttestitemid == item.Dicttestitemid select Dicttestitem).ToList<Dicttestitem>()[0]; //} List <Dicttestitem> listIn = GridlistIn();//包含的项目 int num = 0; int flag = 0; StringBuilder type = new StringBuilder(); for (int i = 0; i < listIn.Count(); i++) { if (listIn[i].Tubegroup != "" && listIn[i].Dictlabdeptid.ToString() != "" && listIn[i].Dictspecimentypeid.ToString() != "") { //if (this.ddlTubeGroup.SelectedValue != listIn[i].Tubegroup || this.ddlPhysicalGourp.SelectedValue != listIn[i].Dictlabdeptid.ToString() || this.ddlSpecimenType.SelectedValue != listIn[i].Dictspecimentypeid.ToString()) if (ddlTubeGroup.SelectedValue != listIn[i].Tubegroup || ddlSpecimenType.SelectedValue != listIn[i].Dictspecimentypeid.ToString()) { num++; type.Append(listIn[i].Testname + ","); } } else { flag++; type.Append(listIn[i].Testname + ","); } } if (flag > 0) { MessageBoxShow(String.Format("{0}分管原则、所属科室、标本类型都不能为空,请重新维护!", type)); return; } if (num > 0) { //MessageBoxShow(String.Format("{0}必须与所选分管原则、所属科室、标本类型相同!", type)); MessageBoxShow(String.Format("{0}必须与所选分管原则、标本类型相同!", type)); return; } string strerr = string.Empty; double?f = testitemservice.SaveDictTestItem(item, listIn, testitem, ref strerr); if (f > 0) { item.Dicttestitemid = f; ViewState["TestItemID"] = f; CacheHelper.RemoveAllCache("daan.GetDicttestitem"); //删除项目缓存 CacheHelper.RemoveAllCache("daan.GetDicttestgroupdetail"); //删除项目结果缓存 BindSearchData(); //筛选下的项目 // AddTestGroup();//清空 MessageBoxShow("新增成功!"); } else if (f == 0) { CacheHelper.RemoveAllCache("daan.GetDicttestitem"); //删除项目缓存 CacheHelper.RemoveAllCache("daan.GetDicttestgroupdetail"); //删除项目结果缓存 BindSearchData(); //筛选下的项目 // AddTestGroup();//清空 MessageBoxShow("修改成功!"); } else { MessageBoxShow("操作出错:" + strerr); } } catch (Exception ex) { MessageBoxShow(ex.ToString()); } }