Ejemplo n.º 1
0
        /// <summary>
        /// 根据id获取盘点报告单
        /// </summary>
        /// <returns></returns>
        public override WhInventoryRepor GetWhInventoryRepor(int sysNo)
        {
            var model = new WhInventoryRepor();

            model = Context.Select <WhInventoryRepor>("*").From("WhInventoryRepor").Where("SysNo=@SysNo").Parameter("SysNo", sysNo).QuerySingle();
            return(model);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 根据id获取盘点报告单明细
        /// </summary>
        /// <returns></returns>
        public override WhInventoryRepor GetWhInventoryReporModel(int sysNo, int PageType)
        {
            var model = new WhInventoryRepor();

            model = Context.Select <WhInventoryRepor>("*").From("WhInventoryRepor").Where("SysNo=@SysNo").Parameter("SysNo", sysNo).QuerySingle();
            if (model == null)
            {
                return(null);
            }
            else
            {
                if (PageType == 1)//盘盈
                {
                    model.DataList = Context.Select <WhIReporPrDetails>("*").From("WhIReporPrDetails")
                                     .Where("WhInventoryReporSysNo=@WhInventoryReporSysNo and RealityQuantity>ADQuantity ")
                                     .Parameter("WhInventoryReporSysNo", sysNo)
                                     .QueryMany();
                }
                else if (PageType == 2) //盘亏
                {
                    model.DataList = Context.Select <WhIReporPrDetails>("*").From("WhIReporPrDetails")
                                     .Where("WhInventoryReporSysNo=@WhInventoryReporSysNo and RealityQuantity<ADQuantity")
                                     .Parameter("WhInventoryReporSysNo", sysNo)
                                     .QueryMany();
                }
                else
                {
                    model.DataList = Context.Select <WhIReporPrDetails>("*").From("WhIReporPrDetails")
                                     .Where("WhInventoryReporSysNo=@WhInventoryReporSysNo")
                                     .Parameter("WhInventoryReporSysNo", sysNo)
                                     .QueryMany();
                }
                return(model);
            }
        }
Ejemplo n.º 3
0
        public ActionResult UpdateWhInventoryReporStatus(WhInventoryRepor model, int?id, int?status)
        {
            Result <object> result = new Result <object>();

            if (id == null || status == null)
            {
                result.Status  = false;
                result.Message = "参数错误,修改失败!";
                return(Json(result));
            }
            #region  修改盘点报告单
            var getModel = Hyt.BLL.InventorySheet.WhInventoryBo.Instance.GetWhInventoryRepor((int)id);
            getModel.Status       = (int)status;
            getModel.Tally        = model.Tally;
            getModel.CustodySysNo = model.CustodySysNo;
            getModel.HeadSysNo    = model.HeadSysNo;
            getModel.AgentSysNo   = model.AgentSysNo;
            getModel.AuditTime    = model.AuditTime;
            getModel.Remarks      = model.Remarks;

            if (Hyt.BLL.InventorySheet.WhInventoryBo.Instance.UploadWhInventoryRepor(getModel))
            {
                result.Status  = true;
                result.Message = "成功!";
                return(Json(result));
            }
            else
            {
                result.Status  = false;
                result.Message = "错误,提交失败!";
                return(Json(result));
            }
            #endregion
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 生成盘点报告单
        /// </summary>
        /// <returns></returns>
        public override bool AddWhInventoryRepor(WhInventoryRepor reporModl, List <WhIReporPrDetails> productModel)
        {
            int sysNo = 0;

            using (var context = Context.UseTransaction(true))
            {
                try
                {
                    sysNo = Context.Insert("WhInventoryRepor", reporModl).AutoMap(x => x.SysNo, x => x.DataList, x => x.PanKuiStatus, x => x.PanYingStatus).ExecuteReturnLastId <int>("SysNo");
                    if (sysNo > 0)
                    {
                        foreach (var item in productModel)
                        {
                            item.WhInventoryReporSysNo = sysNo;
                            Context.Insert("WhIReporPrDetails", item).AutoMap(x => x.SysNo).ExecuteReturnLastId <int>("SysNo");
                        }
                    }
                    context.Commit();
                }
                catch (Exception e)
                {
                    var a = e.Message;
                    //回滚
                    sysNo = 0;
                    context.Rollback();
                }
            }
            return(sysNo > 0);
        }
Ejemplo n.º 5
0
        public ActionResult EditWhInventoryRepor(int?id, int?PageType = 1)
        {
            WhInventoryRepor model = new WhInventoryRepor();

            if (id != null)
            {
                model = Hyt.BLL.InventorySheet.WhInventoryBo.Instance.GetWhInventoryReporModel((int)id, (int)PageType);
            }
            ViewBag.PageType  = PageType;
            ViewBag.AdminName = CurrentUser.Base.UserName;
            return(View(model));
        }
Ejemplo n.º 6
0
 /// <summary>
 /// 更新盘点报告单
 /// </summary>
 /// <param name="sysNo"></param>
 /// <returns></returns>
 public override bool UploadWhInventoryRepor(WhInventoryRepor model)
 {
     return(Context.Update("WhInventoryRepor")
            .Column("Status", model.Status)
            .Column("Tally", model.Tally)
            .Column("CustodySysNo", model.CustodySysNo)
            .Column("HeadSysNo", model.HeadSysNo)
            .Column("AgentSysNo", model.AgentSysNo)
            .Column("AuditTime", model.AuditTime)
            .Column("Remarks", model.Remarks)
            .Where("SysNo", model.SysNo)
            .Execute() > 0);
 }
Ejemplo n.º 7
0
        public ActionResult AddWhInventoryReporList(WhInventoryRepor model, string productCode, string ProductName, string CSysId, string CSysName, string CErpCode, string CZCount, string ShiSum, string DanJia, string PanYingCount, string PanYingJinE, string BeiZhu, int pdStatus)
        {
            Result <object> result = new Result <object>();

            model.Status        = pdStatus == 5 ? (int)Hyt.Model.InventorySheet.WhlnventoryEnum.WhInventoryReporStatus.盘盈入库 : (int)Hyt.Model.InventorySheet.WhlnventoryEnum.WhInventoryReporStatus.盘亏入库;
            model.WarehouseCode = CSysId.Trim(',');
            model.AddUser       = CurrentUser.Base.SysNo;
            model.YingKuiStatus = pdStatus == 5 ? 1 : 2;
            model.AddTime       = DateTime.Now;

            List <WhIReporPrDetails> productModelList = new List <WhIReporPrDetails>();

            for (int i = 0; i < productCode.Trim(',').Split(',').Length; i++)
            {
                var productModel = new WhIReporPrDetails()
                {
                    ProduceCode        = productCode.Trim(',').Split(',')[i],
                    ProductName        = ProductName.Trim(',').Split(',')[i],
                    Specification      = "",
                    AuxiliaryAttribute = "",
                    BatchNumber        = "",
                    Unit               = "",
                    ADQuantity         = Convert.ToDecimal(CZCount.Trim(',').Split(',')[i]),
                    RealityQuantity    = Convert.ToDecimal(ShiSum.Trim(',').Split(',')[i]),
                    PlanPrice          = Convert.ToDecimal(DanJia.Trim(',').Split(',')[i]),
                    UnitPrice          = Convert.ToDecimal(DanJia.Trim(',').Split(',')[i]),
                    ProfitAndLoss      = Convert.ToDecimal(PanYingCount.Trim(',').Split(',')[i]),
                    ProfitAndLossPrice = Convert.ToDecimal(PanYingJinE.Trim(',').Split(',')[i]),
                    Remark             = BeiZhu.Trim('^').Split('^')[i],
                    WarehouseName      = CSysName.Split(',')[i],
                    WarehouseSysNo     = Convert.ToInt32(CSysId.Trim(',').Split(',')[i])
                };
                productModelList.Add(productModel);
            }
            if (!Hyt.BLL.InventorySheet.WhInventoryBo.Instance.AddWhInventoryRepor(model, productModelList))
            {
                result.Status  = false;
                result.Message = "错误,生成失败!";
                return(Json(result));
            }
            else
            {
                result.Status  = true;
                result.Message = "成功!";
                return(Json(result));
            }
        }
Ejemplo n.º 8
0
        public ActionResult AddWhInventoryRepor(int id, int pdStatus)
        {
            Result <object> result = new Result <object>();

            #region 生成盘点报告单
            //获取盘点单信息
            var whlist = Hyt.BLL.InventorySheet.WhInventoryBo.Instance.GetWhInventoryDetail((int)id);
            if (whlist == null || whlist.dataList == null || whlist.dataList.Count == 0)
            {
                result.Status  = false;
                result.Message = "没有适合盘点的商品信息,报告单生成失败!";
                return(Json(result));
            }
            if (pdStatus == 1)
            { //生成盘盈
                if (!Hyt.BLL.InventorySheet.WhInventoryBo.Instance.GetIsWhInventoryRepor(whlist.Code, pdStatus))
                {
                    whlist.dataList = whlist.dataList.Where(p => p.InventoryQuantity > p.ZhangCunQuantity).ToList();
                }
                else
                {
                    result.Status  = false;
                    result.Message = "已生成过盘盈报告单,生成失败!";
                    return(Json(result));
                }
            }
            else
            { //生成盘亏
                if (!Hyt.BLL.InventorySheet.WhInventoryBo.Instance.GetIsWhInventoryRepor(whlist.Code, pdStatus))
                {
                    whlist.dataList = whlist.dataList.Where(p => p.InventoryQuantity < p.ZhangCunQuantity).ToList();
                }
                else
                {
                    result.Status  = false;
                    result.Message = "已生成过盘亏报告单,生成失败!";
                    return(Json(result));
                }
            }
            if (whlist.dataList == null || whlist.dataList.Count == 0)
            {
                result.Status  = false;
                result.Message = "没有适合盘点的商品信息,报告单生成失败!";
                return(Json(result));
            }

            #region 盘点报告单信息
            WhInventoryRepor model = new WhInventoryRepor()
            {
                WhInventoryCode = whlist.Code,
                Remarks         = "",
                ReportType      = 0,
                PrintCount      = 0,
                WarehouseCode   = whlist.WhInventorySysNo,
                WarehouseName   = "",
                Time            = DateTime.Now,
                Make            = CurrentUser.Base.UserName,
                Audit           = "",
                Tally           = "",
                CustodySysNo    = "",
                HeadSysNo       = "",
                AgentSysNo      = "",
                AddUser         = CurrentUser.Base.SysNo,
                AuditTime       = null,
                YingKuiStatus   = pdStatus,
                Status          = pdStatus == 1 ? (int)Hyt.Model.InventorySheet.WhlnventoryEnum.WhInventoryReporStatus.盘盈入库 : (int)Hyt.Model.InventorySheet.WhlnventoryEnum.WhInventoryReporStatus.盘亏入库,
                AddTime         = DateTime.Now
            };
            #endregion

            #region 盘点报告单商品信息
            List <WhIReporPrDetails> WhIReporPrDetailsList = new List <WhIReporPrDetails>();
            foreach (var item in whlist.dataList)
            {
                WhIReporPrDetails productList = new WhIReporPrDetails()
                {
                    WarehouseSysNo     = item.WarehouseSysNo,
                    ProduceCode        = item.ErpCode,
                    ProductName        = item.ProductName,
                    Specification      = "",
                    AuxiliaryAttribute = "",
                    BatchNumber        = "",
                    Unit            = "",
                    ADQuantity      = item.ZhangCunQuantity,
                    RealityQuantity = item.InventoryQuantity,
                    PlanPrice       = item.CostPrice,
                    //UnitPrice = 0,
                    ProfitAndLoss      = item.adjustmenQuantity,
                    ProfitAndLossPrice = (item.CostPrice * item.adjustmenQuantity) - (item.CostPrice * item.ZhangCunQuantity),
                    Remark             = "",
                    ProcurementTime    = null,
                    //ShelfLife=
                    ValidityTime  = null,
                    WarehouseName = item.WarehouseNameDate
                };
                WhIReporPrDetailsList.Add(productList);
            }
            #endregion
            if (!Hyt.BLL.InventorySheet.WhInventoryBo.Instance.AddWhInventoryRepor(model, WhIReporPrDetailsList))
            {
                result.Status  = false;
                result.Message = "错误,生成失败!";
                return(Json(result));
            }
            else
            {
                result.Status  = true;
                result.Message = "成功!";
                return(Json(result));
            }
            #endregion
        }
Ejemplo n.º 9
0
 /// <summary>
 /// 更新盘点报告单
 /// </summary>
 /// <param name="sysNo"></param>
 /// <returns></returns>
 public abstract bool UploadWhInventoryRepor(WhInventoryRepor model);
Ejemplo n.º 10
0
 /// <summary>
 /// 生成盘点报告单
 /// </summary>
 /// <returns></returns>
 public abstract bool AddWhInventoryRepor(WhInventoryRepor reporModl, List <WhIReporPrDetails> productModel);
Ejemplo n.º 11
0
 /// <summary>
 /// 更新盘点报告单
 /// </summary>
 /// <param name="sysNo"></param>
 /// <returns></returns>
 public bool UploadWhInventoryRepor(WhInventoryRepor model)
 {
     return(IWhInventoryDao.Instance.UploadWhInventoryRepor(model));
 }
Ejemplo n.º 12
0
 /// <summary>
 /// 生成盘点报告单
 /// </summary>
 /// <returns></returns>
 public bool AddWhInventoryRepor(WhInventoryRepor reporModl, List <WhIReporPrDetails> productModel)
 {
     return(IWhInventoryDao.Instance.AddWhInventoryRepor(reporModl, productModel));
 }