public List <SequenceRequest> GetPatientsForSequence(DateTime startRegTime, DateTime endRegTime)
        {
            log.WriteMyLog("收到请求:GetPatientsForSequence" +
                           "\r\n来自:" + this.Context.Request.UserHostAddress +
                           "\r\n入参:" +
                           $"\r\nstartRegTime:" + startRegTime +
                           $"\r\nendRegTime:" + endRegTime);

            string sqlWhere = " and  (  1=1 ";

            sqlWhere += $" and convert(datetime,f_sdrq+':00') >=  convert(datetime,'{startRegTime}')";
            sqlWhere += $" and convert(datetime,f_sdrq+':00') <=  convert(datetime,'{endRegTime}')";
            sqlWhere += " ) ";
            sqlWhere += $" and f_blk='二代测序' ";
            sqlWhere += $" and f_bgzt<>'已审核' ";

            var lstJcxx = (new T_JCXX_DAL()).GetBySqlWhere(sqlWhere);

            var lstSr = new List <SequenceRequest>();

            foreach (T_JCXX jcxx in lstJcxx)
            {
                var sr = new SequenceRequest();
                sr.PatientId    = jcxx.F_BRBH;
                sr.Name         = jcxx.F_XM;
                sr.Gender       = jcxx.F_XB;
                sr.PathNo       = jcxx.F_BLH;
                sr.RegTime      = Convert.ToDateTime(jcxx.F_SDRQ + ":00");
                sr.TestItemName = jcxx.F_YZXM;

                lstSr.Add(sr);
            }

            return(lstSr);
        }
Example #2
0
        //*********************************************************************
        ///
        /// <summary>
        ///     This method returns a ScriptJob type
        /// </summary>
        /// <param name="scriptJob"></param>
        /// <param name="wapSubscriptionId"></param>
        /// <returns>ScriptJob</returns>
        ///
        //*********************************************************************

        public static ScriptJob SubmitScriptJob(ScriptJob scriptJob,
                                                string wapSubscriptionId)
        {
            if (scriptJob == null)
            {
                throw new ArgumentNullException("scriptJob");
            }

            if (wapSubscriptionId == null)
            {
                throw new ArgumentNullException("wapSubscriptionId");
            }

            try
            {
                var seqSpec = Convert(scriptJob);
                seqSpec = CmpClient.CmpScriptClient.ExecuteSmaScript(seqSpec);

                var sequenceRequest = new SequenceRequest
                {
                    Active           = true,
                    CmpRequestID     = 0,
                    Config           = seqSpec.Serialize(),
                    ExceptionMessage = null,
                    Id = 0,
                    LastStatusUpdate        = seqSpec.RunResult.LastUpdate,
                    ServiceProviderJobId    = seqSpec.RunResult.JobId,
                    ServiceProviderName     = seqSpec.SmaConfig.SmaServerUrl,
                    ServiceProviderTypeCode = seqSpec.Engine,
                    StatusCode        = seqSpec.RunResult.StatusCode,
                    StatusMessage     = seqSpec.RunResult.StatusMessage,
                    TagData           = seqSpec.TagData,
                    TagID             = 0,
                    TagOpName         = seqSpec.SmaConfig.RunbookName,
                    TargetName        = scriptJob.TargetName,
                    TargetTypeCode    = scriptJob.TargetTypeCode,
                    WapSubscriptionID = wapSubscriptionId,
                    Warnings          = null,
                    WhenRequested     = seqSpec.RunResult.WhenSubmitted,
                    WhoRequested      = null
                };

                var cdb = new CmpWapDb();
                sequenceRequest = cdb.InsertSequenceRequest(sequenceRequest);
                seqSpec.ID      = sequenceRequest.Id;

                return(Convert(seqSpec));
            }
            catch (Exception ex)
            {
                throw new Exception("ScriptInterface.SubmitScriptJob() : " +
                                    Utilities.UnwindExceptionMessages(ex));
            }
        }
Example #3
0
        //*********************************************************************
        ///
        /// <summary>
        ///     This method is used to return ScriptJob type
        /// </summary>
        /// <param name="sequenceReq"></param>
        /// <returns>ScriptJob</returns>
        ///
        //*********************************************************************

        private static ScriptJob Convert(SequenceRequest sequenceReq)
        {
            try
            {
                var ss = Convert(SequenceSpec.Deserialize(sequenceReq.Config));
                return(ss);
            }
            catch (Exception ex)
            {
                throw new Exception("Exception in ScriptInterface.Convert() : " +
                                    CmpInterfaceModel.Utilities.UnwindExceptionMessages(ex));
            }
        }