예제 #1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (!string.IsNullOrEmpty(Request["type"]))
            {
                type = Request["type"].ToString().ToInt(0);
            }

            this.hidDisId.Value = DisID.ToString();
            this.hidType.Value  = type.ToString();

            if (type == 0)
            {
                KeyID = Common.DesDecrypt((Request["KeyID"] + ""), Common.EncryptKey).ToInt(0);
            }
            else
            {
                KeyID = (Request["KeyID"] + "").ToInt(0);
            }
            this.hidGoodsInfo.Value = KeyID.ToString();
            this.hidIndex.Value     = Request["index"] != null ? Request["index"].ToString() : "";

            if (type == 0)
            {
                Hi.Model.DIS_Order o = new Hi.BLL.DIS_Order().GetModel(KeyID);
                this.txtremark.Value = o.Remark;
                txtremark.Attributes.Add("placeholder", "选填:对本次交易的说明(限200字)。");
                txtremark.Attributes.Add("maxlength", "400");
            }
            else if (type == 1)
            {
                Hi.Model.DIS_OrderDetail od = new Hi.BLL.DIS_OrderDetail().GetModel(KeyID);
                this.txtremark.Value = od.Remark;
                txtremark.Attributes.Add("placeholder", "选填:对本次交易商品的说明(限150字)。");
                txtremark.Attributes.Add("maxlength", "150");
            }
            else
            {
                //DataTable dt = HttpContext.Current.Session["GoodsInfo"] as DataTable;
                txtremark.Attributes.Add("placeholder", "选填:对本次交易商品的说明(限150字)。");
                txtremark.Attributes.Add("maxlength", "150");
                ClientScript.RegisterStartupScript(this.GetType(), "121", "<script>type3();</script>");

                //if (dt != null && dt.Rows.Count > 0)
                //{
                //    DataRow[] dr = dt.Select(" GoodsInfoID=" + KeyID);
                //    if (dr.Length > 0)
                //    {
                //        this.txtremark.Value = dr[0]["Remark"].ToString();
                //    }
                //}
                //this.txtremark.Value = Request["remark"] != null ? Request["remark"].ToString() : "";
            }
        }
    }
예제 #2
0
    public static string Edit(string KeyID, string type, string remark)
    {
        remark = Common.NoHTML(remark);
        Common.ResultMessage Msg = new Common.ResultMessage();

        if (type == "0")
        {
            Hi.BLL.DIS_Order OrderBll = new Hi.BLL.DIS_Order();
            int oID = Common.DesDecrypt(KeyID, Common.EncryptKey).ToInt(0);
            Hi.Model.DIS_Order OrderModel = OrderBll.GetModel(oID);
            if (OrderModel != null)
            {
                OrderModel.Remark = Common.NoHTML(remark);
                OrderModel.ts     = DateTime.Now;
                if (OrderBll.Update(OrderModel))
                {
                    Msg.result = true;
                    Msg.code   = OrderModel.ts.ToString("yyyy-MM-dd HH:mm");
                }
            }
            else
            {
                Msg.code = "未查找到数据";
            }
        }
        else if (type == "1")
        {
            Hi.BLL.DIS_OrderDetail   OrderBllDetail   = new Hi.BLL.DIS_OrderDetail();
            Hi.Model.DIS_OrderDetail OrderModelDetail = OrderBllDetail.GetModel(KeyID.ToInt(0));
            if (OrderModelDetail != null)
            {
                OrderModelDetail.Remark = Common.NoHTML(remark);
                OrderModelDetail.ts     = DateTime.Now;
                if (OrderBllDetail.Update(OrderModelDetail))
                {
                    Msg.result = true;
                }
            }
        }
        else
        {
            Msg.result = true;
        }
        return(new JavaScriptSerializer().Serialize(Msg));
    }
예제 #3
0
    /// <summary>
    /// 导出订单详细Excel
    /// </summary>
    /// <param name="oID"></param>
    public void DataBind(string oID)
    {
        string ID = string.Empty;

        if (Request.Cookies["oID"] != null)
        {
            ID = Server.UrlDecode(Request.Cookies["oID"].Values.ToString());

            DataTable l = new Hi.BLL.DIS_Order().GetList("o.*,oe.*,disName", "DIS_Order o left join Dis_OrderExt oe on o.id=oe.OrderID left join BD_Distributor dis on o.DisID=dis.id", " o.ID in(" + ID + ")", "");

            DataTable ll = new Hi.BLL.DIS_OrderDetail().GetOrderDe("", "o.OrderID in(" + ID + ")");

            DerivedExcel.ExportEasy("销售订单", l, ll, "销售订单");

            HttpCookie c = new HttpCookie("oID");
            c.Expires = DateTime.Now.AddDays(-1);
            Response.Cookies.Add(c);
        }
    }
예제 #4
0
    public void databind()
    {
        if (!string.IsNullOrEmpty(Request["KeyID"]))
        {
            KeyID = Common.DesDecrypt((Request["KeyID"] + ""), Common.EncryptKey).ToInt(0);
        }
        if (!string.IsNullOrEmpty(Request["DisID"]))
        {
            DisID = (Request["DisID"] + "").ToInt(0);
        }

        string where = "and isnull(o.dr,0)=0 and o.otype<>9 and o.DisID=" + DisID + " and o.ID= " + KeyID;

        DataTable dt = new Hi.BLL.DIS_Order().GetList("", where);

        if (dt != null && dt.Rows.Count > 0)
        {
            //this.Literal1.Text= barcode.get39(dt.Rows[0]["ReceiptNo"].ToString(), 1, 40);


            Digits = OrderInfoType.rdoOrderAudit("订单下单数量是否取整", dt.Rows[0]["CompID"].ToString().ToInt(0));

            // 订单编号
            lblReceiptNo.InnerText = dt.Rows[0]["ReceiptNo"].ToString();
            codeno = dt.Rows[0]["ReceiptNo"].ToString();
            this.Image1.ImageUrl    = "~/Distributor/newOrder/Code39.aspx?KeyID=" + codeno;
            lblCreateDate.InnerText = dt.Rows[0]["CreateDate"].ToString().ToDateTime().ToString("yyyy-MM-dd");
            lblArrDate.InnerText    = dt.Rows[0]["ArriveDate"].ToString() == "" ? "" : dt.Rows[0]["ArriveDate"].ToString().ToDateTime().ToString("yyyy-MM-dd");

            //订单流程
            lblTotalAmount.InnerText = dt.Rows[0]["TotalAmount"].ToString() == "" ? "0.00" : dt.Rows[0]["TotalAmount"].ToString().ToDecimal().ToString("0.00");
            lblProAmount.InnerText   = dt.Rows[0]["ProAmount"].ToString() == "" ? "0.00" : dt.Rows[0]["ProAmount"].ToString().ToDecimal().ToString("0.00");

            lblbateAmount.InnerText = dt.Rows[0]["bateAmount"].ToString() == "" ? "0.00" : dt.Rows[0]["bateAmount"].ToString().ToDecimal().ToString("0.00");


            lblPostFee.InnerText     = dt.Rows[0]["PostFee"].ToString() == "" ? "0.00" : dt.Rows[0]["PostFee"].ToString().ToDecimal().ToString("0.00");
            lblAuditAmount.InnerText = dt.Rows[0]["AuditAmount"].ToString() == "" ? "0.00" : dt.Rows[0]["AuditAmount"].ToString().ToDecimal().ToString("0.00");
            //代理商
            if (Common.TypeID() == 1 || Common.TypeID() == 5)
            {
                name.InnerText       = "厂商:";
                lblDisName.InnerText = Common.Getcom(dt.Rows[0]["CompID"].ToString().ToInt(), "CompName");
            }
            else
            {
                name.InnerText       = "代理商:";
                lblDisName.InnerText = Common.GetDis(dt.Rows[0]["DisID"].ToString().ToInt(0), "DisName");
            }
            //下单信息
            //lblArriveDate.InnerText = dt.Rows[0]["ArriveDate"].ToString().ToDateTime() == DateTime.MinValue ? "" : dt.Rows[0]["ArriveDate"].ToString().ToDateTime().ToString("yyyy-MM-dd");
            lblGiveMode.InnerText = dt.Rows[0]["GiveMode"].ToString();

            iRemark.InnerText = dt.Rows[0]["Remark"].ToString();

            if (dt.Rows[0]["AddrID"].ToString() != "")
            {
                //收货地址
                lblPrincipal.InnerText = dt.Rows[0]["Principal"].ToString();
                lblPhone.InnerText     = dt.Rows[0]["Phone"].ToString();
                lblAddress.InnerText   = dt.Rows[0]["Address"].ToString();
            }
            else
            {
                iaddr.InnerText = "无";
            }

            //开票信息
            //if (dt.Rows[0]["IsOBill"].ToString().ToInt(0) != 1)
            //{
            //    lblRise.InnerText = dt.Rows[0]["Rise"].ToString();
            //    lblContent.InnerText = dt.Rows[0]["Content"].ToString();
            //    lblOBank.InnerText = dt.Rows[0]["OBank"].ToString();
            //    lblOAccount.InnerText = dt.Rows[0]["OAccount"].ToString();
            //    lblTRNumber.InnerText = dt.Rows[0]["TRNumber"].ToString();
            //}
            //else
            //    this.iInvoice.InnerHtml = "不开发票";


            //发票信息
            //lblBillNo.InnerText = dt.Rows[0]["BillNo"].ToString();
            //lblIsBill.InnerText = dt.Rows[0]["IsBill"].ToString() == "1" ? "是" : "否";

            //订单所有商品明细
            DataTable l = new Hi.BLL.DIS_OrderDetail().GetOrderDe("", " IsNUll(o.dr,0)=0 and o.OrderId=" + KeyID);
            if (l != null && l.Rows.Count > 0)
            {
                rptOrderD.DataSource = l;
                rptOrderD.DataBind();
            }
        }
    }
