コード例 #1
0
        public async Task <PagedResultDto <DoctorRelation> > LabelDoctorRelationPage(DoctorRelationIn DoctorRelationInfo)
        {
            //初步过滤
            var querys = _repository.GetAll().Where(DoctorRelationInfo.Expression);
            var label  = _labelrepository.GetAll().Where(t => !t.IsDelete);

            var query = from a in querys
                        join b in label on a.LableID equals b.Id
                        where a.DoctorID == DoctorRelationInfo.DoctorID
                        select new DoctorRelation
            {
                DoctorName = a.DoctorName,
                DoctorID   = a.DoctorID,
                LableID    = a.LableID,
                LableName  = a.LableName,
                CreatedBy  = a.CreatedBy,
                CreatedOn  = a.CreatedOn,
                Id         = a.Id,
            };

            //获取总数
            var tasksCount = query.Count();
            //获取总数
            var totalpage          = tasksCount / DoctorRelationInfo.MaxResultCount;
            var DoctorRelationList = await query.PageBy(DoctorRelationInfo.SkipTotal, DoctorRelationInfo.MaxResultCount).ToListAsync();

            return(new PagedResultDto <DoctorRelation>(tasksCount, DoctorRelationList.MapTo <List <DoctorRelation> >()));
        }
コード例 #2
0
        public async Task <ObjectResultModule> DeleteLable([FromBody] LableManageIn LableManageInfo)
        {
            if (!Commons.CheckSecret(LableManageInfo.Secret))
            {
                this.ObjectResultModule.StatusCode = 422;
                this.ObjectResultModule.Message    = "Wrong Secret";
                this.ObjectResultModule.Object     = "";
                return(this.ObjectResultModule);
            }
            var userid = _IabpSession.UserId > 0 ? (int)_IabpSession.UserId : 0;
            var query  = await _lableManageService.LableManageByID(LableManageInfo.Id);

            DoctorRelationIn doctorRelationIn = new DoctorRelationIn();

            doctorRelationIn.AndAlso(a => a.IsDelete == false);
            doctorRelationIn.AndAlso(a => a.LableID == LableManageInfo.Id);
            var doctorLabelList = await _doctorRelationService.DoctorClinicRelationList(doctorRelationIn);

            if (doctorLabelList.Count() > 0)
            {
                this.ObjectResultModule.StatusCode = 100;
                this.ObjectResultModule.Message    = "该标签绑定医生或者科室,不可删除!";
                this.ObjectResultModule.Object     = "";
                return(this.ObjectResultModule);
            }
            if (query != null)
            {
                query.DeleteBy   = userid;
                query.DeleteTime = DateTime.Now;
                query.IsDelete   = true;
                var res = await _lableManageService.DeleteLableManage(query);

                this.ObjectResultModule.Object     = res;
                this.ObjectResultModule.Message    = "sucess";
                this.ObjectResultModule.StatusCode = 200;
            }
            else
            {
                this.ObjectResultModule.StatusCode = 404;
                this.ObjectResultModule.Message    = "NotFound";
                this.ObjectResultModule.Object     = "";
            }
            #region 操作日志
            var CreateYaeherOperList = new YaeherOperList()
            {
                OperExplain = "DeleteLable",
                OperContent = JsonHelper.ToJson(LableManageInfo),
                OperType    = "DeleteLable",
                CreatedBy   = userid,
                CreatedOn   = DateTime.Now
            };
            var resultLog = await _yaeherOperListService.CreateYaeherOperList(CreateYaeherOperList);

            #endregion

            return(this.ObjectResultModule);
        }
コード例 #3
0
        public async Task <PagedResultDto <DoctorRelation> > DoctorRelationPage(DoctorRelationIn DoctorRelationInfo)
        {
            //初步过滤
            var query = _repository.GetAll().Where(DoctorRelationInfo.Expression);
            //获取总数
            var tasksCount = query.Count();
            //获取总数
            var totalpage          = tasksCount / DoctorRelationInfo.MaxResultCount;
            var DoctorRelationList = await query.PageBy(DoctorRelationInfo.SkipTotal, DoctorRelationInfo.MaxResultCount).ToListAsync();

            return(new PagedResultDto <DoctorRelation>(tasksCount, DoctorRelationList.MapTo <List <DoctorRelation> >()));
        }
コード例 #4
0
        public async Task <IList <DoctorRelation> > DoctorClinicRelationList(DoctorRelationIn DoctorRelationInfo)
        {
            var DoctorRelations = await _repository.GetAllListAsync(DoctorRelationInfo.Expression);

            //var clinic = _clinicrepository.GetAll().Where(t => !t.IsDelete);
            var query = from a in DoctorRelations
                        //join b in clinic on a.DoctorID equals b.DoctorID
                        //where b.ClinicID == DoctorRelationInfo.ClinicID
                        select new DoctorRelation
            {
                DoctorName = a.DoctorName,
                DoctorID   = a.DoctorID,
                LableID    = a.LableID,
                LableName  = a.LableName,
                LableJSON  = a.LableJSON,
                CreatedBy  = a.CreatedBy,
                CreatedOn  = a.CreatedOn,
            };

            return(query.ToList());
        }
