/// <summary> /// 获取入库主表内容 /// </summary> /// <returns></returns> private clsDS_Instorage_VO m_objGetMainISVO() { clsDS_Instorage_VO m_objCurrentMain = new clsDS_Instorage_VO(); m_objCurrentMain.m_datMAKEORDER_DAT = clsPub.CurrentDateTimeNow; m_objCurrentMain.m_strMAKERID_CHR = this.m_objViewer.LoginInfo.m_strEmpID; m_objCurrentMain.m_intSTATUS = 2; //1、请领入库 2、药房自身入库(来源部门是本药房) 3、药房借调(来源部门是其它药房) 4、科室借调(来源部门除了药房以外的部门) 5、盘盈, m_objCurrentMain.m_intFORMTYPE_INT = 1; clsDcl_MakeOutStorageOrder objmain = new clsDcl_MakeOutStorageOrder(); int intTypeCode; objmain.m_lngGetTypeCodeByName(0, "正常入库", out intTypeCode); m_objCurrentMain.m_strTYPECODE_VCHR = intTypeCode.ToString(); m_objCurrentMain.m_strOUTSTORAGEID_VCHR = this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["m_txtOutStorageid"].Value.ToString(); if (this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["instoreid_vchr"].Value != null) { m_objCurrentMain.m_strINDRUGSTOREID_VCHR = this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["instoreid_vchr"].Value.ToString(); } m_objCurrentMain.m_datSTORAGEEXAM_DATE = Convert.ToDateTime(this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["m_txtExamDate"].Value.ToString()); m_objCurrentMain.m_datDRUGSTOREEXAM_DATE = clsPub.CurrentDateTimeNow; m_objCurrentMain.m_strSTORAGEEXAMID_CHR = this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["m_txtExamerid"].Value.ToString(); m_objCurrentMain.m_strDRUGSTOREEXAMID_CHR = this.m_objViewer.LoginInfo.m_strEmpID; m_objCurrentMain.m_strDRUGSTOREID_INT = this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["m_txtAskDeptid"].Value.ToString(); m_objCurrentMain.m_strBORROWDEPT_CHR = this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["m_txtStorageID"].Value.ToString(); m_objCurrentMain.m_strASKID_VCHR = this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["m_txtAskid"].Value.ToString(); return(m_objCurrentMain); }
/// <summary> /// 更新药房入库主表和明细表数据 /// </summary> /// <param name="m_objMainVo"></param> /// <param name="m_objDetailArr"></param> /// <param name="p_intCommitFolow"></param> /// <param name="p_strExamerID"></param> /// <returns></returns> public long m_lngUpdateInStorageInfo(clsDS_Instorage_VO m_objMainVo, ref clsDS_Instorage_Detail[] m_objDetailArr, int p_intCommitFolow, string p_strExamerID) { long lngRes = 0; com.digitalwave.iCare.middletier.HIS.clsInstorage_SVC objSvc = (com.digitalwave.iCare.middletier.HIS.clsInstorage_SVC)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(com.digitalwave.iCare.middletier.HIS.clsInstorage_SVC)); lngRes = objSvc.m_lngUpdateInStorageInfo(objPrincipal, m_objMainVo, ref m_objDetailArr, p_intCommitFolow, p_strExamerID); return(lngRes); }
public long m_lngLoadBill(bool p_blnIsHospital, string p_strBillID, out clsDS_Instorage_VO p_objMain, out DataTable p_dtbSub) { long lngRes = 0; com.digitalwave.iCare.middletier.HIS.clsInstorage_Supported_SVC objSvc = (com.digitalwave.iCare.middletier.HIS.clsInstorage_Supported_SVC)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(com.digitalwave.iCare.middletier.HIS.clsInstorage_Supported_SVC)); lngRes = objSvc.m_lngLoadBill(objPrincipal, p_blnIsHospital, p_strBillID, out p_objMain, out p_dtbSub); return(lngRes); }
internal long m_lngAddNewInstorage(ref clsDS_Instorage_VO p_objMainVo, ref clsDS_Instorage_Detail[] p_objInStorageDetailVoArr, ref clsDS_StorageDetail_VO[] p_objDetailVoArr, int p_intAddOrSubtract, long p_lngAskSeqid, int p_intState) { long lngRes = 0; com.digitalwave.iCare.middletier.HIS.clsInstorage_SVC objSvc = (com.digitalwave.iCare.middletier.HIS.clsInstorage_SVC)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(com.digitalwave.iCare.middletier.HIS.clsInstorage_SVC)); lngRes = objSvc.m_lngAddNewInstorage(objPrincipal, ref p_objMainVo, ref p_objInStorageDetailVoArr, 1, p_objMainVo.m_strDRUGSTOREEXAMID_CHR, ref p_objDetailVoArr, p_intAddOrSubtract, p_lngAskSeqid, p_intState); return(lngRes); }
/// <summary> /// 插入药房入库主表和明细表数据 /// </summary> /// <param name="m_objMainVo"></param> /// <param name="m_objDetailArr"></param> /// <returns></returns> public long m_lngAddNewInstorage(ref clsDS_Instorage_VO m_objMainVo, ref clsDS_Instorage_Detail[] m_objDetailArr) { long lngRes = 0; com.digitalwave.iCare.middletier.HIS.clsInstorage_SVC objSvc = (com.digitalwave.iCare.middletier.HIS.clsInstorage_SVC)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(com.digitalwave.iCare.middletier.HIS.clsInstorage_SVC)); lngRes = objSvc.m_lngAddNewInstorage(objPrincipal, ref m_objMainVo, ref m_objDetailArr, 0, ""); return(lngRes); }
/// <summary> /// 根据流水号进行药房审核 /// </summary> /// <param name="m_lngOutStorateSeqid">出库主表序列</param> /// <param name="m_lngAskSeqid">请领主表序列</param> public void m_mthDrugStoreExam(long m_lngOutStorateSeqid, long m_lngAskSeqid) { try { if (this.m_objViewer.m_dgvOutStorageMain.SelectedRows.Count == 0) { return; } long lngRes = 0; clsDS_Instorage_VO m_objMainVo = null; m_objMainVo = this.m_objGetMainISVO(); clsDS_StorageDetail_VO[] m_objDetailVoArr = null; clsDS_Instorage_Detail[] m_objInStorageDetailVoArr = null; m_objInStorageDetailVoArr = this.m_objGetInstorageDetailArr(m_objMainVo.m_lngSERIESID_INT); m_objDetailVoArr = this.m_mthGetDS_StorageDetail(m_objMainVo); lngRes = this.objDomainInStorage.m_lngAddNewInstorage(ref m_objMainVo, ref m_objInStorageDetailVoArr, ref m_objDetailVoArr, 1, m_lngAskSeqid, 4); //if (m_objDetailVoArr != null && m_objDetailVoArr.Length > 0) //{ // lngRes = this.objDomainInStorage.m_lngAddStorage(ref m_objDetailVoArr, 1); // lngRes = this.objDomainInStorage.m_lngAddNewAccountDetail(m_objDetailVoArr); //} if (lngRes > 0) { //long lngResult = -1; //lngResult = m_objDomain.m_lngExamAskInfo(m_lngAskSeqid, 4, m_objMainVo.m_strINDRUGSTOREID_VCHR); //if (lngResult > 0) //{ MessageBox.Show("药房审核成功!", "药房请领提示", MessageBoxButtons.OK, MessageBoxIcon.Information); for (int i = 0; i < this.m_objViewer.m_dgvAskMedMain.Rows.Count; i++) { if (this.m_objViewer.m_dgvAskMedMain.Rows[i].Cells["m_txtSeq"].Value.ToString() == m_lngAskSeqid.ToString()) { this.m_objViewer.m_dgvAskMedMain.Rows[i].Cells["m_txtStatus"].Value = "药房审核"; break; } } this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["m_txtAskStausName"].Value = "药房审核"; this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["m_txtStatus_int"].Value = 4; this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["instoreid_vchr"].Value = m_objMainVo.m_strINDRUGSTOREID_VCHR; //this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].DefaultCellStyle.ForeColor = System.Drawing.Color.Magenta; this.m_objViewer.m_btnReturn.PerformClick(); //} } else { MessageBox.Show("药房审核失败!", "药房请领提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception ex) { MessageBox.Show(ex.Message, "药房请领提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// 获取药库出库单明细内容 /// </summary> /// <param name="p_drDetail"></param> /// <param name="p_lngMainSEQ"></param> /// <returns></returns> private clsDS_StorageDetail_VO[] m_mthGetDS_StorageDetail(clsDS_Instorage_VO m_objMainVo) { clsDS_StorageDetail_VO[] objDetailArr = null; //20080724 数量为0 的不用更新库存。 int intRow = 0; for (int i1 = 0; i1 < this.m_objViewer.m_dgvOutStorageDetail.Rows.Count; i1++) { if (Convert.ToDouble(this.m_objViewer.m_dgvOutStorageDetail.Rows[i1].Cells["m_dgvtxtOutAmount"].Value) != 0) { intRow++; } } if (intRow > 0) { objDetailArr = new clsDS_StorageDetail_VO[intRow]; intRow = 0; for (int iRow = 0; iRow < this.m_objViewer.m_dgvOutStorageDetail.Rows.Count; iRow++) { if (Convert.ToDouble(this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_dgvtxtOutAmount"].Value) == 0) { continue; } objDetailArr[intRow] = new clsDS_StorageDetail_VO(); objDetailArr[intRow].m_strDRUGSTOREID_CHR = this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["m_txtAskDeptid"].Value.ToString(); objDetailArr[intRow].m_dtmINSTORAGEDATE_DAT = this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_txtinstoragedate_dat"].Value == DBNull.Value ? DateTime.MinValue : Convert.ToDateTime(this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_txtinstoragedate_dat"].Value.ToString()); objDetailArr[intRow].m_strINSTOREID_VCHR = this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_txtinstorageid_vchr"].Value.ToString(); objDetailArr[intRow].m_strMEDICINEID_CHR = this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["medicineid_chr"].Value.ToString(); objDetailArr[intRow].m_strMEDICINENAME_VCHR = this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_dgvtxtMedicineName"].Value.ToString(); objDetailArr[intRow].m_strMEDSPEC_VCHR = this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_dgvtxtMedicineSpec"].Value.ToString(); objDetailArr[intRow].m_strOPUNIT_CHR = this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_dgvtxtOutUint"].Value.ToString(); objDetailArr[intRow].m_dblOPREALGROSS_INT = Convert.ToDouble(this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_dgvtxtOutAmount"].Value.ToString()); objDetailArr[intRow].m_strIPUNIT_CHR = this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_txtipunit_chr"].Value.ToString(); objDetailArr[intRow].m_dblIPREALGROSS_INT = Convert.ToDouble(this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_txIPAmount"].Value.ToString()); objDetailArr[intRow].m_dblPACKQTY_DEC = Convert.ToDouble(this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_txtPackqty_dec"].Value.ToString()); objDetailArr[intRow].m_dtmVALIDPERIOD_DAT = Convert.ToDateTime(this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_dgvtxtEffectDate"].Value.ToString()); objDetailArr[intRow].m_strLOTNO_VCHR = this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_dgvtxtProduceNumber"].Value.ToString(); objDetailArr[intRow].m_dblOPWHOLESALEPRICE_INT = Convert.ToDouble(this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_dgvtxtBuyPrice"].Value.ToString()); objDetailArr[intRow].m_dblIPWHOLESALEPRICE_INT = Math.Round(Convert.ToDouble(this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_dgvtxtBuyPrice"].Value.ToString()) / Convert.ToDouble(this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_txtPackqty_dec"].Value.ToString()), 4); objDetailArr[intRow].m_dblOPRETAILPRICE_INT = Convert.ToDouble(this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_dgvtxtSalePrice"].Value.ToString()); objDetailArr[intRow].m_dblIPRETAILPRICE_INT = Math.Round(Convert.ToDouble(this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_dgvtxtSalePrice"].Value) / Convert.ToDouble(this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_txtPackqty_dec"].Value.ToString()), 4); objDetailArr[intRow].m_dtmDSINSTORAGEDATE_DAT = m_objMainVo.m_datMAKEORDER_DAT; objDetailArr[intRow].m_intType = Convert.ToInt16(m_objMainVo.m_intFORMTYPE_INT); objDetailArr[intRow].m_strDSINSTOREID_VCHR = m_objMainVo.m_strINDRUGSTOREID_VCHR; objDetailArr[intRow].m_strMEDICINETYPEID_CHR = this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["m_txtMedicineTypeid"].Value.ToString(); objDetailArr[intRow].m_strPRODUCTORID_CHR = this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["productorid_chr"].Value != DBNull.Value ? this.m_objViewer.m_dgvOutStorageDetail.Rows[iRow].Cells["productorid_chr"].Value.ToString() : string.Empty; objDetailArr[intRow].STATUS = 1; intRow++; } } return(objDetailArr); }
/// <summary> /// 根据流水号进行药房入帐 /// </summary> /// <param name="m_lngAskSeqid">请领主表序列</param> public void m_mthDrugStoreInAccount(long m_lngAskSeqid) { try { if (this.m_objViewer.m_dgvOutStorageMain.SelectedRows.Count == 0) { return; } clsDS_Instorage_VO m_objMainVo = null; m_objMainVo = this.m_objGetMainISVO(); long lngResult = -1; lngResult = m_objDomain.m_lngInAccountAskInfo(m_lngAskSeqid, this.m_objViewer.LoginInfo.m_strEmpID, m_objMainVo.m_strINDRUGSTOREID_VCHR, m_objMainVo.m_strDRUGSTOREID_INT); if (lngResult > 0) { MessageBox.Show("入帐成功!", "药房请领提示", MessageBoxButtons.OK, MessageBoxIcon.Information); for (int i = 0; i < this.m_objViewer.m_dgvAskMedMain.Rows.Count; i++) { if (this.m_objViewer.m_dgvAskMedMain.Rows[i].Cells["m_txtSeq"].Value.ToString() == m_lngAskSeqid.ToString()) { this.m_objViewer.m_dgvAskMedMain.Rows[i].Cells["m_txtStatus"].Value = "入帐"; break; } } this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["m_txtAskStausName"].Value = "入帐"; this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["m_txtStatus_int"].Value = 5; this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].DefaultCellStyle.ForeColor = System.Drawing.Color.Magenta; this.m_objViewer.m_btnReturn.PerformClick(); } else { MessageBox.Show("入帐失败!", "药房请领提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception ex) { MessageBox.Show(ex.Message, "药房请领提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public long m_lngLoadBill(System.Security.Principal.IPrincipal p_objPrincipal, bool p_blnIsHospital, string p_strBillID, out clsDS_Instorage_VO p_objMain, out DataTable p_dtbSub) { p_objMain = null; p_dtbSub = null; DataTable dtbMain = new DataTable(); long lngRes = 0; try { string strSQL = @"select a.seriesid_int, a.indrugstoreid_vchr, b.deptname_vchr as medstorename_vchr, a.askid_vchr, a.outstorageid_vchr, a.drugstoreid_chr, a.comment_vchr, decode(a.status, 0, '删除', 1, '新制', 2, '审核', 3, '入帐', 4, '退审') as status, formtype_int,a.status as status_int, a.typecode_vchr, a.borrowdept_chr, c.deptname_vchr, a.makeorder_dat, a.storageexamid_chr, d.lastname_vchr as storageexamname, a.drugstoreexamid_chr, e.lastname_vchr as drugstoreexamname_chr, a.inaccounterid_chr, f.lastname_vchr as inaccountername, a.makerid_chr, h.lastname_vchr as makername, i.typename_vchr, a.drugstoreexam_date, a.inaccount_dat, 0 summoney from t_ds_instorage a, t_bse_deptdesc b, t_bse_deptdesc c, t_bse_employee d, t_bse_employee e, t_bse_employee f, t_bse_employee h, t_aid_impexptype i where a.drugstoreid_chr = b.deptid_chr(+) and a.borrowdept_chr = c.deptid_chr(+) and a.storageexamid_chr = d.empid_chr(+) and a.drugstoreexamid_chr = e.empid_chr(+) and a.inaccounterid_chr = f.empid_chr(+) and a.makerid_chr = h.empid_chr(+) and a.typecode_vchr = i.typecode_vchr(+) and a.indrugstoreid_vchr = ?"; clsHRPTableService objHRPServ = new clsHRPTableService(); System.Data.IDataParameter[] m_objParaArr = null; objHRPServ.CreateDatabaseParameter(1, out m_objParaArr); m_objParaArr[0].Value = p_strBillID; lngRes = objHRPServ.lngGetDataTableWithParameters(strSQL, ref dtbMain, m_objParaArr); if (dtbMain != null && dtbMain.Rows.Count > 0) { p_objMain = new clsDS_Instorage_VO(); p_objMain.m_datMAKEORDER_DAT = Convert.ToDateTime(dtbMain.Rows[0]["makeorder_dat"]); p_objMain.m_strMakeName = dtbMain.Rows[0]["makername"].ToString(); p_objMain.m_strTYPENAME_VCHR = dtbMain.Rows[0]["typename_vchr"].ToString(); p_objMain.m_strBORROWDEPTName_CHR = dtbMain.Rows[0]["deptname_vchr"].ToString(); p_objMain.m_strDRUGSTOREName = dtbMain.Rows[0]["medstorename_vchr"].ToString(); p_objMain.m_strINDRUGSTOREID_VCHR = dtbMain.Rows[0]["indrugstoreid_vchr"].ToString(); p_objMain.m_strCOMMENT_VCHR = dtbMain.Rows[0]["comment_vchr"].ToString(); m_lngGetInstorageDetailByID(p_objPrincipal, p_blnIsHospital, Convert.ToInt64(dtbMain.Rows[0]["seriesid_int"]), out p_dtbSub); } objHRPServ.Dispose(); objHRPServ = null; } catch (Exception objEx) { com.digitalwave.Utility.clsLogText objLogger = new com.digitalwave.Utility.clsLogText(); bool blnRes = objLogger.LogError(objEx); } return(lngRes); }