예제 #1
0
        private bool ConstructAppliction(clsLisApplMainVO p_objPatientInfo, clsTestApplyItme_VO[] p_objChargeInfoArr, string[] strUnits, out clsLIS_App objApp, out ArrayList arrChargeId)
        {
            objApp      = null;
            arrChargeId = null;

            clsGeneratorCheckContent checkContent = new clsGeneratorCheckContent(strUnits);

            if (checkContent.Apps == null)
            {
                return(false);
            }

            //自定义检验申请单参数
            clsLisApplMainVO objMainVO = new clsLisApplMainVO();

            p_objPatientInfo.m_mthCopyTo(objMainVO);

            objApp = new clsLIS_App(objMainVO);
            objApp.m_ObjAppApplyUnits.AddRange(checkContent.AppApplyUnits);
            objApp.m_ObjAppReports.AddRange(checkContent.AppReports);
            objApp.m_ObjDataVO.m_strSampleTypeID = m_mthGetSampleType(strUnits);
            objApp.m_ObjDataVO.m_strSampleType   = new ctlLISSampleTypeComboBox().m_strGetTypeName(objApp.m_ObjDataVO.m_strSampleTypeID);
            objApp.m_ObjDataVO.m_strAppl_Dat     = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");

            arrChargeId = new ArrayList();

            foreach (clsTestApplyItme_VO objTestVO in p_objChargeInfoArr)
            {
                foreach (string strUnit in strUnits)
                {
                    arrChargeId.Add(objTestVO.strPartID);
                    m_unitOrder.Add(objTestVO.m_strItemID, objTestVO.m_strOrderID);
                }
            }

            //如果是微生物标本,则获取医生实际选择的标本类型!
            bool isGermSample = strUnits != null && strUnits.Length == 1 && p_objChargeInfoArr.Length > 0 &&
                                !string.IsNullOrEmpty(objApp.m_ObjDataVO.m_strSampleType) &&
                                objApp.m_ObjDataVO.m_strSampleType.Trim() == "微生物标本";

            if (isGermSample)
            {
                foreach (clsTestApplyItme_VO applyItem in p_objChargeInfoArr)
                {
                    if (applyItem.m_strItemID == strUnits[0])
                    {
                        objApp.m_ObjDataVO.m_strSampleTypeID = applyItem.m_strUsageID;
                        objApp.m_ObjDataVO.m_strSampleType   = new ctlLISSampleTypeComboBox().m_strGetTypeName(objApp.m_ObjDataVO.m_strSampleTypeID);
                    }
                }
            }

            //收费信息
            objApp.m_ObjDataVO.m_strChargeInfo = GetChargeInfo(p_objChargeInfoArr, strUnits);
            //获取检验内容
            objApp.m_ObjDataVO.m_strCheckContent = GetCheckContent(objApp);
            objApp.m_ObjDataVO.m_strOperator_ID  = operatorID;

            return(true);
        }
예제 #2
0
        private clsAppCollection InitNewApplication(clsLisApplMainVO p_objPatientInfo, clsTestApplyItme_VO[] p_objChargeInfoArr)
        {
            m_arrResults.Clear();

            string[] arrApplyUnitId = GetDifferentUnits(p_objChargeInfoArr);

            bool isUnValid = p_objPatientInfo == null || p_objChargeInfoArr == null || p_objChargeInfoArr.Length == 0 ||
                             arrApplyUnitId == null || arrApplyUnitId.Length == 0;

            if (isUnValid)
            {
                errorMessage = "病人信息为空或者申请单元ID为空!";
                return(null);
            }

            p_objPatientInfo.m_intPStatus_int = 1; //未发送的记录
            p_objPatientInfo.m_intForm_int    = 1;

            clsGeneratorCheckContent generatorCheckContent = new clsGeneratorCheckContent(arrApplyUnitId);
            clsAppCollection         appCollection         = generatorCheckContent.Apps;

            if (appCollection == null)
            {
                return(null);
            }
            return(appCollection);
        }