username@email.com
昨天 529d8cb61421eb65d86559d3d2636ad405b87b41
CY_ECommercePlatform/CY.WebForm/Pages/financial/NewWaixieExpenses.aspx.cs
@@ -28,6 +28,10 @@
        OA_FirmAccount firmAccount = null;
        OA_FukuanshenqingBLL _fukuanshenqingBLL = null;
        string orderNo = string.Empty;
        OA_SubjectSetBLL _OA_SubjectSetBLL = null;
        Sys_DictionaryBLL _Sys_DictionaryBLL = null;
        OA_StaffBLL staffBLL = null;
        OA_BaozhengjinBLL oA_BaozhengjinBLL = null;
        decimal? AllMoney = 0;
        decimal? ReceiveMoney = 0;
@@ -42,6 +46,10 @@
            firmAccountRecord = new OA_FirmAccountRecord();
            _OA_FirmAccountRecordBLL = new OA_FirmAccountRecordBLL();
            _fukuanshenqingBLL = new OA_FukuanshenqingBLL();
            _Sys_DictionaryBLL = new Sys_DictionaryBLL();
            staffBLL = new OA_StaffBLL();
            oA_BaozhengjinBLL = new OA_BaozhengjinBLL();
            _OA_SubjectSetBLL = new OA_SubjectSetBLL();
        }
        /// <summary>