예제 #5
0
    /// <summary>
    /// 订单信息
    /// </summary>
    public void databind()
    {
        if (KeyID != 0)
        {
            //判断改该条数据代理商是否有操作权限
            if (!Common.PageDisOperable("Order", KeyID, DisID))
            {
                Response.Redirect("../NoOperable.aspx");
                return;
            }
            hidOrderID.Value = Common.DesEncrypt(KeyID.ToString(), Common.EncryptKey);

            string where = "and isnull(o.dr,0)=0 and o.otype<>9 and o.DisID=" + DisID + " and o.ID= " + KeyID;

            DataTable dt = new Hi.BLL.DIS_Order().GetList("", where);

            if (dt != null && dt.Rows.Count > 0)
            {
                //再次购买
                buyagain.Visible = false;
                //订单修改
                modifyorder.Visible = false;
                //订单作废
                ordervoid.Visible = false;
                //申请退货
                //orderReturn.Visible = false;

                Digits = OrderInfoType.rdoOrderAudit("订单下单数量是否取整", dt.Rows[0]["CompID"].ToString().ToInt(0));

                IsShow = OrderInfoType.rdoOrderAudit("订单明细是否显示店铺商品", 0).ToInt(0);
                IsInve = OrderInfoType.rdoOrderAudit("商品是否启用库存", dt.Rows[0]["CompID"].ToString().ToInt(0)).ToInt(0);

                hidDigits.Value = Digits;

                isbate = OrderInfoType.rdoOrderAudit("订单支付返利是否启用", dt.Rows[0]["CompID"].ToString().ToInt(0)).ToInt(0);
                if (isbate == 0)
                {
                    if (dt.Rows[0]["bateAmount"].ToString() == "" || dt.Rows[0]["bateAmount"].ToString() == "0.00")
                    {
                        this.trbate.Visible = false;
                        this.rebate.Visible = false;
                    }
                }

                // 订单编号
                lblReceiptNo.InnerText  = dt.Rows[0]["ReceiptNo"].ToString();
                lblCreateDate.InnerText = dt.Rows[0]["CreateDate"].ToString().ToDateTime().ToString("yyyy-MM-dd");
                lblOstate.InnerText     = OrderType.GetOState(dt.Rows[0]["OState"].ToString(), dt.Rows[0]["IsOutState"].ToString());
                hidOstate.Value         = dt.Rows[0]["OState"].ToString();

                lblCompID.InnerText = Common.Getcom(dt.Rows[0]["CompID"].ToString().ToInt(0), "CompName");
                orderCompId         = Convert.ToString(dt.Rows[0]["CompID"]);

                hidIsOutstate.Value = dt.Rows[0]["IsOutState"].ToString();

                OState       = dt.Rows[0]["OState"].ToString().ToInt(0);
                IsOutState   = dt.Rows[0]["IsOutState"].ToString().ToInt(0);
                payState     = dt.Rows[0]["PayState"].ToString().ToInt(0);
                ReturnState  = dt.Rows[0]["ReturnState"].ToString().ToInt(0);
                hidDts.Value = dt.Rows[0]["ts"].ToString();

                //订单流程
                lblTotalAmount.InnerText = dt.Rows[0]["TotalAmount"].ToString() == "" ? "0.00" : dt.Rows[0]["TotalAmount"].ToString().ToDecimal().ToString("N");
                lblProAmount.InnerText   = dt.Rows[0]["ProAmount"].ToString() == "" ? "0.00" : dt.Rows[0]["ProAmount"].ToString().ToDecimal().ToString("N");

                lblbateAmount.InnerText = dt.Rows[0]["bateAmount"].ToString() == "" ? "0.00" : dt.Rows[0]["bateAmount"].ToString().ToDecimal().ToString("N");
                lblbate.InnerText       = dt.Rows[0]["bateAmount"].ToString() == "" ? "0.00" : dt.Rows[0]["bateAmount"].ToString().ToDecimal().ToString("N");

                lblPostFee.InnerText     = dt.Rows[0]["PostFee"].ToString() == "" ? "0.00" : dt.Rows[0]["PostFee"].ToString().ToDecimal().ToString("0.00");
                lblAuditAmount.InnerText = dt.Rows[0]["AuditAmount"].ToString() == "" ? "0.00" : dt.Rows[0]["AuditAmount"].ToString().ToDecimal().ToString("N");

                //下单信息
                lblArriveDate.InnerText = dt.Rows[0]["ArriveDate"].ToString() == "" ? "" : dt.Rows[0]["ArriveDate"].ToString().ToDateTime().ToString("yyyy-MM-dd");
                lblGiveMode.InnerText   = dt.Rows[0]["GiveMode"].ToString();
                iRemark.InnerText       = dt.Rows[0]["Remark"].ToString();

                //收货地址
                lblPrincipal.InnerText = dt.Rows[0]["Principal"].ToString();
                lblPhone.InnerText     = dt.Rows[0]["Phone"].ToString();
                lblAddress.InnerText   = dt.Rows[0]["Address"].ToString();
                hidAddrID.Value        = dt.Rows[0]["AddrID"].ToString();

                //开票信息
                if (dt.Rows[0]["IsOBill"].ToString().ToInt(0) > 0)
                {
                    hidDisAccID.Value = dt.Rows[0]["DisAccID"].ToString();
                    hidval.Value      = dt.Rows[0]["IsOBill"].ToString();
                    string Billing = string.Empty;
                    Billing += "发票抬头:<label id=\"lblRise\" runat=\"server\">" + dt.Rows[0]["Rise"].ToString() + "</label>";
                    Billing += ",发票内容:<label id=\"lblContent\" runat=\"server\">" + dt.Rows[0]["Content"].ToString() + "</label>";
                    if (dt.Rows[0]["IsOBill"].ToString().ToInt(0) == 2)
                    {
                        Billing += ",开户银行:<label id=\"lblOBank\" runat=\"server\">" + dt.Rows[0]["OBank"].ToString() + "</label>";
                        Billing += ",开户账户:<label id=\"lblOAccount\" runat=\"server\">" + dt.Rows[0]["OAccount"].ToString() + "</label>";
                        Billing += ",纳税人登记号:<label id=\"lblTRNumber\" runat=\"server\">" + dt.Rows[0]["TRNumber"].ToString() + "</label>";
                    }
                    else
                    {
                        Billing += ",纳税人登记号:<label id=\"lblTRNumber\" runat=\"server\">" + dt.Rows[0]["TRNumber"].ToString() + "</label>";
                    }
                    iInvoice.InnerHtml = Billing;

                    //lblRise.InnerText = dt.Rows[0]["Rise"].ToString();
                    //lblContent.InnerText = dt.Rows[0]["Content"].ToString();
                    //lblOBank.InnerText = dt.Rows[0]["OBank"].ToString();
                    //lblOAccount.InnerText = dt.Rows[0]["OAccount"].ToString();
                    //lblTRNumber.InnerText = dt.Rows[0]["TRNumber"].ToString();
                }
                else
                {
                    this.iInvoice.InnerHtml = "不开发票";
                }

                //发票信息
                lblBillNo.InnerText  = dt.Rows[0]["BillNo"].ToString();
                lblIsBill.InnerText  = dt.Rows[0]["IsBill"].ToString() == "1" ? "是" : "否";
                this.hidisBill.Value = dt.Rows[0]["IsBill"].ToString();


                string msg  = string.Empty;
                bool   flag = Common.FCan(dt.Rows[0]["DisID"].ToString(), "1", out msg);
                if (flag)
                {
                    this.lblmsg.InnerText = msg;
                }

                decimal nopayAmount = OrderInfoType.GetSumAmount(dt.Rows[0]["DisID"].ToString(), dt.Rows[0]["CompID"].ToString(), KeyID);
                if (nopayAmount > 0)
                {
                    string promptmsg = "订单待支付金额为¥" + nopayAmount.ToString("0.00") + ",请尽快支付";
                    this.lblPrompt.InnerText = promptmsg;
                }
                else
                {
                    this.lblPrompt.Visible = false;
                }


                #region  订单支付信息

                TotalAmount = Convert.ToDecimal(dt.Rows[0]["AuditAmount"]).ToString("0.00");
                PayedAmount = Convert.ToDecimal(dt.Rows[0]["PayedAmount"]).ToString("0.00");

                //订单已支付不显示支付按钮(未审核、未支付完成)
                if (Convert.ToInt32(dt.Rows[0]["OState"]) == (int)Enums.OrderState.未提交 || Convert.ToInt32(dt.Rows[0]["OState"]) == (int)Enums.OrderState.待审核 || Convert.ToInt32(dt.Rows[0]["OState"]) == (int)Enums.OrderState.待审核 || Convert.ToInt32(dt.Rows[0]["OState"]) == (int)Enums.OrderState.已退货 || Convert.ToInt32(dt.Rows[0]["OState"]) == (int)Enums.OrderState.已作废 || (Convert.ToDecimal(dt.Rows[0]["AuditAmount"]) - Convert.ToDecimal(dt.Rows[0]["PayedAmount"]) == 0))
                {
                    btn_pay.Visible = false;
                }
                paymoney = (Convert.ToDecimal(dt.Rows[0]["AuditAmount"]) - Convert.ToDecimal(dt.Rows[0]["PayedAmount"])).ToString("0.00");

                //加密keyId
                desKeyID.Value = Common.DesEncrypt(KeyID.ToString(), Common.EncryptKey);

                //绑定支付流水信息
                DataTable paytable = new Hi.BLL.PAY_PrePayment().GetPayedItem(KeyID);
                rptmessage.DataSource = paytable;
                rptmessage.DataBind();

                //初始值加载
                txtArriveDate.Value = DateTime.Now.ToString("yyyy-MM-dd");
                DataTable dtpayment = new Hi.BLL.PAY_PrePayment().GetDate(" top 1   CreateDate, payName ,paycode ,paybank", "pay_payment", " DisID=" + DisID + " and vdef3=5 order by  CreateDate desc");
                foreach (DataRow dr in dtpayment.Rows)
                {
                    bankname.Value = Convert.ToString(dr["payName"]);
                    bankcode.Value = Convert.ToString(dr["paycode"]);
                    bank.Value     = Convert.ToString(dr["paybank"]);
                }


                //附件
                //if (dt.Rows[0]["Atta"].ToString() != "")
                //{
                //    StringBuilder li = new StringBuilder();
                //    string[] atta = dt.Rows[0]["Atta"].ToString().Split(new string[] { "$$&&" }, StringSplitOptions.RemoveEmptyEntries);
                //    if (atta.Length > 0)
                //    {
                //        foreach (var item in atta)
                //        {
                //            li.AppendFormat("<li> <a href=\"javascript:;\" class=\"name\">{0}</a><a href=\"javascript:;\"  class=\"bule del\" orderid=\"{1}\">删除</a><a href=\"javascript:;\" class=\"bule\">下载</a></li>", item, KeyID);

                //        }
                //    }
                // this.payulfile.InnerHtml = li.ToString();
                //}
                #endregion


                //附件
                if (dt.Rows[0]["Atta"].ToString() != "")
                {
                    StringBuilder li   = new StringBuilder();
                    string[]      atta = dt.Rows[0]["Atta"].ToString().Split(new string[] { "@@" }, StringSplitOptions.RemoveEmptyEntries);
                    if (atta.Length > 0)
                    {
                        foreach (var item in atta)
                        {
                            string[] att = item.Split(new string[] { "^^" }, StringSplitOptions.RemoveEmptyEntries);

                            if (att.Length > 1)
                            {
                                li.AppendFormat("<li> <a href=\"{2}\" target=\"_blank\" class=\"name\">{0}(大小:{4}KB)</a><a href=\"javascript:;\"  class=\"bule del\" tip=\"{3}\" orderid=\"{1}\">删除</a><a href=\"{2}\" target=\"_blank\" class=\"bule\">下载</a></li>", att[0] + att[1].Substring(att[1].LastIndexOf(".")), KeyID, Common.GetWebConfigKey("ImgViewPath") + "OrderFJ/" + item, item, OrderType.GetSize(item));
                            }
                        }
                    }
                    ulAtta.InnerHtml     = li.ToString();
                    this.hrOrderFj.Value = dt.Rows[0]["Atta"].ToString();
                }

                #region 订单明细

                //订单所有商品明细
                DataTable l = new Hi.BLL.DIS_OrderDetail().GetOrderDe("", " IsNUll(o.dr,0)=0 and o.OrderId=" + KeyID);
                if (l != null && l.Rows.Count > 0)
                {
                    rptOrderD.DataSource = l;
                    rptOrderD.DataBind();

                    //待发货商品
                    DataTable lno = SelectGoodsInfo.SreeenDataTable(l, "isnull(IsOut,0)=0"); //l.Select(string.Format("IsOut={0}", 0));
                    if (lno != null && lno.Rows.Count > 0)
                    {
                        rptIsout.DataSource = lno;
                        rptIsout.DataBind();
                    }

                    //已发货商品
                    List <Hi.Model.DIS_OrderOutDetail> loud = new Hi.BLL.DIS_OrderOutDetail().GetList("", " isnull(dr,0)=0 and OrderID=" + KeyID, "");
                    //发货单 and o.IsAudit<>3
                    DataTable lo = new Hi.BLL.DIS_OrderOut().GetList("", " isnull(o.dr,0)=0 and o.OrderID=" + KeyID + " Order by o.IsAudit");

                    if (loud != null && loud.Count > 0)
                    {
                        //outbind(lo, l, loud);
                        outGoods.InnerHtml = SelectGoodsInfo.outbind(lo, l, loud, Digits, 0);
                    }

                    #region 流程时间控件

                    if (lo != null && lo.Rows.Count > 0)
                    {
                        if (((int)Enums.OrderState.已发货 <= OState || OState == (int)Enums.OrderState.退货处理) && (IsOutState == 3 || IsOutState == 4))
                        {
                            //订单发货时间
                            DataRow[] sendlo = lo.Select("IsAudit<>3");
                            DataRow[] dv     = sendlo.OrderByDescending(x => x["id"]).ToArray();
                            if (dv.Length > 0)
                            {
                                sendde = dv[0]["SendDate"].ToString() != "" ? dv[0]["SendDate"].ToString().ToDateTime().ToString("yyyy-MM-dd HH:mm") : "";
                            }
                        }

                        if ((int)Enums.OrderState.已到货 <= OState || OState == (int)Enums.OrderState.退货处理)
                        {
                            //订单签收时间
                            DataRow[] signlo = lo.Select("IsAudit<>3 and IsSign=1");
                            DataRow[] dr     = signlo.OrderByDescending(x => x["id"]).ToArray();
                            if (dr.Length > 0)
                            {
                                signde = dr[0]["SignDate"].ToString() != "" ? dr[0]["SignDate"].ToString().ToDateTime().ToString("yyyy-MM-dd HH:mm") : "";
                            }
                        }
                    }
                    #endregion
                }
                #endregion

                #region 流程时间控件
                //订单流程时间显示
                //订单提交时间
                CreateDate = dt.Rows[0]["CreateDate"].ToString() != "" ? dt.Rows[0]["CreateDate"].ToString().ToDateTime().ToString("yyyy-MM-dd HH:mm") : "";

                //订单审核时间
                AuditDate = dt.Rows[0]["AuditDate"].ToString() != "" ? dt.Rows[0]["AuditDate"].ToString().ToDateTime().ToString("yyyy-MM-dd HH:mm") : "";
                #endregion 流程时间控件

                #region 订单操作按钮

                switch (OState)
                {
                case (int)Enums.OrderState.待审核:
                    modifyorder.Visible = true;
                    buyagain.Visible    = true;
                    ordervoid.Visible   = true;
                    break;

                case (int)Enums.OrderState.已审:
                    //订单审核前,可以修改订单。
                    buyagain.Visible = true;
                    break;

                case (int)Enums.OrderState.退货处理:
                    //orderReturn.Visible = false;
                    buyagain.Visible = true;
                    btn_pay.Visible  = false;
                    fulfil           = signde;
                    break;

                case (int)Enums.OrderState.已发货:
                    modifyorder.Visible = false;
                    buyagain.Visible    = true;
                    break;

                case (int)Enums.OrderState.已到货:
                    modifyorder.Visible = false;
                    buyagain.Visible    = true;
                    if (dt.Rows[0]["CreateDate"].ToString().ToDateTime() > DateTime.Now.AddMonths(-3))
                    {
                        //三个月以内的订单可退货
                        //if (ReturnState < (int)Enums.ReturnState.申请退货)
                        //orderReturn.Visible = true;
                    }
                    if (ReturnState >= (int)Enums.ReturnState.申请退货)
                    {
                        btn_pay.Visible = false;
                    }
                    if (sendde == "" && signde == "" && AuditDate != "")
                    {
                        fulfil = AuditDate;
                    }
                    else if (AuditDate.ToString() == "")
                    {
                        fulfil = CreateDate;
                    }
                    else
                    {
                        fulfil = signde == "" ? sendde : signde;
                    }
                    break;

                case (int)Enums.OrderState.已作废:
                    modifyorder.Visible = false;
                    buyagain.Visible    = true;
                    fulfil = Convert.ToDateTime(dt.Rows[0]["ts"]).ToString("yyyy-MM-dd HH:mm");
                    break;

                case (int)Enums.OrderState.已退货:
                    buyagain.Visible = true;
                    btn_pay.Visible  = false;
                    fulfil           = signde;
                    break;

                default:
                    break;
                }

                #endregion

                //订单修改,再次购买
                if (!Common.HasRight(this.CompID, this.UserID, "1010", this.DisID))
                {
                    this.buyagain.Visible    = false;
                    this.modifyorder.Visible = false;
                }
                //订单作废
                if (!Common.HasRight(this.CompID, this.UserID, "2012", this.DisID))
                {
                    this.ordervoid.Visible = false;
                }
                //在线支付
                if (!Common.HasRight(this.CompID, this.UserID, "2014", this.DisID))
                {
                    ClientScript.RegisterStartupScript(this.GetType(), "btn_pay_xs", "<script> $('#btn_pay_xs').hide();</script>");
                }

                //线下支付
                if (!Common.HasRight(this.CompID, this.UserID, "2015", this.DisID))
                {
                    this.btn_pay_xx.Visible = false;
                }
                //申请退货
                //if (!Common.HasRight(this.CompID, this.UserID, "2311", this.DisID))
                //this.orderReturn.Visible = false;
                //确认收货
                if (!Common.HasRight(this.CompID, this.UserID, "2013", this.DisID))
                {
                    ClientScript.RegisterStartupScript(this.GetType(), "btnsign", "<script> $('.btnsign,.btnsigni').hide();</script>");
                }
            }
        }
        else
        {
            Response.Redirect("../NoOperable.aspx");
            return;
        }
    }
예제 #6
0
    /// <summary>
    /// 查看是否启用微信支付或者支付宝支付
    /// </summary>
    public ResultPayInfo GetPayInfo(string JSon, string version)
    {
        string    disID           = string.Empty;
        string    UserID          = string.Empty;
        string    OrderType       = string.Empty;
        string    ReceiptNo       = string.Empty;
        string    PayPrice        = string.Empty;
        string    PayIDJSon       = string.Empty;
        string    partner         = string.Empty;
        string    seller          = string.Empty;
        string    private_key     = string.Empty;
        string    subject         = string.Empty; //提示内容
        string    GoodsName       = string.Empty; //订单所有商品的名称
        string    OrderNumberJSon = string.Empty; //订单支付流水号的json
        string    OrderNumber     = string.Empty; //订单支付流水号
        string    orderInfo       = string.Empty; //订单信息
        string    OrderCode       = string.Empty; //企业订单号
        DataTable dt_order        = null;


        Hi.BLL.BD_Distributor bll_dis   = new Hi.BLL.BD_Distributor();
        Hi.BLL.BD_Company     bll_comp  = new Hi.BLL.BD_Company();
        Hi.BLL.DIS_Order      bll_order = new Hi.BLL.DIS_Order();
        ResultPayInfo         payinfo   = new ResultPayInfo();
        Common comm = new Common();

        try
        {
            #region//JSon取值
            JsonData JInfo = null;
            JInfo = JsonMapper.ToObject(JSon);
            if (JInfo.Count > 0 && JInfo["UserID"].ToString().Trim() != "" && JInfo["ResellerID"].ToString().Trim() != "" && JInfo["OrderType"].ToString().Trim() != "" &&
                JInfo["PayPrice"].ToString().Trim() != "" && JInfo["PayIDJson"].ToString().Trim() != "")
            {
                UserID = JInfo["UserID"].ToString();

                disID     = JInfo["ResellerID"].ToString();
                OrderType = JInfo["OrderType"].ToString();
                PayPrice  = JInfo["PayPrice"].ToString();
                PayIDJSon = JInfo["PayIDJson"].ToString();
            }
            else
            {
                return(new ResultPayInfo()
                {
                    Result = "F", Description = "参数异常"
                });
            }

            if (OrderType == "0")
            {
                if (JInfo["ReceiptNo"].ToString().Trim() != "")
                {
                    ReceiptNo = JInfo["ReceiptNo"].ToString();
                }
                else
                {
                    return(new ResultPayInfo()
                    {
                        Result = "F", Description = "参数异常"
                    });
                }
            }
            #endregion

            //判断登录信息是否正确
            Hi.Model.SYS_Users user = new Hi.Model.SYS_Users();
            if (!new Common().IsLegitUser(int.Parse(UserID), out user, 0, int.Parse(disID == "" ? "0" : disID)))
            {
                return new ResultPayInfo()
                       {
                           Result = "F", Description = "用户异常"
                       }
            }
            ;
            //判断经销商信息是否异常
            Hi.Model.BD_Distributor dis = bll_dis.GetModel(Convert.ToInt32(disID));
            if (dis == null || dis.dr == 1 || dis.AuditState == 0 || dis.IsEnabled == 0)
            {
                return new ResultPayInfo()
                       {
                           Result = "F", Description = "经销商异常"
                       }
            }
            ;
            //判断经销商对应的核心企业是否异常
            Hi.Model.BD_Company comp = bll_comp.GetModel(dis.CompID);
            if (comp == null || comp.dr == 1 || comp.AuditState == 0 || comp.IsEnabled == 0)
            {
                return new ResultPayInfo()
                       {
                           Result = "F", Description = "核心企业异常"
                       }
            }
            ;
            //判断此订单的信息是否异常,是否可支付
            //根据订单号,取出订单数据放入dt中
            if (OrderType == "0")
            {
                dt_order = bll_order.GetData(ReceiptNo).Tables[0];

                if (Convert.ToInt32(dt_order.Rows[0]["OState"]) == (int)Enums.OrderState.待审核 ||
                    Convert.ToInt32(dt_order.Rows[0]["OState"]) == (int)Enums.OrderState.已作废 ||
                    Convert.ToInt32(dt_order.Rows[0]["PayState"]) == (int)Enums.PayState.已支付)
                {
                    return new ResultPayInfo()
                           {
                               Result = "F", Description = "订单信息异常"
                           }
                }
                ;
            }

            //获取Pay_PayWxandAli表的实体
            Hi.Model.Pay_PayWxandAli payali = Common.GetPayWxandAli(comp.ID);
            if (payali == null || ClsSystem.gnvl(payali.ali_isno, "0") == "0")
            {
                return new ResultPayInfo()
                       {
                           Result = "F", Description = "核心企业无可用的支付宝收款账户"
                       }
            }
            ;
            //对数据库中数据进行解密
            //partner = Common.DesDecrypt(payali.ali_partner, Common.EncryptKey);
            //seller = Common.DesDecrypt(payali.ali_seller_email, Common.EncryptKey);
            //private_key = Common.DesDecrypt(payali.ali_key, Common.EncryptKey);
            partner     = payali.ali_partner;
            seller      = payali.ali_seller_email;
            private_key = payali.ali_RSAkey;
            //订单支付跟预付款充值的提示信息(两种请款下的提示信息是不同的)
            if (OrderType == "0")
            {
                subject = "医站通订单-" + ReceiptNo;
            }
            else
            {
                subject = "医站通预付款充值";
            }
            //订单所有商品明细

            if (OrderType == "0")
            {
                DataTable l = new Hi.BLL.DIS_OrderDetail().GetOrderDe("", " IsNUll(o.dr,0)=0 and o.OrderId=" + Convert.ToInt32(dt_order.Rows[0]["ID"]));
                foreach (DataRow dr in l.Rows)
                {
                    GoodsName += dr["GoodsName"] + ",";
                }
                GoodsName = GoodsName.Substring(0, GoodsName.Length - 1);//去掉最后一个逗号
                if (GoodsName.Length > 15)
                {
                    GoodsName = GoodsName.Substring(0, 10) + "...";
                }
            }

            //获取订单支付时的支付流水号
            if (OrderType == "0")
            {
                OrderNumberJSon = new OrderPay().GetPayID(PayIDJSon);
                //解析返回的订单支付流水号的JSon
                JInfo = JsonMapper.ToObject(OrderNumberJSon);
                if (JInfo["Result"].ToString().Trim() == "F" || JInfo["PayNumb"].ToString().Trim() == "" || JInfo["Result"].ToString().Trim() == "" ||
                    JInfo["OrderCode"].ToString().Trim() == "")
                {
                    return(new ResultPayInfo()
                    {
                        Result = "F", Description = "获取支付流水号异常"
                    });
                }
                else
                {
                    OrderNumber = JInfo["PayNumb"].ToString();
                    OrderCode   = JInfo["OrderCode"].ToString();
                }
            }
            else//钱包充值时的流水号跟企业订单号
            {
                List <string> list = new List <string>();
                list        = Getpayidyfk(user.ID, comp.ID, dis.ID, PayPrice);
                OrderNumber = list[0];
                OrderCode   = list[1];
                if (OrderNumber == "" || OrderCode == "")
                {
                    return new ResultPayInfo()
                           {
                               Result = "F", Description = "获取支付流水号异常"
                           }
                }
                ;
            }
            //创建订单信息
            orderInfo = comm.getOrderInfo(subject, GoodsName, PayPrice, OrderNumber, partner, seller);
            // 对订单做RSA 签名
            //private_key = "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBANDptrV3pWWdbnr6wT8lPkZ6kbRgsjf8CfXpQNrJyOsmktOaX8DQRh5nd0lSFTtbfeGV4oWXi26bv+1Vt+CfAsYssf+futRj0l6Cxx0psJapK7QEXq3HqjB0tM11M9ym75WFFvTSZs1DysUkRV35g5rXuRtBOWR2sqm9JRAen+29AgMBAAECgYEAzZ+L1xb5c4e960uOE1Hb9tDDQs/9+j6XqzQ3QmFj4Zeo4p9KaeRVb62U6lThUvgdcYDuYWEkuuyPvtEk1/CKb61AvEW69ehwLeDXOy9AzEgQpGFPb1bgJ+kU8YCpgcOGR9G55iVc0ZW7B2iyx111Wvij8pc+A2ZeuByAG1f8PoECQQD7wvCyBJRNb7Gv7iHF+zx2lDxG6LTX2rCAZdr8FyWVjZEBfL6uPI+/2J2AqtFPaLa25+jQc3b74r4wuGKsvxBhAkEA1G4aDQovfB9RO/c4I+NX4mmitpNt66IuqKp0a9pOL/YfpNtr5GBgmK4LMVASqIG74bw5wAV7zJkunlGGPusK3QJBALLiUm/KvS1AXbqpsymfV9jRfvrLQiPVaW/x72ULdVMMIaoy3rGiqmkgGtlfhhWsS5cutMfYIwTamVS4zrP7lkECQFTvDJVoHCI5d0ZNivG2ZR4OdFMhURKkTpl7RX8V0qsUcgR9An9WFWkWNT1rMXqUHGWd100yJBRirqP4Hn+rhDUCQBPVgm4jNd5WjKD0Oj39FmF5D89OviTgQK4xYxYUIfqLBhuGZ3kWDvAmeE6uRgVXjQncv/c68W8pS2huT0syom4=";
            //private_key = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCnxj/9qwVfgoUh/y2W89L6BkRAFljhNhgPdyPuBV64bfQNN1PjbCzkIM6qRdKBoLPXmKKMiFYnkd6rAoprih3/PrQEB/VsW8OoM8fxn67UDYuyBTqA23MML9q1+ilIZwBC2AQ2UBVOrFXfFl75p6/B5KsiNG9zpgmLCUYuLkxpLQIDAQAB";
            string sign = Com.Alipay.RSAFromPkcs8.sign(orderInfo, private_key, "utf-8");
            //string sign = RSAFromPkcs8.sign(orderInfo, private_key, "utf-8");
            sign = HttpUtility.UrlEncode(sign, Encoding.UTF8);
            //返回实体
            // 完整的符合支付宝参数规范的订单信息
            payinfo.Result      = "T";
            payinfo.Description = "返回成功";
            payinfo.InfoString  = orderInfo + "&sign=\"" + sign + "\"&"
                                  + comm.getSignType();
            payinfo.OrderCode = OrderCode;
        }
        catch (Exception ex)
        {
            Common.CatchInfo(ex.Message + ":" + ex.StackTrace, "GetPayInfo:" + JSon);
            return(new ResultPayInfo()
            {
                Result = "F", Description = "参数异常"
            });
        }
        return(payinfo);
    }
