Beispiel #1
0
        public bool DelDrug(string drugId, string deptid)
        {
            DrugStockOutEntity entity = dsoservice.GetEntity(drugId);
            var list = service.GetList(deptid).Where(x => x.DrugName == entity.DrugName && x.DrugLevel == entity.DrugLevel && x.BZId == "deptid").ToList();

            foreach (DrugEntity d in list)
            {
                service.DelDrug(d);
            }
            if (entity != null)
            {
                if (dsoservice.DelDrugStcokOut(entity))
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }
Beispiel #2
0
        /// <summary>
        /// 药品出库
        /// </summary>
        /// <param name="Id"></param>
        /// <param name="entity"></param>
        public void SaveDrugOut(string deptid, string Id, DrugStockEntity entity)
        {
            try
            {
                //出库时余量=余量-出库总量
                //总量不变
                DrugEntity drug = service.GetEntity(entity.DrugId);
                drug.Surplus     = drug.Surplus - (decimal)entity.DrugNum * int.Parse(drug.Spec);
                drug.DrugNum     = Convert.ToInt32(drug.DrugNum - entity.DrugNum);
                drug.OutNum     += Convert.ToInt32(entity.DrugNum);
                drug.State       = "1";
                drug.OutSurplus += (decimal)entity.DrugNum * Convert.ToDecimal(drug.Spec);
                entity.DrugUnit  = drug.Unit;
                entity.DrugName  = drug.DrugName;
                entity.DrugLevel = drug.DrugLevelName + drug.DrugLevel;
                //entity.Surplus = drug.Surplus;
                entity.Type     = "1";
                entity.StockNum = drug.DrugNum;
                entity.BZId     = drug.BZId;
                service.SaveDrug(drug.Id, drug);
                drugStock.SaveDrugStock(Id, entity);

                //若出库信息已存在该类药品,更新余量;否则新增一条
                DrugStockOutEntity dso = new DrugStockOutEntity();
                var dsolist            = this.GetStockOutList(deptid, entity.DrugName, drug.DrugLevel).Where(x => x.BZId == drug.BZId);
                if (dsolist.Count() > 0)
                {
                    dso = dsolist.SingleOrDefault();
                    dso.DrugInventoryId = drug.DrugInventoryId;
                    dso.OutTotal       += (decimal)entity.DrugNum * int.Parse(drug.Spec);
                    dso.Total          += (decimal)entity.DrugNum * int.Parse(drug.Spec);
                    dso.Warn            = Convert.ToDecimal(drug.Warn);
                    this.SaveStockOut(dso.Id, dso);
                }
                else
                {
                    dso.DrugInventoryId = drug.DrugInventoryId;
                    dso.Id             = Guid.NewGuid().ToString();
                    dso.OutTotal      += (decimal)entity.DrugNum * int.Parse(drug.Spec);
                    dso.Total         += (decimal)entity.DrugNum * int.Parse(drug.Spec);
                    dso.DrugName       = entity.DrugName;
                    dso.DrugUnit       = entity.DrugUnit;
                    dso.DrugLevel      = drug.DrugLevel;
                    dso.DrugLevelName  = drug.DrugLevelName;
                    dso.DrugId         = entity.DrugId;
                    dso.CreateDate     = DateTime.Now;
                    dso.BZId           = drug.BZId;
                    dso.CreateUserId   = entity.CreateUserId;
                    dso.CreateUserName = entity.CreateUserName;
                    dso.Warn           = Convert.ToDecimal(drug.Warn);
                    this.SaveStockOut(dso.Id, dso);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #3
0
 public void SaveStockOut(string Id, DrugStockOutEntity entity)
 {
     try
     {
         dsoservice.SaveDrugStockOut(Id, entity);
     }
     catch (Exception)
     {
         throw;
     }
 }
Beispiel #4
0
        /// <summary>
        /// 药品取用
        ///
        /// </summary>
        /// <param name="Id"></param>
        /// <param name="entity"></param>
        public void SaveDrugOutNew(string Id, DrugOutEntity entity)
        {
            try
            {
                //更新出库信息  (该id取的出库信息id)
                DrugStockOutEntity drug = dsoservice.GetEntity(entity.DrugId);
                drug.Total = drug.Total - entity.OutNum;
                dsoservice.SaveDrugStockOut(drug.Id, drug);

                //保存取用记录
                entity.Id        = Guid.NewGuid().ToString();
                entity.DrugUnit  = drug.DrugUnit;
                entity.DrugName  = drug.DrugName;
                entity.DrugLevel = drug.DrugLevelName + "(" + drug.DrugLevel + ")";
                entity.Surplus   = drug.Total;
                entity.OutNum    = entity.OutNum;
                drugOut.SaveDrugOut(Id, entity);
            }
            catch (Exception)
            {
                throw;
            }
        }