/**
|
* OrderEdit.aspx.cs
|
*
|
* 功 能: 订单列表
|
* 类 名: OrderEdit
|
*
|
* Ver 变更日期 负责人 变更内容
|
* ───────────────────────────────────
|
* V0.01 2013-5-8 13:55 吴崎均 初版
|
* V0.02 2013-5-8 15:47 吴崎均 实现下拉数据绑定与数据级联
|
* V0.03 2013-5-8 18:00 吴崎均 初步完成新增线下订单(未调试)
|
*
|
*/
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Web;
|
using System.Web.UI;
|
using System.Web.UI.WebControls;
|
using CY.BLL.Sys;
|
using CY.BLL;
|
using CY.Model;
|
using CY.Infrastructure.Common;
|
using CY.WebForm.Pages.common;
|
using CY.BLL.EC;
|
using CY.Model.Inquiry;
|
using System.Transactions;
|
|
namespace CY.WebForm.Pages.business
|
{
|
public partial class DeliverPlanPaiche : BasePage
|
{
|
|
OA_DeliverPlanBLL _OA_DeliverPlanBLL = null;
|
OA_StaffBLL bll_OA_StaffBLL = null;
|
OA_CarManageBll _OA_CarManageBll = null;
|
OA_DeliverPlanPaicheBLL _OA_DeliverPlanPaicheBLL = null;
|
|
|
//初始化
|
public DeliverPlanPaiche()
|
{
|
|
_OA_DeliverPlanBLL = new OA_DeliverPlanBLL();
|
bll_OA_StaffBLL = new OA_StaffBLL();
|
_OA_CarManageBll = new OA_CarManageBll();
|
_OA_DeliverPlanPaicheBLL = new OA_DeliverPlanPaicheBLL();
|
|
}
|
|
/// <summary>
|
/// 页面加载事件
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
protected void Page_Load(object sender, EventArgs e)
|
{
|
try
|
{
|
switch (Request["Target"])
|
{
|
case "GetCommunication":
|
LoadCommunication();
|
break;
|
case "ReBindClients":
|
Response.Write(ReLoadClients());
|
break;
|
|
default:
|
Page_Load_Default();
|
return;
|
}
|
}
|
catch (Exception ex)
|
{
|
PAGEHandleException(ex);
|
Response.Clear();
|
//Response.Write("-1");
|
Response.Write(ex.Message);
|
}
|
Response.End();
|
}
|
|
|
|
/// <summary>
|
/// 默认执行方法
|
/// </summary>
|
private void Page_Load_Default()
|
{
|
|
|
|
if (!IsPostBack && !IsCallback)
|
{
|
|
|
|
|
|
|
this.selCarId.DataSource = _OA_CarManageBll.SelectListByFirmId(CurrentUser.MemberId);
|
this.selCarId.DataTextField = "CarNumber";
|
this.selCarId.DataValueField = "Keyid";
|
this.selCarId.DataBind();
|
this.selCarId.Items.Insert(0, new ListItem("请选择", ""));
|
|
|
var ids = Request["ids"].ToString().Trim(',').Split(',');
|
//var dizhi = "";
|
for (int i = 0; i < ids.Length; i++)
|
{
|
var deliverPlan = _OA_DeliverPlanBLL.GetModelByKeyid(ids[i].ToGuid2(), null, null);
|
if(i == 0)
|
{
|
//dizhi = deliverPlan.Dizhi;
|
if (deliverPlan.DeliverTime.HasValue)
|
{
|
this.txtDeliverTime.Value = deliverPlan.DeliverTime.Value.ToString("yyyy-MM-dd");
|
}
|
}
|
//else
|
//{
|
// if(deliverPlan.Dizhi != dizhi)
|
// {
|
// //操作成功
|
// JavaScript.MessageBox("不同地址的订单不能统一派车", this, true, false);
|
// return;
|
// }
|
//}
|
if(deliverPlan.CarId.HasValue && deliverPlan.CarId.Value > 0)
|
{
|
//操作成功
|
JavaScript.MessageBox("已经派车的送货单不能重复派车", this, true, false);
|
return;
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// 保存点击事件
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
protected void btnSave_ServerClick(object sender, EventArgs e)
|
{
|
|
if (SaveOrder())
|
{
|
//操作成功
|
JavaScript.MessageBox("操作成功", this, true,true);
|
}
|
else
|
{
|
//操作失败
|
JavaScript.MessageBox("操作失败", this);
|
}
|
}
|
|
|
|
|
|
/// <summary>
|
/// 加载客户联系方式
|
/// </summary>
|
private void LoadCommunication()
|
{
|
Response.Clear();
|
string id = Request["id"];
|
if (string.IsNullOrEmpty(id))
|
{
|
Response.Write("-2");
|
return;
|
}
|
|
OA_CorporateClientsBLL _oA_CorporateClientsBLL = new OA_CorporateClientsBLL();
|
OA_CorporateClients m_OA_CorporateClients = _oA_CorporateClientsBLL.SelectModelByFirmIdandMemberId(CurrentUser.MemberId, id.ToGuid2());
|
OA_CustomerCommunications _oA_CustomerCommunications = _oA_CorporateClientsBLL.GetModel_CustomerCommunications(m_OA_CorporateClients.Keyid);
|
_oA_CustomerCommunications.DegreeImportanId = m_OA_CorporateClients.DegreeImportanId;
|
_oA_CustomerCommunications.AccountManagerId = m_OA_CorporateClients.AccountManagerId;
|
_oA_CustomerCommunications.BusinessManagerId = m_OA_CorporateClients.BusinessManagerId;
|
_oA_CustomerCommunications.CompanyName = m_OA_CorporateClients.CompanyName;
|
Response.Write(null == _oA_CustomerCommunications ? "" : JsonHelper.GetJsonStringByObject(_oA_CustomerCommunications));
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
/// 保存订单
|
/// </summary>
|
private bool SaveOrder()
|
{
|
|
|
bool isWin = false;
|
using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required,
|
new TransactionOptions
|
{
|
IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted,
|
Timeout = TransactionManager.MaximumTimeout
|
}
|
)
|
)
|
{
|
try
|
{
|
|
var ids = Request["ids"].ToString().Trim(',').Split(',');
|
|
OA_DeliverPlan oA_DeliverPlanPaiche = null;
|
var Keyid = Guid.NewGuid();
|
int DriverId = 0;
|
var i = 0;
|
var carManage = _OA_CarManageBll.GetModelByKeyid(this.selCarId.Value.ToInt32());
|
if (carManage != null)
|
{
|
DriverId = carManage.StaffID ?? 0;
|
}
|
else
|
{
|
DriverId = 0;
|
}
|
var dingdanhao = "送货单:";
|
|
foreach (var keyid in ids)
|
{
|
var deliverPlan = _OA_DeliverPlanBLL.GetModelByKeyid(keyid.ToGuid2(), null, null);
|
if (i == 0)
|
{
|
oA_DeliverPlanPaiche = deliverPlan;
|
}
|
dingdanhao += deliverPlan.SellerOrderId + ",";
|
deliverPlan.CarId = this.selCarId.Value.ToInt32();
|
deliverPlan.DriverId = DriverId;
|
deliverPlan.DeliverPlanPaicheid = Keyid;
|
deliverPlan.Updater = CurrentUser.TrueMemberId;
|
deliverPlan.LastUpdateTime = DateTime.Now;
|
isWin = _OA_DeliverPlanBLL.UpdateModel(deliverPlan);
|
}
|
oA_DeliverPlanPaiche.Keyid = Keyid;
|
oA_DeliverPlanPaiche.DeliverTime = this.txtDeliverTime.Value.ToDateTime2();
|
oA_DeliverPlanPaiche.Remark = dingdanhao.Trim(',')+"。" + this.txtZhuyishixiang.Value;
|
oA_DeliverPlanPaiche.shuliang = ids.Length;
|
var oA_DeliverPlans = _OA_DeliverPlanPaicheBLL.GetModelByDeliveredTime(CurrentUser.MemberId, oA_DeliverPlanPaiche.DeliverTime.Value).Max(x=>x.Sort);
|
if (oA_DeliverPlans.HasValue)
|
{
|
oA_DeliverPlanPaiche.Sort = oA_DeliverPlans.Value + 1;
|
}
|
else
|
{
|
oA_DeliverPlanPaiche.Sort = 1;
|
}
|
|
isWin = _OA_DeliverPlanPaicheBLL.InsertModel(oA_DeliverPlanPaiche);
|
scope.Complete();
|
}
|
catch (Exception ex)
|
{
|
|
PAGEHandleException(ex);
|
JavaScript.MessageBox("操作失败", this);
|
}
|
finally
|
{
|
// 释放资源
|
scope.Dispose();
|
}
|
|
}
|
|
|
|
return isWin;
|
}
|
|
|
|
/// <summary>
|
/// 重新加载客户列表
|
/// </summary>
|
/// <returns></returns>
|
private string ReLoadClients()
|
{
|
try
|
{
|
string res = "<option value=''>请选择</option>";
|
OA_CorporateClientsBLL bll_OA_CorporateClientsBLL = new OA_CorporateClientsBLL();
|
IList<OA_CorporateClients> m_OA_CorporateClientsList = bll_OA_CorporateClientsBLL.SelectListByFirmId(CurrentUser.MemberId) as IList<OA_CorporateClients>;
|
if (null != m_OA_CorporateClientsList)
|
{
|
m_OA_CorporateClientsList.Where(cc => CurrentUser.MemberId.Equals(cc.MemberId) && m_OA_CorporateClientsList.Remove(cc));
|
if (m_OA_CorporateClientsList.Count > 0)
|
{
|
foreach (var m_OA_CorporateClients in m_OA_CorporateClientsList)
|
{
|
res = res + ("<option value='" + m_OA_CorporateClients.MemberId + "'>" + m_OA_CorporateClients.CompanyName + "</option>");
|
}
|
}
|
}
|
return res;
|
}
|
catch (Exception ex)
|
{
|
PAGEHandleException(ex);
|
return "";
|
}
|
}
|
}
|
}
|