@@ -125,8 +133,9 @@
                return;
            }
            firmAccount = _OA_FirmAccountBLL.getSingleSubject(Request["selAccountName"].ToInt32());
            var money = this.txtReciveMoney.Text.ToDecimal2();
            if (this.txtReciveMoney.Text.ToDecimal2() > 0 && firmAccount.Balance < this.txtReciveMoney.Text.ToDecimal2())
            var money = this.txtReciveMoney.Value.ToDecimal2();
            var molingmoney = this.txtMolingMoney.Value.ToDecimal2();
            if (this.txtReciveMoney.Value.ToDecimal2() > 0 && firmAccount.Balance < this.txtReciveMoney.Value.ToDecimal2())
            {
                JavaScript.MessageBox("账户余额不足", this);
                return;
@@ -136,12 +145,35 @@
            var id = this.Keyid.Value.ToInt32().Value;
            var fukuanshenqing = _fukuanshenqingBLL.GetModelByKeyid(id);
            if (fukuanshenqing.FukuanStatus == 2 && money > 0)
            {
                JavaScript.MessageBox("该申请已经付款结束!", this);
                return;
            }
            if (money > (fukuanshenqing.Fukuanmoney - fukuanshenqing.Yishoumoney))
            {
                JavaScript.MessageBox("操作金额大于剩余应付金额!", this);
                return;
            }
            var Youwufapiao = Request["rdoReceiveQuannbu"];
            if (fukuanshenqing.Youwufapiao == 2 && Youwufapiao == "1")
            {
                JavaScript.MessageBox("已经保存为有发票,无法修改为无发票!", this);
                return;
            }
            if (molingmoney.HasValue)
            {
                if ((money + molingmoney.Value) != (fukuanshenqing.Fukuanmoney - fukuanshenqing.Yishoumoney))
                {
                    JavaScript.MessageBox("操作金额加抹零金额必须等于剩余应付金额!", this);
                    return;
                }
            }
            string[] Keys = fukuanshenqing.DindanId.Trim(',').Split(',');
            using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required,
    new TransactionOptions
@@ -159,13 +191,25 @@
                    {
                        fukuanshenqing.FukuanStatus = 2;
                    }
                    if (molingmoney.HasValue)
                    {
                        if ((money + molingmoney.Value) >= (fukuanshenqing.Fukuanmoney - fukuanshenqing.Yishoumoney))
                        {
                            fukuanshenqing.FukuanStatus = 2;
                        }
                    }
                    fukuanshenqing.Yishoumoney = yishoumoney + money;
                    fukuanshenqing.Updater = CurrentUser.ShortName;
                    fukuanshenqing.LastUpdateTime = DateTime.Now;
                    fukuanshenqing.Youwufapiao = Youwufapiao.ToInt32();
                    ssss = _fukuanshenqingBLL.UpdateModel(fukuanshenqing);
                    if(this.txtReciveMoney.Text.ToDecimal2() > 0)
                    if(this.txtReciveMoney.Value.ToDecimal2() > 0)
                    {
                        decimal molingmoneyvalue = 0;
                        if (molingmoney.HasValue)
                        {
                            molingmoneyvalue = molingmoney.Value;
                        }
                        foreach (var item in Keys)
                        {
                            if (!string.IsNullOrEmpty(item))
@@ -176,6 +220,23 @@
                                    firmAccountRecord.AccountId = Request["selAccountName"].ToInt32();
                                    firmAccountRecord.LastUpdateTime = DateTime.Now;
                                    firmAccountRecord.Money = orderBasic.UnPayedMoney;
                                    var UnPayedMoney = orderBasic.UnPayedMoney;
                                    if (molingmoneyvalue > 0)
                                    {
                                        if (UnPayedMoney >= molingmoneyvalue)
                                        {
                                            firmAccountRecord.Money = UnPayedMoney - molingmoneyvalue;
                                            molingmoneyvalue = 0;
                                        }
                                        else
                                        {
                                            firmAccountRecord.Money = 0;
                                            molingmoneyvalue = molingmoneyvalue - UnPayedMoney;
                                        }
                                    }
                                    orderNo = orderBasic.SellerOrderId;
                                    firmAccountRecord.OperationalMatters = "外协付款" + "(" + orderNo + ")";
                                    firmAccountRecord.Operator = CurrentUser.ShortName;
@@ -190,6 +251,8 @@
                                    ssss = _OA_FirmAccountRecordBLL.AddModel(firmAccountRecord, firmAccount);
                                    if (ssss)
                                    {
                                        UsePrepare(orderBasic);
@@ -202,6 +265,48 @@
                                }
                            }
                            if (!string.IsNullOrEmpty(this.selSubject.Value))
                            {
                                var oA_SubjectSet = _OA_SubjectSetBLL.getSingleSubject(firmAccountRecord.SubjectId);
                                if (oA_SubjectSet.SubjectName.IndexOf("投标保证金") >= 0 || oA_SubjectSet.SubjectName.IndexOf("履约保证金") >= 0)
                                {
                                    //如果选择科目是保证金,插入以条保证金数据
                                    OA_Baozhengjin oA_Baozhengjin = new OA_Baozhengjin();
                                    oA_Baozhengjin.FirmId = CurrentUser.MemberId;
                                    oA_Baozhengjin.FukuanTime = DateTime.Now;
                                    oA_Baozhengjin.Zhanghuleixing = this.selAcoountType.Value;
                                    var ss = _Sys_DictionaryBLL.GetDataByType("账户类型").FirstOrDefault(x => x.Name == oA_Baozhengjin.Zhanghuleixing);
                                    if (ss != null)
                                    {
                                        oA_Baozhengjin.ReceiveWay = ss.Keyid;
                                    }
                                    oA_Baozhengjin.Account = Request["selAccountName"].ToInt32();
                                    oA_Baozhengjin.Fukuanzhanghu = firmAccount.AccountName + "-" + firmAccount.UserName;
                                    oA_Baozhengjin.Subject = firmAccountRecord.SubjectId;
                                    oA_Baozhengjin.Fukuankemu = oA_SubjectSet.SubjectName;
                                    oA_Baozhengjin.Fukuanmoney = money;
                                    oA_Baozhengjin.Shoukuandanwei = firmAccountRecord.PaymentUnit;
                                    oA_Baozhengjin.remark = firmAccountRecord.OperationalMatters;
                                    oA_Baozhengjin.TuikuanTime = null;
                                    oA_Baozhengjin.TuikuanStatus = 1;
                                    oA_Baozhengjin.Creater = CurrentUser.ShortName;
                                    oA_Baozhengjin.CreateTime = oA_Baozhengjin.FukuanTime;
                                    oA_Baozhengjin.Updater = CurrentUser.ShortName;
                                    oA_Baozhengjin.LastUpdateTime = oA_Baozhengjin.FukuanTime;
                                    oA_Baozhengjin.MemberName = fukuanshenqing.Creater;
                                    var oA_Staff = staffBLL.SelectListByFirmId(CurrentUser.MemberId, false, false).Where(x => x.Name == oA_Baozhengjin.MemberName).FirstOrDefault();
                                    oA_Baozhengjin.MemberId = oA_Staff.Keyid;
                                    var sss = oA_BaozhengjinBLL.InsertModel(oA_Baozhengjin);
                                }
                            }
                        }
                    }
@@ -314,7 +419,8 @@
                this.spanAllMoney.InnerText = "¥" + AllMoney.Value.ToString("0.00");
                this.spanReceiveMoney.InnerText = "¥" + ReceiveMoney.Value.ToString("0.00");
                this.txtReciveMoney.Text = ReceiveMoney.Value.ToString("0.00");
                this.hidReceiveMoney.Value =   ReceiveMoney.Value.ToString();
                this.txtReciveMoney.Value = ReceiveMoney.Value.ToString("0.00");
                this.spanCountRe.InnerHtml = Keys.Count().ToString2() + " 单";
            }