示例#1
0
 void gv_MouseClick(object sender, MouseEventArgs e)
 {
     drug = xapFormControl1.GetFocused <EmsOrDrug>("drug");
     if (gv.GetFocusedRow().ClickCell.FieldName == "Name_mm")
     {
         string id_srv = (gv.GetFocusedRow().RowDataSource as EmsOrDrug).Id_srv; //拿到 点击的药品对应服务的id_srv
         //根据服务id 取到 服务关联的药品 ,
         if (this.EmsHeadDO.Emsdrugs.EmsOrDrug.Count > 1)                        //如果只有一条
         {
             MmForm mmref     = new MmForm(this.EmsHeadDO.Emsdrugs.EmsOrDrug, this.EmsHeadDO.Emsdrugs);
             Point  formPoint = Control.MousePosition;
             mmref.StartPosition = FormStartPosition.Manual;
             mmref.Location      = gv.PointToScreen(new Point(gv.Location.X, gv.Location.Y + gv.Size.Height + 1));
             mmref.TopMost       = true;
             if (mmref.ShowDialog() == DialogResult.OK)
             {
                 EmsOrDrug      orDrug     = this.EmsHeadDO.Emsdrugs.EmsOrDrugList[gv.FocusedRowHandle];
                 string         id_mm      = mmref.drugmm.Id_mm;
                 string         id_dep_phy = this.EmsHeadDO.Emsdrugs.Id_dep;
                 GetStockReqDTO reqDto     = new GetStockReqDTO();
                 reqDto.Id_dep      = id_dep_phy;
                 reqDto.Id_mm       = id_mm;
                 reqDto.Req_unit_id = mmref.drugmm.Id_unit_med;
                 GetStockReqDTO[] reqDtoArr = new GetStockReqDTO[1];
                 reqDtoArr[0] = reqDto;
                 try
                 {
                     MaterialStockDTO[] materialArr = cof.getMaterialStocksCount(reqDtoArr);
                     if (materialArr != null && materialArr.Length > 0)
                     {
                         MaterialStockDTO material = materialArr[0];
                         if (material != null && material.Quan_stock > 0)
                         {
                             cof.CopyTo(mmref.drugmm, orDrug, "Id_srv", "Name_srv");
                         }
                         else
                         {
                             this.ShowInfo("该药品在" + this.EmsHeadDO.Emsdrugs.Name_dep + "库存为零,请重新选择药品或更改执行科室!");
                             return;
                         }
                     }
                 }
                 catch //(Exception ex)
                 { }
             }
         }
     }
 }
示例#2
0
        void gv_MouseClick(object sender, MouseEventArgs e)
        {
            drug = xapFormControl1.GetFocused <EmsOrDrug>("drug");
            if (gv.GetFocusedRow().ClickCell.FieldName == "Name_mm")
            {
                string id_srv = (gv.GetFocusedRow().RowDataSource as EmsOrDrug).Id_srv; //拿到 点击的药品对应服务的id_srv
                //根据服务id 取到 服务关联的药品 ,
                if (EmsHeadDO.Emsdrugs.EmsOrDrug.Count > 1)                             //如果只有一条
                {
                    MmForm mmref     = new MmForm(EmsHeadDO.Emsdrugs.EmsOrDrug, EmsHeadDO.Emsdrugs);
                    Point  formPoint = Control.MousePosition;
                    mmref.Local = formPoint;

                    mmref.TopMost = true;
                    if (mmref.ShowDialog() == DialogResult.OK)
                    {
                        EmsOrDrug orDrug = EmsHeadDO.Emsdrugs.EmsOrDrugList[gv.FocusedRowHandle];
                        cof.CopyTo(mmref.drugmm, orDrug, "Id_srv", "Name_srv");
                    }
                }
            }
        }
示例#3
0
        void gv_MouseClick(object sender, MouseEventArgs e)
        {
            //if (gv.FocusedRowHandle < 0) return;

            emsOrDrug = gv.GetFocusedRow().RowDataSource as EmsOrDrug;

            // 待修改
            if (gv.GetFocusedRow().ClickCell.FieldName == "Name_mm")
            {
                string id_srv = emsOrDrug.Id_srv;                //拿到 点击的药品对应服务的id_srv
                if (this.EmsHeadDO.Emsdrugs.EmsOrDrug.Count > 1) //如果只有一条
                {
                    List <EmsOrDrug> list      = this.EmsHeadDO.Emsdrugs.EmsOrDrug.ToList().Where <EmsOrDrug>(p => p.Id_srv == id_srv).ToList();
                    MmForm           mmref     = new MmForm(cof.ConvertDataSouse <EmsOrDrug>(list), this.EmsHeadDO.Emsdrugs);
                    Point            formPoint = Control.MousePosition;
                    mmref.Local   = formPoint;
                    mmref.TopMost = true;
                    mmref.ShowDialog();
                    if (mmref.DialogResult == DialogResult.OK)
                    {
                        string         id_mm      = mmref.drugmm.Id_mm;
                        string         id_dep_phy = this.EmsHeadDO.Emsdrugs.Id_dep;
                        GetStockReqDTO reqDto     = new GetStockReqDTO();
                        reqDto.Id_dep      = id_dep_phy;
                        reqDto.Id_mm       = id_mm;
                        reqDto.Req_unit_id = mmref.drugmm.Id_unit_med;
                        GetStockReqDTO[] reqDtoArr = new GetStockReqDTO[1];
                        reqDtoArr[0] = reqDto;
                        try
                        {
                            MaterialStockDTO[] materialArr = cof.getMaterialStocksCount(reqDtoArr);
                            if (materialArr != null && materialArr.Length > 0)
                            {
                                MaterialStockDTO material = materialArr[0];
                                if (material != null && material.Quan_stock > 0)
                                {
                                    //下面是正确的做法  只对 关键值进行替换
                                    EmsOrDrug orDrug = this.EmsHeadDO.Emsdrugs.EmsOrDrugList[gv.FocusedRowHandle];
                                    orDrug.Name_mm = mmref.drugmm.Name_mm; //药品名称
                                    orDrug.Spec_mm = mmref.drugmm.Spec_mm; //规格
                                    orDrug.Name_hp = mmref.drugmm.Name_hp; //医保类型
                                    orDrug.Limit   = mmref.drugmm.Limit;   //限制报销条件
                                    orDrug.Price   = mmref.drugmm.Price;   //参考价格
                                }
                                else
                                {
                                    this.ShowInfo("该药品在" + this.EmsHeadDO.Emsdrugs.Name_dep + "库存为零,请重新选择药品或更改执行科室!");
                                    return;
                                }
                            }
                        }
                        catch //(Exception ex)
                        {
                        }
                    }
                }
            }


            //}
        }