예제 #7
0
파일: MsgSend.cs 프로젝트: kkwkk/ybyzt
    /// <summary>
    /// 获取推送类型
    /// </summary>
    /// <returns></returns>
    public static string GetWXType(string sendType, string userID, string orderID)
    {
        string  res       = string.Empty;
        decimal num       = 0;
        string  orderInfo = string.Empty;
        string  orderOut  = String.Empty;

        Hi.Model.DIS_OrderOut         outModel    = null;
        Hi.Model.DIS_OrderReturn      returnModel = null;
        List <Hi.Model.DIS_Logistics> list_log    = null;

        Hi.Model.DIS_Logistics log     = null;
        Hi.BLL.DIS_Logistics   bll_log = new Hi.BLL.DIS_Logistics();

        Hi.Model.SYS_Users user = new Hi.BLL.SYS_Users().GetModel(int.Parse(userID));
        if (user == null || string.IsNullOrEmpty(user.OpenID))
        {
            return("");
        }
        Hi.Model.DIS_Order order = new Hi.BLL.DIS_Order().GetModel(int.Parse(orderID));
        if (order == null)
        {
            return("");
        }
        List <Hi.Model.DIS_OrderDetail> orderList = new Hi.BLL.DIS_OrderDetail().GetList("",
                                                                                         " orderID=" + int.Parse(orderID), "");

        if (orderList == null || orderList.Count == 0)
        {
            return("");
        }
        foreach (Hi.Model.DIS_OrderDetail detail in orderList)
        {
            Hi.Model.BD_GoodsInfo goodsInfo = new Hi.BLL.BD_GoodsInfo().GetModel(detail.GoodsinfoID);
            if (goodsInfo != null)
            {
                Hi.Model.BD_Goods goods = new Hi.BLL.BD_Goods().GetModel(goodsInfo.GoodsID);
                orderInfo += " " + goods.GoodsName + "*" + detail.GoodsNum;
            }
            num += detail.GoodsNum;
        }
        Hi.Model.BD_DisAddr addr = new Hi.BLL.BD_DisAddr().GetModel(order.AddrID);
        if (addr != null)
        {
            if (addr.Phone != "")
            {
                orderOut += addr.Principal + ":" + addr.Phone + " ";
            }
            else
            {
                orderOut += addr.Principal + ":" + addr.Tel + " ";
            }
        }
        List <Hi.Model.DIS_OrderOut> orderout = new Hi.BLL.DIS_OrderOut().GetList("",
                                                                                  " orderID=" + int.Parse(orderID), "");

        if (orderout != null && orderout.Count != 0)
        {
            foreach (Hi.Model.DIS_OrderOut detail in orderout)
            {
                list_log = bll_log.GetList("", "OrderOutID = " + detail.ID + " and isnull(dr,0) == 0", "");
                if (list_log != null && list_log.Count >= 0)
                {
                    log = list_log[0];
                    //orderOut += log.ExpressPerson + ":" + log.ExpressTel + " ";
                }

                outModel = detail;
            }
        }
        List <Hi.Model.DIS_OrderReturn> returnlist = new Hi.BLL.DIS_OrderReturn().GetList("",
                                                                                          " orderID=" + int.Parse(orderID), "");

        if (returnlist != null && returnlist.Count != 0)
        {
            foreach (Hi.Model.DIS_OrderReturn detail in returnlist)
            {
                returnModel = detail;
            }
        }
        //string sqlstr = string.Format("select * from dis_order where receiptno like ('%{0}%') and dr=0", ReceiptNo);

        switch (sendType)
        {
        case "1":     //下单通知
            StringBuilder strSql = new StringBuilder();
            strSql.Append("{\"type\":\"ORDERADD\",\"openid\":\"");
            strSql.Append(user.OpenID);
            strSql.Append("\",\"msg\":[{\"title\":\"尊敬的");
            strSql.Append(user.TrueName);
            strSql.Append(",您好\",\"orderno\":\"");
            strSql.Append(order.ReceiptNo);
            strSql.Append("\",\"orderamount\":\"");
            strSql.Append(order.TotalAmount.ToString("N"));
            strSql.Append("元\",\"extra1\":\"状态:待付款\",\"extra2\":\"数量:");
            strSql.Append(num.ToString("0.00"));
            strSql.Append("\",\"remark\":\"");
            strSql.Append(order.Remark);
            strSql.Append("\"}]}");
            res = strSql.ToString();
            break;

        case "2":     //订单支付通知
            StringBuilder str = new StringBuilder();
            str.Append("{\"type\":\"ORDERPAY\",\"openid\":\"");
            str.Append(user.OpenID);
            str.Append("\",\"msg\":[{\"title\":\"尊敬的");
            str.Append(user.TrueName);
            str.Append(",您好\",\"orderpay\":\"");
            str.Append(order.TotalAmount.ToString("N"));
            str.Append("元\",\"orderinfo\":\"");
            str.Append(orderInfo);
            str.Append("\",\"receiveinfo\":\"");
            str.Append(orderOut);
            str.Append("\",\"orderno\":\"");
            str.Append(order.ReceiptNo);
            str.Append("\",\"remark\":\"");
            str.Append("\"}]}");
            res = str.ToString();
            break;

        case "3":     //42、签收提醒
            StringBuilder SIGN = new StringBuilder();
            SIGN.Append("{\"type\":\"SIGN\",\"openid\":\"");
            SIGN.Append(user.OpenID);
            SIGN.Append("\",\"msg\":[{\"title\":\"您好,您的订单");
            SIGN.Append(order.ReceiptNo);
            SIGN.Append("已签收\",\"orderno\":\"");
            SIGN.Append(order.ReceiptNo);
            SIGN.Append("\",\"qianshouren\":\"");
            SIGN.Append(outModel.SignUser);
            SIGN.Append("\",\"qianshoushijian\":\"");
            SIGN.Append(outModel.SignDate);
            SIGN.Append("\",\"remark\":\"");
            SIGN.Append(order.Remark);
            SIGN.Append("\"}]}");
            res = SIGN.ToString();
            break;

        case "4":     //退货申请
            StringBuilder RETGOODS = new StringBuilder();
            RETGOODS.Append("{\"type\":\"RETGOODS\",\"openid\":\"");
            RETGOODS.Append(user.OpenID);
            RETGOODS.Append("\",\"msg\":[{\"title\":\"买家申请退货");
            RETGOODS.Append("\",\"orderno\":\"");
            RETGOODS.Append(order.ReceiptNo);
            RETGOODS.Append("\",\"shangpinxinxi\":\"");
            RETGOODS.Append(orderInfo);
            RETGOODS.Append("\",\"orderjine\":\"");
            RETGOODS.Append(order.TotalAmount.ToString("N"));
            RETGOODS.Append("元\",\"remark\":\"");
            RETGOODS.Append(order.Remark);
            RETGOODS.Append("\"}]}");
            res = RETGOODS.ToString();
            break;

        case "41":     //代人下单通知
            StringBuilder ORDERADD = new StringBuilder();
            ORDERADD.Append("{\"type\":\"ORDERADD\",\"openid\":\"");
            ORDERADD.Append(user.OpenID);
            ORDERADD.Append("\",\"msg\":[{\"title\":\"尊敬的");
            ORDERADD.Append(user.TrueName);
            ORDERADD.Append(",您好\",\"orderno\":\"");
            ORDERADD.Append(order.ReceiptNo);
            ORDERADD.Append("\",\"orderamount\":\"");
            ORDERADD.Append(order.TotalAmount.ToString("N"));
            ORDERADD.Append("元\",\"extra1\":\"状态:待付款\",\"extra2\":\"数量:");
            ORDERADD.Append(num.ToString());
            ORDERADD.Append("\",\"remark\":\"");
            ORDERADD.Append(order.Remark);
            ORDERADD.Append("\"}]}");
            res = ORDERADD.ToString();
            break;

        case "42":     //订单审批
            StringBuilder sql = new StringBuilder();
            sql.Append("{\"type\":\"ORDERSTATUS\",\"openid\":\"");
            sql.Append(user.OpenID);
            sql.Append("\",\"msg\":[{\"title\":\"尊敬的");
            sql.Append(user.TrueName);
            sql.Append(",您好\",\"orderno\":\"");
            sql.Append(order.ReceiptNo);
            if (order.OState.ToString() == "-1")
            {
                sql.Append("\",\"orderstatus\":\"订单退回\",\"remark\":\"");
            }
            else
            {
                sql.Append("\",\"orderstatus\":\"待发货、审批通过\",\"remark\":\"");
            }
            sql.Append(order.Remark);
            sql.Append("\"}]}");
            res = sql.ToString();
            break;

        case "43":     //订单发货
            StringBuilder sqlSend = new StringBuilder();
            sqlSend.Append("{\"type\":\"ORDERSEND\",\"openid\":\"");
            sqlSend.Append(user.OpenID);
            sqlSend.Append("\",\"msg\":[{\"title\":\"尊敬的");
            sqlSend.Append(user.TrueName);
            sqlSend.Append(",您好\",\"orderno\":\"");
            sqlSend.Append(order.ReceiptNo);
            sqlSend.Append("\",\"wuliuname\":\"");
            sqlSend.Append(log.ComPName);
            sqlSend.Append("\",\"wuliucode\":\"");
            sqlSend.Append(log.LogisticsNo);
            sqlSend.Append("\",\"remark\":\"");
            sqlSend.Append(outModel.Remark);
            sqlSend.Append("\"}]}");
            res = sqlSend.ToString();
            break;

        case "44":     //6、退货审核
            StringBuilder RETAUDIT = new StringBuilder();
            RETAUDIT.Append("{\"type\":\"RETAUDIT\",\"openid\":\"");
            RETAUDIT.Append(user.OpenID);
            RETAUDIT.Append("\",\"msg\":[{\"title\":\"您好,您的退货审核");
            if (returnModel.ReturnState == -1)
            {
                RETAUDIT.Append("已退回");
            }
            else
            {
                RETAUDIT.Append("已审核");
            }
            RETAUDIT.Append("\",\"shenhejieguo\":\"");
            if (returnModel.ReturnState == -1)
            {
                RETAUDIT.Append("已退回");
            }
            else
            {
                RETAUDIT.Append("已审核");
            }
            RETAUDIT.Append("\",\"shangpinxinxi\":\"");
            RETAUDIT.Append(orderInfo);
            RETAUDIT.Append("\",\"tuihuojine\":\"");
            RETAUDIT.Append(order.PayedAmount.ToString("N"));
            RETAUDIT.Append("元\",\"shenheshuoming\":\"");
            RETAUDIT.Append(returnModel.AuditRemark);
            RETAUDIT.Append("\",\"shenheshijian\":\"");
            RETAUDIT.Append(returnModel.AuditDate);
            RETAUDIT.Append("\",\"orderno\":\"");
            RETAUDIT.Append(order.ReceiptNo);
            RETAUDIT.Append("\",\"remark\":\"");
            RETAUDIT.Append("\"}]}");
            res = RETAUDIT.ToString();
            break;

        case "45":     //5、退款
            StringBuilder REFUND = new StringBuilder();
            REFUND.Append("{\"type\":\"REFUND\",\"openid\":\"");
            REFUND.Append(user.OpenID);
            REFUND.Append("\",\"msg\":[{\"title\":\"您好,您的订单");
            REFUND.Append(order.ReceiptNo);
            REFUND.Append(",已退款。\",\"reason\":\"");
            REFUND.Append(returnModel.ReturnContent);
            REFUND.Append("\",\"refund\":\"");
            REFUND.Append(order.PayedAmount.ToString("N"));
            REFUND.Append("元\",\"orderno\":\"");
            REFUND.Append(order.ReceiptNo);
            REFUND.Append("\",\"remark\":\"");
            REFUND.Append("\"}]}");
            res = REFUND.ToString();
            break;
        }
        return(res);
    }
