예제 #1
0
 /// <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);
        }
예제 #3
0
        /// <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);
        }