Exemplo n.º 1
0
 private void btnFind_Click(object sender, EventArgs e)
 {
     try
     {
         _billQuery = BillFactory.GetQuery(ConfigManager.OP_YF_DISPENSE);
         DataTable allMaster = _billQuery.LoadMaster(BuildConditionParams());
         _dispMasterDt = allMaster.Clone();
         DataRow[] filterRows;
         if (this.txtInvoiceNoQuery.Text.Trim() == "00000000")
         {
             filterRows = allMaster.Select("INVOICENUM<>0 and DrugOC_Flag=0");
         }
         else
         {
             filterRows = allMaster.Select("INVOICENUM=" + Convert.ToInt32(txtInvoiceNoQuery.Text)
                                           + " and DrugOC_Flag=1");
         }
         foreach (DataRow dr in filterRows)
         {
             _dispMasterDt.Rows.Add(dr.ItemArray);
         }
         dgrdDRMaster.AutoGenerateColumns = false;
         dgrdDRMaster.DataSource          = _dispMasterDt;
     }
     catch (Exception error)
     {
         MessageBox.Show(error.Message);
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// 加载已发药消息列表
        /// </summary>
        private void LoadDispHisMaster()
        {
            try
            {
                if (_recipeOrder != null)
                {
                    _recipeOrder.Rows.Clear();
                    _recipeOrder = null;
                }

                BillQuery _billQuery = BillFactory.GetQuery(ConfigManager.OP_YF_DISPENSE);
                DataTable allMaster  = _billQuery.LoadMaster(BuildConditionParams());
                _dispMasterDt = allMaster.Clone();
                foreach (DataRow dr in allMaster.Rows)
                {
                    _dispMasterDt.Rows.Add(dr.ItemArray);
                }
                if (_dispOrderDt != null)
                {
                    _dispOrderDt.Rows.Clear();
                }
                treeDrugMsg.Nodes.Clear();
                TreeNode allDeptNode = new TreeNode("全院科室");
                allDeptNode.Tag        = 0;
                allDeptNode.ImageIndex = 0;
                treeDrugMsg.Nodes.Add(allDeptNode);
                for (int index = 0; index < _deptDt.Rows.Count; index++)
                {
                    TreeNode deptNode = new TreeNode(_deptDt.Rows[index]["NAME"].ToString());
                    deptNode.ImageIndex = 0;
                    deptNode.Tag        = Convert.ToInt32(_deptDt.Rows[index]["DEPT_ID"]);
                    if (Convert.ToInt32(deptNode.Tag) > 0)
                    {
                        allDeptNode.Nodes.Add(deptNode);
                        DataRow[] rows = _dispMasterDt.Select("currdeptcode='" + deptNode.Tag.ToString().Trim() + "'");
                        if (rows != null && rows.Length > 0)
                        {
                            for (int temp = 0; temp < rows.Length; temp++)
                            {
                                TreeNode msgNode  = new TreeNode();
                                string   nodetext = rows[temp]["patientname"].ToString() + "-- 发药时间 --" + Convert.ToDateTime(rows[temp]["optime"]).ToString("yyyy-MM-dd HH:mm:ss");
                                msgNode.Text = nodetext;
                                if (rows[temp]["optype"].ToString() == "004")
                                {
                                    msgNode.ForeColor = Color.Red;
                                }
                                msgNode.Tag = rows[temp];
                                deptNode.Nodes.Add(msgNode);
                            }
                        }
                    }
                    deptNode.Expand();
                }
                allDeptNode.Expand();
            }
            catch (Exception error)
            {
                throw error;
            }
        }
Exemplo n.º 3
0
 private void FrmYFInMaster_Load(object sender, EventArgs e)
 {
     try
     {
         chkRegTime.Checked        = true;
         cobPayState.SelectedIndex = 0;
         if (_belongSystem == ConfigManager.YF_SYSTEM)
         {
             _billQurey               = BillFactory.GetQuery(ConfigManager.OP_YF_INSTORE);
             _billProcessor           = BillFactory.GetProcessor(ConfigManager.OP_YF_INSTORE);
             tsrbtnPay.Visible        = false;
             tsrbtnPrintTotal.Visible = false;
             dgrdInMaker.Columns["ColBtnBackStore"].Visible = false;
         }
         else
         {
             _billQurey     = BillFactory.GetQuery(ConfigManager.OP_YK_INOPTYPE);
             _billProcessor = BillFactory.GetProcessor(ConfigManager.OP_YK_INOPTYPE);
         }
         LoadData();
     }
     catch (Exception error)
     {
         MessageBox.Show(error.Message);
     }
 }
Exemplo n.º 4
0
 private void LoadData()
 {
     try
     {
         if (tabDispQuery.SelectedTab == tabPgSingle)
         {
             _billQuery = BillFactory.GetQuery(ConfigManager.OP_YF_DISPENSE);
             DataTable allMaster = _billQuery.LoadMaster(BuildConditionParams());
             _dispMasterDt = allMaster.Clone();
             if (cobOPType.Text == "门诊")
             {
                 DataRow[] filterRows;
                 if (txtQueryCode.Text == "")
                 {
                     filterRows = allMaster.Select("INVOICENUM<>0");
                 }
                 else
                 {
                     filterRows = allMaster.Select("INVOICENUM=" + txtQueryCode.Text);
                 }
                 foreach (DataRow dr in filterRows)
                 {
                     _dispMasterDt.Rows.Add(dr.ItemArray);
                 }
             }
             else
             {
                 DataRow[] filterRows;
                 if (txtQueryCode.Text == "")
                 {
                     filterRows = allMaster.Select("INVOICENUM=0");
                 }
                 else
                 {
                     filterRows = allMaster.Select("INPATIENTID='" + txtQueryCode.Text + "' AND INVOICENUM=0");
                 }
                 foreach (DataRow dr in filterRows)
                 {
                     _dispMasterDt.Rows.Add(dr.ItemArray);
                 }
             }
             dgrdDRMaster.DataSource = _dispMasterDt;
             if (_dispOrderDt != null)
             {
                 _dispOrderDt.Rows.Clear();
             }
         }
         else
         {
             _billQuery  = BillFactory.GetQuery(ConfigManager.OP_YF_DISPENSE + "ZY_TL");
             _deptDispDt = _billQuery.LoadMaster(BuildConditionParams());
             dgrdDispDept.AutoGenerateColumns = false;
             dgrdDispDept.DataSource          = _deptDispDt;
         }
     }
     catch (Exception error)
     {
         throw error;
     }
 }
Exemplo n.º 5
0
 public MZFrmDrugRefund(long currentUserId, long currentDeptId, string chineseName)
 {
     _currentUserId = currentUserId;
     _currentDeptId = currentDeptId;
     _chineseName   = chineseName;
     _billProcessor = BillFactory.GetProcessor(ConfigManager.OP_YF_REFUND + "MZ");
     _billQuery     = BillFactory.GetQuery(ConfigManager.OP_YF_DISPENSE);
     InitializeComponent();
     this.Text = _chineseName;
 }
Exemplo n.º 6
0
 private void tabDispQuery_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (tabDispQuery.SelectedTab == tabPgSingle)
     {
         _billQuery = BillFactory.GetQuery(ConfigManager.OP_YF_DISPENSE);
     }
     else
     {
         _billQuery = BillFactory.GetQuery(ConfigManager.OP_YF_DISPENSE + "ZY_TL");
     }
 }
Exemplo n.º 7
0
 private void FrmDispenseQuery_Load(object sender, EventArgs e)
 {
     try
     {
         _billQuery = BillFactory.GetQuery(ConfigManager.OP_YF_DISPENSE);
         cobOPType.SelectedIndex = 0;
         LoadData();
     }
     catch (Exception error)
     {
         MessageBox.Show(error.Message);
     }
 }
Exemplo n.º 8
0
 public FrmYFApplyorder(long currentUserId, long currentDeptId, int beginState,
                        bool isBuildByLimit)
 {
     _currentUserId  = currentUserId;
     _currentDeptId  = currentDeptId;
     _currentState   = beginState;
     _isBuildByLimit = isBuildByLimit;
     _billProcessor  = BillFactory.GetProcessor(ConfigManager.OP_YF_APPLYIN);
     _billQuery      = BillFactory.GetQuery(ConfigManager.OP_YF_APPLYIN);
     _storeQuery     = StoreFactory.GetQuery(ConfigManager.YK_SYSTEM);
     InitializeComponent();
     //设置起始焦点
 }
Exemplo n.º 9
0
 private void treeDrugMsg_AfterSelect(object sender, TreeViewEventArgs e)
 {
     if (tabMsgMaster.SelectedIndex == 0 && e.Node != null)
     {
         if (e.Node.Level == 2)
         {
             ShowCurrentPat(((ZY_PatList)e.Node.Tag).CureNo);
         }
     }
     else if (tabMsgMaster.SelectedIndex == 1 && e.Node != null)
     {
         try
         {
             if (e.Node.Level == 2)
             {
                 BillQuery _billQuery = BillFactory.GetQuery(ConfigManager.OP_YF_DISPENSE);
                 dgrdDROrder.AutoGenerateColumns = false;
                 dgrdDROrder.ClearLines();
                 DataTable dt = _dispMasterDt.Clone();
                 dt.Clear();
                 dt.Rows.Add(((DataRow)e.Node.Tag).ItemArray);
                 HIS.SYSTEM.PubicBaseClasses.ApiFunction.DataTableToObject(dt, 0, _currentMaster);
                 DataTable dtDrugs = _billQuery.LoadOrder(_currentMaster);
                 for (int i = 0; i < dtDrugs.Rows.Count; i++)
                 {
                     decimal presamount = (dtDrugs.Rows[i]["recipenum"] == null || dtDrugs.Rows[i]["recipenum"].ToString() == "0" ? 1 : Convert.ToDecimal(dtDrugs.Rows[i]["recipenum"].ToString()));
                     dtDrugs.Rows[i]["drugocnum"] = Convert.ToDecimal(dtDrugs.Rows[i]["drugocnum"].ToString()) / presamount;
                 }
                 if (_currentMaster.OpType == "004")
                 {
                     for (int i = 0; i < dtDrugs.Rows.Count; i++)
                     {
                         dtDrugs.Rows[i]["drugocnum"] = -1 * Convert.ToDecimal(dtDrugs.Rows[i]["drugocnum"]);
                         dtDrugs.Rows[i]["recipenum"] = -1 * Convert.ToDecimal(dtDrugs.Rows[i]["recipenum"]);
                     }
                 }
                 dgrdDROrder.DataSource = dtDrugs;
             }
         }
         catch (Exception error)
         {
             MessageBox.Show(error.Message);
         }
         finally
         {
             this.Cursor = DefaultCursor;
         }
     }
 }
Exemplo n.º 10
0
 /// <summary>
 /// 加载已发药消息列表
 /// </summary>
 private void LoadDispHisMaster()
 {
     try
     {
         if (_recipeOrder != null)
         {
             _recipeOrder.Rows.Clear();
             _recipeOrder = null;
         }
         BillQuery _billQuery = BillFactory.GetQuery(ConfigManager.OP_YF_DISPENSE + "ZY_TL");
         DataTable deptDispDt = _billQuery.LoadMaster(BuildConditionParams());
         treeDrugMsg.Nodes.Clear();
         TreeNode allDeptNode = new TreeNode("全院科室");
         allDeptNode.Tag        = 0;
         allDeptNode.ImageIndex = 0;
         treeDrugMsg.Nodes.Add(allDeptNode);
         for (int index = 0; index < _deptDt.Rows.Count; index++)
         {
             TreeNode deptNode = new TreeNode(_deptDt.Rows[index]["NAME"].ToString());
             deptNode.ImageIndex = 0;
             deptNode.Tag        = Convert.ToInt32(_deptDt.Rows[index]["DEPT_ID"]);
             if (Convert.ToInt32(deptNode.Tag) > 0)
             {
                 allDeptNode.Nodes.Add(deptNode);
                 if (deptDispDt != null)
                 {
                     for (int temp = 0; temp < deptDispDt.Rows.Count; temp++)
                     {
                         DataRow currentRow = deptDispDt.Rows[temp];
                         if (Convert.ToInt32(currentRow["DISPDEPT"]) == Convert.ToInt32(deptNode.Tag))
                         {
                             TreeNode msgNode = new TreeNode();
                             string   date    = Convert.ToDateTime(currentRow["OPTIME"]).ToString("yyyy-MM-dd HH:mm");
                             msgNode.Text = date;
                             msgNode.Tag  = currentRow;
                             deptNode.Nodes.Add(msgNode);
                         }
                     }
                 }
             }
             deptNode.Expand();
         }
         allDeptNode.Expand();
     }
     catch (Exception error)
     {
         throw error;
     }
 }
Exemplo n.º 11
0
 public FrmStockControl(IFrmStockPlan frmstockplan)
 {
     try
     {
         _frmstockplan = frmstockplan;
         _drugInfo     = DrugBaseDataBll.YD_LoadDrugInfo(0, 0);
         _frmstockplan.RefreshDurgInfo(_drugInfo);
         _billProcessor = BillFactory.GetProcessor(ConfigManager.OP_YK_STOCKPLAN);
         _billQuery     = BillFactory.GetQuery(ConfigManager.OP_YK_STOCKPLAN);
     }
     catch (Exception error)
     {
         throw error;
     }
 }
Exemplo n.º 12
0
        public async Task <IActionResult> Get([FromBody] BillQuery query)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (query.UserId == Guid.Empty)
            {
                return(BadRequest());
            }

            var bills = await billRepo.GetAsync(query);

            return(Ok(bills));
        }
