Exemple #1
0
        /// <summary>
        /// 处理逻辑
        /// </summary>
        /// <param name="shop"></param>
        /// <param name="inReceipt"></param>
        /// <param name="areas"></param>
        /// <returns></returns>
        public async Task Process(Shop shop, PoInReceipt inReceipt, List <Area> areas)
        {
            var inReceiptBll           = CustomServiceLocator.GetInstance <IInReceiptBLL>();
            var baseSupplierBll        = CustomServiceLocator.GetInstance <IBaseSupplierBLL>();
            var agencyBll              = CustomServiceLocator.GetInstance <IAgencyBLL>();
            var governmentGuangDongBll = CustomServiceLocator.GetInstance <IGovernmentGuangDongBLL>();
            var appSettings            = CustomServiceLocator.GetInstance <IAppConfigurtaionServices>().AppSettings;
            var agency = await Common.CreateAgency(appSettings.GovernmentApiConfig, agencyBll, governmentGuangDongBll, shop, areas);

            var poInReceiptDetails = await inReceiptBll.GetPoInReceiptDetailView(inReceipt.in_id);

            var supplier = await baseSupplierBll.GetBaseSupplier(inReceipt.in_offer_id);

            var inDate = inReceipt.in_date.ToDateTimeFromTimeStamp().ToString("yyyy-MM-dd");

            foreach (var inReceiptDetail in poInReceiptDetails)
            {
                var sgdRequest = new UploadSgdRequest()
                {
                    no                = inReceipt.in_id.ToString(),
                    detailno          = inReceiptDetail.in_detail_id.ToString(),
                    product_info_name = inReceiptDetail.goods_name,
                    product_info_id   = string.Empty,
                    product_info_code = inReceiptDetail.goods_code,
                    nyjx              = inReceiptDetail.dosage_forms,
                    nydx              = inReceiptDetail.toxicity_grade_name,
                    yxq               = string.Empty,
                    pzwh              = string.Empty,
                    specification     = inReceiptDetail.goods_spec,
                    zsm               = string.Empty,
                    fromId            = supplier.supplier_id.ToString(),
                    fromCode          = supplier.supplier_code,
                    fromName          = supplier.supplier_name,
                    gldx_company_code = string.Empty,
                    gldx_company_name = inReceiptDetail.goods_product,
                    gys               = supplier.supplier_name,
                    djh               = inReceiptDetail.registration_number,
                    batchno           = string.Empty,
                    date              = inDate,
                    total             = inReceiptDetail.qty.ToString(),
                    price             = "0",
                    totalprice        = "0",
                    totalunit         = inReceiptDetail.unit_name,
                    scrq              = string.Empty,
                    isxzshop          = 0,
                    isxz              = inReceiptDetail.goods_restrictive,
                    info              = string.Empty
                };
                var result = await governmentGuangDongBll.UploadSgd(appSettings.GovernmentApiConfig.GuangDong.ApiAddress,
                                                                    appSettings.GovernmentApiConfig.GuangDong.QyCode, agency, sgdRequest);

                if (result.result.status != "0")
                {
                    Log.Warn($"【广东省农药经营管理系统平台】上传采购记录失败,参数in_id:{inReceiptDetail.in_id}", this.GetType());
                }
            }
        }
        /// <summary>
        /// 处理采购入库撤销
        /// </summary>
        /// <param name="shop"></param>
        /// <param name="inReceipt"></param>
        /// <param name="areas"></param>
        /// <returns></returns>
        public async Task Process(Shop shop, PoInReceipt inReceipt, List <Area> areas)
        {
            var appSettings            = CustomServiceLocator.GetInstance <IAppConfigurtaionServices>().AppSettings;
            var governmentGuangDongBll = CustomServiceLocator.GetInstance <IGovernmentGuangDongBLL>();
            var result = await governmentGuangDongBll.UpdSgdStatus(appSettings.GovernmentApiConfig.GuangDong.ApiAddress,
                                                                   appSettings.GovernmentApiConfig.GuangDong.QyCode, inReceipt.in_id.ToString(), "QX");

            if (result.result.status != "0")
            {
                Log.Warn($"【广东省农药经营管理系统平台】采购撤销失败,in_id:{inReceipt.in_id}", this.GetType());
            }
        }