Esempio n. 1
0
        /// <summary>
        /// 作废入库单
        /// </summary>
        /// <param name="sysNo">入库单系统编号</param>
        /// <param name="user">操作用户</param>
        /// <returns>成功返回true,失败返回false</returns>
        /// <remarks>2013-06-08 周唐炬 创建</remarks>
        /// <remarks>
        /// 2013-07-18 朱成果 添加RMA入库单作废逻辑
        /// 2016-6-20 杨浩 添加采购入库单作废逻辑
        /// </remarks>
        public bool InStockCancel(int sysNo, SyUser user)
        {
            var model = GetStockIn(sysNo);

            if (null == model)
            {
                throw new HytException("入库单不存在!");
            }
            if (!AdminAuthenticationBo.Instance.HasWareHousePrivilege(model.WarehouseSysNo))
            {
                throw new HytException("用户没有作废该条入库单的权限!");
            }
            model.Status = WarehouseStatus.入库单状态.作废.GetHashCode();
            var id = UpdateStockIn(model);

            if (id <= 0)
            {
                return(false);
            }
            if (model.SourceType == (int)WarehouseStatus.入库单据类型.RMA单)
            {
                RmaBo.Instance.RMAInStockCancelCallBack(model, user);//退货单设置成待审核状态
            }
            else if (model.SourceType == (int)WarehouseStatus.入库单据类型.采购单)
            {
                PrPurchaseBo.Instance.PrInStockCancelCallBack(model, user);//采购单设置成待审核状态
            }
            return(true);
        }
Esempio n. 2
0
        /// <summary>
        /// 保存分销商等级
        /// </summary>
        /// <param name="model">分销商等级</param>
        /// <param name="user">操作人</param>
        /// <returns></returns>
        /// <remarks>2015-08-06 王耀发 创建</remarks>
        public Result SaveCrSellBusinessGrade(CrSellBusinessGrade model, SyUser user)
        {
            Result r = new Result()
            {
                Status = false
            };
            CrSellBusinessGrade entity = ICrSellBusinessGradeDao.Instance.GetEntity(model.SysNo);

            if (entity != null)
            {
                model.SysNo          = entity.SysNo;
                model.CreatedDate    = entity.CreatedDate;
                model.CreatedBy      = entity.CreatedBy;
                model.LastUpdateBy   = user.SysNo;
                model.LastUpdateDate = DateTime.Now;
                ICrSellBusinessGradeDao.Instance.Update(model);
                r.Status = true;
            }
            else
            {
                model.CreatedDate    = DateTime.Now;
                model.CreatedBy      = user.SysNo;
                model.LastUpdateBy   = user.SysNo;
                model.LastUpdateDate = DateTime.Now;
                ICrSellBusinessGradeDao.Instance.Insert(model);
                r.Status = true;
            }
            return(r);
        }
        /// <summary>
        /// 保存入库商品
        /// </summary>
        /// <param name="model">入库商品</param>
        /// <param name="user">操作人</param>
        /// <returns></returns>
        /// <remarks>2015-08-06 王耀发 创建</remarks>
        public Result SavePdProductStockInDetail(PdProductStockInDetail model, SyUser user)
        {
            Result r = new Result()
            {
                Status = false
            };

            if (model.SysNo > 0)
            {
                //修改数据
                PdProductStockInDetailList entity = IPdProductStockInDetailDao.Instance.GetEntity(model.SysNo);
                model.DoStorageQuantity = entity.DoStorageQuantity;
                model.CreatedDate       = entity.CreatedDate;
                model.CreatedBy         = entity.CreatedBy;
                model.LastUpdateBy      = user.SysNo;
                model.LastUpdateDate    = DateTime.Now;
                IPdProductStockInDetailDao.Instance.Update(model);
                r.StatusCode = model.SysNo;
                r.Status     = true;
            }
            else
            {
                //新增数据
                model.DoStorageQuantity = 0;
                model.CreatedDate       = DateTime.Now;
                model.CreatedBy         = user.SysNo;
                model.LastUpdateBy      = user.SysNo;
                model.LastUpdateDate    = DateTime.Now;
                r.StatusCode            = IPdProductStockInDetailDao.Instance.Insert(model);
                r.Status = true;
            }
            return(r);
        }
Esempio n. 4
0
        /// <summary>
        /// 审核促销规则
        /// </summary>
        /// <param name="sysNo">促销规则编号</param>
        /// <param name="user">操作人</param>
        /// <returns></returns>
        /// <remarks>2013-08-26 朱成果 创建</remarks>
        public Result AuditPromotionRule(int sysNo, SyUser user)
        {
            Result r = new Result()
            {
                Status = false
            };
            var entity = GetEntity(sysNo);

            if (entity != null)
            {
                if (entity.Status == (int)Hyt.Model.WorkflowStatus.PromotionStatus.促销规则状态.待审)
                {
                    entity.LastUpdateBy   = user.SysNo;
                    entity.LastUpdateDate = DateTime.Now;
                    entity.Status         = (int)Hyt.Model.WorkflowStatus.PromotionStatus.促销规则状态.已审;
                    entity.AuditDate      = DateTime.Now;
                    entity.AuditorSysNo   = user.SysNo;
                    Hyt.DataAccess.Promotion.ISpPromotionRuleDao.Instance.Update(entity);
                    r.Status = true;
                }
                else
                {
                    r.Message = "当前规则状态非待审核状态";
                }
            }
            else
            {
                r.Message = "规则数据不存在";
            }
            return(r);
        }
