Example #1
0
 private string InsertNewAutoRecord(string isAuto)
 {
     try
     {
         if (m_noofinpat == "")
         {
             DrectSoft.Common.Ctrs.DLG.MyMessageBox.Show("请先选择一个病人");
             return("");
         }
         if (m_patientstatus == "1502" || m_patientstatus == "1503")
         {
             m_qctype = QCType.FINAL;
         }
         else
         {
             m_qctype = QCType.PART;
         }
         string id = m_SqlManger.InsertAutoMarkRecord(m_noofinpat, isAuto, m_auth, m_qctype);//返回主表记录ID
         if (id == "")
         {
             return(id);
         }
         //LoadAutoMarkRecord(id, isAuto);
         GetgridControlMarkList(m_noofinpat);
         return(id);
     }
     catch (Exception ex)
     {
         DrectSoft.Common.Ctrs.DLG.MyMessageBox.Show(1, ex);
         return("");
     }
 }
Example #2
0
        public QCInfoData(QCType type, string lotcode, DateTime expiration, UInt16 PbLevel1Target, UInt16 PbLevel1Range, UInt16 PbLevel2Target, UInt16 PbLevel2Range)
        {
            _Type             = type;
            _LotCode          = lotcode;
            _Expiration       = expiration;
            _Pb_Level1_target = PbLevel1Target;
            _Pb_Level1_range  = PbLevel1Range;
            _Pb_Level2_target = PbLevel2Target;
            _Pb_Level2_range  = PbLevel2Range;

            MeasureTime = 180;
        }
Example #3
0
        public static void SaveQCData(string InspectionNo, QCType qcType, LotNonActiveInfo lot, EquipmentInfo equipment, string batchID, QCStatus status, string objectType, TransactionStamp txnStamp)
        {
            QCInspectionInfoEx inspection = null;

            var lotNonActiveInfoEx = lot.ChangeTo <LotNonActiveInfoEx>();

            #region 產生檢驗單
            inspection = InfoCenter.Create <QCInspectionInfo>().ChangeTo <QCInspectionInfoEx>();
            inspection.InspectionNo  = InspectionNo;
            inspection.QCTYPE        = qcType.ToCimesString();
            inspection.OperationName = lotNonActiveInfoEx.OperationName;
            inspection.EquipmentName = equipment.EquipmentName;
            inspection.DeviceName    = lotNonActiveInfoEx.DeviceName;
            inspection.BatchID       = batchID;
            inspection.Status        = status.ToCimesString();
            inspection.CreateUser    = txnStamp.UserID;
            inspection.CreateTime    = txnStamp.RecordTime;
            inspection.InsertToDB(txnStamp.UserID, txnStamp.RecordTime);
            #endregion

            if (inspection == null)
            {
                //檢驗單主檔沒有資料
                throw new Exception(TextMessage.Error.T00060("QCData"));
            }
            #region 產生檢驗單對象
            //新增一筆資料到MES_QC_INSP_OBJ
            var inspectionObject = InfoCenter.Create <QCInspectionObjectInfo>();
            if (inspectionObject.InfoState == InfoState.NewCreate)
            {
                inspectionObject.QC_INSP_SID = inspection.QC_INSP_SID;
                inspectionObject.ObjectType  = objectType;
                inspectionObject.OBJECTSID   = lotNonActiveInfoEx.ID;
                inspectionObject.ObjectName  = lotNonActiveInfoEx.Lot;
                //COMPLOT
                inspectionObject.ItemName1 = lotNonActiveInfoEx.ComponentLot;
                //WOLOT
                inspectionObject.ItemName2 = lotNonActiveInfoEx.WorkOrderLot;
                //MATERIALLOT
                inspectionObject.ItemName3 = lotNonActiveInfoEx.MaterialLot;
                //OP1機台
                inspectionObject.ItemName5 = lotNonActiveInfoEx.ProcessEquipment;
                inspectionObject.Quantity  = 1;
                inspectionObject.Unit      = lotNonActiveInfoEx.Unit;
                inspectionObject.InsertToDB(txnStamp.UserID, txnStamp.RecordTime);
            }
            #endregion
        }