コード例 #5
0
        public async Task <ObjectResultModule> CreateLable([FromBody] LableManage LableManageInfo)
        {
            if (!Commons.CheckSecret(LableManageInfo.Secret))
            {
                this.ObjectResultModule.StatusCode = 422;
                this.ObjectResultModule.Message    = "Wrong Secret";
                this.ObjectResultModule.Object     = "";
                return(this.ObjectResultModule);
            }
            var userid = _IabpSession.UserId > 0 ? (int)_IabpSession.UserId : 0;
            //var User = _userManagerService.UserManager(userid);
            var usermanager = JsonHelper.FromJson <UserMemory>(_IabpSession.GetUserData());
            var doctor      = await _yaeherDoctorService.YaeherDoctorByUserID(userid);

            LableManageIn lableManageIn = new LableManageIn();

            lableManageIn.AndAlso(a => !a.IsDelete && a.LableName == LableManageInfo.LableName);
            var LableList = await _lableManageService.LableManageList(lableManageIn);

            DoctorRelation doctorRelation = new DoctorRelation();
            int            LableID        = 0;
            string         LableName      = string.Empty;

            using (var unitOfWork = _unitOfWorkManager.Begin())
            {
                if (LableList.Count() > 0)
                {
                    if ((!usermanager.IsAdmin && usermanager.IsDoctor) || (usermanager.MobileRoleName == "doctor"))
                    {
                        DoctorRelationIn doctorRelationIn = new DoctorRelationIn();
                        doctorRelationIn.AndAlso(a => a.IsDelete == false);
                        doctorRelationIn.AndAlso(a => a.DoctorID == doctor.Id);
                        doctorRelationIn.AndAlso(a => a.LableID == LableList[0].Id);
                        var doctorRelationList = await _doctorRelationService.DoctorClinicRelationList(doctorRelationIn);

                        if (doctorRelationList.Count == 0)
                        {
                            var rel = new DoctorRelation();
                            rel.DoctorName = doctor.DoctorName;
                            rel.DoctorID   = doctor.Id;
                            rel.LableID    = LableList[0].Id;
                            rel.LableName  = LableList[0].LableName;
                            rel.LableJSON  = JsonHelper.ToJson(LableList);
                            rel.CreatedBy  = userid;
                            LableID        = LableList[0].Id;
                            LableName      = LableList[0].LableName;
                            doctorRelation = await _doctorRelationService.CreateDoctorRelation(rel);
                        }
                        else
                        {
                            this.ObjectResultModule.Object     = "";
                            this.ObjectResultModule.StatusCode = 201;
                            this.ObjectResultModule.Message    = "已存在该标签,不用重复提交!";
                        }
                    }
                }
                else
                {
                    var CreateLable = new LableManage()
                    {
                        LableName   = LableManageInfo.LableName,
                        LableRemark = LableManageInfo.LableRemark,
                        OrderSort   = LableManageInfo.OrderSort,
                        CreatedBy   = userid,
                        CreatedOn   = DateTime.Now,
                    };
                    var result = await _lableManageService.CreateLableManage(CreateLable);

                    #region 判断是否为医生  当为医生新建时 绑定给到新医生
                    if ((!usermanager.IsAdmin && usermanager.IsDoctor) || (usermanager.MobileRoleName == "doctor"))
                    {
                        var rel = new DoctorRelation();
                        rel.DoctorName = doctor.DoctorName;
                        rel.DoctorID   = doctor.Id;
                        rel.LableID    = result.Id;
                        rel.LableName  = result.LableName;
                        rel.LableJSON  = JsonHelper.ToJson(result);
                        rel.CreatedBy  = userid;
                        LableID        = result.Id;
                        LableName      = result.LableName;
                        doctorRelation = await _doctorRelationService.CreateDoctorRelation(rel);
                    }
                    #endregion
                    if (result.Id > 0)
                    {
                        this.ObjectResultModule.Object     = result;
                        this.ObjectResultModule.StatusCode = 200;
                        this.ObjectResultModule.Message    = "success";
                    }
                    else
                    {
                        this.ObjectResultModule.Object     = "";
                        this.ObjectResultModule.StatusCode = 400;
                        this.ObjectResultModule.Message    = "error!";
                    }
                }
                #region 增加医生与标签关系
                if ((!usermanager.IsAdmin && usermanager.IsDoctor) || (usermanager.MobileRoleName == "doctor"))
                {
                    RelationLabelList relationLabel = new RelationLabelList();
                    relationLabel.RelationCode = "Doctor";
                    relationLabel.BusinessID   = doctor.Id;
                    relationLabel.BusinessName = doctor.DoctorName;
                    relationLabel.LableID      = LableID;
                    relationLabel.LableName    = LableName;
                    relationLabel.CreatedBy    = userid;
                    relationLabel.CreatedOn    = DateTime.Now;
                    var Lableresul = await _relationLabelListService.CreateRelationLabelList(relationLabel);
                }
                #endregion
                #region 操作日志
                var CreateYaeherOperList = new YaeherOperList()
                {
                    OperExplain = "CreateLable",
                    OperContent = JsonHelper.ToJson(LableManageInfo),
                    OperType    = "CreateLable",
                    CreatedBy   = userid,
                    CreatedOn   = DateTime.Now
                };
                var resultLog = await _yaeherOperListService.CreateYaeherOperList(CreateYaeherOperList);

                #endregion
                unitOfWork.Complete();
            }
            return(ObjectResultModule);
        }
