Exemplo n.º 1
0
        /// <summary>
        /// 处理输入事件
        /// </summary>
        /// <returns></returns>
        private bool HandleEnterDetail()
        {
            var inputStr = tbInputCode.Text;

            if (string.IsNullOrWhiteSpace(inputStr))
            {
                MessageBox.Show("单号不可以为空!", "温馨提示", MessageBoxButton.OK);
                return(false);
            }

            TaskOrder taskOrder;
            string    name;

            try
            {
                taskOrder = JsonConvert.DeserializeObject <TaskOrder>(inputStr);
                name      = taskOrder.name;
            }
            catch
            {
                name = inputStr;
            }

            if (consumingOrderType != ConsumingOrderType.医嘱处方领用)
            {
                FetchParam fetchParam = new FetchParam();
                LoadingDataEvent(this, true);
                fetchParam.bdConsumingOrder = ConsumingBll.GetInstance().GetConsumingOrder(name.ToUpper());
                LoadingDataEvent(this, false);

                //校验是否含有数据
                HttpHelper.GetInstance().ResultCheck(fetchParam.bdConsumingOrder, out bool isSuccess);
                if (!isSuccess)
                {
                    MessageBox.Show("无法获取领用单详情!" + fetchParam.bdConsumingOrder.message, "温馨提示", MessageBoxButton.OK);
                    return(false);
                }

                LoadingDataEvent(this, true);
                fetchParam.bdOperationOrderGoodsDetail = ConsumingBll.GetInstance().GetOperationOrderGoodsDetail(fetchParam.bdConsumingOrder);
                LoadingDataEvent(this, false);

                //校验是否含有数据
                HttpHelper.GetInstance().ResultCheck(fetchParam.bdOperationOrderGoodsDetail, out bool isSuccess1);
                if (!isSuccess1)
                {
                    MessageBox.Show("无法获取手术单物品详情!" + fetchParam.bdOperationOrderGoodsDetail.message, "温馨提示", MessageBoxButton.OK);
                    return(false);
                }

                HashSet <CommodityEps>   hs = ApplicationState.GetGoodsInfo();
                BaseData <CommodityCode> bdCommodityCode = CommodityCodeBll.GetInstance().GetCommodityCode(ApplicationState.GetGoodsInfo());

                ConsumingBll.GetInstance().CombinationStockNum(fetchParam.bdOperationOrderGoodsDetail, bdCommodityCode);

                EnterSurgeryDetailEvent(this, fetchParam);
            }
            else
            {
                LoadingDataEvent(this, true);
                BaseData <PrescriptionBill> baseData = ConsumingBll.GetInstance().GetPrescriptionBill(name);
                LoadingDataEvent(this, false);

                //校验是否含有数据
                HttpHelper.GetInstance().ResultCheck(baseData, out bool isSuccess);

                if (!isSuccess)
                {
                    MessageBox.Show("无法获取处方单!" + baseData.message, "温馨提示", MessageBoxButton.OK);
                    return(false);
                }

                EnterPrescriptionOpenEvent(this, new ConsumingOrder {
                    SourceBill = new SourceBill
                    {
                        object_name = "PrescriptionBill",
                        object_id   = baseData.body.objects[0].id
                    }
                });
            }

            return(true);
        }