예제 #8
0
    /// <summary>
    /// 订单信息
    /// </summary>
    public void databind()
    {
        if (KeyID != 0)
        {
            hidOrderID.Value = Common.DesEncrypt(KeyID.ToString(), Common.EncryptKey);
            string where     = "and isnull(o.dr,0)=0 and o.otype<>9  and o.ID= " + KeyID;
            DataTable dt = new Hi.BLL.DIS_Order().GetList("", where);

            if (dt != null && dt.Rows.Count > 0)
            {
                CompID         = dt.Rows[0]["CompID"].ToString().ToInt(0);
                DisID          = dt.Rows[0]["DisID"].ToString().ToInt(0);
                hidDisID.Value = DisID.ToString();

                //判断改该条数据代理商是否有操作权限
                if (!Common.PageDisOperable("Order", KeyID, DisID))
                {
                    Response.Redirect("../NoOperable.aspx");
                    return;
                }

                //////再次购买
                ////buyagain.Visible = false;
                //////订单修改
                ////modifyorder.Visible = false;
                //订单作废
                //ordervoid.Visible = false;
                //////订单审核
                ////orderaudit.Visible = false;

                Digits          = OrderInfoType.rdoOrderAudit("订单下单数量是否取整", dt.Rows[0]["CompID"].ToString().ToInt(0));
                hidDigits.Value = Digits;

                isbate = OrderInfoType.rdoOrderAudit("订单支付返利是否启用", CompID).ToInt(0);
                if (isbate == 0)
                {
                    trbate.Visible = false;
                    rebate.Visible = false;
                }

                OState = dt.Rows[0]["OState"].ToString().ToInt(0);
                if (OState == (int)Enums.OrderState.已作废)
                {
                    orderDelete.Visible = true;
                }
                else
                {
                    orderDelete.Visible = false;
                }
                IsOutState          = dt.Rows[0]["IsOutState"].ToString().ToInt(0);
                payState            = dt.Rows[0]["PayState"].ToString().ToInt(0);
                hidIsOutstate.Value = dt.Rows[0]["IsOutState"].ToString();
                hidOstate.Value     = OState.ToString();
                hidpaystate.Value   = payState.ToString();

                #region 订单操作按钮

                //switch (OState)
                //{
                //    case (int)Enums.OrderState.未提交:
                //        //modifyorder.Visible = true;
                //        //buyagain.Visible = true;
                //        //orderaudit.Visible = true;
                //        //ordervoid.Visible = true;
                //        deliver.Attributes.Add("style", "display: none;");
                //        break;
                //    case (int)Enums.OrderState.待审核:
                //        //modifyorder.Visible = true;
                //        //buyagain.Visible = true;
                //        //orderaudit.Visible = true;
                //        //ordervoid.Visible = true;
                //        deliver.Attributes.Add("style", "display: none;");
                //        break;
                //    case (int)Enums.OrderState.已审:
                //        //订单审核前,可以修改订单。
                //        buyagain.Visible = true;
                //        if (payState == 0)
                //        {
                //            //订单支付前订单可以作废,支付后不能作废订单
                //            ordervoid.Visible = true;
                //        }
                //        break;
                //    case (int)Enums.OrderState.退货处理:
                //        buyagain.Visible = true;
                //        fulfil = signde;
                //        break;
                //    case (int)Enums.OrderState.已发货:
                //        modifyorder.Visible = false;
                //        buyagain.Visible = true;
                //        break;
                //    case (int)Enums.OrderState.已到货:
                //        modifyorder.Visible = false;
                //        buyagain.Visible = true;
                //        fulfil = signde;
                //        break;
                //    case (int)Enums.OrderState.已作废:
                //        modifyorder.Visible = false;
                //        buyagain.Visible = true;
                //        break;
                //    case (int)Enums.OrderState.已退货:
                //        buyagain.Visible = true;
                //        fulfil = signde;
                //        break;
                //    default:
                //        break;
                //}

                #endregion

                // 订单编号
                lblReceiptNo.InnerText  = dt.Rows[0]["ReceiptNo"].ToString();
                lblDisName.InnerText    = Common.GetDisValue(dt.Rows[0]["DisID"].ToString().ToInt(0), "DisName").ToString();
                lblCreateDate.InnerText = dt.Rows[0]["CreateDate"].ToString().ToDateTime().ToString("yyyy-MM-dd");
                lblOstate.InnerText     = OrderType.GetOState(dt.Rows[0]["OState"].ToString(), dt.Rows[0]["IsOutState"].ToString());

                //订单流程
                lblTotalAmount.InnerText = dt.Rows[0]["TotalAmount"].ToString() == "" ? "0.00" : dt.Rows[0]["TotalAmount"].ToString().ToDecimal().ToString("N");
                lblProAmount.InnerText   = dt.Rows[0]["ProAmount"].ToString() == "" ? "0.00" : dt.Rows[0]["ProAmount"].ToString().ToDecimal().ToString("N");

                lblbateAmount.InnerText = dt.Rows[0]["bateAmount"].ToString() == "" ? "0.00" : dt.Rows[0]["bateAmount"].ToString().ToDecimal().ToString("N");
                lblbate.InnerText       = dt.Rows[0]["bateAmount"].ToString() == "" ? "0.00" : dt.Rows[0]["bateAmount"].ToString().ToDecimal().ToString("0.00");

                lblPostFee.InnerText     = dt.Rows[0]["PostFee"].ToString() == "" ? "0.00" : dt.Rows[0]["PostFee"].ToString().ToDecimal().ToString("0.00");
                lblAuditAmount.InnerText = dt.Rows[0]["AuditAmount"].ToString() == "" ? "0.00" : dt.Rows[0]["AuditAmount"].ToString().ToDecimal().ToString("N");

                //下单信息
                lblArriveDate.InnerText = dt.Rows[0]["ArriveDate"].ToString() == "" ? "" : dt.Rows[0]["ArriveDate"].ToString().ToDateTime().ToString("yyyy-MM-dd");
                lblGiveMode.InnerText   = dt.Rows[0]["GiveMode"].ToString();
                iRemark.InnerText       = dt.Rows[0]["Remark"].ToString();

                //收货地址
                lblPrincipal.InnerText = dt.Rows[0]["Principal"].ToString();
                lblPhone.InnerText     = dt.Rows[0]["Phone"].ToString();
                lblAddress.InnerText   = dt.Rows[0]["Address"].ToString();
                hidAddrID.Value        = dt.Rows[0]["AddrID"].ToString();

                //开票信息
                if (dt.Rows[0]["IsOBill"].ToString() == "1")
                {
                    hidDisAccID.Value = dt.Rows[0]["DisAccID"].ToString();
                    hidval.Value      = dt.Rows[0]["IsOBill"].ToString();
                    string Billing = string.Empty;
                    Billing += "发票抬头:<label id=\"lblRise\" runat=\"server\">" + dt.Rows[0]["Rise"].ToString() + "</label>";
                    Billing += ",发票内容:<label id=\"lblContent\" runat=\"server\">" + dt.Rows[0]["Content"].ToString() + "</label>";
                    if (!string.IsNullOrEmpty(dt.Rows[0]["OBank"].ToString()))
                    {
                        Billing += ",开户银行:<label id=\"lblOBank\" runat=\"server\">" + dt.Rows[0]["OBank"].ToString() + "</label>";
                        Billing += ",开户账户:<label id=\"lblOAccount\" runat=\"server\">" + dt.Rows[0]["OAccount"].ToString() + "</label>";
                        Billing += ",纳税人登记号:<label id=\"lblTRNumber\" runat=\"server\">" + dt.Rows[0]["TRNumber"].ToString() + "</label>";
                    }
                    iInvoice.InnerHtml = Billing;

                    //lblRise.InnerText = dt.Rows[0]["Rise"].ToString();
                    //lblContent.InnerText = dt.Rows[0]["Content"].ToString();
                    //lblOBank.InnerText = dt.Rows[0]["OBank"].ToString();
                    //lblOAccount.InnerText = dt.Rows[0]["OAccount"].ToString();
                    //lblTRNumber.InnerText = dt.Rows[0]["TRNumber"].ToString();
                }
                else
                {
                    this.iInvoice.InnerHtml = "不开发票";
                }

                //发票信息
                lblBillNo.InnerText = dt.Rows[0]["BillNo"].ToString();
                lblIsBill.InnerText = dt.Rows[0]["IsBill"].ToString() == "1" ? "是" : "否";
                lblIsBill.Attributes.Add("tip", dt.Rows[0]["IsBill"].ToString());
                this.hidisBill.Value = dt.Rows[0]["IsBill"].ToString();


                #region  订单支付信息

                TotalAmount = Convert.ToDecimal(dt.Rows[0]["AuditAmount"]).ToString("0.00");
                PayedAmount = Convert.ToDecimal(dt.Rows[0]["PayedAmount"]).ToString("0.00");

                //订单已支付不显示支付按钮(未审核、未支付完成)
                if (Convert.ToInt32(dt.Rows[0]["OState"]) == 1 || (Convert.ToDecimal(dt.Rows[0]["AuditAmount"]) - Convert.ToDecimal(dt.Rows[0]["PayedAmount"]) == 0))
                {
                    btn_pay.Visible = false;
                }
                paymoney = (Convert.ToDecimal(dt.Rows[0]["AuditAmount"]) - Convert.ToDecimal(dt.Rows[0]["PayedAmount"])).ToString("0.00");

                //加密keyId
                desKeyID.Value = Common.DesEncrypt(KeyID.ToString(), Common.EncryptKey);


                //绑定支付流水信息
                DataTable paytable = new Hi.BLL.PAY_PrePayment().GetPayedItem(KeyID);
                rptmessage.DataSource = paytable;
                rptmessage.DataBind();


                //初始值加载
                txtArriveDate.Value = DateTime.Now.ToString("yyyy-MM-dd");
                DataTable dtpayment = new Hi.BLL.PAY_PrePayment().GetDate(" top 1   CreateDate, payName ,paycode ,paybank", "pay_payment", " DisID=" + DisID + " and vdef3=5 order by  CreateDate desc");
                foreach (DataRow dr in dtpayment.Rows)
                {
                    bankname.Value = Convert.ToString(dr["payName"]);
                    bankcode.Value = Convert.ToString(dr["paycode"]);
                    bank.Value     = Convert.ToString(dr["paybank"]);
                }


                #endregion
                //附件
                if (dt.Rows[0]["Atta"].ToString() != "")
                {
                    StringBuilder li   = new StringBuilder();
                    string[]      atta = dt.Rows[0]["Atta"].ToString().Split(new string[] { "@@" }, StringSplitOptions.RemoveEmptyEntries);
                    if (atta.Length > 0)
                    {
                        foreach (var item in atta)
                        {
                            string[] att = item.Split(new string[] { "^^" }, StringSplitOptions.RemoveEmptyEntries);
                            if (att.Length > 1)
                            {
                                li.AppendFormat("<li> <a href=\"{2}\" target=\"_blank\" class=\"name\">{0}(大小:{4}KB)</a><a href=\"javascript:;\"  class=\"bule del\" tip=\"{3}\" orderid=\"{1}\">删除</a><a href=\"{2}\" target=\"_blank\" class=\"bule\">下载</a></li>", att[0] + att[1].Substring(att[1].LastIndexOf(".")), KeyID, Common.GetWebConfigKey("ImgViewPath") + "OrderFJ/" + item, item, OrderType.GetSize(item));
                            }
                        }
                    }
                    ulAtta.InnerHtml     = li.ToString();
                    this.hrOrderFj.Value = dt.Rows[0]["Atta"].ToString();
                }

                #region 订单明细

                //订单所有商品明细
                DataTable l = new Hi.BLL.DIS_OrderDetail().GetOrderDe("", " IsNUll(o.dr,0)=0 and o.OrderId=" + KeyID);
                if (l != null && l.Rows.Count > 0)
                {
                    rptOrderD.DataSource = l;
                    rptOrderD.DataBind();

                    //待发货商品
                    DataTable lno = SelectGoodsInfo.SreeenDataTable(l, "isnull(IsOut,0)=0"); //l.Select(string.Format("IsOut={0}", 0));
                    if (lno != null && lno.Rows.Count > 0)
                    {
                        txtDate.Value       = DateTime.Now.ToString("yyyy-MM-dd");
                        rptIsout.DataSource = lno;
                        rptIsout.DataBind();
                    }
                    else
                    {
                        deliver.Attributes.Add("style", "display: none;");
                    }

                    //已发货商品
                    List <Hi.Model.DIS_OrderOutDetail> loud = new Hi.BLL.DIS_OrderOutDetail().GetList("", " isnull(dr,0)=0 and OrderID=" + KeyID, "");
                    //发货单 作废-- and o.IsAudit<>3
                    DataTable lo = new Hi.BLL.DIS_OrderOut().GetList("", " isnull(o.dr,0)=0 and o.OrderID=" + KeyID + " Order by o.IsAudit");

                    if (loud != null && loud.Count > 0)
                    {
                        //outbind(lo, l, loud);

                        outGoods.InnerHtml = SelectGoodsInfo.outbind(lo, l, loud, Digits, 1);
                    }

                    #region 流程时间控件

                    //订单流程时间显示
                    //订单提交时间
                    CreateDate = dt.Rows[0]["CreateDate"].ToString() != "" ? dt.Rows[0]["CreateDate"].ToString().ToDateTime().ToString("yyyy-MM-dd HH:mm") : "";

                    //订单审核时间
                    AuditDate = dt.Rows[0]["AuditDate"].ToString() != "" ? dt.Rows[0]["AuditDate"].ToString().ToDateTime().ToString("yyyy-MM-dd HH:mm") : "";

                    if (lo != null && lo.Rows.Count > 0)
                    {
                        if (((int)Enums.OrderState.已发货 <= OState || OState == (int)Enums.OrderState.退货处理) && (IsOutState == 3 || IsOutState == 4))
                        {
                            //订单发货时间
                            DataRow[] sendlo = lo.Select("IsAudit<>3");
                            DataRow[] dv     = sendlo.OrderByDescending(x => x["id"]).ToArray();
                            if (dv.Length > 0)
                            {
                                sendde = dv[0]["SendDate"].ToString() != "" ? dv[0]["SendDate"].ToString().ToDateTime().ToString("yyyy-MM-dd HH:mm") : "";
                            }
                        }
                        if ((int)Enums.OrderState.已到货 <= OState || OState == (int)Enums.OrderState.退货处理)
                        {
                            //订单签收时间
                            DataRow[] signlo = lo.Select("IsAudit<>3 and IsSign=1");
                            DataRow[] dr     = signlo.OrderByDescending(x => x["id"]).ToArray();
                            if (dr.Length > 0)
                            {
                                signde = dr[0]["SignDate"].ToString() != "" ? dr[0]["SignDate"].ToString().ToDateTime().ToString("yyyy-MM-dd HH:mm") : "";
                            }
                        }
                    }
                    #endregion
                }
                #endregion
            }
            else
            {
                Response.Redirect("../NoOperable.aspx");
                return;
            }
        }
    }
예제 #9
0
    /// <summary>
    /// 订单支付
    /// </summary>
    /// <param name="orderid">订单ID</param>
    /// <param name="txtPayOrder">支付金额</param>
    /// <param name="price">企业钱包金额</param>
    /// <param name="yfk">预付款</param>
    /// <param name="payPas"></param>
    public Wxpay_Url PayOrder(int orderid, decimal txtPayOrder, decimal price, int yfk, string payPas)
    {
        //使用企业钱包

        OrderModel = new Hi.BLL.DIS_Order().GetModel(orderid);
        disModel   = new Hi.BLL.BD_Distributor().GetModel(OrderModel.DisID);



        #region  界面上显示
        this.lblOrderNO.InnerText = OrderModel.ReceiptNo.Trim().ToString();
        this.fee.InnerText        = this.CompName;//收款方
        // this.lblOrderNO.HRef = "../neworder/orderdetail.aspx?KeyID=" + Common.DesEncrypt(orderid.ToString(), Common.EncryptKey);
        #endregion 界面上显示


        #region 企业钱包支付 begin

        if (disModel == null)
        {
            ErrMessage("数据异常,代理商有误", orderid.ToString());
        }

        decimal sumPrice = new Hi.BLL.PAY_PrePayment().sums(disModel.ID, disModel.CompID); //剩余企业钱包
        int     disid    = OrderModel.DisID;                                               //代理商ID
        string  password = disModel.Paypwd;

        if (yfk == 1)
        {
            if (payPas == null || payPas.Trim().ToString() == "")
            {
                ErrMessage("企业钱包密码不能为空", orderid.ToString());
            }
            payPas = payPas.Trim().ToString();
            if (password == Util.md5("123456"))
            {
                ErrMessage("请先修改企业钱包支付密码", orderid.ToString());
            }
            else
            {
                if (payPas == "")
                {
                    ErrMessage("密码不能为空", orderid.ToString());
                }
            }
        }

        decimal payPrice = 0;//支付金额
        if (txtPayOrder == 0)
        {
            ErrMessage("支付金额不能为0", orderid.ToString());
        }
        if (yfk == 1 && txtPayOrder < price)
        {
            ErrMessage("使用企业钱包大于支付金额!", orderid.ToString());
        }
        if (yfk == 1)
        {
            payPrice = txtPayOrder - price;
        }
        else
        {
            payPrice = txtPayOrder;
        }


        if (txtPayOrder > OrderModel.AuditAmount + OrderModel.OtherAmount - OrderModel.PayedAmount)
        {
            ErrMessage("支付金额大于未支付金额,不能支付!", orderid.ToString());
        }
        if (!((
                  (OrderModel.Otype == (int)Enums.OType.赊销订单 && (OrderModel.OState != (int)Enums.OrderState.退回 && OrderModel.OState != (int)Enums.OrderState.未提交 && OrderModel.OState != (int)Enums.OrderState.待审核) && (OrderModel.PayState == (int)Enums.PayState.未支付 || OrderModel.PayState == (int)Enums.PayState.部分支付)) ||
                  (OrderModel.Otype != (int)Enums.OType.赊销订单 && OrderModel.Otype != (int)Enums.OType.推送账单 && (OrderModel.OState == (int)Enums.OrderState.已审 || OrderModel.OState == (int)Enums.OrderState.已发货 || OrderModel.OState == (int)Enums.OrderState.已到货) && (OrderModel.PayState == (int)Enums.PayState.未支付 || OrderModel.PayState == (int)Enums.PayState.部分支付)) ||
                  (OrderModel.Otype == (int)Enums.OType.推送账单 && OrderModel.OState == (int)Enums.OrderState.已审 && (OrderModel.PayState == (int)Enums.PayState.部分支付 || OrderModel.PayState == (int)Enums.PayState.未支付))
                  ) &&
              OrderModel.OState != (int)Enums.OrderState.已作废))
        {
            if (OrderModel.Otype == (int)Enums.OType.推送账单)
            {
                ErrMessage("账单异常,不能支付", orderid.ToString());
            }
            else
            {
                ErrMessage("订单异常,不能支付", orderid.ToString());
            }
        }

        if (yfk == 1 && price > 0)
        {
            //企业钱包处理
            if (sumPrice < price)
            {
                ErrMessage("企业钱包余额不足", orderid.ToString());
            }
            if (disModel.Paypwd != Util.md5(payPas))
            {
                ErrMessage("支付密码不正确", orderid.ToString());
            }
            Hi.Model.PAY_PrePayment prepayModel = new Hi.Model.PAY_PrePayment();
            prepayModel.CompID     = disModel.CompID;
            prepayModel.DisID      = disModel.ID;
            prepayModel.OrderID    = OrderModel.ID;
            prepayModel.Start      = 2;
            prepayModel.PreType    = 5;
            prepayModel.price      = price * -1;
            prepayModel.Paytime    = DateTime.Now;
            prepayModel.CreatDate  = DateTime.Now;
            prepayModel.CrateUser  = this.UserID;
            prepayModel.AuditState = 2;
            prepayModel.IsEnabled  = 1;
            prepayModel.ts         = DateTime.Now;
            prepayModel.modifyuser = this.UserID;
            prepayModel.guid       = Common.Number_repeat(Guid.NewGuid().ToString().Replace("-", ""));
            // prepayModel.vdef1 = "订单支付";
            prepayid = new Hi.BLL.PAY_PrePayment().Add(prepayModel);
            int prepay = 0;
            int order  = 0;
            if (prepayid > 0 && payPrice == 0)//payPrice(网银支付金额)= 0 ,只用企业钱包支付,修改状态
            {
                SqlConnection con = new SqlConnection(LocalSqlServer);
                con.Open();
                SqlTransaction sqlTrans = con.BeginTransaction();
                try
                {
                    prepay = new Hi.BLL.PAY_PrePayment().updatePrepayState(con, prepayid, sqlTrans);        //修改企业钱包状态
                    order  = new Hi.BLL.DIS_Order().UpdateOrderPstate(con, OrderModel.ID, price, sqlTrans); //修改订单状态
                    if (prepay > 0 && order > 0)
                    {
                        sqlTrans.Commit();
                    }
                    else
                    {
                        sqlTrans.Rollback();
                    }
                }
                catch
                {
                    prepay = 0;
                    order  = 0;
                    sqlTrans.Rollback();
                }
                finally
                {
                    con.Close();
                }
                if (prepay > 0 && order > 0)
                {
                    try
                    {
                        if (OrderModel.Otype == (int)Enums.OType.推送账单)
                        {
                            Utils.AddSysBusinessLog(disModel.CompID, "Order", OrderModel.ID.ToString(), "账单支付", "支付:" + price.ToString("0.00") + "元(企业钱包支付)", this.UserID.ToString());
                        }
                        else
                        {
                            Utils.AddSysBusinessLog(disModel.CompID, "Order", OrderModel.ID.ToString(), "订单支付", "支付:" + price + "元(企业钱包支付)", this.UserID.ToString());
                        }
                        if (OrderModel.Otype != 9)
                        {
                            OrderInfoType.AddIntegral(this.CompID, this.DisID, "1", 1, OrderModel.ID, price, "订单支付", "", this.UserID);
                        }
                        new Common().GetWxService("2", OrderModel.ID.ToString(), "1", price);
                    }
                    catch (Exception ex)
                    {
                        ErrMessage("支付失败", orderid.ToString());
                    }

                    if (OrderModel.Otype == (int)Enums.OType.推送账单)
                    {
                        Response.Redirect("PaySuccess.aspx?type=" + Common.DesEncrypt("2", Common.EncryptKey) + "&KeyID=" + Common.DesEncrypt(OrderModel.ID.ToString(), Common.EncryptKey) + "&Pid=" + Common.DesEncrypt("0".ToString(), Common.EncryptKey) + "&PPid=" + Common.DesEncrypt(prepayid.ToString(), Common.EncryptKey) + "&IsRef=Y", false);
                    }
                    else
                    {
                        Response.Redirect("PaySuccess.aspx?type=" + Common.DesEncrypt("1", Common.EncryptKey) + "&KeyID=" + Common.DesEncrypt(OrderModel.ID.ToString(), Common.EncryptKey) + "&Pid=" + Common.DesEncrypt("0".ToString(), Common.EncryptKey) + "&PPid=" + Common.DesEncrypt(prepayid.ToString(), Common.EncryptKey) + "&IsRef=Y", false);
                    }
                }
            }
        }

        #endregion



        #region  插入支付表记录

        Hi.Model.PAY_Payment payModel = new Hi.Model.PAY_Payment();
        string orderNo = WebConfigurationManager.AppSettings["OrgCode"] + DateTime.Now.ToString("yyyyMMdd");//支付订单号前半部分

        string guid = Guid.NewGuid().ToString().Replace("-", "");
        payModel.OrderID      = OrderModel.ID; // orderid;
        payModel.DisID        = this.DisID;
        payModel.Type         = 0;             // isDBPay;
        payModel.PayUser      = disModel.DisName;
        payModel.PayPrice     = payPrice;
        payModel.IsAudit      = 2;
        payModel.guid         = Common.Number_repeat(guid);
        payModel.vdef3        = "1"; //1,订单支付,2,预付款充值、汇款
        payModel.vdef4        = orderNo;
        payModel.CreateDate   = DateTime.Now;
        payModel.CreateUserID = this.UserID;
        payModel.ts           = DateTime.Now;
        payModel.modifyuser   = this.UserID;
        payModel.PrintNum     = 1; //支付宝支付无需结算
        //判断账户类型,判断支付渠道
        payModel.Channel = "7";    //1,快捷支付,2,银联支付 ,3,网银支付,4,B2B网银支付,5,线下支付,6,支付宝支付 7,微信支付
        payModel.State   = 0;      //手续费收取方
        payModel.vdef5   = "0.00"; //支付手续费
        payid            = new Hi.BLL.PAY_Payment().Add(payModel);

        if (prepayid > 0)
        {
            Hi.Model.PAY_PrePayment prepayMent = new Hi.BLL.PAY_PrePayment().GetModel(prepayid);
            prepayMent.vdef4 = payid.ToString();//与企业钱包关联
            new Hi.BLL.PAY_PrePayment().Update(prepayMent);
        }

        Hi.Model.PAY_RegisterLog regModel = new Hi.Model.PAY_RegisterLog();
        regModel.OrderId    = OrderModel.ID;// orderid;
        regModel.Ordercode  = orderNo + payid.ToString();
        regModel.number     = payModel.guid;
        regModel.Price      = payPrice;
        regModel.Payuse     = "订单支付";
        regModel.PayName    = disModel.DisName;
        regModel.DisID      = OrderModel.DisID;
        regModel.PayTime    = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
        regModel.Remark     = OrderModel.Remark;// orderModel.Remark;
        regModel.DisName    = new Hi.BLL.BD_Company().GetModel(disModel.CompID).CompName;
        regModel.BankID     = "支付宝支付";
        regModel.CreateUser = this.UserID;
        regModel.CreateDate = DateTime.Now;
        regModel.LogType    = 1311;
        int regid = new Hi.BLL.PAY_RegisterLog().Add(regModel);
        if (payid <= 0 || regid <= 0)
        {
            Response.Redirect("Error.aspx?type=" + Common.DesEncrypt("3", Common.EncryptKey) + "&KeyID=" + Common.DesEncrypt(Convert.ToString(KeyID), Common.EncryptKey) + "&msg=" + Common.DesEncrypt("支付失败!", Common.EncryptKey), false);
        }

        //订单所有商品明细


        DataTable l = new Hi.BLL.DIS_OrderDetail().GetOrderDe("", " IsNUll(o.dr,0)=0 and o.OrderId=" + orderid);
        foreach (DataRow dr in l.Rows)
        {
            GoodsName += dr["GoodsName"] + ",";
        }
        GoodsName = GoodsName.Substring(0, GoodsName.Length - 1);//去掉最后一个逗号
        if (GoodsName.Length > 15)
        {
            GoodsName = GoodsName.Substring(0, 10) + "...";
        }



        #endregion


        int amount = Convert.ToInt32(payPrice * 100);//支付金额(单位:分)

        //隐藏域赋值
        this.hidguid.Value  = payModel.guid;
        this.hidprice.Value = payPrice.ToString();
        this.hidordid.Value = payModel.OrderID.ToString();
        this.hidpid.Value   = payid.ToString();
        this.hidppid.Value  = prepayid.ToString();

        // btnWxPay_Click(payModel.guid, orderid.ToString(), amount);

        Wxpay_Url wxpaymodel = new Wxpay_Url();
        wxpaymodel.Guid    = payModel.guid;
        wxpaymodel.OrderID = orderid.ToString();
        wxpaymodel.Amount  = amount;


        wxpaymodel.Hidguid  = payModel.guid;
        wxpaymodel.Hidprice = payModel.PayPrice.ToString();
        wxpaymodel.Hidordid = payModel.OrderID.ToString();
        wxpaymodel.Hidpid   = payid.ToString();
        wxpaymodel.Hidppid  = prepayid.ToString();

        return(wxpaymodel);
    }
