private async Task UpdateScanStateAsync(StockUpBillModel ob, string ID, int mode) { List <object> Parameters = new List <object>(); Parameters.Add(App.Context.DataCenterId); Parameters.Add(mode); Parameters.Add(ID); string result = InvokeHelper.AbstractWebApiBusinessService("Kingdee.BOS.WebAPI.ServiceExtend.ServicesStub.CustomBusinessService.UpdateStockUpScanState", Parameters); if (result == "1") { var sd = ob.XAY_StockUpOrderEntry.Single(o => o.Id == ID); sd.F_XAY_IsScan = true; var scancount = (from q in ob.XAY_StockUpOrderEntry where q.F_XAY_IsScan == false select new { q.F_XAY_IsScan }).Count(); if (scancount == 0) { Parameters = new List <object>(); Parameters.Add(App.Context.DataCenterId); Parameters.Add(4); Parameters.Add(ob.Id); Parameters.Add(1); result = InvokeHelper.AbstractWebApiBusinessService("Kingdee.BOS.WebAPI.ServiceExtend.ServicesStub.CustomBusinessService.UpdateStockUpScanState", Parameters); await Navigation.PopToRootAsync(); } } }
void HandleScanResult(ZXing.Result result) { if (result != null && !string.IsNullOrEmpty(result.Text)) { s.Add(result.Text); } //listview.ItemsSource = s.ToArray(); var v = CrossVibrate.Current; v.Vibration(TimeSpan.FromSeconds(0.2)); //var result2 = InvokeHelper.Login(); //var iResult = JObject.Parse(result2)["LoginResultType"].Value<int>(); //if (iResult == 1 || iResult == -5) //{ List <object> Parameters = new List <object>(); Parameters.Add(result.Text); try { var result2 = InvokeHelper.AbstractWebApiBusinessService("Kingdee.BOS.WebAPI.ServiceExtend.ServicesStub.CustomBusinessService.ExecuteService", Parameters); label.Text = result2; } catch (Exception ex) { label.Text = ex.Message; } }
private string updateToSystem(string str, string date) { try { if (!string.IsNullOrWhiteSpace(str)) { List <object> Parameters = new List <object>(); Parameters.Add(str); Parameters.Add(date); string result = InvokeHelper.AbstractWebApiBusinessService("Kingdee.BOS.WebAPI.ServiceExtend.ServicesStub.CustomBusinessService.ExecuteService2", Parameters); if (result == "0") { return("无记录"); } else if (result == "1") { return("已同步"); } else if (result == "2") { return("重复"); } else if (result == "err") { return("err"); } } return("err"); } catch { return("err"); } }
/// <summary> /// /// </summary> /// <param name="mode">1为扫描备货单号,2为扫描二维码,3为扫描物流单号,4为扫描k3备货单二维码查看图片,5为扫描二维码上传图片</param> public ScanPage(int mode) { InitializeComponent(); ZXing.Mobile.MobileBarcodeScanningOptions scanningOptions = new ZXing.Mobile.MobileBarcodeScanningOptions { DelayBetweenContinuousScans = 2000, PossibleFormats = new List <ZXing.BarcodeFormat> { ZXing.BarcodeFormat.CODE_128, ZXing.BarcodeFormat.CODE_39, ZXing.BarcodeFormat.CODE_93, ZXing.BarcodeFormat.EAN_13, ZXing.BarcodeFormat.EAN_8, ZXing.BarcodeFormat.QR_CODE }, TryHarder = App.Context.ScanHardMode }; zxing = new ZXingScannerView { HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.FillAndExpand, Options = scanningOptions, }; zxing.OnScanResult += (result) => Device.BeginInvokeOnMainThread(async() => { Vibration.Vibrate(); var duration = TimeSpan.FromMilliseconds(100); Vibration.Vibrate(duration); if (mode == 1) { StockUpBillModel stockUpBillModel = (StockUpBillModel)BindingContext; Loadinganimation.IsVisible = true; //BackgroundWorker worker = new BackgroundWorker(); await Task.Run(() => { List <object> Parameters = new List <object>(); Parameters.Add(App.Context.DataCenterId); Parameters.Add(result.ToString()); string json = apiHelper.InvokeHelper.AbstractWebApiBusinessService("Kingdee.BOS.WebAPI.ServiceExtend.ServicesStub.CustomBusinessService.StockUpExecuteService", Parameters); if (json == "err" || string.IsNullOrWhiteSpace(json)) { return; } else { var jsonobject = JsonConvert.DeserializeObject <StockUpBillModel>(json); stockUpBillModel.Id = jsonobject.Id; stockUpBillModel.FBillNo = jsonobject.FBillNo; stockUpBillModel.F_XAY_Custom = jsonobject.F_XAY_Custom; stockUpBillModel.F_XAY_Phone = jsonobject.F_XAY_Phone; stockUpBillModel.F_XAY_Logistics = jsonobject.F_XAY_Logistics; stockUpBillModel.XAY_StockUpOrderEntry = jsonobject.XAY_StockUpOrderEntry; } }); await Navigation.PopAsync(); //worker.DoWork += delegate //{}; //worker.RunWorkerAsync(); //worker.RunWorkerCompleted += async delegate { await Navigation.PopAsync(); }; } else if (mode == 2) { string qrstring = BaseToString(result.ToString()); StockUpBillModel stockUpBillModel = (StockUpBillModel)BindingContext; if (qrstring.Substring(0, 2) != "#%") { label.Text = "二维码数据格式有误"; return; } string jsonstring = qrstring.Substring(2); string[] stringarray = jsonstring.Split(','); if (stringarray.Count() >= 3) { string ID = stringarray[0]; if (Convert.ToBoolean(stringarray[2])) { var MaterialInfo = stringarray[3].Split('&'); for (int i = 0; i < MaterialInfo.Count(); i++) { string subID = MaterialInfo[i]; List <object> Parameters = new List <object>(); Parameters.Add(App.Context.DataCenterId); Parameters.Add(2); Parameters.Add(subID); string apiresult = InvokeHelper.AbstractWebApiBusinessService("Kingdee.BOS.WebAPI.ServiceExtend.ServicesStub.CustomBusinessService.UpdateStockUpScanState", Parameters); if (apiresult == "1") { var sd = stockUpBillModel.XAY_StockUpOrderEntry.Single(o => o.Id == ID); var s = sd.XAY_t_StockUpOrderSubEntry.Single(o => o.id == subID); s.F_XAY_IsCScan = true; var scancount = (from q in sd.XAY_t_StockUpOrderSubEntry where q.F_XAY_IsCScan == false select new { q.F_XAY_IsCScan }).Count(); if (scancount == 0) { await UpdateScanStateAsync(stockUpBillModel, ID, 1); } } else { label.Text = "err"; } } } else { await UpdateScanStateAsync(stockUpBillModel, ID, 1); label.Text = "扫描成功"; } } } else if (mode == 3) { StockUpPageModel Model = (StockUpPageModel)BindingContext; Model.LogisticsNum = result.ToString(); List <object> Parameters = new List <object>(); Parameters.Add(App.Context.DataCenterId); Parameters.Add(mode); Parameters.Add(Model.Id); Parameters.Add(Model.LogisticsNum); string backresult = InvokeHelper.AbstractWebApiBusinessService("Kingdee.BOS.WebAPI.ServiceExtend.ServicesStub.CustomBusinessService.UpdateStockUpScanState", Parameters); if (backresult == "1") { Model.isscan = true; await Navigation.PopAsync(); } else { label.Text = "err"; } } else if (mode == 4) { zxing.IsScanning = false; StringBuilder stringBuilder = (StringBuilder)BindingContext; stringBuilder.Append(result.ToString()); await Navigation.PopAsync(); } else if (mode == 5) { string qrresult = BaseToString(result.ToString()); string billno = string.Empty; if (qrresult.Substring(0, 2) != "#%") { billno = result.ToString(); } else { Loadinganimation.IsVisible = true; string jsonstring = qrresult.Substring(2); string[] stringarray = jsonstring.Split(','); if (stringarray.Count() >= 3) { string ID = stringarray[0]; string json = "{\"FormId\":\"9d0a72f2a1104fe1881969ad5a1fc22d\",\"FieldKeys\":\"FBillNO\",\"FilterString\":\"F_XAY_StockUpOrderEntity_FENTRYID=" + ID + "\",\"OrderString\":\"\",\"TopRowCount\":\"0\",\"StartRow\":\"0\",\"Limit\":\"0\"}"; string[] lists = Actions.Jsonhelper.JsonToString(json); if (lists != null) { billno = lists[0]; billno = billno.Replace("[", ""); billno = billno.Replace("]", ""); } } } StockUpPhoto photopage = new StockUpPhoto(); photopage.BindingContext = billno; Navigation.InsertPageBefore(photopage, this); await Navigation.PopAsync(); } }); label = new Label { HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center, AutomationId = "label", TextColor = Color.White, FontSize = 30 }; button = new Button { HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center, Text = "hahha" }; Loadinganimation = new AnimationView { Animation = "loading.json", HorizontalOptions = LayoutOptions.Center, WidthRequest = 200, AutoPlay = true, Loop = true, IsVisible = false }; #region button.Clicked += async delegate { //Vibration.Vibrate(); //var duration = TimeSpan.FromMilliseconds(100); //Vibration.Vibrate(duration); if (mode == 1) { StockUpBillModel stockUpBillModel = (StockUpBillModel)BindingContext; Loadinganimation.IsVisible = true; await Task.Run(() => { List <object> Parameters = new List <object>(); Parameters.Add(App.Context.DataCenterId); Parameters.Add("WLBHD201806220001"); string result = apiHelper.InvokeHelper.AbstractWebApiBusinessService("Kingdee.BOS.WebAPI.ServiceExtend.ServicesStub.CustomBusinessService.StockUpExecuteService", Parameters); if (result == "err" || string.IsNullOrWhiteSpace(result)) { return; } else { var json = JsonConvert.DeserializeObject <StockUpBillModel>(result); stockUpBillModel.FBillNo = json.FBillNo; stockUpBillModel.F_XAY_Custom = json.F_XAY_Custom; stockUpBillModel.F_XAY_Phone = json.F_XAY_Phone; stockUpBillModel.F_XAY_Logistics = json.F_XAY_Logistics; stockUpBillModel.XAY_StockUpOrderEntry = json.XAY_StockUpOrderEntry; } }); await Navigation.PopAsync(); } else if (mode == 2) { StockUpBillModel stockUpBillModel = (StockUpBillModel)BindingContext; string a = "#%{'Id':'100049','isSpareParts':false,'isgroup':true,'MaterialInfo':[{'Id':'100040','MaterialId':'4154077','Piece':1,'Qty':7,'Unit':'个'}]}"; if (a.Substring(0, 2) != "#%") { await DisplayAlert("提示", "二维码数据格式有误", "OK"); return; } string jsonstring = a.Substring(2, a.Length - 2); JObject jObject = (JObject)JsonConvert.DeserializeObject(jsonstring); if (jObject.ContainsKey("Id") && jObject.ContainsKey("BillNo")) { if (stockUpBillModel.FBillNo != jObject["BillNo"].ToString()) { return; } string ID = jObject["Id"].ToString(); if ((bool)jObject["isgroup"]) { var MaterialInfo = jObject["MaterialInfo"]; for (int i = 0; i < MaterialInfo.Count(); i++) { string subID = MaterialInfo[i]["Id"].ToString(); List <object> Parameters = new List <object>(); Parameters.Add(App.Context.DataCenterId); Parameters.Add(2); Parameters.Add(subID); string result = InvokeHelper.AbstractWebApiBusinessService("Kingdee.BOS.WebAPI.ServiceExtend.ServicesStub.CustomBusinessService.UpdateStockUpScanState", Parameters);; if (result == "1") { var sd = stockUpBillModel.XAY_StockUpOrderEntry.Single(o => o.Id == ID && o.XAY_t_StockUpOrderSubEntry[i].id == subID); sd.XAY_t_StockUpOrderSubEntry[i].F_XAY_IsCScan = true; var scancount = (from q in sd.XAY_t_StockUpOrderSubEntry where q.F_XAY_IsCScan == false select new { q.F_XAY_IsCScan }).Count(); label.Text = "扫描成功"; if (scancount == 0) { await UpdateScanStateAsync(stockUpBillModel, ID, 1); } } } } else { await UpdateScanStateAsync(stockUpBillModel, ID, 1); } } } else if (mode == 3) { StockUpPageModel Model = (StockUpPageModel)BindingContext; Model.LogisticsNum = "123123123123"; List <object> Parameters = new List <object>(); Parameters.Add(App.Context.DataCenterId); Parameters.Add(mode); Parameters.Add(Model.Id); Parameters.Add(Model.LogisticsNum); string result = InvokeHelper.AbstractWebApiBusinessService("Kingdee.BOS.WebAPI.ServiceExtend.ServicesStub.CustomBusinessService.UpdateStockUpScanState", Parameters); if (result == "1") { Model.isscan = true; await Navigation.PopAsync(); } else { label.Text = "dadad"; } } }; #endregion overlay = new ZXingOverlay { ShowFlashButton = true, }; overlay.FlashButtonClicked += (sender, e) => { try { if (!zxing.IsTorchOn) { sender.Image = "flash_off.png"; // CrossLampState = true; zxing.IsTorchOn = true; } else { sender.Image = "flash_on.png"; zxing.IsTorchOn = false; } } catch (Exception ex) { throw ex; } }; var grid = new Grid { VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.FillAndExpand, }; grid.Children.Add(zxing); //overlay.Children.Add(button, 0, 0); overlay.Children.Add(Loadinganimation, 0, 1); overlay.Children.Add(label, 0, 0); grid.Children.Add(overlay); Content = grid; }
public PhotoGallery() { InitializeComponent(); Grid grid = new Grid(); ProgressBar progressbar = new ProgressBar { Progress = 0, VerticalOptions = LayoutOptions.Start, BackgroundColor = Color.FromHex("#fafafa"), Opacity = 0.9, HeightRequest = 50, IsVisible = false, }; ListView listView = new ListView(ListViewCachingStrategy.RecycleElement); ImageService.Instance.Config.MaxMemoryCacheSize = 1000; this.Appearing += async(sender, e) => { images = await DependencyService.Get <IPicturePicker>().GetImageStreamAsync(); Selectedimages = new List <ImageModel>(); listView.BeginRefresh(); }; listView.ItemsSource = images; listView.ItemTemplate = new DataTemplate(typeof(CachedImageCell)); //listView.IsPullToRefreshEnabled = true; listView.HasUnevenRows = true; listView.ItemSelected += (s, e) => { ImageModel selected = (ImageModel)e.SelectedItem; if (Selectedimages.Contains(selected)) { Selectedimages.Remove(selected); } else { Selectedimages.Add(selected); } }; listView.Refreshing += delegate { listView.ItemsSource = images; listView.EndRefresh(); }; SendBtn.Clicked += async delegate { string billno; if (BindingContext != null) { billno = BindingContext.ToString(); if (Selectedimages.Count > 0) { if (string.IsNullOrWhiteSpace(App.Context.FtpUrl) || string.IsNullOrWhiteSpace(App.Context.FtpUser) || string.IsNullOrWhiteSpace(App.Context.FtpPassword)) { DependencyService.Get <IToast>().LongAlert("请在设置中完善ftp信息"); return; } FtpHelper ftpHelper = new FtpHelper(App.Context.FtpUrl, App.Context.FtpUser, App.Context.FtpPassword); bool isdirexist = ftpHelper.DirectoryExist(billno); if (!isdirexist) { ftpHelper.MakeDir(billno); } progressbar.IsVisible = true; progressbar.Progress = 0; await Task.Run(() => { for (int i = 0; i < Selectedimages.Count; i++) { ftpHelper.Upload(Selectedimages[i].Path, billno); progressbar.Progress = (double)(i + 1) / (double)Selectedimages.Count; } }); progressbar.IsVisible = false; DependencyService.Get <IToast>().LongAlert("成功"); List <object> Parameters = new List <object>(); Parameters.Add(App.Context.DataCenterId); Parameters.Add(5); Parameters.Add(billno); Parameters.Add(App.Context.FtpUrl + billno); string result = InvokeHelper.AbstractWebApiBusinessService("Kingdee.BOS.WebAPI.ServiceExtend.ServicesStub.CustomBusinessService.UpdateStockUpScanState", Parameters); } } else { DependencyService.Get <IToast>().LongAlert("请先扫描备货单条码后再上传图片"); } }; grid.Children.Add(listView); grid.Children.Add(progressbar); Content = grid; }
public StockUpPhoto() { InitializeComponent(); this.PageIndex = 0; this.PageSize = 24; this.Selected = 0; this.selectedImages = new List <ImageModel>(); ImageService.Instance.Config.MaxMemoryCacheSize = 1000; Grid firstgrid = new Grid() { WidthRequest = 120, HeightRequest = 120, }; Image takaphoto = new Image { WidthRequest = 120, HeightRequest = 120, Scale = 0.4, Source = "camera_black.png" }; BoxView box = new BoxView { Opacity = 0.5, Color = Color.Black, }; TapGestureRecognizer recognizer = new TapGestureRecognizer(); recognizer.Tapped += async(s, args) => { if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported) { return; } var file = await CrossMedia.Current.TakePhotoAsync(new StoreCameraMediaOptions { Directory = "Stock6Media", SaveToAlbum = true, CompressionQuality = 75, CustomPhotoSize = 50, PhotoSize = PhotoSize.MaxWidthHeight, MaxWidthHeight = 2000, DefaultCamera = CameraDevice.Front }); if (file == null) { return; } ImageModel model = new ImageModel(file.Path, 111, "zaop", ""); Grid grid = AddImage(model); flexLayout.Children.Insert(1, grid); //takaphoto.Source = ImageSource.FromStream(() => //{ // var stream = file.GetStream(); // file.Dispose(); // return stream; //}); }; box.GestureRecognizers.Add(recognizer); firstgrid.Children.Add(takaphoto); firstgrid.Children.Add(box); flexLayout.Children.Add(firstgrid); this.Appearing += async(sender, e) => { images = await DependencyService.Get <IPicturePicker>().GetImageStreamAsync(); var initResult = await BindSearchResult(); activityIndicator.IsRunning = false; activityIndicator.IsVisible = false; }; scrollview.Scrolled += async(sender, e) => { if (scrollview.ScrollY >= scrollview.ContentSize.Height - scrollview.Height * 1.5) { oldY = scrollview.ScrollY; var result = await BindSearchResult(); } }; SendBtn.Clicked += async delegate { var current = Connectivity.NetworkAccess; if (current != NetworkAccess.Internet) { DependencyService.Get <IToast>().LongAlert("网络异常,请稍后重试!"); return; } string billno; if (BindingContext != null) { billno = BindingContext.ToString(); if (selectedImages.Count > 0) { if (string.IsNullOrWhiteSpace(App.Context.FtpUrl) || string.IsNullOrWhiteSpace(App.Context.FtpUser) || string.IsNullOrWhiteSpace(App.Context.FtpPassword)) { DependencyService.Get <IToast>().LongAlert("请在设置中完善ftp信息"); return; } FtpHelper ftpHelper = new FtpHelper(App.Context.FtpUrl, App.Context.FtpUser, App.Context.FtpPassword); bool isdirexist = ftpHelper.DirectoryExist(billno); if (!isdirexist) { ftpHelper.MakeDir(billno); } progressbar.IsVisible = true; progressbar.Progress = 0; await Task.Run(() => { for (int i = 0; i < selectedImages.Count; i++) { ftpHelper.Upload(selectedImages[i].Path, billno); progressbar.Progress = (double)(i + 1) / (double)selectedImages.Count; } }); progressbar.IsVisible = false; DependencyService.Get <IToast>().LongAlert("成功"); if (billno.Contains("WLBHD")) { List <object> Parameters = new List <object>(); Parameters.Add(App.Context.DataCenterId); Parameters.Add(5); Parameters.Add(billno); Parameters.Add(App.Context.FtpUrl + billno + "/"); string result = InvokeHelper.AbstractWebApiBusinessService("Kingdee.BOS.WebAPI.ServiceExtend.ServicesStub.CustomBusinessService.UpdateStockUpScanState", Parameters); } } } else { DependencyService.Get <IToast>().LongAlert("请先扫描备货单条码后再上传图片"); } }; //BackgroundWorker worker = new BackgroundWorker(); //worker.DoWork += Worker_DoWorkAsync; //worker.RunWorkerCompleted += Worker_RunWorkerCompleted; //worker.RunWorkerAsync(); //LoadBitmapCollection(); }