Esempio n. 5
0
 /// <summary>
 /// 插入数据
 /// </summary>
 /// <param name="entity">数据实体</param>
 /// <returns>新增记录编号</returns>
 /// <remarks>2013-07-30  朱成果 创建</remarks>
 public override int InsertSyUser(SyUser entity)
 {
     entity.SysNo = Context.Insert("SyUser", entity)
                    .AutoMap(o => o.SysNo)
                    .ExecuteReturnLastId <int>("SysNo");
     return(entity.SysNo);
 }
Esempio n. 6
0
        /// <summary>
        /// 保存定制商品(改)
        /// </summary>
        /// <param name="model"></param>
        /// <param name="user"></param>
        /// <returns></returns>
        public Result SavePdProductPrivates(PdProductPrivate model, SyUser user)
        {
            Result r = new Result()
            {
                Status = false
            };

            if (model.SysNo > 0)
            {
                //修改数据
                PdProductPrivateList entity = IPdProductPrivateDao.Instance.GetEntitys(model.SysNo);
                model.BrandSysNo     = entity.BrandSysNo;
                model.ProductDesc    = entity.ProductDesc;
                model.ProductRemark  = entity.ProductRemark;
                model.ContactWay     = entity.ContactWay;
                model.ProductImage   = entity.ProductImage;
                model.AuditDate      = DateTime.Now;
                model.CreatedDate    = entity.CreatedDate;
                model.CreatedBy      = entity.CreatedBy;
                model.LastUpdateBy   = user.SysNo;
                model.LastUpdateDate = DateTime.Now;
                IPdProductPrivateDao.Instance.Update(model);
                r.StatusCode = model.SysNo;
                r.Status     = true;
            }
            return(r);
        }
Esempio n. 7
0
 public IActionResult Detail(Int16 id)
 {
     try
     {
         SyUser data;
         if (id == 0)
         {
             data = new SyUser()
             {
                 IsActive = true //default Active
             }
         }
         ;
         else
         {
             data = DbContext.SyUser.Where(a => a.UserId == id).FirstOrDefault();
             if (data == null)
             {
                 return(NotFound());
             }
             else
             {
                 data.Password = EncryptHelper.ConvertToDecrypt(data.Password);
             }
         }
         SetViewBag();
         return(View(data));
     }
     catch (Exception e)
     {
         LogHelp.WriteErrorLog(e);
     }
     return(View());
 }
Esempio n. 8
0
        /// <summary>
        /// 更新系统用户
        /// </summary>
        /// <param name="syUser">系统用户</param>
        /// <returns></returns>
        /// <remarks>
        /// 2013-08-08  黄志勇 创建
        /// 2014-5-13 杨文兵 增加清除缓存代码
        /// </remarks>
        public void UpdateSyUser(SyUser syUser)
        {
            ISyUserDao.Instance.UpdateSyUser(syUser);
            var cacheKey = string.Format("CACHE_SYUSER_{0}", syUser.SysNo);

            MemoryProvider.Default.Remove(cacheKey);
        }
Esempio n. 9
0
        /// <summary>
        /// 保存优惠券
        /// </summary>
        /// <param name="coupon">促销规则实体</param>
        /// <param name="user">操作者</param>
        /// <param name="originalCoupon">原优惠卷(复制优惠卷时使用)</param>
        /// <param name="couponCardNo">优惠卡号(复制优惠卡时使用)</param>
        /// <returns></returns>
        /// <remarks>
        /// 2013-08-22 黄志勇 创建
        /// 日期 朱家宏 添加参数:originalCoupon/couponCardNo
        /// </remarks>
        public int SaveCoupon(SpCoupon coupon, SyUser user, SpCoupon originalCoupon = null, string couponCardNo = null)
        {
            coupon.LastUpdateBy   = user.SysNo;
            coupon.LastUpdateDate = DateTime.Now;
            if (coupon.SysNo > 0)
            {
                return(ISpCouponDao.Instance.Update(coupon));
            }

            coupon.CreatedBy   = user.SysNo;
            coupon.CreatedDate = DateTime.Now;

            var couponSysNo = ISpCouponDao.Instance.Insert(coupon);

            //2013-12-30 朱家宏 私有优惠卷时写日志
            if (couponSysNo > 0 && coupon.Type == (int)PromotionStatus.优惠券类型.私有)
            {
                //需求为仅在新建(包括复制)私有优惠卷时写日志,其他情况下不管
                var originalCouponSysNo = (originalCoupon == null) ? 0 : originalCoupon.SysNo;
                var log = new SpCouponReceiveLog
                {
                    CouponSysNo         = couponSysNo,
                    OriginatorSysNo     = user.SysNo,
                    RecipientSysNo      = coupon.CustomerSysNo,
                    ReceiveTime         = coupon.CreatedDate,
                    CouponCardNo        = couponCardNo,
                    OriginalCouponSysNo = originalCouponSysNo
                };
                SpCouponReceiveLogBo.Instance.Insert(log);
            }
            return(couponSysNo);
        }
Esempio n. 10
0
        /// <summary>
        /// 登录认证信息
        /// </summary>
        /// <param name="user">用户对象</param>
        /// <param name="isPersistent">如果票证将存储在持久性 Cookie 中(跨浏览器会话保存),则为 true;否则为 false。如果该票证存储在 URL 中,将忽略此值。</param>
        /// <returns></returns>
        /// <remarks>2013-06-24 吴文强 创建</remarks>
        public void Ticket(SyUser user, bool isPersistent)
        {
            var now = DateTime.Now;

            var ticket = new FormsAuthenticationTicket(
                1,
                user.SysNo.ToString(),
                now,
                now.Add(FormsAuthentication.Timeout),
                isPersistent,
                user.Account,
                FormsAuthentication.FormsCookiePath);

            var encryptedTicket = FormsAuthentication.Encrypt(ticket);

            var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);

            cookie.HttpOnly = true;
            if (ticket.IsPersistent)
            {
                cookie.Expires = ticket.Expiration;
            }
            cookie.Secure = FormsAuthentication.RequireSSL;
            cookie.Path   = FormsAuthentication.FormsCookiePath;
            if (FormsAuthentication.CookieDomain != null)
            {
                cookie.Domain = FormsAuthentication.CookieDomain;
            }

            HttpContext.Current.Response.Cookies.Add(cookie);
        }