Exemplo n.º 13
0
 public FrmOutMaster(long currentUserId, long currentDeptId, string chineseName, string belongSystem)
 {
     _currentUserId = currentUserId;
     _currentDeptId = currentDeptId;
     _chineseName   = chineseName;
     this.Text      = _chineseName;
     _belongSystem  = belongSystem;
     if (_belongSystem == ConfigManager.YK_SYSTEM)
     {
         _billQuery = BillFactory.GetQuery(ConfigManager.DEF_YK_OUT);
     }
     else
     {
         _billQuery = BillFactory.GetQuery(ConfigManager.DEF_YF_OUT);
     }
     InitializeComponent();
 }
Exemplo n.º 14
0
 private void FrmOutOrder_Load(object sender, EventArgs e)
 {
     txtApplyPeople.Text = new User(_currentUserId).Name;
     if (_opType == ConfigManager.OP_YK_REPORTLOSS ||
         _opType == ConfigManager.OP_YF_REPORTLOSS)
     {
         txtOpType.Text          = "药品报损";
         txtOutDept.Text         = "无领药科室";
         txtOutDept.ReadOnly     = true;
         txtApplyPeople.ReadOnly = true;
         txtByOptype.ReadOnly    = false;
     }
     else
     {
         this.txtOpType.Text  = "科室领药";
         txtByOptype.ReadOnly = true;
     }
     if (_belongSystem == ConfigManager.YK_SYSTEM)
     {
         _billQuery = BillFactory.GetQuery(ConfigManager.DEF_YK_OUT);
     }
     else if (_belongSystem == ConfigManager.YF_SYSTEM)
     {
         _billQuery           = BillFactory.GetQuery(ConfigManager.DEF_YF_OUT);
         txtBatchNum.ReadOnly = true;
     }
     _billProcessor = BillFactory.GetProcessor(_opType);
     //如果是添加单据状态
     if (_currentState == ADD)
     {
         //生成一个新的单据表头
         _currentMaster        = (YP_OutMaster)(_billProcessor.BuildNewMaster(_currentDeptId, _currentUserId));
         _currentMaster.OpType = _opType;
         _currentOrder         = (YP_OutOrder)(_billProcessor.BuildNewoder(_currentDeptId, _currentMaster));
         LoadData();
     }
     else if (_currentState == UPDATE)
     {
         _currentOrder = (YP_OutOrder)(_billProcessor.BuildNewoder(_currentDeptId, _currentMaster));
         LoadData();
         dgrdOrderInfo_CurrentCellChanged(null, null);
     }
     //显示当前表头信息
     ShowCurrentMaster();
 }
