public async Task GetScansTest() { var mockRoom = new RoomEntity { id = 12, name = "123", building = new BuildingEntity { id = 13, name = "unikalna nazwa budynku" } }; var mockRoom2 = new RoomEntity { id = 2, name = "3/40", building = new BuildingEntity { id = 1, name = "b 34" } }; var mockOwner = new UserEntity { id = 1, login = "******" }; var expected = new ScanEntity[] { new ScanEntity { id = 5, room = mockRoom2, owner = mockOwner, create_date = new DateTime(2020, 6, 13, 21, 9, 12) }, new ScanEntity { id = 3, room = mockRoom, owner = mockOwner, create_date = new DateTime(2020, 6, 13, 19, 51, 37) } }; Assert.AreEqual(expected, await apiController.getScans()); }
/// <summary> /// Konstruktor klasy /// </summary> /// <param name="room">pokoj w ktorym odbywa sie skanowanie</param> public ScanItemPage(RoomEntity room, int scanId, ScanEntity previusScan) { Room = room; scanningUpdate = new ScanningUpdate(api, room, scanId); InitializeComponent(); GetAllAssets(); if (previusScan != null) { InitializeWith(previusScan); } _scanner.Options = new MobileBarcodeScanningOptions() { DelayBetweenContinuousScans = 1800, // msec UseFrontCameraIfAvailable = false, PossibleFormats = new List <BarcodeFormat>(new[] { BarcodeFormat.EAN_8, BarcodeFormat.EAN_13, BarcodeFormat.CODE_128, BarcodeFormat.QR_CODE }), TryHarder = false //Gets or sets a flag which cause a deeper look into the bitmap. }; }
public void Update(string id, ScanEntity scanEntity) { _scanEntity.ReplaceOne(scanEntity => scanEntity.id == id, scanEntity); if (_memoryCacheExtensions.Contains(id)) { _memoryCacheExtensions.Upate <ScanEntity>(scanEntity.id, scanEntity, ObsloteType.Absolutely, 1800); } }
/// <summary> /// 把单元格中的检查与建议内容抓取出来 /// </summary> /// <param name="parentNode"></param> /// <param name="cont"></param> private void crawlScanAndSuggestion(mshtml.IHTMLElement td, ScanEntity se) { string content = td.innerText; if (content != null && !"".Equals(content.Trim())) { //log.WriteLog("报告原文:【" + content + "】"); if (content.Contains("检查所见")) { se.YXBXHJCSJ = EpisodeRegexUtils.getFirstMatchedFromString(content, @"^\s*检查所见:\s*\n+(.+)$", true); } else if (content.Contains("诊断意见")) { se.JCZDHTS = EpisodeRegexUtils.getFirstMatchedFromString(content, @"^\s*诊断意见:\s*\n+(.+)$", true); } } }
public override void parseElement(IHTMLElement item) { try { if (item.tagName != null && item.tagName.ToUpper().Equals("TABLE")) { ScanEntity se = new ScanEntity(); se.TStudyNoz = JCH; foreach (IHTMLElement td in item.all) { if (td.tagName != null && td.tagName.ToUpper().Equals("TD")) { //把单元格中的检查与建议内容抓取出来 crawlScanAndSuggestion(td, se); } } /* * string updateSql = "update tb_hyft_jcjl set YXBXHJCSJ = '" + se.YXBXHJCSJ + "', JCZDHTS='" + se.JCZDHTS + "' where JCH='" + se.TStudyNoz + "' and HZBM='" + episode.PatientID + "' and JZBM='" + episode.EpisodeID + "'"; * */ if (se.YXBXHJCSJ != null || se.JCZDHTS != null) { if (se.YXBXHJCSJ != null) { se.YXBXHJCSJ = se.YXBXHJCSJ.Replace("'", " "); } if (se.JCZDHTS != null) { se.JCZDHTS = se.JCZDHTS.Replace("'", " "); } string updateSql = "update tb_hyft_jcjl set YXBXHJCSJ = '" + se.YXBXHJCSJ + "', JCZDHTS='" + se.JCZDHTS + "' where JCH='" + se.TStudyNoz + "'"; log.WriteLog("更新报告检查意见与诊断意见,sql=" + updateSql); sqlOp.executeUpdate(updateSql); } } } catch (Exception e) { log.WriteLog("爬取超声报告内容异常:" + e.ToString() + "。" + e.StackTrace); } }
/// <summary> /// Funkcja odpowiadajaca za inicjalizacje skanowania z wykorzystaniem poprzedniego skanowania /// </summary> /// <param name="previusScan">poprzedni skan</param> async void InitializeWith(ScanEntity previusScan) { var positions = await api.GetScanPositions(previusScan.id); if (positions == null) { return; } foreach (var position in positions) { scannedItem.Add($"{position.asset.type.id}-{position.asset.id}"); ScanAsset(position.asset); var localReprezentation = AllPositions.Find(el => el.AssetEntity.id == position.asset.id); switch (position.state) { case 0: // po prostu zeskanowano break; case 1: // zaakceptowano localReprezentation.ItemMoved(); break; case 2: // usunięto localReprezentation.ItemDontMove(); break; } } UpdateCounter(); }
/// <summary> /// Funkcja odpowiadajaca za obsluge przycisku kontynuowania /// </summary> private void Continue_Button_Clicked(object o, EventArgs args) { EnableView(false); Device.BeginInvokeOnMainThread(async() => { if (RoomPicker.SelectedIndex < 0) { await DisplayAlert("Pomieszczenie", "Wybierz pomieszczenie", "OK"); EnableView(true); return; } RoomEntity selectedRoom = null; string selectedName = RoomPicker.Items[RoomPicker.SelectedIndex]; await Task.Run(() => { foreach (var room in rooms) { if (room.name == selectedName) { selectedRoom = room; break; } } }); if (selectedRoom != null) { var status = await CheckPermissions(); if (status != PermissionStatus.Granted) { await DisplayAlert("Komunikat", "Bez uprawnień do kamery aplikacja nie może działać poprawnie", "OK"); } else { var scans = await api.getScans(); ScanEntity existingScan = null; if (scans != null && scans.Length > 0) { foreach (var scan in scans) { if (scan.room.id == selectedRoom.id) { existingScan = scan; } } } if (existingScan != null) { bool useThisScan = await DisplayAlert("Znaleziono niedokończone skanowanie", "Czy chcesz użyć niedokończonego skanowania?", "Tak", "Nie"); if (!useThisScan) { var scanning = new ScanningUpdate(api, selectedRoom, existingScan.id); scanning.Delete(); existingScan = null; } } int scanId = existingScan != null ? existingScan.id : await api.addScan(new ScanPrototype(selectedRoom.id)); await Navigation.PushModalAsync(new ScanItemPage(selectedRoom, scanId, existingScan)); } } else { await DisplayAlert("Błąd", "Błąd niespodzianka, nie znaleziono wybranego pomieszczenia", "OK"); } EnableView(true); }); }
public override void parseElement(IHTMLElement item) { if (item.id != null && item.id.Equals("tDHCRisclinicQueryOEItem")) { log.WriteLog("处理检查结果列表table id=【tDHCRisclinicQueryOEItem】"); ArrayList scans = new ArrayList(); int i = 1; ScanEntity se = null; Dictionary <string, ScanEntity> jch2Bean = new Dictionary <string, ScanEntity>(); foreach (IHTMLElement ele in item.all) { if (ele.id != null && ele.id.Equals("TStudyNoz" + i)) { string jch = ele.innerText; se = get(jch2Bean, jch); if (se == null) { se = new ScanEntity(); jch2Bean.Add(jch, se); se.TStudyNoz = jch; scans.Add(se); } } else if (ele.id != null && ele.id.Equals("TItemNamez" + i)) { //同一个检查号,检查名称合并 se.TItemNamez = (se.TItemNamez == null ? "" : se.TItemNamez) + ele.innerText; } else if (ele.id != null && ele.id.Equals("TItemDatez" + i)) { se.TItemDatez = ele.innerText; } else if (ele.id != null && ele.id.Equals("TItemStatusz" + i)) { se.TItemStatusz = ele.innerText; } else if (ele.id != null && ele.id.Equals("TOEOrderDrz" + i)) { se.TOEOrderDrz = ele.innerText; } else if (ele.id != null && ele.id.Equals("TIsIllz" + i)) { se.TIsIllz = ele.innerText; } else if (ele.id != null && ele.id.Equals("TLocNamez" + i)) { se.TLocNamez = ele.innerText; } else if (ele.id != null && ele.id.Equals("TreplocDrz" + i)) { se.TreplocDrz = ele.innerText; } else if (ele.id != null && ele.id.Equals("TIshasImgz" + i)) { se.TIshasImgz = ele.innerText; } else if (ele.id != null && ele.id.Equals("TMediumNamez" + i)) { se.TMediumNamez = ele.innerText; } else if (ele.id != null && ele.id.Equals("Memoz" + i)) { se.Memoz = ele.innerText; i++; //处理完最后一个元素,i++准备处理下一个元素 } } insert2DB(scans); } }
public ActionResult <ScanEntity> Post([Body] ScanEntity scanEntity) { scanEntity.scanTime = DateTime.Now; return(_scanDataBaseServer.Create(scanEntity)); }
public ScanEntity Create(ScanEntity scanEntity) { _scanEntity.InsertOne(scanEntity); _memoryCacheExtensions.Add <ScanEntity>(scanEntity.scanData, scanEntity, ObsloteType.Absolutely, 1800); return(scanEntity); }