Example #4
0
        public void SetEnums()
        {
            switch (calcScenario)
            {
            case CalcScenario.CalculateLaunch1:
                calcScenario = CalcScenario.CalculateLaunch1;
                break;

            case CalcScenario.BackwardFlush2:
                calcScenario = CalcScenario.BackwardFlush2;
                break;
            }
            switch (contentType)
            {
            case ContentType.feature:
                contentType = ContentType.feature;
                break;

            case ContentType.series:
                contentType = ContentType.series;
                break;
            }
            switch (sourceLang)
            {
            case SourceLang.English:
                sourceLang = SourceLang.English;
                break;

            case SourceLang.Other:
                sourceLang = SourceLang.Other;
                break;
            }
            switch (mEQCWorkflow)
            {
            case MEQCWorkflow.WF0:
                mEQCWorkflow = MEQCWorkflow.WF0;
                break;

            case MEQCWorkflow.WF1:
                mEQCWorkflow = MEQCWorkflow.WF1;
                break;

            case MEQCWorkflow.NoWorkflow:
                mEQCWorkflow = MEQCWorkflow.NoWorkflow;
                break;
            }
            switch (qCType)
            {
            case QCType.Premix:
                qCType = QCType.Premix;
                break;

            case QCType.Postmix:
                qCType = QCType.Postmix;
                break;

            case QCType.CQC:
                qCType = QCType.CQC;
                break;
            }
        }
Example #5
0
        public void Automark(string automarkrecordid, string noofinpat, string pname, QCType type)
        {
            try
            {
                #region 病案首页自动评分 --add by wyt 2012-12-03
                EmrAutoScore mainpage = new EmrAutoScore(m_App);
                mainpage.AutoScoreAA(noofinpat, pname, automarkrecordid);
                #endregion
                DataTable dt1 = new DataTable();
                DataTable dt2 = new DataTable();
                DataTable dt3 = new DataTable();
                dt1 = GetTypeOneAutoMark();
                if (dt1 == null || dt1.Rows.Count == 0)
                {
                    return;
                }
                if (!GetOperationStatus(noofinpat))
                {
                    dt1 = ToDataTable(dt1.Select("parents <> 'AH'"));
                }
                dt1 = ToDataTable(dt1.Select("parents <> 'AA'"));//病案首页不再判断
                if (type == QCType.PART)
                {
                    string outHosRec = GetOutHosRecord();         //出院记录
                    if (outHosRec != "")
                    {
                        dt1 = ToDataTable(dt1.Select(string.Format(@"children <> '{0}'", outHosRec)));//如果环节质控不检查出院记录
                    }
                }

                if (dt1 == null)
                {
                    return;
                }

                foreach (DataRow dr1 in dt1.Rows)
                {
                    dt2 = IsHaveRecoed(noofinpat, dr1["selectcondition"].ToString());
                    if (dt2.Rows.Count == 0)
                    {
                        m_SqlManger.InsertDB(int.Parse(dr1["id"].ToString()), dr1["REDUCEPOINT"].ToString(), automarkrecordid, noofinpat, pname, dr1["PROBLEM_DESC"].ToString(), GetRESIDENT(noofinpat));
                    }
                    else
                    {
                        dt3 = GetDetailByType(dr1);
                        if (dt3.Rows.Count > 0)
                        {
                            //当为病程记录时,只需检索病程记录
                            if (dr1["PARENTS"].ToString() == "AC")
                            {
                                IsHaveRoelement((dt2.Select("FIRSTDAILYFLAG = '1'"))[0], dt3, automarkrecordid, noofinpat, pname);
                                continue;
                            }

                            foreach (DataRow dr2 in dt2.Rows)
                            {
                                IsHaveRoelement(dr2, dt3, automarkrecordid, noofinpat, pname);
                            }
                        }
                    }
                }
                GetTimeLimitedQc(noofinpat, automarkrecordid, pname);//   时限质控
            }
            catch (Exception)
            {
                throw;
            }
        }