コード例 #1
0
 public void GetCurrentMaster(int masterId)
 {
     if (_currentState == NORMAL)
     {
         DataRow[] selectRows = _masterDt.Select("PLANMASTERID=" + masterId);
         if (selectRows.Length > 0)
         {
             DataRow currentRow = selectRows[0];
             if (_currentMaster == null)
             {
                 _currentMaster = new YP_PlanMaster();
             }
             _currentMaster.PlanMasterId  = masterId;
             _currentMaster.RegPeople     = Convert.ToInt32(currentRow["REGPEOPLE"]);
             _currentMaster.RegTime       = Convert.ToDateTime(currentRow["REGTIME"]);
             _currentMaster.RetailFee     = Convert.ToDecimal(currentRow["RETAILFEE"]);
             _currentMaster.TradeFee      = Convert.ToDecimal(currentRow["TRADEFEE"]);
             _currentMaster.RegPeopleName = currentRow["REGPEOPLENAME"].ToString();
             _currentMaster.LASTCHANGTIME = Convert.ToDateTime(currentRow["LASTCHANGTIME"]);
             _orderDt = _billQuery.LoadOrder(_currentMaster);
             _frmstockplan.RefreshOrder(_orderDt);
             _frmstockplan.RefreshFee(_currentMaster.RetailFee, _currentMaster.TradeFee);
         }
     }
 }
コード例 #2
0
        /// <summary>
        /// 修改采购计划单
        /// </summary>
        /// <param name="billMaster">采购计划表头</param>
        /// <param name="listOrder">采购计划明细列表</param>
        /// <param name="deptId">药剂科室ID</param>
        public override void UpdateBill(BillMaster billMaster, List <BillOrder> listOrder, long deptId)
        {
            try
            {
                YP_PlanMaster planMaster = (YP_PlanMaster)billMaster;
                oleDb.BeginTransaction();
                //声明操作对象
                IBaseDAL <YP_PlanMaster> masterDao = BindEntity <YP_PlanMaster> .CreateInstanceDAL(oleDb, Tables.YK_PLANMASTER);

                IBaseDAL <YP_PlanOrder> orderDao = BindEntity <YP_PlanOrder> .CreateInstanceDAL(oleDb, Tables.YK_PLANORDER);

                planMaster.RetailFee = 0;
                planMaster.TradeFee  = 0;
                orderDao.Delete(Tables.yk_planorder.PLANMASTERID + oleDb.EuqalTo() + planMaster.PlanMasterId);
                foreach (YP_PlanOrder planOrder in listOrder)
                {
                    //计算入库金额
                    planMaster.RetailFee  += planOrder.RetailFee;
                    planMaster.TradeFee   += planOrder.TradeFee;
                    planOrder.PlanMasterId = planMaster.PlanMasterId;
                    //依次添加明细记录
                    orderDao.Add(planOrder);
                }
                masterDao.Update(planMaster);
                oleDb.CommitTransaction();
            }
            catch (Exception error)
            {
                oleDb.RollbackTransaction();
                throw error;
            }
        }
コード例 #3
0
        /// <summary>
        /// 保存采购计划单
        /// </summary>
        /// <param name="billMaster">采购计划表头</param>
        /// <param name="listOrder">采购计划明细列表</param>
        /// <param name="deptId">药剂科室ID</param>
        public override void SaveBill(BillMaster billMaster, List <BillOrder> listOrder, long deptId)
        {
            try
            {
                YP_PlanMaster            planMaster = (YP_PlanMaster)billMaster;
                IBaseDAL <YP_PlanMaster> masterDao  = BindEntity <YP_PlanMaster> .CreateInstanceDAL(oleDb, Tables.YK_PLANMASTER);

                IBaseDAL <YP_PlanOrder> orderDao = BindEntity <YP_PlanOrder> .CreateInstanceDAL(oleDb, Tables.YK_PLANORDER);

                planMaster.RegTime       = XcDate.ServerDateTime;
                planMaster.LASTCHANGTIME = XcDate.ServerDateTime;
                planMaster.TradeFee      = 0;
                planMaster.RetailFee     = 0;
                oleDb.BeginTransaction();
                //写头表信息获取ID号
                masterDao.Add(planMaster);
                foreach (YP_PlanOrder planOrder in listOrder)
                {
                    //计算头表合计金额
                    planMaster.RetailFee  += planOrder.RetailFee;
                    planMaster.TradeFee   += planOrder.TradeFee;
                    planOrder.PlanMasterId = planMaster.PlanMasterId;
                    //依次添加明细记录
                    orderDao.Add(planOrder);
                }
                masterDao.Update(planMaster);
                oleDb.CommitTransaction();
            }
            catch (Exception error)
            {
                oleDb.RollbackTransaction();
                throw error;
            }
        }