Exemplo n.º 15
0
 public FrmYPAdjMaster(long currentUserId, long currentDeptId, string chineseName, string belongSystem)
 {
     _currentUserId = currentUserId;
     _currentDeptId = currentDeptId;
     _chineseName   = chineseName;
     _belongSystem  = belongSystem;
     if (_belongSystem == ConfigManager.YF_SYSTEM)
     {
         _billQuery     = BillFactory.GetQuery(ConfigManager.OP_YF_ADJPRICE);
         _billProcessor = BillFactory.GetProcessor(ConfigManager.OP_YF_ADJPRICE);
     }
     else
     {
         _billQuery     = BillFactory.GetQuery(ConfigManager.OP_YK_ADJPRICE);
         _billProcessor = BillFactory.GetProcessor(ConfigManager.OP_YK_ADJPRICE);
     }
     InitializeComponent();
 }
Exemplo n.º 16
0
 public FrmCheckMaster(long currentUserId, long currentDeptId, string chineseName, string belongSystem)
 {
     _currentUserId = currentUserId;
     _currentDeptId = currentDeptId;
     _chineseName   = chineseName;
     this.Text      = _chineseName;
     _belongSystem  = belongSystem;
     if (_belongSystem == ConfigManager.YF_SYSTEM)
     {
         _billProcessor = BillFactory.GetProcessor(ConfigManager.OP_YF_CHECK);
         _billQuery     = BillFactory.GetQuery(ConfigManager.OP_YF_CHECK);
     }
     else if (_belongSystem == ConfigManager.YK_SYSTEM)
     {
         _billProcessor = BillFactory.GetProcessor(ConfigManager.OP_YK_CHECK);
         _billQuery     = BillFactory.GetQuery(ConfigManager.OP_YK_CHECK);
     }
     InitializeComponent();
 }
