.Net

public string CheckDoctorAPPLimit(string ddlRequestProposeDisplayBidsString, List SampleDetailSelect, string Limitstr) { string LimitCNstr = "针"; switch (Limitstr) { case "Drug": LimitCNstr = "药"; break; case "Pen": LimitCNstr = "笔"; break; default: LimitCNstr = "针"; break; } #region // start 检查 项目类 申请数量的限制 string ddlRequestProposeProject = ""; string ddlRequestProposeDisplayBidsQuery = ""; int DoctorDrugLimit = 0; ddlRequestProposeProject = ddlRequestProposeDisplayBidsString; List ListConfigValues = config.GetModelList(new string[] { "Project" }); if (ListConfigValues.Count > 0) { ddlRequestProposeDisplayBidsQuery = ListConfigValues[0].ConfigValue; } List ListConfigValuesForProject = new List(); ListConfigValuesForProject = config.GetModelListByConfigTypeConfigCode("ONES_CME_DRUG_TOP", Limitstr); if (ListConfigValuesForProject.Count > 0) { DoctorDrugLimit = Convert.ToInt32(ListConfigValuesForProject[0].ConfigValue); } StringBuilder DoctorLimitName = new StringBuilder(); if (ddlRequestProposeDisplayBidsQuery.Equals(ddlRequestProposeDisplayBidsString)) { IList _sampleDetailsList = new List(); List sampleDetailsAlreaySubmit = new List(); List sampleDetailsAlreaySubmitFix = new List(); // var DoctorCount = sampleDetailsAlreaySubmit; // 组合医生姓名和联系方式 _sampleDetailsList = SampleDetailSelect.ToList(); for (int i = 0; i < _sampleDetailsList.Count; i++) { if (string.IsNullOrEmpty(_sampleDetailsList[i].DeliveryMobile)) { _sampleDetailsList[i].DeliveryMobile = ""; } _sampleDetailsList[i].DeliveryContact = _sampleDetailsList[i].DeliveryContact + ":" + _sampleDetailsList[i].DeliveryMobile; } _sampleDetailsList = _sampleDetailsList.Where(c => !string.IsNullOrEmpty(c.SampleID)).Where(c => !string.IsNullOrEmpty(c.OrignalApplicantInitial)).ToList(); sampleDetailsAlreaySubmit = reqeustDetail.GetModelListForProject("商务部项目样品", LimitCNstr);// 从数据库中查询出来的 // 组合医生姓名和联系方式 for (int i = 0; i < sampleDetailsAlreaySubmit.Count; i++) { if (string.IsNullOrEmpty(sampleDetailsAlreaySubmit[i].DeliveryMobile)) { sampleDetailsAlreaySubmit[i].DeliveryMobile = ""; } sampleDetailsAlreaySubmit[i].DeliveryContact = sampleDetailsAlreaySubmit[i].DeliveryContact + ":" + sampleDetailsAlreaySubmit[i].DeliveryMobile; } List sample = new SampleManagement().GetALL(); var ccc = _sampleDetailsList.Join(sample, u => u.SampleID.Trim(), ui => ui.SampleID.Trim(), (u, ui) => new { u, ui }).ToList(); var ddd = sampleDetailsAlreaySubmit.Join(sample, u => u.SampleID.Trim(), ui => ui.SampleID.Trim(), (u, ui) => new { u, ui }).ToList(); // 页面上的数据查询 var _sampleDetailsVar = ccc.Where(c => c.ui.SampleType == LimitCNstr).GroupBy(c => c.u.DeliveryContact).Select(g => (new { name1 = g.Key, SampleCount = g.Sum(x => x.u.SampleNumber) })); //数据库中的查询 var s = ddd.Where(c => c.ui.SampleType == LimitCNstr).GroupBy(c => c.u.DeliveryContact).Select(g => (new { name2 = g.Key, SampleCount = g.Sum(x => x.u.SampleNumber) })); // 保证医生的唯一性 var b = _sampleDetailsVar.Join(s, u => u.name1.Trim(), ui => ui.name2.Trim(), (u, ui) => new { u, ui }).ToList(); // 方法调用必须在SaveData之前 Dictionary items = new Dictionary(); foreach (var itemVar in _sampleDetailsVar.ToList()) { bool flag = false; foreach (var item in b) { if (itemVar.name1.Equals(item.ui.name2)) { items.Add(itemVar.name1, item.ui.SampleCount + itemVar.SampleCount); flag = false; break; } else { flag = true; } } if (flag || b.Count < 1) // b.count 等于0时 { items.Add(itemVar.name1, itemVar.SampleCount); } } var DoctorCount = items.Where(c => c.Value > DoctorDrugLimit).ToList(); foreach (var item in DoctorCount) { DoctorLimitName.Append(item.Key + "--"); } for (int i = 0; i < _sampleDetailsList.Count; i++) { if (!string.IsNullOrEmpty(_sampleDetailsList[i].DeliveryContact)) { string[] temp = new string[2]; temp = _sampleDetailsList[i].DeliveryContact.Split(':'); _sampleDetailsList[i].DeliveryContact = temp[0]; } } } ------------------------------------------------------------------------------------------------------------------------------------ public class RequestDetail { private Int64 _requestID; private Int64 _requestDetailID; private string _orignalApplicantInitial = ""; private string _sampleType = ""; private string _sampleName = ""; private string _sampleForm = ""; private Int32 _sampleNumber; private string _shippingAddress = ""; private string _deliveryAddress = ""; private string _deliveryContact = ""; private string _deliveryMobile = ""; private string _costCenter = ""; private string _orderNumber = ""; private string _createBy = ""; private DateTime? _createTime; private string _updateBy = ""; private DateTime? _updateTime; private string _hospitalName = ""; private string _doctorName = ""; private string _proviceName = ""; private string _L2 = ""; private Decimal _samplePrice; private string _SampleID = ""; private string _SampleCarrierName = ""; private string _SampleDonateResponible = ""; private int _ISDEL = 0; }
posted @ 2017-02-24 17:41  javaandroidcqqcom  Views(103)  Comments(0)    收藏  举报