예제 #10
0
    /// <summary>
    /// 修改是绑定的数据
    /// </summary>
    public void Bind()
    {
        //判断是否有权限
        if (!Common.PageCompOperable("Order", KeyID, CompID))
        {
            Response.Redirect("../../NoOperable.aspx");
            return;
        }
        Hi.Model.DIS_Order OrderInfoModel = new Hi.BLL.DIS_Order().GetModel(KeyID);
        if (OrderInfoModel != null)
        {
            hidts.Value = OrderInfoModel.ts.ToString();                                                //时间戳
            this.divGoodsName.InnerText = disBing(CompID.ToString(), OrderInfoModel.DisID.ToString()); //筛选商品
            Hi.Model.BD_Distributor model = new Hi.BLL.BD_Distributor().GetModel(OrderInfoModel.DisID);
            this.txtDisName.Value    = model.DisName;                                                  //代理商名称
            this.txtDisName.Disabled = true;                                                           //只读
            this.hidDisID.Value      = OrderInfoModel.DisID.ToString();                                //代理商ID
            if (Request["type"] + "" != "2" || Fanli == 1)
            {
                this.txtRebate.Value = OrderInfoModel.bateAmount.ToString();                                                                                      //返利金额
            }
            this.txtDate.Value        = OrderInfoModel.ArriveDate.ToString("yyyy-MM-dd") == "0001-01-01" ? "" : OrderInfoModel.ArriveDate.ToString("yyyy-MM-dd"); //交货日期
            this.lblPsType.InnerText  = OrderInfoModel.GiveMode;                                                                                                  //配送方式
            this.lblPsType2.InnerText = OrderInfoModel.GiveMode == "送货" ? "自提" : "送货";
            this.hidPsType.Value      = OrderInfoModel.GiveMode;                                                                                                  //配送方式
            this.OrderNote.Value      = OrderInfoModel.Remark;                                                                                                    //订单备注
            this.hidAdder.Value       = OrderInfoModel.Address;                                                                                                   //地址
            this.hidAddName.Value     = OrderInfoModel.Principal;                                                                                                 //联系人
            this.hidAddPhone.Value    = OrderInfoModel.Phone;                                                                                                     //联系人电话
            this.hrAdder.Value        = OrderInfoModel.AddrID.ToString();                                                                                         //收货地址id
            this.hrOrderFj.Value      = OrderInfoModel.Atta;                                                                                                      //附件文件
            string str10 = decimal.Parse(string.Format("{0:N2}", OrderInfoModel.PostFee.ToString())).ToString("0.00");                                            //运费
            this.lblPostFee.InnerText = str10;                                                                                                                    //运费
            this.hidPostFree.Value    = str10;                                                                                                                    //运费
            //附件
            string str3 = string.Empty;                                                                                                                           //附件信息
            if (OrderInfoModel.Atta.ToString() != "")
            {
                StringBuilder li   = new StringBuilder();
                string[]      atta = OrderInfoModel.Atta.Split(new string[] { "@@" }, StringSplitOptions.RemoveEmptyEntries);
                if (atta.Length > 0)
                {
                    foreach (var item in atta)
                    {
                        string[] att = item.Split(new string[] { "^^" }, StringSplitOptions.RemoveEmptyEntries);

                        li.AppendFormat("<li> <a href=\"javascript:;\" class=\"name\">{0}(大小:{4}KB)</a><a href=\"javascript:;\"  class=\"bule del\" tip=\"{3}\" orderid=\"{1}\">删除</a><a href=\"{2}\" target=\"_blank\" class=\"bule\">下载</a></li>", att[0] + att[1].Substring(att[1].LastIndexOf(".")), KeyID, Common.GetWebConfigKey("ImgViewPath") + "OrderFJ/" + item, item, OrderType.GetSize(item));
                    }
                }
                str3 = li.ToString();
            }
            //收货信息
            string str   = "收货人:" + OrderInfoModel.Principal + ",联系电话:" + OrderInfoModel.Phone + ",收货地址:" + OrderInfoModel.Address;
            string price = string.Empty;//返利总金额
            if (Request.QueryString["type"] + "" == "2")
            {
                //再次购买时获取返利总金额
                price = OrderType.GetRebate(0, OrderInfoModel.DisID);
            }
            else
            {
                //其他获取返利总金额
                price = OrderType.GetRebate(KeyID, OrderInfoModel.DisID);
            }
            //可用返利金额
            string str4 = "可用返利¥ <label id=\"lblRebate\">" + string.Format("{0:N2}", price.ToString()) + "</label><i class=\"sus-i seebate\"></i>";
            List <Hi.Model.DIS_OrderDetail> ll = new Hi.BLL.DIS_OrderDetail().GetList("", "isnull(dr,0)=0 and orderId=" + KeyID, "");
            if (ll.Count > 0)
            {
                string html  = string.Empty; //绑定的商品数据
                int    index = 0;            //索引
                string str8  = "0.00";       //商品小计
                foreach (Hi.Model.DIS_OrderDetail obj in ll)
                {
                    Hi.Model.BD_GoodsInfo model2 = new Hi.BLL.BD_GoodsInfo().GetModel(obj.GoodsinfoID);
                    string  kc        = string.Empty;
                    decimal newprice  = obj.AuditAmount;                                           //判断修改和再次购买时的价格 显示的
                    decimal newprice2 = obj.GoodsPrice;                                            //判断修改和再次购买时的价格 隐藏的
                    str8 = decimal.Parse(string.Format("{0:N2}", obj.sumAmount)).ToString("0.00"); //判断修改和再次购买时的小计价格
                    // decimal str88 = 0;//判断修改和再次购买时的小计价格 隐藏的
                    if (Request.QueryString["type"] + "" == "2")
                    {
                        //再次 购买时获取库存
                        kc = model2.Inventory.ToString();
                        // newprice2 = newprice = BLL.Common.GetGoodsPrice(this.CompID, OrderInfoModel.DisID, obj.GoodsinfoID);
                        //  str8 = decimal.Parse(string.Format("{0:N2}", newprice * obj.GoodsNum)).ToString("0.00");
                    }
                    else
                    {
                        //其他获取库存
                        kc = (model2.Inventory + obj.GoodsNum + obj.ProNum.ToDecimal(0)).ToString();
                    }
                    string pic  = new Hi.BLL.BD_Goods().GetModel(Convert.ToInt32(model2.GoodsID)).Pic;                   //图片
                    string str6 = IsInve == 0 ? "" : "display:none";                                                     //是否显示库存
                    string str7 = string.Empty;                                                                          //是否促销
                    str7 = SelectGoodsInfo.protitle(obj.ProID, obj.Protype, obj.Unit);                                   // ConvertJson.IsCx(dt.Rows[0]["proTypes"].ToString(), dt.Rows[0]["proType"].ToString(), dt.Rows[0]["proGoodsPrice"].ToString(), dt.Rows[0]["proDiscount"].ToString(), dt.Rows[0]["unit"].ToString()); //SelectGoodsInfo.protitle(obj.ProID, obj.Protype, obj.Unit);
                    string  Digits = OrderInfoType.rdoOrderAudit("订单下单数量是否取整", this.CompID);                             //小数位数
                    decimal num    = decimal.Parse(string.Format("{0:N4}", (obj.GoodsNum).ToString("#,####" + Digits))); //购买数量
                    string  str9   = obj.Remark;                                                                         //goodsInfoid备注
                    if (obj.Remark != null && obj.Remark.Length > 6)
                    {
                        str9 = obj.Remark.Substring(0, 6) + "...";
                    }
                    string strremark = string.Empty;//鼠标移上去时显示的备注
                    if (obj.Remark != "")
                    {
                        strremark = "<div class=\"divremark" + index + "\">" + str9 + "</div><div class=\"cur\">" + obj.Remark + "</div>";
                    }
                    // decimal zxprice = BLL.Common.GetGoodsPrice(this.CompID, OrderInfoModel.DisID, obj.GoodsinfoID);
                    html += "<tr trindex=\"" + index + "\" trindex2=\"" + index + "\" id=\"" + obj.ID + "\" tip=\"" + obj.GoodsinfoID + "\"><td class=\"t8\"><div class=\"addg\"><a href=\"javascript:;\" class=\"minus2\"></a><a href=\"javascript:;\" class=\"add2\"></a></div></td><td><div class=\"sPic\"><a class=\"opt-i2\"></a><span><a href=\"javascript:;\"><img src=\"" + Common.GetPicURL(pic, "resize200") + "\" width=\"60\" height=\"60\"></a></span><a href=\"javascript:;\" class=\"code\">商品编码:" + obj.GoodsCode + str7 + "</a><a href=\"javascript:;\" class=\"name\">" + GetGoodsName(obj.GoodsName, obj.GoodsInfos, "1") + "<i>" + GetGoodsName(obj.GoodsName, obj.GoodsInfos, "2") + "</i></a></div></td><td><div class=\"tc\">" + obj.Unit + "</div></td><td><input type=\"text\" tip2=\"" + index + "\" class=\"boxs divprice" + index + "\"   value=\"" + decimal.Parse(string.Format("{0:N2}", newprice)).ToString("0.00") + "\" maxlength=\"9\" ><input type=\"hidden\" class=\"hidPrice\" value=\"" + decimal.Parse(string.Format("{0:N2}", newprice2)).ToString("0.00") + "\" /></td><td style=\"" + str6 + "\"><div class=\"tc\"><input type=\"hidden\" id=\"hidInventory_" + index + "\" value=\"" + decimal.Parse(string.Format("{0:N2}", kc)).ToString(Digits) + "\" />" + decimal.Parse(string.Format("{0:N2}", kc)).ToString(Digits) + "</div></td><td><div class=\"sl divnum\" tip=\"" + obj.GoodsinfoID + "\" tip2=\"" + index + "\"><a href=\"javascript:void(0);\"  class=\"minus\">-</a><input type=\"text\" class=\"box txtGoodsNum txtGoodsNum" + index + "\" onfocus=\"InputFocus(this)\" onkeyup='KeyInt2(this)' maxlength=\"9\"  value=\"" + num + "\"><a href=\"javascript:void(0);\"  class=\"add\">+</a></div></td><td><div class=\"tc lblTotal_" + index + "\">¥" + str8 + "</div></td><td><div class=\"tc alink\"><a href=\"javascript:;\" class=\"aremark" + index + "\">" + (obj.Remark == "" ? "添加" : "编辑") + "</a>" + strremark + "</div></td></tr>";
                    index++;
                }
                this.lblTotalAmount.InnerText = decimal.Parse(string.Format("{0:N2}", OrderInfoModel.TotalAmount)).ToString("0.00"); //商品总额
                string str2 = string.Empty;                                                                                          //开票信息
                List <Hi.Model.DIS_OrderExt> l = new Hi.BLL.DIS_OrderExt().GetList("", "orderID=" + KeyID, "");
                if (l.Count > 0)
                {
                    foreach (Hi.Model.DIS_OrderExt item in l)
                    {
                        this.hrOrderInv.Value = item.DisAccID; //开票Id
                        this.hidLookUp.Value  = item.Rise;     //发票抬头
                        this.hidBank.Value    = item.OBank;    //开会银行
                        this.hidContext.Value = item.Content;  //发票内容
                        this.hidAccount.Value = item.OAccount; //开户帐号
                        this.hidRegNo.Value   = item.TRNumber; //纳税人登记号
                        if (item.IsOBill == 0)
                        {
                            str2 = "不开票";
                            this.hidVal.Value = "0";
                        }
                        else if (item.IsOBill == 1 && item.OAccount == "" && item.TRNumber == "" && item.OBank == "")
                        {
                            str2 = "发票抬头:" + item.Rise + ",发票内容:" + item.Content;
                            this.hidVal.Value = "1";
                        }
                        else
                        {
                            str2 = "发票抬头:" + item.Rise + ",发票内容:" + item.Content + ",开户银行:" + item.OBank + ",开户账户:" + item.OAccount + ",纳税人登记号:" + item.TRNumber;
                            this.hidVal.Value = "2";
                        }

                        this.lblCux.InnerText = decimal.Parse(string.Format("{0:N2}", item.ProAmount.ToString())).ToString("0.00");//订单促销
                    }
                }
                if (Convert.ToDecimal(str8) < 0)
                {
                    str8 = "0.00";
                }
                if (Request["type"] + "" != "2" || Fanli == 1)
                {
                    this.lblFanl.InnerText = decimal.Parse(string.Format("{0:N2}", OrderInfoModel.bateAmount.ToString())).ToString("0.00");//返利金额
                }
                ClientScript.RegisterStartupScript(this.GetType(), "adder", "<script>$(function(){$(\".site .site-if\").text(\"" + str + "\");$(\".invoice .in-if\").text(\"" + str2 + "\");$(\".attach .list\").html(\"" + str3.Replace("\"", "'") + "\");$(\".edit-ok .txt\").html(\"" + str4.Replace("\"", "'") + "\");  $(\".tabLine table tbody\").html(\"" + html.Replace("\"", "'") + "\"); $(\"#lblYFPrice\").text(\"" + decimal.Parse(string.Format("{0:N2}", (Request["type"] + "" == "2" && Fanli == 0 ? OrderInfoModel.AuditAmount + OrderInfoModel.bateAmount : OrderInfoModel.AuditAmount))).ToString("0.00") + "\"); $(\".jxs-box .opt-i\").hide();})</script>");
            }
        }
    }