Exemplo n.º 17
0
        public async Task <IQueryable <Bill> > GetAsync(BillQuery query)
        {
            //var cardIds = _cardContext.CardShares.AsNoTracking().Where(t => t.UserId == query.UserId && t.CardShareStatus == CardShareStatus.Normal).Select(t => t.CardId);
            //cardIds = cardIds.Union(_cardContext.CardInfos.AsNoTracking().Where(t => t.UserId == query.UserId && t.CardStatus == CardStatus.Normal).Select(t => t.Id));

            //var bills = await GetListAsync(t => cardIds.Contains(t.CardId));
            var bills = await GetListAsync(t =>
                                           _cardContext.CardInfos.AsNoTracking().Any(t1 => t1.UserId == query.UserId && t1.CardStatus == CardStatus.Normal && t1.UserId == t.Id) ||
                                           _cardContext.CardShares.AsNoTracking().Any(t2 => t2.UserId == query.UserId && t2.CardShareStatus == CardShareStatus.Normal && t2.UserId == t.Id));

            if (query.BillStatus > 0)
            {
                bills = bills.Where(t => t.BillStatus == query.BillStatus);
            }

            bills.OrderByDescending(t => t.CreateTime).ThenByDescending(t => t.BillingDate).ThenByDescending(t => t.RepayDate);

            return(bills);
        }
