.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;
}

浙公网安备 33010602011771号