private void CallBackProc(IntPtr hwo, MM_MSG uMsg, IntPtr dwInstance, IntPtr dwParam1, IntPtr dwParam2) { if (uMsg == MM_MSG.MM_WOM_DONE) { lock (_queueIn) { InItem inItem = _queueIn[0]; inItem.ReleaseData(); _queueIn.RemoveAt(0); _queueOut.Add(inItem); while (_queueIn.Count > 0) { inItem = _queueIn[0]; if (inItem._waveHeader != null) { break; } if (_asyncDispatch != null && !_aborted) { _asyncDispatch.Post(inItem._userData); } _queueIn.RemoveAt(0); } } if (_queueIn.Count == 0) { _evt.Set(); } } }
public void ExecuteInDatastore() { if (Relationship is not null) { InDatastoreLogic(Relationship); } else { /* * Parent Nullable 0 to Many * (Account)-[HAS_EXTERNAL_REF]->(ExternalReference) * * 0 to Many NOT NULL * (Account)-[HAS_PARENT]-(Account) * * Transaction: * - Delete Account * - Delete External References * - Commit */ Entity?entity = InItem?.GetEntity(); if (entity is not null) { foreach (var relationship in entity.Parent.Relations) { InDatastoreLogic(relationship); } } } }
public void ExecuteInMemory(Core.EntityCollectionBase target) { if (!target.IsLoaded) { return; } if (Relationship != null) { if (Relationship.Name != target.Relationship.Name) { return; } if (ActsOnSpecificParent()) { if (target.Parent != target.ParentItem(this)) { return; } } } else { Entity entity = InItem.GetEntity(); bool shouldRun = false; if (target.ParentEntity == entity) { shouldRun = true; if (target.ForeignProperty != null && !target.ForeignProperty.Nullable) { return; } } if (target.ForeignEntity == entity) { shouldRun = true; if (target.ParentProperty != null && !target.ParentProperty.Nullable) { return; } } if (!shouldRun) { return; } } InMemoryLogic(target); }
// ListObject안의 Item 셋팅 private void AddListInItem() { InItem itemTemp; for (int i = 0; i < PlayerInformation.drumSoundCount; i++) { itemTemp = new InItem(); itemTemp.soundName = PlayerInformation.soundNameList[i]; itemTemp.soundFileName = PlayerInformation.soundFileNameList[i]; itemTemp.OnToggleClick = new Toggle.ToggleEvent(); itemTemp.OnToggleClick.AddListener(delegate { ToggleClick_Result(); }); // 리스트뷰의 항목인 Item을 만들어서 ItemList에 추가한다. toggleItemList.Add(itemTemp); } }
// 기존의 리스트뷰에 새로 추가한 노래의 리스트를 넣는다. public void AddDrumListViewItem() { InItem itemTemp = new InItem(); itemTemp.soundName = PlayerInformation.soundNameList[PlayerInformation.soundNameList.Count - 1]; itemTemp.soundFileName = PlayerInformation.soundFileNameList[PlayerInformation.soundFileNameList.Count - 1]; itemTemp.OnToggleClick = new Toggle.ToggleEvent(); // 이벤트는 ListViewController에 있는 ItemClick_Result()를 가져와야 한다. itemTemp.OnToggleClick.AddListener(delegate { GameObject.Find("Left Drum Sound List Manager").GetComponent <DrumSoundListViewManager>().ToggleClick_Result(); }); GameObject toggleItemTemp; ToggleItem itemobjectTemp; int AddDrumSoundLoop = 2; for (int i = 0; i < AddDrumSoundLoop; i++) { //추가할 오브젝트를 생성한다. toggleItemTemp = Instantiate(this.toggleItem) as GameObject; //오브젝트가 가지고 있는 'ToggleItem'를 찾는다. itemobjectTemp = toggleItemTemp.GetComponent <ToggleItem>(); //각 속성 입력 itemobjectTemp.soundsName.text = itemTemp.soundName; itemobjectTemp.soundFileName.text = itemTemp.soundFileName; itemobjectTemp.item.onValueChanged = itemTemp.OnToggleClick; if (i % 2 == 0) { itemobjectTemp.item.group = leftToggleGroup; toggleItemTemp.transform.SetParent(this.leftDrumContent); } else { itemobjectTemp.item.group = rightToggleGroup; toggleItemTemp.transform.SetParent(this.rightDrumContent); } // 스케일을 1로 지정한다 이것을 추가하지 않으면 프리팹의 스케일이 너무 커짐. toggleItemTemp.transform.localScale = Vector3.one; } }
public void ExecuteInDatastore() { if (Relationship != null) { InDatastoreLogic(Relationship); } else { Entity entity = InItem.GetEntity(); foreach (var relationship in entity.Parent.Relations) { bool shouldRun = false; if (entity.IsSelfOrSubclassOf(relationship.InEntity)) { shouldRun = true; if (relationship.OutProperty != null && !relationship.OutProperty.Nullable) { continue; } } if (entity.IsSelfOrSubclassOf(relationship.OutEntity)) { shouldRun = true; if (relationship.InProperty != null && !relationship.InProperty.Nullable) { continue; } } if (!shouldRun) { continue; } InDatastoreLogic(relationship); } } }
internal override void Play(byte[] buffer) { if (_deviceOpen) { int num = buffer.Length; _bytesWritten += num; WaveHeader waveHeader = new WaveHeader(buffer); GCHandle wAVEHDR = waveHeader.WAVEHDR; MMSYSERR mMSYSERR = SafeNativeMethods.waveOutPrepareHeader(_hwo, wAVEHDR.AddrOfPinnedObject(), waveHeader.SizeHDR); if (mMSYSERR != 0) { throw new AudioException(mMSYSERR); } lock (_noWriteOutLock) { if (!_aborted) { lock (_queueIn) { InItem item = new InItem(waveHeader); _queueIn.Add(item); _evt.Reset(); } mMSYSERR = SafeNativeMethods.waveOutWrite(_hwo, wAVEHDR.AddrOfPinnedObject(), waveHeader.SizeHDR); if (mMSYSERR != 0) { lock (_queueIn) { _queueIn.RemoveAt(_queueIn.Count - 1); throw new AudioException(mMSYSERR); } } } } } }
/// <summary> /// 载入配置文件 /// </summary> /// <param name="config"></param> /// <returns></returns> public static int LoadConfig(ref Config config) { //载入配置文件 string result = Utils.LoadResource(Utils.GetPath(configRes)); if (!Utils.IsNullOrEmpty(result)) { //转成Json config = Utils.FromJson <Config>(result); } if (config == null) { config = new Config(); config.index = -1; config.logEnabled = false; config.loglevel = "warning"; config.vmess = new List <VmessItem>(); //Mux config.muxEnabled = true; ////默认监听端口 //config.pacPort = 8888; // 默认缓存七天 config.CacheDays = 7; // 默认不开启统计 config.enableStatistics = false; // 默认中等刷新率 config.statisticsFreshRate = (int)Global.StatisticsFreshRate.medium; } //本地监听 if (config.inbound == null) { config.inbound = new List <InItem>(); InItem inItem = new InItem(); inItem.protocol = "socks"; inItem.localPort = 10808; inItem.udpEnabled = true; inItem.sniffingEnabled = true; config.inbound.Add(inItem); //inItem = new InItem(); //inItem.protocol = "http"; //inItem.localPort = 1081; //inItem.udpEnabled = true; //config.inbound.Add(inItem); } else { //http协议不由core提供,只保留socks if (config.inbound.Count > 0) { config.inbound[0].protocol = "socks"; } } //路由规则 if (Utils.IsNullOrEmpty(config.domainStrategy)) { config.domainStrategy = "IPIfNonMatch"; } if (Utils.IsNullOrEmpty(config.routingMode)) { config.routingMode = "0"; } if (config.useragent == null) { config.useragent = new List <string>(); } if (config.userdirect == null) { config.userdirect = new List <string>(); } if (config.userblock == null) { config.userblock = new List <string>(); } //kcp if (config.kcpItem == null) { config.kcpItem = new KcpItem(); config.kcpItem.mtu = 1350; config.kcpItem.tti = 50; config.kcpItem.uplinkCapacity = 12; config.kcpItem.downlinkCapacity = 100; config.kcpItem.readBufferSize = 2; config.kcpItem.writeBufferSize = 2; config.kcpItem.congestion = false; } if (config.uiItem == null) { config.uiItem = new UIItem(); } //// 如果是用户升级,首次会有端口号为0的情况,不可用,这里处理 //if (config.pacPort == 0) //{ // config.pacPort = 8888; //} if (config.subItem == null) { config.subItem = new List <SubItem>(); } if (config == null || config.index < 0 || config.vmess.Count <= 0 || config.index > config.vmess.Count - 1 ) { Global.reloadV2ray = false; } else { Global.reloadV2ray = true; //版本升级 for (int i = 0; i < config.vmess.Count; i++) { VmessItem vmessItem = config.vmess[i]; UpgradeServerVersion(ref vmessItem); } } return(0); }
/// <summary> /// 载入配置文件 /// </summary> /// <param name="config"></param> /// <returns></returns> public static int LoadConfig(ref Config config) { //载入配置文件 string result = Utils.LoadResource(Utils.GetPath(configRes)); if (!Utils.IsNullOrEmpty(result)) { //转成Json config = Utils.FromJson <Config>(result); } else { if (File.Exists(Utils.GetPath(configRes))) { Utils.SaveLog("LoadConfig Exception"); return(-1); } } if (config == null) { config = new Config { logEnabled = false, loglevel = "warning", vmess = new List <VmessItem>(), //Mux muxEnabled = false, // 默认不开启统计 enableStatistics = false, // 默认中等刷新率 statisticsFreshRate = (int)Global.StatisticsFreshRate.medium, enableRoutingAdvanced = true }; } //本地监听 if (config.inbound == null) { config.inbound = new List <InItem>(); InItem inItem = new InItem { protocol = Global.InboundSocks, localPort = 10808, udpEnabled = true, sniffingEnabled = true }; config.inbound.Add(inItem); //inItem = new InItem(); //inItem.protocol = "http"; //inItem.localPort = 1081; //inItem.udpEnabled = true; //config.inbound.Add(inItem); } else { if (config.inbound.Count > 0) { config.inbound[0].protocol = Global.InboundSocks; } } //路由规则 if (Utils.IsNullOrEmpty(config.domainStrategy)) { config.domainStrategy = "IPIfNonMatch"; } if (Utils.IsNullOrEmpty(config.domainMatcher)) { config.domainMatcher = "linear"; } //kcp if (config.kcpItem == null) { config.kcpItem = new KcpItem { mtu = 1350, tti = 50, uplinkCapacity = 12, downlinkCapacity = 100, readBufferSize = 2, writeBufferSize = 2, congestion = false }; } if (config.uiItem == null) { config.uiItem = new UIItem() { enableAutoAdjustMainLvColWidth = true }; } if (config.uiItem.mainLvColWidth == null) { config.uiItem.mainLvColWidth = new Dictionary <string, int>(); } if (config.constItem == null) { config.constItem = new ConstItem(); } if (Utils.IsNullOrEmpty(config.constItem.speedTestUrl)) { config.constItem.speedTestUrl = Global.SpeedTestUrl; } if (Utils.IsNullOrEmpty(config.constItem.speedPingTestUrl)) { config.constItem.speedPingTestUrl = Global.SpeedPingTestUrl; } if (Utils.IsNullOrEmpty(config.constItem.defIEProxyExceptions)) { config.constItem.defIEProxyExceptions = Global.IEProxyExceptions; } //if (Utils.IsNullOrEmpty(config.remoteDNS)) //{ // config.remoteDNS = "1.1.1.1"; //} if (config.subItem == null) { config.subItem = new List <SubItem>(); } if (config.groupItem == null) { config.groupItem = new List <GroupItem>(); } if (config == null || config.vmess.Count <= 0 ) { Global.reloadV2ray = false; } else { Global.reloadV2ray = true; //版本升级 for (int i = 0; i < config.vmess.Count; i++) { VmessItem vmessItem = config.vmess[i]; UpgradeServerVersion(ref vmessItem); if (Utils.IsNullOrEmpty(vmessItem.indexId)) { vmessItem.indexId = Utils.GetGUID(false); } } } LazyConfig.Instance.SetConfig(ref config); return(0); }
/// <summary> /// 载入配置文件 /// </summary> /// <param name="config"></param> /// <returns></returns> public static int LoadConfig(ref Config config) { //载入配置文件 string result = Utils.LoadResource(Utils.GetPath(configRes)); if (!Utils.IsNullOrEmpty(result)) { //转成Json config = Utils.FromJson <Config>(result); } if (config == null) { config = new Config { index = -1, logEnabled = false, loglevel = "warning", vmess = new List <VmessItem>(), //Mux muxEnabled = true, ////默认监听端口 //config.pacPort = 8888; // 默认不开启统计 enableStatistics = false, // 默认中等刷新率 statisticsFreshRate = (int)Global.StatisticsFreshRate.medium }; } //本地监听 if (config.inbound == null) { config.inbound = new List <InItem>(); InItem inItem = new InItem { protocol = Global.InboundSocks, localPort = 10808, udpEnabled = true, sniffingEnabled = true }; config.inbound.Add(inItem); //inItem = new InItem(); //inItem.protocol = "http"; //inItem.localPort = 1081; //inItem.udpEnabled = true; //config.inbound.Add(inItem); } else { //http协议不由core提供,只保留socks if (config.inbound.Count > 0) { config.inbound[0].protocol = Global.InboundSocks; } } //路由规则 if (Utils.IsNullOrEmpty(config.domainStrategy)) { config.domainStrategy = "IPIfNonMatch"; } if (Utils.IsNullOrEmpty(config.routingMode)) { config.routingMode = "0"; } if (config.useragent == null) { config.useragent = new List <string>(); } if (config.userdirect == null) { config.userdirect = new List <string>(); } if (config.userblock == null) { config.userblock = new List <string>(); } //kcp if (config.kcpItem == null) { config.kcpItem = new KcpItem { mtu = 1350, tti = 50, uplinkCapacity = 12, downlinkCapacity = 100, readBufferSize = 2, writeBufferSize = 2, congestion = false }; } if (config.uiItem == null) { config.uiItem = new UIItem(); } if (config.uiItem.mainLvColWidth == null) { config.uiItem.mainLvColWidth = new Dictionary <string, int>(); } //// 如果是用户升级,首次会有端口号为0的情况,不可用,这里处理 //if (config.pacPort == 0) //{ // config.pacPort = 8888; //} if (Utils.IsNullOrEmpty(config.speedTestUrl)) { config.speedTestUrl = Global.SpeedTestUrl; } if (Utils.IsNullOrEmpty(config.speedPingTestUrl)) { config.speedPingTestUrl = Global.SpeedPingTestUrl; } if (Utils.IsNullOrEmpty(config.urlGFWList)) { config.urlGFWList = Global.GFWLIST_URL; } //if (Utils.IsNullOrEmpty(config.remoteDNS)) //{ // config.remoteDNS = "1.1.1.1"; //} if (Utils.IsNullOrEmpty(config.defaultAllowInsecure)) { config.defaultAllowInsecure = "false"; } if (config.subItem == null) { config.subItem = new List <SubItem>(); } if (config.userPacRule == null) { config.userPacRule = new List <string>(); } if (config == null || config.index < 0 || config.vmess.Count <= 0 || config.index > config.vmess.Count - 1 ) { Global.reloadV2ray = false; } else { Global.reloadV2ray = true; //版本升级 for (int i = 0; i < config.vmess.Count; i++) { VmessItem vmessItem = config.vmess[i]; UpgradeServerVersion(ref vmessItem); } } return(0); }
/// <summary> /// 载入配置文件 /// </summary> /// <param name="config"></param> /// <returns></returns> public static int LoadConfig(ref Config config) { //载入配置文件 string result = Utils.LoadResource(Utils.GetPath(configRes)); if (!Utils.IsNullOrEmpty(result)) { //转成Json config = Utils.FromJson <Config>(result); } if (config == null) { config = new Config(); config.index = -1; config.logEnabled = false; config.loglevel = "warning"; config.vmess = new List <VmessItem>(); //路由 config.chinasites = false; config.chinaip = false; //Mux config.muxEnabled = true; ////默认监听端口 //config.pacPort = 8888; } //本地监听 if (config.inbound == null) { config.inbound = new List <InItem>(); InItem inItem = new InItem(); inItem.protocol = "socks"; inItem.localPort = 1080; inItem.udpEnabled = true; config.inbound.Add(inItem); //inItem = new InItem(); //inItem.protocol = "http"; //inItem.localPort = 1081; //inItem.udpEnabled = true; //config.inbound.Add(inItem); } else { //http协议不由core提供,只保留socks if (config.inbound.Count > 0) { config.inbound[0].protocol = "socks"; } } //路由规则 if (config.useragent == null) { config.useragent = new List <string>(); } if (config.userdirect == null) { config.userdirect = new List <string>(); } if (config.userblock == null) { config.userblock = new List <string>(); } //kcp if (config.kcpItem == null) { config.kcpItem = new KcpItem(); config.kcpItem.mtu = 1350; config.kcpItem.tti = 50; config.kcpItem.uplinkCapacity = 12; config.kcpItem.downlinkCapacity = 100; config.kcpItem.readBufferSize = 2; config.kcpItem.writeBufferSize = 2; config.kcpItem.congestion = false; } //// 如果是用户升级,首次会有端口号为0的情况,不可用,这里处理 //if (config.pacPort == 0) //{ // config.pacPort = 8888; //} if (config == null || config.index < 0 || config.vmess.Count <= 0 || config.index > config.vmess.Count - 1 ) { Global.reloadV2ray = false; } else { Global.reloadV2ray = true; } return(0); }
public override List <WorkloadChangeandWeight> Do() { try { List <FeeItem> items = null; if (flag == "all") { items = new AllItem() { CurrentStart = currentStart, CurrentEnd = currentEnd, PeriodStart = periodStart, PeriodEnd = periodEnd, }.GetData().Item2; } else if (flag == "in") { items = new InItem() { CurrentStart = currentStart, CurrentEnd = currentEnd, PeriodStart = periodStart, PeriodEnd = periodEnd, }.GetData().Item2; } else if (flag == "out") { items = new OutItem() { CurrentStart = currentStart, CurrentEnd = currentEnd, PeriodStart = periodStart, PeriodEnd = periodEnd, }.GetData().Item2; } var sumCurrentCount = items?.Where(r => r?.Age == "当期")?.Sum(r => r?.Count.ToDouble()).ToString(); var sumCurrentFee = items?.Where(r => r?.Age == "当期")?.Sum(r => r?.Fee.ToDouble()).ToString(); var sumPeriodCount = items?.Where(r => r?.Age == "同期")?.Sum(r => r?.Count.ToDouble()).ToString(); var sumPeriodFee = items?.Where(r => r?.Age == "同期")?.Sum(r => r?.Fee.ToDouble()).ToString(); var list = new List <WorkloadChangeandWeight>(); var projects = items.Select(r => r.Project).Distinct().ToList(); projects.ForEach(r => { list.Add(new WorkloadChangeandWeight(sumCurrentCount, sumCurrentFee, sumPeriodCount, sumPeriodFee) { Project = r, CurrentFee = items?.FirstOrDefault(s => s.Project == r && s.Age == "当期")?.Fee, PeriodFee = items?.FirstOrDefault(s => s.Project == r && s.Age == "同期")?.Fee, CurrentWorkload = items?.FirstOrDefault(s => s.Project == r && s.Age == "当期")?.Count, PeriodWorkload = items?.FirstOrDefault(s => s.Project == r && s.Age == "同期")?.Count, }); }); list.Insert(0, new WorkloadChangeandWeight(sumCurrentCount, sumCurrentFee, sumPeriodCount, sumPeriodFee) { Project = "病理科—总计", CurrentFee = sumCurrentFee, PeriodFee = sumPeriodFee, CurrentWorkload = sumCurrentCount, PeriodWorkload = sumPeriodCount }); return(list); } catch (Exception) { throw; } }
/// <summary> /// 载入配置文件 /// </summary> /// <param name="config"></param> /// <returns></returns> public static int LoadConfig(ref Config config) { //载入配置文件 string result = Utils.LoadResource(Utils.GetPath(configRes)); if (!Utils.IsNullOrEmpty(result)) { //转成Json config = Utils.FromJson <Config>(result); } if (config == null) { config = new Config(); config.index = -1; config.logEnabled = false; config.loglevel = "warning"; config.vmess = new List <VmessItem>(); //路由 config.chinasites = false; config.chinaip = false; //Mux config.muxEnabled = true; } //本地监听 if (config.inbound == null) { config.inbound = new List <InItem>(); InItem inItem = new InItem(); inItem.protocol = "socks"; inItem.localPort = 1080; inItem.udpEnabled = true; config.inbound.Add(inItem); } //路由规则 if (config.useragent == null) { config.useragent = new List <string>(); } if (config.userdirect == null) { config.userdirect = new List <string>(); } if (config.userblock == null) { config.userblock = new List <string>(); } if (config == null || config.index < 0 || config.vmess.Count <= 0 || config.index > config.vmess.Count - 1 ) { Global.reloadV2ray = false; } else { Global.reloadV2ray = true; } return(0); }
public override List <ThirtyEightFee> Do() { List <FeeItem> items = null; if (flag == "all") { items = new AllItem() { CurrentStart = currentStart, CurrentEnd = currentEnd, PeriodStart = periodStart, PeriodEnd = periodEnd, }.GetData().Item2; } else if (flag == "in") { items = new InItem() { CurrentStart = currentStart, CurrentEnd = currentEnd, PeriodStart = periodStart, PeriodEnd = periodEnd, }.GetData().Item2; } else if (flag == "out") { items = new OutItem() { CurrentStart = currentStart, CurrentEnd = currentEnd, PeriodStart = periodStart, PeriodEnd = periodEnd, }.GetData().Item2; } var list = new List <ThirtyEightFee> { new ThirtyEightFee { Project = "1.诊查费", Current = items.Where(r => r?.Project == TE_PROJECT.EXAMINATION_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.EXAMINATION_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "2.挂号费", Current = items.Where(r => r?.Project == TE_PROJECT.REGISTRATION_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.REGISTRATION_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "3.床位费", Current = items.Where(r => r?.Project == TE_PROJECT.BED_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.BED_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "4.一般治疗费", Current = items.Where(r => r?.Project == TE_PROJECT.GENERAL_TREATMENT_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.GENERAL_TREATMENT_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "5.护理治疗费", Current = items.Where(r => r?.Project == TE_PROJECT.NURSING_TREATMENT_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.NURSING_TREATMENT_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "6.监护及辅助呼吸设备费", Current = items.Where(r => r?.Project == TE_PROJECT.MONITORING_AND_ASSISTED_BREATHING_EQUIPMENT_FEES && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.MONITORING_AND_ASSISTED_BREATHING_EQUIPMENT_FEES && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "7.输氧费", Current = items.Where(r => r?.Project == TE_PROJECT.OXYGEN_DELIVERY_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.OXYGEN_DELIVERY_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "8.护理费", Current = items.Where(r => r?.Project == TE_PROJECT.CARE_COSTS && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.CARE_COSTS && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "9.其它费", Current = items.Where(r => r?.Project == TE_PROJECT.OTHER_FEES && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.OTHER_FEES && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "10.病理费", Current = items.Where(r => r?.Project == TE_PROJECT.PATHOLOGY_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.PATHOLOGY_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "11.化验费", Current = items.Where(r => r?.Project == TE_PROJECT.LABORATORY_FEES && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.LABORATORY_FEES && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "12.核素检查费", Current = items.Where(r => r?.Project == TE_PROJECT.RADIONUCLIDE_INSPECTION_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.RADIONUCLIDE_INSPECTION_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "13.超声费", Current = items.Where(r => r?.Project == TE_PROJECT.ULTRASONIC_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.ULTRASONIC_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "14.放射费", Current = items.Where(r => r?.Project == TE_PROJECT.RADIATION_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.RADIATION_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "15.一般检查费", Current = items.Where(r => r?.Project == TE_PROJECT.GENERAL_INSPECTION_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.GENERAL_INSPECTION_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "16.临床物理治疗费", Current = items.Where(r => r?.Project == TE_PROJECT.CLINICAL_PHYSICAL_THERAPY_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.CLINICAL_PHYSICAL_THERAPY_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "17.核素治疗费", Current = items.Where(r => r?.Project == TE_PROJECT.NUCLIDE_TREATMENT_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.NUCLIDE_TREATMENT_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "18.特殊治疗费", Current = items.Where(r => r?.Project == TE_PROJECT.SPECIAL_TREATMENT_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.SPECIAL_TREATMENT_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "19.精神治疗费", Current = items.Where(r => r?.Project == TE_PROJECT.PSYCHIATRIC_TREATMENT_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.PSYCHIATRIC_TREATMENT_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "20.麻醉费", Current = items.Where(r => r?.Project == TE_PROJECT.ANESTHESIA_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.ANESTHESIA_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "21.手术费", Current = items.Where(r => r?.Project == TE_PROJECT.SURGERY_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.SURGERY_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "22.介入治疗费", Current = items.Where(r => r?.Project == TE_PROJECT.INTERVENTION_COSTS && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.INTERVENTION_COSTS && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "23.接生费", Current = items.Where(r => r?.Project == TE_PROJECT.BIRTH_PAYMENT && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.BIRTH_PAYMENT && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "24.康复治疗费", Current = items.Where(r => r?.Project == TE_PROJECT.REHABILITATION_TREATMENT_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.REHABILITATION_TREATMENT_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "25.中医治疗费", Current = items.Where(r => r?.Project == TE_PROJECT.CHINESE_MEDICINE_TREATMENT_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.CHINESE_MEDICINE_TREATMENT_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "26.抗菌药物费", Current = items.Where(r => r?.Project == TE_PROJECT.ANTIBACTERIAL_DRUG_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.ANTIBACTERIAL_DRUG_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "27.西药费", Current = items.Where(r => r?.Project == TE_PROJECT.WESTERN_MEDICINE_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.WESTERN_MEDICINE_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "28.中成药费", Current = items.Where(r => r?.Project == TE_PROJECT.CHINESE_MEDICINE_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.CHINESE_MEDICINE_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "29.中草药费", Current = items.Where(r => r?.Project == TE_PROJECT.CHINESE_HERBAL_MEDICINE_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.CHINESE_HERBAL_MEDICINE_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "30.输血费", Current = items.Where(r => r?.Project == TE_PROJECT.BLOOD_TRANSFUSION_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.BLOOD_TRANSFUSION_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "31.白蛋白类制品费", Current = items.Where(r => r?.Project == TE_PROJECT.ALBUMIN_PRODUCT_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.ALBUMIN_PRODUCT_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "32.球蛋白类制品费", Current = items.Where(r => r?.Project == TE_PROJECT.GLOBIN_PRODUCT_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.GLOBIN_PRODUCT_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "33.凝血因子类制品费", Current = items.Where(r => r?.Project == TE_PROJECT.COAGULATION_FACTOR_PRODUCT_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.COAGULATION_FACTOR_PRODUCT_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "34.细胞因子类制品费", Current = items.Where(r => r?.Project == TE_PROJECT.CYTOKINE_PRODUCT_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.CYTOKINE_PRODUCT_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "35.检查用一次性医用材料费", Current = items.Where(r => r?.Project == TE_PROJECT.INSPECTION_OF_DISPOSABLE_MEDICAL_MATERIALS_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.INSPECTION_OF_DISPOSABLE_MEDICAL_MATERIALS_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "36.治疗用一次性医用材料费", Current = items.Where(r => r?.Project == TE_PROJECT.DISPOSABLE_MEDICAL_MATERIALS_FOR_TREATMENT && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.DISPOSABLE_MEDICAL_MATERIALS_FOR_TREATMENT && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "37.介入用一次性医用材料费", Current = items.Where(r => r?.Project == TE_PROJECT.INTERVENTIONAL_DISPOSABLE_MEDICAL_MATERIALS_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.INTERVENTIONAL_DISPOSABLE_MEDICAL_MATERIALS_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, new ThirtyEightFee { Project = "38.手术用一次性医用材料费", Current = items.Where(r => r?.Project == TE_PROJECT.DISPOSABLE_MEDICAL_MATERIALS_FOR_SURGERY && r?.Age == "当期")?.FirstOrDefault()?.Fee, Period = items.Where(r => r?.Project == TE_PROJECT.DISPOSABLE_MEDICAL_MATERIALS_FOR_SURGERY && r?.Age == "同期")?.FirstOrDefault()?.Fee, }, }; return(list); }
public override List <SamePeriodIncomRatio> Do() { try { var s = param?.DoExport(); return(new List <SamePeriodIncomRatio>()); List <FeeItem> items = null; if (flag == "all") { items = new AllItem() { CurrentStart = currentStart, CurrentEnd = currentEnd, PeriodStart = periodStart, PeriodEnd = periodEnd, }.GetData().Item2; } else if (flag == "in") { items = new InItem() { CurrentStart = currentStart, CurrentEnd = currentEnd, PeriodStart = periodStart, PeriodEnd = periodEnd, }.GetData().Item2; } else if (flag == "out") { items = new OutItem() { CurrentStart = currentStart, CurrentEnd = currentEnd, PeriodStart = periodStart, PeriodEnd = periodEnd, }.GetData().Item2; } var sumCurrent = items?.Where(r => r?.Age == "当期")?.Sum(r => r?.Fee.ToDouble()).ToString().ToDouble().ToString(); var sumPeriod = items?.Where(r => r?.Age == "同期")?.Sum(r => r?.Fee.ToDouble()).ToString().ToDouble().ToString(); var sumCurrentDrug = items?.Where(r => (r?.Project == SPI_PROJECT.CHINESE_PATENT_MEDICINE_FEE || r?.Project == SPI_PROJECT.CHINESE_HERBAL_MEDICINE_FEE || r?.Project == SPI_PROJECT.WESTERN_MEDICINE_FEE) && r?.Age == "当期").Sum(r => r?.Fee.ToDouble()).ToString().ToDouble().ToString(); var sumPeriodDrug = items.Where(r => (r?.Project == SPI_PROJECT.CHINESE_PATENT_MEDICINE_FEE || r?.Project == SPI_PROJECT.CHINESE_HERBAL_MEDICINE_FEE || r?.Project == SPI_PROJECT.WESTERN_MEDICINE_FEE) && r?.Age == "同期").Sum(r => r?.Fee.ToDouble()).ToString().ToDouble().ToString(); var a = items.Where(r => r?.Project == SPI_PROJECT.WESTERN_MEDICINE_FEE && r?.Sugbe == "1" && r?.Age == "当期")?.FirstOrDefault()?.Fee; var list = new List <SamePeriodIncomRatio> { new SamePeriodIncomRatio(sumCurrent, sumPeriod) { OrderNo = 0.9, Project = "住院收入", Current = sumCurrent, Period = sumPeriod, }, new SamePeriodIncomRatio(sumCurrent, sumPeriod) { OrderNo = 0.91, Project = "医疗收入", Current = (sumCurrent.ToDouble() - sumCurrentDrug.ToDouble()).ToString(), Period = (sumPeriod.ToDouble() - sumPeriodDrug.ToDouble()).ToString(), }, new SamePeriodIncomRatio(sumCurrent, sumPeriod) { OrderNo = 1, Project = " 床位收入", Current = items.Where(r => r?.Project == SPI_PROJECT.BED_FEE && r?.Sugbe == "1" && r?.Age == "当期")?.Sum(i => i.Fee.ToDouble()).ToString(), Period = items.Where(r => r?.Project == SPI_PROJECT.BED_FEE && r?.Sugbe == "1" && r?.Age == "同期")?.Sum(i => i.Fee.ToDouble()).ToString(), }, new SamePeriodIncomRatio(sumCurrent, sumPeriod) { OrderNo = 2, Project = " 医事服务费", Current = items.Where(r => r?.Project == SPI_PROJECT.MEDICAL_FEES && r?.Sugbe == "1" && r?.Age == "当期")?.Sum(i => i.Fee.ToDouble()).ToString(), Period = items.Where(r => r?.Project == SPI_PROJECT.MEDICAL_FEES && r?.Sugbe == "1" && r?.Age == "同期")?.Sum(i => i.Fee.ToDouble()).ToString(), }, new SamePeriodIncomRatio(sumCurrent, sumPeriod) { OrderNo = 3, Project = " 检查收入", Current = items.Where(r => (r?.Project == SPI_PROJECT.ROUTINE_INSPECTION_FEE || r?.Project == "CT" || r?.Project == SPI_PROJECT.RADIATION || r?.Project == SPI_PROJECT.MAGNETIC_RESONANCE) && r?.Sugbe == "1" && r?.Age == "当期").Sum(r => r?.Fee.ToDouble()).ToString(), Period = items.Where(r => (r?.Project == SPI_PROJECT.ROUTINE_INSPECTION_FEE || r?.Project == "CT" || r?.Project == SPI_PROJECT.RADIATION || r?.Project == SPI_PROJECT.MAGNETIC_RESONANCE) && r?.Sugbe == "1" && r?.Age == "同期").Sum(r => r?.Fee.ToDouble()).ToString(), }, new SamePeriodIncomRatio(sumCurrent, sumPeriod) { OrderNo = 4, Project = " 其中:放射", Current = items.Where(r => r?.Project == SPI_PROJECT.RADIATION && r?.Sugbe == "1" && r?.Age == "当期")?.Sum(i => i.Fee.ToDouble()).ToString(), Period = items.Where(r => r?.Project == SPI_PROJECT.RADIATION && r?.Sugbe == "1" && r?.Age == "同期")?.Sum(i => i.Fee.ToDouble()).ToString(), }, new SamePeriodIncomRatio(sumCurrent, sumPeriod) { OrderNo = 5, Project = " 化验收入", Current = items.Where(r => r?.Project == SPI_PROJECT.LAB_FEES && r?.Sugbe == "1" && r?.Age == "当期")?.Sum(i => i.Fee.ToDouble()).ToString(), Period = items.Where(r => r?.Project == SPI_PROJECT.LAB_FEES && r?.Sugbe == "1" && r?.Age == "同期")?.Sum(i => i.Fee.ToDouble()).ToString(), }, new SamePeriodIncomRatio(sumCurrent, sumPeriod) { OrderNo = 6, Project = " 病理收入", Current = items.Where(r => r?.Project == SPI_PROJECT.PATHOLOGY && r?.Sugbe == "1" && r?.Age == "当期")?.Sum(i => i.Fee.ToDouble()).ToString(), Period = items.Where(r => r?.Project == SPI_PROJECT.PATHOLOGY && r?.Sugbe == "1" && r?.Age == "同期")?.Sum(i => i.Fee.ToDouble()).ToString(), }, new SamePeriodIncomRatio(sumCurrent, sumPeriod) { OrderNo = 7, Project = " 治疗收入", Current = items.Where(r => (r?.Project == SPI_PROJECT.TREATMENT_COSTS || r?.Project == SPI_PROJECT.HYPERBARIC_OXYGEN_FEE || r?.Project == SPI_PROJECT.HEMODIALYSIS || r?.Project == SPI_PROJECT.BLOOD_TRANSFUSION_FEE || r?.Project == SPI_PROJECT.OXYGEN_DELIVERY_FEE) && r?.Sugbe == "1" && r?.Age == "当期").Sum(r => r?.Fee.ToDouble()).ToString(), Period = items.Where(r => (r?.Project == SPI_PROJECT.TREATMENT_COSTS || r?.Project == SPI_PROJECT.HYPERBARIC_OXYGEN_FEE || r?.Project == SPI_PROJECT.HEMODIALYSIS || r?.Project == SPI_PROJECT.BLOOD_TRANSFUSION_FEE || r?.Project == SPI_PROJECT.OXYGEN_DELIVERY_FEE) && r?.Sugbe == "1" && r?.Age == "同期")?.Sum(i => i.Fee.ToDouble()).ToString(), }, new SamePeriodIncomRatio(sumCurrent, sumPeriod) { OrderNo = 8, Project = " 手术收入", Current = items.Where(r => r?.Project == SPI_PROJECT.SURGERY_FEE && r?.Sugbe == "1" && r?.Age == "当期")?.Sum(i => i.Fee.ToDouble()).ToString(), Period = items.Where(r => r?.Project == SPI_PROJECT.SURGERY_FEE && r?.Sugbe == "1" && r?.Age == "同期")?.Sum(i => i.Fee.ToDouble()).ToString(), }, new SamePeriodIncomRatio(sumCurrent, sumPeriod) { OrderNo = 9, Project = " 护理收入", Current = items.Where(r => r?.Project == SPI_PROJECT.NURSING_FEE && r?.Sugbe == "1" && r?.Age == "当期")?.Sum(i => i.Fee.ToDouble()).ToString(), Period = items.Where(r => r?.Project == SPI_PROJECT.NURSING_FEE && r?.Sugbe == "1" && r?.Age == "同期")?.Sum(i => i.Fee.ToDouble()).ToString(), }, new SamePeriodIncomRatio(sumCurrent, sumPeriod) { OrderNo = 10, Project = " 卫生材料收入", Current = items.Where(r => r.NuValue < 19 && r?.Sugbe == "0" && r?.Age == "当期")?.Sum(i => i.Fee.ToDouble()).ToString(), Period = items.Where(r => r.NuValue < 19 && r?.Sugbe == "0" && r?.Age == "同期")?.Sum(i => i.Fee.ToDouble()).ToString(), }, new SamePeriodIncomRatio(sumCurrent, sumPeriod) { OrderNo = 11, Project = " 其他住院收入", Current = items.Where(r => r?.Project == SPI_PROJECT.OTHER_EXPENSES && r?.Sugbe == "1" && r?.Age == "当期")?.Sum(i => i.Fee.ToDouble()).ToString(), Period = items.Where(r => r?.Project == SPI_PROJECT.OTHER_EXPENSES && r?.Sugbe == "1" && r?.Age == "同期")?.Sum(i => i.Fee.ToDouble()).ToString(), }, new SamePeriodIncomRatio(sumCurrent, sumPeriod) { OrderNo = 12, Project = "药品收入", Current = sumCurrentDrug, Period = sumPeriodDrug, }, new SamePeriodIncomRatio(sumCurrent, sumPeriod) { OrderNo = 13, Project = " 其中:西药收入", Current = items.Where(r => r?.Project == SPI_PROJECT.WESTERN_MEDICINE_FEE && r?.Age == "当期")?.Sum(i => i.Fee.ToDouble()).ToString(), Period = items.Where(r => r?.Project == SPI_PROJECT.WESTERN_MEDICINE_FEE && r?.Age == "同期")?.Sum(i => i.Fee.ToDouble()).ToString(), }, new SamePeriodIncomRatio(sumCurrent, sumPeriod) { OrderNo = 14, Project = " 中草药收入", Current = items.Where(r => r?.Project == SPI_PROJECT.CHINESE_HERBAL_MEDICINE_FEE && r?.Age == "当期")?.Sum(i => i.Fee.ToDouble()).ToString(), Period = items.Where(r => r?.Project == SPI_PROJECT.CHINESE_HERBAL_MEDICINE_FEE && r?.Age == "同期")?.Sum(i => i.Fee.ToDouble()).ToString(), }, new SamePeriodIncomRatio(sumCurrent, sumPeriod) { OrderNo = 15, Project = " 中成药收入", Current = items.Where(r => r?.Project == SPI_PROJECT.CHINESE_PATENT_MEDICINE_FEE && r?.Age == "当期")?.Sum(i => i.Fee.ToDouble()).ToString(), Period = items.Where(r => r?.Project == SPI_PROJECT.CHINESE_PATENT_MEDICINE_FEE && r?.Age == "同期")?.Sum(i => i.Fee.ToDouble()).ToString(), }, new SamePeriodIncomRatio(sumCurrent, sumPeriod) { OrderNo = 17, Project = " —指标分析—", Current = "——", Period = "——", }, new SamePeriodIncomRatio(sumCurrent, sumPeriod) { OrderNo = 17.1, Project = "药占比", Current = (sumCurrentDrug.ToDouble() / sumCurrent.ToDouble()).ToString(), Period = (sumPeriodDrug.ToDouble() / sumPeriod.ToDouble()).ToString(), }, new SamePeriodIncomRatio(sumCurrent, sumPeriod) { OrderNo = 18, Project = "药占比(不含饮片)", Current = ((sumCurrentDrug.ToDouble() - items.Where(r => r?.Project == SPI_PROJECT.CHINESE_HERBAL_MEDICINE_FEE && r?.Age == "当期")?.FirstOrDefault()?.Fee.ToDouble()) / sumCurrent.ToDouble()).ToString(), Period = ((sumPeriodDrug.ToDouble() - items.Where(r => r?.Project == SPI_PROJECT.CHINESE_HERBAL_MEDICINE_FEE && r?.Age == "同期")?.FirstOrDefault()?.Fee.ToDouble()) / sumPeriod.ToDouble()).ToString(), }, new SamePeriodIncomRatio(sumCurrent, sumPeriod) { OrderNo = 19, Project = "医务性收入占比", Current = (( sumCurrent.ToDouble() - items.Where(r => r.NuValue < 19 && r?.Sugbe == "0" && r?.Age == "当期")?.FirstOrDefault()?.Fee.ToDouble() - sumCurrentDrug.ToDouble() - items.Where(r => r?.Project == SPI_PROJECT.OTHER_EXPENSES && r?.Sugbe == "1" && r?.Age == "当期")?.FirstOrDefault()?.Fee.ToDouble()) / sumCurrent.ToDouble()).ToString(), Period = (( sumPeriod.ToDouble() - items.Where(r => r.NuValue < 19 && r?.Sugbe == "0" && r?.Age == "同期")?.FirstOrDefault()?.Fee.ToDouble() - sumPeriodDrug.ToDouble() - items.Where(r => r?.Project == SPI_PROJECT.OTHER_EXPENSES && r?.Sugbe == "1" && r?.Age == "同期")?.FirstOrDefault()?.Fee.ToDouble()) / sumPeriod.ToDouble()).ToString(), }, new SamePeriodIncomRatio(sumCurrent, sumPeriod) { OrderNo = 20, Project = "医疗服务收入占比", Current = (( sumCurrent.ToDouble() - items.Where(r => r.NuValue < 19 && r?.Sugbe == "0" && r?.Age == "当期")?.FirstOrDefault()?.Fee.ToDouble() - sumCurrentDrug.ToDouble() - items.Where(r => r?.Project == SPI_PROJECT.OTHER_EXPENSES && r?.Sugbe == "1" && r?.Age == "当期")?.FirstOrDefault()?.Fee.ToDouble() - items.Where(r => (r?.Project == SPI_PROJECT.ROUTINE_INSPECTION_FEE || r?.Project == "CT" || r?.Project == SPI_PROJECT.RADIATION || r?.Project == SPI_PROJECT.MAGNETIC_RESONANCE) && r?.Sugbe == "1" && r?.Age == "当期").Sum(r => r?.Fee.ToDouble()).ToString().ToDouble() - items.Where(r => r?.Project == SPI_PROJECT.LAB_FEES && r?.Sugbe == "1" && r?.Age == "当期")?.FirstOrDefault()?.Fee.ToDouble()) / sumCurrent.ToDouble()).ToString(), Period = (( sumPeriod.ToDouble() - items.Where(r => r.NuValue < 19 && r?.Sugbe == "0" && r?.Age == "同期")?.FirstOrDefault()?.Fee.ToDouble() - sumPeriodDrug.ToDouble() - items.Where(r => r?.Project == SPI_PROJECT.OTHER_EXPENSES && r?.Sugbe == "1" && r?.Age == "同期")?.FirstOrDefault()?.Fee.ToDouble() - items.Where(r => (r?.Project == SPI_PROJECT.ROUTINE_INSPECTION_FEE || r?.Project == "CT" || r?.Project == SPI_PROJECT.RADIATION || r?.Project == SPI_PROJECT.MAGNETIC_RESONANCE) && r?.Sugbe == "1" && r?.Age == "同期").Sum(r => r?.Fee.ToDouble()).ToString().ToDouble() - items.Where(r => r?.Project == SPI_PROJECT.LAB_FEES && r?.Sugbe == "1" && r?.Age == "同期")?.FirstOrDefault()?.Fee.ToDouble()) / sumPeriod.ToDouble()).ToString(), }, }; //list.Sort((a, b) => a.OrderNo.CompareTo(b.OrderNo)); //var table = ToDataTable(list); return(list); } catch (Exception ex) { throw ex; } }