Esempio n. 11
0
        ///// <summary>
        ///// 分页获取运费模板
        ///// </summary>
        ///// <param name="filter">筛选条件</param>
        ///// <returns>分页列表</returns>
        ///// <remarks>2015-08-06 王耀发 创建</remarks>
        //public Pager<LgFreightModule> GetLgFreightModuleList(ParaFreightModule filter)
        //{
        //    return ILgFreightModuleDao.Instance.GetLgFreightModuleList(filter);
        //}

        ///// <summary>
        ///// 获取运费模板信息
        ///// </summary>
        ///// <param name="sysNo">费模板编号</param>
        ///// <returns></returns>
        ///// <remarks>2015-08-06 王耀发 创建</remarks>
        //public LgFreightModule GetEntity(int sysNo)
        //{
        //    return Hyt.DataAccess.Logistics.ILgFreightModuleDao.Instance.GetEntity(sysNo);
        //}

        /// <summary>
        /// 保存运费模板
        /// </summary>
        /// <param name="model">运费模板</param>
        /// <param name="user">操作人</param>
        /// <returns></returns>
        /// <remarks>2015-08-06 王耀发 创建</remarks>
        public Result SaveFreightModuleDetails(LgFreightModuleDetails model, SyUser user)
        {
            Result result = new Result()
            {
                Status = false
            };

            if (model.SysNo > 0)
            {
                model.LastUpdateBy   = user.SysNo;
                model.LastUpdateDate = DateTime.Now;
                UpdateFreightModuleDetails(model);
                result.StatusCode = model.SysNo;
            }
            else
            {
                //新增数据
                model.Status         = (int)Hyt.Model.WorkflowStatus.PromotionStatus.促销规则状态.待审;
                model.CreatedDate    = DateTime.Now;
                model.CreatedBy      = user.SysNo;
                model.LastUpdateBy   = user.SysNo;
                model.LastUpdateDate = DateTime.Now;
                result.StatusCode    = Hyt.DataAccess.Logistics.IFreightModuleDetailsDao.Instance.Insert(model);
            }
            result.Status  = true;
            result.Message = "保存成功";
            return(result);
        }
Esempio n. 12
0
        /// <summary>
        /// 取消确认付款单明细
        /// </summary>
        /// <param name="sysNo">明细编号</param>
        /// <param name="user">操作人</param>
        /// <returns></returns>
        /// <remarks>2013-07-22 黄志勇 创建</remarks>
        public void CancelConfirmPaymentVoucherItem(int sysNo, SyUser user)
        {
            var payitem = IFnPaymentVoucherDao.Instance.GetVoucherItem(sysNo);

            if (payitem == null)
            {
                throw new Exception("付款单明细不存在");
            }
            if (payitem.Status == (int)Model.WorkflowStatus.FinanceStatus.付款单明细状态.已付款)
            {
                var paymentVoucher = IFnPaymentVoucherDao.Instance.GetEntity(payitem.PaymentVoucherSysNo);
                if (paymentVoucher == null)
                {
                    throw new Exception("付款单不存在");
                }
                var paidAmount = paymentVoucher.PaidAmount - payitem.Amount;
                if (paidAmount < 0)
                {
                    throw new Exception("付款单取消确认后已付金额小于0");
                }
                paymentVoucher.PaidAmount     = paidAmount;
                paymentVoucher.LastUpdateBy   = user.SysNo;
                paymentVoucher.LastUpdateDate = DateTime.Now;
                IFnPaymentVoucherDao.Instance.UpdateVoucher(paymentVoucher);
                payitem.Status         = (int)Model.WorkflowStatus.FinanceStatus.付款单明细状态.待付款;
                payitem.LastUpdateBy   = user.SysNo;
                payitem.LastUpdateDate = DateTime.Now;
                IFnPaymentVoucherDao.Instance.UpdateVoucherItem(payitem);
            }
            else
            {
                throw new Exception("当前状态不满足取消确认条件");
            }
        }
Esempio n. 13
0
        /// <summary>
        /// 保存启邦商品备案信息
        /// </summary>
        /// <param name="productModel"></param>
        /// <returns></returns>
        /// <remarkss>2016-12-13 周 创建</remarks>
        public Result SaveIcpQiBangGoodsInfo(IcpQiBangGoodsInfo model, SyUser user)
        {
            Result r = new Result()
            {
                Status = false
            };
            IcpQiBangGoodsInfo entity = IcpDao.Instance.GetIcpQiBangGoodsInfoEntityByPid(model.ProductSysNo);

            if (entity != null)
            {
                model.SysNo          = entity.SysNo;
                model.CreatedDate    = entity.CreatedDate;
                model.CreatedBy      = entity.CreatedBy;
                model.LastUpdateBy   = user.SysNo;
                model.LastUpdateDate = DateTime.Now;
                IcpDao.Instance.UpdateIcpBYJiChangGoodsInfoEntity(model);
                r.Status = true;
            }
            else
            {
                model.CreatedDate    = DateTime.Now;
                model.CreatedBy      = user.SysNo;
                model.LastUpdateBy   = user.SysNo;
                model.LastUpdateDate = DateTime.Now;
                IcpDao.Instance.InsertIcpBYJiChangGoodsInfo(model);
                r.Status = true;
            }
            return(r);
        }