예제 #11
0
    public ResultOrderList GetBriefingList(string JSon)
    {
        try
        {
            string UserID          = string.Empty;
            string CompID          = string.Empty;
            string criticalOrderID = string.Empty; //当前列表最临界点产品ID:初始-1
            string getType         = string.Empty; //方向
            string rows            = string.Empty;
            string sortType        = string.Empty;
            string sort            = string.Empty;
            string datetype        = string.Empty;
            string ordertype       = string.Empty;
            #region//JSon取值
            JsonData JInfo = JsonMapper.ToObject(JSon);
            if (JInfo.Count > 0 && JInfo["UserID"].ToString() != "" && JInfo["CompID"].ToString() != "" &&
                JInfo["CriticalOrderID"].ToString() != "" && JInfo["GetType"].ToString() != "" &&
                JInfo["Rows"].ToString() != "" && JInfo["SortType"].ToString() != "" &&
                JInfo["Sort"].ToString() != "" && JInfo["DateType"].ToString() != "" && JInfo["OrderType"].ToString() != "")
            {
                UserID          = JInfo["UserID"].ToString();
                CompID          = JInfo["CompID"].ToString();
                criticalOrderID = JInfo["CriticalOrderID"].ToString();
                getType         = JInfo["GetType"].ToString();
                rows            = JInfo["Rows"].ToString();
                sortType        = JInfo["SortType"].ToString();
                sort            = JInfo["Sort"].ToString();
                datetype        = JInfo["DateType"].ToString();
                ordertype       = JInfo["OrderType"].ToString();
            }
            else
            {
                return(new ResultOrderList()
                {
                    Result = "F", Description = "参数异常"
                });
            }
            #endregion
            //判断登录信息是否异常
            Hi.Model.SYS_Users one = new Hi.Model.SYS_Users();
            if (!new Common().IsLegitUser(int.Parse(UserID), out one, int.Parse(CompID == "" ? "0" : CompID)))
            {
                return new ResultOrderList()
                       {
                           Result = "F", Description = "登录信息异常"
                       }
            }
            ;
            //判断经销商信息是否异常
            Hi.Model.BD_Company comp = new Hi.BLL.BD_Company().GetModel(Convert.ToInt32(CompID));
            if (comp == null || comp.dr == 1 || comp.AuditState == 0 || comp.IsEnabled == 0)
            {
                return new ResultOrderList()
                       {
                           Result = "F", Description = "核心企业异常"
                       }
            }
            ;

            DateTime date       = DateTime.Now;
            DateTime date_start = new DateTime();
            DateTime date_end   = date.AddDays(1);
            //string strdate_start = string.Empty;
            // string strdate_end = date_end.ToString("yyyy-MM-dd");

            string strwhere = "";
            switch (datetype)
            {
            case "0":
                date_start = new DateTime(date.Year, date.Month, date.Day, 0, 0, 0);

                //strdate_start = date_start.ToString("yyyy-MM-dd");
                break;

            case "1":
                DateTime startWeek = date.AddDays(1 - Convert.ToInt32(date.DayOfWeek.ToString("d")));
                date_start = new DateTime(startWeek.Year, startWeek.Month, startWeek.Day, 0, 0, 0);
                //strdate_start = date_start.ToString("yyyy-MM-dd");
                break;

            case "2":
                date_start = new DateTime(date.Year, date.Month, 1);
                //strdate_start = date_start.ToString("yyyy-MM-dd");
                break;

            default:
                return(new ResultOrderList()
                {
                    Result = "F", Description = "时间段类型异常"
                });

                break;
            }
            switch (ordertype)
            {
            case "0":
                strwhere = " and  isnull(dr,0)=0 and Otype!=9 and CompID=" + comp.ID + " and OState in (2,3,4,5,7) and CreateDate>='" + date_start + "' and CreateDate<='" + date_end + "'";
                break;

            case "1":
                strwhere = " and  isnull(dr,0)=0 and CompID=" + comp.ID + " and  CreateDate>='" + date_start + "' and CreateDate<='" + date_end + "' and ReturnState =3";
                break;

            case "2":
                string sql = "SELECT distinct orderID FROM [dbo].[CompCollection_view] where OrderID not in(select ID from Dis_Order where ISNULL(dr,0)=0 and (Otype=9 or OState not in(2,3,4,5,7)) and CompID=" + comp.ID + ")  and status!=3 and CompID=" + comp.ID +
                             " and Date>='" + date_start + "' and Date<'" + date_end + "'  AND vedf9=1 ";
                DataTable dt_pay = SqlHelper.Query(SqlHelper.LocalSqlServer, sql).Tables[0];
                string where = "";
                for (int i = 0; i < dt_pay.Rows.Count; i++)
                {
                    if (ClsSystem.gnvl(dt_pay.Rows[i]["orderID"], "") != "")
                    {
                        where += ",";
                        where += ClsSystem.gnvl(dt_pay.Rows[i]["orderID"], "");
                    }
                }
                where    = where.Substring(1, where.Length - 1);
                strwhere = " and id in (" + where + ")";
                break;

            default:
                return(new ResultOrderList()
                {
                    Result = "F", Description = "订单类型异常"
                });

                break;
            }

            if (sortType == "1") //价格排序
            {
                sortType = "CreateDate";
            }
            else if (sortType == "2") //价格排序
            {
                sortType = "TotalAmount";
            }
            else
            {
                sortType = "ID";
            }

            string strsql = new Common().PageSqlString(criticalOrderID, "ID", "DIS_Order", sortType,
                                                       sort, strwhere, getType, rows);


            if (strsql == "")
            {
                return new ResultOrderList()
                       {
                           Result = "F", Description = "基础数据异常"
                       }
            }
            ;


            #region 赋值


            List <Order> OrderList = new List <Order>();
            DataSet      ds        = SqlHelper.Query(SqlHelper.LocalSqlServer, strsql);
            if (ds.Tables.Count == 0)
            {
                return new ResultOrderList()
                       {
                           Result = "T", Description = "没有更多数据"
                       }
            }
            ;
            DataTable orderList = ds.Tables[0];
            if (orderList != null)
            {
                if (orderList.Rows.Count == 0)
                {
                    return new ResultOrderList()
                           {
                               Result = "T", Description = "没有更多数据"
                           }
                }
                ;

                foreach (DataRow row in orderList.Rows)
                {
                    Order order = new Order();

                    Hi.Model.DIS_Order orderModel = new Hi.BLL.DIS_Order().GetModel(int.Parse(row["ID"].ToString()));
                    if (orderModel == null || orderModel.dr == 1)
                    {
                        return new ResultOrderList()
                               {
                                   Result = "F", Description = "订单异常"
                               }
                    }
                    ;
                    order.OrderID  = orderModel.ID.ToString();
                    order.CompID   = orderModel.CompID.ToString();
                    order.CompName = comp.CompName;

                    order.State = Common.GetCompOrderType(orderModel.OState, orderModel.PayState, orderModel.Otype,
                                                          orderModel.ReturnState);
                    string IsEnSend, IsEnPay, IsEnReceive, IsEnReturn, IsEnAudit;
                    Common.GetEspecialType(orderModel.OState.ToString(), orderModel.PayState.ToString(), orderModel.Otype.ToString(),
                                           orderModel.ReturnState.ToString(), out IsEnSend, out IsEnPay, out IsEnAudit, out IsEnReceive, out IsEnReturn);
                    order.IsEnSend    = IsEnSend;
                    order.IsEnPay     = IsEnPay;
                    order.IsEnAudit   = IsEnAudit;
                    order.IsEnReceive = IsEnReceive;
                    order.IsEnReturn  = IsEnReturn;

                    order.Otype       = orderModel.Otype.ToString();
                    order.AddType     = orderModel.AddType.ToString();
                    order.OState      = orderModel.OState.ToString();
                    order.PayState    = orderModel.PayState.ToString();
                    order.ReturnState = orderModel.ReturnState.ToString();
                    order.DisID       = orderModel.DisID.ToString();
                    Hi.Model.BD_Distributor dis = new Hi.BLL.BD_Distributor().GetModel(orderModel.DisID);
                    if (dis == null || dis.AuditState == 0 || dis.dr == 1)
                    {
                        return new ResultOrderList()
                               {
                                   Result = "F", Description = "经销信息商异常"
                               }
                    }
                    ;
                    order.DisName   = dis.DisName;
                    order.DisUserID = orderModel.DisUserID.ToString();
                    Hi.Model.SYS_Users user = new Hi.BLL.SYS_Users().GetModel(int.Parse(order.DisUserID));
                    //if (user == null || user.IsEnabled == 0 || user.dr == 1)
                    //    return new ResultOrderList() { Result = "F", Description = "经销商用户信息异常" };
                    //order.DisUserName = orderModel.DisUserName;
                    if (user != null && user.IsEnabled == 1 && user.dr == 0)
                    {
                        order.DisUserName = user.TrueName;
                    }
                    else
                    {
                        order.DisUserName = "";
                    }
                    order.AddrID    = orderModel.AddrID.ToString();
                    order.ReceiptNo = orderModel.ReceiptNo;
                    if (ClsSystem.gnvl(orderModel.ArriveDate, "") != "0001/1/1 0:00:00" && ClsSystem.gnvl(orderModel.ArriveDate, "") != "")
                    {
                        order.ArriveDate = orderModel.ArriveDate.ToString("yyyy-MM-dd");
                    }
                    if (!string.IsNullOrEmpty(orderModel.AddrID.ToString()))
                    {
                        Hi.Model.BD_DisAddr addr = new Hi.BLL.BD_DisAddr().GetModel(orderModel.AddrID);
                        if (addr != null)
                        {
                            order.Zip = addr.Zip;
                        }
                    }
                    order.Address           = orderModel.Address;
                    order.Contact           = orderModel.Principal;
                    order.Phone             = orderModel.Phone;
                    order.TotalAmount       = orderModel.AuditAmount.ToString("0.00");
                    order.AuditTotalAmount  = orderModel.AuditAmount.ToString("0.00");
                    order.PayedAmount       = orderModel.PayedAmount.ToString("0.00");
                    order.CreateUserID      = orderModel.CreateUserID.ToString();
                    order.CreateDate        = orderModel.CreateDate.ToString("yyyy-MM-dd HH:mm");
                    order.ReturnMoneyDate   = orderModel.ReturnMoneyDate.ToString();
                    order.ReturnMoneyUser   = orderModel.ReturnMoneyUser;
                    order.ReturnMoneyUserId = orderModel.ReturnMoneyUserId.ToString();

                    List <Hi.Model.DIS_OrderOut> outList = new Hi.BLL.DIS_OrderOut().GetList("",
                                                                                             " OrderID='" + orderModel.ID + "' and CompID='" + orderModel.CompID + "' and DisID='" +
                                                                                             orderModel.DisID + "' and ISNULL(dr,0)=0", "");
                    if (outList.Count != 0)
                    {
                        Hi.Model.DIS_OrderOut orderOut = new Hi.Model.DIS_OrderOut();
                        foreach (Hi.Model.DIS_OrderOut Out in outList)
                        {
                            orderOut = Out;
                        }
                        order.SendID   = orderOut.ID.ToString();
                        order.SendDate = orderOut.SendDate.ToString();
                        ////order.Express = orderOut.Express;
                        ////order.ExpressNo = orderOut.ExpressNo;
                        ////order.ExpressPerson = orderOut.ExpressPerson;
                        ////order.ExpressTel = orderOut.ExpressTel;
                        ////order.ExpressBao = orderOut.ExpressBao;
                        ////order.PostFee = orderOut.PostFee.ToString("0.00");
                        order.ActionUser = orderOut.ActionUser;
                        List <Hi.Model.DIS_Logistics> exlist = Common.GetExpress(orderOut.ID.ToString());
                        if (exlist != null)
                        {
                            order.SendRemark = exlist[0].Context;
                        }
                        order.IsAudit     = orderOut.IsAudit.ToString();
                        order.AuditUserID = orderOut.AuditUserID.ToString();
                        order.AuditDate   = orderOut.AuditDate.ToString();
                        order.AuditRemark = orderOut.AuditRemark == null ? "" : orderOut.AuditRemark.ToString();
                        order.SignDate    = orderOut.SignDate.ToString();
                        order.IsSign      = orderOut.IsSign.ToString();
                        order.SignUserId  = orderOut.SignUserId.ToString();
                        order.SignUser    = orderOut.SignUser;
                        order.SignRemark  = orderOut.SignRemark;
                    }
                    //todo:不知道的排序
                    //order.SortIndex = orderModel.SortIndex.ToString();
                    order.IsDel = orderModel.dr.ToString();

                    //明细
                    List <OrderDetail> orderDetail             = new List <OrderDetail>();
                    List <Hi.Model.DIS_OrderDetail> detailList = new Hi.BLL.DIS_OrderDetail().GetList("",
                                                                                                      " OrderID='" + orderModel.ID + "' and DisID='" + orderModel.DisID + "' and ISNULL(dr,0)=0", "");
                    if (detailList == null) //|| detailList.Count==0
                    {
                        return new ResultOrderList()
                               {
                                   Result = "F", Description = "订单明细异常"
                               }
                    }
                    ;
                    List <Hi.Model.BD_GoodsAttrs> list_attrs = null;
                    foreach (Hi.Model.DIS_OrderDetail detail in detailList)
                    {
                        string SKUName = string.Empty;

                        OrderDetail ordetail = new OrderDetail();
                        ordetail.SKUID = detail.GoodsinfoID.ToString();
                        //通过GoodsInfoID找到GoodsID
                        Hi.Model.BD_GoodsInfo goodsInfo = new Hi.BLL.BD_GoodsInfo().GetModel(detail.GoodsinfoID);
                        if (goodsInfo == null)
                        {
                            //if (goodsInfo == null || goodsInfo.IsEnabled == false || goodsInfo.dr == 1)
                            return new ResultOrderList()
                                   {
                                       Result = "F", Description = "SKU信息异常"
                                   }
                        }
                        ;
                        ordetail.ProductID = goodsInfo.GoodsID.ToString();

                        //通过GoodsID找到GoodsName
                        Hi.Model.BD_Goods goods = new Hi.BLL.BD_Goods().GetModel(goodsInfo.GoodsID);
                        if (goods == null)
                        {
                            //if (goods == null || goods.IsEnabled == 0 | goods.dr == 1)
                            return new ResultOrderList()
                                   {
                                       Result = "F", Description = "商品异常"
                                   }
                        }
                        ;
                        ordetail.ProductName = goods.GoodsName;
                        SKUName += goods.GoodsName;

                        list_attrs = new Hi.BLL.BD_GoodsAttrs().GetList("AttrsName", "GoodsID = " + goodsInfo.GoodsID + " and CompID = " + comp.ID + " and ISNULL(dr,0) = 0", "");
                        if (list_attrs != null && list_attrs.Count != 0)
                        {
                            foreach (Hi.Model.BD_GoodsAttrs attr in list_attrs)
                            {
                                SKUName += attr.AttrsName;
                            }
                        }
                        ordetail.SKUName = SKUName;
                        //todo:描述是什么
                        ordetail.ValueInfo   = goodsInfo.ValueInfo;
                        ordetail.SalePrice   = detail.Price.ToString("0.00");
                        ordetail.TinkerPrice = detail.AuditAmount.ToString("0.00");
                        ordetail.Num         = detail.GoodsNum.ToString("0.00");
                        ordetail.Remark      = detail.Remark;
                        //ordetail.IsPro =  .Trim() == "0" || detail.vdef1.Trim() == "" ? "0" : "1"; //是否是促销商品
                        //是否是促销商品
                        ordetail.IsPro = ClsSystem.gnvl(detail.vdef1, "").Trim() == "0" || ClsSystem.gnvl(detail.vdef1, "").Trim() == "" ? "0" : "1";

                        if (ordetail.IsPro != "0")
                        {
                            ordetail.ProNum = detail.vdef5;

                            if (detail.vdef1 != "" && detail.vdef1.Length > 0)
                            {
                                Hi.Model.BD_Promotion pro =
                                    new Hi.BLL.BD_Promotion().GetModel(Convert.ToInt32(detail.vdef1));
                                if (pro != null)
                                {
                                    List <Hi.Model.BD_PromotionDetail> dList = new Hi.BLL.BD_PromotionDetail().GetList(
                                        "", " ProID=" + pro.ID + " and GoodInfoID ='" + ordetail.SKUID + "' and dr=0",
                                        "");
                                    string info = string.Empty;
                                    if (dList != null && dList.Count > 0)
                                    {
                                        if (pro.Type == 0 && pro.ProType == 1)
                                        {
                                            info = "赠品";
                                        }
                                        else if (pro.Type == 0 && pro.ProType == 2)
                                        {
                                            info = "商品优惠价" + dList[0].GoodsPrice.ToString("0.00");
                                        }
                                        else if (pro.Type == 1 && pro.ProType == 3)
                                        {
                                            info = "商品数量满" + pro.Discount.ToString("0.00") + "赠" + dList[0].GoodsPrice.ToString("0.00") + dList[0].GoodsUnit;
                                        }
                                        else if (pro.Type == 1 && pro.ProType == 4)
                                        {
                                            info = "商品打折" + pro.Discount.ToString("0.00") + "%";
                                        }
                                    }
                                    ordetail.proInfo = new PromotionInfo()
                                    {
                                        ProID        = detail.vdef1,
                                        ProTitle     = pro.ProTitle,
                                        ProInfos     = info,
                                        Type         = pro.Type.ToString(),
                                        ProTpye      = pro.ProType.ToString(),
                                        Discount     = pro.Discount.ToString("0.00"),
                                        ProStartTime = pro.ProStartTime.ToString("yy-MM-dd"),
                                        ProEndTime   = pro.ProEndTime.ToString("yy-MM-dd")
                                    };
                                }
                            }
                        }

                        List <Pic> Pic = new List <Pic>();
                        if (goods.Pic != "" && goods.Pic != "X")
                        {
                            Pic pic = new Pic();
                            pic.ProductID = goodsInfo.GoodsID.ToString();
                            pic.IsDeafult = "1";
                            pic.PicUrl    = ConfigurationManager.AppSettings["ImgViewPath"].ToString().Trim() + "GoodsImg/" +
                                            goods.Pic;
                            Pic.Add(pic);
                        }
                        ordetail.ProductPicUrlList = Pic;

                        orderDetail.Add(ordetail);
                    }
                    order.OrderDetailList = orderDetail;
                    OrderList.Add(order);
                }
            }
            else
            {
                return(new ResultOrderList()
                {
                    Result = "F", Description = "没有更多数据"
                });
            }

            #endregion

            return(new ResultOrderList()
            {
                Result = "T",
                Description = "获取成功",
                OrderList = OrderList
            });
        }
        catch (Exception ex)
        {
            Common.CatchInfo(ex.Message + ":" + ex.StackTrace, "GetBriefingList:" + JSon);
            return(new ResultOrderList()
            {
                Result = "F", Description = "参数异常"
            });
        }
    }
