(#18)万事诚接口参数增加处方开始时间
This commit is contained in:
		
							parent
							
								
									2c1ff5b7cd
								
							
						
					
					
						commit
						5b6455cb91
					
				@ -51,12 +51,19 @@ namespace Cmdjy.Controllers
 | 
				
			|||||||
                result.Code = EnumCode.Exception;
 | 
					                result.Code = EnumCode.Exception;
 | 
				
			||||||
                result.Msg = "Count值错误。";
 | 
					                result.Msg = "Count值错误。";
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            if(result.Code != EnumCode.Exception) {
 | 
					            DateTime sd = DateTime.MinValue;
 | 
				
			||||||
 | 
					            if(!string.IsNullOrEmpty(info.StartDate) && !DateTime.TryParse(info.StartDate,out sd)) {
 | 
				
			||||||
 | 
					                result.Code = EnumCode.Exception;
 | 
				
			||||||
 | 
					                result.Msg = "StartDate值格式错误,请修改正确格式或不提供该值。";
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            sd = new DateTime(sd.Year,sd.Month,sd.Day,0,0,0);//起始时间
 | 
				
			||||||
 | 
					            int i = start;//起始编号
 | 
				
			||||||
 | 
					            int maxId = db.PrescriptionInfos.Max(m => m.Id);//最大Id
 | 
				
			||||||
 | 
					            count = Math.Min(WebSettings.WsdMaxCount,count);//最大获取数量
 | 
				
			||||||
 | 
					            result.MaxId = maxId.ToString();//处方最大Id
 | 
				
			||||||
            result.Prescriptions = new List<WsdPrescriptionInfo>();
 | 
					            result.Prescriptions = new List<WsdPrescriptionInfo>();
 | 
				
			||||||
                count = count > WebSettings.WsdMaxCount ? WebSettings.WsdMaxCount : count;
 | 
					 | 
				
			||||||
            var cache = CacheFactory.Cache;
 | 
					            var cache = CacheFactory.Cache;
 | 
				
			||||||
                for(int i = start;i < start + count;i++) {
 | 
					            while(result.Code != EnumCode.Exception && i <= maxId && result.Prescriptions.Count < count) {
 | 
				
			||||||
                    //从缓存获取
 | 
					 | 
				
			||||||
                var pkey = $"Company:Id:{info.CompanyCode}:Pre:Id:{i}";
 | 
					                var pkey = $"Company:Id:{info.CompanyCode}:Pre:Id:{i}";
 | 
				
			||||||
                var one = cache.GetData<WsdPrescriptionInfo>(pkey);
 | 
					                var one = cache.GetData<WsdPrescriptionInfo>(pkey);
 | 
				
			||||||
                if(one == null) {
 | 
					                if(one == null) {
 | 
				
			||||||
@ -68,19 +75,28 @@ namespace Cmdjy.Controllers
 | 
				
			|||||||
                    //存缓存
 | 
					                    //存缓存
 | 
				
			||||||
                    if(one != null) cache.SetData(pkey,one);
 | 
					                    if(one != null) cache.SetData(pkey,one);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                    if(needNull != null && one == null) {
 | 
					                if(one != null) {
 | 
				
			||||||
                        one = new WsdPrescriptionInfo {
 | 
					                    //处方日期要大于起始日期
 | 
				
			||||||
                            Type = WsdPrescriptionType.NullOrder,Id = i,
 | 
					                    if(DateTime.TryParse(one.PrescriptionDatatime,out DateTime odt)) {
 | 
				
			||||||
                        };
 | 
					                        if(odt < sd) {
 | 
				
			||||||
 | 
					                            one = null;
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                    else {
 | 
				
			||||||
 | 
					                        result.Code = EnumCode.Exception;
 | 
				
			||||||
 | 
					                        result.Msg = $"处方({i})中PrescriptionDatatime错误。";
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                if(one != null) {
 | 
					                if(one != null) {
 | 
				
			||||||
                    result.Prescriptions.Add(one);
 | 
					                    result.Prescriptions.Add(one);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					                i++;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					            if(result.Code != EnumCode.Exception) {
 | 
				
			||||||
                result.Code = EnumCode.Success;
 | 
					                result.Code = EnumCode.Success;
 | 
				
			||||||
                result.Count = result.Prescriptions.Where(m => m.Type != WsdPrescriptionType.NullOrder).Count();
 | 
					                result.Count = result.Prescriptions.Where(m => m.Type != WsdPrescriptionType.NullOrder).Count();
 | 
				
			||||||
                result.Msg = "";
 | 
					                result.Msg = "";
 | 
				
			||||||
                result.MaxId = db.PrescriptionInfos.Max(m => m.Id).ToString();
 | 
					 | 
				
			||||||
                result.More = db.PrescriptionInfos.Max(m => m.Id) > (start + count);
 | 
					                result.More = db.PrescriptionInfos.Max(m => m.Id) > (start + count);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            //编码:json串 +  加密信息
 | 
					            //编码:json串 +  加密信息
 | 
				
			||||||
 | 
				
			|||||||
@ -21,5 +21,9 @@
 | 
				
			|||||||
        /// 最大本次获取的处方数量。根据客户网络和服务器配置情况自行调整
 | 
					        /// 最大本次获取的处方数量。根据客户网络和服务器配置情况自行调整
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
        public string MaxCount { get; set; }
 | 
					        public string MaxCount { get; set; }
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// 查询开始时间
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        public string StartDate { get; set; }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user