Esempio n. 14
0
        /// <summary>
        /// 保存仓库免邮费
        /// </summary>
        /// <param name="model">仓库免邮费</param>
        /// <param name="user">操作人</param>
        /// <returns></returns>
        /// <remarks>2016-04-20 王耀发 创建</remarks>
        public Result SaveWhouseFreightFree(WhouseFreightFree model, SyUser user)
        {
            Result r = new Result();

            try
            {
                if (model.SysNo > 0)
                {
                    WhouseFreightFree Entity = IWhouseFreightFreeDao.Instance.GetEntity(model.SysNo);
                    model.CreatedBy      = Entity.CreatedBy;
                    model.CreatedDate    = Entity.CreatedDate;
                    model.LastUpdateBy   = user.SysNo;
                    model.LastUpdateDate = DateTime.Now;
                    IWhouseFreightFreeDao.Instance.Update(model);
                    r.Status  = true;
                    r.Message = "操作成功";
                }
                else
                {
                    model.CreatedBy      = user.SysNo;
                    model.CreatedDate    = DateTime.Now;
                    model.LastUpdateBy   = user.SysNo;
                    model.LastUpdateDate = DateTime.Now;
                    IWhouseFreightFreeDao.Instance.Insert(model);
                    r.Status  = true;
                    r.Message = "操作成功";
                }
            }
            catch (Exception ex)
            {
                r.Status  = false;
                r.Message = ex.Message;
            }
            return(r);
        }
Esempio n. 15
0
        /// <summary>
        /// 保存高捷商品配置信息
        /// </summary>
        /// <param name="productModel"></param>
        /// <returns></returns>
        /// <remarks>2016-04-05 王耀发 创建</remarks>
        public Result SaveLgGaoJieGoodsInfo(LgGaoJieGoodsInfo model, SyUser user)
        {
            Result r = new Result()
            {
                Status = false
            };
            LgGaoJieGoodsInfo entity = ILogisticsDao.Instance.GetLgGaoJieGoodsInfoEntityByPid(model.ProductSysNo);

            if (entity != null)
            {
                model.SysNo          = entity.SysNo;
                model.CreatedDate    = entity.CreatedDate;
                model.CreatedBy      = entity.CreatedBy;
                model.LastUpdateBy   = user.SysNo;
                model.LastUpdateDate = DateTime.Now;
                ILogisticsDao.Instance.UpdateLgGaoJieGoodsInfoEntity(model);
                r.Status = true;
            }
            else
            {
                model.CreatedDate    = DateTime.Now;
                model.CreatedBy      = user.SysNo;
                model.LastUpdateBy   = user.SysNo;
                model.LastUpdateDate = DateTime.Now;
                ILogisticsDao.Instance.InsertLgGaoJieGoodsInfoEntity(model);
                r.Status = true;
            }
            return(r);
        }
Esempio n. 16
0
 /// <summary>
 /// 作废订单收款单(已付款的生成退款信息)
 /// </summary>
 /// <param name="order">订单</param>
 /// <param name="user">操作用户</param>
 /// <param name="autoPay">自动付款</param>
 /// <returns></returns>
 ///<remarks>2013-07-17 朱成果 创建</remarks>
 public void CancelOrderReceipt(SoOrder order, SyUser user, bool autoPay = false)
 {
     if (order != null)
     {
         var entity = Hyt.DataAccess.Finance.IFnReceiptVoucherDao.Instance.GetEntity(sourceFromOrder, order.SysNo);
         if (entity != null && entity.Status != (int)FinanceStatus.收款单状态.作废)
         {
             //已收款,生成新的付款单,否则作废收款单
             if (entity.ReceivedAmount > 0)
             {
                 FnPaymentVoucher pv = new FnPaymentVoucher()
                 {
                     PayableAmount    = entity.ReceivedAmount,
                     CreatedBy        = user == null ? 0 : user.SysNo,
                     CreatedDate      = DateTime.Now,
                     CustomerSysNo    = order.CustomerSysNo,
                     Source           = (int)FinanceStatus.付款来源类型.销售单,
                     TransactionSysNo = entity.TransactionSysNo,
                     SourceSysNo      = order.SysNo,
                     Status           = autoPay?(int)FinanceStatus.付款单状态.已付款:(int)FinanceStatus.付款单状态.待付款,
                     Remarks          = "订单作废",
                     PayDate          = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue,
                     LastUpdateDate   = DateTime.Now
                 };
                 pv.SysNo = Hyt.DataAccess.Finance.IFnPaymentVoucherDao.Instance.Insert(pv);
                 var list = Hyt.DataAccess.Finance.IFnReceiptVoucherItemDao.Instance.GetListByReceiptNo(entity.SysNo);
                 if (list != null)
                 {
                     foreach (FnReceiptVoucherItem m in list)
                     {
                         FnPaymentVoucherItem p = new FnPaymentVoucherItem()
                         {
                             Amount                   = m.Amount,
                             CreatedBy                = user == null ? 0 : user.SysNo,
                             CreatedDate              = DateTime.Now,
                             OriginalVoucherNo        = m.VoucherNo,
                             OriginalPaymentTypeSysNo = m.PaymentTypeSysNo,
                             PaymentType              = GetPaymentType(m.PaymentTypeSysNo),//支付方式对应付款方式
                             PaymentVoucherSysNo      = pv.SysNo,
                             RefundAccount            = m.CreditCardNumber,
                             TransactionSysNo         = entity.TransactionSysNo,
                             Status                   = autoPay? (int)FinanceStatus.付款单明细状态.已付款 : (int)FinanceStatus.付款单明细状态.待付款,
                             PayDate                  = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue,
                             LastUpdateDate           = DateTime.Now
                         };
                         Hyt.DataAccess.Finance.IFnPaymentVoucherDao.Instance.InsertItem(p);
                     }
                 }
             }
             else
             {
                 entity.Remark         = "订单作废";
                 entity.Status         = (int)FinanceStatus.收款单状态.作废;
                 entity.LastUpdateDate = DateTime.Now;
                 entity.LastUpdateBy   = user == null ? 0 : user.SysNo;
                 Hyt.DataAccess.Finance.IFnReceiptVoucherDao.Instance.Update(entity);
             }
         }
     }
 }