コード例 #6
0
        public async Task <ObjectResultModule> DoctorLables([FromBody] LableManageIn LableManageInfo)
        {
            if (!Commons.CheckSecret(LableManageInfo.Secret))
            {
                this.ObjectResultModule.StatusCode = 422;
                this.ObjectResultModule.Message    = "Wrong Secret";
                this.ObjectResultModule.Object     = "";
                return(this.ObjectResultModule);
            }
            var userid = _IabpSession.UserId > 0 ? (int)_IabpSession.UserId : 0;

            if (!string.IsNullOrEmpty(LableManageInfo.LableName))
            {
                LableManageInfo.AndAlso(t => t.LableName == LableManageInfo.LableName);
            }
            if (LableManageInfo.Id > 0)
            {
                LableManageInfo.AndAlso(t => t.Id == LableManageInfo.Id);
            }
            LableManageInfo.AndAlso(t => !t.IsDelete);
            // 医生现有标签
            DoctorRelationIn doctorRelationIn = new DoctorRelationIn();

            doctorRelationIn.AndAlso(a => a.DoctorID == LableManageInfo.DoctorID);
            doctorRelationIn.AndAlso(a => a.IsDelete == false);
            var DoctorLableList = await _doctorRelationService.DoctorRelationList(doctorRelationIn);

            // 查询所有标签
            LableManageIn lableManageIn = new LableManageIn();

            lableManageIn.AndAlso(a => a.IsDelete == false);
            var LableList = await _lableManageService.LableManageList(lableManageIn);

            // 查询医生所在的科室
            ClinicDoctorReltionIn clinicDoctorReltionIn = new ClinicDoctorReltionIn();

            clinicDoctorReltionIn.AndAlso(a => a.IsDelete == false);
            clinicDoctorReltionIn.AndAlso(a => a.DoctorID == LableManageInfo.DoctorID);
            var clinicDoctor = await _clinicDoctorReltionService.ClinicDoctorReltionList(clinicDoctorReltionIn);

            List <LableManage> lableManageList = new List <LableManage>();

            if (clinicDoctor != null)
            {
                // 查询所有科室的标签数据
                ClinicLableReltionIn clinicLableReltionIn = new ClinicLableReltionIn();
                clinicLableReltionIn.AndAlso(a => a.IsDelete == false);
                var clininLable = await _clinicLableReltionService.ClinicDoctorReltionList(clinicLableReltionIn);

                if (clininLable != null)
                {
                    var lableManages = from a in clinicDoctor
                                       join b in clininLable on a.ClinicID equals b.ClinicID
                                       join c in LableList on b.LableID equals c.Id
                                       select c;
                    if (lableManages != null)
                    {
                        lableManageList = lableManages.ToList();
                    }
                }
            }
            if (lableManageList == null)
            {
                this.ObjectResultModule.Object     = "";
                this.ObjectResultModule.StatusCode = 404;
                this.ObjectResultModule.Message    = "NotFound";
            }
            else
            {
                if (LableManageInfo.Platform == "PC")
                {
                    this.ObjectResultModule.Object     = lableManageList;
                    this.ObjectResultModule.StatusCode = 200;
                    this.ObjectResultModule.Message    = "success";
                }
                else
                {
                    var LableLists = from a in lableManageList
                                     where !(from b in DoctorLableList select b.LableID).Contains(a.Id)
                                     select a;
                    this.ObjectResultModule.Object     = LableLists.ToList();
                    this.ObjectResultModule.StatusCode = 200;
                    this.ObjectResultModule.Message    = "success";
                }
            }
            #region 操作日志
            var CreateYaeherOperList = new YaeherOperList()
            {
                OperExplain = "LableByName",
                OperContent = JsonHelper.ToJson(LableManageInfo),
                OperType    = "LableByName",
                CreatedBy   = userid,
                CreatedOn   = DateTime.Now
            };
            var resultLog = await _yaeherOperListService.CreateYaeherOperList(CreateYaeherOperList);

            #endregion

            return(ObjectResultModule);
        }
