using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CY.Infrastructure.Common;
using CY.BLL.EC;
using CY.Model;
using CY.BLL.Sys;
using CY.BLL;
namespace CY.WebForm.Pages.business
{
public partial class DeliverWork : BasePage
{
private EC_OrderBasicBLL _eC_OrderBasicBLL = new EC_OrderBasicBLL();
private Sys_DictionaryBLL _bll_Sys_DictionaryBLL = new Sys_DictionaryBLL();
private EC_AcceptWayByOrderBLL _AcceptWayByOrderBLL = new EC_AcceptWayByOrderBLL();
//public int orderId
//{
// get
// {
// if (Request["id"] != null)
// {
// return Request["id"].ToString().ToInt32().Value;
// }
// else
// {
// return 0;
// }
// }
//}
///
/// 绑定收货方式
///
private void BindAcceptType()
{
IEnumerable types = _bll_Sys_DictionaryBLL.GetDataByType("收货方式");
this.ddlAcceptType.DataSource = types;
this.ddlAcceptType.DataTextField = "Name";
this.ddlAcceptType.DataValueField = "Keyid";
this.ddlAcceptType.DataBind();
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindAcceptType();
List m_EC_OrderBasicList = _eC_OrderBasicBLL.GetEC_OrderBasicListByKeyid(Request["ids"].ToString2().Trim(','), CurrentUser.MemberId) as List;
this.RepClientList.DataSource = m_EC_OrderBasicList;
this.RepClientList.DataBind();
EC_AwbInfo model = _eC_OrderBasicBLL.SelectAwbInfoById(m_EC_OrderBasicList[0].Keyid.Value);
if (model != null)
{
this.txtTheAwb.Text = model.TheAwb;
this.txtDeliverPerson.Text = model.DeliverPerson;
if (model.DeliverTime.HasValue)
this.txtDeliverTime.Text = model.DeliverTime.Value.ToShortDateString();
this.txtRemark.Text = model.Remark;
this.ddlAcceptType.SelectedValue = model.AcceptTypeId.ToString();
switch (model.AcceptTypeId)
{
case 105:
this.txtAppointCourierCompany.Text = model.AppointCourierCompany.ToString();
this.txtFetchContacts.Text=model.FetchContacts;
this.txtFetchAddress.Text = model.FetchAddress.ToString();
this.txtFetchPhoneNum.Text = model.FetchPhoneNum.ToString();
break;
case 107:
this.txtAppointCourierCompany.Text = model.AppointCourierCompany.ToString();
this.txtFetchContacts.Text=model.FetchContacts;
this.txtFetchAddress.Text = model.FetchAddress.ToString();
this.txtFetchPhoneNum.Text = model.FetchPhoneNum.ToString();
break;
case 106:
this.txtAcceptPerson.Text = model.FetchContacts;
this.txtAcceptPhoneNum.Text = model.FetchPhoneNum;
break;
}
}
else
{
this.txtDeliverTime.Text = DateTime.Now.ToShortDateString();
EC_AcceptWayByOrder acceptWayByOrder = _AcceptWayByOrderBLL.GetModelByTargetId(m_EC_OrderBasicList[0].Keyid.Value);
if (acceptWayByOrder != null)
{
this.ddlAcceptType.SelectedValue = acceptWayByOrder.AcceptTypeId.ToString();
this.txtAppointCourierCompany.Text = acceptWayByOrder.AppointCourierCompany;
this.txtFetchContacts.Text = acceptWayByOrder.FetchContacts;
this.txtFetchAddress.Text = acceptWayByOrder.FetchAddress;
this.txtFetchPhoneNum.Text = acceptWayByOrder.FetchPhoneNum;
this.txtAcceptPerson.Text = acceptWayByOrder.AcceptContacts;
this.txtAcceptPhoneNum.Text = acceptWayByOrder.AccepterPhoneNum;
}
}
if (Request["OrderState"] != null)
{
int orderState = Request["OrderState"].ToString().ToInt32().Value;
if (orderState == -1)
{
this.radDeliverType.SelectedValue = "1";
this.radDeliverType.Enabled = false;
}
else
{
if (orderState == 5)
{
this.radDeliverType.SelectedValue = "-1";
}
else
{
this.radDeliverType.SelectedValue = "1";
}
}
}
}
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
bool isSuccess = false;
string[] ids = Request["ids"].ToString2().Trim(',').Split(',');
foreach (var item in ids)
{
EC_AwbInfo eC_AwbInfo = new EC_AwbInfo();
eC_AwbInfo.Keyid = item.ToInt32();
eC_AwbInfo.TheAwb = this.txtTheAwb.Text;
eC_AwbInfo.DeliverPerson = this.txtDeliverPerson.Text;
if (this.txtDeliverTime.Text != string.Empty)
eC_AwbInfo.DeliverTime = this.txtDeliverTime.Text.ToDateTime2();
eC_AwbInfo.AcceptTypeId = ddlAcceptType.SelectedValue.ToString().ToInt32().Value;
switch (eC_AwbInfo.AcceptTypeId)
{
case 104:
eC_AwbInfo.AppointCourierCompany = string.Empty;
eC_AwbInfo.FetchAddress = string.Empty;
eC_AwbInfo.FetchContacts = string.Empty;
eC_AwbInfo.FetchPhoneNum = string.Empty;
break;
case 105:
eC_AwbInfo.AppointCourierCompany = this.txtAppointCourierCompany.Text;
eC_AwbInfo.FetchAddress = this.txtFetchAddress.Text;
eC_AwbInfo.FetchContacts = this.txtFetchContacts.Text;
eC_AwbInfo.FetchPhoneNum = this.txtFetchPhoneNum.Text;
break;
case 106:
eC_AwbInfo.AppointCourierCompany = string.Empty;
eC_AwbInfo.FetchAddress = string.Empty;
eC_AwbInfo.FetchContacts = this.txtAcceptPerson.Text;
eC_AwbInfo.FetchPhoneNum = this.txtAcceptPhoneNum.Text;
break;
case 107:
eC_AwbInfo.AppointCourierCompany = this.txtAppointCourierCompany.Text;
eC_AwbInfo.FetchAddress = this.txtFetchAddress.Text;
eC_AwbInfo.FetchContacts = this.txtFetchContacts.Text;
eC_AwbInfo.FetchPhoneNum = this.txtFetchPhoneNum.Text;
break;
}
eC_AwbInfo.Remark = this.txtRemark.Text;
eC_AwbInfo.Operate.OrderId = eC_AwbInfo.Keyid;
eC_AwbInfo.Operate.Remark = eC_AwbInfo.Remark;
eC_AwbInfo.Operate.Operator = CurrentUser.ShortName;
//int orderState = Request["OrderState"].ToString().ToInt32().Value;
var order = _eC_OrderBasicBLL.SelectModelById(item.ToInt32().Value);
int orderState = order.OrderState.Value;
if (orderState == -1)
{
eC_AwbInfo.Operate.OperateType = -1;
}
else if (this.radDeliverType.SelectedValue == "1")
{
eC_AwbInfo.Operate.OperateType = 5;
}
else
{
eC_AwbInfo.Operate.OperateType = 4;
}
isSuccess = _eC_OrderBasicBLL.DeliverPresswork(eC_AwbInfo);
if (isSuccess)
{
EC_OrderBasic m_EC_OrderBasic_Out = _eC_OrderBasicBLL.SelectFromOutOrderById(eC_AwbInfo.Keyid.ToInt32() ?? 0);
if (m_EC_OrderBasic_Out != null)
{
EC_AwbInfo m_EC_AwbInfoOut = new EC_AwbInfo();
m_EC_AwbInfoOut = eC_AwbInfo;
m_EC_AwbInfoOut.Keyid = m_EC_OrderBasic_Out.Keyid;
m_EC_AwbInfoOut.Operate.OrderId = eC_AwbInfo.Keyid;
isSuccess = _eC_OrderBasicBLL.DeliverPresswork(m_EC_AwbInfoOut);
if (!isSuccess)
{
JavaScript.MessageBox("操作失败", this);
}
}
}
else
{
JavaScript.MessageBox("操作失败", this);
}
}
if (isSuccess)
{
JavaScript.MessageBox("操作成功", this, true, true);
}
else
{
JavaScript.MessageBox("操作失败", this);
}
}
}
}