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); }
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); }