Esempio n. 17
0
        /// <summary>
        /// 保存优惠券
        /// </summary>
        /// <param name="coupon">促销规则实体</param>
        /// <param name="userSysNo">操作者</param>
        /// <param name="originalCoupon">原优惠卷(复制优惠卷时使用)</param>
        /// <param name="couponCardNo">优惠卡号(复制优惠卡时使用)</param>
        /// <returns></returns>
        /// <remarks>2013-12-31 黄波 创建</remarks>
        public int SaveCoupon(SpCoupon coupon, int userSysNo, SpCoupon originalCoupon = null, string couponCardNo = null)
        {
            var syUser = new SyUser {
                SysNo = userSysNo
            };

            return(SaveCoupon(coupon, syUser));
        }
Esempio n. 18
0
 /// <summary>
 /// 删除用户组
 /// </summary>
 /// <param name="sysNo">用户组编号</param>
 /// <param name="user">操作人</param>
 /// <returns></returns>
 /// <remarks>2013-08-05 朱成果 创建</remarks>
 public void DeleteUserGroup(int sysNo, SyUser user)
 {
     if (IsBeingUsed(sysNo))
     {
         throw new Exception("当前用户组已经包括用户数据,不能删除");
     }
     Hyt.DataAccess.Sys.ISyPermissionDao.Instance.Delete((int)Hyt.Model.WorkflowStatus.SystemStatus.授权来源.用户组, sysNo);
     Hyt.DataAccess.Sys.ISyUserGroupDao.Instance.Delete(sysNo);
 }
Esempio n. 19
0
        /// <summary>
        /// 取消确认收款单
        /// </summary>
        /// <param name="sysNo">收款单编号</param>
        /// <param name="syUser">操作用户</param>
        /// <returns></returns>
        ///<remarks>2013-07-08 朱成果 创建</remarks>
        public void CancelConfirmReceiptVoucher(int sysNo, SyUser syUser)
        {
            var model = Hyt.DataAccess.Finance.IFnReceiptVoucherDao.Instance.GetEntity(sysNo);

            model.Status         = (int)FinanceStatus.收款单状态.待确认;
            model.LastUpdateBy   = syUser.SysNo;
            model.LastUpdateDate = DateTime.Now;
            Hyt.DataAccess.Finance.IFnReceiptVoucherDao.Instance.Update(model);
        }
Esempio n. 20
0
        /// <summary>
        /// 门店自提确认
        /// </summary>
        /// <param name="sysNo">出库单编号</param>
        /// <param name="user">操作人信息</param>
        /// <returns></returns>
        /// <remarks>2013-07-06 朱成果 创建</remarks>
        public void SelfDeliverySure(int sysNo, SyUser user)
        {
            // 1.没有应收款的出库单,向数据库里面写入一条验证码记录,并将该验证码发送到收货人手机
            // 2.有应收款的出库单,向收货人手机发送一条提示信息
            var outstock = Hyt.DataAccess.Warehouse.IOutStockDao.Instance.GetModel(sysNo);//出库单实体

            if (outstock == null)
            {
                throw new Exception("出库单不存在");
            }
            if (outstock.Status != (int)Hyt.Model.WorkflowStatus.WarehouseStatus.出库单自提状态.待确认)
            {
                return;   //非待确认状态不执行操作
            }
            var receiveAddress = SoOrderBo.Instance.GetOrderReceiveAddress(outstock.ReceiveAddressSysNo);

            if (receiveAddress == null)
            {
                throw new Exception("收货地址不存在");
            }
            outstock.Status = (int)Hyt.Model.WorkflowStatus.WarehouseStatus.出库单自提状态.待自提;
            Hyt.DataAccess.Warehouse.IOutStockDao.Instance.Update(outstock);                                  //更新数据库状态
            var isPay = outstock.Receivable == 0;                                                             //是否有应收款
            var Shop  = Hyt.BLL.Warehouse.WhWarehouseBo.Instance.GetWarehouseEntity(outstock.WarehouseSysNo); //仓库信息

            var order = SoOrderBo.Instance.GetByOutStockSysNo(sysNo);                                         //订单信息

            //写订单事务日志 余勇 添加 2014-02-24
            SoOrderBo.Instance.WriteSoTransactionLog(order.TransactionSysNo
                                                     ,
                                                     Constant.ORDER_TRANSACTIONLOG_SHOPORDER_SURE
                                                     , user.UserName);
            #region 发送短信,邮件
            if (VHelper.ValidatorRule(new Rule_Mobile(receiveAddress.MobilePhoneNumber)).IsPass)
            {
                SmsResult R = null;
                if (isPay)//提货码和通知短信
                {
                    R = SendSelfDeliveryValidation(outstock.SysNo, outstock.OrderSysNO, receiveAddress.MobilePhoneNumber, Shop);
                }
                else//通知短信
                {
                    R = Hyt.BLL.Extras.SmsBO.Instance.发送自提通知短信(receiveAddress.MobilePhoneNumber, outstock.OrderSysNO.ToString(), Shop.StreetAddress, Shop.Phone);
                }
                if (R != null && R.Status == SmsResultStatus.Failue)
                {
                    throw new Exception("短信发送失败,请检查当前会员是否支持接收短信");
                }
            }
            if (VHelper.Do(receiveAddress.EmailAddress, VType.Email))
            {
                BLL.Extras.EmailBo.Instance.发送门店自提确认备货邮件(receiveAddress.EmailAddress, order.CustomerSysNo.ToString(),
                                                         order.SysNo.ToString(), Shop.StreetAddress, Shop.Phone);
            }
            #endregion
        }
