/// <summary>
        /// 新增实际库存商品
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void onLoadData(object sender, EventArgs e)
        {
            SetPopInventoryEvent(this, true);

#if TESTENV
            HashSet <CommodityEps> hs = RfidHelper.GetEpcDataJsonInventory(out bool isGetSuccess);
#else
            HashSet <CommodityEps> hs = RfidHelper.GetEpcDataJson(out bool isGetSuccess);
#endif
            if (hs.Count > 0)
            {
                list = CommodityCodeBll.GetInstance().GetCommodityCode(hs).body.objects.ToList();
            }
            else
            {
                list = new List <CommodityCode>();
            }
            inventoryOrder.GoodsLocationName = CommodityCodeBll.GetInstance().GetNameById <GoodsLocation>(inventoryOrder.GoodsLocationId);

            SetPopInventoryEvent(this, false);

            App.Current.Dispatcher.Invoke((Action)(() =>
            {
                goodsDtllistConfirmView.DataContext = list;
                goodsDtllistConfirmView.Items.Refresh();
                codeInputTb.Focus();
            }));
        }
 /// <summary>
 /// 保存当前货柜的商品信息
 /// </summary>
 /// <param name="hs"></param>
 public static void SetGoodsInfo(HashSet <CommodityEps> hs)
 {
     SetValue((int)ApplicationKey.Goods, hs);
     //插入数据库,每次开门时,即同步数据到
     CommodityCodeBll.GetInstance().InsertLocalCommodityEpsInfo(hs);
     return;
 }