Exemplo n.º 18
0
 private void FrmCheckOrder_Load(object sender, EventArgs e)
 {
     try
     {
         dgrdCheckOrder.ColumnHeadersDefaultCellStyle.Font = new Font("宋体", (float)9);
         if (_belongSystem == ConfigManager.YK_SYSTEM)
         {
             dgrdCheckOrder.Columns.Remove("AccountNum");
             dgrdCheckOrder.Columns.Remove("UnitName");
             dgrdCheckOrder.Columns.Remove("CheckNum");
             _billProcessor          = BillFactory.GetProcessor(ConfigManager.OP_YK_CHECK);
             _billQuery              = BillFactory.GetQuery(ConfigManager.OP_YK_CHECK);
             txtFtPackNum.TextFormat = GWI.HIS.Windows.Controls.TextFormatStyle.Numberic;
             txtFtBaseNum.ReadOnly   = true;
         }
         else if (_belongSystem == ConfigManager.YF_SYSTEM)
         {
             _billProcessor = BillFactory.GetProcessor(ConfigManager.OP_YF_CHECK);
             _billQuery     = BillFactory.GetQuery(ConfigManager.OP_YF_CHECK);
             dgrdCheckOrder.Columns.Remove("BatchNum");
             cobValidityDate.Enabled = false;
         }
         if (_currentState == UPDATE)
         {
             this.tsrbtnLoadData.Visible = false;
             this.txtDgCode.ReadOnly     = true;
             this.btnAddOrder.Enabled    = false;
             this.btnDelOrder.Enabled    = false;
         }
         _checkOrderDt             = _billQuery.LoadOrder(_currentMaster);
         dgrdCheckOrder.DataSource = _checkOrderDt;
         _drugInfoDt = _storeQuery.GetCheckDrug((int)_currentDeptId);
         txtDgCode.SetSelectionCardDataSource(_drugInfoDt);
         txtQueryCode.SetSelectionCardDataSource(_drugInfoDt);
         ShowCurrentMaster();
     }
     catch (Exception error)
     {
         MessageBox.Show(error.Message);
     }
 }