Esempio n. 21
0
        /// <summary>
        /// 更新用户信息
        /// </summary>
        /// <param name="user">用户信息</param>
        /// <returns>返回操作行</returns>
        /// <remarks>2013-06-19 周唐炬 Crearte</remarks>
        public override int UpdateSyUser(SyUser user)
        {
            int rowsAffected = 0;

            rowsAffected = Context.Update <SyUser>("SYUSER", user)
                           .AutoMap(x => x.SysNo)
                           .Where(x => x.SysNo)
                           .Execute();
            return(rowsAffected);
        }
Esempio n. 22
0
        /// <summary>
        /// 确认收款单
        /// </summary>
        /// <param name="sysNo">收款单编号</param>
        /// <param name="syUser">操作用户</param>
        /// <returns></returns>
        ///<remarks>2013-07-08 朱成果 创建</remarks>
        public void ConfirmReceiptVoucher(int sysNo, SyUser syUser)
        {
            var model = Hyt.DataAccess.Finance.IFnReceiptVoucherDao.Instance.GetEntity(sysNo);

            model.Status         = (int)FinanceStatus.收款单状态.已确认;
            model.ConfirmedBy    = syUser.SysNo;
            model.ConfirmedDate  = DateTime.Now;
            model.LastUpdateBy   = syUser.SysNo;
            model.LastUpdateDate = DateTime.Now;
            Hyt.DataAccess.Finance.IFnReceiptVoucherDao.Instance.Update(model);
            #region 更新收款单对应订单付款状态 2013/12/12 朱成果
            if (model != null && model.Source == Hyt.Model.WorkflowStatus.FinanceStatus.收款来源类型.销售单.GetHashCode())
            {
                if (model.ReceivedAmount >= model.IncomeAmount)//收款完毕
                {
                    var order = Hyt.BLL.Order.SoOrderBo.Instance.GetEntity(model.SourceSysNo);
                    if (order != null && order.PayStatus != Hyt.Model.WorkflowStatus.OrderStatus.销售单支付状态.已支付.GetHashCode())
                    {
                        Hyt.BLL.Order.SoOrderBo.Instance.UpdatePayStatus(order.SysNo, Hyt.Model.WorkflowStatus.OrderStatus.销售单支付状态.已支付);
                        if (order != null && order.OnlineStatus == Constant.OlineStatusType.待支付)//更新前台显示状态
                        {
                            switch (order.Status)
                            {
                            case (int)Hyt.Model.WorkflowStatus.OrderStatus.销售单状态.待审核:
                                SoOrderBo.Instance.UpdateOnlineStatusByOrderID(order.SysNo, Constant.OlineStatusType.待审核);     //更新订单前台显示状态 余勇修改为调用业务层方法  Hyt.DataAccess.Order.ISoOrderDao.Instance.UpdateOnlineStatusByOrderID(order.SysNo, Constant.OlineStatusType.待审核);
                                break;

                            default:
                                SoOrderBo.Instance.UpdateOnlineStatusByOrderID(order.SysNo, Constant.OlineStatusType.待出库);     //更新订单前台显示状态 余勇修改为调用业务层方法 Hyt.DataAccess.Order.ISoOrderDao.Instance.UpdateOnlineStatusByOrderID(order.SysNo, Constant.OlineStatusType.待出库);
                                break;
                            }
                        }
                        Hyt.BLL.Log.SysLog.Instance.Warn(LogStatus.系统日志来源.后台, "确认收款单更改订单支付状态", LogStatus.系统日志目标类型.订单, order.SysNo,
                                                         syUser.SysNo);
                    }

                    ///判断是否客服下单,针对客服下单而且是付款的,同时配置是支付减库存的,进行库存的增减
                    if (order.OrderSource == (int)OrderStatus.销售单来源.客服下单)
                    {
                        //减库存 2017-1-10 杨云奕
                        //减库存标识:1-支付后减库存,0-出库后减库存
                        if (BLL.Config.Config.Instance.GetGeneralConfig().ReducedInventory == 1)
                        {
                            var orderItems = BLL.Order.SoOrderBo.Instance.GetOrderItemsByOrderId(order.SysNo);
                            foreach (var item in orderItems)
                            {
                                BLL.Warehouse.PdProductStockBo.Instance.UpdateStockQuantity(order.DefaultWarehouseSysNo, item.ProductSysNo, item.Quantity);
                            }
                        }
                    }
                }
            }
            #endregion
        }