コード例 #7
0
        public async Task <List <DoctorRelation> > DoctorRelationList(DoctorRelationIn DoctorRelationInfo)
        {
            var DoctorRelations = await _repository.GetAll().Where(DoctorRelationInfo.Expression).OrderBy(t => t.CreatedOn).ToListAsync();

            return(DoctorRelations.ToList());
        }
コード例 #8
0
        public async Task <ObjectResultModule> QualityYaeherDoctorSearch([FromBody] YaeherDoctorSearch YaeherDoctorSearch)
        {
            if (!Commons.CheckSecret(YaeherDoctorSearch.Secret))
            {
                this.ObjectResultModule.StatusCode = 422;
                this.ObjectResultModule.Message    = "Wrong Secret";
                this.ObjectResultModule.Object     = "";
                return(this.ObjectResultModule);
            }
            var userid = _IabpSession.UserId > 0 ? (int)_IabpSession.UserId : 0;

            var param1 = new SystemParameterIn()
            {
                SystemType = "newdoctor"
            };
            var paramlist1 = await _systemParameterService.ParameterList(param1);

            var consul = new DoctorNewIn();

            consul.RecordCount = int.Parse(paramlist1[0].ItemValue);
            var NewDoctor = await _consultationService.DoctorNewList(consul);

            if (NewDoctor.Count < 1)
            {
                this.ObjectResultModule.Object = new List <ClinicDoctorsView>();
                return(this.ObjectResultModule);
            }
            DoctorRelationIn doctorRelationIn = new DoctorRelationIn();

            doctorRelationIn.AndAlso(a => a.IsDelete == false);
            if (!string.IsNullOrEmpty(YaeherDoctorSearch.KeyWord))
            {
                doctorRelationIn.AndAlso(a => a.LableName.Contains(YaeherDoctorSearch.KeyWord) || a.DoctorName.Contains(YaeherDoctorSearch.KeyWord));
            }
            var lableList = await _DoctorRelationService.DoctorRelationList(doctorRelationIn);

            var docrel = new DoctorRelationIn();

            docrel.AndAlso(t => (!t.IsDelete));
            if (!string.IsNullOrEmpty(YaeherDoctorSearch.KeyWord))
            {
                docrel.AndAlso(t => (t.DoctorName.Contains(YaeherDoctorSearch.KeyWord) || t.LableName.Contains(YaeherDoctorSearch.KeyWord)));
            }
            var labelrel = await _DoctorRelationService.DoctorClinicRelationList(docrel);

            if (labelrel.Count < 1)
            {
                this.ObjectResultModule.Object = new List <ClinicDoctorsView>();
                return(this.ObjectResultModule);
            }
            var seach = new ClinicInfomationIn()
            {
                MaxResultCount = YaeherDoctorSearch.MaxResultCount, SkipTotal = YaeherDoctorSearch.SkipTotal
            };
            var ClinicInfo = await _clinicInfomationService.QualityDoctorInformation(YaeherDoctorSearch, labelrel, NewDoctor);

            // 查询科室信息
            if (ClinicInfo != null && ClinicInfo.TotalCount > 0)
            {
                foreach (var item in ClinicInfo.Items)
                {
                    item.Doctorslable = lableList.Where(t => t.DoctorID == item.Id).ToList();
                }
            }
            if (ClinicInfo.TotalCount < 0)
            {
                this.ObjectResultModule.StatusCode = 204;
                this.ObjectResultModule.Message    = "NoContent";
                this.ObjectResultModule.Object     = "";
            }
            else
            {
                var ClinicDoctorsViewLists = ClinicInfo;
                this.ObjectResultModule.Object     = new ClinicDoctorInfoOut(ClinicDoctorsViewLists, YaeherDoctorSearch);
                this.ObjectResultModule.Message    = "sucess";
                this.ObjectResultModule.StatusCode = 200;
            }
            #region 操作日志
            var CreateYaeherOperList = new YaeherOperList()
            {
                OperExplain = "QualityYaeherDoctorSearch",
                OperContent = JsonHelper.ToJson(YaeherDoctorSearch),
                OperType    = "QualityYaeherDoctorSearch",
                CreatedBy   = userid,
                CreatedOn   = DateTime.Now
            };
            var resultLog = await _yaeherOperListService.CreateYaeherOperList(CreateYaeherOperList);

            #endregion
            return(this.ObjectResultModule);
        }