コード例 #4
0
 /// <summary>
 /// 加载采购计划单据明细
 /// </summary>
 /// <param name="billMaster">单据头表</param>
 /// <returns></returns>
 public override DataTable LoadOrder(BillMaster billMaster)
 {
     if (billMaster != null)
     {
         YP_PlanMaster master = (YP_PlanMaster)billMaster;
         if (master.PlanMasterId != -1)
         {
             string strWhere = HIS.BLL.Tables.yk_planmaster.PLANMASTERID + oleDb.EuqalTo()
                               + master.PlanMasterId;
             YP_Dal dal = new YP_Dal();
             dal._oleDb = oleDb;
             return(dal.YK_PlanOrder_GetList(strWhere));
         }
         else
         {
             string strWhere = HIS.BLL.Tables.yk_planmaster.PLANMASTERID + oleDb.EuqalTo()
                               + master.PlanMasterId;
             YP_Dal dal = new YP_Dal();
             dal._oleDb = oleDb;
             DataTable  orderDt        = dal.YK_PlanOrder_GetList(strWhere);
             StoreQuery storeQuery     = StoreFactory.GetQuery(ConfigManager.YK_SYSTEM);
             DataTable  lowerStoreDrug = storeQuery.GetDrugForStoreLimit("", false,
                                                                         (int)master.DeptId, 0);
             for (int index = 0; index < lowerStoreDrug.Rows.Count; index++)
             {
                 DataRow limitRow = lowerStoreDrug.Rows[index];
                 decimal stockNum = Convert.ToDecimal(limitRow["UPPERLIMIT"]) -
                                    Convert.ToDecimal(limitRow["CURRENTNUM"]);
                 if (stockNum > 0)
                 {
                     DataRow newRow = orderDt.NewRow();
                     newRow["MAKERDICID"]   = limitRow["MAKERDICID"];
                     newRow["CHEMNAME"]     = limitRow["CHEMNAME"];
                     newRow["SPEC"]         = limitRow["SPEC"];
                     newRow["PRODUCTNAME"]  = limitRow["PRODUCTNAME"];
                     newRow["PLANMASTERID"] = 0;
                     newRow["PLANORDERID"]  = 0;
                     newRow["RETAILPRICE"]  = limitRow["RETAILPRICE"];
                     newRow["TRADEPRICE"]   = limitRow["TRADEPRICE"];
                     newRow["UNIT"]         = limitRow["LEASTUNIT"];
                     newRow["UNITNAME"]     = limitRow["PACKUNITNAME"];
                     newRow["STOCKNUM"]     = stockNum;
                     newRow["RETAILFEE"]    = stockNum * Convert.ToDecimal(newRow["RETAILPRICE"]);
                     newRow["TRADEFEE"]     = stockNum * Convert.ToDecimal(newRow["TRADEPRICE"]);
                     orderDt.Rows.Add(newRow);
                 }
             }
             return(orderDt);
         }
     }
     else
     {
         return(null);
     }
 }
コード例 #5
0
 /// <summary>
 /// 创建新的采购计划表头
 /// </summary>
 /// <param name="deptId">药剂科室ID</param>
 /// <param name="userId">用户ID</param>
 /// <returns>采购计划表头</returns>
 public override BillMaster BuildNewMaster(long deptId, long userId)
 {
     try
     {
         YP_PlanMaster planMaster = new YP_PlanMaster();
         planMaster.RegPeople     = (int)userId;
         planMaster.RegPeopleName = BaseData.GetUserName((int)userId);
         planMaster.DeptId        = (int)deptId;
         return(planMaster);
     }
     catch (Exception error)
     {
         throw error;
     }
 }
コード例 #6
0
 public void BuildNewBill(long deptId, long userId, bool isBuildByLimit)
 {
     _currentMaster = (YP_PlanMaster)_billProcessor.BuildNewMaster(deptId, userId);
     if (!isBuildByLimit)
     {
         _orderDt = _billQuery.LoadOrder((BillMaster)_currentMaster);
         _frmstockplan.RefreshOrder(_orderDt);
         _currentOrder = (YP_PlanOrder)_billProcessor.BuildNewoder(deptId, _currentMaster);
         if (_orderDt != null)
         {
             _orderDt.Rows.Clear();
         }
     }
     else
     {
         _currentMaster.PlanMasterId = -1;
         _orderDt = _billQuery.LoadOrder((BillMaster)_currentMaster);
         _currentMaster.PlanMasterId = 0;
         _frmstockplan.RefreshOrder(_orderDt);
         _currentOrder = (YP_PlanOrder)_billProcessor.BuildNewoder(deptId, _currentMaster);
     }
     _frmstockplan.ClearAll();
 }
コード例 #7
0
        /// <summary>
        /// 删除指定采购计划单
        /// </summary>
        /// <param name="billMaster">采购计划表头</param>
        public override void DelBill(BillMaster billMaster)
        {
            try
            {
                YP_PlanMaster planMaster = (YP_PlanMaster)billMaster;
                oleDb.BeginTransaction();
                int deleteID = planMaster.PlanMasterId;
                IBaseDAL <YP_PlanMaster> masterDao = BindEntity <YP_PlanMaster> .CreateInstanceDAL(oleDb, BLL.Tables.YK_PLANMASTER);

                //删除头表
                masterDao.Delete(deleteID);
                IBaseDAL <YP_PlanOrder> orderDao = BindEntity <YP_PlanOrder> .CreateInstanceDAL(oleDb, BLL.Tables.YK_PLANORDER);

                //删除明细
                orderDao.Delete(Tables.yk_planorder.PLANMASTERID + oleDb.EuqalTo() + deleteID.ToString());
                oleDb.CommitTransaction();
            }
            catch (Exception error)
            {
                oleDb.RollbackTransaction();
                throw error;
            }
        }