Exemplo n.º 19
0
 private void CreateProcessorBySystem()
 {
     if (_belongSystem == ConfigManager.YF_SYSTEM)
     {
         _billProcessor                  = BillFactory.GetProcessor(ConfigManager.OP_YF_INSTORE);
         _billQuery                      = BillFactory.GetQuery(ConfigManager.OP_YF_INSTORE);
         this.txtBatchNum.ReadOnly       = true;
         this.chkIsFirstIn.Visible       = false;
         this.txtBaseNum.ReadOnly        = false;
         this.txtDeliverNum.Visible      = false;
         this.lblDeliverNum.Visible      = false;
         this.txtInNum.TextFormat        = GWI.HIS.Windows.Controls.TextFormatStyle.Integer;
         this.btnQuerySupportHis.Visible = false;
     }
     else
     {
         if (_currentState == ADD)
         {
             _billProcessor            = BillFactory.GetProcessor(ConfigManager.OP_YK_INOPTYPE);
             this.chkIsFirstIn.Visible = true;
         }
         else if (_currentState == BACK)
         {
             _billProcessor            = BillFactory.GetProcessor(ConfigManager.OP_YK_BACKSTORE);
             this.chkIsFirstIn.Visible = false;
         }
         else if (_currentState == UPDATE)
         {
             if (_currentMaster != null)
             {
                 _billProcessor = BillFactory.GetProcessor(_currentMaster.OpType);
             }
             this.chkIsFirstIn.Visible = (_currentMaster.OpType == ConfigManager.OP_YK_BACKSTORE ? false : true);
         }
         _billQuery = BillFactory.GetQuery(ConfigManager.OP_YK_INOPTYPE);
         this.txtBaseNum.ReadOnly        = true;
         this.txtDeliverNum.Visible      = true;
         this.btnQuerySupportHis.Visible = true;
     }
 }
Exemplo n.º 20
0
 private void FrmAdjOrder_Load(object sender, EventArgs e)
 {
     try
     {
         if (_belongSystem == ConfigManager.YF_SYSTEM)
         {
             _billQuery     = BillFactory.GetQuery(ConfigManager.OP_YF_ADJPRICE);
             _billProcessor = BillFactory.GetProcessor(ConfigManager.OP_YF_ADJPRICE);
         }
         else
         {
             _billQuery     = BillFactory.GetQuery(ConfigManager.OP_YK_ADJPRICE);
             _billProcessor = BillFactory.GetProcessor(ConfigManager.OP_YK_ADJPRICE);
         }
         if (_currentState == ADD)
         {
             this._currentOrder = (YP_AdjOrder)(_billProcessor.BuildNewoder(0, _adjMaster));
             LoadData();
             this.txtNewRetail.Text = "0.00";
             this.txtNewTrade.Text  = "0.00";
             ShowMaster();
             this.txtAdjCode.Focus();
             this.txtAdjCode.SelectAll();
         }
         else
         {
             LoadData();
             _currentOrder = (YP_AdjOrder)(_billProcessor.BuildNewoder(0, _adjMaster));
             dgrdAdjOrder_CurrentCellChanged(null, null);
             ShowInQuery();
             ShowMaster();
         }
     }
     catch (Exception error)
     {
         MessageBox.Show(error.Message);
     }
 }
