//private void BindArea() //{ // BindProvince(); // BindCity(); // BindCounty(); //} ////省 //private void BindProvince() //{ // dpProvince.DataSource = memberservice.GetProveice(); // dpProvince.DataTextField = "provincename"; // dpProvince.DataValueField = "dictprovinceid"; // dpProvince.DataBind(); // dpProvince.Items.Insert(0, new ListItem("选择省份", "-1")); //} ////市 //private void BindCity() //{ // string pro = dpProvince.SelectedValue; // if (pro != "-1") // { // dpCity.DataSource = memberservice.GetCity(pro); // dpCity.DataTextField = "cityname"; // dpCity.DataValueField = "dictcityid"; // dpCity.DataBind(); // } // dpCity.Items.Insert(0, new ListItem("选择市", "-1")); //} ////县/区 //private void BindCounty() //{ // string city = dpCity.SelectedValue; // if (city != "-1") // { // dpCounty.DataSource = memberservice.GetCounty(city); // dpCounty.DataTextField = "countyname"; // dpCounty.DataValueField = "dictcountyid"; // dpCounty.DataBind(); // } // dpCounty.Items.Insert(0, new ListItem("选择县/区", "-1")); //} ////选择省份 //protected void dpProvince_SelectedIndexChanged(object sender, EventArgs e) //{ // dpCity.Items.Clear(); // BindCity(); // dpCounty.Items.Clear(); // BindCounty(); //} ////选择市 //protected void dpCity_SelectedIndexChanged(object sender, EventArgs e) //{ // dpCounty.Items.Clear(); // BindCounty(); //} #endregion /// <summary> /// 输入会员名查找会员 /// </summary> private void SelectMember() { Dictmember m = new Dictmember(); m.Realname = tbxmember.Text.Trim(); List <Dictmember> memberlist = memberservice.GetDictmemberList(m); if (memberlist.Count == 0) { MessageBoxShow("没有搜索到匹配的会员!"); tbxmember.Text = string.Empty; tbxmember.Focus(); return; } else if (memberlist.Count == 1) { SetMemberInfo(memberlist[0]); GetAge(); tbxmember.Text = string.Empty; } else { GridMember.DataSource = memberlist; GridMember.DataBind(); winMemberSelect.Hidden = false; } }
/// <summary>选择会员 /// 选择会员 /// </summary> private void SelectMember() { if (Request.Form["__EVENTTARGET"] == tbxmember.ClientID && Request.Form["__EVENTARGUMENT"] == "specialkey") { Dictmember m = new Dictmember(); m.Realname = tbxmember.Text.Trim(); List <Dictmember> memberlist = memberservice.GetDictmemberList(m); if (memberlist.Count == 0) { MessageBoxShow("没有搜索到匹配的会员!"); tbxmember.Text = string.Empty; return; } else if (memberlist.Count == 1) { Dictmember member = memberlist[0]; tbxmember.Text = member.Dictmemberid.ToString(); tbxName.Text = member.Realname; } else { GridMember.DataSource = memberlist; GridMember.DataBind(); winMemberSelect.Hidden = false; } } }
private void InitData() { object MidQueryString = Request.QueryString["Mid"]; if (MidQueryString != null) { Mid = MidQueryString.ToString(); Dictmember Member = memberservice.GetMemberById(Convert.ToDouble(Mid)); if (Member == null) { MessageBoxShow(string.Format("不存在ID为[{0}]的会员", Mid)); PageContext.RegisterStartupScript(ActiveWindow.GetHideReference()); return; } Dictmember member = Member; ViewState["oldmember"] = member; //不可修改 lblConsumer.Text = member.Consumer.ToString(); lblCreatedate.Text = member.Createdate.ToString(); lblscores.Text = member.Scores.ToString(); if (member.Logintime != null) { lblLogintime.Text = member.Logintime.ToString(); } else { lblLogintime.Text = ""; } lblLoginnum.Text = member.Loginnum.ToString(); lblLoginip.Text = member.Loginip; lblId.Text = member.Dictmemberid.ToString(); lblLoginname.Text = member.Loginname; //可修改 tbxRealname.Text = member.Realname; tbxNickname.Text = member.Nickname; tbxIdnumber.Text = member.Idnumber; DropSex.SelectedValue = member.Sex; if (member.Birthday != null) { dateBirthday.Text = member.Birthday.Value.ToString("yyyy-MM-dd"); } tbxEmail.Text = member.Email; tbxQq.Text = member.Qq; tbxMsn.Text = member.Msn; tbxUrl.Text = member.Url; ckbIsactive.Checked = member.Active == "T" ? true : false; ckbIslock.Checked = member.Islock == "T" ? true : false; tbxPhone.Text = member.Phone; tbxMobile.Text = member.Mobile; tbxAddres.Text = member.Addres; lblMemberID.Label = Mid.ToString(); BindData(); } return; }
// 会员资料赋值 private void SetMemberInfo(Dictmember member) { tbxPhone.Text = member.Phone; tbxMobile.Text = member.Mobile; tbxEMail.Text = member.Email; tbxBirthday.Text = member.Birthday == null ? "" : member.Birthday.Value.ToString("yyyy-MM-dd"); tbxAddres.Text = member.Addres; tbxIDNumber.Text = member.Idnumber; tbxName.Text = member.Realname; tbxSex.Text = member.SexName; }
//保存会员信息 protected void btnSubmit_Click(object sender, EventArgs e) { string strmsg = ""; //判断 Dictmember member = new Dictmember(); member.Dictmemberid = Convert.ToDouble(lblId.Text.Trim()); member.Realname = tbxRealname.Text.Trim(); member.Nickname = tbxNickname.Text.Trim(); string idnumber = tbxIdnumber.Text.Trim(); member.Idnumber = idnumber; member.Sex = DropSex.SelectedValue; if (dateBirthday.Text.Trim() != "") { member.Birthday = Convert.ToDateTime(dateBirthday.Text.Trim()); } if (tbxEmail.Text.Trim() != string.Empty) { Regex reg = new Regex(@"^(\w)+(\.\w+)*@(\w)+((\.\w+)+)$"); if (!reg.IsMatch(tbxEmail.Text.Trim())) { strmsg = "请检查您填写的Email地址!"; MessageBoxShow(strmsg); return; } else { member.Email = tbxEmail.Text.Trim(); } } member.Qq = tbxQq.Text.Trim(); member.Msn = tbxMsn.Text.Trim(); member.Url = tbxUrl.Text.Trim(); member.Active = ckbIsactive.Checked ? "T" : "F"; member.Islock = ckbIslock.Checked ? "T" : "F"; member.Phone = tbxPhone.Text.Trim(); member.Addres = tbxAddres.Text.Trim(); member.Mobile = this.tbxMobile.Text.Trim(); Dictmember oldmember = ViewState["oldmember"] as Dictmember; if (!new ProRegisterService().UpdateMemberInfo(oldmember, member)) { MessageBoxShow("保存失败,请刷新页面重试"); return; } else { MessageBoxShow("保存成功!"); // PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference()); } oldmember = member; }
/// <summary>会员资料赋值 /// 会员资料赋值 /// </summary> /// <param name="member"></param> private void SetMemberInfo(Dictmember member) { tbxPhone.Text = member.Phone; tbxMobile.Text = member.Mobile; tbxEMail.Text = member.Email; dateBirthday.Text = member.Birthday == null ? "" : member.Birthday.Value.ToString("yyyy-MM-dd"); tbxAddres.Text = member.Addres; tbxIDNumber.Text = member.Idnumber; tbxmemberID.Text = member.Dictmemberid.ToString(); tbxName.Text = member.Realname; DropSex.SelectedValue = member.Sex; }
private void selectMemberByRowIndex(int index) { int memberid = Convert.ToInt32(GridMember.DataKeys[index][0]); Dictmember member = memberservice.GetMemberById(memberid); if (member == null) { MessageBoxShow(string.Format("不存在ID为[{0}]的会员", memberid)); return; } tbxmember.Text = member.Dictmemberid.ToString(); tbxName.Text = member.Realname; winMemberSelect.Hidden = true; }
private void selectMemberByRowIndex(int index) { int memberid = Convert.ToInt32(GridMember.DataKeys[index][0]); Dictmember member = memberservice.GetMemberById(memberid); if (member != null) { SetMemberInfo(member); winMemberSelect.Hidden = true; GetAge(); tbxmember.Text = string.Empty; } }
/// <summary> /// 会员资料赋值 /// </summary> /// <param name="member"></param> private void SetMemberInfo(Dictmember member) { tbxMobile.Text = member.Mobile; tbxEMail.Text = member.Email; if (member.Birthday != null) { dateBirthday.Text = member.Birthday.Value.ToString("yyyy-MM-dd"); } tbxAddres.Text = member.Addres; tbxIDNumber.Text = member.Idnumber; tbxmemberID.Text = member.Dictmemberid.ToString(); tbxName.Text = member.Realname; DropSex.SelectedValue = member.Sex; radlIsMarried.SelectedValue = member.Ismarried == null ? "2" : member.Ismarried; }
/// <summary> /// 获取单个会员信息 /// </summary> public Dictmember GetMemberById(double?memberid) { Dictmember member = new Dictmember(); member.Dictmemberid = memberid; List <Dictmember> memberList = GetDictmemberList(member); if (memberList.Count > 0) { member = memberList[0]; } else { member = null; } return(member); }
// 修改时绑定会员数据和订单表数据 private void OrderBindData(string ordernum) { Orders order = registerserver.SelectOrderInfo(ordernum); Dictmember member = memberservice.GetMemberById(order.Dictmemberid); //会员赋值 SetMemberInfo(member); //订单 tbxRemark.Text = order.Remarks; tbxItemTest.Label = tbxItemTest.Text = order.Ordertestlst; string[] strage = order.Age.Split('岁'); tbxAge.Text = strage[0]; string[] strmoneth = strage[1].Split('月'); tbxMonth.Text = strmoneth[0]; string[] strday = strmoneth[1].Split('日'); tbxDay.Text = strday[0]; string[] strhour = strday[1].Split('时'); tbxHour.Text = strhour[0]; radlCustomerType.SelectedValue = order.Ordersource; radlIsMarried.SelectedValue = order.Ismarried; tbxSection.Text = order.Section; tbxProvincename.Text = order.Province != null ? order.Province : ""; tbxCityname.Text = order.City != null ? order.City : ""; tbxCountyname.Text = order.County != null ? order.County : ""; txtPostAddress.Text = order.PostAddress; txtRECIPIENT.Text = order.Recipient; txtCONTACTNUMBER.Text = order.ContactNumber; tbxDictLab.Text = loginservice.GetLoginDictlab().Where <Dictlab>(c => c.Dictlabid == order.Dictlabid).First <Dictlab>().Labname; if (order.Ordersource == "1") { IEnumerable <Dictcustomer> IEcustomer = loginservice.GetDictcustomer().Where <Dictcustomer>(c => c.Dictcustomerid == order.Dictcustomerid); if (IEcustomer.Count() > 0) { tbxCustomer.Text = IEcustomer.First <Dictcustomer>().Customername; } } else { tbxCustomer.Text = "个人客户"; } txtArea.Text = order.Area ?? ""; tbxAccountmanager.Text = order.AccountManager ?? ""; }
/// <summary>修改时绑定会员数据和订单表数据 /// 修改时绑定会员数据和订单表数据 /// </summary> /// <param name="ordernum">订单号</param> private void OrderBindData(string ordernum) { Orders order = registerserver.SelectOrderInfo(ordernum); Dictmember member = memberservice.GetMemberById(order.Dictmemberid); //会员赋值 SetMemberInfo(member); //订单 tbxRemark.Text = order.Remarks; tbxItemTest.Label = tbxItemTest.Text = order.Ordertestlst; string[] strage = order.Age.Split('岁'); tbxAge.Text = strage[0]; string[] strmoneth = strage[1].Split('月'); tbxMonth.Text = strmoneth[0]; string[] strday = strmoneth[1].Split('日'); tbxDay.Text = strday[0]; string[] strhour = strday[1].Split('时'); tbxHour.Text = strhour[0]; radlIsMarried.SelectedValue = order.Ismarried; //分点 tbxDictLab.Label = order.Dictlabid.ToString(); tbxDictLab.Text = loginservice.GetLoginDictlab().Where <Dictlab>(c => c.Dictlabid == order.Dictlabid).First <Dictlab>().Labname; tbxSection.Text = order.Section; //单位 if (order.Ordersource == "1") { IEnumerable <Dictcustomer> IEcustomer = loginservice.GetDictcustomer().Where <Dictcustomer>(c => c.Dictcustomerid == order.Dictcustomerid); if (IEcustomer.Count() > 0) { tbxCustomer.Label = IEcustomer.First <Dictcustomer>().Dictcustomerid.ToString(); tbxCustomer.Text = IEcustomer.First <Dictcustomer>().Customername; } } else { tbxCustomer.Text = "个人客户"; } }
/// <summary> /// 对比是否有修改 /// </summary> /// <param name="content"></param> /// <param name="_order"></param> /// <param name="order"></param> /// <param name="_member"></param> private static void ContrastObject(ref string content, Orders order, Orders _order, Dictmember member) { Dictmember _member = memberservice.GetMemberById(_order.Dictmemberid); if (_member.Realname != member.Realname) { content += string.Format("姓名:[{0}]更改为[{1}],", _member.Realname, member.Realname); } if (_member.Birthday != member.Birthday) { content += string.Format("出生日期:[{0}]更改为[{1}],", _member.Birthday, member.Birthday); } if (_member.SexName != member.SexName) { content += string.Format("性别:[{0}]更改为[{1}],", _member.SexName, member.SexName); } if (_member.Phone != member.Phone) { content += string.Format("电话:[{0}]更改为[{1}],", _member.Phone, member.Phone); } if (_member.Mobile != member.Mobile) { content += string.Format("手机:[{0}]更改为[{1}],", _member.Mobile, member.Mobile); } if (_member.Addres != member.Addres) { content += string.Format("地址:[{0}]更改为[{1}],", _member.Addres, member.Addres); } if (_member.Email != member.Email) { content += string.Format("Email:[{0}]更改为[{1}],", _member.Email, member.Email); } if (_member.Idnumber != member.Idnumber) { content += string.Format("身份证号:[{0}]更改为[{1}],", _member.Idnumber, member.Idnumber); } if (_order.Province != order.Province) { content += string.Format("省份:[{0}]更改为[{1}]", _order.Province, order.Province); } if (_order.City != order.City) { content += string.Format("城市:[{0}]更改为[{1}]", _order.City, order.City); } if (_order.County != order.County) { content += string.Format("地区:[{0}]更改为[{1}]", _order.County, order.County); } if (_order.Area != order.Area) { content += string.Format("营业区:[{0}]更改为[{1}]", _order.Area, order.Area); } if (_order.AccountManager != order.AccountManager) { content += string.Format("客户经理:[{0}]更改为[{1}]", _order.AccountManager, order.AccountManager); } if (_order.Age != order.Age) { content += string.Format("年龄:[{0}]更改为[{1}],", _order.Age, order.Age); } if (_order.Remarks != order.Remarks) { content += string.Format("备注:[{0}]更改为[{1}],", _order.Remarks, order.Remarks); } if (_order.Dictcustomerid != order.Dictcustomerid) { content += string.Format("客户ID:[{0}]更改为[{1}],", _order.Dictcustomerid, order.Dictcustomerid); } if (_order.Section != order.Section) { content += string.Format("部门:[{0}]更改为[{1}],", _order.Section, order.Section); } if (_order.Dictlabid != order.Dictlabid) { content += string.Format("分点ID:[{0}]更改为[{1}],", _order.Dictlabid, order.Dictlabid); } if (_order.Ismarried != order.Ismarried) { content += string.Format("婚否:[{0}]更改为[{1}],", _order.Ismarried, order.Ismarried); } if (_order.Ordertestlst != order.Ordertestlst) { content += string.Format("项目清单:[{0}]更改为[{1}],", _order.Ordertestlst, order.Ordertestlst); } if (_order.PostAddress != order.PostAddress) { content += string.Format("邮寄地址:[{0}]更改为[{1}]", _order.PostAddress, order.PostAddress); } if (_order.Recipient != order.Recipient) { content += string.Format("收件人:[{0}]更改为[{1}]", _order.Recipient, order.Recipient); } if (_order.ContactNumber != order.ContactNumber) { content += string.Format("联系电话:[{0}]更改为[{1}]", _order.ContactNumber, order.ContactNumber); } }
///保存 protected void BtnSave_Click(object sender, EventArgs e) { GridRowCollection GridRow = GridTest.Rows; double?memberid = null; if (tbxmemberID.Text != string.Empty) { memberid = Convert.ToDouble(tbxmemberID.Text); } //获取系统时间时间 DateTime?date = loginservice.GetServerTime(); DateTime?datebirthday = null; int year = 0, month = 0, day = 0, hour = 0;//年月日时 double customerid; //验证 string msg = SaveCheck(date, out datebirthday, out year, out month, out day, out hour, out customerid); if (msg != string.Empty) { MessageBoxShow(msg); return; } List <Dicttestitem> grouptestList = new List <Dicttestitem>(); //订单中组合集合 List <Dicttestitem> productList = new List <Dicttestitem>(); //订单中套餐集合 ///实验室分点 double labid = Convert.ToDouble(DropDictLab.SelectedValue); List <Dicttestgroupdetail> TestGroupDetailList = loginservice.GetLoginDicttestgroupdetail();//组合项目字典 //获取集合 //List<OrderRegister> l = ViewState["GridTest"] as List<OrderRegister>; List <OrderRegister> _gridtestList = GetGridTest(true); //MessageBoxShow(l.Count.ToString() + "\t" + GridRow.Count.ToString()); //return; //已接收的条码号 string ReceivedBarcode = string.Empty; #region >>>> zhouy 获取订单中 组合,套餐 for (int i = 0; i < _gridtestList.Count; i++) { OrderRegister item = _gridtestList[i]; if (item.IsProduct)///套餐 去套餐ID和套餐名 { ///---------------------添加套餐------------------------------------- ///不包含此套餐才添加 if (productList.Where(c => c.Dicttestitemid == item.Productid).Count() <= 0) { Dicttestitem _product = registerserver.SelectsTestItemListById(item.Productid); productList.Add(_product); } ///----------------------end添加套餐------------------------------------- } else { Dicttestitem _product = registerserver.SelectsTestItemListById(item.Id); productList.Add(_product); } if ((Convert.ToInt32(item.Status)) >= ((int)daan.service.common.ParamStatus.OrderbarcodeStatus.Received)) { ReceivedBarcode += item.Barcode + ','; //continue; } string str = registerserver.checkSex(item.Id, DropSex.SelectedValue); if (str != string.Empty) { MessageBoxShow(str); return; } Dicttestitem _groupitem; ///添加组合|项目 _groupitem = new Dicttestitem(); _groupitem = registerserver.SelectsTestItemListById(item.Id); _groupitem.IsActive = item.Isactive; //是否停止测试 _groupitem.Isadd = item.Isadd; ///是否追加 _groupitem.Billed = item.Billed; _groupitem.Sendbilled = item.Sendbilled; _groupitem.Adduserid = item.Adduserid;///追加人ID _groupitem.Sendoutcustomerid = item.Sendoutcustomerid; _groupitem.Tubegroup = item.Tubegroup; _groupitem.Barcode = item.Barcode; _groupitem.Productid = item.Productid; _groupitem.Productname = item.Productname;///套餐名 grouptestList.Add(_groupitem); } #endregion #region >>>> zhouy 会员信息 Dictmember _member = new Dictmember(); _member.Realname = tbxName.Text.Trim(); _member.Idnumber = tbxIDNumber.Text == string.Empty ? "" : tbxIDNumber.Text; //检查会员 string errstr = registerserver.checkmember(memberid, ref _member); if (errstr != string.Empty) { MessageBoxShow(errstr); return; } _member.Nickname = tbxName.Text; _member.Sex = DropSex.SelectedValue; _member.Birthday = datebirthday; _member.Addres = tbxAddres.Text; _member.Phone = tbxPhone.Text; _member.Mobile = tbxMobile.Text; _member.Email = tbxEMail.Text; _member.Islock = "F";///是否锁定 #endregion #region >>>> zhouy insert Orders Orders order = registerserver.SelectOrderInfo(tbxOrderNum.Text); Orders _orders = order.Copy <Orders>(); _orders.Ordernum = tbxOrderNum.Text; ///体检流水号 _orders.Remarks = tbxRemark.Text; ///备注 _orders.Dictmemberid = _member.Dictmemberid; ///会员ID _orders.Dictcustomerid = customerid; ///所属客户ID _orders.Realname = _member.Nickname; _orders.Sex = _member.Sex; ///性别 对应INITBASIC表 _orders.Caculatedage = AgeToHour(year, month, day, hour); ///计算后的年龄(小时为单位) _orders.Age = string.Format("{0}岁{1}月{2}日{3}时", year, month, day, hour);; ///年龄字符串拼接 年月日时 _orders.Ordertestlst = tbxItemTest.Text; ///项目清单(冗余字段) _orders.Dictlabid = labid; ///实验室分点 _orders.Ordersource = "1"; _orders.Ismarried = radlIsMarried.SelectedValue; ///婚否 _orders.Section = tbxSection.Text; ///部门 _orders.Lastupdatedate = date; //最后更新时间 //省市区 _orders.Province = dpProvince.SelectedValue == "-1"?"":dpProvince.SelectedText; _orders.City = dpCity.SelectedValue == "-1" ? "" : dpCity.SelectedText; _orders.County = dpCounty.SelectedValue == "-1" ? "" : dpCounty.SelectedText; //邮寄信息 _orders.ContactNumber = txtCONTACTNUMBER.Text.Trim(); _orders.Recipient = txtRECIPIENT.Text.Trim(); _orders.PostAddress = txtPostAddress.Text.Trim(); //营业区 _orders.Area = txtArea.Text.Trim(); _orders.AccountManager = tbxAccountmanager.Text.Trim(); //采样日期 DateTime?spdate = null; if (dtSampleDate.Text != "") { spdate = Convert.ToDateTime(dtSampleDate.Text); } _orders.SamplingDate = spdate; #endregion string Content = string.Empty; ContrastObject(ref Content, _orders, order, _member); //是否有条码被物流接收 bool isreceived = ReceivedBarcode.TrimEnd(',') != string.Empty; string error = ""; bool b = registerserver.insertUpdateOrders("订单修改", Content, false, productList, grouptestList, _member, _orders, ReceivedBarcode.TrimEnd(','), ref error); if (b) { if (isreceived && (Content.Contains("年龄") || Content.Contains("性别")))//物流接受 则需要提示通知 { MessageBoxShow("该订单标本已被实验室接收,修改了年龄或者性别,请通知实验室"); } PageContext.RegisterStartupScript(ActiveWindow.GetHideReference()); } else { MessageBoxShow("保存失败:" + error); } }
private bool AutoUploadFile(DataTable dt, DataRow headerDr) { double?Orderfileheaderid = Convert.ToDouble(headerDr["Orderfileheaderid"]); double?enterby = Convert.ToDouble(headerDr["enterby"]); double?dictcustormer = Convert.ToDouble(headerDr["dictcustormer"]); double?dictlabid = Convert.ToDouble(headerDr["dictlabid"]); string province = headerDr["province"].ToString(); string city = headerDr["city"].ToString(); string county = headerDr["county"].ToString(); bool isunifiedpost = false; if (headerDr["isunifiedpost"].ToString() == "1") { isunifiedpost = true; } string postaddress = headerDr["postaddress"].ToString(); string recipient = headerDr["recipient"].ToString(); string contactnumber = headerDr["contactnumber"].ToString(); DictuserService userService = new DictuserService(); string username = userService.GetDictuserInfoAuto(enterby).Username; Orderfiledetail filedetail = new Orderfiledetail(); Orderfileheader fileheader = new Orderfileheader() { Orderfileheaderid = Orderfileheaderid, Status = 1 }; //bool isCacheData = true; //string conTestCode = ConfigurationManager.AppSettings["NoCacheTestCode"]; //List<Dicttestitem> TestItemList = loginservice.GetLoginDicttestitemListNoCache();//项目字典表 List <Dictproductdetail> ProductDetail = loginservice.GetLoginDictproductdetailNoCache(); //套餐组合字典 List <Dicttestitem> productlistTemp = new DicttestitemService().GetProduct(TypeParse.StrToDouble(dictcustormer, 0)); //查询分点+公用套餐 string _productname = string.Empty; for (int i = (dt.Rows.Count - 1); i >= 0; i--) { bool b = false;//添加是否成功 string errstr = ""; DataRow dr = dt.Rows[i]; string productTestCode = dr["套餐代码"].ToString().Replace('_', ' ').Trim(); string detailbarcode = string.Empty; try { detailbarcode = dr["条码号"].ToString().Replace('_', ' ').Trim(); if (detailbarcode != string.Empty) { Convert.ToDouble(detailbarcode); } } catch (Exception) { } string mobile = dr["手机"].ToString().Trim(); string idnumber = dr["身份证"].ToString().Trim(); string realname = dr["姓名"].ToString().Trim(); if (string.IsNullOrEmpty(realname) || string.IsNullOrEmpty(productTestCode)) { filedetail.Reason = "姓名、套餐代码不可以为空!"; filedetail.Status = 0; filedetail.Barcode = detailbarcode; filedetail.Orderfileheaderid = Orderfileheaderid; filedetail.Createdate = DateTime.Now; filedetail.Realname = realname; filedetail.Mobile = mobile; filedetail.Idnumber = idnumber; detailservice.InsertOrderfiledetail(filedetail); continue; } #region 条码号检查 if (detailbarcode != string.Empty && detailbarcode.Length != 12)//条码号非12位 { filedetail.Reason = string.Format("条码号[{0}]必须为12位数字,可以为空!", detailbarcode); filedetail.Status = 0; filedetail.Barcode = detailbarcode; filedetail.Orderfileheaderid = Orderfileheaderid; filedetail.Createdate = DateTime.Now; filedetail.Realname = realname; filedetail.Mobile = mobile; filedetail.Idnumber = idnumber; detailservice.InsertOrderfiledetail(filedetail); continue; } if (detailbarcode != string.Empty && detailbarcode.Substring(detailbarcode.Length - 2) != "00")//条码号不以00结尾 { filedetail.Reason = string.Format("此条码号[{0}]不是以00结尾,请更改条码号!", detailbarcode); filedetail.Status = 0; filedetail.Barcode = detailbarcode; filedetail.Orderfileheaderid = Orderfileheaderid; filedetail.Createdate = DateTime.Now; filedetail.Realname = realname; filedetail.Mobile = mobile; filedetail.Idnumber = idnumber; detailservice.InsertOrderfiledetail(filedetail); continue; } if (barcodeservice.CheckBarCode(detailbarcode))//条码号存在 { filedetail.Reason = string.Format("此条码号[{0}]已在本系统内生成,请更改条码号!", detailbarcode); filedetail.Status = 0; filedetail.Barcode = detailbarcode; filedetail.Orderfileheaderid = Orderfileheaderid; filedetail.Createdate = DateTime.Now; filedetail.Realname = realname; filedetail.Mobile = mobile; filedetail.Idnumber = idnumber; detailservice.InsertOrderfiledetail(filedetail); continue; } #endregion string sex = "U"; if (dr["性别"] != DBNull.Value && !string.IsNullOrEmpty(dr["性别"].ToString())) { //if (dr["性别"].ToString() == "女") // sex = "F"; //else if (dr["性别"].ToString() == "男") // sex = "M"; sex = dr["性别"].ToString().Replace('_', ' ').Trim() == "女" ? "F" : (dr["性别"].ToString().Replace('_', ' ').Trim() == "男" ? "M" : "U"); } List <Dicttestitem> productList = productlistTemp.Where <Dicttestitem>(c => c.Testcode == productTestCode && (c.Forsex.ToUpper() == sex.ToUpper() || c.Forsex.ToUpper() == "B")).ToList <Dicttestitem>(); List <Dicttestitem> grouptestList = new List <Dicttestitem>(); Dicttestitem productinfo = null; if (productList.Count == 0) { filedetail.Reason = String.Format("套餐代码[{0}]无匹配项,请查看性别是否匹配或者是否有该套餐。", productTestCode); filedetail.Status = 0; filedetail.Barcode = detailbarcode; filedetail.Orderfileheaderid = Orderfileheaderid; filedetail.Createdate = DateTime.Now; filedetail.Realname = realname; filedetail.Mobile = mobile; filedetail.Idnumber = idnumber; detailservice.InsertOrderfiledetail(filedetail); continue; } else if (productList.Count > 1) { filedetail.Reason = String.Format("存在多个套餐代码为[{0}]的套餐", productTestCode); filedetail.Status = 0; filedetail.Barcode = detailbarcode; filedetail.Orderfileheaderid = Orderfileheaderid; filedetail.Createdate = DateTime.Now; filedetail.Realname = realname; filedetail.Mobile = mobile; filedetail.Idnumber = idnumber; detailservice.InsertOrderfiledetail(filedetail); continue; } else { productinfo = productList[0]; if (productinfo.Testtype == "2")//公用套餐 { _productname = productinfo.Testname.ToString().Replace("(公用套餐)", ""); } else { _productname = productinfo.Testname; } //检验套餐中项目组合信息(性别是否相符;是否重复添加项目组合;项目是否维护分管原则、科室和标本类型) string msg = registerservice.AddProductAuto(sex, productinfo, detailbarcode); if (msg != string.Empty) { filedetail.Reason = msg; filedetail.Status = 0; filedetail.Barcode = detailbarcode; filedetail.Orderfileheaderid = Orderfileheaderid; filedetail.Createdate = DateTime.Now; filedetail.Realname = realname; filedetail.Mobile = mobile; filedetail.Idnumber = idnumber; detailservice.InsertOrderfiledetail(filedetail); continue; } //套餐下组合项目 IEnumerable <Dictproductdetail> IEgroup = ProductDetail.Where <Dictproductdetail>(c => c.Productid == productinfo.Dicttestitemid); bool iscontinue = true; string msgdetail = string.Empty; foreach (Dictproductdetail item in IEgroup) { Dicttestitem groupinfo = registerservice.SelectDicttestitemByDicttestitemid(item.Testgroupid); if (groupinfo == null) { msgdetail += string.Format("没有找到套餐[{0}]下ID为[{1}]的{2}[{3}]!", _productname, item.Testgroupid, groupinfo.Testtype == "0" ? "单项" : "组合", groupinfo.Testname) + ";"; iscontinue = false; continue; } groupinfo.Productid = productinfo.Dicttestitemid; groupinfo.Productname = productinfo.Testname; ///套餐名 groupinfo.IsActive = "1"; //是否停止测试 groupinfo.Isadd = "0"; ///是否追加 groupinfo.Billed = "0"; groupinfo.Sendbilled = "0"; groupinfo.Adduserid = null;//追加人ID if (detailbarcode == string.Empty) { IEnumerable <Dicttestitem> IEtempbarcodeList = grouptestList.Where <Dicttestitem>(c => c.Tubegroup == groupinfo.Tubegroup); if (IEtempbarcodeList.Count() > 0) { groupinfo.Barcode = IEtempbarcodeList.First <Dicttestitem>().Barcode; } else { groupinfo.Barcode = registerservice.GetBarCode(); } } else { groupinfo.Barcode = detailbarcode; } //获取外包客户 Dictproductdetail detail = ProductDetail.Where <Dictproductdetail>(c => c.Productid == productinfo.Dicttestitemid && c.Testgroupid == groupinfo.Dicttestitemid).First <Dictproductdetail>(); groupinfo.Sendoutcustomerid = detail.Sendoutcustomerid; grouptestList.Add(groupinfo); } if (!iscontinue) { if (!string.IsNullOrEmpty(msgdetail)) { filedetail.Reason = msgdetail; filedetail.Status = 0; filedetail.Barcode = detailbarcode; filedetail.Orderfileheaderid = Orderfileheaderid; filedetail.Createdate = DateTime.Now; filedetail.Realname = realname; filedetail.Mobile = mobile; filedetail.Idnumber = idnumber; detailservice.InsertOrderfiledetail(filedetail); } continue; } } #region >>>> 不存在此会员添加会员 Dictmember member = new Dictmember() { Realname = realname, Idnumber = idnumber }; //检查会员 errstr = registerservice.checkmember(null, ref member); if (errstr != string.Empty) { filedetail.Reason = errstr; filedetail.Status = 0; filedetail.Barcode = detailbarcode; filedetail.Orderfileheaderid = Orderfileheaderid; filedetail.Createdate = DateTime.Now; filedetail.Realname = realname; filedetail.Mobile = mobile; filedetail.Idnumber = idnumber; detailservice.InsertOrderfiledetail(filedetail); continue; } member.Nickname = member.Realname; member.Sex = sex; DateTime datebirthday; bool dateb = DateTime.TryParse(dr["出生日期"].ToString(), out datebirthday); if (dateb) { member.Birthday = datebirthday; } member.Addres = dr["住址"].ToString().Trim(); member.Phone = dr["电话"].ToString().Trim(); if (!string.IsNullOrWhiteSpace(dr["手机"].ToString().Trim())) { double a; bool mobileb = double.TryParse(dr["手机"].ToString().Trim(), out a); if (!mobileb) { filedetail.Reason = "手机号码填写不正确,不要有特殊字符,[-]也不能包含"; filedetail.Barcode = detailbarcode; filedetail.Status = 0; filedetail.Orderfileheaderid = Orderfileheaderid; filedetail.Createdate = DateTime.Now; filedetail.Realname = realname; filedetail.Mobile = mobile; filedetail.Idnumber = idnumber; detailservice.InsertOrderfiledetail(filedetail); continue; } } member.Mobile = dr["手机"].ToString().Trim(); member.Email = dr["邮箱"].ToString().Trim(); #endregion #region >>>> insert Orders double year = 0, month = 0, day = 0; double hours = 0;//小时 double age = 0; string agestr = dr["年龄"].ToString().Replace('_', ' ').Trim(); string ageFiled = string.Empty; bool ageb = double.TryParse(agestr, out age); if (member.Birthday == null) { if (agestr != string.Empty && ageb) { year = age; day = age * 365; member.Birthday = datebirthday = DateTime.Now.AddDays((0 - day)); } else { filedetail.Reason = "生日和年龄必须填写一项或者两项均填写错误"; filedetail.Barcode = detailbarcode; filedetail.Status = 0; filedetail.Orderfileheaderid = Orderfileheaderid; filedetail.Createdate = DateTime.Now; filedetail.Realname = realname; filedetail.Mobile = mobile; filedetail.Idnumber = idnumber; detailservice.InsertOrderfiledetail(filedetail); continue; } } TimeSpan ts = DateTime.Now - Convert.ToDateTime(member.Birthday);//时间差 year = Math.Truncate((double)(ts.Days / 365)); month = (ts.Days % 365) / 30; day = (ts.Days % 365) % 30; hours = ts.TotalHours; ageFiled = string.Format("{0}岁{1}月{2}日{3}时", year, month, day, 0);; //年龄字符串拼接 岁月日时 Orders _orders = new Orders(); _orders.Ordernum = new ProRegisterService().GetOrderNum();; //体检流水号 _orders.Remarks = dr["备注"].ToString().Trim(); //备注 _orders.Dictmemberid = member.Dictmemberid; //会员ID _orders.Dictcustomerid = dictcustormer; //所属客户ID 界面选择 _orders.Realname = member.Realname; _orders.Sex = member.Sex; //性别 对应INITBASIC表 _orders.Caculatedage = hours; //计算后的年龄(小时为单位) _orders.Age = ageFiled; _orders.Enterby = username; //录入人 _orders.Ordertestlst = _productname + ","; //项目清单(冗余字段) _orders.Dictlabid = dictlabid; //实验室分点 _orders.Ordersource = "1"; //单位上传 全是单位来源 _orders.Ismarried = dr["婚否"].ToString() == "未婚" ? "0" : (dr["婚否"].ToString() == "已婚" ? "1" : "2"); _orders.Section = dr["部门"].ToString().Trim(); _orders.Status = ((int)ParamStatus.OrdersStatus.BarCodePrint).ToString(); DateTime samplingdate; bool s = DateTime.TryParse(dr["采样日期"].ToString(), out samplingdate); if (s) { TimeSpan timespan = DateTime.Now - samplingdate; if (Math.Abs(timespan.Days) > 30) { filedetail.Reason = "采样时间与当前时间相差不能超过一个月"; filedetail.Barcode = detailbarcode; filedetail.Status = 0; filedetail.Orderfileheaderid = Orderfileheaderid; filedetail.Createdate = DateTime.Now; filedetail.Realname = realname; filedetail.Mobile = mobile; filedetail.Idnumber = idnumber; detailservice.InsertOrderfiledetail(filedetail); continue; } _orders.SamplingDate = samplingdate; } _orders.Province = province; _orders.City = city; _orders.County = county; if (isunifiedpost) { _orders.PostAddress = postaddress; _orders.Recipient = recipient; _orders.ContactNumber = contactnumber; } else { _orders.PostAddress = dr["住址"].ToString().Trim(); _orders.Recipient = realname; _orders.ContactNumber = dr["手机"].ToString().Trim(); } _orders.Area = dr["营业区"].ToString().Replace('_', ' ').Trim(); _orders.BatchNumber = dr["场次号"].ToString().Replace('_', ' ').Trim(); //add 20160530 增加客户经理字段 if (dt.Columns.Contains("客户经理")) { _orders.AccountManager = dr["客户经理"].ToString().Replace('_', ' ').Trim(); } //add 20160612 增加本批标本总数字段 if (dt.Columns.Contains("本批标本总数")) { _orders.SpecimenCount = dr["本批标本总数"].ToString().Replace('_', ' ').Trim(); } #endregion System.Collections.Hashtable htScan = new System.Collections.Hashtable(); htScan.Add("isScan", true); htScan.Add("EnterByID", enterby); htScan.Add("EnterBy", username); b = registerservice.insertUpdateOrdersAuto("单位批量上传", "", true, productList, grouptestList, member, _orders, "", ref errstr, htScan); if (b) { filedetail.Barcode = detailbarcode; filedetail.Reason = ""; filedetail.Status = 1; filedetail.Orderfileheaderid = Orderfileheaderid; filedetail.Createdate = DateTime.Now; filedetail.Realname = realname; filedetail.Mobile = mobile; filedetail.Idnumber = idnumber; detailservice.InsertOrderfiledetail(filedetail); } else { filedetail.Barcode = detailbarcode; filedetail.Reason = errstr + " 【Excel格式参照导入模版说明】"; filedetail.Status = 0; filedetail.Orderfileheaderid = Orderfileheaderid; filedetail.Createdate = DateTime.Now; filedetail.Realname = realname; filedetail.Mobile = mobile; filedetail.Idnumber = idnumber; detailservice.InsertOrderfiledetail(filedetail); } } return(headerservice.UpdateOrderfileheader(fileheader)); }
//导入 protected void btnImport_Click(object sender, EventArgs e) { if (DropDictLab.SelectedValue == null) { MessageBoxShow("请先选择分点!"); return; } if (DropCustomer.SelectedIndex == 0) { MessageBoxShow("请先选择单位!"); return; } if (dpProvince.SelectedValue == "-1" || dpCity.SelectedValue == "-1") { MessageBoxShow("请选择省、市"); return; } string fileType = fileExcel.PostedFile.ContentType; if (fileType != "application/octet-stream" && fileType != "application/vnd.ms-excel" && fileType != "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" && fileType != "application/kset") { MessageBoxShow("请上传指定格式的Excel文件"); return; } if (ck1.Checked) { if (string.IsNullOrEmpty(txtAddress.Text.Trim()) || string.IsNullOrEmpty(txtRecName.Text.Trim()) || string.IsNullOrEmpty(txtTelphone.Text.Trim())) { MessageBoxShow("邮寄地址、收件人、联系电话不能为空"); return; } } string fileName = fileExcel.ShortFileName; fileName = fileName.Replace(":", "_").Replace(" ", "_").Replace("\\", "_").Replace("/", "_"); fileName = String.Format("{0}_{1}", DateTime.Now.Ticks, fileName); string savePath = Server.MapPath("~/upload/ExcelFiles/" + fileName); if (fileExcel.HasFile) { if (!Directory.Exists(Server.MapPath("~/upload/ExcelFiles"))) { Directory.CreateDirectory(Server.MapPath("~/upload/ExcelFiles")); } try { fileExcel.SaveAs(savePath); } catch (Exception ex) { MessageBoxShow("上传错误:" + ex.Message); return; } } DataTable dt; try { dt = RenderDataTableFromExcel(savePath); if (dt == null || dt.Rows.Count == 0) { MessageBoxShow("上传的文件数据不能为空!"); return; } //验证上传的excel是否符合模板标准,否则不让上传订单并删除上传的文件 string str = CheckDate(dt, fileName); if (!string.IsNullOrEmpty(str)) { MessageBoxShow(str); File.Delete(savePath);//删除文件 return; } } catch (Exception ex) { MessageBoxShow("请上传指定格式的Excel文件!\r\n提示信息:" + ex.Message); return; } List <Dicttestitem> TestItemList = loginservice.GetLoginDicttestitemList(); //项目字典表 List <Dictproductdetail> ProductDetail = loginservice.GetLoginDictproductdetail(); //套餐组合字典 //查询分点+公用套餐 List <Dicttestitem> productlistTemp = new DicttestitemService().GetProduct(TypeParse.StrToDouble(DropCustomer.SelectedValue, 0)); string _productname = string.Empty; #region 读取excel数据并上传订单 try { for (int i = (dt.Rows.Count - 1); i >= 0; i--) { bool b = false;//添加是否成功 string errstr = ""; DataRow dr = dt.Rows[i]; string productTestCode = dr["套餐代码"].ToString().Replace('_', ' ').Trim(); string sex = dr["性别"].ToString().Replace('_', ' ').Trim() == "女" ? "F" : (dr["性别"].ToString().Replace('_', ' ').Trim() == "男" ? "M" : "U"); List <Dicttestitem> productList = productlistTemp.Where <Dicttestitem>(c => c.Testcode == productTestCode && (c.Forsex == sex || c.Forsex == "B")).ToList <Dicttestitem>(); List <Dicttestitem> grouptestList = new List <Dicttestitem>(); Dicttestitem productinfo = null; if (productList.Count == 0) { errstr = String.Format("套餐代码[{0}]无匹配项,请查看性别是否匹配或者是否有该套餐。", productTestCode); SetTableValue(false, errstr, dr); continue; } else if (productList.Count > 1) { errstr = String.Format("存在多个套餐代码为[{0}]的套餐", productTestCode); SetTableValue(false, errstr, dr); continue; } else { productinfo = productList.First <Dicttestitem>(); List <OrderRegister> _gridtestList = null; string msg = registerservice.AddProduct(ref _gridtestList, sex, productinfo.Dicttestitemid, false, Userinfo, ref _productname, null); if (msg != string.Empty) { //错误 SetTableValue(false, msg, dr); continue; } string barcode = dr["条码号"].ToString().Replace('_', ' ').Trim(); if (barcode != string.Empty && barcode.Length != 12) { errstr = string.Format("条码号[{0}]必须为12位数字,可以为空!", barcode); SetTableValue(false, errstr, dr); continue; } if (barcode != string.Empty && barcode.Substring(barcode.Length - 2) != "00") { errstr = string.Format("条码号[{0}]必须以00结尾!", barcode); SetTableValue(false, errstr, dr); continue; } if (barcodeservice.CheckBarCode(barcode))//条码号存在 { errstr = string.Format("此条码号[{0}]已在本系统内生成,请更改条码号!", barcode); SetTableValue(false, errstr, dr); continue; } //套餐下组合项目 IEnumerable <Dictproductdetail> IEgroup = ProductDetail.Where <Dictproductdetail>(c => c.Productid == productinfo.Dicttestitemid); bool iscontinue = true; foreach (Dictproductdetail item in IEgroup) { IEnumerable <Dicttestitem> IEgruptest = TestItemList.Where <Dicttestitem>(c => c.Dicttestitemid == item.Testgroupid); if (IEgruptest.Count() <= 0) { errstr = string.Format("没有找到套餐[{0}]下ID为[{1}]的组合!", _productname, item.Testgroupid); SetTableValue(false, errstr, dr); continue; } Dicttestitem groupinfo = IEgruptest.First <Dicttestitem>(); //校验性别是否符合 string str = registerservice.checkSex(groupinfo.Dicttestitemid, sex); if (str != string.Empty) { SetTableValue(false, str, dr); iscontinue = false; break; } groupinfo.Productid = productinfo.Dicttestitemid; groupinfo.Productname = productinfo.Testname; ///套餐名 groupinfo.IsActive = "1"; //是否停止测试 groupinfo.Isadd = "0"; ///是否追加 groupinfo.Billed = "0"; groupinfo.Sendbilled = "0"; groupinfo.Adduserid = null;//追加人ID if (barcode == string.Empty) { IEnumerable <Dicttestitem> IEtempbarcodeList = grouptestList.Where <Dicttestitem>(c => c.Tubegroup == groupinfo.Tubegroup); if (IEtempbarcodeList.Count() > 0) { groupinfo.Barcode = IEtempbarcodeList.First <Dicttestitem>().Barcode; } else { groupinfo.Barcode = registerservice.GetBarCode(); } } else { groupinfo.Barcode = barcode; } //获取外包客户 Dictproductdetail detail = ProductDetail.Where <Dictproductdetail>(c => c.Productid == productinfo.Dicttestitemid && c.Testgroupid == groupinfo.Dicttestitemid).First <Dictproductdetail>(); groupinfo.Sendoutcustomerid = detail.Sendoutcustomerid; grouptestList.Add(groupinfo); } if (!iscontinue) { continue; } } #region >>>> zhouy 不存在此会员添加会员 string realname = dr["姓名"].ToString().Trim(); Dictmember member = new Dictmember() { Realname = realname }; string idnumber = dr["身份证"].ToString().Trim(); member.Idnumber = idnumber; //检查会员 errstr = registerservice.checkmember(null, ref member); if (errstr != string.Empty) { SetTableValue(false, errstr, dr); continue; } //List<Dictmember> memberList = memberservice.GetDictmemberList(member); //if (memberList.Count == 1)//存在此会员记录且只有一条 //{ // member = memberList[0]; // member.isAdd = false;//标识是否添加 //} //else //{ // member.Dictmemberid = loginservice.getSeqID("SEQ_DICTMEMBER"); // member.Islock = "F";//是否锁定 // member.isAdd = true; //} member.Nickname = member.Realname; member.Sex = sex; DateTime datebirthday; bool dateb = DateTime.TryParse(dr["出生日期"].ToString(), out datebirthday); if (dateb) { member.Birthday = datebirthday; } member.Addres = dr["住址"].ToString().Trim(); member.Phone = dr["电话"].ToString().Trim(); if (!string.IsNullOrWhiteSpace(dr["手机"].ToString().Trim())) { double a; bool mobileb = double.TryParse(dr["手机"].ToString().Trim(), out a); if (!mobileb) { SetTableValue(false, "手机号码填写不正确,不要有特殊字符,[-]也不能包含", dr); continue; } } member.Mobile = dr["手机"].ToString().Trim(); member.Email = dr["邮箱"].ToString().Trim(); #endregion double year = 0, month = 0, day = 0; double hours = 0;//小时 double age = 0; string agestr = dr["年龄"].ToString().Replace('_', ' ').Trim(); bool ageb = double.TryParse(agestr, out age); if (member.Birthday == null) { if (agestr != string.Empty && ageb) { year = age; day = age * 365; member.Birthday = datebirthday = DateTime.Now.AddDays((0 - day)); } else { SetTableValue(false, "生日和年龄必须填写一项或者两项均填写错误", dr); continue; } } TimeSpan ts = DateTime.Now - Convert.ToDateTime(member.Birthday);//时间差 year = Math.Truncate((double)(ts.Days / 365)); month = (ts.Days % 365) / 30; day = (ts.Days % 365) % 30; hours = ts.TotalHours; Orders _orders = new Orders(); _orders.Ordernum = new ProRegisterService().GetOrderNum();; //体检流水号 _orders.Remarks = dr["备注"].ToString().Trim(); //备注 _orders.Dictmemberid = member.Dictmemberid; //会员ID _orders.Dictcustomerid = Convert.ToDouble(DropCustomer.SelectedValue); //所属客户ID 界面选择 _orders.Realname = member.Realname; _orders.Sex = member.Sex; //性别 对应INITBASIC表 _orders.Caculatedage = hours; //计算后的年龄(小时为单位) _orders.Age = string.Format("{0}岁{1}月{2}日{3}时", year, month, day, 0); //年龄字符串拼接 岁月日时 _orders.Enterby = Userinfo.userName; //录入人 _orders.Ordertestlst = _productname + ","; //项目清单(冗余字段) _orders.Dictlabid = Convert.ToDouble(DropDictLab.SelectedValue); //实验室分点 _orders.Ordersource = "1"; //单位上传 全是单位来源 _orders.Ismarried = dr["婚否"].ToString() == "未婚" ? "0" : (dr["婚否"].ToString() == "已婚" ? "1" : "2"); _orders.Section = dr["部门"].ToString().Trim(); _orders.Status = ((int)ParamStatus.OrdersStatus.BarCodePrint).ToString(); DateTime samplingdate; bool s = DateTime.TryParse(dr["采样日期"].ToString(), out samplingdate); if (s) { TimeSpan timespan = DateTime.Now - samplingdate; if (Math.Abs(timespan.Days) > 30) { SetTableValue(false, "采样时间与当前时间相差不能超过一个月", dr); continue; } _orders.SamplingDate = samplingdate; } _orders.Province = dpProvince.SelectedValue == "-1" ? "" : dpProvince.SelectedText; _orders.City = dpCity.SelectedValue == "-1" ? "" : dpCity.SelectedText; _orders.County = dpCounty.SelectedValue == "-1" ? "" : dpCounty.SelectedText; if (ck1.Checked) { _orders.PostAddress = Regex.Replace(txtAddress.Text, @"\s", ""); _orders.ContactNumber = Regex.Replace(txtTelphone.Text, @"\s", ""); _orders.Recipient = Regex.Replace(txtRecName.Text, @"\s", ""); } else { _orders.PostAddress = dr["住址"].ToString().Trim(); _orders.Recipient = realname; _orders.ContactNumber = dr["手机"].ToString().Trim(); } //add 20160421 增加营业区、场次号 _orders.Area = dr["营业区"].ToString().Replace('_', ' ').Trim(); _orders.BatchNumber = dr["场次号"].ToString().Replace('_', ' ').Trim(); //add 20160530 增加客户经理字段 if (dt.Columns.Contains("客户经理")) { _orders.AccountManager = dr["客户经理"].ToString().Replace('_', ' ').Trim(); } //add 20160612 增加本批标本总数字段 if (dt.Columns.Contains("本批标本总数")) { _orders.SpecimenCount = dr["本批标本总数"].ToString().Replace('_', ' ').Trim(); } b = registerservice.insertUpdateOrders("单位批量上传", "", true, productList, grouptestList, member, _orders, "", ref errstr); SetTableValue(b, errstr, dr); } GridUpload.DataSource = dt; GridUpload.DataBind(); } catch (Exception ee) { string str = string.Format("导入失败,异常信息:{0}【Excel格式请严格参照导入模版说明】\n\n导入过程中如有疑问,请将异常信息截图后发与系统管理员。", ee.Message); MessageBoxShow(str); } #endregion }
///保存 protected void BtnSave_Click(object sender, EventArgs e) { GridRowCollection GridRow = GridTest.Rows; if (barcodeservice.CheckBarCode(tbxbarcode1.Text.Trim()))//条码号存在 { MessageBoxShow(string.Format("此条码号[{0}]已在本系统内生成,请更改条码号!", this.tbxbarcode1.Text.Trim())); return; } double?memberid = null; if (tbxmemberID.Text != string.Empty) { memberid = Convert.ToDouble(tbxmemberID.Text); } ///获取系统时间时间 DateTime?date = loginservice.GetServerTime(); DateTime?datebirthday = null; int year = 0, month = 0, day = 0, hour = 0;//年月日时 double customerid; //验证会员信息 string msg = SaveCheck(date, out datebirthday, out year, out month, out day, out hour, out customerid); if (msg != string.Empty) { MessageBoxShow(msg); return; } List <Dicttestitem> grouptestList = new List <Dicttestitem>(); //订单中组合集合 List <Dicttestitem> productList = new List <Dicttestitem>(); //订单中套餐集合 ///实验室分点 double labid = Convert.ToDouble(DropDictLab.SelectedValue); List <Dicttestgroupdetail> TestGroupDetailList = loginservice.GetLoginDicttestgroupdetail();//组合项目字典 //获取集合 List <OrderRegister> _gridtestList = GetGridTest(true); #region >>>> zhouy 获取订单中 组合,套餐 for (int i = 0; i < _gridtestList.Count; i++) { OrderRegister item = _gridtestList[i]; //判断性别是否符合 string str = registerserver.checkSex(item.Id, DropSex.SelectedValue); if (str != string.Empty) { MessageBoxShow(str); return; } Dicttestitem _groupitem; ///添加组合|项目 _groupitem = new Dicttestitem(); _groupitem = registerserver.SelectsTestItemListById(item.Id); _groupitem.IsActive = item.Isactive; //是否停止测试 _groupitem.Isadd = item.Isadd; ///是否追加 _groupitem.Billed = item.Billed; _groupitem.Sendbilled = item.Sendbilled; _groupitem.Adduserid = item.Adduserid;///追加人ID _groupitem.Sendoutcustomerid = item.Sendoutcustomerid; _groupitem.Tubegroup = item.Tubegroup; _groupitem.Barcode = item.Barcode; if (item.IsProduct)///套餐 去套餐ID和套餐名 { _groupitem.Productid = item.Productid; _groupitem.Productname = item.Productname;///套餐名 ///---------------------添加套餐------------------------------------- ///不包含此套餐才添加 if (productList.Where(c => c.Dicttestitemid == item.Productid).Count() <= 0) { Dicttestitem _product = registerserver.SelectsTestItemListById(item.Productid); productList.Add(_product); } ///----------------------end添加套餐------------------------------------- } else { Dicttestitem _product = registerserver.SelectsTestItemListById(item.Id); productList.Add(_product); } grouptestList.Add(_groupitem); } #endregion #region >>>> zhouy 会员信息 Dictmember member = new Dictmember(); member.Realname = tbxName.Text; member.Idnumber = tbxIDNumber.Text; //检查会员 string errstr = registerserver.checkmember(memberid, ref member); if (errstr != string.Empty) { MessageBoxShow(errstr); return; } member.Nickname = tbxName.Text; member.Sex = DropSex.SelectedValue; member.Birthday = datebirthday; member.Addres = tbxAddres.Text; member.Mobile = tbxMobile.Text; member.Email = tbxEMail.Text; member.Islock = "F";///是否锁定 #endregion #region >>>> zhouy insert Orders Orders _orders = new Orders(); _orders.Ordernum = tbxOrderNum.Text; ///体检流水号 _orders.Remarks = tbxRemark.Text; ///备注 _orders.Dictmemberid = member.Dictmemberid; ///会员ID _orders.Dictcustomerid = customerid; ///所属客户ID _orders.Realname = member.Nickname; _orders.Sex = member.Sex; ///性别 对应INITBASIC表 _orders.Caculatedage = AgeToHour(year, month, day, hour); ///计算后的年龄(小时为单位) _orders.Age = string.Format("{0}岁{1}月{2}日{3}时", year, month, day, hour);; ///年龄字符串拼接 年月日时 _orders.Enterby = Userinfo.userName; ///录入人 _orders.Ordertestlst = tbxItemTest.Text; ///项目清单(冗余字段) _orders.Dictlabid = labid; ///实验室分点 //_orders.Ordersource = radlCustomerType.SelectedValue; _orders.Ordersource = "1"; //默认单位 _orders.Ismarried = radlIsMarried.SelectedValue; ///婚否 _orders.Section = tbxSection.Text; ///部门 _orders.Createdate = date; //_orders.Provincename = dpProvince.SelectedValue == "-1" ? "" : dpProvince.SelectedText; //_orders.Cityname = dpCity.SelectedValue == "-1" ? "" : dpCity.SelectedText; //_orders.Countyname = dpCounty.SelectedValue == "-1" ? "" : dpCounty.SelectedText; #endregion string error = ""; bool b = registerserver.insertUpdateOrders("体检登记", "", true, productList, grouptestList, member, _orders, "", ref error); if (b) { clearData(true); } else { MessageBoxShow("保存失败:" + error); } }
/// <summary> /// 获取会员列表 /// </summary> public List <Dictmember> GetDictmemberList(Dictmember m) { List <Dictmember> ds = this.QueryList <Dictmember>("Dict.SelectDictmember", m).ToList <Dictmember>(); return(ds); }
/// <summary>修改时绑定会员数据和订单表数据 /// 修改时绑定会员数据和订单表数据 /// </summary> /// <param name="ordernum">订单号</param> private void OrderBindData(string ordernum) { Orders order = registerserver.SelectOrderInfo(ordernum); Dictmember member = memberservice.GetMemberById(order.Dictmemberid); //会员赋值 SetMemberInfo(member); //订单 tbxRemark.Text = order.Remarks; tbxItemTest.Label = tbxItemTest.Text = order.Ordertestlst; string[] strage = order.Age.Split('岁'); tbxAge.Text = strage[0]; string[] strmoneth = strage[1].Split('月'); tbxMonth.Text = strmoneth[0]; string[] strday = strmoneth[1].Split('日'); tbxDay.Text = strday[0]; string[] strhour = strday[1].Split('时'); tbxHour.Text = strhour[0]; radlIsMarried.SelectedValue = order.Ismarried; DropDictLab.SelectedValue = order.Dictlabid.ToString(); BindCustomer(order.Dictlabid); DropCustomer.SelectedValue = order.Dictcustomerid.ToString(); tbxSection.Text = order.Section; txtPostAddress.Text = order.PostAddress; txtRECIPIENT.Text = order.Recipient; txtCONTACTNUMBER.Text = order.ContactNumber; dtSampleDate.Text = order.SamplingDate == null ? "" : order.SamplingDate.Value.ToString("yyyy-MM-dd"); txtArea.Text = order.Area ?? ""; tbxAccountmanager.Text = order.AccountManager ?? ""; if (order.Province == null || order.Province == "") { dpProvince.SelectedIndex = 0; } else { dpProvince.SelectedValue = order.Province; } if (order.City == null || order.City == "") { dpCity.SelectedIndex = 0; } else { DropCityBinder(dpProvince, dpCity); dpCity.SelectedValue = order.City; } if (order.County == null || order.County == "") { dpCounty.SelectedIndex = 0; } else { DropCountyBinder(dpCity, dpCounty); dpCounty.SelectedValue = order.County; } //条码已打印则不能修改分点以及单位 if ((Convert.ToInt32(order.Status)) >= ((int)daan.service.common.ParamStatus.OrdersStatus.BarCodePrint)) { this.DropDictLab.Readonly = true; } }
/// <summary>上传体检订单 /// /// </summary> /// <param name="xmlStr"></param> /// <returns></returns> public static string UploadOrderInfo(string xmlStr) { xmlStr = xmlStr.TrimStart(''); string str = "<?xml version='1.0' encoding='utf-8'?>" + StringToXML(xmlStr); string strMessage = string.Empty; DataTable dt = new DataTable(); try { dt = GetDataTable(str); } catch (Exception ex) { return(String.Format("{0} {1}", ErrorCode.Up_0001, ex.Message)); } if (dt == null || dt.Rows.Count == 0 || dt.Columns.Count != 20) { return(ErrorCode.Up_0002); } List <Dicttestitem> TestItemList = loginservice.GetLoginDicttestitemList(); //项目字典表 List <Dictproductdetail> ProductDetail = loginservice.GetLoginDictproductdetail(); //套餐组合字典 string _productname = string.Empty; foreach (DataRow dr in dt.Rows) { #region 必填项 //套餐代码 string productTestCode = dr["uniquecode"].ToString().Replace('_', ' ').Trim(); //客户代码 string dictcustomerid = dr["dictcustomerid"].ToString().Trim(); //姓名 string realname = dr["realname"].ToString().Trim(); //性别 string sex = dr["sex"].ToString().Replace('_', ' ').Trim() == "女" ? "F" : (dr["sex"].ToString().Replace('_', ' ').Trim() == "男" ? "M" : "U"); //婚否 string ismarried = dr["ismarried"].ToString().Trim(); //手机 string mobile = dr["mobile"].ToString().Trim(); //住址 string address = dr["address"].ToString().Trim(); //省 string province = dr["province"].ToString().Trim(); //市 string city = dr["city"].ToString().Trim(); //分点实验室 string dictlabid = dr["dictlabid"].ToString().Trim(); //条码号 string barcode = dr["barcode"].ToString().Trim(); if (string.IsNullOrEmpty(productTestCode) || string.IsNullOrEmpty(dictcustomerid) || string.IsNullOrEmpty(dictlabid) || string.IsNullOrEmpty(barcode) || string.IsNullOrEmpty(realname) || string.IsNullOrEmpty(sex) || string.IsNullOrEmpty(ismarried) || string.IsNullOrEmpty(mobile) || string.IsNullOrEmpty(address) || string.IsNullOrEmpty(province) || string.IsNullOrEmpty(city)) { strMessage = ErrorCode.Up_0003; break; } #endregion #region 二者不可都为空 //出生日期 string birthday = dr["birthday"].ToString().Trim(); //年龄 string age = dr["age"].ToString().Trim(); if (string.IsNullOrEmpty(birthday) && string.IsNullOrEmpty(age)) { strMessage = ErrorCode.Up_0004; break; } #endregion #region 可空字段 //身份证 string idnumber = dr["idnumber"].ToString().Trim(); //部门 string section = dr["section"].ToString().Trim(); //备注 string remark = dr["remark"].ToString().Trim(); //电话 string phone = dr["phone"].ToString().Trim(); //邮箱 string email = dr["email"].ToString().Trim(); //采样日期 string samplingdate = dr["samplingdate"].ToString().Trim(); //区 string county = dr["county"].ToString().Trim(); #endregion DateTime datebirthday; bool datebirthdayb = DateTime.TryParse(birthday, out datebirthday); DateTime datesamplingdate; bool datesamplingdateb = DateTime.TryParse(samplingdate, out datesamplingdate); if ((birthday != string.Empty && !datebirthdayb) || (samplingdate != string.Empty && !datesamplingdateb)) { strMessage = ErrorCode.Up_0010; break; } //检查单位是否在体检系统中有维护 try { using (DataTable d = customerservice.CheckHasCustomer(dictcustomerid)) { if (d == null || d.Rows.Count == 0 || d.Rows.Count > 1) { strMessage = ErrorCode.Up_0011; break; } } } catch (Exception ee) { strMessage = ErrorCode.Up_0015 + " " + ee.Message; break; } #region 添加套餐 //查询分点+公用套餐 List <Dicttestitem> productlistTemp = new DicttestitemService().GetProduct(TypeParse.StrToDouble(dictcustomerid, 0)); List <Dicttestitem> productList = productlistTemp.Where <Dicttestitem>(c => c.Testcode == productTestCode && (c.Forsex == sex || c.Forsex == "B")).ToList <Dicttestitem>(); List <Dicttestitem> grouptestList = new List <Dicttestitem>(); Dicttestitem productinfo = null; if (productList.Count == 0) { strMessage = ErrorCode.Up_0005; break; } else if (productList.Count > 1) { strMessage = ErrorCode.Up_0006; break; } else { productinfo = productList.First <Dicttestitem>(); List <OrderRegister> _gridtestList = null; #region 添加套餐 string msg = registerservice.AddProduct(ref _gridtestList, sex, productinfo.Dicttestitemid, false, null, ref _productname, null); if (msg != string.Empty) { strMessage = ErrorCode.Up_0014; break; } #endregion if (barcode != string.Empty && barcode.Length != 12)//条码号必须为12位数字 { strMessage = ErrorCode.Up_0007; break; } if (barcode != string.Empty && barcode.Substring(barcode.Length - 2) != "00")//条码号必须以00结尾 { strMessage = ErrorCode.Up_0008; break; } //检验条码号是否合格且存在于体检系统 DataTable dtBarcode = barcodeservice.CheckBarCode2(barcode); if (dtBarcode != null && dtBarcode.Rows.Count > 0) { //判断已存在的条码是否来自大众平台 if (!dtBarcode.Rows[0]["enterby"].ToString().Contains("大众平台")) { //条码已存在且不是通过大众平台上传 strMessage = ErrorCode.Up_0009; break; } else { //判断该条码是否已经上传到康源系统,否则不允许修改; if (dtBarcode.Rows[0]["transed"].ToString() == "1") { strMessage = ErrorCode.Update_0005; break; } //删除该体检系统中订单 string ordernum = dtBarcode.Rows[0]["ordernum"].ToString(); Hashtable ht = new Hashtable(); ht["ordernum"] = ordernum; new ProCentralizedManagementService().DeleteOrders(ht); } } //套餐下组合项目 IEnumerable <Dictproductdetail> IEgroup = ProductDetail.Where <Dictproductdetail>(c => c.Productid == productinfo.Dicttestitemid); bool iscontinue = true; int count = IEgroup.Count <Dictproductdetail>(); int k = 0; foreach (Dictproductdetail item in IEgroup) { IEnumerable <Dicttestitem> IEgruptest = TestItemList.Where <Dicttestitem>(c => c.Dicttestitemid == item.Testgroupid); if (IEgruptest.Count() <= 0) { //没有找到套餐下组合 k++; continue; } Dicttestitem groupinfo = IEgruptest.First <Dicttestitem>(); //校验性别是否符合 string res = registerservice.checkSex(groupinfo.Dicttestitemid, sex); if (res != string.Empty) { //性别项目不合 strMessage = ErrorCode.Up_0012; iscontinue = false; break; } groupinfo.Productid = productinfo.Dicttestitemid; groupinfo.Productname = productinfo.Testname; ///套餐名 groupinfo.IsActive = "1"; //是否停止测试 groupinfo.Isadd = "0"; ///是否追加 groupinfo.Billed = "0"; groupinfo.Sendbilled = "0"; groupinfo.Adduserid = null;//追加人ID if (barcode == string.Empty) { IEnumerable <Dicttestitem> IEtempbarcodeList = grouptestList.Where <Dicttestitem>(c => c.Tubegroup == groupinfo.Tubegroup); if (IEtempbarcodeList.Count() > 0) { groupinfo.Barcode = IEtempbarcodeList.First <Dicttestitem>().Barcode; } else { groupinfo.Barcode = registerservice.GetBarCode(); } } else { groupinfo.Barcode = barcode; } //获取外包客户 Dictproductdetail detail = ProductDetail.Where <Dictproductdetail>(c => c.Productid == productinfo.Dicttestitemid && c.Testgroupid == groupinfo.Dicttestitemid).First <Dictproductdetail>(); groupinfo.Sendoutcustomerid = detail.Sendoutcustomerid; grouptestList.Add(groupinfo); } if (!iscontinue) { continue; } else { if (k >= count) { strMessage = ErrorCode.Up_0013; break; } } } #endregion #region 添加会员信息 Dictmember member = new Dictmember() { Realname = realname, Idnumber = idnumber }; registerservice.checkmember(null, ref member); if (datebirthdayb) { member.Birthday = datebirthday; } member.Nickname = member.Realname; member.Sex = sex; member.Addres = address; member.Phone = phone; member.Mobile = mobile; member.Email = email; #endregion #region 添加订单 double year = 0, month = 0, day = 0; double hours = 0; double aged = 0; string agestr = age; bool ageb = double.TryParse(agestr, out aged); if (member.Birthday == null) { if (agestr != string.Empty && ageb) { year = aged; day = aged * 365; member.Birthday = datebirthday = DateTime.Now.AddDays((0 - day)); } else { strMessage = ErrorCode.Up_0004; break; } } TimeSpan ts = DateTime.Now - Convert.ToDateTime(member.Birthday);//时间差 year = Math.Truncate((double)(ts.Days / 365)); month = (ts.Days % 365) / 30; day = (ts.Days % 365) % 30; hours = ts.TotalHours; Orders _orders = new Orders() { Ordernum = new ProRegisterService().GetOrderNum(), Dictmemberid = member.Dictmemberid, Dictcustomerid = Convert.ToDouble(dictcustomerid), Realname = realname, Sex = sex, Caculatedage = hours, Remarks = remark, Age = string.Format("{0}岁{1}月{2}日{3}时", year, month, day, 0), Enterby = enterby, Ordertestlst = _productname + ",", Dictlabid = Convert.ToDouble(dictlabid), Ordersource = "1", Ismarried = ismarried == "未婚" ? "0" : (ismarried == "已婚" ? "1" : "2"), Section = section, Status = ((int)daan.service.common.ParamStatus.OrdersStatus.BarCodePrint).ToString(), Province = province, City = city, County = county }; if (datesamplingdateb) { _orders.SamplingDate = datesamplingdate; } string errstr = string.Empty; System.Collections.Hashtable htScan = new System.Collections.Hashtable(); htScan.Add("isScan", true); htScan.Add("EnterByID", enterbyID); htScan.Add("EnterBy", enterby); bool b = registerservice.insertUpdateOrders("大众健康平台对接订单", "", true, productList, grouptestList, member, _orders, "", ref errstr, htScan); if (!b) { strMessage = String.Format("{0} {1}", ErrorCode.Up_0015, errstr); break; } #endregion } return(strMessage); }
/// <summary> /// 接收数据 /// </summary> /// <param name="SID"></param> /// <param name="XML"></param> /// <returns></returns> public static string ReceiveXMLData(string SID, string xmlStr) { xmlStr = xmlStr.TrimStart(''); // if (xmlStr == string.Empty) // { // xmlStr = @" // <data><datarow> // <uniquecode >TY0008</uniquecode > // <dictcustomerid>1396</dictcustomerid> // <barcode>380003772900</barcode> // <realname>马昌武3</realname> // <sex>男</sex> // <birthday></birthday> // <age>41</age> // <ismarried>未知</ismarried> // <mobile>13096786113</mobile> // <idnumber></idnumber> // <address>地址</address> // <section>遵义</section> // <remark>备注</remark> // <phone></phone> // <email></email> // <samplingdate>2014-12-18</samplingdate> // <province>广东</province> // <city>广州市</city> // <county>天河区</county> // <dictlabid>3</dictlabid> // </datarow></data> // "; // } string str = "<?xml version='1.0' encoding='utf-8'?>" + StringToXML(xmlStr); string strMessage = string.Empty; //缓存取登录用户 Cache cache = new Cache(); CacheInfo info = cache.GetCacheData(SID); DataTable dt = new DataTable(); try { dt = GetDataTable(str); } catch (Exception ex) { return(String.Format("{0} {1}", ErrorCode.Rec_1002, ex.Message)); } if (dt == null || dt.Rows.Count == 0 || dt.Columns.Count != 20) { return(ErrorCode.Rec_1003); } List <Dicttestitem> TestItemList = loginservice.GetLoginDicttestitemList(); //项目字典表 List <Dictproductdetail> ProductDetail = loginservice.GetLoginDictproductdetail(); //套餐组合字典 string _productname = string.Empty; foreach (DataRow dr in dt.Rows) { #region 必填项 //套餐代码 string productTestCode = dr["uniquecode"].ToString().Replace('_', ' ').Trim(); //客户代码 string dictcustomercode = dr["dictcustomerid"].ToString().Trim(); //条码号 string barcode = dr["barcode"].ToString().Trim(); //姓名 string realname = dr["realname"].ToString().Trim(); //性别 string sex = dr["sex"].ToString().Replace('_', ' ').Trim() == "女" ? "F" : (dr["sex"].ToString().Replace('_', ' ').Trim() == "男" ? "M" : "U"); //婚否 string ismarried = dr["ismarried"].ToString().Trim(); //手机 string mobile = dr["mobile"].ToString().Trim(); //住址 string address = dr["address"].ToString().Trim(); //省 string province = dr["province"].ToString().Trim(); //市 string city = dr["city"].ToString().Trim(); //分点实验室 string dictlabid = dr["dictlabid"].ToString().Trim(); if (string.IsNullOrEmpty(productTestCode) || string.IsNullOrEmpty(dictcustomercode) || string.IsNullOrEmpty(dictlabid) || string.IsNullOrEmpty(realname) || string.IsNullOrEmpty(sex) || string.IsNullOrEmpty(ismarried) || string.IsNullOrEmpty(mobile) || string.IsNullOrEmpty(address) || string.IsNullOrEmpty(province) || string.IsNullOrEmpty(city)) { strMessage = ErrorCode.Rec_1005; break; } #endregion #region 二者不可都为空 //出生日期 string birthday = dr["birthday"].ToString().Trim(); //年龄 string age = dr["age"].ToString().Trim(); if (string.IsNullOrEmpty(birthday) && string.IsNullOrEmpty(age)) { strMessage = ErrorCode.Rec_1006; break; } #endregion #region 可空字段 //身份证 string idnumber = dr["idnumber"].ToString().Trim(); //部门 string section = dr["section"].ToString().Trim(); //备注 string remark = dr["remark"].ToString().Trim(); //电话 string phone = dr["phone"].ToString().Trim(); //邮箱 string email = dr["email"].ToString().Trim(); //采样日期 string samplingdate = dr["samplingdate"].ToString().Trim(); //区 string county = dr["county"].ToString().Trim(); #endregion DateTime datebirthday; bool datebirthdayb = DateTime.TryParse(birthday, out datebirthday); DateTime datesamplingdate; bool datesamplingdateb = DateTime.TryParse(samplingdate, out datesamplingdate); if ((birthday != string.Empty && !datebirthdayb) || (samplingdate != string.Empty && !datesamplingdateb)) { strMessage = ErrorCode.Rec_1013; break; } //检查单位是否在体检系统中有维护 string dictcustomerid = string.Empty; try { using (DataTable d = customerservice.CheckHasCustomer(dictcustomercode)) { if (d == null || d.Rows.Count == 0 || d.Rows.Count > 1) { strMessage = ErrorCode.Up_0011; break; } else { dictcustomerid = d.Rows[0][0].ToString(); } } } catch (Exception ee) { strMessage = ErrorCode.Up_0015 + " " + ee.Message; break; } #region 添加套餐 //查询分点+公用套餐 List <Dicttestitem> productlistTemp = new DicttestitemService().GetProduct(TypeParse.StrToDouble(dictcustomerid, 0)); List <Dicttestitem> productList = productlistTemp.Where <Dicttestitem>(c => c.Testcode == productTestCode && (c.Forsex == sex || c.Forsex == "B")).ToList <Dicttestitem>(); List <Dicttestitem> grouptestList = new List <Dicttestitem>(); Dicttestitem productinfo = null; if (productList.Count == 0) { strMessage = ErrorCode.Rec_1008; break; } else if (productList.Count > 1) { strMessage = ErrorCode.Rec_1009; break; } else { productinfo = productList.First <Dicttestitem>(); List <OrderRegister> _gridtestList = null; #region 添加套餐 string msg = registerservice.AddProduct(ref _gridtestList, sex, productinfo.Dicttestitemid, false, null, ref _productname, null); if (msg != string.Empty) { strMessage = ErrorCode.Rec_1017; break; } #endregion if (barcode != string.Empty && barcode.Length != 12)//条码号必须为12位数字 { strMessage = ErrorCode.Rec_1010; break; } if (barcode != string.Empty && barcode.Substring(barcode.Length - 2) != "00")//条码号必须以00结尾 { strMessage = ErrorCode.Rec_1011; break; } if (barcodeservice.CheckBarCode(barcode))//条码号已在系统中存在 { strMessage = ErrorCode.Rec_1012; break; } //套餐下组合项目 IEnumerable <Dictproductdetail> IEgroup = ProductDetail.Where <Dictproductdetail>(c => c.Productid == productinfo.Dicttestitemid); bool iscontinue = true; int count = IEgroup.Count <Dictproductdetail>(); int k = 0; foreach (Dictproductdetail item in IEgroup) { IEnumerable <Dicttestitem> IEgruptest = TestItemList.Where <Dicttestitem>(c => c.Dicttestitemid == item.Testgroupid); if (IEgruptest.Count() <= 0) { //没有找到套餐下组合 k++; continue; } Dicttestitem groupinfo = IEgruptest.First <Dicttestitem>(); //校验性别是否符合 string res = registerservice.checkSex(groupinfo.Dicttestitemid, sex); if (res != string.Empty) { //性别项目不合 strMessage = ErrorCode.Rec_1015; iscontinue = false; break; } groupinfo.Productid = productinfo.Dicttestitemid; groupinfo.Productname = productinfo.Testname; ///套餐名 groupinfo.IsActive = "1"; //是否停止测试 groupinfo.Isadd = "0"; ///是否追加 groupinfo.Billed = "0"; groupinfo.Sendbilled = "0"; groupinfo.Adduserid = null;//追加人ID if (barcode == string.Empty) { IEnumerable <Dicttestitem> IEtempbarcodeList = grouptestList.Where <Dicttestitem>(c => c.Tubegroup == groupinfo.Tubegroup); if (IEtempbarcodeList.Count() > 0) { groupinfo.Barcode = IEtempbarcodeList.First <Dicttestitem>().Barcode; } else { groupinfo.Barcode = registerservice.GetBarCode(); } } else { groupinfo.Barcode = barcode; } //获取外包客户 Dictproductdetail detail = ProductDetail.Where <Dictproductdetail>(c => c.Productid == productinfo.Dicttestitemid && c.Testgroupid == groupinfo.Dicttestitemid).First <Dictproductdetail>(); groupinfo.Sendoutcustomerid = detail.Sendoutcustomerid; grouptestList.Add(groupinfo); } if (!iscontinue) { continue; } else { if (k >= count) { strMessage = ErrorCode.Rec_1016; break; } } } #endregion #region 添加会员 Dictmember member = new Dictmember() { Realname = realname, Idnumber = idnumber, Nickname = realname, Sex = sex, Addres = address, Phone = phone, Mobile = mobile, Email = email }; if (datebirthdayb) { member.Birthday = datebirthday; } registerservice.checkmember(null, ref member); #endregion #region 添加订单 double year = 0, month = 0, day = 0; double hours = 0; double aged = 0; string agestr = age; bool ageb = double.TryParse(agestr, out aged); if (member.Birthday == null) { if (agestr != string.Empty && ageb) { year = aged; day = aged * 365; member.Birthday = datebirthday = DateTime.Now.AddDays((0 - day)); } else { strMessage = ErrorCode.Rec_1006; break; } } TimeSpan ts = DateTime.Now - Convert.ToDateTime(member.Birthday);//时间差 year = Math.Truncate((double)(ts.Days / 365)); month = (ts.Days % 365) / 30; day = (ts.Days % 365) % 30; hours = ts.TotalHours; Orders _orders = new Orders() { Ordernum = new ProRegisterService().GetOrderNum(), Dictmemberid = member.Dictmemberid, Dictcustomerid = Convert.ToDouble(dictcustomerid), Realname = realname, Sex = sex, Caculatedage = hours, Remarks = remark, Age = string.Format("{0}岁{1}月{2}日{3}时", year, month, day, 0), Enterby = "admin", Ordertestlst = _productname + ",", Dictlabid = Convert.ToDouble(dictlabid), Ordersource = "1", Ismarried = ismarried == "未婚" ? "0" : (ismarried == "已婚" ? "1" : "2"), Section = section, Status = ((int)daan.service.common.ParamStatus.OrdersStatus.BarCodePrint).ToString(), Province = province, City = city, County = county }; if (datesamplingdateb) { _orders.SamplingDate = datesamplingdate; } string errstr = string.Empty; bool b = registerservice.insertUpdateOrders("易感基因对接订单", "", true, productList, grouptestList, member, _orders, "", ref errstr); if (!b) { strMessage = String.Format("{0} {1}", ErrorCode.Rec_1018, errstr); } #endregion } return(strMessage); }