Example #1
0
        private void setExeLoopDetail(EventLabelCheck labelCheck, List <OrdOrpltpDetailDTO> detailDtos)
        {
            var deptCrudService = XapServiceMgr.find <IDeptCrudService>();

            labelCheck.LoopNodeInfoList = new List <LoopNodeInfo>();
            labelCheck.LoopNameAllList  = new List <LoopNodeInfo>();

            IOrderedEnumerable <OrdOrpltpDetailDTO> l = detailDtos.OrderBy(x => x.Sortno);
            List <OrdOrpltpDetailDTO>   ll            = l.ToList();
            Dictionary <string, string> depdic        = getdepname(detailDtos);

            foreach (OrdOrpltpDetailDTO orpltpDetailDto in ll)
            {
                var step = new LoopNodeInfo();
                step.AbnormalSituations = orpltpDetailDto.Skip_reason;
                step.Name        = orpltpDetailDto.Name_orpltpsta;
                step.ExecuteTime = orpltpDetailDto.Dt_mp.ToString();
                step.Index       = (int)orpltpDetailDto.Sortno;
                if (orpltpDetailDto.Eu_su == 0)
                {
                    step.IsThrough = false;
                }
                if (orpltpDetailDto.Eu_su == 1)
                {
                    step.IsThrough = true;
                    step.IsSuccess = ExeStatuesNow.Success;
                }
                if (orpltpDetailDto.Eu_su == 2)
                {
                    step.IsSuccess       = ExeStatuesNow.Break;
                    labelCheck.ExeStatus = ExeStatuses.Pending;
                }
                if (orpltpDetailDto.Eu_su == 4)
                {
                    step.IsThrough = true;
                    step.IsSuccess = ExeStatuesNow.Success;
                }

                step.Executor = orpltpDetailDto.Name_emp;
                //DeptDO dep = deptCrudService.findById(orpltpDetailDto.Id_dep);
                //if (dep != null) step.ExecuteOffice = dep.Name;
                if (null != orpltpDetailDto.Id_dep && depdic.ContainsKey(orpltpDetailDto.Id_dep))
                {
                    step.ExecuteOffice = depdic[orpltpDetailDto.Id_dep];
                }
                if (orpltpDetailDto.Eu_su == 1 || orpltpDetailDto.Eu_su == 2 || orpltpDetailDto.Eu_su == 4)
                {
                    labelCheck.LoopNodeInfoList.Add(step);

                    if (orpltpDetailDto.Eu_su == 2)
                    {
                        break;
                    }
                }
                labelCheck.LoopNameAllList.Add(step);
            }
        }
Example #2
0
 private void getlisLoopStep(EventLabelCheck labelCheck, List <OrdOrpltpDetailDTO> detailDtos)
 {
     if (labelCheck == null)
     {
         return;
     }
     //设置闭环数据
     setExeLoopDetail(labelCheck, detailDtos);
     //设置医嘱信息
     setOrdDetail(labelCheck);
 }
Example #3
0
        private void setOrdDetail(EventLabelCheck labelCheck)
        {
            var orService = XapServiceMgr.find <ICiorderCrudService>();

            labelCheck.MedicalInfoList = new List <MedicalInfo>();

            //获取已医嘱信息
            CiorderAggDO ciagg     = orService.findById(labelCheck.IdOr);
            var          orcontent = new OrContent();
            var          medlist   = new List <MedicalInfo>();
            var          med       = new MedicalInfo();

            med.Name  = ciagg.getParentDO().Name_or;
            med.Order = 1;
            medlist.Add(med);
            orcontent.Des     = ciagg.getParentDO().Des_or;
            orcontent.Medlist = medlist;
            labelCheck.OrCon  = orcontent;
            if (ciagg.getParentDO().Sd_orrsttp == null || ciagg.getParentDO().Sd_orrsttp == "0")
            {
                labelCheck.IsShowReportButton = false;
            }
            else
            {
                labelCheck.IsShowReportButton = true;
            }

            //labelCheck.IsShowReportButton=ciagg.getParentDO()

            //    labelCheck.ACName = ciagg.getParentDO().Content_or;

            //IOrderedEnumerable<OrdSrvDO> srva = ciagg.getOrdSrvDO().OrderBy(x => x.Sortno);
            //foreach (OrdSrvDO srvDo in srva)
            //{
            //    if (srvDo.Fg_or == FBoolean.True && srvDo.Sd_srvtp.StartsWith("03"))
            //    {
            //        var med = new MedicalInfo();

            //        med.Units = srvDo.Quan_medu + " " + srvDo.Medu_name;
            //        med.MedicationModels = srvDo.Route_name;

            //        med.Name = srvDo.Name;
            //        med.Order = (int)srvDo.Sortno;
            //        labelCheck.MedicalInfoList.Add(med);
            //    }
            //}
        }