Exemplo n.º 21
0
        /// <summary>
        /// 打印药库入库单汇总表
        /// </summary>
        /// <param name="path">路径</param>
        /// <param name="inMasterDt">入库单头表</param>
        /// <param name="billTime">单据时间</param>
        /// <param name="deptId">部门ID</param>
        /// <param name="printer">打印人员ID</param>
        static public void PringInStoreTotal(string path, DataTable inMasterDt, string billTime, int deptId, int printer)
        {
            try
            {
                decimal xy_RetailFee = 0, zcy_RetailFee = 0, zy_RetailFee = 0, xy_TradeFee = 0,
                        zcy_TradeFee = 0, zy_TradeFee = 0, wz_RetailFee = 0, wz_TradeFee = 0;

                decimal xy_RetailFee1 = 0, zcy_RetailFee1 = 0, zy_RetailFee1 = 0, xy_TradeFee1 = 0,
                        zcy_TradeFee1 = 0, zy_TradeFee1 = 0, wz_RetailFee1 = 0, wz_TradeFee1 = 0;

                int    supportId   = 0;
                string supportName = "";
                report = new grproLib.GridppReport();
                report.LoadFromFile(path);
                report.ParameterByName("HospitalName").AsString = HIS.SYSTEM.BussinessLogicLayer.Classes.BaseData.WorkName
                                                                  + "入库单汇总";
                if (inMasterDt != null)
                {
                    if (inMasterDt.Rows.Count >= 1)
                    {
                        report.ParameterByName("BillTime").AsString = Convert.ToDateTime(inMasterDt.Rows[0]["AUDITTIME"]).ToString()
                                                                      + "到" + Convert.ToDateTime(inMasterDt.Rows[inMasterDt.Rows.Count - 1]["AUDITTIME"]).ToString();
                    }
                    else
                    {
                        report.ParameterByName("BillTime").AsString = billTime;
                    }
                    report.ParameterByName("BillCount").AsString = inMasterDt.Rows.Count.ToString();
                    for (int index = 0; index < inMasterDt.Rows.Count; index++)
                    {
                        DataRow currentRow = inMasterDt.Rows[index];
                        int     masterId   = Convert.ToInt32(currentRow["MASTERINSTORAGEID"]);
                        if (supportId != Convert.ToInt32(currentRow["SUPPORTDICID"]))
                        {
                            supportId = Convert.ToInt32(currentRow["SUPPORTDICID"]);
                            string currentSupporter = BindEntity <HIS.Model.YP_SupportDic> .CreateInstanceDAL(oleDb,
                                                                                                              BLL.Tables.YP_SUPPORTDIC).GetModel(supportId).Name;

                            if (supportName.IndexOf(currentSupporter + ",") == -1)
                            {
                                supportName += currentSupporter + ",";
                            }
                        }
                        //加载类型汇金额总表
                        DataTable typeFeeDt = BillQuery.LoadTotalFeeByInOrder(masterId);

                        DataTable outFeeDt = BillQuery.LoadTotalFeeByOutOrder(masterId);
                        //按类型累加各单据批发金额和零售金额(入库)
                        for (int temp = 0; temp < typeFeeDt.Rows.Count; temp++)
                        {
                            DataRow typeFeeRow = typeFeeDt.Rows[temp];
                            if (typeFeeRow["TypeDicID"] != DBNull.Value)
                            {
                                int typeId = Convert.ToInt32(typeFeeRow["TypeDicID"]);
                                switch (typeId)
                                {
                                case 1:
                                    xy_RetailFee += Convert.ToDecimal(typeFeeRow["RetailFee"]);
                                    xy_TradeFee  += Convert.ToDecimal(typeFeeRow["TradeFee"]);
                                    break;

                                case 2:
                                    zcy_RetailFee += Convert.ToDecimal(typeFeeRow["RetailFee"]);
                                    zcy_TradeFee  += Convert.ToDecimal(typeFeeRow["TradeFee"]);
                                    break;

                                case 3:
                                    zy_RetailFee += Convert.ToDecimal(typeFeeRow["RetailFee"]);
                                    zy_TradeFee  += Convert.ToDecimal(typeFeeRow["TradeFee"]);
                                    break;

                                case 4:
                                    wz_RetailFee += Convert.ToDecimal(typeFeeRow["RetailFee"]);
                                    wz_TradeFee  += Convert.ToDecimal(typeFeeRow["TradeFee"]);
                                    break;

                                default:
                                    break;
                                }
                            }
                        }

                        //按类型累加各单据批发金额和零售金额(退库) //update by heyan 增加退库汇总信息
                        for (int temp = 0; temp < outFeeDt.Rows.Count; temp++)
                        {
                            DataRow typeFeeRow = outFeeDt.Rows[temp];
                            if (typeFeeRow["TypeDicID"] != DBNull.Value)
                            {
                                int typeId = Convert.ToInt32(typeFeeRow["TypeDicID"]);
                                switch (typeId)
                                {
                                case 1:
                                    xy_RetailFee1 += Convert.ToDecimal(typeFeeRow["RetailFee"]);
                                    xy_TradeFee1  += Convert.ToDecimal(typeFeeRow["TradeFee"]);
                                    break;

                                case 2:
                                    zcy_RetailFee1 += Convert.ToDecimal(typeFeeRow["RetailFee"]);
                                    zcy_TradeFee1  += Convert.ToDecimal(typeFeeRow["TradeFee"]);
                                    break;

                                case 3:
                                    zy_RetailFee1 += Convert.ToDecimal(typeFeeRow["RetailFee"]);
                                    zy_TradeFee1  += Convert.ToDecimal(typeFeeRow["TradeFee"]);
                                    break;

                                case 4:
                                    wz_RetailFee1 += Convert.ToDecimal(typeFeeRow["RetailFee"]);
                                    wz_TradeFee1  += Convert.ToDecimal(typeFeeRow["TradeFee"]);
                                    break;

                                default:
                                    break;
                                }
                            }
                        }
                    }
                    //报表参数赋值
                    report.ParameterByName("SupportName").AsString = supportName;
                    report.ParameterByName("TradeFee").AsString    = (xy_TradeFee + zcy_TradeFee +
                                                                      zy_TradeFee + wz_TradeFee).ToString("0.00");
                    report.ParameterByName("DiffFee").AsString = (xy_RetailFee + zcy_RetailFee + zy_RetailFee + wz_RetailFee
                                                                  - xy_TradeFee - zcy_TradeFee - zy_TradeFee - wz_TradeFee).ToString("0.00");
                    report.ParameterByName("RetailFee").AsString = (xy_RetailFee + zcy_RetailFee +
                                                                    zy_RetailFee + wz_RetailFee).ToString("0.00");
                    report.ParameterByName("RetailFee_XY").AsString  = xy_RetailFee.ToString("0.00");
                    report.ParameterByName("RetailFee_ZCY").AsString = zcy_RetailFee.ToString("0.00");
                    report.ParameterByName("RetailFee_ZY").AsString  = zy_RetailFee.ToString("0.00");
                    report.ParameterByName("RetailFee_WZ").AsString  = wz_RetailFee.ToString("0.00");
                    report.ParameterByName("TradeFee_XY").AsString   = xy_TradeFee.ToString("0.00");
                    report.ParameterByName("TradeFee_ZCY").AsString  = zcy_TradeFee.ToString("0.00");
                    report.ParameterByName("TradeFee_ZY").AsString   = zy_TradeFee.ToString("0.00");
                    report.ParameterByName("TradeFee_WZ").AsString   = wz_TradeFee.ToString("0.00");
                    report.ParameterByName("DiffFee_XY").AsString    = (xy_RetailFee - xy_TradeFee).ToString("0.00");
                    report.ParameterByName("DiffFee_ZCY").AsString   = (zcy_RetailFee - zcy_TradeFee).ToString("0.00");
                    report.ParameterByName("DiffFee_ZY").AsString    = (zy_RetailFee - zy_TradeFee).ToString("0.00");
                    report.ParameterByName("DiffFee_WZ").AsString    = (wz_RetailFee - wz_TradeFee).ToString("0.00");
                    report.ParameterByName("DeptName").AsString      = BaseData.GetDeptName(deptId.ToString());
                    report.ParameterByName("Printer").AsString       = BaseData.GetUserName(printer);
                    report.ParameterByName("PrintTime").AsDateTime   = HIS.SYSTEM.PubicBaseClasses.XcDate.ServerDateTime;


                    report.ParameterByName("TradeFee1").AsString = (xy_TradeFee1 + zcy_TradeFee1 +
                                                                    zy_TradeFee1 + wz_TradeFee1).ToString("0.00");
                    report.ParameterByName("DiffFee1").AsString = (xy_RetailFee1 + zcy_RetailFee1 + zy_RetailFee1 + wz_RetailFee1
                                                                   - xy_TradeFee1 - zcy_TradeFee1 - zy_TradeFee1 - wz_TradeFee1).ToString("0.00");
                    report.ParameterByName("RetailFee1").AsString = (xy_RetailFee1 + zcy_RetailFee1 +
                                                                     zy_RetailFee1 + wz_RetailFee1).ToString("0.00");
                    report.ParameterByName("RetailFee_XY1").AsString  = xy_RetailFee1.ToString("0.00");
                    report.ParameterByName("RetailFee_ZCY1").AsString = zcy_RetailFee1.ToString("0.00");
                    report.ParameterByName("RetailFee_ZY1").AsString  = zy_RetailFee1.ToString("0.00");
                    report.ParameterByName("RetailFee_WZ1").AsString  = wz_RetailFee1.ToString("0.00");
                    report.ParameterByName("TradeFee_XY1").AsString   = xy_TradeFee1.ToString("0.00");
                    report.ParameterByName("TradeFee_ZCY1").AsString  = zcy_TradeFee1.ToString("0.00");
                    report.ParameterByName("TradeFee_ZY1").AsString   = zy_TradeFee1.ToString("0.00");
                    report.ParameterByName("TradeFee_WZ1").AsString   = wz_TradeFee1.ToString("0.00");
                    report.ParameterByName("DiffFee_XY1").AsString    = (xy_RetailFee1 - xy_TradeFee1).ToString("0.00");
                    report.ParameterByName("DiffFee_ZCY1").AsString   = (zcy_RetailFee1 - zcy_TradeFee1).ToString("0.00");
                    report.ParameterByName("DiffFee_ZY1").AsString    = (zy_RetailFee1 - zy_TradeFee1).ToString("0.00");
                    report.ParameterByName("DiffFee_WZ1").AsString    = (wz_RetailFee1 - wz_TradeFee1).ToString("0.00");


                    report.PrintPreview(false);
                }
            }
            catch (Exception error)
            {
                throw error;
            }
        }
Exemplo n.º 22
0
 public BillQuery Bill([Inject] BillQuery entityQuery)
 {
     return(entityQuery);
 }