예제 #12
0
    /// <summary>
    /// 应收应付账款订单列表
    /// </summary>
    /// <param name="JSon"></param>
    /// <returns></returns>
    public DIS_Order.ResultOrderList GetDisAccountInfo(string JSon)
    {
        try
        {
            string strWhere = " and Ostate in (2,4,5) and PayState in (0,1)";

            #region JSon取值

            string userID          = string.Empty;
            string disID           = string.Empty;
            string criticalOrderID = string.Empty; //当前列表最临界点产品ID:初始-1
            string getType         = string.Empty; //方向
            string rows            = string.Empty;
            string sortType        = string.Empty;
            string sort            = string.Empty;

            string orderType = string.Empty;//单据类型   1:订单 2:账单

            JsonData JInfo = JsonMapper.ToObject(JSon);
            if (JInfo.Count > 0 && JInfo["UserID"].ToString() != "" && JInfo["ResellerID"].ToString() != "" &&
                JInfo["CriticalOrderID"].ToString() != "" && JInfo["GetType"].ToString() != "" &&
                JInfo["Rows"].ToString() != "" && JInfo["SortType"].ToString() != "" && JInfo["Sort"].ToString() != "" && JInfo["orderType"].ToString() != "")
            {
                userID          = JInfo["UserID"].ToString();
                disID           = JInfo["ResellerID"].ToString();
                strWhere       += " and DisID='" + disID + "' and ISNULL(dr,0)=0";
                criticalOrderID = JInfo["CriticalOrderID"].ToString();
                getType         = JInfo["GetType"].ToString();
                rows            = JInfo["Rows"].ToString();
                sortType        = JInfo["SortType"].ToString();
                sort            = JInfo["Sort"].ToString();
                orderType       = JInfo["orderType"].ToString();
            }
            else
            {
                return(new DIS_Order.ResultOrderList()
                {
                    Result = "F", Description = "参数异常"
                });
            }

            if (orderType == "1")//订单
            {
                strWhere += " and ISNULL(dr,0)=0 and OState != 0 and Otype!=9";
            }
            else//账单
            {
                strWhere += " and ISNULL(dr,0)=0 and OState != 0 and Otype=9";
            }

            JsonData JMsg = JInfo["Search"];
            if (JMsg.Count > 0)
            {
                if (JMsg["OrderID"].ToString() != "")
                {
                    strWhere += " and ReceiptNo like '" + JMsg["OrderID"].ToString() + "%'";
                }
                if (JMsg["BeginDate"].ToString() != "")
                {
                    strWhere += " and CreateDate >= '" + Convert.ToDateTime(JMsg["BeginDate"].ToString()) + "'";
                }
                if (JMsg["EndDate"].ToString() != "")
                {
                    strWhere += " and CreateDate < " + Convert.ToDateTime(JInfo["EndDate"].ToString()).AddDays(1) + "'";
                }
                //根据出库单编号 锁定 订单ID
                if (JMsg["ExpressNo"].ToString() != "")
                {
                    //strWhere += " and ReceiptNo like '" + JMsg["ExpressNo"].ToString() + "%'";
                    List <Hi.Model.DIS_OrderOut> orderOut = new Hi.BLL.DIS_OrderOut().GetList("",
                                                                                              " ExpressNo like '%" + JMsg["ExpressNo"].ToString() + "%'", "");
                    if (orderOut.Count == 0)
                    {
                        return new DIS_Order.ResultOrderList()
                               {
                                   Result = "F", Description = "参数异常"
                               }
                    }
                    ;
                    strWhere += " and ID in ( 0";
                    strWhere  = orderOut.Aggregate(strWhere, (current, aout) => current + ("," + aout.OrderID));
                    strWhere += " )";
                }
            }

            #endregion

            #region 模拟分页

            string tabName = " [dbo].[DIS_Order]"; //表名
            string strsql  = string.Empty;         //搜索sql
            sortType = "ID";

            strsql = new Common().PageSqlString(criticalOrderID, "ID", tabName, sortType,
                                                sort, strWhere, getType, rows);
            if (strsql == "")
            {
                return new DIS_Order.ResultOrderList()
                       {
                           Result = "F", Description = "基础数据异常"
                       }
            }
            ;

            #endregion

            #region 赋值

            string SKUName = string.Empty;
            List <DIS_Order.Order> OrderList = new List <DIS_Order.Order>();
            DataSet ds = SqlHelper.Query(SqlHelper.LocalSqlServer, strsql);
            if (ds.Tables.Count == 0)
            {
                return new DIS_Order.ResultOrderList()
                       {
                           Result = "F", Description = "没有更多数据"
                       }
            }
            ;
            DataTable orderList = ds.Tables[0];
            if (orderList != null)
            {
                if (orderList.Rows.Count == 0)
                {
                    return new DIS_Order.ResultOrderList()
                           {
                               Result = "F", Description = "没有更多数据"
                           }
                }
                ;

                foreach (DataRow row in orderList.Rows)
                {
                    DIS_Order.Order order = new DIS_Order.Order();

                    Hi.Model.DIS_Order orderModel = new Hi.BLL.DIS_Order().GetModel(int.Parse(row["ID"].ToString()));
                    order.OrderID = orderModel.ID.ToString();
                    order.CompID  = orderModel.CompID.ToString();
                    Hi.Model.BD_Company comp = new Hi.BLL.BD_Company().GetModel(orderModel.CompID);
                    if (comp == null || comp.IsEnabled == 0 || comp.dr == 1)
                    {
                        return new DIS_Order.ResultOrderList()
                               {
                                   Result = "F", Description = "企业异常"
                               }
                    }
                    ;
                    order.CompName = comp.CompName;
                    order.State    = Common.GetDisOrderType(orderModel.OState, orderModel.PayState, orderModel.Otype,
                                                            orderModel.ReturnState);
                    order.OState      = orderModel.OState.ToString();
                    order.AddType     = orderModel.AddType.ToString();
                    order.Otype       = orderModel.Otype.ToString();
                    order.PayState    = orderModel.PayState.ToString();
                    order.ReturnState = orderModel.ReturnState.ToString();
                    order.DisID       = orderModel.DisID.ToString();
                    Hi.Model.BD_Distributor dis = new Hi.BLL.BD_Distributor().GetModel(orderModel.DisID);
                    if (dis == null || dis.IsEnabled == 0 || dis.dr == 1)
                    {
                        return new DIS_Order.ResultOrderList()
                               {
                                   Result = "F", Description = "经销信息商异常"
                               }
                    }
                    ;
                    order.DisName   = dis.DisName;
                    order.DisUserID = orderModel.DisUserID.ToString();
                    Hi.Model.SYS_Users user = new Hi.BLL.SYS_Users().GetModel(int.Parse(userID));
                    if (user == null || user.IsEnabled == 0 || user.dr == 1)
                    {
                        return new DIS_Order.ResultOrderList()
                               {
                                   Result = "F", Description = "经销商用户信息异常"
                               }
                    }
                    ;
                    order.DisUserName = user.TrueName;
                    order.AddrID      = orderModel.AddrID.ToString();
                    order.ReceiptNo   = orderModel.ReceiptNo;
                    order.ArriveDate  = orderModel.ArriveDate.ToString();
                    if (!string.IsNullOrEmpty(orderModel.AddrID.ToString()))
                    {
                        Hi.Model.BD_DisAddr addr = new Hi.BLL.BD_DisAddr().GetModel(orderModel.AddrID);

                        if (addr != null)
                        {
                            order.Zip = addr.Zip;
                        }
                    }
                    order.Address           = orderModel.Address;
                    order.Contact           = orderModel.Principal;
                    order.Phone             = orderModel.Phone;
                    order.TotalAmount       = orderModel.TotalAmount.ToString("0.00");
                    order.AuditTotalAmount  = orderModel.AuditAmount.ToString("0.00");
                    order.PayedAmount       = orderModel.PayedAmount.ToString("0.00");
                    order.CreateUserID      = orderModel.CreateUserID.ToString();
                    order.CreateDate        = orderModel.CreateDate.ToString();
                    order.ReturnMoneyDate   = orderModel.ReturnMoneyDate.ToString();
                    order.ReturnMoneyUser   = orderModel.ReturnMoneyUser.ToString();
                    order.ReturnMoneyUserId = orderModel.ReturnMoneyUserId.ToString();

                    List <Hi.Model.DIS_OrderOut> outList = new Hi.BLL.DIS_OrderOut().GetList("",
                                                                                             " OrderID='" + orderModel.ID + "' and CompID='" + orderModel.CompID + "' and DisID='" +
                                                                                             orderModel.DisID + "' and ISNULL(dr,0)=0", "");
                    if (outList.Count != 0)
                    {
                        Hi.Model.DIS_OrderOut orderOut = new Hi.Model.DIS_OrderOut();
                        foreach (Hi.Model.DIS_OrderOut Out in outList)
                        {
                            orderOut = Out;
                        }
                        order.SendID   = orderOut.ID.ToString();
                        order.SendDate = orderOut.SendDate.ToString();
                        //根据发货单取对应的物流信息
                        List <Hi.Model.DIS_Logistics> list_log = new Hi.BLL.DIS_Logistics().GetList("", "OrderOutID = " + orderOut.ID + " and isnull(dr,0) = 0", "");
                        //一个发货单只有一条物流信息,所以list_log里也只有一条数据
                        Hi.Model.DIS_Logistics model_log = list_log[0];
                        order.Express   = Convert.ToString(model_log.ComPName);
                        order.ExpressNo = Convert.ToString(model_log.LogisticsNo);
                        //order.ExpressPerson = Convert.ToString(orderOut.ExpressPerson);
                        //order.ExpressTel = Convert.ToString(orderOut.ExpressTel);
                        //order.ExpressBao =Convert.ToString(orderOut.ExpressBao);
                        order.PostFee     = orderModel.PostFee.ToString("0.00");
                        order.ActionUser  = Convert.ToString(orderOut.ActionUser);
                        order.SendRemark  = Convert.ToString(orderOut.Remark);
                        order.IsAudit     = Convert.ToString(orderOut.IsAudit);
                        order.AuditUserID = Convert.ToString(orderOut.AuditUserID);
                        order.AuditDate   = Convert.ToString(orderOut.AuditDate);
                        order.AuditRemark = orderOut.AuditRemark == null ? "" : orderOut.AuditRemark.ToString();
                        order.SignDate    = Convert.ToString(orderOut.SignDate);
                        order.IsSign      = Convert.ToString(orderOut.IsSign);
                        order.SignUserId  = Convert.ToString(orderOut.SignUserId);
                        order.SignUser    = Convert.ToString(orderOut.SignUser);
                        order.SignRemark  = Convert.ToString(orderOut.SignRemark);
                    }
                    order.SendRemark = Convert.ToString(orderModel.Remark);
                    //todo:不知道的排序
                    //order.SortIndex = orderModel.SortIndex.ToString();
                    order.IsDel = Convert.ToString(orderModel.dr);

                    //明细
                    List <DIS_Order.OrderDetail>    orderDetail = new List <DIS_Order.OrderDetail>();
                    List <Hi.Model.DIS_OrderDetail> detailList  = new Hi.BLL.DIS_OrderDetail().GetList("",
                                                                                                       " OrderID='" + orderModel.ID + "' and DisID='" + orderModel.DisID + "' and ISNULL(dr,0)=0", "");
                    if (detailList == null) //|| detailList.Count==0 没有明细的单 PC可以新建
                    {
                        return new DIS_Order.ResultOrderList()
                               {
                                   Result = "F", Description = "订单明细异常"
                               }
                    }
                    ;
                    List <Hi.Model.BD_GoodsAttrs> list_attrs = null;
                    foreach (Hi.Model.DIS_OrderDetail detail in detailList)
                    {
                        DIS_Order.OrderDetail ordetail = new DIS_Order.OrderDetail();

                        ordetail.SKUID = detail.GoodsinfoID.ToString();
                        //通过GoodsInfoID找到GoodsID
                        Hi.Model.BD_GoodsInfo goodsInfo = new Hi.BLL.BD_GoodsInfo().GetModel(detail.GoodsinfoID);
                        if (goodsInfo == null)
                        {
                            //if (goodsInfo == null || goodsInfo.IsEnabled == false || goodsInfo.dr == 1)
                            return new DIS_Order.ResultOrderList()
                                   {
                                       Result = "F", Description = "SKU信息异常"
                                   }
                        }
                        ;
                        ordetail.ProductID = goodsInfo.GoodsID.ToString();

                        //通过GoodsID找到GoodsName
                        Hi.Model.BD_Goods goods = new Hi.BLL.BD_Goods().GetModel(goodsInfo.GoodsID);
                        if (goods == null)
                        {
                            //if (goods == null || goods.IsEnabled == 0 || goods.dr == 1)
                            return new DIS_Order.ResultOrderList()
                                   {
                                       Result = "F", Description = "商品异常"
                                   }
                        }
                        ;
                        ordetail.ProductName = goods.GoodsName;
                        SKUName += goods.GoodsName;

                        list_attrs = new Hi.BLL.BD_GoodsAttrs().GetList("AttrsName", "GoodsID = " + goodsInfo.GoodsID + " and CompID = " + comp.ID + " and ISNULL(dr,0) = 0", "");
                        if (list_attrs != null && list_attrs.Count != 0)
                        {
                            foreach (Hi.Model.BD_GoodsAttrs attr in list_attrs)
                            {
                                SKUName += attr.AttrsName;
                            }
                        }
                        ordetail.SKUName = SKUName;
                        //todo:描述是什么
                        ordetail.ValueInfo   = goodsInfo.ValueInfo;
                        ordetail.SalePrice   = detail.Price.ToString("0.00");
                        ordetail.TinkerPrice = detail.AuditAmount.ToString("0.00");
                        ordetail.Num         = detail.GoodsNum.ToString("0.00");
                        ordetail.Remark      = detail.Remark;

                        List <DIS_Order.Pic> Pic = new List <DIS_Order.Pic>();
                        if (goods.Pic.ToString() != "" && goods.Pic.ToString() != "X")
                        {
                            DIS_Order.Pic pic = new DIS_Order.Pic();

                            pic.ProductID = goodsInfo.GoodsID.ToString();
                            pic.IsDeafult = "1";
                            pic.PicUrl    = ConfigurationManager.AppSettings["ImgViewPath"].ToString().Trim() + "GoodsImg/" +
                                            goods.Pic;
                            Pic.Add(pic);
                        }
                        ordetail.ProductPicUrlList = Pic;

                        orderDetail.Add(ordetail);
                    }
                    order.OrderDetailList = orderDetail;
                    OrderList.Add(order);
                }
            }
            else
            {
                return(new DIS_Order.ResultOrderList()
                {
                    Result = "F", Description = "没有更多数据"
                });
            }

            #endregion

            return(new DIS_Order.ResultOrderList()
            {
                Result = "T",
                Description = "获取成功",
                OrderList = OrderList
            });
        }
        catch (Exception ex)
        {
            Common.CatchInfo(ex.Message + ":" + ex.StackTrace, "GetDisAccountInfo:" + JSon);
            return(new DIS_Order.ResultOrderList()
            {
                Result = "F", Description = "参数异常"
            });
        }
    }
