/// <summary> /// his上传更新数据 /// </summary> /// <param name="param"></param> /// <returns></returns> public int UpdateThreeCataloguePairCodeUpload(UpdateThreeCataloguePairCodeUploadParam param) { using (var sqlConnection = new SqlConnection(_connectionString)) { string querySql = null; try { sqlConnection.Open(); if (param.ProjectCodeList.Any()) { var projectCodeId = CommonHelp.ListToStr(param.ProjectCodeList); querySql = $@"update [dbo].[ThreeCataloguePairCode] set UploadState=1 where ProjectCode in({projectCodeId}) and UploadState=0 and OrganizationCode='{param.User.OrganizationCode}' and IsDelete=0"; } else { querySql = $@"update [dbo].[ThreeCataloguePairCode] set UploadState=1 where UploadState=0 and OrganizationCode='{param.User.OrganizationCode}' and IsDelete=0"; } var resultData = sqlConnection.Execute(querySql); sqlConnection.Close(); return(resultData); } catch (Exception e) { _log.Debug(querySql); throw new Exception(e.Message); } } }
/// <summary> /// /// </summary> /// <param name="param"></param> /// <returns></returns> public int ThreeCataloguePairCodeUpload(UpdateThreeCataloguePairCodeUploadParam param) { int resultData = 0; var data = _medicalInsuranceSqlRepository.ThreeCataloguePairCodeUpload(param); if (data.Any()) { var uploadDataRow = data.Select(c => new ThreeCataloguePairCodeUploadRowDto() { //ProjectId = c.Id.ToString("N"), HisDirectoryCode = c.DirectoryCode, Manufacturer = "", ProjectName = c.ProjectName, ProjectCode = c.ProjectCode, ProjectCodeType = c.DirectoryCategoryCode, ProjectCodeTypeDetail = c.ProjectCodeType, Remark = c.Remark, ProjectLevel = ((ProjectLevel)Convert.ToInt32(c.ProjectLevel)).ToString(), RestrictionSign = GetStrData(c.ProjectCodeType, c.RestrictionSign) }).ToList(); var uploadData = new ThreeCataloguePairCodeUploadDto() { AuthCode = param.User.AuthCode, CanCelState = "0", UserName = param.User.UserName, OrganizationCode = param.User.OrganizationCode, PairCodeRow = uploadDataRow, VersionNumber = "" }; _webServiceBasic.HIS_Interface("35", JsonConvert.SerializeObject(uploadData)); resultData = _medicalInsuranceSqlRepository.UpdateThreeCataloguePairCodeUpload(param); } //限制用药 string GetStrData(string projectCodeType, string restrictionSign) { string str = "0"; if (projectCodeType != "92") { str = restrictionSign == "0" ? "" : "1"; } return(str); } return(resultData); }
/// <summary> /// /// </summary> /// <param name="param"></param> /// <returns></returns> public List <QueryThreeCataloguePairCodeUploadDto> ThreeCataloguePairCodeUpload(UpdateThreeCataloguePairCodeUploadParam param) { using (var sqlConnection = new SqlConnection(_connectionString)) { string querySql = null; try { sqlConnection.Open(); if (param.ProjectCodeList.Any()) { var projectCodeList = CommonHelp.ListToStr(param.ProjectCodeList); querySql = $@"select a.[Id],a.[ProjectCode],a.[ProjectName],[ProjectCodeType],ProjectLevel, [RestrictionSign],[Remark],b.DirectoryCode,[DirectoryCategoryCode] from [dbo].[MedicalInsuranceProject] as a inner join [dbo].[ThreeCataloguePairCode] as b on a.ProjectCode=b.ProjectCode where b.UploadState=0 and a.ProjectCode in({projectCodeList}) and a.IsDelete=0 and b.IsDelete=0 and OrganizationCode='{param.User.OrganizationCode}'"; } else { querySql = $@"select a.[Id],a.[ProjectCode],a.[ProjectName],[ProjectCodeType],ProjectLevel, [RestrictionSign],[Remark],b.DirectoryCode,[DirectoryCategoryCode] from [dbo].[MedicalInsuranceProject] as a inner join [dbo].[ThreeCataloguePairCode] as b on a.ProjectCode=b.ProjectCode where b.UploadState=0 and a.IsDelete=0 and b.IsDelete=0 and OrganizationCode='{param.User.OrganizationCode}'"; } var data = sqlConnection.Query <QueryThreeCataloguePairCodeUploadDto>(querySql).ToList(); sqlConnection.Close(); return(data); } catch (Exception e) { _log.Debug(querySql); throw new Exception(e.Message); } } }
/// <summary> /// /// </summary> /// <param name="param"></param> /// <returns></returns> public int ThreeCataloguePairCodeUpload(UpdateThreeCataloguePairCodeUploadParam param) { int resultData = 0; var data = _medicalInsuranceSqlRepository.ThreeCataloguePairCodeUpload(param); int a = 0; int limit = 100; //限制条数 int num = data.Count; var count = Convert.ToInt32(num / limit) + ((num % limit) > 0 ? 1 : 0); var idList = new List <string>(); while (a < count) { //排除已上传数据 var rowDataListAll = data.Where(d => !idList.Contains(d.DirectoryCode)) .ToList(); var sendList = rowDataListAll.Take(limit).ToList(); if (data.Any()) { var uploadDataRow = sendList.Select(c => new ThreeCataloguePairCodeUploadRowDto() { //ProjectId = c.Id.ToString("N"), HisDirectoryCode = c.DirectoryCode, Manufacturer = "", ProjectName = c.ProjectName, ProjectCode = c.ProjectCode, ProjectCodeType = c.DirectoryCategoryCode, ProjectCodeTypeDetail = ((ProjectCodeType)Convert.ToInt32(c.ProjectCodeType)).ToString(), Remark = c.Remark, ProjectLevel = ((ProjectLevel)Convert.ToInt32(c.ProjectLevel)).ToString(), RestrictionSign = GetStrData(c.ProjectCodeType, c.RestrictionSign) }).ToList(); var uploadData = new ThreeCataloguePairCodeUploadDto() { AuthCode = param.User.AuthCode, CanCelState = "0", UserName = param.User.UserName, OrganizationCode = param.User.OrganizationCode, PairCodeRow = uploadDataRow, VersionNumber = "" }; _webServiceBasic.HIS_Interface("35", JsonConvert.SerializeObject(uploadData)); resultData += _medicalInsuranceSqlRepository.UpdateThreeCataloguePairCodeUpload(param); } //更新数据上传状态 idList.AddRange(sendList.Select(d => d.DirectoryCode).ToList()); a++; } //限制用药 string GetStrData(string projectCodeType, string restrictionSign) { string str = "0"; if (projectCodeType != "92") { str = restrictionSign == "0" ? "" : "1"; } return(str); } return(resultData); }