Beispiel #1
0
        /// <summary>
        /// 添加新的药品类型设置
        /// </summary>
        internal void m_mthModifyTypeSet()
        {
            if (string.IsNullOrEmpty(m_objViewer.m_txtMedicineStoreRoom.Text))
            {
                System.Windows.Forms.MessageBox.Show("请先填写药品类型名称", "药品类型设置", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
                return;
            }

            if (m_objViewer.m_lsvMedicineName.Items.Count == 0 || m_objViewer.m_lsvMedicineName.CheckedItems.Count == 0)
            {
                System.Windows.Forms.MessageBox.Show("请先选择对应的药品基本类型", "药品类型设置", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
                return;
            }

            clsMS_MedicineTypeSetVO objTypeSet = new clsMS_MedicineTypeSetVO();
            int intSetID = 1;

            if (int.TryParse(m_objViewer.m_txtMedicineStoreRoom.Tag.ToString(), out intSetID))
            {
                objTypeSet.m_intMedicineTypeSetID = intSetID;
            }
            else
            {
                System.Windows.Forms.MessageBox.Show("保存失败", "药品类型设置", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
                return;
            }

            long lngRes = 0;

            objTypeSet.m_strMedicineTypeSetName = m_objViewer.m_txtMedicineStoreRoom.Text;
            objTypeSet.m_strMedicineTypeIDArr   = new string[m_objViewer.m_lsvMedicineName.CheckedItems.Count];
            string strSetName = string.Empty;

            for (int iItem = 0; iItem < m_objViewer.m_lsvMedicineName.CheckedItems.Count; iItem++)
            {
                objTypeSet.m_strMedicineTypeIDArr[iItem] = m_objViewer.m_lsvMedicineName.CheckedItems[iItem].Tag.ToString();
                lngRes = m_objDomain.m_lngCheckHasSetOtherType(objTypeSet.m_strMedicineTypeIDArr[iItem], out strSetName);
                if (!string.IsNullOrEmpty(strSetName) && strSetName != m_objViewer.m_txtMedicineStoreRoom.Text)
                {
                    System.Windows.Forms.MessageBox.Show(m_objViewer.m_lsvMedicineName.CheckedItems[iItem].Text + "已设置为属于" + strSetName + ",不能重复设置",
                                                         "药品类型设置", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Stop);
                    return;
                }
            }

            lngRes = m_objDomain.m_lngModifyMedicineTypeSet(objTypeSet);
            if (lngRes > 0)
            {
                m_mthClear();
                m_objViewer.m_lsvMedicineTypeSet.Items.Clear();
                m_mthGetAllMedicineTypeSetInfo();

                System.Windows.Forms.MessageBox.Show("保存成功", "药品类型设置", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Information);
            }
            else
            {
                System.Windows.Forms.MessageBox.Show("保存失败", "药品类型设置", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
            }
        }
Beispiel #2
0
        /// <summary>
        /// 修改药品类型设置
        /// </summary>
        /// <param name="p_objTypeVO">药品类型设置</param>
        /// <returns></returns>
        internal long m_lngModifyMedicineTypeSet(clsMS_MedicineTypeSetVO p_objTypeVO)
        {
            long lngRes = 0;

            com.digitalwave.iCare.middletier.MedicineStoreService.clsMedicineTypeSetSVC objSvc =
                (com.digitalwave.iCare.middletier.MedicineStoreService.clsMedicineTypeSetSVC)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(com.digitalwave.iCare.middletier.MedicineStoreService.clsMedicineTypeSetSVC));
            lngRes = objSvc.m_lngModifyMedicineTypeSet(objPrincipal, p_objTypeVO);
            return(lngRes);
        }
Beispiel #3
0
        /// <summary>
        /// 统计供药单位供药明细
        /// </summary>
        internal void m_mthStatistics()
        {
            DateTime dtmBegin  = DateTime.Parse(Convert.ToDateTime(m_objViewer.m_dtpBeginDate.Text).ToString("yyyy-MM-dd 00:00:00"));
            DateTime dtmEnd    = DateTime.Parse(Convert.ToDateTime(m_objViewer.m_dtpEndDate.Text).ToString("yyyy-MM-dd 23:59:59"));
            string   strVendor = m_objViewer.m_txtVendor.Text;

            this.m_objViewer.m_dwcData.Modify("begindate.text = '" + dtmBegin.ToString("yyyy-MM-dd") + "'");
            this.m_objViewer.m_dwcData.Modify("enddate.text = '" + dtmEnd.ToString("yyyy-MM-dd") + "'");
            this.m_objViewer.m_dwcData.Modify("vendorname.text = '" + strVendor + "'");
            m_mthSetStorageNameToReport();

            string strVendorID = string.Empty;

            if (m_objViewer.m_txtVendor.Tag != null && !string.IsNullOrEmpty(m_objViewer.m_txtVendor.Text))
            {
                strVendorID = m_objViewer.m_txtVendor.Tag.ToString();
            }

            int intSetID = 0;

            if (m_objViewer.m_cboType.SelectedItem != null)
            {
                clsMS_MedicineTypeSetVO objSet = m_objViewer.m_cboType.SelectedItem as clsMS_MedicineTypeSetVO;
                if (objSet != null)
                {
                    intSetID = objSet.m_intMedicineTypeSetID;
                }
            }

            DataTable dtbData = null;
            long      lngRes  = m_objDomain.m_lngStatistics(m_objViewer.m_strStorageID, dtmBegin, dtmEnd, strVendorID, intSetID, out dtbData);

            if (dtbData == null || dtbData.Rows.Count == 0)
            {
                m_objViewer.m_dwcData.Reset();
                return;
            }

            DataTable dtbNewdata = null;

            if (dtbData != null)
            {
                this.m_objViewer.m_dwcData.SetRedrawOff();

                //按药品ID排序
                DataView dtv = new DataView();
                dtv        = dtbData.DefaultView;
                dtv.Sort   = "assistcode_chr";
                dtbNewdata = dtv.ToTable();

                this.m_objViewer.m_dwcData.Retrieve(dtbNewdata);
                this.m_objViewer.m_dwcData.SetRedrawOn();
                this.m_objViewer.m_dwcData.Refresh();
            }
        }
        //#region 设置药品类型
        ///// <summary>
        ///// 设置药品类型
        ///// </summary>
        ///// <param name="p_objMPVO"></param>
        //internal void m_mthSetMedicineType(clsMS_MedicineType_VO[] p_objMPVO)
        //{
        //    if (p_objMPVO == null || m_objViewer.m_cboDoseType.Items.Count > 0)
        //    {
        //        return;
        //    }

        //    clsMS_MedicineType_VO objAll = new clsMS_MedicineType_VO();
        //    objAll.m_strMedicineTypeID_CHR = "0";
        //    objAll.m_strMedicineTypeName_VCHR = "全部";

        //    m_objViewer.m_cboDoseType.Items.Add(objAll);
        //    m_objViewer.m_cboDoseType.Items.AddRange(p_objMPVO);

        //    m_objViewer.m_cboDoseType.SelectedIndex = 0;
        //}
        //#endregion

        //public long m_getMedIcineType()
        //{
        //    long ret;
        //    clsMS_MedicineType_VO[] p_objMPVO;

        //    ret = m_objDomain.m_lngGetStorageMedicineType(m_objViewer.typeID, out p_objMPVO);
        //    m_mthSetMedicineType(p_objMPVO);
        //    return ret;
        //}


        public long m_getMedIcineCheck()
        {
            DataTable dt;
            long      ret;

            if (m_objViewer.m_txtProviderName.Text.Trim() == "")
            {
                MessageBox.Show("请选译供应商名称!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return(-1);
            }
            clsMS_MedicineTypeSetVO objVo = m_objViewer.m_cboType.SelectedItem as clsMS_MedicineTypeSetVO;
            string strVendor       = m_objViewer.m_txtProviderName.Tag.ToString();
            int    intMedicinetype = objVo.m_intMedicineTypeSetID;
            string strDateStar     = this.m_objViewer.dtpStar.Value.ToShortDateString() + " 00:00:00";
            string strDateEnd      = this.m_objViewer.dtpEnd.Value.ToShortDateString() + " 23:59:59";
            string STORAGEID       = this.m_objViewer.typeID;

            ret = this.m_objDomain.m_lngGetMedIcineCheck(strVendor, intMedicinetype, strDateStar, strDateEnd, STORAGEID, out dt);

            DataTable dtbOut = null;//外退数据

            if (m_objViewer.m_chkStatOut.Checked)
            {
                ret = m_objDomain.m_lngStatisticsForeignRetreat(STORAGEID, Convert.ToDateTime(strDateStar), Convert.ToDateTime(strDateEnd), strVendor, intMedicinetype, out dtbOut);
            }

            DataTable dtbShow = m_dtbMergeStatisticsData(dt, dtbOut);

            if (dtbShow == null || dt.Rows.Count <= 0)
            {
                MessageBox.Show("抱歉,没有找到符合条件的记录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                this.m_objViewer.m_dwRpt.Reset();
                return(-1);
            }
            this.m_objViewer.m_dwRpt.Modify("t_date.text = '" + DateTime.Now.ToString("yyyy年MM月dd日") + "'");
            this.m_objViewer.m_dwRpt.Modify("t_tile.text = '" + this.m_objComInfo.m_strGetHospitalTitle() + "验收单" + "'");
            this.m_objViewer.m_dwRpt.Retrieve(dt);
            return(ret);
        }
        /// <summary>
        /// 药品报废明细
        /// </summary>
        internal void m_mthStatistics()
        {
            DateTime dtmBegin = DateTime.Parse(Convert.ToDateTime(m_objViewer.txtOutStorageBeginDate.Text).ToString("yyyy-MM-dd 00:00:00"));
            DateTime dtmEnd   = DateTime.Parse(Convert.ToDateTime(m_objViewer.txtOutStorageEndDate.Text).ToString("yyyy-MM-dd 23:59:59"));

            this.m_objViewer.dwOutStorageStat.Modify("t_9.text = '" + dtmBegin.ToString("yyyy-MM-dd") + " 至 " + dtmEnd.ToString("yyyy-MM-dd") + "'");
            this.m_objViewer.dwOutStorageStat.Modify("t_type.text='" + this.m_objViewer.m_cboType.Text + "'");
            m_mthSetStorageNameToReport();

            int intSetID = 0;

            if (m_objViewer.m_cboType.SelectedItem != null)
            {
                clsMS_MedicineTypeSetVO objSet = m_objViewer.m_cboType.SelectedItem as clsMS_MedicineTypeSetVO;
                if (objSet != null)
                {
                    intSetID = objSet.m_intMedicineTypeSetID;
                }
            }

            DataTable dtbData = null;
            long      lngRes  = m_objDomain.m_lngStatistics(m_objViewer.m_strStorageID, dtmBegin, dtmEnd, intSetID, out dtbData);

            if (dtbData == null || dtbData.Rows.Count == 0)
            {
                m_objViewer.dwOutStorageStat.Reset();
                return;
            }


            if (dtbData != null)
            {
                this.m_objViewer.dwOutStorageStat.SetRedrawOff();
                this.m_objViewer.dwOutStorageStat.Retrieve(dtbData);
                this.m_objViewer.dwOutStorageStat.SetRedrawOn();
                this.m_objViewer.dwOutStorageStat.Refresh();
            }
        }
        /// <summary>
        /// 获取药品类型设置
        /// </summary>
        internal void m_mthGetMedicineTypeSet()
        {
            clsMS_MedicineTypeSetVO[] objMPVO     = null;
            clsDcl_MedicineTypeSet    objMTDomain = new clsDcl_MedicineTypeSet();
            long lngRes = objMTDomain.m_lngGetAllMedicinTypeSetInfo(out objMPVO);

            objMTDomain = null;

            if (objMPVO == null || m_cboType.Items.Count > 0)
            {
                return;
            }

            clsMS_MedicineTypeSetVO objAll = new clsMS_MedicineTypeSetVO();

            objAll.m_intMedicineTypeSetID   = 0;
            objAll.m_strMedicineTypeSetName = "全部";

            m_cboType.Items.Add(objAll);
            m_cboType.Items.AddRange(objMPVO);

            m_cboType.SelectedIndex = 0;
        }
Beispiel #7
0
        public long m_lngGetAllMedicinTypeSetInfo(System.Security.Principal.IPrincipal p_objPrincipal, out clsMS_MedicineTypeSetVO[] p_objTypeVO)
        {
            p_objTypeVO = null;
            long lngRes = 0;

            try
            {
                string strSQL = @"select distinct medicinetypesetid, medicinetypesetname
  from t_ms_medicinetypeset
 order by medicinetypesetid";

                DataTable          dtbValue   = null;
                clsHRPTableService objHRPServ = new clsHRPTableService();

                lngRes = objHRPServ.lngGetDataTableWithoutParameters(strSQL, ref dtbValue);
                if (lngRes > 0 && dtbValue != null)
                {
                    int intRowsCount = dtbValue.Rows.Count;
                    if (intRowsCount > 0)
                    {
                        p_objTypeVO = new clsMS_MedicineTypeSetVO[intRowsCount];
                        for (int iRow = 0; iRow < intRowsCount; iRow++)
                        {
                            p_objTypeVO[iRow] = new clsMS_MedicineTypeSetVO();
                            p_objTypeVO[iRow].m_intMedicineTypeSetID   = Convert.ToInt32(dtbValue.Rows[iRow]["medicinetypesetid"]);
                            p_objTypeVO[iRow].m_strMedicineTypeSetName = dtbValue.Rows[iRow]["medicinetypesetname"].ToString();
                        }
                    }
                }
            }
            catch (Exception objEx)
            {
                com.digitalwave.Utility.clsLogText objLogger = new com.digitalwave.Utility.clsLogText();
                bool blnRes = objLogger.LogError(objEx);
            }
            return(lngRes);
        }
        /// <summary>
        /// 查询条件保存在“clsMS_OutStorageStatQueryCondition_VO”类型对象中
        /// </summary>
        private void GetOutStorageStatData()
        {
            long lngRes = 0;

            if (m_value_Param == null)
            {
                m_value_Param = new clsMS_OutStorageStatQueryCondition_VO();
            }
            m_value_Param.m_blnPharmacyMedicineCancel = false;
            m_value_Param.m_blnStorageMedicineCancel  = false;
            m_value_Param.m_intOutStorageType         = 0;
            m_value_Param.m_strReceiveDept            = "";
            m_value_Param.m_dtmOutStorageBeginDate    = "";
            m_value_Param.m_dtmOutStorageEndDate      = "";
            m_value_Param.m_strStorageID = m_strStorageID;

            if ((txtOutStorageBeginDate.Text.Trim().Length == 11) && (txtOutStorageEndDate.Text.Trim().Length == 11))
            {
                if ((Convert.ToDateTime(txtOutStorageBeginDate.Text)) > (Convert.ToDateTime(txtOutStorageEndDate.Text)))
                {
                    MessageBox.Show("出库开始日期必须小于或等于出库结束日期!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    txtOutStorageBeginDate.Focus();
                    return;
                }
            }

            if (txtOutStorageBeginDate.Text.Trim().Length == 11)
            {
                string strDate = txtOutStorageBeginDate.Text;
                m_value_Param.m_dtmOutStorageBeginDate = Convert.ToDateTime(strDate).ToString("yyyy-MM-dd 00:00:00");
            }
            else
            {
                m_value_Param.m_dtmOutStorageBeginDate = "";
            }

            if (txtOutStorageEndDate.Text.Trim().Length == 11)
            {
                string strDate = txtOutStorageEndDate.Text;
                m_value_Param.m_dtmOutStorageEndDate = Convert.ToDateTime(strDate).ToString("yyyy-MM-dd 23:59:59");
            }
            else
            {
                m_value_Param.m_dtmOutStorageEndDate = "";
            }


            m_value_Param.m_blnPharmacyMedicineCancel = chkPharmacyMedicineCancel.Checked;

            m_value_Param.m_intOutStorageType = 0;

            if (m_txtAskDeptPage1.Text.Length > 0)
            {
                m_value_Param.m_strReceiveDept = m_txtAskDeptPage1.StrItemId;
            }
            else
            {
                m_value_Param.m_strReceiveDept = "all";
            }

            int intMedicineTypeSetID = -1;

            if (m_cboType.SelectedItem != null)
            {
                clsMS_MedicineTypeSetVO objSet = m_cboType.SelectedItem as clsMS_MedicineTypeSetVO;
                if (objSet != null)
                {
                    intMedicineTypeSetID = objSet.m_intMedicineTypeSetID;
                    m_value_Param.m_intMedicineTypeSetID = objSet.m_intMedicineTypeSetID;
                }
            }

            clsDomainController_OutStorageStat objDomain = new clsDomainController_OutStorageStat();

            //调用Com+服务端

            DataTable dtbOut    = null; //出库数据
            DataTable dtbWithin = null; //内退数据

            lngRes = objDomain.m_lngGetResultByOutStorageStat(ref m_value_Param, ref dtbOut);
            if (chkPharmacyMedicineCancel.Checked)
            {
                string strDeptID = string.Empty;
                if (!string.IsNullOrEmpty(m_txtAskDeptPage1.Text) && !string.IsNullOrEmpty(m_txtAskDeptPage1.StrItemId))
                {
                    strDeptID = m_txtAskDeptPage1.StrItemId;
                }
                lngRes = objDomain.m_lngGetWithinWithdrawal(m_strStorageID, Convert.ToDateTime(Convert.ToDateTime(txtOutStorageBeginDate.Text).ToString("yyyy-MM-dd 00:00:00")), Convert.ToDateTime(Convert.ToDateTime(txtOutStorageEndDate.Text).ToString("yyyy-MM-dd 23:59:59")), strDeptID, intMedicineTypeSetID, out dtbWithin);
            }
            if (lngRes <= 0)
            {
                dtbResult = null;
                return;
            }
            dtbResult = m_dtbMergeStatisticsData(dtbOut, dtbWithin);
        }
Beispiel #9
0
        public long m_lngModifyMedicineTypeSet(System.Security.Principal.IPrincipal p_objPrincipal, clsMS_MedicineTypeSetVO p_objTypeVO)
        {
            if (p_objTypeVO == null)
            {
                return(-1);
            }

            long lngRes = 0;

            try
            {
                lngRes = m_lngDeleteMedicineTypeSet(p_objPrincipal, p_objTypeVO.m_intMedicineTypeSetID);

                if (lngRes <= 0)
                {
                    return(-1);
                }

                lngRes = m_lngAddNewMedicneTypeSet(p_objPrincipal, p_objTypeVO);
            }
            catch (Exception objEx)
            {
                com.digitalwave.Utility.clsLogText objLogger = new com.digitalwave.Utility.clsLogText();
                bool blnRes = objLogger.LogError(objEx);
            }
            return(lngRes);
        }
Beispiel #10
0
        public long m_lngAddNewMedicneTypeSet(System.Security.Principal.IPrincipal p_objPrincipal, clsMS_MedicineTypeSetVO p_objTypeVO)
        {
            if (p_objTypeVO == null || p_objTypeVO.m_strMedicineTypeIDArr == null)
            {
                return(-1);
            }

            long lngRes = 0;

            try
            {
                string strSQL = @"insert into t_ms_medicinetypeset
  (medicinetypesetid, medicinetypesetname, medicinetypeid_chr)
values
  (?, ?, ?)";

                string strGetMax = @"select max(medicinetypesetid)
  from t_ms_medicinetypeset";

                clsHRPTableService objHRPServ = new clsHRPTableService();
                long lngEff = -1;

                if (p_objTypeVO.m_intMedicineTypeSetID <= 0)
                {
                    DataTable dtbValue = null;
                    lngRes = objHRPServ.lngGetDataTableWithoutParameters(strGetMax, ref dtbValue);
                    if (dtbValue == null || dtbValue.Rows.Count == 0)
                    {
                        p_objTypeVO.m_intMedicineTypeSetID = 1;
                    }
                    else
                    {
                        if (dtbValue.Rows[0][0] == DBNull.Value)
                        {
                            p_objTypeVO.m_intMedicineTypeSetID = 1;
                        }
                        else
                        {
                            p_objTypeVO.m_intMedicineTypeSetID = Convert.ToInt32(dtbValue.Rows[0][0]) + 1;
                        }
                    }
                }

                if (clsHRPTableService.bytDatabase_Selector != (byte)clsHRPTableService.enumDatabase_Selector.bytOracle)
                {
                    IDataParameter[] objDPArr = null;

                    for (int i = 0; i < p_objTypeVO.m_strMedicineTypeIDArr.Length; i++)
                    {
                        objHRPServ.CreateDatabaseParameter(3, out objDPArr);
                        objDPArr[0].Value = p_objTypeVO.m_intMedicineTypeSetID;
                        objDPArr[1].Value = p_objTypeVO.m_strMedicineTypeSetName;
                        objDPArr[2].Value = p_objTypeVO.m_strMedicineTypeIDArr[i];

                        lngRes = objHRPServ.lngExecuteParameterSQL(strSQL, ref lngEff, objDPArr);
                    }
                }
                else
                {
                    DbType[] dbTypes = new DbType[] { DbType.Int32, DbType.String, DbType.String };

                    object[][] objValues = new object[3][];

                    int intItemCount = p_objTypeVO.m_strMedicineTypeIDArr.Length;
                    for (int j = 0; j < objValues.Length; j++)
                    {
                        objValues[j] = new object[intItemCount];//初始化
                    }

                    for (int i = 0; i < intItemCount; i++)
                    {
                        objValues[0][i] = p_objTypeVO.m_intMedicineTypeSetID;
                        objValues[1][i] = p_objTypeVO.m_strMedicineTypeSetName;
                        objValues[2][i] = p_objTypeVO.m_strMedicineTypeIDArr[i];
                    }
                    lngRes = objHRPServ.m_lngSaveArrayWithParameters(strSQL, objValues, dbTypes);
                }
                p_objTypeVO = null;
            }
            catch (Exception objEx)
            {
                com.digitalwave.Utility.clsLogText objLogger = new com.digitalwave.Utility.clsLogText();
                bool blnRes = objLogger.LogError(objEx);
            }
            return(lngRes);
        }
Beispiel #11
0
        /// <summary>
        /// 获取药品明细帐表
        /// </summary>
        internal void m_mthGetMedicineDetailReport()
        {
            try
            {
                m_objViewer.Cursor = Cursors.WaitCursor;
                m_objViewer.m_dtbAccou.Clear();

                if (m_objViewer.m_txtMedicine.Text.Trim() != "")//指定某种药品
                {
                    m_objDomain.m_lngGetMedicineTotalAccountByTime(m_objViewer.m_strStorageID, m_objViewer.m_txtMedicine.Tag.ToString(),
                                                                   DateTime.Parse(Convert.ToDateTime(m_objViewer.m_dtpBeginDate.Text).ToString("yyyy-MM-dd 00:00:00")),
                                                                   DateTime.Parse(Convert.ToDateTime(m_objViewer.m_dtpEndDate.Text).ToString("yyyy-MM-dd 23:59:59")),
                                                                   m_objViewer.m_strForeAccount, m_objViewer.m_strBackAccount, out accountMedicineVO);
                }
                //指定药品的类型

                else if ((m_objViewer.m_cboMedicineType.SelectedIndex >= 0) && (m_objViewer.m_cboMedicineType.Text != "全部"))
                {
                    clsMS_MedicineTypeSetVO objMPVO = new clsMS_MedicineTypeSetVO();
                    objMPVO = (clsMS_MedicineTypeSetVO)m_objViewer.m_cboMedicineType.Items[m_objViewer.m_cboMedicineType.SelectedIndex];
                    m_objDomain.m_lngGetMedicineTypeAccountByTime(m_objViewer.m_strStorageID, objMPVO.m_intMedicineTypeSetID.ToString(),
                                                                  DateTime.Parse(Convert.ToDateTime(m_objViewer.m_dtpBeginDate.Text).ToString("yyyy-MM-dd 00:00:00")),
                                                                  DateTime.Parse(Convert.ToDateTime(m_objViewer.m_dtpEndDate.Text).ToString("yyyy-MM-dd 23:59:59")),
                                                                  m_objViewer.m_strForeAccount, m_objViewer.m_strBackAccount, out accountVO);
                }
                //全部药品
                else
                {
                    m_objDomain.m_lngGetAllMedicineDetailAccountByTime(m_objViewer.m_strStorageID,
                                                                       DateTime.Parse(Convert.ToDateTime(m_objViewer.m_dtpBeginDate.Text).ToString("yyyy-MM-dd 00:00:00")),
                                                                       DateTime.Parse(Convert.ToDateTime(m_objViewer.m_dtpEndDate.Text).ToString("yyyy-MM-dd 23:59:59")),
                                                                       m_objViewer.m_strForeAccount, m_objViewer.m_strBackAccount, out accountVO);
                }
                if ((m_objViewer.m_txtMedicine.Tag == null) && (accountVO == null || accountVO.Length == 0))
                {
                    MessageBox.Show("抱歉,没有查到该期药品明细帐数据。", "药品明细帐表", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    m_objViewer.datWindow.Reset();
                    return;
                }

                if (m_objViewer.m_txtMedicine.Text.Trim() != "")
                {
                    if (accountMedicineVO == null)
                    {
                        MessageBox.Show("抱歉,没有查到该药品明细帐数据。", "药品明细帐表", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        m_objViewer.datWindow.Reset();
                        return;
                    }

                    DataRow dr = m_objViewer.m_dtbAccou.NewRow();
                    dr["medicinename_vch"]         = accountMedicineVO.m_strMedicineName;
                    dr["medspec_vchr"]             = accountMedicineVO.m_strMedicineSpec;
                    dr["m_dblBeginAmount"]         = accountMedicineVO.m_dblBeginAmount;
                    dr["m_dblBeginCallMoney"]      = accountMedicineVO.m_dblBeginCallMoney;
                    dr["m_dblBeginRetailMoney"]    = accountMedicineVO.m_dblBeginRetailMoney;
                    dr["m_dblBeginWholesaleMoney"] = accountMedicineVO.m_dblBeginWholesaleMoney;
                    dr["m_dblInAmount"]            = accountMedicineVO.m_dblInAmount;
                    dr["m_dblInCallMoney"]         = accountMedicineVO.m_dblInCallMoney;
                    dr["m_dblInRetailMoney"]       = accountMedicineVO.m_dblInRetailMoney;
                    dr["m_dblInWholesaleMoney"]    = accountMedicineVO.m_dblInWholesaleMoney;
                    dr["m_dblOutAmount"]           = accountMedicineVO.m_dblOutAmount;
                    dr["m_dblOutCallMoney"]        = accountMedicineVO.m_dblOutCallMoney;
                    dr["m_dblOutRetailMoney"]      = accountMedicineVO.m_dblOutRetailMoney;
                    dr["m_dblOutWholesaleMoney"]   = accountMedicineVO.m_dblOutWholesaleMoney;
                    dr["m_dblEndAmount"]           = accountMedicineVO.m_dblEndAmount;
                    dr["m_dblEndCallMoney"]        = accountMedicineVO.m_dblEndCallMoney;
                    dr["m_dblEndRetailMoney"]      = accountMedicineVO.m_dblEndRetailMoney;
                    dr["m_dblEndWholesaleMoney"]   = accountMedicineVO.m_dblEndWholesaleMoney;

                    m_objViewer.m_dtbAccou.Rows.Add(dr);
                }
                else
                {
                    for (int i = 0; i < accountVO.Length; i++)
                    {
                        DataRow dr = m_objViewer.m_dtbAccou.NewRow();
                        dr["medicinename_vch"]         = accountVO[i].m_strMedicineName;
                        dr["medspec_vchr"]             = accountVO[i].m_strMedicineSpec;
                        dr["m_dblBeginAmount"]         = accountVO[i].m_dblBeginAmount;
                        dr["m_dblBeginCallMoney"]      = accountVO[i].m_dblBeginCallMoney;
                        dr["m_dblBeginRetailMoney"]    = accountVO[i].m_dblBeginRetailMoney;
                        dr["m_dblBeginWholesaleMoney"] = accountVO[i].m_dblBeginWholesaleMoney;
                        dr["m_dblInAmount"]            = accountVO[i].m_dblInAmount;
                        dr["m_dblInCallMoney"]         = accountVO[i].m_dblInCallMoney;
                        dr["m_dblInRetailMoney"]       = accountVO[i].m_dblInRetailMoney;
                        dr["m_dblInWholesaleMoney"]    = accountVO[i].m_dblInWholesaleMoney;
                        dr["m_dblOutAmount"]           = accountVO[i].m_dblOutAmount;
                        dr["m_dblOutCallMoney"]        = accountVO[i].m_dblOutCallMoney;
                        dr["m_dblOutRetailMoney"]      = accountVO[i].m_dblOutRetailMoney;
                        dr["m_dblOutWholesaleMoney"]   = accountVO[i].m_dblOutWholesaleMoney;
                        dr["m_dblEndAmount"]           = accountVO[i].m_dblEndAmount;
                        dr["m_dblEndCallMoney"]        = accountVO[i].m_dblEndCallMoney;
                        dr["m_dblEndRetailMoney"]      = accountVO[i].m_dblEndRetailMoney;
                        dr["m_dblEndWholesaleMoney"]   = accountVO[i].m_dblEndWholesaleMoney;
                        m_objViewer.m_dtbAccou.Rows.Add(dr);
                    }
                }
                m_objViewer.datWindow.LibraryList      = clsPublic.PBLPath;
                m_objViewer.datWindow.DataWindowObject = "ms_account_Detail2";
                string strStoreRoomName;
                m_objDomain.m_lngGetStoreRoomName(m_objViewer.m_strStorageID, out strStoreRoomName);
                m_objViewer.datWindow.Modify("t_storage.text='" + strStoreRoomName + "'");
                m_objViewer.datWindow.Modify("t_22.text='" + m_objViewer.m_dtpBeginDate.Text + "到" + m_objViewer.m_dtpEndDate.Text + "'");
                DataView dtv = new DataView();
                dtv      = m_objViewer.m_dtbAccou.DefaultView;
                dtv.Sort = "m_dbloutamount desc";
                m_objViewer.m_dtbAccou = dtv.ToTable();
                m_objViewer.datWindow.SetRedrawOff();
                m_objViewer.datWindow.Retrieve(m_objViewer.m_dtbAccou);
                m_objViewer.datWindow.SetRedrawOn();
                m_objViewer.datWindow.Refresh();
            }
            catch (Exception objEx)
            {
                com.digitalwave.Utility.clsLogText objLogger = new com.digitalwave.Utility.clsLogText();
                bool blnRes = objLogger.LogError(objEx);
            }
            finally
            {
                m_objViewer.Cursor = Cursors.Default;
            }
        }
        /// <summary>
        /// 统计入库
        /// </summary>
        internal void m_mthStatistics()
        {
            DateTime dtmBegin = DateTime.Parse(Convert.ToDateTime(m_objViewer.m_dtpBeginDate.Text).ToString("yyyy-MM-dd 00:00:00"));
            DateTime dtmEnd   = DateTime.Parse(Convert.ToDateTime(m_objViewer.m_dtpEndDate.Text).ToString("yyyy-MM-dd 23:59:59"));

            this.m_objViewer.m_dwcData.Modify("begindate.text = '" + dtmBegin.ToString("yyyy-MM-dd") + "'");
            this.m_objViewer.m_dwcData.Modify("enddate.text = '" + dtmEnd.ToString("yyyy-MM-dd") + "'");
            m_mthSetStorageNameToReport();

            string strVendorID = string.Empty;

            if (m_objViewer.m_txtVendor.Tag != null && !string.IsNullOrEmpty(m_objViewer.m_txtVendor.Text))
            {
                strVendorID = m_objViewer.m_txtVendor.Tag.ToString();
            }

            int intSetID = 0;

            if (m_objViewer.m_cboType.SelectedItem != null)
            {
                clsMS_MedicineTypeSetVO objSet = m_objViewer.m_cboType.SelectedItem as clsMS_MedicineTypeSetVO;
                if (objSet != null)
                {
                    intSetID = objSet.m_intMedicineTypeSetID;
                }
            }

            DataTable dtbData = null;
            long      lngRes  = m_objDomain.m_lngStatistics(m_objViewer.m_strStorageID, dtmBegin, dtmEnd, strVendorID, intSetID, out dtbData);

            DataTable dtbForeignRetreat = null;

            if (m_objViewer.m_chkStatOut.Checked)
            {
                lngRes = m_objDomain.m_lngStatisticsForeignRetreat(m_objViewer.m_strStorageID, dtmBegin, dtmEnd, strVendorID, intSetID, out dtbForeignRetreat);
            }

            if ((dtbData == null || dtbData.Rows.Count == 0) && (dtbForeignRetreat == null || dtbForeignRetreat.Rows.Count == 0))
            {
                m_objViewer.m_dwcData.Reset();
                return;
            }

            //合并入库统计及外退统计
            DataTable dtbStatistics = m_dtbMergeStatisticsData(dtbData, dtbForeignRetreat);

            if (dtbStatistics != null)
            {
                this.m_objViewer.m_dwcData.SetRedrawOff();

                //按药品ID排序
                int      intTaxis;
                DataView dtv = new DataView();
                dtv = dtbStatistics.DefaultView;
                m_objDomain.m_lngGetTaxisType(out intTaxis);
                if (intTaxis == 0)
                {
                    dtv.Sort = "vendorname_vchr";
                }
                else
                {
                    dtv.Sort = "usercode_chr";
                }
                dtbStatistics = dtv.ToTable();

                this.m_objViewer.m_dwcData.Retrieve(dtbStatistics);
                this.m_objViewer.m_dwcData.SetRedrawOn();
                this.m_objViewer.m_dwcData.Refresh();
            }
        }
Beispiel #13
0
        /// <summary>
        /// 获取药品明细帐表
        /// </summary>
        internal void m_mthGetMedicineDetailReport()
        {
            m_objViewer.m_dtbAccou.Clear();
            if (m_objViewer.m_txtAccountID.Text.Trim() == "")
            {
                MessageBox.Show("请先选择帐期。", "药品明细帐表", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
            if (m_objViewer.m_txtMedicine.Text.Trim() != "")
            {
                if (m_objViewer.m_txtAccountID.Text.Trim() == "未结转")
                {
                    m_objDomain.m_lngGetMedicineTotalAccountNoAcc(m_objViewer.m_strStorageID, m_objViewer.m_txtMedicine.Tag.ToString(), m_objViewer.AccouVO.m_dtmSTARTTIME_DAT,
                                                                  m_objViewer.AccouVO.m_dtmENDTIME_DAT, m_objViewer.m_strLastStorageID, m_objViewer.AccouVO.m_strACCOUNTID_CHR, out accountMedicineVO);
                }
                else
                {
                    m_objDomain.m_lngGetMedicineTotalAccount(m_objViewer.m_strStorageID, m_objViewer.m_txtMedicine.Tag.ToString(), m_objViewer.AccouVO.m_dtmSTARTTIME_DAT,
                                                             m_objViewer.AccouVO.m_dtmENDTIME_DAT, m_objViewer.m_strLastStorageID, m_objViewer.AccouVO.m_strACCOUNTID_CHR, out accountMedicineVO);
                }
            }
            else if ((m_objViewer.m_cboMedicineType.SelectedIndex >= 0) && (m_objViewer.m_cboMedicineType.Text != "全部"))
            {
                if (m_objViewer.m_txtAccountID.Text.Trim() == "未结转")
                {
                    clsMS_MedicineTypeSetVO objMPVO = new clsMS_MedicineTypeSetVO();
                    objMPVO = (clsMS_MedicineTypeSetVO)m_objViewer.m_cboMedicineType.Items[m_objViewer.m_cboMedicineType.SelectedIndex];
                    m_objDomain.m_lngGetMedicineTypeAccountNoAcc(m_objViewer.m_strStorageID, objMPVO.m_intMedicineTypeSetID.ToString(), m_objViewer.AccouVO.m_dtmSTARTTIME_DAT,
                                                                 m_objViewer.AccouVO.m_dtmENDTIME_DAT, m_objViewer.m_strLastStorageID, m_objViewer.AccouVO.m_strACCOUNTID_CHR, out accountVO);
                }
                else
                {
                    clsMS_MedicineTypeSetVO objMPVO = new clsMS_MedicineTypeSetVO();
                    objMPVO = (clsMS_MedicineTypeSetVO)m_objViewer.m_cboMedicineType.Items[m_objViewer.m_cboMedicineType.SelectedIndex];
                    m_objDomain.m_lngGetMedicineTypeAccount(m_objViewer.m_strStorageID, objMPVO.m_intMedicineTypeSetID.ToString(), m_objViewer.AccouVO.m_dtmSTARTTIME_DAT,
                                                            m_objViewer.AccouVO.m_dtmENDTIME_DAT, m_objViewer.m_strLastStorageID, m_objViewer.AccouVO.m_strACCOUNTID_CHR, out accountVO);
                }
            }
            else
            {
                if (m_objViewer.m_txtAccountID.Text.Trim() == "未结转")
                {
                    m_objDomain.m_lngGetAllMedicineDetailAccountNoAcc(m_objViewer.m_strStorageID, m_objViewer.AccouVO.m_dtmSTARTTIME_DAT,
                                                                      m_objViewer.AccouVO.m_dtmENDTIME_DAT, m_objViewer.m_strLastStorageID, m_objViewer.AccouVO.m_strACCOUNTID_CHR, out accountVO);
                }
                else
                {
                    m_objDomain.m_lngGetAllMedicineDetailAccount(m_objViewer.m_strStorageID, m_objViewer.AccouVO.m_dtmSTARTTIME_DAT,
                                                                 m_objViewer.AccouVO.m_dtmENDTIME_DAT, m_objViewer.m_strLastStorageID, m_objViewer.AccouVO.m_strACCOUNTID_CHR, out accountVO);
                }
            }
            if ((m_objViewer.m_txtMedicine.Tag == null) && (accountVO == null || accountVO.Length == 0))
            {
                MessageBox.Show("抱歉,没有查到该期药品明细帐数据。", "药品明细帐表", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                m_objViewer.datWindow.Reset();
                return;
            }
            //m_objViewer.m_dtbAccou.Columns.Add("medicinename_vch", typeof(System.String));
            //m_objViewer.m_dtbAccou.Columns.Add("m_dblbeginwholesalemoney", typeof(System.Double));
            //m_objViewer.m_dtbAccou.Columns.Add("m_dblbeginretailmoney", typeof(System.Double));
            //m_objViewer.m_dtbAccou.Columns.Add("m_dblincallmoney", typeof(System.Double));
            //m_objViewer.m_dtbAccou.Columns.Add("m_dblinwholesalemoney", typeof(System.Double));
            //m_objViewer.m_dtbAccou.Columns.Add("m_dblinretailmoney", typeof(System.Double));
            //m_objViewer.m_dtbAccou.Columns.Add("m_dbloutwholesalemoney", typeof(System.Double));
            //m_objViewer.m_dtbAccou.Columns.Add("m_dbloutretailmoney", typeof(System.Double));
            //m_objViewer.m_dtbAccou.Columns.Add("m_dblendwholesalemoney", typeof(System.Double));
            //m_objViewer.m_dtbAccou.Columns.Add("m_dblendretailmoney", typeof(System.Double));

            //m_objViewer.m_dtbAccou.Columns.Add("m_dblBeginAmount", typeof(System.Double));
            //m_objViewer.m_dtbAccou.Columns.Add("m_dblinAmount", typeof(System.Double));
            //m_objViewer.m_dtbAccou.Columns.Add("m_dbloutAmount", typeof(System.Double));
            //m_objViewer.m_dtbAccou.Columns.Add("m_dblendAmount", typeof(System.Double));

            //m_objViewer.m_dtbAccou.Columns.Add("m_dblBeginCallMoney", typeof(System.Double));
            //m_objViewer.m_dtbAccou.Columns.Add("m_dblOutCallMoney", typeof(System.Double));
            //m_objViewer.m_dtbAccou.Columns.Add("m_dblEndCallMoney", typeof(System.Double));

            if (m_objViewer.m_txtMedicine.Text.Trim() != "")
            {
                if (accountMedicineVO == null)
                {
                    MessageBox.Show("抱歉,没有查到该药品明细帐数据。", "药品明细帐表", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    m_objViewer.datWindow.Reset();
                    return;
                }

                DataRow dr = m_objViewer.m_dtbAccou.NewRow();
                dr[0] = accountMedicineVO.m_strMedicineName;
                dr[1] = accountMedicineVO.m_dblBeginWholesaleMoney;
                dr[2] = accountMedicineVO.m_dblBeginRetailMoney;

                dr[3] = accountMedicineVO.m_dblInCallMoney;
                dr[4] = accountMedicineVO.m_dblInWholesaleMoney;
                dr[5] = accountMedicineVO.m_dblInRetailMoney;

                dr[6] = accountMedicineVO.m_dblOutWholesaleMoney;
                dr[7] = accountMedicineVO.m_dblOutRetailMoney;
                dr[8] = accountMedicineVO.m_dblEndWholesaleMoney;
                dr[9] = accountMedicineVO.m_dblEndRetailMoney;

                dr[10] = accountMedicineVO.m_dblBeginAmount;
                dr[11] = accountMedicineVO.m_dblInAmount;
                dr[12] = accountMedicineVO.m_dblOutAmount;
                dr[13] = accountMedicineVO.m_dblEndAmount;

                dr[14] = accountMedicineVO.m_dblBeginCallMoney;
                dr[15] = accountMedicineVO.m_dblOutCallMoney;
                dr[16] = accountMedicineVO.m_dblEndCallMoney;


                m_objViewer.m_dtbAccou.Rows.Add(dr);
            }
            else
            {
                for (int i = 0; i < accountVO.Length; i++)
                {
                    DataRow dr = m_objViewer.m_dtbAccou.NewRow();
                    dr[0] = accountVO[i].m_strMedicineName;
                    dr[1] = accountVO[i].m_dblBeginWholesaleMoney;
                    dr[2] = accountVO[i].m_dblBeginRetailMoney;

                    dr[3] = accountVO[i].m_dblInCallMoney;
                    dr[4] = accountVO[i].m_dblInWholesaleMoney;
                    dr[5] = accountVO[i].m_dblInRetailMoney;

                    dr[6]  = accountVO[i].m_dblOutWholesaleMoney;
                    dr[7]  = accountVO[i].m_dblOutRetailMoney;
                    dr[8]  = accountVO[i].m_dblEndWholesaleMoney;
                    dr[9]  = accountVO[i].m_dblEndRetailMoney;
                    dr[10] = accountVO[i].m_dblBeginAmount;
                    dr[11] = accountVO[i].m_dblInAmount;
                    dr[12] = accountVO[i].m_dblOutAmount;
                    dr[13] = accountVO[i].m_dblEndAmount;

                    dr[14] = accountVO[i].m_dblBeginCallMoney;
                    dr[15] = accountVO[i].m_dblOutCallMoney;
                    dr[16] = accountVO[i].m_dblEndCallMoney;
                    m_objViewer.m_dtbAccou.Rows.Add(dr);
                }
            }
            m_objViewer.datWindow.LibraryList      = clsPublic.PBLPath;
            m_objViewer.datWindow.DataWindowObject = "ms_account_Detail";
            string strStoreRoomName;

            m_objDomain.m_lngGetStoreRoomName(m_objViewer.m_strStorageID, out strStoreRoomName);
            m_objViewer.datWindow.Modify("t_storage.text='" + strStoreRoomName + "'");
            DataView dtv = new DataView();

            dtv      = m_objViewer.m_dtbAccou.DefaultView;
            dtv.Sort = "m_dbloutamount desc";
            m_objViewer.m_dtbAccou = dtv.ToTable();
            m_objViewer.datWindow.SetRedrawOff();
            m_objViewer.datWindow.Retrieve(m_objViewer.m_dtbAccou);
            m_objViewer.datWindow.SetRedrawOn();
            m_objViewer.datWindow.Refresh();
        }