/// <summary> /// GetXR /// </summary> /// <returns></returns> XtraReport GetXR(decimal rptId) { EntityRptContagion contagionVo = null; using (ProxyContagion proxy = new ProxyContagion()) { contagionVo = proxy.Service.GetContagion(rptId); } EntityFormDesign formVo = null; EntityEmrPrintTemplate printVo = null; using (ProxyFormDesign proxy = new ProxyFormDesign()) { proxy.Service.GetForm((int)contagionVo.formId, out formVo); if (formVo == null) { return(null); } printVo = proxy.Service.GetFormPrintTemplate(1, formVo.Printtemplateid.ToString()); } DataTable printDataSource = FormTool.GetPrintDataTable(formVo.Layout, contagionVo.xmlData); if (printVo.templateFile != null && printVo.templateFile.Length > 0) { XtraReport xr = new XtraReport(); MemoryStream stream = new MemoryStream(printVo.templateFile); xr.LoadLayout(stream); xr.DataSource = printDataSource; return(xr); } else { return(null); } }
/// <summary> /// Init /// </summary> internal void Init() { try { Viewer.Location = new Point(Viewer.Location.X, 0); Viewer.Height = Screen.PrimaryScreen.WorkingArea.Height; uiHelper.BeginLoading(Viewer); #region 参数 using (ProxyEntityFactory proxy = new ProxyEntityFactory()) { ContagionParmData = EntityTools.ConvertToEntityList <EntityRptContagionParm>(proxy.Service.SelectFullTable(new EntityRptContagionParm())); } #endregion // 传染病报表 if (ContagionParmData != null) { if (ContagionParmData.Any(t => t.reportId == this.ContagionDisplayVo.reportId && t.keyId == "templateId")) { this.formId = Function.Dec(ContagionParmData.FirstOrDefault(t => t.reportId == this.ContagionDisplayVo.reportId && t.keyId == "templateId").keyValue); } } if (this.formId > 0) { using (ProxyFormDesign proxy = new ProxyFormDesign()) { proxy.Service.GetForm((int)this.formId, out FormDesignVo); } } if (FormDesignVo == null) { FormDesignVo = new EntityFormDesign(); } if (Function.Dec(this.ContagionDisplayVo.rptId) > 0) { using (ProxyContagion proxy = new ProxyContagion()) { EntityRptContagion vo = proxy.Service.GetContagion(Function.Dec(this.ContagionDisplayVo.rptId)); #region patientInfo Viewer.rdoFlag.SelectedIndex = vo.patType - 1; Viewer.rdoFlag.Properties.ReadOnly = true; Viewer.txtCardNo.Text = vo.patNo; #endregion LoadForm(FormDesignVo.Layout, vo.xmlData); GetPatient(); } } else { LoadForm(FormDesignVo.Layout, null); } } finally { uiHelper.CloseLoading(Viewer); } }
/// <summary> /// 删除 /// </summary> /// <param name="rptId"></param> /// <returns></returns> internal int DelContagion(decimal rptId) { int affectRows = 0; SqlHelper svc = null; try { svc = new SqlHelper(EnumBiz.onlineDB); EntityRptContagion vo = new EntityRptContagion(); vo.rptId = rptId; vo.status = 0; affectRows = svc.Commit(svc.GetUpdateParm(vo, new List <string>() { EntityRptContagion.Columns.status }, new List <string>() { EntityRptContagion.Columns.rptId })); } catch (Exception e) { ExceptionLog.OutPutException(e); affectRows = -1; } finally { svc = null; } return(affectRows); }
/// <summary> /// 获取传染病实例(vo) /// </summary> /// <param name="rptId"></param> /// <returns></returns> internal EntityRptContagion GetContagion(decimal rptId) { EntityRptContagion vo = new EntityRptContagion(); SqlHelper svc = null; try { svc = new SqlHelper(EnumBiz.onlineDB); vo.rptId = rptId; vo = EntityTools.ConvertToEntity <EntityRptContagion>(svc.SelectPk(vo)); EntityRptContagionData dataVo = new EntityRptContagionData(); dataVo.rptId = rptId; dataVo = EntityTools.ConvertToEntity <EntityRptContagionData>(svc.SelectPk(dataVo)); vo.xmlData = dataVo.xmlData; } catch (Exception e) { ExceptionLog.OutPutException(e); } finally { svc = null; } return(vo); }
/// <summary> /// 保存传染病 /// </summary> /// <param name="eventVo"></param> /// <param name="rptId"></param> /// <returns></returns> public int SaveContagion(EntityRptContagion eventVo, string reqNo, out decimal rptId) { using (bizContagion biz = new bizContagion()) { return(biz.SaveContagion(eventVo, reqNo, out rptId)); } }
/// <summary> /// Save /// </summary> internal void Save() { if (Viewer.txtPatName.Tag == null) { DialogBox.Msg("请先调出患者信息。"); return; } EntityPatientInfo patVo = Viewer.txtPatName.Tag as EntityPatientInfo; try { uiHelper.BeginLoading(Viewer); string fieldName = string.Empty; DateTime dtmNow = Utils.ServerTime(); EntityRptContagion vo = new EntityRptContagion(); vo.xmlData = Viewer.showPanelForm.XmlData(); if (Viewer.showPanelForm.IsAllowSave == false) { DialogBox.Msg("存在必填项目没有处理,请检查。项目:" + Viewer.showPanelForm.HintInfo); return; } vo.rptId = Function.Dec(this.ContagionDisplayVo.rptId); vo.reportId = this.ContagionDisplayVo.reportId; // 报告时间 if (ContagionParmData.Any(t => t.reportId == vo.reportId && t.keyId == "reportTime")) { fieldName = ContagionParmData.FirstOrDefault(t => t.reportId == vo.reportId && t.keyId == "reportTime").keyValue; vo.reportTime = Viewer.showPanelForm.GetItemInfo(fieldName); if (vo.reportTime.Trim() == string.Empty) { vo.reportTime = dtmNow.ToString("yyyy-MM-dd HH:mm:ss"); } } else { vo.reportTime = dtmNow.ToString("yyyy-MM-dd HH:mm:ss"); } // 上报科室 if (ContagionParmData.Any(t => t.reportId == vo.reportId && t.keyId == "deptCode")) { fieldName = ContagionParmData.FirstOrDefault(t => t.reportId == vo.reportId && t.keyId == "deptCode").keyValue; string deptName = Viewer.showPanelForm.GetItemInfo(fieldName); } else { string deptName = GlobalLogin.objLogin.DeptName; } // 报告人 if (ContagionParmData.Any(t => t.reportId == vo.reportId && t.keyId == "operCode")) { fieldName = ContagionParmData.FirstOrDefault(t => t.reportId == vo.reportId && t.keyId == "operCode").keyValue; vo.reportOperName = Viewer.showPanelForm.GetItemInfo(fieldName); if (GlobalDic.DataSourceEmployee.Any(t => t.operName == vo.reportOperName)) { vo.reportOperCode = GlobalDic.DataSourceEmployee.FirstOrDefault(t => t.operName == vo.reportOperName).operCode; } } else { vo.reportOperCode = GlobalLogin.objLogin.EmpNo; vo.reportOperName = GlobalLogin.objLogin.EmpName; } // 报告编号 if (ContagionParmData.Any(t => t.reportId == vo.reportId && t.keyId == "regCode")) { EntityRptContagionParm parm = ContagionParmData.FirstOrDefault(t => t.reportId == vo.reportId && t.keyId == "regCode"); // 计算类 if (parm.flag == 1) { string[] fieldNames = parm.keyValue.Split('+'); foreach (string fieldSub in fieldNames) { vo.registerCode += Viewer.showPanelForm.GetItemInfo(fieldSub); } } else { fieldName = parm.keyValue; vo.registerCode = Viewer.showPanelForm.GetItemInfo(fieldName); } } if (!string.IsNullOrEmpty(patVo.ipNo) && patVo.ipTimes > 0) { vo.patNo = patVo.ipNo; } else { vo.patNo = patVo.cardNo; } vo.patName = patVo.name; vo.patSex = patVo.sex; if (!string.IsNullOrEmpty(patVo.birth)) { vo.birthday = Function.Datetime(patVo.birth); } vo.contactTel = patVo.contTel; vo.deptCode = patVo.deptCode; vo.xmlData = Viewer.showPanelForm.XmlData(); vo.formId = this.formId; vo.operCode = GlobalLogin.objLogin.EmpNo; vo.recordDate = dtmNow; vo.status = 1; vo.patType = Viewer.rdoFlag.SelectedIndex + 1; string reqNo = patVo.clNo; using (ProxyContagion proxy = new ProxyContagion()) { decimal rptId = 0; if (proxy.Service.SaveContagion(vo, reqNo, out rptId) > 0) { Viewer.IsSave = true; if (this.ContagionDisplayVo.isNew) { this.ContagionDisplayVo.rptId = rptId.ToString(); } Viewer.txtCardNo.Properties.ReadOnly = true; DialogBox.Msg("数据保存成功!"); } else { DialogBox.Msg("数据保存失败。"); } } } finally { uiHelper.CloseLoading(Viewer); } }
/// <summary> /// 保存 /// </summary> /// <param name="vo"></param> /// <param name="rptId"></param> /// <returns></returns> internal int SaveContagion(EntityRptContagion vo, string reqNo, out decimal rptId) { int affectRows = 0; rptId = 0; string Sql = string.Empty; IDataParameter[] parm = null; SqlHelper svc = null; try { List <DacParm> lstParm = new List <DacParm>(); svc = new SqlHelper(EnumBiz.onlineDB); EntityRptContagionData voData = new EntityRptContagionData(); if (vo.rptId <= 0) // new { rptId = svc.GetNextID(EntityTools.GetTableName(vo), EntityTools.GetFieldName(vo, EntityRptContagion.Columns.rptId)); vo.rptId = rptId; lstParm.Add(svc.GetInsertParm(vo)); voData.rptId = rptId; voData.xmlData = vo.xmlData; lstParm.Add(svc.GetInsertParm(voData)); if (!string.IsNullOrEmpty(reqNo)) { Sql = @"update rptContagion set reques_no = ? where rptId = ?"; parm = svc.CreateParm(2); parm[0].Value = reqNo; parm[1].Value = rptId; lstParm.Add(svc.GetDacParm(EnumExecType.ExecSql, Sql, parm)); } } else // edit { lstParm.Add(svc.GetUpdateParm(vo, new List <string>() { EntityRptContagion.Columns.reportTime, EntityRptContagion.Columns.reportOperCode, EntityRptContagion.Columns.reportOperName, EntityRptContagion.Columns.reportId, EntityRptContagion.Columns.registerCode, EntityRptContagion.Columns.patType, EntityRptContagion.Columns.patNo, EntityRptContagion.Columns.patName, EntityRptContagion.Columns.patSex, EntityRptContagion.Columns.birthday, EntityRptContagion.Columns.idCard, EntityRptContagion.Columns.contactAddr, EntityRptContagion.Columns.contactTel, EntityRptContagion.Columns.deptCode, EntityRptContagion.Columns.formId, EntityRptContagion.Columns.operCode, EntityRptContagion.Columns.recordDate, EntityRptContagion.Columns.status }, new List <string>() { EntityRptContagion.Columns.rptId })); voData.rptId = vo.rptId; voData.xmlData = vo.xmlData; lstParm.Add(svc.GetUpdateParm(voData, new List <string>() { EntityRptEventData.Columns.xmlData }, new List <string>() { EntityRptEventData.Columns.rptId })); rptId = vo.rptId; } affectRows = svc.Commit(lstParm); } catch (Exception e) { ExceptionLog.OutPutException(e); affectRows = -1; } finally { svc = null; } return(affectRows); }