Пример #1
0
        //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;
            }
        }
Пример #2
0
 /// <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;
         }
     }
 }
Пример #3
0
        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;
        }
Пример #4
0
 // 会员资料赋值
 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;
 }
Пример #5
0
        //保存会员信息
        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;
        }
Пример #6
0
 /// <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;
 }
Пример #7
0
        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;
        }
Пример #8
0
        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;
            }
        }
Пример #9
0
 /// <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;
 }
Пример #10
0
        /// <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);
        }
Пример #11
0
        // 修改时绑定会员数据和订单表数据
        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 ?? "";
        }
Пример #12
0
        /// <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 = "个人客户";
            }
        }
Пример #13
0
        /// <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);
            }
        }
Пример #14
0
        ///保存
        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);
            }
        }
Пример #15
0
        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));
        }
Пример #16
0
        //导入
        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
        }
Пример #17
0
        ///保存
        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);
            }
        }
Пример #18
0
        /// <summary>
        /// 获取会员列表
        /// </summary>
        public List <Dictmember> GetDictmemberList(Dictmember m)
        {
            List <Dictmember> ds = this.QueryList <Dictmember>("Dict.SelectDictmember", m).ToList <Dictmember>();

            return(ds);
        }
Пример #19
0
        /// <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;
            }
        }
Пример #20
0
        /// <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);
        }
Пример #21
0
        /// <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 = @"
//                        &lt;data&gt;&lt;datarow&gt;
//                        &lt;uniquecode &gt;TY0008&lt;/uniquecode &gt;
//                        &lt;dictcustomerid&gt;1396&lt;/dictcustomerid&gt;
//                        &lt;barcode&gt;380003772900&lt;/barcode&gt;
//                        &lt;realname&gt;马昌武3&lt;/realname&gt;
//                        &lt;sex&gt;男&lt;/sex&gt;
//                        &lt;birthday&gt;&lt;/birthday&gt;
//                        &lt;age&gt;41&lt;/age&gt;
//                        &lt;ismarried&gt;未知&lt;/ismarried&gt;
//                        &lt;mobile&gt;13096786113&lt;/mobile&gt;
//                        &lt;idnumber&gt;&lt;/idnumber&gt;
//                        &lt;address&gt;地址&lt;/address&gt;
//                        &lt;section&gt;遵义&lt;/section&gt;
//                        &lt;remark&gt;备注&lt;/remark&gt;
//                        &lt;phone&gt;&lt;/phone&gt;
//                        &lt;email&gt;&lt;/email&gt;
//                        &lt;samplingdate&gt;2014-12-18&lt;/samplingdate&gt;
//                        &lt;province&gt;广东&lt;/province&gt;
//                        &lt;city&gt;广州市&lt;/city&gt;
//                        &lt;county&gt;天河区&lt;/county&gt;
//                        &lt;dictlabid&gt;3&lt;/dictlabid&gt;
//                        &lt;/datarow&gt;&lt;/data&gt;
//                        ";
//            }
            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);
        }