Esempio n. 23
0
        /// <summary>
        /// 商品入库
        /// </summary>
        /// <param name="model">入库单实体</param>
        /// <param name="user">操作人</param>
        /// <returns>返回操作状态(Result.StatusCode大于等于0成功,小于0失败)</returns>
        /// <remarks>2013-06-14 周唐炬 创建</remarks>
        private void ItemInStock(WhStockIn model, SyUser user)
        {
            if (model == null || model.ItemList == null || !model.ItemList.Any())
            {
                return;
            }
            model.ItemList.ForEach(x =>
            {
                #region 注释
                //var data = IInStockDao.Instance.GetWhStockInItem(x.SysNo);
                //x.SourceItemSysNo = data.SourceItemSysNo;
                //if (data == null)
                //{
                //    throw new HytException(string.Format("该入库{0}无效!", x.ProductName));
                //}
                //var count = data.RealStockInQuantity + x.RealStockInQuantity;
                //if (count > data.StockInQuantity)
                //{
                //    throw new HytException("实际商品入库数量总和超出商品入库数量,请检查!");
                //}
                //data.RealStockInQuantity = count;
                //data.LastUpdateBy = user.SysNo;
                //data.LastUpdateDate = DateTime.Now;
                //UpdateStockInItem(data);
                #endregion

                var data          = IInStockDao.Instance.GetWhStockInItem(x.SysNo);
                x.SourceItemSysNo = data.SourceItemSysNo;
                if (data == null)
                {
                    throw new HytException(string.Format("该入库{0}无效!", x.ProductName));
                }
                var count = 0;
                if (model.SourceType == 50)
                {
                    count = data.RealStockInQuantity;
                }
                else
                {
                    count = data.RealStockInQuantity + x.RealStockInQuantity;
                }
                if (count > data.StockInQuantity)
                {
                    throw new HytException("实际商品入库数量总和超出商品入库数量,请检查!");
                }
                data.RealStockInQuantity = count;
                data.LastUpdateBy        = user.SysNo;
                data.LastUpdateDate      = DateTime.Now;
                UpdateStockInItem(data);
                UpdateStockInStatus(model.SysNo, WarehouseStatus.入库单状态.已入库, user);      //修改入库单状态
            });

            EasInStock(model);
        }
Esempio n. 24
0
 /// <summary>
 /// 保存促销
 /// </summary>
 /// <param name="promotion">促销实体</param>
 /// <param name="user">操作者</param>
 /// <returns>sysNo</returns>
 /// <remarks>2013-08-22 黄志勇 创建</remarks>
 public int SavePromotion(SpPromotion promotion, SyUser user)
 {
     promotion.LastUpdateBy   = user.SysNo;
     promotion.LastUpdateDate = DateTime.Now;
     if (promotion.SysNo > 0)
     {
         return(ISpPromotionDao.Instance.Update(promotion));
     }
     promotion.CreatedBy   = user.SysNo;
     promotion.CreatedDate = DateTime.Now;
     return(ISpPromotionDao.Instance.Insert(promotion));
 }
Esempio n. 25
0
        /// <summary>
        /// 启用,禁用用户组
        /// </summary>
        /// <param name="sysNo">用户组编号</param>
        /// <param name="disabled">true 禁用 false 启用</param>
        /// <param name="user">操作人</param>
        /// <returns></returns>
        /// <remarks>2013-08-05 朱成果 创建</remarks>
        public void DisabledUserGroup(int sysNo, bool disabled, SyUser user)
        {
            var entity = GetEntity(sysNo);

            if (entity == null)
            {
                throw new Exception("用户组不存在");
            }
            entity.Status         = disabled ? (int)Hyt.Model.WorkflowStatus.SystemStatus.用户组状态.禁用 : (int)Hyt.Model.WorkflowStatus.SystemStatus.用户组状态.启用;
            entity.LastUpdateBy   = user.SysNo;
            entity.LastUpdateDate = DateTime.Now;
            Hyt.DataAccess.Sys.ISyUserGroupDao.Instance.Update(entity);
        }
Esempio n. 26
0
        public async Task <IActionResult> ChangePasswordConfirm(ChangePasswordViewModel model)
        {
            ViewBag.Message = "";
            //get user data
            var       sessionInfo = HttpContext.Session.GetString("LoginInfo");
            LoginInfo loginInfo   = JsonConvert.DeserializeObject <LoginInfo>(sessionInfo);

            SyUser user = DbContext.SyUser.Where(a => a.UserId == loginInfo.UserId).FirstOrDefault();

            if (user == null)
            {
                ModelState.AddModelError(string.Empty, "User " + loginInfo.UserName + " is not recognized.");
            }
            else if (user.IsActive == false)
            {
                ModelState.AddModelError(string.Empty, "User " + loginInfo.UserName + " is not active.");
            }
            else
            {
                string decPassword = EncryptHelper.ConvertToDecrypt(user.Password);
                if (model.OldPassword != decPassword)
                {
                    ModelState.AddModelError("OldPassword", "Old Password is wrong.");
                }
                if (model.NewPassword == model.OldPassword)
                {
                    ModelState.AddModelError("NewPassword", "New Password is same with Old Password.");
                }
                if (model.ConfirmPassword != model.NewPassword)
                {
                    ModelState.AddModelError("ConfirmPassword", "Confirm Password is different with New Password.");
                }
            }
            if (ModelState.IsValid)
            {
                user.Password = EncryptHelper.ConvertToEncrypt(model.NewPassword);
                user.EditDate = DateTime.Now;
                user.EditBy   = loginInfo.UserId;
                DbContext.SyUser.Update(user);
                await DbContext.SaveChangesAsync();

                //HttpContext.Session.Clear();
                //return RedirectToAction("Login", "Account");
                ViewBag.Message = "Your password has been changed.";
            }

            GetLoginInfo();
            GetMenu();
            return(View("ChangePassword", model));
        }