Beispiel #3
0
        public BaseData <CommodityCode> GetBaseData()
        {
            return(CommodityCodeBll.GetInstance().GetCompareCommodity(
                       new HashSet <CommodityEps>()
            {
                new CommodityEps
                {
                    CommodityCodeId = "AQACQqweBhEBAAAAwXCOmiFcsxUmKAIA",
                    CommodityCodeName = "QR00000038",
                    CommodityName = "止血包",
                    EquipmentId = "AQACQqweDg8BAAAAFUD8WDEPsxV_FwQA",
                    EquipmentName = "E00000008",
                    GoodsLocationId = "AQACQqweJ4wBAAAAjYv6XmUPsxWWowMA",
                    GoodsLocationName = "L00000013"
                }
            },

                       new HashSet <CommodityEps>()
            {
                new CommodityEps
                {
                    CommodityCodeId = "AQACQqweBhEBAAAAVF0JmCFcsxUkKAIA",
                    CommodityCodeName = "QR00000035",
                    CommodityName = "止血包",
                    EquipmentId = "AQACQqweDg8BAAAAFUD8WDEPsxV_FwQA",
                    EquipmentName = "E00000008",
                    GoodsLocationId = "AQACQqweJ4wBAAAAjYv6XmUPsxWWowMA",
                    GoodsLocationName = "L00000013"
                }
            }
                       ));
        }
        /// <summary>
        /// 数据加载
        /// </summary>
        private void onInitData(object sender, ElapsedEventArgs e)
        {
            App.Current.Dispatcher.Invoke((Action)(() =>
            {
                HashSet <CommodityEps> before = ApplicationState.GetGoodsInfo();

                List <CommodityCode> commodityCodeList = CommodityCodeBll.GetInstance().GetCompareSimpleCommodity(before, after);
                if (commodityCodeList == null || commodityCodeList.Count <= 0)
                {
                    MessageBox.Show("没有检测到商品变化!", "温馨提示", MessageBoxButton.OK);
                    isSuccess = false;
                    return;
                }

                LoadingDataEvent(this, true);
                bdCommodityCode = CommodityCodeBll.GetInstance().GetCommodityCode(commodityCodeList);
                LoadingDataEvent(this, false);

                HttpHelper.GetInstance().ResultCheck(bdCommodityCode, out isSuccess);
                if (!isSuccess)
                {
                    MessageBox.Show("获取商品信息错误!" + bdCommodityCode.message, "温馨提示", MessageBoxButton.OK);
                    return;
                }

                bdCommodityDetail = PickBll.GetInstance().GetPickTaskCommodityDetail(pickTask);
                HttpHelper.GetInstance().ResultCheck(bdCommodityDetail, out isSuccess);
                if (!isSuccess)
                {
                    MessageBox.Show("获取拣货任务单商品明细信息错误!" + bdCommodityDetail.message, "温馨提示", MessageBoxButton.OK);
                    return;
                }

                LoadingDataEvent(this, true);
                PickBll.GetInstance().GetPickTaskChange(bdCommodityCode, pickTask, bdCommodityDetail);
                LoadingDataEvent(this, false);

                int outCnt = bdCommodityCode.body.objects.Where(item => item.operate_type == 0).ToList().Count;
                int abnormalOutCnt = bdCommodityCode.body.objects.Where(item => item.operate_type == 0 && item.AbnormalDisplay == "异常").ToList().Count;
                int abnormalInCnt = bdCommodityCode.body.objects.Where(item => item.operate_type == 1).ToList().Count;

                outNum.Content = outCnt;
                abnormalInNum.Content = abnormalInCnt;
                abnormalOutNum.Content = abnormalOutCnt;
                listView.DataContext = bdCommodityCode.body.objects;

                int abnormalLargeNum = bdCommodityDetail.body.objects.Where(item => item.CurPickNumber > (item.Number - item.PickNumber)).Count();

                if (abnormalInCnt == 0 && abnormalOutCnt == 0 && abnormalLargeNum == 0)
                {
                    normalBtmView.Visibility = Visibility.Visible;
                    abnormalBtmView.Visibility = Visibility.Collapsed;
                }
                else
                {
                    normalBtmView.Visibility = Visibility.Collapsed;
                    abnormalBtmView.Visibility = Visibility.Visible;
                }
            }));
        }
        public Task Execute(IJobExecutionContext context)
        {
            LogUtils.Debug("ExecuteInventoryPlanJoB进入");

            var epcs = RfidHelper.GetEpcDataJson(out bool isGetSucess);

            if (isGetSucess)
            {
                var baseDataCommodityCodes = CommodityCodeBll.GetInstance().GetCommodityCode(epcs);

                HttpHelper.GetInstance().ResultCheck(baseDataCommodityCodes, out bool isSuccess);

                if (isSuccess)
                {
                    var basePostInventoryDetail = InventoryTaskBll.GetInstance().CreateInventoryOrderAndDetail(baseDataCommodityCodes.body.objects);
                    LogUtils.Debug($"已执行自动盘点任务:{JsonConvert.SerializeObject(basePostInventoryDetail)}");
                }
            }
            else
            {
                LogUtils.Debug("盘点计划未扫描出有效商品");
            }

            return(null);
        }
        /// <summary>
        /// 加载数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void onInitData(object sender, ElapsedEventArgs e)
        {
            App.Current.Dispatcher.Invoke((Action)(() =>
            {
                HashSet <CommodityEps> before = ApplicationState.GetGoodsInfo();

                LoadingDataEvent(this, true);
                List <CommodityCode> commodityCodeList = CommodityCodeBll.GetInstance().GetCompareSimpleCommodity(before, after);
                LoadingDataEvent(this, false);

                if (commodityCodeList == null || commodityCodeList.Count <= 0)
                {
                    MessageBox.Show("没有检测到商品变化!", "温馨提示", MessageBoxButton.OK);
                    isSuccess = false;
                    return;
                }

                LoadingDataEvent(this, true);
                bdCommodityCode = CommodityCodeBll.GetInstance().GetCommodityCode(commodityCodeList);
                HttpHelper.GetInstance().ResultCheck(bdCommodityCode, out isSuccess);
                if (isSuccess)
                {
                    bdCommodityCode = CommodityCodeBll.GetInstance().GetQualityStatus(bdCommodityCode, out isSuccess);
                }
                LoadingDataEvent(this, false);

                //校验是否含有数据
                HttpHelper.GetInstance().ResultCheck(bdCommodityCode, out isSuccess);
                if (!isSuccess)
                {
                    MessageBox.Show("获取商品比较信息错误!" + bdCommodityCode.message, "温馨提示", MessageBoxButton.OK);
                    return;
                }

                listView.DataContext = bdCommodityCode.body.objects;
                returnNum.Content = bdCommodityCode.body.objects.Where(item => item.operate_type == 1).Count();
                fetchNum.Content = bdCommodityCode.body.objects.Where(item => item.operate_type == 0).Count();
                int expiredCnt = bdCommodityCode.body.objects.Where(item => item.operate_type == 0 && (item.QualityStatus == QualityStatusType.过期.ToString() || item.InventoryStatus == CommodityInventoryChangeStatus.待回收.ToString())).Count();

                expiredNum.Content = expiredCnt;

                bdCommodityCode.body.objects.Where(item => item.operate_type == 0).ToList().ForEach(it =>
                {
                    it.AbnormalDisplay = AbnormalDisplay.异常.ToString();
                });

                //领用产品上包含过期商品不让用户主动提交
                if (expiredCnt == 0)
                {
                    normalBtmView.Visibility = Visibility.Visible;
                    abnormalBtmView.Visibility = Visibility.Collapsed;
                }
                else
                {
                    normalBtmView.Visibility = Visibility.Collapsed;
                    abnormalBtmView.Visibility = Visibility.Visible;
                }
            }));
        }
        /// <summary>
        /// 数据加载
        /// </summary>
        private void onInitData(object sender, ElapsedEventArgs e)
        {
            App.Current.Dispatcher.Invoke((Action)(() =>
            {
                HashSet <CommodityEps> before = ApplicationState.GetGoodsInfo();

                List <CommodityCode> commodityCodeList = CommodityCodeBll.GetInstance().GetCompareSimpleCommodity(before, after);
                if (commodityCodeList == null || commodityCodeList.Count <= 0)
                {
                    MessageBox.Show("没有检测到商品变化!", "温馨提示", MessageBoxButton.OK);
                    isSuccess = false;
                    return;
                }

                LoadingDataEvent(this, true);
                bdCommodityCode = CommodityCodeBll.GetInstance().GetCommodityCode(commodityCodeList);
                LoadingDataEvent(this, false);

                HttpHelper.GetInstance().ResultCheck(bdCommodityCode, out isSuccess);
                if (!isSuccess)
                {
                    MessageBox.Show("获取商品信息错误!" + bdCommodityCode.message, "温馨提示", MessageBoxButton.OK);
                    return;
                }

                listView.DataContext = bdCommodityCode.body.objects;
                outNum.Content = bdCommodityCode.body.objects.Where(item => item.operate_type == 0).Count();
                abnormalInNum.Content = bdCommodityCode.body.objects.Where(item => item.operate_type == 1).Count();

                //回收取货
                if (commodityRecovery != null)
                {
                    bdCommodityCode.body.objects.Where(item => item.operate_type == 1).ToList().ForEach(it => {
                        it.AbnormalDisplay = AbnormalDisplay.异常.ToString();
                    });

                    if (bdCommodityCode.body.objects.Where(item => item.operate_type == 1).Count() > 0)
                    {
                        normalBtmView.Visibility = Visibility.Collapsed;
                        abnormalBtmView.Visibility = Visibility.Visible;
                    }
                    else
                    {
                        normalBtmView.Visibility = Visibility.Visible;
                        abnormalBtmView.Visibility = Visibility.Collapsed;
                    }
                }
                //回收取货
                else
                {
                    normalBtmView.Visibility = Visibility.Visible;
                    abnormalBtmView.Visibility = Visibility.Collapsed;
                }
            }));
        }
