Exemplo n.º 1
0
        public void Update(CommissionSettlementInfo commissionSettlementInfo)
        {
            DataCommand dc = DataCommandManager.GetDataCommand("UpdateCommissionSettlementInfo");

            dc.SetParameterValue("@SysNo", commissionSettlementInfo.SysNo);
            dc.SetParameterValue("@CommissionAmt", commissionSettlementInfo.CommissionAmt);
            dc.SetParameterValue("@ConfirmCommissionAmt", commissionSettlementInfo.CommissionAmt);
            dc.ExecuteNonQuery();
        }
Exemplo n.º 2
0
        public void Insert(CommissionSettlementInfo commissionSettlementInfo)
        {
            DataCommand dc = DataCommandManager.GetDataCommand("InsertCommissionSettlementInfo");

            dc.SetParameterValue("@UserSysNo", commissionSettlementInfo.UserSysNo);
            dc.SetParameterValue("@Status", commissionSettlementInfo.Status);
            dc.SetParameterValue("@SettledBeginDate", commissionSettlementInfo.SettledBeginDate);
            dc.SetParameterValue("@SettledEndDate", commissionSettlementInfo.SettledEndDate);
            dc.SetParameterValue("@InUser", commissionSettlementInfo.OperateUser);
            dc.ExecuteNonQuery();
        }
        public void ProcessUserSettledCommissionInfo(int userSysNo)
        {
            var endDate   = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
            var beginDate = endDate.AddMonths(-1);
            var commissionSettlementItemInfoList =
                ObjectFactory <ICommissionSettlementItemDA> .Instance.GetCommissionSettlementItemInfoListByUserSysNo(
                    userSysNo, beginDate, endDate, FinanceStatus.Unsettled);

            var commissionSettlementInfo = new CommissionSettlementInfo
            {
                UserSysNo        = userSysNo,
                Status           = FinanceStatus.Settled,
                SettledBeginDate = beginDate,
                SettledEndDate   = endDate,
                OperateUser      = "******"
            };

            ObjectFactory <ICommissionSettlementDA> .Instance.Insert(commissionSettlementInfo);

            if (commissionSettlementInfo.SysNo.HasValue)
            {
                commissionSettlementItemInfoList.ForEach(item =>
                {
                    item.CommissionSettlementItemSOItemCalculateInfoList =
                        item.Type == CPSOrderType.SO
                            ? GetSOCalculateInfo(item.OrderSysNo)
                            : GetRMACalculateInfo(item.OrderSysNo);
                    item.CommissionAmt =
                        item.CommissionSettlementItemSOItemCalculateInfoList.Sum(i => i.Price * i.Qty * i.Percentage);
                    item.Status = FinanceStatus.Settled;
                    item.CommissionSettlementSysNo = commissionSettlementInfo.SysNo;
                    item.OperateUser = "******";
                    ObjectFactory <ICommissionSettlementItemDA> .Instance.Update(item);
                });
                decimal totalAmt = 0;
                commissionSettlementItemInfoList.ForEach(item =>
                {
                    if (item.Type == CPSOrderType.SO)
                    {
                        totalAmt += item.CommissionAmt;
                    }
                    else
                    {
                        totalAmt -= item.CommissionAmt;
                    }
                });
                commissionSettlementInfo.CommissionAmt = totalAmt;
                ObjectFactory <ICommissionSettlementDA> .Instance.Update(commissionSettlementInfo);

                ObjectFactory <ICpsUserDA> .Instance.AddUserBalanceAmt(userSysNo, totalAmt);
            }
        }