Пример #1
0
        private async void SaveData()
        {
            var amt  = nudAmt.Value;
            var eAmt = Convert.ToDecimal(tbExpectedAmt.Text);

            if (amt <= 0)
            {
                Commons.ShowInfoBox(this, "还款金额必须大于零");
                nudAmt.Focus();
                return;
            }
            var dAmt = eAmt - amt;

            if (dAmt < 0)
            {
                Commons.ShowInfoBox(this, "差额不能小于零");
                nudAmt.Focus();
                return;
            }
            var tranNo   = myGridViewBinding1.GetSelectedValues <int>("tranNo").FirstOrDefault();
            var tranType = myGridViewBinding1.GetSelectedValues <string>("tranType").FirstOrDefault();
            var payType  = rbNormal.Checked ? 1 : rbNominal.Checked ? 3 : rbReverse.Checked ? 2 : 0;
            var sPayType = payType == 1 ? "正常还款" : payType == 3 ? "名义借款人还款" : payType == 2 ? "保证金还款" : "";

            if (Commons.ShowConfirmBox(this, string.Format(
                                           "来源:{0:N}\r\n" +
                                           "金额:{1:N}\r\n" +
                                           "差额:{2:N}\r\n" +
                                           "还款时间:{3:G}\r\n" +
                                           "期数:{4}\r\n" +
                                           "类型:{5}\r\n" +
                                           "\n发起还款么?", sPayType, nudAmt.Value, tbDiffAmt.Text, dtpDatePoint.Value,
                                           tranNo, TRAN_TYPES.FindByValue(tranType))))
            {
                string vf = "";
                var    r  = new Dictionary <string, object>();
                r.AddVF("pid", m_pId, ref vf)
                .AddVF("tran-no", tranNo, ref vf)
                .AddVF("tran-type", tranType, ref vf)
                .AddVF("pay-type", payType, ref vf)
                .AddVF("amt", amt, ref vf)
                .AddVF("paid-time", dtpDatePoint.Value, ref vf)
                .AddVF("remark", tbComments.Text.LeftStr(2000), ref vf);
                r["signature"] = Verification.GetSha1(vf);

                var p = await Projects.SaveBonusDetail(r);

                if (p.IsOk)
                {
                    panel1.Visible = false;
                    UpdateTable1();
                    UpdateTable2();

                    if (dAmt > 0 && tranType == "0")
                    {
                        Commons.ShowWarnBox(this, "刚才发起的还息不是足额还款。如果是提前还款,请执行还息后立刻足额还本");
                    }
                    var p2 = await Projects.RepayFileUploadTime();

                    if (!p2.IsOk)
                    {
                        Commons.ShowResultErrorBox(this, p2);
                    }
                }
                else
                {
                    Commons.ShowResultErrorBox(this, p);
                }
            }
        }
Пример #2
0
        private async void UpdateTable2()
        {
            var text = tbComments.Text.LeftStr(500);

            if (rbNo.Checked)
            {
                if (text.Trim() == "")
                {
                    Commons.ShowInfoBox(this, "审批不通过时必须输入备注");
                    tbComments.Focus();
                    return;
                }
                if (m_status == 50 || m_status == 70)
                {
                    if (!Commons.ShowConfirmBox(this, "此时审批不通过会导致\"流标\"!确认吗?"))
                    {
                        return;
                    }
                }
            }

            if (rbYes.Checked && m_status == 50)
            {
                var p = await Projects.IsExistsUncheckedTender(m_pId);

                if (p.IsOk)
                {
                    if (p.AsInt > 0)
                    {
                        Commons.ShowWarnBox(this, string.Format("存在{0}个状态未知的投标,请检查投标", p.AsInt));
                        return;
                    }
                }
                else
                {
                    Commons.ShowResultErrorBox(this, p);
                }
            }

            if (m_status == 60)
            {
                var reservedAmt = Commons.ShowDecimalInputDialog(this, 0, "金额(&A)", "输入财务核收服务费", 200);
                if (reservedAmt == -1)
                {
                    return;
                }
                var p = new Dictionary <string, object>();
                p["pid"] = m_pId;
                p["amt"] = reservedAmt;

                var r = await Projects.SaveReservedAmt(p);

                if (!r.IsOk)
                {
                    Commons.ShowResultErrorBox(this, r);
                }
            }

            if (m_status == 70)
            {
                if (m_statusSign == 0)
                {
                    if (!Commons.ShowConfirmBox(this, "签章未完成,确认放款嘛?", "确认"))
                    {
                        return;
                    }
                }
                var password = Commons.ShowInputDialog(this, "密码(&P)", "操作人员身份验证", 200, null, true).Trim();
                if (password == "")
                {
                    return;
                }
                else if (!(await SignIn.ValidateUser(password)))
                {
                    Commons.ShowInfoBox(this, "密码错误,禁止操作!");
                    return;
                }
            }

            var isOk = rbYes.Visible ? rbYes.Checked : true;
            var p2   = new Dictionary <string, object>();

            p2["pid"]      = m_pId;
            p2["flag"]     = isOk;
            p2["comments"] = text;
            Rpc.IResult r2;
            switch (m_status)
            {
            case 0:
                r2 = await Projects.PrjSubmit(p2);

                break;

            case 1:
                r2 = await Projects.PrjMgrAudit(p2);

                break;

            case 10:
                r2 = await Projects.PrjRiskCtrlAudit(p2);

                break;

            case 20:
                r2 = await Projects.PrjBusSecAudit(p2);

                break;

            case 30:
                r2 = await Projects.PrjBusVpAprOnline(p2);

                break;

            case 50:
                r2 = await Projects.PrjBusVpConfirmFull(p2);

                break;

            case 60:
                r2 = await Projects.PrjCheckFee(p2);

                break;

            case 70:
                r2 = await Projects.PrjBusVpConfirmLoan(p2);

                break;

            default:
                return;
            }

            if (r2.IsOk)
            {
                if (!Convert.ToBoolean(r2.AsBoolean))
                {
                    Commons.ShowInfoBox(this, "业务操作失败!");
                }
            }
            else
            {
                Commons.ShowResultErrorBox(this, r2);
            }

            DialogResult = DialogResult.OK;
        }