Esempio n. 27
0
        /// <summary>
        /// 分销商充值
        /// </summary>
        /// <param name="sysNo">分销商系统编号</param>
        /// <param name="amount">金额</param>
        /// <param name="syUser">操作者</param>
        /// <param name="remarks">备注</param>
        /// <returns>系统编号</returns>
        /// <remarks>2013-09-10 周唐炬 创建</remarks>
        public void Prepaid(int sysNo, decimal amount, SyUser syUser, string remarks)
        {
            if (!CheckDealerStatus(sysNo))
            {
                throw new HytException("非法操作,经销禁用时不能充值!");
            }
            var model           = DsPrePaymentBo.Instance.GetDsPrePayment(sysNo);
            var prePaymentSysNo = 0;

            if (model != null)
            {
                //model.TotalPrestoreAmount += amount;
                //model.LastUpdateBy = syUser.SysNo;
                //model.LastUpdateDate = DateTime.Now;
                //IDsPrePaymentDao.Instance.Update(model);

                model.AvailableAmount += amount;
                IDsPrePaymentDao.Instance.AddTotalPrestoreAmount(sysNo, amount, syUser.SysNo);
                IDsPrePaymentDao.Instance.AddAvailableAmount(sysNo, amount, syUser.SysNo);
                prePaymentSysNo = model.SysNo;
            }
            else
            {
                model = new DsPrePayment()
                {
                    DealerSysNo         = sysNo,
                    TotalPrestoreAmount = amount,
                    AvailableAmount     = amount
                };
                model.CreatedBy   = model.LastUpdateBy = syUser.SysNo;
                model.CreatedDate = model.LastUpdateDate = DateTime.Now;
                prePaymentSysNo   = IDsPrePaymentDao.Instance.Insert(model);
            }
            var itemModel = new DsPrePaymentItem()
            {
                PrePaymentSysNo = prePaymentSysNo,
                Source          = (int)DistributionStatus.预存款明细来源.预存款,
                SourceSysNo     = model.SysNo,
                Increased       = amount,
                Decreased       = decimal.Zero,
                Surplus         = model.AvailableAmount,
                Status          = (int)DistributionStatus.预存款明细状态.完结,
                Remarks         = remarks
            };

            itemModel.CreatedBy   = itemModel.LastUpdateBy = syUser.SysNo;
            itemModel.CreatedDate = itemModel.LastUpdateDate = DateTime.Now;
            IDsPrePaymentItemDao.Instance.Insert(itemModel);
        }
Esempio n. 28
0
        /// <summary>
        /// 订单发票事务
        /// </summary>
        /// <param name="model">发票实体</param>
        /// <param name="user">操作人</param>
        /// <remarks>2013-12-05 周唐炬 创建</remarks>
        public void InvoiceTransaction(FnInvoice model, SyUser user)
        {
            var order = SoOrderBo.Instance.GetByTransactionSysNo(model.TransactionSysNo);

            if (order == null)
            {
                throw new HytException("未找到订单,请刷新重试!");
            }
            model.InvoiceAmount    = order.CashPay;
            model.TransactionSysNo = order.TransactionSysNo;
            //已经开具过发票
            if (model.SysNo > 0)
            {
                //如果订单已存在开票数据,并且跟本次发票号不匹配,不能在新开发票
                if (order.InvoiceSysNo > 0 && order.InvoiceSysNo != model.SysNo)
                {
                    throw new HytException("该订单已经开具过发票,请搜索订单号重新开具!");
                }
                if (order.Status == OrderStatus.销售单状态.作废.GetHashCode())
                {
                    throw new HytException("该订单已经作废,不能开票!");
                }
                SoOrderBo.Instance.UpdateOrderInvoice(model);
            }
            else //新开
            {
                model.CreatedBy   = user.SysNo;
                model.CreatedDate = DateTime.Now;
                var newInvoiceSysNo = SoOrderBo.Instance.InsertOrderInvoice(model);
                if (newInvoiceSysNo > 0)
                {
                    //发票信息更新到订单
                    SoOrderBo.Instance.UpdateOrderInvoice(order.SysNo, newInvoiceSysNo);

                    //更新应收金额大于0 的出库单的发票系统编号
                    var list = WhWarehouseBo.Instance.GetModelByTransactionSysNo(order.TransactionSysNo);

                    var master = list.Where(m => m.Receivable > 0).ToList();
                    if (master.Any())
                    {
                        master.ForEach(x =>
                        {
                            x.InvoiceSysNo = newInvoiceSysNo;
                            WhWarehouseBo.Instance.UpdateStockOut(x);
                        });
                    }
                }
            }
        }
Esempio n. 29
0
        /// <summary>
        /// 作废团购
        /// </summary>
        /// <param name="sysNo">团购系统编号</param>
        /// <param name="user">操作用户</param>
        /// <returns></returns>
        /// <remarks>2013-09-02 余勇 创建</remarks>
        public Result Invalid(int sysNo, SyUser user)
        {
            var res = new Result();

            if (sysNo > 0)
            {
                var model = IGsGroupShoppingDao.Instance.Get(sysNo);
                model.LastUpdateBy   = user.SysNo;
                model.LastUpdateDate = DateTime.Now;
                model.Status         = (int)GroupShoppingStatus.团购状态.作废;
                IGsGroupShoppingDao.Instance.Update(model); //修改
                res.Status = true;
            }
            return(res);
        }
Esempio n. 30
0
        /// <summary>
        /// 作废套餐
        /// </summary>
        /// <param name="sysNo">套餐系统编号</param>
        /// <param name="user">操作用户</param>
        /// <returns></returns>
        /// <remarks>2016-1-15 王耀发 创建</remarks>
        public Result Invalid(int sysNo, SyUser user)
        {
            var res = new Result();

            if (sysNo > 0)
            {
                var model = ISpComboDao.Instance.GetEntity(sysNo);
                model.LastUpdateBy   = user.SysNo;
                model.LastUpdateDate = DateTime.Now;
                model.Status         = (int)PromotionStatus.组合套餐状态.作废;
                ISpComboDao.Instance.Update(model); //修改
                res.Status = true;
            }
            return(res);
        }