private void SaveEditLog() { clsPatientInfLog patientLogVo = new clsPatientInfLog(); patientLogVo.operatorId = this.m_objViewer.LoginInfo.m_strEmpID; patientLogVo.registerId = this.m_objViewer.m_ucPatientInfo.RegisterID; patientLogVo.desc = ""; clsDcl_BIHTransfer m_objTran = new clsDcl_BIHTransfer(); patientLogVo.detail = "出院日期:" + this.m_objViewer.m_dtpOldDate.Value.ToShortDateString() + "--> " + this.m_objViewer.m_dtpNewDate.Value.ToShortDateString() + "; " + this.m_objViewer.m_txtRemark.Text.Trim(); m_objTran.AddPatienInfLog(patientLogVo); }
private long AddPatienInfLog(clsPatientInfLog p_objRecord) { long lngRes = 0; //clsPrivilegeHandleService objPrivilege = new clsPrivilegeHandleService(); //lngRes = objPrivilege.m_lngCheckCallPrivilege(p_objPrincipal, "com.digitalwave.iCare.middletier.HIS.clsBedManageSvc", "m_lngAddNewBed"); //if (lngRes < 0) //{ // return -1; //} com.digitalwave.iCare.middletier.HRPService.clsHRPTableService objHRPSvc = new clsHRPTableService(); lngRes = 0; if (lngRes < 0) { return(lngRes); } string strSQL = @"INSERT INTO T_OPR_BIH_PATIENTINF_LOG (SEQ_INT, OPERATE_DATE, REGISTERID_CHR, OPERATORID_CHR, DETAIL_VCHR, DESC_VCHR) VALUES (SEQ_PATIENTINF_LOG.nextval, sysdate, ?, ?, ?, ? )"; try { System.Data.IDataParameter[] objLisAddItemRefArr = null; objHRPSvc.CreateDatabaseParameter(4, out objLisAddItemRefArr); //Please change the datetime and reocrdid objLisAddItemRefArr[0].Value = p_objRecord.registerId; objLisAddItemRefArr[1].Value = p_objRecord.operatorId; objLisAddItemRefArr[2].Value = p_objRecord.detail; objLisAddItemRefArr[3].Value = p_objRecord.desc; //往表增加记录 objHRPSvc.lngExecuteParameterSQL(strSQL, ref lngRes, objLisAddItemRefArr); objHRPSvc.Dispose(); } catch (Exception objEx) { string strTmp = objEx.Message; com.digitalwave.Utility.clsLogText objLogger = new clsLogText(); bool blnRes = objLogger.LogError(objEx); } return(lngRes); }
private void SaveEditLog() { clsPatientInfLog patientLogVo = new clsPatientInfLog(); patientLogVo.operatorId = this.m_objViewer.LoginInfo.m_strEmpID; patientLogVo.registerId = this.m_objViewer.ucPatientInfo1.RegisterID; patientLogVo.desc = ""; clsDcl_BIHTransfer m_objTran = new clsDcl_BIHTransfer(); if (this.m_strREMARK != this.m_objViewer.m_txtREMARK.Text.Trim()) { patientLogVo.detail = "特注信息:" + this.m_strREMARK + "--> " + this.m_objViewer.m_txtREMARK.Text.Trim(); m_objTran.AddPatienInfLog(patientLogVo); } if (this.m_strDes != this.m_objViewer.m_txtDes.Text.Trim()) { patientLogVo.detail = "备注:" + this.m_strDes + "--> " + this.m_objViewer.m_txtDes.Text.Trim(); m_objTran.AddPatienInfLog(patientLogVo); } string strChargeCtl; if (this.m_objViewer.m_ckbChargeCtl.Checked == true) { strChargeCtl = "允许欠费"; } else { strChargeCtl = "不允许欠费"; } if (this.m_strChargeCtl != strChargeCtl) { patientLogVo.detail = "欠费控制:" + this.m_strChargeCtl + "--> " + strChargeCtl; m_objTran.AddPatienInfLog(patientLogVo); } }
public bool m_blnModifyNewNO(string patientid, string regid, string currno, ref string newno, int zycs, bool miflag, bool sameflag, int type, int flag, string operid) { long l = 0, lngAffects = 0; bool ret = false; string SQL = ""; try { clsHRPTableService objHRPSvc = new clsHRPTableService(); IDataParameter[] ParamArr = null; int tmpType = type; string oldpreflag = ""; string preflag = ""; switch (tmpType) { case 0: type = 1; break; case 1: type = 2; oldpreflag = this.m_strGetpresign(1); break; case 2: type = 2; break; case 3: type = 1; oldpreflag = this.m_strGetpresign(2); break; } preflag = this.m_strGetpresign(type); if (flag == 2) { string s1 = ""; if (preflag == "") { s1 = "(firstflag_vchr is null or firstflag_vchr = '')"; } else { s1 = "firstflag_vchr = ?"; objHRPSvc.CreateDatabaseParameter(1, out ParamArr); ParamArr[0].Value = preflag; } SQL = @"select maxinpatientno_vchr from t_opr_bih_inpatientnohis where " + s1 + " order by to_number(maxinpatientno_vchr)"; DataTable dt = new DataTable(); if (ParamArr == null) { l = objHRPSvc.lngGetDataTableWithoutParameters(SQL, ref dt); } else { l = objHRPSvc.lngGetDataTableWithParameters(SQL, ref dt, ParamArr); } if (l > 0 && dt.Rows.Count > 0) { newno = preflag + dt.Rows[0][0].ToString(); //取得历史废号后删除废号记录 SQL = @"delete from t_opr_bih_inpatientnohis where maxinpatientno_vchr = ?"; objHRPSvc.CreateDatabaseParameter(1, out ParamArr); ParamArr[0].Value = dt.Rows[0][0].ToString(); l = objHRPSvc.lngExecuteParameterSQL(SQL, ref lngAffects, ParamArr); } else { SQL = @"select maxinpatientno_vchr from t_opr_bih_inpatientnomax where flag_int = ? and " + s1; if (ParamArr == null) { objHRPSvc.CreateDatabaseParameter(1, out ParamArr); ParamArr[0].Value = type; } else { objHRPSvc.CreateDatabaseParameter(2, out ParamArr); ParamArr[0].Value = type; ParamArr[1].Value = preflag; } dt = new DataTable(); l = objHRPSvc.lngGetDataTableWithParameters(SQL, ref dt, ParamArr); if (l > 0 && dt.Rows.Count == 1) { int len1 = currno.Length - 1; newno = Convert.ToString((int.Parse(dt.Rows[0][0].ToString()) + 1)); if (newno.Length < len1) { newno = newno.PadLeft(len1 - newno.Length, '0'); } //更新最大号记录 SQL = @"update t_opr_bih_inpatientnomax set maxinpatientno_vchr = ? where flag_int = ? and " + s1; if (preflag == "") { objHRPSvc.CreateDatabaseParameter(2, out ParamArr); ParamArr[0].Value = newno; ParamArr[1].Value = type; } else { objHRPSvc.CreateDatabaseParameter(3, out ParamArr); ParamArr[0].Value = newno; ParamArr[1].Value = type; ParamArr[2].Value = preflag; } l = objHRPSvc.lngExecuteParameterSQL(SQL, ref lngAffects, ParamArr); newno = preflag + newno; } } } if (flag == 3) { //更新入院登记表 SQL = @"update t_opr_bih_register set patientid_chr = ?, inpatientnotype_int = ?, inpatientid_chr = ?, inpatientcount_int = ? where registerid_chr = ?"; objHRPSvc.CreateDatabaseParameter(5, out ParamArr); //((OracleParameter)ParamArr[0]).OracleDbType = OracleDbType.Char; //((OracleParameter)ParamArr[2]).OracleDbType = OracleDbType.Char; //((OracleParameter)ParamArr[4]).OracleDbType = OracleDbType.Char; ParamArr[0].Value = patientid; ParamArr[1].Value = type; ParamArr[2].Value = newno; ParamArr[3].Value = zycs; ParamArr[4].Value = regid; l = objHRPSvc.lngExecuteParameterSQL(SQL, ref lngAffects, ParamArr); //更新医嘱表 SQL = @"update t_opr_bih_order set patientid_chr = ? where registerid_chr = ?"; objHRPSvc.CreateDatabaseParameter(2, out ParamArr); //((OracleParameter)ParamArr[0]).OracleDbType = OracleDbType.Char; //((OracleParameter)ParamArr[1]).OracleDbType = OracleDbType.Char; ParamArr[0].Value = patientid; ParamArr[1].Value = regid; l = objHRPSvc.lngExecuteParameterSQL(SQL, ref lngAffects, ParamArr); //更新预缴金表 SQL = @"update t_opr_bih_prepay set patientid_chr = ? where registerid_chr = ?"; objHRPSvc.CreateDatabaseParameter(2, out ParamArr); //((OracleParameter)ParamArr[0]).OracleDbType = OracleDbType.Char; //((OracleParameter)ParamArr[1]).OracleDbType = OracleDbType.Char; ParamArr[0].Value = patientid; ParamArr[1].Value = regid; l = objHRPSvc.lngExecuteParameterSQL(SQL, ref lngAffects, ParamArr); //更新期帐表 SQL = @"update t_opr_bih_dayaccount set patientid_chr = ? where registerid_chr = ?"; objHRPSvc.CreateDatabaseParameter(2, out ParamArr); //((OracleParameter)ParamArr[0]).OracleDbType = OracleDbType.Char; //((OracleParameter)ParamArr[1]).OracleDbType = OracleDbType.Char; ParamArr[0].Value = patientid; ParamArr[1].Value = regid; l = objHRPSvc.lngExecuteParameterSQL(SQL, ref lngAffects, ParamArr); //更新费用明细表 SQL = @"update t_opr_bih_patientcharge set patientid_chr = ? where registerid_chr = ?"; objHRPSvc.CreateDatabaseParameter(2, out ParamArr); //((OracleParameter)ParamArr[0]).OracleDbType = OracleDbType.Char; //((OracleParameter)ParamArr[1]).OracleDbType = OracleDbType.Char; ParamArr[0].Value = patientid; ParamArr[1].Value = regid; l = objHRPSvc.lngExecuteParameterSQL(SQL, ref lngAffects, ParamArr); //更新缴费记录表 SQL = @"update t_opr_bih_paymoney set patientid_chr = ? where registerid_chr = ?"; objHRPSvc.CreateDatabaseParameter(2, out ParamArr); //((OracleParameter)ParamArr[0]).OracleDbType = OracleDbType.Char; //((OracleParameter)ParamArr[1]).OracleDbType = OracleDbType.Char; ParamArr[0].Value = patientid; ParamArr[1].Value = regid; l = objHRPSvc.lngExecuteParameterSQL(SQL, ref lngAffects, ParamArr); } else { //更新入院登记表 if (miflag) { SQL = @"update t_opr_bih_register set inpatientid_chr = ?, inpatientcount_int = 1, inpatientnotype_int = ? where registerid_chr = ?"; } else { SQL = @"update t_opr_bih_register set inpatientid_chr = ?, inpatientnotype_int = ? where registerid_chr = ?"; } objHRPSvc.CreateDatabaseParameter(3, out ParamArr); //((OracleParameter)ParamArr[0]).OracleDbType = OracleDbType.Char; //((OracleParameter)ParamArr[2]).OracleDbType = OracleDbType.Char; ParamArr[0].Value = newno; ParamArr[1].Value = type; ParamArr[2].Value = regid; l = objHRPSvc.lngExecuteParameterSQL(SQL, ref lngAffects, ParamArr); } string strPatId = string.Empty; if ((flag != 3 && !miflag) || (flag == 3 && sameflag && !miflag)) { string strSQL_PatId = @" select patientid_chr from t_opr_bih_register where registerid_chr = ?"; IDataParameter[] objParamArr_PatId = null; objHRPSvc.CreateDatabaseParameter(1, out objParamArr_PatId); objParamArr_PatId[0].Value = regid; DataTable dtbPatId = null; objHRPSvc.lngGetDataTableWithParameters(strSQL_PatId, ref dtbPatId, objParamArr_PatId); if (dtbPatId != null && dtbPatId.Rows.Count > 0) { strPatId = dtbPatId.Rows[0]["patientid_chr"].ToString().Trim(); } //更新病人资料表 SQL = @"update t_bse_patient set [currtype] = '[newno]', [oldtype] = '' where patientid_chr = ( select patientid_chr from t_opr_bih_register where registerid_chr = ?)"; if (type == 1) { SQL = SQL.Replace("[currtype]", "inpatientid_chr"); SQL = SQL.Replace("[oldtype]", "inpatienttempid_vchr"); } else if (type == 2) { SQL = SQL.Replace("[currtype]", "inpatienttempid_vchr"); SQL = SQL.Replace("[oldtype]", "inpatientid_chr"); } //合并时清空住院(留观)号 if (flag == 3) { SQL = SQL.Replace("[newno]", ""); } else { SQL = SQL.Replace("[newno]", newno); } objHRPSvc.CreateDatabaseParameter(1, out ParamArr); //((OracleParameter)ParamArr[0]).OracleDbType = OracleDbType.Char; ParamArr[0].Value = regid; l = objHRPSvc.lngExecuteParameterSQL(SQL, ref lngAffects, ParamArr); } else if (flag != 3 && miflag) { string strSQL_PatId = @" select patientid_chr from t_opr_bih_register where registerid_chr = ?"; IDataParameter[] objParamArr_PatId = null; objHRPSvc.CreateDatabaseParameter(1, out objParamArr_PatId); objParamArr_PatId[0].Value = regid; DataTable dtbPatId = null; objHRPSvc.lngGetDataTableWithParameters(strSQL_PatId, ref dtbPatId, objParamArr_PatId); if (dtbPatId != null && dtbPatId.Rows.Count > 0) { strPatId = dtbPatId.Rows[0]["patientid_chr"].ToString().Trim(); } //更新病人资料表 SQL = @"update t_bse_patient set [currtype] = ? where patientid_chr = ( select patientid_chr from t_opr_bih_register where registerid_chr = ?)"; objHRPSvc.CreateDatabaseParameter(2, out ParamArr); if (type == 1) { SQL = SQL.Replace("[currtype]", "inpatientid_chr"); //((OracleParameter)ParamArr[0]).OracleDbType = OracleDbType.Char; } else if (type == 2) { SQL = SQL.Replace("[currtype]", "inpatienttempid_vchr"); //((OracleParameter)ParamArr[0]).OracleDbType = OracleDbType.Varchar2; } //((OracleParameter)ParamArr[1]).OracleDbType = OracleDbType.Char; ParamArr[0].Value = newno; ParamArr[1].Value = regid; l = objHRPSvc.lngExecuteParameterSQL(SQL, ref lngAffects, ParamArr); } else if (flag == 3 && sameflag == false && !miflag) { string strSQL_PatId = @" select patientid_chr from t_bse_patient where inpatientid_chr = ?"; IDataParameter[] objParamArr_PatId = null; objHRPSvc.CreateDatabaseParameter(1, out objParamArr_PatId); objParamArr_PatId[0].Value = currno; DataTable dtbPatId = null; objHRPSvc.lngGetDataTableWithParameters(strSQL_PatId, ref dtbPatId, objParamArr_PatId); if (dtbPatId != null && dtbPatId.Rows.Count > 0) { strPatId = dtbPatId.Rows[0]["patientid_chr"].ToString().Trim(); } SQL = @"update t_bse_patient set inpatientid_chr = '' where inpatientid_chr = ?"; objHRPSvc.CreateDatabaseParameter(1, out ParamArr); ParamArr[0].Value = currno; l = objHRPSvc.lngExecuteParameterSQL(SQL, ref lngAffects, ParamArr); } if (strPatId != string.Empty) { //消息处理 com.digitalwave.iCare.middletier.SynchroTransmitter.clsSvc_MessageOperator_Update objMsgUpdate = new com.digitalwave.iCare.middletier.SynchroTransmitter.clsSvc_MessageOperator_Update(); try { l = objMsgUpdate.AddMsg("10001", 2, strPatId); } catch (Exception objEx) { com.digitalwave.Utility.clsLogText objLogger = new clsLogText(); bool blnRes = objLogger.LogError(objEx); l = -1; } finally { objMsgUpdate.Dispose(); objMsgUpdate = null; } if (l < 0) { ContextUtil.SetAbort(); } } //更新HIS与EMR住院信息关联表 SQL = @"update t_bse_hisemr_relation set hisinpatientid_chr = ?, operatorid_chr = ?, operat_dat = sysdate where registerid_chr = ?"; objHRPSvc.CreateDatabaseParameter(3, out ParamArr); //((OracleParameter)ParamArr[0]).OracleDbType = OracleDbType.Char; //((OracleParameter)ParamArr[1]).OracleDbType = OracleDbType.Char; //((OracleParameter)ParamArr[2]).OracleDbType = OracleDbType.Char; ParamArr[0].Value = newno; ParamArr[1].Value = operid; ParamArr[2].Value = regid; l = objHRPSvc.lngExecuteParameterSQL(SQL, ref lngAffects, ParamArr); if (flag == 1) { SQL = @"delete from t_opr_bih_inpatientnohis where (nvl(firstflag_vchr, '') || nvl(maxinpatientno_vchr, '')) = ?"; objHRPSvc.CreateDatabaseParameter(1, out ParamArr); ParamArr[0].Value = newno; l = objHRPSvc.lngExecuteParameterSQL(SQL, ref lngAffects, ParamArr); } if (!miflag) { //需满足住院(留观)号规则 if (tmpType == 1 || tmpType == 3) { preflag = oldpreflag; } bool b = false; string val = ""; if (preflag.Trim() == "") { val = currno; if (Microsoft.VisualBasic.Information.IsNumeric(val)) { b = true; } } else { val = currno.Substring(1); if (preflag == currno.Substring(0, 1) && Microsoft.VisualBasic.Information.IsNumeric(val)) { b = true; } } if (b) { //放旧号到费号表(历史表) SQL = @"insert into t_opr_bih_inpatientnohis (seqid_int, firstflag_vchr, maxinpatientno_vchr) values (seq_public.nextval, ?, ?)"; objHRPSvc.CreateDatabaseParameter(2, out ParamArr); ParamArr[0].Value = preflag; ParamArr[1].Value = val; l = objHRPSvc.lngExecuteParameterSQL(SQL, ref lngAffects, ParamArr); } } #region 增加资料变动记录 clsPatientInfLog piLog = new clsPatientInfLog(); piLog.registerId = regid; piLog.operatorId = operid; piLog.desc = ""; //0 住院号->住院号 1 住院号->留观号 2 留观号->留观号 3 留观号->住院号 string detailTemp = ""; switch (tmpType) { case 0: detailTemp = "住院号" + currno + "->住院号" + newno; break; case 1: detailTemp = "住院号" + currno + "->留观号" + newno; break; case 2: detailTemp = "留观号" + currno + "->留观号" + newno; break; case 3: detailTemp = "留观号" + currno + "->住院号" + newno; break; } if (flag == 3) { detailTemp += " (合并)"; } piLog.detail = detailTemp; l = AddPatienInfLog(piLog); #endregion ret = true; } catch (Exception objEx) { string strTmp = objEx.Message; com.digitalwave.Utility.clsLogText objLogger = new clsLogText(); bool blnRes = objLogger.LogError(objEx); } return(ret); }