Beispiel #8
0
        protected override void OnStartup(StartupEventArgs e)
        {
            ProgramStarted = new EventWaitHandle(false, EventResetMode.AutoReset, "乘法云链", out bool createNew);

            if (!createNew)
            {
                MessageBox.Show("已有一个程序实例运行");
                Current.Shutdown();
                Environment.Exit(0);
            }

            base.OnStartup(e);

            //控制台信息展示
            ConsoleManager.Show();

            Console.ReadKey();

            // 注册Application_Error(全局捕捉异常)
            DispatcherUnhandledException += new DispatcherUnhandledExceptionEventHandler(App_DispatcherUnhandledException);

            //初始化日志
            LogUtils.InitLog4Net();

            //隐藏工具类
            Taskbar.HideTask(true);

            //开启启动
            BootUpHelper.GetInstance().SetMeAutoStart();

            //加载系统配置文件
            //Console.ReadKey();
            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.Load($"{ApplicationState.GetProjectRootPath()}/MyProject.xml");
            XmlNode root   = xmlDoc.SelectSingleNode("config");          //指向根节点
            XmlNode device = root.SelectSingleNode("device");            //指向设备节点

            ApplicationState.SetUserInfo(new User());
            //设置初始化goodsInfo
            ApplicationState.SetInitGoodsInfo(new HashSet <CommodityEps>());

            ApplicationState.SetEquipName(device.SelectSingleNode("equip_name").InnerText);
            ApplicationState.SetEquipId(device.SelectSingleNode("equip_id").InnerText);

            ApplicationState.SetHouseName(device.SelectSingleNode("house_name").InnerText);
            ApplicationState.SetHouseId(device.SelectSingleNode("house_id").InnerText);

            ApplicationState.SetMCabName(device.SelectSingleNode("mcab_name").InnerText);
            ApplicationState.SetMCabId(device.SelectSingleNode("mcab_id").InnerText);
#if DUALCAB
            ApplicationState.SetSCabName(device.SelectSingleNode("scab_name").InnerText);
            ApplicationState.SetSCabId(device.SelectSingleNode("scab_id").InnerText);
#endif
            ApplicationState.SetMLockerCOM(device.SelectSingleNode("mlocker_com").InnerText);         //"COM2"
            ApplicationState.SetSLockerCOM(device.SelectSingleNode("slocker_com").InnerText);         //"COM5"

            ApplicationState.SetMRfidCOM(device.SelectSingleNode("mrfid_com").InnerText);             //"COM1"
            ApplicationState.SetSRfidCOM(device.SelectSingleNode("srfid_com").InnerText);             //"COM4"

            ApplicationState.SetMVeinCOM(device.SelectSingleNode("mvein_com").InnerText);             //"COM9"

            LogUtils.Debug("App config initial...");

            #region 处理开机(即应用启动时)需要对比库存变化上传的逻辑

            //获取当前机柜所有商品数据
            HashSet <CommodityEps> currentCommodityEps = RfidHelper.GetEpcDataJson(out bool isGetSuccess);

            //判断是否是初次使用本地库存上次,如果是则不上传
            bool isInitLocalCommodityEpsInfo = CommodityCodeBll.GetInstance().isInitLocalCommodityEpsInfo();

            if (isGetSuccess && !isInitLocalCommodityEpsInfo)
            {
                //获取数据库记录的以前所有商品数据
                HashSet <CommodityEps> lastCommodityEps = CommodityCodeBll.GetInstance().GetLastLocalCommodityEpsInfo();

                //比对
                List <CommodityCode> commodityCodeList = CommodityCodeBll.GetInstance().GetCompareSimpleCommodity(lastCommodityEps, currentCommodityEps);

                //有不同的情况,则需要处理上传逻辑
                if (commodityCodeList != null && commodityCodeList.Count > 0)
                {
                    //根据商品码集合获取完整商品属性集合(已对比后结果)
                    var bdCommodityCodeList = CommodityCodeBll.GetInstance().GetCommodityCode(commodityCodeList);

                    var checkbdCommodityCodeList = HttpHelper.GetInstance().ResultCheck(bdCommodityCodeList, out bool isSuccess);

                    if (isSuccess)
                    {
                        //按照类似无单一般领用的方式(故障领用)
                        var bdBasePostData = ConsumingBll.GetInstance().SubmitConsumingChangeWithoutOrder(bdCommodityCodeList, ConsumingOrderType.故障领用);

                        //校验是否含有数据
                        HttpHelper.GetInstance().ResultCheck(bdBasePostData, out bool isSuccess1);
                        if (!isSuccess1)
                        {
                            LogUtils.Error("提交故障领用结果失败!" + bdBasePostData.message);
                        }
                        else
                        {
                            LogUtils.Info("提交故障领用结果成功!" + bdBasePostData.message);
                        }
                    }
                    else
                    {
                        LogUtils.Info("提交故障领用结果成功!");
                    }
                }
            }

            #endregion
        }
        /// <summary>
        /// 进入盘点详情事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void onEnterInventoryDetailLocal(object sender, RoutedEventArgs e)
        {
            Button btnItem = sender as Button;
            int    id;

            if (btnItem.Name == "LocalInventoryBtn")
            {
                //SetPopInventoryEvent(this, true);

                LoadingDataEvent(this, true);

#if TESTENV
                HashSet <CommodityEps> hs = RfidHelper.GetEpcDataJsonInventory(out bool isGetSuccess);
#else
                HashSet <CommodityEps> hs = RfidHelper.GetEpcDataJson(out bool isGetSuccess);
#endif
                LoadingDataEvent(this, false);
                //SetPopInventoryEvent(this, false);
                if (hs.Count == 0)
                {
                    MessageBox.Show("医疗柜中没有任何商品!", "温馨提示", MessageBoxButton.OK);
                }
                else
                {
                    BaseData <CommodityCode> bdCommodityCode = CommodityCodeBll.GetInstance().GetCommodityCode(hs);
                    HttpHelper.GetInstance().ResultCheck(bdCommodityCode, out bool isSuccess);
                    CommodityCodeBll.GetInstance().GetExpirationAndManufactor(bdCommodityCode, out bool isSuccess2);

                    if (!isSuccess)
                    {
                        MessageBox.Show("盘点时获取商品信息失败!", "温馨提示", MessageBoxButton.OK);
                    }
                    else
                    {
                        List <GoodsDto> list = new List <GoodsDto>();
                        foreach (var item in bdCommodityCode.body.objects)
                        {
                            GoodsDto goodItem = new GoodsDto
                            {
                                name     = item.CommodityName,
                                code     = item.name,
                                position = item.GoodsLocationName
                            };

                            if (isSuccess2)
                            {
                                goodItem.Specifications = item.Specifications;
                                if (item.ManufactorName != null)
                                {
                                    goodItem.ManufactorName = item.ManufactorName;
                                }
                                if (item.ExpirationDate != null)
                                {
                                    goodItem.ExpirationDate = item.ExpirationDate;
                                }
                            }

                            list.Add(goodItem);
                        }

                        id = inventoryBll.NewInventory(list, InventoryType.Manual);

                        GetInventoryList();
                        EnterInventoryDetailLocalEvent(this, id);
                    }
                }
            }
            else
            {
                id = (int)btnItem.CommandParameter;
                EnterInventoryDetailLocalEvent(this, id);
            }
        }
        /// <summary>
        /// 新增实际库存商品
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void onAddProduct(object sender, RoutedEventArgs e)
        {
            string inputStr = codeInputTb.Text;

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

            List <CommodityCode> adds = new List <CommodityCode>();

#if TESTENV
            CommodityEps commodityEps = new CommodityEps
            {
                CommodityCodeId   = "AQACQqweBhEBAAAAVF0JmCFcsxUkKAIA",
                CommodityCodeName = "QR00000035",
                CommodityName     = "止血包",
                EquipmentId       = "AQACQqweDg8BAAAAFUD8WDEPsxV_FwQA",
                EquipmentName     = "E00000008",
                GoodsLocationId   = "AQACQqweJ4wBAAAAjYv6XmUPsxWWowMA",
                GoodsLocationName = "L00000013"
            };

            HashSet <CommodityEps> addHs = new HashSet <CommodityEps>();
            addHs.Add(commodityEps);

            adds = CommodityCodeBll.GetInstance().GetCommodityCode(addHs).body.objects.ToList();
#else
            CommodityOrder commodityOrder;
            string         name;
            try
            {
                commodityOrder = JsonConvert.DeserializeObject <CommodityOrder>(inputStr);
                name           = commodityOrder.CommodityCodeName;
            }
            catch (Exception ex)
            {
                LogUtils.Error($"数据解析失败!{inputStr} ; 异常报错为:{ex.Message}");
                name = inputStr;
            }

            LoadingDataEvent(this, true);
            BaseData <CommodityCode> bdCommodityCode = CommodityCodeBll.GetInstance().GetCommodityCodeByName(name.ToUpper());
            LoadingDataEvent(this, false);

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

            if (!isSuccess)
            {
                MessageBox.Show("获取商品信息失败" + bdCommodityCode.message, "温馨提示", MessageBoxButton.OK);
                return;
            }

            bdCommodityCode.body.objects[0].EquipmentId       = inventoryOrder.EquipmentId;
            bdCommodityCode.body.objects[0].StoreHouseId      = inventoryOrder.StoreHouseId;
            bdCommodityCode.body.objects[0].GoodsLocationId   = inventoryOrder.GoodsLocationId;
            bdCommodityCode.body.objects[0].GoodsLocationName = inventoryOrder.GoodsLocationName;

            adds.Add(bdCommodityCode.body.objects[0]);
#endif

            if (list.Where(item => item.name == adds[0].name).Count() > 0)
            {
                MessageBox.Show("此商品已经在列表中!", "温馨提示", MessageBoxButton.OK);
                return;
            }

            App.Current.Dispatcher.Invoke((Action)(() =>
            {
                App.Current.Dispatcher.Invoke((Action)(() =>
                {
                    list.AddRange(adds);
                    goodsDtllistConfirmView.Items.Refresh();
                }));
            }));
        }
Beispiel #11
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);
        }