예제 #13
0
파일: Tx1401.cs 프로젝트: kkwkk/ybyzt
    /// <summary>
    /// 中金聚合支付(微信支付宝支付)
    /// </summary>
    /// <param name="paytype">类型(10=微信扫码支付  20=支付宝扫码支付)</param>
    /// <param name="KeyID">支付订单id</param>
    /// <param name="payPrice">本次支付金额</param>
    /// <returns></returns>
    public static string[] tx1401(string paytype, string KeyID, decimal payPrice)
    {
        string imageUrl = string.Empty;
        bool   fal      = false;

        Hi.Model.DIS_Order      OrderModel = new Hi.BLL.DIS_Order().GetModel(Convert.ToInt32(KeyID));
        Hi.Model.BD_Distributor disModel   = new Hi.BLL.BD_Distributor().GetModel(OrderModel.DisID);



        #region     计算支付手续费 start
        string  sxfsq    = "-1";
        decimal sxf      = 0;
        decimal comp_sxf = 0; //收费方是厂商是,为了不改变支付金额,故声明此变量来记录,厂商手续费。
                              // 获取手续费 begin
        string[] Json = Common.GetAli_Sxf(disModel.CompID, payPrice);

        string strMsg = Json[2].ToString();
        if (!string.IsNullOrEmpty(strMsg))
        {
            return(new string[] { "false", strMsg }); //"{\"sxf\":\"" + sxf + "\",\"sxfsq\":\"" + sxfsq + "\",\"strMsg\":\"" + str + "\"}";
        }
        else
        {
            sxfsq    = Json[1].ToString();
            sxf      = Convert.ToDecimal(Json[0]);
            comp_sxf = Convert.ToDecimal(Json[3]);
        }
        // 获取手续费 end


        //支付总金额(含手续费)
        decimal UNIT = 0.01M;
        payPrice = payPrice + Common.Round(sxf, UNIT);

        #endregion  计算支付手续费 end


        int payid = 0;
        int regid = 0;
        Hi.Model.PAY_Payment payModel = new Hi.Model.PAY_Payment();
        string orderNo = WebConfigurationManager.AppSettings["OrgCode"] + DateTime.Now.ToString("yyyyMMdd");//支付订单号前半部分

        string guid = Guid.NewGuid().ToString().Replace("-", "");
        payModel.OrderID      = OrderModel.ID;
        payModel.DisID        = OrderModel.DisID;
        payModel.Type         = Convert.ToInt32(WebConfigurationManager.AppSettings["IsDBPay"]);
        payModel.PayUser      = disModel.DisName;
        payModel.PayPrice     = payPrice;
        payModel.IsAudit      = 2;
        payModel.guid         = Common.Number_repeat(guid);
        payModel.vdef3        = "1";//1,订单支付,2,预付款充值、汇款
        payModel.vdef4        = orderNo;
        payModel.CreateDate   = DateTime.Now;
        payModel.CreateUserID = OrderModel.CreateUserID;
        payModel.ts           = DateTime.Now;
        payModel.modifyuser   = OrderModel.CreateUserID;
        payModel.Channel      = paytype.Equals("10") ? "7" : "6"; //(微信支付6,支付宝7)

        payModel.State = Convert.ToInt32(sxfsq);                  //手续费收取方

        if (sxfsq.Equals("2"))
        {
            payModel.vdef5 = comp_sxf.ToString("0.00");
        }
        else
        {
            payModel.vdef5 = sxf.ToString("0.00");//支付手续费
        }
        payid = new Hi.BLL.PAY_Payment().Add(payModel);

        //插入日志表
        Hi.Model.PAY_RegisterLog regModel = new Hi.Model.PAY_RegisterLog();
        regModel.OrderId    = OrderModel.ID;
        regModel.Ordercode  = orderNo;// orderNo + payid.ToString();
        regModel.number     = payModel.guid;
        regModel.Price      = payPrice;
        regModel.Payuse     = "订单支付";
        regModel.PayName    = disModel.DisName;
        regModel.DisID      = OrderModel.DisID;
        regModel.PayTime    = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
        regModel.Remark     = OrderModel.Remark;
        regModel.DisName    = new Hi.BLL.BD_Company().GetModel(OrderModel.CompID).CompName;
        regModel.BankID     = paytype;
        regModel.CreateUser = OrderModel.CreateUserID;
        regModel.CreateDate = DateTime.Now;
        regModel.LogType    = 1401;
        regid = new Hi.BLL.PAY_RegisterLog().Add(regModel);
        if (payid <= 0 || regid <= 0)
        {
            return(new string[] { "false", "数据有误" });
        }
        string configPath = WebConfigurationManager.AppSettings["payment.config.path"];
        try
        {
            PaymentEnvironment.Initialize(configPath);
        }
        catch (Exception ex)
        {
            return(new string[] { "false", "支付配置有误,请联系系统管理员" });
        }

        String institutionID = WebConfigurationManager.AppSettings["PayOrgCode"];//机构代码

        string    GoodsName = string.Empty;
        DataTable l         = new Hi.BLL.DIS_OrderDetail().GetOrderDe("", " IsNUll(o.dr,0)=0 and o.OrderId=" + KeyID);
        foreach (DataRow dr in l.Rows)
        {
            GoodsName += dr["GoodsName"] + ",";
        }
        if (GoodsName.Length > 15)
        {
            GoodsName = GoodsName.Substring(0, 10) + "...";
        }

        // 1.取得参数
        int    paymentWay      = Convert.ToInt32(paytype);
        String expirePeriod    = "5";//默认是五分钟
        String subject         = GoodsName;
        String productID       = KeyID.ToString();
        String goodsTag        = "";
        String remark          = "";
        String notificationURL = HttpContext.Current.Request.Url.Scheme + "://" + HttpContext.Current.Request.Url.Host + ":" + HttpContext.Current.Request.Url.Port + "/Distributor/Pay/ReceiveNoticeAlipay.aspx";
        int    limitPay        = 10;

        long amount         = Convert.ToInt64(payPrice * 100);//支付金额(单位:分)
        long discountAmount = 0;

        // 2.创建交易请求对象
        Tx1401Request tx1401Request = new Tx1401Request();
        tx1401Request.setInstitutionID(institutionID);
        tx1401Request.setOrderNo(orderNo);
        tx1401Request.setPaymentNo(payModel.guid);
        tx1401Request.setPaymentWay(paymentWay);
        tx1401Request.setAmount(amount);
        tx1401Request.setExpirePeriod(expirePeriod);
        tx1401Request.setSubject(subject);
        tx1401Request.setDiscountAmount(discountAmount);
        tx1401Request.setProductID(productID);
        tx1401Request.setGoodsTag(goodsTag);
        tx1401Request.setRemark(remark);
        tx1401Request.setNotificationURL(notificationURL);
        tx1401Request.setLimitPay(limitPay);

        // 3.执行报文处理
        tx1401Request.process();

        //2个信息参数
        HttpContext.Current.Items["txCode"] = "1401";
        HttpContext.Current.Items["txName"] = "市场订单聚合支付";

        // 与支付平台进行通讯
        TxMessenger txMessenger = new TxMessenger();
        String[]    respMsg     = txMessenger.send(tx1401Request.getRequestMessage(), tx1401Request.getRequestSignature());// 0:message; 1:signature

        String plaintext = XmlUtil.formatXmlString(Encoding.UTF8.GetString(Convert.FromBase64String(respMsg[0])));

        //Console.WriteLine("[message] = [" + respMsg[0] + "]");
        //Console.WriteLine("[signature] = [" + respMsg[1] + "]");
        //Console.WriteLine("[plaintext] = [" + plaintext + "]");

        Tx1401Response tx1401Response = new Tx1401Response(respMsg[0], respMsg[1]);
        HttpContext.Current.Items["plainText"] = tx1401Response.getResponsePlainText();
        if ("2000".Equals(tx1401Response.getCode()))
        {
            //图片URL
            imageUrl = tx1401Response.getImageUrl();
            //二维码代码
            string codeUrl = tx1401Response.getCodeUrl();
            //处理业务
            fal = true;
        }
        return(new string[] { fal.ToString(), imageUrl, payModel.guid });
    }
예제 #14
0
파일: NCLoadIn.cs 프로젝트: kkwkk/ybyzt
    /// <summary>
    /// 订单同步ERP方法
    /// </summary>
    private string GetNCOrder(string compID, string startDate = null, string endDate = null)
    {
        string bill = "<?xml version=\"1.0\" encoding=\"gb2312\"?>";

        try
        {
            int    OrderTB  = 0;
            string strWhere = " isnull(dr,0)=0 and Compid=" + compID + " and OState<>0 and OState<>1 and OType<>9";
            if (startDate != "")
            {
                strWhere += "and ts >='" + Convert.ToDateTime(startDate) + "'";
            }
            if (endDate != "")
            {
                strWhere += "and ts <='" + Convert.ToDateTime(endDate) + "'";
            }
            List <Hi.Model.DIS_Order> order = new Hi.BLL.DIS_Order().GetList("", strWhere, "");
            bill += "<ufinterface roottag=\"so_order\" billtype=\"30\"  replace=\"Y\" receiver=\"\" sender=\"30\" isexchange=\"Y\" filename=\"销售订单头.xml\" proc=\"add\" operation=\"req\">";
            if (Convert.ToDateTime(startDate) > Convert.ToDateTime(endDate))
            {
                bill += "同步日期异常</ufinterface>";
                return(bill);
            }
            foreach (Hi.Model.DIS_Order model in order)
            {
                try
                {
                    Hi.Model.BD_Company comp = new Hi.BLL.BD_Company().GetModel(model.CompID);
                    if (comp == null)
                    {
                        bill += "企业异常</ufinterface>";
                        return(bill);
                    }
                    Hi.Model.BD_Distributor dis = new Hi.BLL.BD_Distributor().GetModel(model.CompID);
                    if (dis == null)
                    {
                        bill += "代理商异常</ufinterface>";
                        return(bill);
                    }

                    List <Hi.Model.DIS_OrderDetail> orderDetail = new Hi.BLL.DIS_OrderDetail().GetList("", " isnull(dr,0)=0 and OrderID=" + model.ID + " ", "");
                    if (orderDetail.Count > 0)
                    {
                        OrderTB++;
                        bill += "<so_order id=\"" + model.ID + "\" subdoctype=\"\">";
                        bill += "<so_order_head>";

                        bill += "<pk_corp>" + comp.CompCode + "</pk_corp>";             //公司PK,不能为空,参照基础数据"公司目录".暂时写死
                        bill += "<vreceiptcode>" + model.ReceiptNo + "</vreceiptcode>"; //单据号,可空字段, 如果为空保存时系统自动获取
                        bill += "<creceipttype>30</creceipttype>";                      //单据类型,不能为空
                        bill += "<cbiztype>普通销售</cbiztype>";
                        bill += "<ccustomerid>" + dis.DisName + "</ccustomerid>";
                        bill += "<dbilldate>" + model.AuditDate.ToString("yyyy-MM-dd") + "</dbilldate>";       //单据日期,不能为空,YYYY-MM-DD
                        bill += "<vreceiptcode>" + model.DisID + "</vreceiptcode>";                            //客商管理档案ID,不能为空(需要参照客商管理档案ID)
                        bill += "<cdeptid>999</cdeptid>";                                                      //部门档案ID,不能为空(需要参照部门档案基础数据
                        bill += "<coperatorid>" + model.DisUserID + "</coperatorid>";                          //制单人:人员档案ID,不能为空(需要参照人员档案基础数据)。填写收货方
                        bill += "<csalecorpid>999</csalecorpid>";                                              //销售组织ID,不能为空(需要参照'销售组织'档案基础数据)
                        bill += "<ccalbodyid>999</ccalbodyid>";                                                //库存组织ID,不能为空(需要参照库存组织档案基础数据
                        bill += "<creceiptcustomerid>" + dis.DisName + "</creceiptcustomerid>";                //收货单位客商管理档案ID,不能为空(需要参照客商管理档案基础数据)
                        bill += "<vreceiveaddress>" + model.Address + "</vreceiveaddress>";                    //收货地址字符串,可以为空
                        bill += "<creceiptcorpid>" + dis.DisName + "</creceiptcorpid>";                        //开票单位客商管理档案ID,不能为空(需要参照客商管理档案基础数据)
                        bill += "<ndiscountrate>0</ndiscountrate>";                                            //<!--整单折扣,不能为空-->
                        bill += "<bfreecustflag>N</bfreecustflag>";                                            //<!--是否散户,默认为N-->
                        bill += "<ibalanceflag>0</ibalanceflag>";                                              //<!--结算标志,默认为N-->
                        bill += "<dmakedate>" + model.CreateDate.ToString("yyyy-MM-dd") + "</dmakedate>";      //<!--制单日期,不能为空,YYYY-MM-DD-->
                        bill += "<capproveid>" + model.AuditUserID + "</capproveid>";                          //<!--审批人:人员档案ID,为空(需要参照人员档案基础数据)-->
                        bill += "<dapprovedate>" + model.AuditDate.ToString("yyyy-MM-dd") + "</dapprovedate>"; //<!--审批日期,为空,YYYY-MM-DD-->

                        string type  = OrderInfoType.OState(model.ID);
                        string state = "0";
                        //<!--状态,不能为空:0无状态,1自由,2审批,3冻结,4关闭,5作废,6结束,7正在审批,8审批未通过-->
                        switch (type)
                        {
                        case "":
                            state = "";
                            break;

                        default:
                            state = "0";
                            break;
                        }
                        bill += "<fstatus>" + state + "</fstatus><bretinvflag>";
                        bill += type == "已退货" ? "Y" : "N" + "</bretinvflag><boutendflag>"; //<!--退货标记,默认为N-->
                        bill += type == "已发货" ? "Y" : "N" + "</boutendflag>";              //<!--出库结束标记,默认为N-->
                        bill += "<binvoicendflag>N</binvoicendflag>";                      //<!--开票结束标记,默认为N-->
                        bill += "<breceiptendflag>N</breceiptendflag>";                    //<!--发货结束标记,默认为N-->                        ;
                        bill += "<bpayendflag>N</bpayendflag>";                            //<!--付款结束标记,默认为N-->
                        bill += "</so_order_head>";
                        bill += "<so_order_body>";
                        string entry = string.Empty;
                        foreach (Hi.Model.DIS_OrderDetail MoDetail in orderDetail)
                        {
                            entry += "<entry>";
                            entry += "<pk_corp>" + comp.CompCode + "</pk_corp>"; //<!--公司主键,参照基础数据"公司目录"-->
                            entry += "<cinventoryid>999</cinventoryid>";         //<!--存货管理档案主键,不能为空,需要参照基础数据"存货档案"-->
                            List <Hi.Model.BD_GoodsInfo> goodsInfo = new Hi.BLL.BD_GoodsInfo().GetList("", " isnull(dr,0)=0 and ID=" + MoDetail.GoodsinfoID + "", "");
                            if (goodsInfo.Count > 0)
                            {
                                Hi.Model.BD_Goods goods = new Hi.BLL.BD_Goods().GetModel(goodsInfo[0].GoodsID);

                                if (goods != null)
                                {
                                    entry += "<cunitid>" + goods.Unit + "</cunitid>";//<!--主计量单位,不能为空,需要参照基础数据"计量档案"-->
                                }
                                else
                                {
                                    entry += "<cunitid>999</cunitid>";
                                }
                            }
                            entry += "<nnumber>" + MoDetail.GoodsNum + "</nnumber>";

                            DateTime dt = model.AuditDate;
                            if (type == "已发货")
                            {
                                List <Hi.Model.DIS_OrderOut> list = new Hi.BLL.DIS_OrderOut().GetList("", " isnull(dr,0)=0 and OrderID=" + model.ID + "", "");
                                if (list.Count > 0)
                                {
                                    dt = list[0].SendDate;
                                }
                            }
                            entry += "<dconsigndate>" + model.AuditDate + "</dconsigndate>";  //<!--发货日期,不能为空,YYYY-MM-DD-->
                            entry += "<ddeliverdate>" + dt.AddDays(15) + "</ddeliverdate>";   //<!--交货日期,不能为空,YYYY-MM-DD-->
                            entry += "<ccurrencytypeid>RMB</ccurrencytypeid>";                //<!--原币,不能为空,参考币种档案-->
                            entry += "<nitemdiscountrate>100</nitemdiscountrate>";            //<!--单品折扣率,不能为空, 默认100-->
                            entry += "<ndiscountrate>100</ndiscountrate>";                    //<!--整单折扣,不能为空, 默认100-->
                            entry += "<nexchangeotobrate>1.0</nexchangeotobrate>";            //<!--折本汇率,不能为空-->
                            entry += "<ntaxrate>17</ntaxrate>";                               // <!--税率,不能为空-->
                            entry += "<noriginalcurprice>10.27</noriginalcurprice>";          //<!--原币无税单价,不能为空-->
                            entry += "<noriginalcurtaxprice>12</noriginalcurtaxprice>";       //<!--原币含税单价,不能为空-->
                            entry += "<noriginalcurnetprice>10.26</noriginalcurnetprice>";    //<!--原币无税净价,不能为空-->
                            entry += "<noriginalcurtaxnetprice>12</noriginalcurtaxnetprice>"; //<!--原币含税净价,不能为空-->
                            entry += "<noriginalcurtaxmny>172.62</noriginalcurtaxmny>";       //<!--原币税额,不能为空-->
                            entry += "<noriginalcurmny>1015.38</noriginalcurmny>";            //<!--原币无税金额,不能为空-->
                            entry += "<noriginalcursummny>1188</noriginalcursummny>";         //<!--原币价税合计,不能为空-->
                            entry += "<noriginalcurdiscountmny>0</noriginalcurdiscountmny>";  //<!--原币折扣额,不能为空-->
                            entry += "<nprice>10.27</nprice>";                                //<!--本币无税单价,不能为空-->
                            entry += "<ntaxprice>12</ntaxprice>";                             //<!--本币含税单价,不能为空-->
                            entry += "<nnetprice>10.26</nnetprice>";                          //<!--本币无税净价,不能为空-->
                            entry += "<ntaxnetprice>12</ntaxnetprice>";                       //<!--本币含税净价,不能为空-->
                            entry += "<ntaxmny>172.62</ntaxmny>";                             // <!--本币税额,不能为空-->
                            entry += "<nmny>1015.38</nmny>";                                  //<!--本币无税金额,不能为空-->
                            entry += "<nsummny>1188</nsummny>";                               //<!--本币价税合计,不能为空-->
                            entry += "<ndiscountmny>1</ndiscountmny>";                        //<!--本币折扣额,不能为空-->
                            entry += "<coperatorid>" + model.DisUserID + "</coperatorid>";    //<!--制单人:人员档案ID,不能为空-->
                            entry += "<frowstatus>" + type + "</frowstatus>";                 //<!--行状态,不能为空:0无状态,1自由,2审批,3冻结,4关闭,5作废,6结束,7正在审批,8审批未通过-->
                            entry += "<cadvisecalbodyid>999</cadvisecalbodyid>";              //<!--建议发货库存组织,不能为空(参照库存组织档案)-->
                            entry += "<creceiptareaid>999</creceiptareaid>";                  //<!--收货地区,不能为空(参照子表的收货单位所属地区的档案基础数据)-->
                            entry += "<vreceiveaddress>999</vreceiveaddress>";                //<!--收货地址,不能为空(参照子表的收货单位的默认收货地址字符串-->
                            entry += "<creceiptcorpid>999</creceiptcorpid>";                  //<!--收货单位,不能为空(需要参照客商管理档案基础数据)-->
                            entry += "<crowno>" + OrderTB + "</crowno>";                      //<!--行号,不能为空,第一行为1,第二行为2,依此类推-->
                            entry += "</entry>";
                        }
                        bill += entry + "</so_order_body>";
                        bill += "</so_order>";
                    }
                    else
                    {
                        SetErrorTb("订单获取失败", "异常订单,无订单明细【订单ID:" + model.ID + ",订单编号:" + model.ReceiptNo + "】");
                        bill += "<error>订单:" + model.ReceiptNo + "异常。</error>";
                    }
                }
                catch (Exception ex)
                {
                    if (ex is XmlException)
                    {
                        CreateReturnXML("", false, "读取XML出现错误");
                        SetErrorTb("", "读取XML出现错误");
                    }
                    else if (ex is XPathException)
                    {
                        CreateReturnXML("", false, "格式错误");
                        SetErrorTb("", "XML格式错误");
                    }
                    else
                    {
                        CreateReturnXML("", false, ex.Message);
                        SetErrorTb("", "同步失败:" + ex.Message + "");
                    }
                    if (TranSaction != null)
                    {
                        if (TranSaction.Connection != null)
                        {
                            TranSaction.Rollback();
                        }
                    }
                    SetErrorTb("订单获取失败", "" + ex.Message + "【订单ID:" + model.ID + ",订单编号:" + model.ReceiptNo + "】");
                }
            }
            LogManager.WriteLog2(LogFile.Trace.ToString(), "共获取订单:" + OrderTB + " 单");
        }
        catch (Exception ex)
        {
            ErrTb.Rows.Clear();
            SetErrorTb("订单获取全部失败", "" + ex.Message + "");
            bill  = "<?xml version=\"1.0\" encoding=\"gb2312\"?>";
            bill += "<ufinterface roottag=\"so_order\" billtype=\"30\"  replace=\"Y\" receiver=\"\" sender=\"yj\" isexchange=\"Y\" filename=\"销售订单头.xml\" proc=\"add\" operation=\"req\">";
            bill += "error";
        }
        finally
        {
            bill += "</ufinterface>";
            TableWriteLog();
        }
        return(bill);
    }