public ApiJsonResultData Icd10BatchUpload([FromBody] UiBaseDataParam param) { return(new ApiJsonResultData(ModelState, new UiInIParam()).RunWithTry(y => { var userBase = webServiceBasicService.GetUserBaseInfo(param.UserId); userBase.TransKey = param.TransKey; var dataList = new List <Icd10PairCodeDataParam>(); //基层 var queryDataNew = _sqlSugarRepository.QueryICD10PairCode(); var queryData = queryDataNew.Where(c => c.IsDelete == false && c.State == 0).ToList(); if (queryData.Any()) { dataList = queryData.Select(d => new Icd10PairCodeDataParam { DiseaseId = d.DiseaseId, ProjectName = d.ProjectName, ProjectCode = d.ProjectCode }).ToList(); } if (dataList.Any()) { int a = 0; int limit = 400; //限制条数 int num = dataList.Count; var count = Convert.ToInt32(num / limit) + ((num % limit) > 0 ? 1 : 0); var idList = new List <string>(); while (a < count) { //排除已上传数据 var rowDataListAll = dataList.Where(d => !idList.Contains(d.DiseaseId)) .ToList(); var sendList = rowDataListAll.Take(limit).ToList(); //回参构建 var icd10List = new List <Icd10PairCodeDateXml>(); icd10List.AddRange(sendList.Select(c => new Icd10PairCodeDateXml() { DiseaseId = c.DiseaseId, DiseaseName = c.ProjectName, DiseaseCoding = c.ProjectCode })); var xmlData = new Icd10PairCodeXml() { row = icd10List }; var strXmlBackParam = XmlSerializeHelper.HisXmlSerialize(xmlData); var saveXml = new SaveXmlDataParam() { User = userBase, MedicalInsuranceBackNum = "CXJB002", MedicalInsuranceCode = "91", BusinessId = param.BusinessId, BackParam = strXmlBackParam }; //存基层 webServiceBasic.SaveXmlData(saveXml); idList.AddRange(sendList.Select(c => c.DiseaseId)); a++; } hisSqlRepository.ExecuteSql("update [dbo].[ICD10PairCode] set state=1 where [PairCodeUserName]='医保接口对码'"); } })); }