using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using WMS.Frm.Base;
using WMS.Model.TR;
using WMS.Base.WebService;
using WMS.Common;
using DevExpress.XtraGrid.Columns;
using DevExpress.XtraEditors.Repository;
using DevExpress.XtraReports.UI;
using WMS.Ctrl;
using WMS.Model.Base;
using WMS.Model.CK;
using WMS.FrmBaseData;
using System.Threading;
using WMS.Model.SystemManage;
namespace WMS.FrmTR
{
///
/// 窗体:运输任务
///
public partial class FrmTransport : FormBase
{
#region 变量
public static FrmTransport frmTransport;
private TransportModel transportModel = new TransportModel();//当前选择的运输任务
private List listtransportModel = new List();//运输任务集合
private List listTransportTabModel = new List();//运输任务明细集合
private int flag = -1;//0:增加;1:修改
#endregion
#region 初始化
///
/// 无参构造
///
public FrmTransport()
{
InitializeComponent();
lueState.LoadData();//状态
}
///
/// 本窗体加载的时候
///
///
///
public void FrmTransport_Load(object sender, EventArgs e)
{
try
{
string strAddressAreaModel = Newtonsoft.Json.JsonConvert.SerializeObject(new AddressAreaModel());
string strlistAddressAreaModel = WebLockConfig.Instance.WebAddressArea.GetAddressArea(strAddressAreaModel);
List list = Newtonsoft.Json.JsonConvert.DeserializeObject>(strlistAddressAreaModel);
ltreeStart.Properties.AutoExpandAllNodes = false;
ltreeStart.Properties.DataSource = list;
ltreeStart.Properties.DisplayMember = "Add_name";
ltreeStart.Properties.ValueMember = "Add_id";
ltreeEnd.Properties.AutoExpandAllNodes = false;
ltreeEnd.Properties.DataSource = list;
ltreeEnd.Properties.DisplayMember = "Add_name";
ltreeEnd.Properties.ValueMember = "Add_id";
}
catch (Exception)
{
SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
}
//单位下拉框
lueUnit.NullText = "";
lueUnit.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo("VC_DICTIONARY_NAME", "单位"));
lueUnit.ValueMember = "VC_CHAR_VALUE";
lueUnit.DisplayMember = "VC_DICTIONARY_NAME";
string strResult = string.Empty;
try
{
strResult = WebLockConfig.Instance.Common.GetCustomCtrlData("t_sys_dictionary_tab", "VC_CHAR_VALUE", "VC_DICTIONARY_NAME", " VC_DICTIONARY_TYPE = 'vc_uom' and c_flag = '1'", "");
}
catch (Exception)
{
SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
}
lueUnit.DataSource = Newtonsoft.Json.JsonConvert.DeserializeObject(strResult);
bindGrid(transportModel);//绑定数据
bsTransportEdit.DataSource = transportModel;//绑定选中的运输任务
FrmSelectModle = new TransportModel();//通用查询
bsTransportEdit.DataSource = transportModel;
bsTransport.DataSource = listtransportModel;
bsTransportTab.DataSource = listTransportTabModel;
if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = false; }
if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = false; }
}
///
/// 得到与登录用户同部门的所有用户
///
public DataTable getSameDepUserList()
{
string errText = string.Empty;
string strResult = string.Empty;
try
{
strResult = WebLockConfig.Instance.WebSystemUser.GetSameDepUserInfo(userData.USER_ID, ref errText);
}
catch (Exception)
{
SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
}
if (errText == string.Empty)
{
return Newtonsoft.Json.JsonConvert.DeserializeObject(strResult);
}
else
{
SystemCommon.ShowInfoMessageBox(errText);
}
return null;
}
public static FrmTransport getInstance()
{
if (frmTransport == null || frmTransport.IsDisposed)
{
frmTransport = new FrmTransport();
}
return frmTransport;
}
#endregion
#region 绑定数据
///
/// 整体绑定数据
///
private void bindGrid(TransportModel model)
{
string errText = string.Empty;
string strParameter = Newtonsoft.Json.JsonConvert.SerializeObject(model);
//整体绑定数据
string strResult = string.Empty;
//new Thread(delegate()
//{
try
{
strResult = WebLockConfig.Instance.WebTransport.GetTransportListStr(strParameter, ref errText);
if (errText == string.Empty)
{
if (strResult != null)
{
listtransportModel = Newtonsoft.Json.JsonConvert.DeserializeObject>(strResult);
}
else {
listtransportModel = new List();
}
}
else
{
SystemCommon.ShowInfoMessageBox(errText);
}
}
catch (Exception e)
{
SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
}
//this.Invoke(new MethodInvoker(delegate()
//{
if (errText == string.Empty && listtransportModel!=null)
{
if (listtransportModel.Count > 0)
{
if (string.IsNullOrEmpty(transportModel.TRANSPORT_ID))
{
transportModel = listtransportModel[0];
}
bsTransportEdit.DataSource = transportModel;
bsTransport.DataSource = listtransportModel;
GVTransport.RefreshData();
bindTransportTab(transportModel);
}
else
{
transportModel = new TransportModel();
}
}
// }));
//}).Start();
}
///
/// 绑定明细
///
///
public void bindTransportTab(TransportModel transportModel)
{
string errText = string.Empty;
listTransportTabModel = new List();
TransportTabModel query = new TransportTabModel();
query.TRANSPORT_ID = transportModel.TRANSPORT_ID;
string strParameter = Newtonsoft.Json.JsonConvert.SerializeObject(query);
string strTransportTabList = string.Empty;
try
{
strTransportTabList = WebLockConfig.Instance.WebTransportTab.GetTransportListStr(strParameter, ref errText);
}
catch (Exception)
{
SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
}
if (errText == string.Empty)
{
listTransportTabModel = Newtonsoft.Json.JsonConvert.DeserializeObject>(strTransportTabList);
bsTransportTab.DataSource = listTransportTabModel;
GVTransportTab.RefreshData();
xtraTabPage2.Text = "运输任务明细-" + transportModel.TRANSPORT_ID;
}
else
{
SystemCommon.ShowInfoMessageBox(errText);
}
}
///
/// 条件查询
///
///
///
public override void Search()
{
xtraTabControl1.Focus();
if (!string.IsNullOrEmpty(transportModel.STATE) && decimal.Parse(transportModel.STATE) >= 5)//如果已完成、作废 变背景色、禁止修改
{
if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = false; }
if (frmButtonItem.ContainsKey("AddNew")) { frmButtonItem["AddNew"].Enabled = false; }
if (frmButtonItem.ContainsKey("Print")) { frmButtonItem["Print"].Enabled = false; }
if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = false; }
if (frmButtonItem.ContainsKey("Close")) { frmButtonItem["Close"].Enabled = false; }
if (frmButtonItem.ContainsKey("Confirm")) { frmButtonItem["Confirm"].Enabled = false; }
if (frmButtonItem.ContainsKey("Finish")) { frmButtonItem["Finish"].Enabled = false; }
GVTransport.Appearance.Row.BackColor = Color.FromArgb(190, 180, 160);
GVTransport.Appearance.EvenRow.BackColor = Color.FromArgb(190, 180, 160);
}
else
{
if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = true; }
if (frmButtonItem.ContainsKey("AddNew")) { frmButtonItem["AddNew"].Enabled = true; }
if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = true; }
if (frmButtonItem.ContainsKey("Print")) { frmButtonItem["Print"].Enabled = true; }
if (frmButtonItem.ContainsKey("Close")) { frmButtonItem["Close"].Enabled = true; }
if (frmButtonItem.ContainsKey("Confirm")) { frmButtonItem["Confirm"].Enabled = true; }
if (frmButtonItem.ContainsKey("Finish")) { frmButtonItem["Finish"].Enabled = true; }
GVTransport.Appearance.Row.BackColor = Color.White;
GVTransport.Appearance.EvenRow.BackColor = Color.White;
}
bindGrid(transportModel);
GVTransport_FocusedRowChanged(null, null);
}
///
/// Tab页改,改通用查询Model
///
///
///
private void xtraTabControl1_SelectedPageChanged(object sender, DevExpress.XtraTab.TabPageChangedEventArgs e)
{
if (xtraTabControl1.SelectedTabPageIndex == 0)
{
FrmSelectModle = new TransportModel();
if (flag == 0 || flag == 1)
{
//frmButtonItem["choose"].Enabled = true;
if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = false; }
}
}
else if (xtraTabControl1.SelectedTabPageIndex == 1)
{
FrmSelectModle = new TransportTabModel();
if (flag == 0 || flag == 1)
{
//frmButtonItem["choose"].Enabled = false;
if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = true; }
}
}
else
{
if (flag == 0 || flag == 1)
{
//frmButtonItem["choose"].Enabled = true;
if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = false; }
}
}
}
///
/// 通用查询
///
///
public override void LoadListData(DataTable table)
{
if (xtraTabControl1.SelectedTabPageIndex == 0)
{
listtransportModel = ConvertHelper.ConvertToList(table);
bsTransport.DataSource = listtransportModel;
GVTransport.RefreshData();
}
else
{
listTransportTabModel = ConvertHelper.ConvertToList(table);
bsTransportTab.DataSource = listTransportTabModel;
GVTransportTab.RefreshData();
}
}
private decimal oldPlan = 0;//改变前的值
///
/// 计划数量改变 若未超出该库区现有数量 生成原库位 ; 新库位改变 判断是否有原库位存在,若存在 报错
///
///
///
private void GVTransportTab_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
{
if (e.RowHandle < 0)
{
return;
}
TransportTabModel model = GVTransportTab.GetFocusedRow() as TransportTabModel;// listTransportTabModel[e.RowHandle];
if (e.Column.Name == "colTR_NUM")//计划数量改变 若未超出该库区现有数量 生成原库位
{
decimal plan = Convert.ToDecimal(GVTransportTab.GetFocusedRowCellValue("TR_NUM"));
string goodsID = GVTransportTab.GetFocusedRowCellValue("GOODS_ID").ToString();
if (plan > decimal.Parse(GVTransportTab.GetFocusedRowCellValue("TR_NEED_NUM").ToString()))
{
model.TR_NUM = oldPlan;
oldPlan = 0;
SystemCommon.ShowInfoMessageBox("没有那么多商品等待运输");
return;
}
}
}
///
/// 计划数量将要改变 将改变前的值记录
///
///
///
private void GVTransportTab_CellValueChanging(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
{
if (e.RowHandle < 0)
{
return;
}
if (e.Column.Name == "colTR_NUM")//计划数量改变
{
oldPlan = Convert.ToDecimal(GVTransportTab.GetFocusedRowCellValue("TR_NUM"));
}
}
#endregion
#region 按钮事件
///
/// 增加按钮
///
public override void Add()
{
flag = 0;//标识增加
colTR_NUM.OptionsColumn.AllowEdit = true;
xtraTabPage2.Text = "运输任务明细";
xtraTabControl1.SelectedTabPageIndex = 0;//先填写运输任务
txtID.Enabled = false;//编号不可用
lueState.Enabled = false;//状态不可用
transportModel = new TransportModel();//清空运输任务
bsTransportEdit.DataSource = transportModel;
dicDriver.TextBoxFlag = null;
dicDriver.TextBoxValue = null;
listTransportTabModel = new List();//清空明细
bsTransportTab.DataSource = listTransportTabModel;
GVTransportTab.RefreshData();
transportModel.PLAN_START_DATE = DateTime.Now.Date;
transportModel.PLAN_END_DATE = DateTime.Now.Date.AddDays(3);
transportModel.END_END_DATE = DateTime.Now.Date.AddDays(3);
transportModel.ASSIGN_MAN = userData.USER_ID;
transportModel.AUDIT_MAN = userData.USER_ID;
transportModel.AUDIT_DATE = DateTime.Now.Date;
//状态默认已审核
transportModel.STATE = "1";
lueState.EditValue = "1";
if (frmButtonItem.ContainsKey("Search")) { frmButtonItem["Search"].Enabled = false; }
if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = false; }
if (frmButtonItem.ContainsKey("AddNew")) { frmButtonItem["AddNew"].Enabled = false; }
if (frmButtonItem.ContainsKey("Print")) { frmButtonItem["Print"].Enabled = false; }
if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = false; }
if (frmButtonItem.ContainsKey("Finish")) { frmButtonItem["Finish"].Enabled = false; }
if (frmButtonItem.ContainsKey("Close")) { frmButtonItem["Close"].Enabled = false; }
if (frmButtonItem.ContainsKey("Confirm")) { frmButtonItem["Confirm"].Enabled = false; }
if (frmButtonItem.ContainsKey("Clear")) { frmButtonItem["Clear"].Enabled = false; }
if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = true; }
if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = true; }
}
///
/// 申请按钮
///
public void AddNew()
{
flag = 0;//标识增加
colTR_NUM.OptionsColumn.AllowEdit = true;
xtraTabPage2.Text = "运输任务明细";
xtraTabControl1.SelectedTabPageIndex = 0;//先填写运输任务
txtID.Enabled = false;//编号不可用
lueState.Enabled = false;//状态不可用
transportModel = new TransportModel();//清空运输任务
bsTransportEdit.DataSource = transportModel;
dicDriver.TextBoxFlag = null;
dicDriver.TextBoxValue = null;
listTransportTabModel = new List();//清空明细
bsTransportTab.DataSource = listTransportTabModel;
GVTransportTab.RefreshData();
transportModel.PLAN_START_DATE = DateTime.Now.Date;
transportModel.PLAN_END_DATE = DateTime.Now.Date.AddDays(3);
transportModel.END_END_DATE = DateTime.Now.Date.AddDays(3);
transportModel.PROPOSER_MAN = userData.USER_ID;
//状态默认未审核
transportModel.STATE = "0";
lueState.EditValue = "0";
if (frmButtonItem.ContainsKey("Search")) { frmButtonItem["Search"].Enabled = false; }
if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = false; }
if (frmButtonItem.ContainsKey("AddNew")) { frmButtonItem["AddNew"].Enabled = false; }
if (frmButtonItem.ContainsKey("Print")) { frmButtonItem["Print"].Enabled = false; }
if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = false; }
if (frmButtonItem.ContainsKey("Finish")) { frmButtonItem["Finish"].Enabled = false; }
if (frmButtonItem.ContainsKey("Close")) { frmButtonItem["Close"].Enabled = false; }
if (frmButtonItem.ContainsKey("Confirm")) { frmButtonItem["Confirm"].Enabled = false; }
if (frmButtonItem.ContainsKey("Clear")) { frmButtonItem["Clear"].Enabled = false; }
if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = true; }
if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = true; }
}
///
/// 编辑按钮
///
public override void Edit()
{
if (!frmButtonItem.ContainsKey("Edit"))
{
return;
}
else if (frmButtonItem["Edit"].Enabled == false)
{
return;
}
flag = 1;//标识修改
//if (transportModel.STATE == "1")
//{
// foreach (Control item in panelControl1.Controls)
// {
// item.Enabled = false;
// }
// txtRemark.Enabled = true;
// dicDriver.Enabled = true;
// colTR_NUM.OptionsColumn.AllowEdit = false;
// colUNIT.OptionsColumn.AllowEdit = false;
//}
//else
{
txtID.Enabled = false;//编号不可用
lueState.Enabled = false;//状态不可用
colTR_NUM.OptionsColumn.AllowEdit = true;
colUNIT.OptionsColumn.AllowEdit = true;
}
transportModel.UPDATE_MAN = userData.USER_ID;
transportModel.UPDATE_MAN_NAME = userData.NAME;
transportModel.UPDATE_DATE = System.DateTime.Now;
if (frmButtonItem.ContainsKey("Search")) { frmButtonItem["Search"].Enabled = false; }
if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = false; }
if (frmButtonItem.ContainsKey("AddNew")) { frmButtonItem["AddNew"].Enabled = false; }
if (frmButtonItem.ContainsKey("Print")) { frmButtonItem["Print"].Enabled = false; }
if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = false; }
if (frmButtonItem.ContainsKey("Finish")) { frmButtonItem["Finish"].Enabled = false; }
if (frmButtonItem.ContainsKey("Close")) { frmButtonItem["Close"].Enabled = false; }
if (frmButtonItem.ContainsKey("Confirm")) { frmButtonItem["Confirm"].Enabled = false; }
if (frmButtonItem.ContainsKey("Clear")) { frmButtonItem["Clear"].Enabled = false; }
if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = true; }
}
///
/// 完成按钮
///
public void Finish()
{
if (transportModel.STATE == "0")
{
SystemCommon.ShowInfoMessageBox("只有审核过的运输任务才可以被完成");
return;
}
flag = 2;//标识完成
foreach (Control item in panelControl1.Controls)
{
item.Enabled = false;
}
txtRemark.Enabled = true;
deRealStart.Enabled = true;
deRealEnd.Enabled = true;
transportModel.STATE = "5";
lueState.EditValue = "5";
transportModel.UPDATE_MAN = userData.USER_ID;
transportModel.UPDATE_MAN_NAME = userData.NAME;
transportModel.UPDATE_DATE = System.DateTime.Now;
//dicDriver.TextBoxFlag = userData.USER_ID;
//dicDriver.TextBoxValue = userData.NAME;
colUNIT.OptionsColumn.AllowEdit = true;
colTR_NUM.OptionsColumn.AllowEdit = false;
if (frmButtonItem.ContainsKey("Search")) { frmButtonItem["Search"].Enabled = false; }
if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = false; }
if (frmButtonItem.ContainsKey("AddNew")) { frmButtonItem["AddNew"].Enabled = false; }
if (frmButtonItem.ContainsKey("Print")) { frmButtonItem["Print"].Enabled = false; }
if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = false; }
if (frmButtonItem.ContainsKey("Finish")) { frmButtonItem["Finish"].Enabled = false; }
if (frmButtonItem.ContainsKey("Close")) { frmButtonItem["Close"].Enabled = false; }
if (frmButtonItem.ContainsKey("Confirm")) { frmButtonItem["Confirm"].Enabled = false; }
if (frmButtonItem.ContainsKey("Clear")) { frmButtonItem["Clear"].Enabled = false; }
if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = true; }
}
///
/// 刷新按钮
///
public override void Refresh()
{
if (frmButtonItem.ContainsKey("Save") && frmButtonItem["Save"].Enabled == true && DialogResult.Yes != SystemCommon.ShowMessageBoxResult("确定放弃正在编辑的数据?"))
{
return;
}
flag = -1;//标识为非增加非修改
string ID = string.Empty;
ID = transportModel.TRANSPORT_ID;
transportModel = new TransportModel();
bindGrid(transportModel);//刷新数据
xtraTabControl1.SelectedTabPageIndex = 0;//到运输任务页
foreach (Control item in panelControl1.Controls)
{
item.Enabled = true;
}
colTR_NUM.OptionsColumn.AllowEdit = false;
colUNIT.OptionsColumn.AllowEdit = false;
colTR_NUM.OptionsColumn.AllowEdit = true;
if (frmButtonItem.ContainsKey("Search")) { frmButtonItem["Search"].Enabled = true; }
if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = true; }
if (frmButtonItem.ContainsKey("AddNew")) { frmButtonItem["AddNew"].Enabled = true; }
if (frmButtonItem.ContainsKey("Print")) { frmButtonItem["Print"].Enabled = true; }
if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = true; }
if (frmButtonItem.ContainsKey("Finish")) { frmButtonItem["Finish"].Enabled = true; }
if (frmButtonItem.ContainsKey("Close")) { frmButtonItem["Close"].Enabled = true; }
if (frmButtonItem.ContainsKey("Confirm")) { frmButtonItem["Confirm"].Enabled = true; }
if (frmButtonItem.ContainsKey("Clear")) { frmButtonItem["Clear"].Enabled = true; }
GVTransport.Appearance.Row.BackColor = Color.White;
GVTransport.Appearance.EvenRow.BackColor = Color.White;
GVTransport.FocusedRowHandle = listtransportModel.FindIndex(p => p.TRANSPORT_ID == ID);
GVTransport_FocusedRowChanged(null, null);
}
///
/// 保存
///
public override void Save()
{
xtraTabControl1.Focus();
/*验证*/
//if (string.IsNullOrEmpty(lueState.Text))
//{
// SystemCommon.ShowInfoMessageBox("请选择状态");
// xtraTabControl1.SelectedTabPageIndex = 0;
// lueState.Focus();
// return;
//}
if (listTransportTabModel.Count > 0)
{
//验证数量
decimal totalPlanAmount = 0;
decimal totalV = 0;
decimal totalW = 0;
decimal totalM = 0;
foreach (TransportTabModel item in listTransportTabModel)
{
decimal plan_amount = -1;
plan_amount = Convert.ToDecimal(item.TR_NUM);
if (plan_amount > 0)//如果大于0
{
totalPlanAmount += plan_amount;//统计数量
totalV += Convert.ToDecimal(item.VOLUME);
totalW += Convert.ToDecimal(item.WEIGHT);
totalM += Convert.ToDecimal(item.PRICE);
}
else
{
SystemCommon.ShowInfoMessageBox("运输数量必须大于0");
xtraTabControl1.SelectedTabPageIndex = 1;
GVTransportTab.Focus();
return;
}
}
transportModel.TOTAL_COUNT = totalPlanAmount;//总数量
transportModel.TOTAL_PRICE = totalM;
transportModel.TOTAL_VOLUME = totalV;
transportModel.TOTAL_WEIGHT = totalW;
}
else
{
SystemCommon.ShowInfoMessageBox("请选择运输出库单");
return;
}
transportModel.CARID = dicCar.TextBoxFlag;
transportModel.DRIVER_MAN = dicDriver.TextBoxFlag;
transportModel.UNLOAD_MAN = dicManEnd.TextBoxFlag;
transportModel.LOADING_MAN = dicManStart.TextBoxFlag;
transportModel.RECEIVE_MAN = dicReceive.TextBoxFlag;
transportModel.UNLOAD_TEAM = dicTeamEnd.TextBoxFlag;
transportModel.LOADING_TEAM = dicTeamStart.TextBoxFlag;
if (string.IsNullOrEmpty(transportModel.CARID))
{
SystemCommon.ShowInfoMessageBox("请填写车牌号");
xtraTabControl1.SelectedTabPageIndex = 0;
dicCar.Focus();
return;
}
if (string.IsNullOrEmpty(transportModel.DRIVER_MAN))
{
SystemCommon.ShowInfoMessageBox("请填写司机");
xtraTabControl1.SelectedTabPageIndex = 0;
dicDriver.Focus();
return;
}
if (string.IsNullOrEmpty(transportModel.START_ADDRESS))
{
SystemCommon.ShowInfoMessageBox("请填写出发地址");
xtraTabControl1.SelectedTabPageIndex = 0;
txtStartAddress.Focus();
return;
}
if (string.IsNullOrEmpty(transportModel.END_ADDRESS))
{
SystemCommon.ShowInfoMessageBox("请填写目的地址");
xtraTabControl1.SelectedTabPageIndex = 0;
txtEndAddress.Focus();
return;
}
//foreach (TransportTabModel item in listTransportTabModel)
//{
// if (item.NEW_LOC_ID != null && listTransportTabModel.FindAll(i => i.GOODS_ID == item.GOODS_ID && i.NEW_LOC_ID == item.NEW_LOC_ID).Count > 1)
// {
// SystemCommon.ShowInfoMessageBox("同一商品新库位不能相同");
// xtraTabControl1.SelectedTabPageIndex = 1;
// return;
// }
//}
if (flag == 0)
{ //增加
/*增加*/
string strModel = Newtonsoft.Json.JsonConvert.SerializeObject(transportModel);//model转字符串
string strTabList = Newtonsoft.Json.JsonConvert.SerializeObject(listTransportTabModel);//List转字符串
string errText = string.Empty;
try
{
errText = WebLockConfig.Instance.WebTransport.InsertTransportAndTab(strModel, strTabList);
}
catch (Exception)
{
SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
}
if (string.IsNullOrEmpty(errText))//如果增加成功
{
SystemCommon.ShowInfoMessageBox("增加成功" + errText);
colTR_NUM.OptionsColumn.AllowEdit = false;
colUNIT.OptionsColumn.AllowEdit = false;
if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = false; }
Refresh();
}
else
{
SystemCommon.ShowInfoMessageBox("增加失败" + errText);
}
}
else if (flag == 1)//修改
{
/*修改*/
string strModel = Newtonsoft.Json.JsonConvert.SerializeObject(transportModel);//model转字符串
string strTabList = Newtonsoft.Json.JsonConvert.SerializeObject(listTransportTabModel);//List转字符串
string errText = string.Empty;
try
{
errText = WebLockConfig.Instance.WebTransport.UpdateTransportAndTab(strModel, strTabList);
}
catch (Exception)
{
SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
}
if (string.IsNullOrEmpty(errText))//如果修改成功
{
SystemCommon.ShowInfoMessageBox("修改成功");
colTR_NUM.OptionsColumn.AllowEdit = false;
colUNIT.OptionsColumn.AllowEdit = false;
//ctrlDicLoc.Enabled = false;
if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = false; }
Refresh();
}
else
{
SystemCommon.ShowInfoMessageBox("修改失败" + errText);
}
}
else if (flag == 2)//完成
{
string strModel = Newtonsoft.Json.JsonConvert.SerializeObject(transportModel);//model转字符串
string strTabList = Newtonsoft.Json.JsonConvert.SerializeObject(listTransportTabModel);//List转字符串
string errText = string.Empty;
try
{
errText = WebLockConfig.Instance.WebTransport.UpdateTransportAndTab(strModel, strTabList);
}
catch (Exception)
{
SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
return;
}
if (string.IsNullOrEmpty(errText))//如果修改成功
{
foreach (Control item in panelControl1.Controls)
{
item.Enabled = true;
}
//放到备份表
errText = string.Empty;
try
{
errText = WebLockConfig.Instance.WebTransport.MoveTransportAndTabIntoBack(strModel);
}
catch (Exception)
{
SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
return;
}
if (!string.IsNullOrEmpty(errText))
{
SystemCommon.ShowInfoMessageBox("放到备份表失败" + errText);
return;
}
colTR_NUM.OptionsColumn.AllowEdit = false;
colUNIT.OptionsColumn.AllowEdit = false;
//ctrlDicLoc.Enabled = false;
if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = false; }
Refresh();
SystemCommon.ShowInfoMessageBox("完成成功");
}
else
{
SystemCommon.ShowInfoMessageBox("完成失败" + errText);
}
}
}
///
/// 作废按钮,作废一条运输任务
///
public void Close()
{
if (GVTransport.SelectedRowsCount > 0)
{
if (DialogResult.Yes == SystemCommon.ShowMessageBoxResult("确定作废"))
{
transportModel.BLOW_MAN = userData.USER_ID;
transportModel.BLOW_MAN_NAME = userData.NAME;
transportModel.BLOW_DATE = System.DateTime.Now;
transportModel.STATE = "6";
string strTransportModel = Newtonsoft.Json.JsonConvert.SerializeObject(transportModel);//model转string
string errText = string.Empty;
try
{
errText = WebLockConfig.Instance.WebTransport.MoveTransportAndTabIntoBack(strTransportModel);
}
catch (Exception)
{
SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
return;
}
if (!string.IsNullOrEmpty(errText))
{
SystemCommon.ShowInfoMessageBox("作废失败" + errText);
return;
}
else
{
SystemCommon.ShowInfoMessageBox("作废成功" + errText);
Refresh();//刷新
}
}
}
else
{
SystemCommon.ShowInfoMessageBox("您未选择运输任务");
}
}
///
/// 删除按钮,删除一条运输任务明细
///
public override void Del()
{
if (GVTransportTab.SelectedRowsCount > 0)
{
if (DialogResult.Yes == SystemCommon.ShowMessageBoxResult("确定删除"))
{
TransportTabModel model = new TransportTabModel();
model = GVTransportTab.GetFocusedRow() as TransportTabModel;
listTransportTabModel.Remove(model);
GVTransportTab.RefreshData();
}
}
else
{
SystemCommon.ShowInfoMessageBox("您未选择运输任务明细");
}
}
///
/// 清空按钮
///
public override void Clear()
{
transportModel = new TransportModel();
bsTransportEdit.DataSource = transportModel;
}
#endregion
//查看路线
public void Map() {
string start = transportModel.START_PROVINCE_NAME + transportModel.START_CITY_NAME + transportModel.START_ADDRESS;
string end = transportModel.END_PROVINCE_NAME + transportModel.END_CITY_NAME + transportModel.END_ADDRESS;
FrmMap map = new FrmMap(start,end);
//map.Show();
}
#region 批量审核
///
/// 批量审核
///
///
///
public void Confirm()
{
xtraTabControl1.Focus();
List listTransport = new List();//将被审核的Transport集合
foreach (TransportModel item in listtransportModel)
{
//如果被选中且状态为未审核,则将其状态改为已审核
if (item.IsCheck && item.STATE == "0")
{
item.STATE = "1";
item.AUDIT_MAN = userData.USER_ID;
item.AUDIT_DATE = System.DateTime.Now;
listTransport.Add(item);
}
}
if (listTransport.Count > 0)
{//批量审核
if (DialogResult.Yes == SystemCommon.ShowMessageBoxResult("审核?"))
{
foreach (TransportModel item in listTransport)
{
string strTransportModel = Newtonsoft.Json.JsonConvert.SerializeObject(item);//model转string
string errText = string.Empty;
try
{
errText = WebLockConfig.Instance.WebTransport.UpdateTransportState(strTransportModel);//审核
}
catch (Exception)
{
SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
}
if (!string.IsNullOrEmpty(errText))
{
SystemCommon.ShowInfoMessageBox(item.TRANSPORT_ID + "审核失败" + errText);
}
}
}
Refresh();
}
else
{
SystemCommon.ShowInfoMessageBox("您未勾选任何状态为未审核的运输任务");
}
}
#endregion
///
/// 双击明细编辑
///
///
///
private void GVTransportTab_DoubleClick(object sender, EventArgs e)
{
Edit();
}
///
/// 双击运输任务
///
///
///
private void GVTransport_DoubleClick(object sender, EventArgs e)
{
xtraTabControl1.SelectedTabPageIndex = 1;
}
/////
///// 备注
/////
//public void Remark()
//{
// FrmSelectRemark frmSelectRemark = new FrmSelectRemark();
// frmSelectRemark.remarkType = "库存管理";
// frmSelectRemark.ShowDialog(); if (frmSelectRemark.remarkType != "selected") { return; }
// txtRemark.Text = frmSelectRemark.baseRemarkDictionaryModel.CONTENT;
// txtRemark.ForeColor = System.Drawing.ColorTranslator.FromHtml(frmSelectRemark.baseRemarkDictionaryModel.COLOR_ID);
//}
//#endregion
//#region CheckBox全选的实现:3事件
//private void GVTransport_Click(object sender, EventArgs e)
//{
// if (DevControlHelper.ClickGridCheckBox(this.GVTransport, "IsCheck", m_status))
// {
// m_status = !m_status;
// }
//}
//private void GVTransport_CustomDrawColumnHeader(object sender, DevExpress.XtraGrid.Views.Grid.ColumnHeaderCustomDrawEventArgs e)
//{
// if (e.Column != null && e.Column.FieldName == "IsCheck")
// {
// e.Info.InnerElements.Clear();
// e.Painter.DrawObject(e.Info);
// DevControlHelper.DrawCheckBox(e, m_status);
// e.Handled = true;
// }
//}
//private void GVTransport_DataSourceChanged(object sender, EventArgs e)
//{
// GridColumn column = this.GVTransport.Columns.ColumnByFieldName("IsCheck");
// if (column != null)
// {
// column.Width = 20;
// column.OptionsColumn.ShowCaption = m_status;
// column.ColumnEdit = new RepositoryItemCheckEdit();
// }
//}
//#endregion
#region 自定义列显示事件
///
/// 自定义列显示事件
///
///
///
private void GVTransport_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
{
if (e.Column.FieldName == "STATE")
{
switch (e.Value.ToString().Trim())
{
case "0":
e.DisplayText = "未审核";
break;
case "1":
e.DisplayText = "已审核";
break;
case "2":
e.DisplayText = "已装车";
break;
case "3":
e.DisplayText = "已出发";
break;
case "4":
e.DisplayText = "已到达";
break;
case "5":
e.DisplayText = "已卸车";
break;
case "6":
e.DisplayText = "已作废";
break;
default:
e.DisplayText = "";
break;
}
}
}
#endregion
//#region 商品选择
/////
///// 商品选择
/////
/////
/////
//private void ctrlDicGoods_Button_Click_1(object sender, EventArgs e)
//{
// if (ctrlDicGoods.SelectTable.Rows.Count == 0)
// {
// //SystemCommon.ShowInfoMessageBox("您未选择商品!");
// return;
// }
// //商品集合
// List listGoodsInfoModel = ConvertHelper.ConvertToList(ctrlDicGoods.SelectTable);
// /*将选择的商品加入运输任务明细*/
// foreach (GoodsInfoModel item in listGoodsInfoModel)
// {
// TransportTabModel model = new TransportTabModel();
// model.GOODS_ID = item.GOODS_ID;
// model.GOODS_NAME = item.GOODS_NAME;
// model.UNIT = item.UNIT;
// model.PRICE = item.PRICE;
// model.SCALE_UNIT = item.SCALE_UNIT;
// decimal total = 0;
// foreach (MIStockModel i in MIStockList)
// {
// if (i.GOODS_ID == item.GOODS_ID)
// {
// total += Convert.ToDecimal(i.ABLE_NUM);
// }
// }
// model.MISTOCK_NUM = total;
// if (flag == 1)
// { //修改:给运输任务编号赋值
// model.TRANSPORT_ID = transportModel.TRANSPORT_ID;
// }
// //判断该商品是否已经在运输任务明细中后添加
// bool had = false;
// foreach (TransportTabModel wntModel in listTransportTabModel)
// {
// if (wntModel.GOODS_ID == model.GOODS_ID)
// {
// had = true;
// }
// }
// if (!had)
// {
// listTransportTabModel.Add(model);
// }
// }
// if (listTransportTabModel.Count > 0)
// {
// xtraTabControl1.SelectedTabPageIndex = 1;
// bsTransportTab.DataSource = listTransportTabModel;
// GVTransportTab.RefreshData();
// //焦点置于新库位
// GVTransportTab.FocusedColumn = GVTransportTab.Columns[3];
// GVTransportTab.FocusedRowHandle = 0;
// }
// else
// {
// SystemCommon.ShowInfoMessageBox("未选择任何商品或所选择的商品已在明细中,请重新选择");
// }
//}
//#endregion
///
/// 运输任务改变,显示属于它的运输任务明细、编辑区域显示它的信息改变 根据状态 判断改行是否可选中
///
///
///
private void GVTransport_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
{
if (listtransportModel.Count == 0)
{
return;
}
if (flag == -1)
{
transportModel = new TransportModel();
transportModel = GVTransport.GetFocusedRow() as TransportModel;
ltreeStart.EditValue = transportModel.START_AREA;
ltreeEnd.EditValue = transportModel.END_AREA;
bsTransportEdit.DataSource = transportModel;
//if (string.IsNullOrEmpty(transportModel.CONFIRM_PERSON))
//{//审核人
// transportModel.CONFIRM_PERSON = userData.USER_ID;
// dicConfirm.TextBoxFlag = userData.USER_ID;
// dicConfirm.TextBoxValue = userData.NAME;
//}
//else
//{
// dicConfirm.TextBoxFlag = transportModel.CONFIRM_PERSON;
// dicConfirm.TextBoxValue = transportModel.CONFIRM_PERSON_NAME;
//}
//dicCreate.TextBoxFlag = transportModel.CREATE_PERSON;
//dicCreate.TextBoxValue = transportModel.CREATE_PERSON_NAME;
//dicMove.TextBoxFlag = transportModel.MOVE_PERSON;
//dicMove.TextBoxValue = transportModel.MOVE_PERSON_NAME;
bindTransportTab(transportModel);
if (transportModel.STATE == "0")//未审核
{
GVTransport.OptionsBehavior.Editable = true;//整个
if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = true; }
if (frmButtonItem.ContainsKey("Print")) { frmButtonItem["Print"].Enabled = false; }
}
else if (transportModel.STATE == "1")
{
GVTransport.OptionsBehavior.Editable = false;//整个
if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = true; }
//if (!string.IsNullOrEmpty(transportModel.MOVE_PERSON))
//{
// if (frmButtonItem.ContainsKey("Print")) { frmButtonItem["Print"].Enabled = true; }
//}
//else
//{
// if (frmButtonItem.ContainsKey("Print")) { frmButtonItem["Print"].Enabled = false; }
//}
}
if (transportModel.PRINT_NUM > 0)
{
if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = false; }
}
}
}
/////
///// 改单位下拉框数据源
/////
/////
/////
//private void issueBinGridView_CustomRowCellEditForEditing(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e)
//{
// if (e.RowHandle < 0 || flag == -1)
// {
// return;
// }
// if (e.Column.Name == "colUNIT")
// {
// BindUnit();
// e.RepositoryItem = lueUnits;//当前单元格绑定控件
// }
// if (e.Column.Name == "colOlD_LOC_ID")
// {
// string goodsID = string.Empty;
// if (GVTransportTab.GetFocusedRowCellValue("GOODS_ID") != null)
// {
// goodsID = GVTransportTab.GetFocusedRowCellValue("GOODS_ID").ToString();
// List listLoc = new List();
// foreach (MIStockModel item in MIStockList)
// {
// if (item.GOODS_ID == goodsID)
// {
// StorageAreaLocationModel loc = new StorageAreaLocationModel();
// loc.LOCATION_ID = item.LOCATION_ID;
// listLoc.Add(loc);
// }
// }
// lueLocs.Properties.DataSource = listLoc;
// }
// e.RepositoryItem = lueLocs;//当前单元格绑定控件
// }
//}
/////
///// 单位、重量单位的显示
/////
/////
/////
//private void GVTransportTab_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
//{
// ///*查询单位、重量单位集合*/
// //List kg_unitList = new List();
// //List vc_uomList = new List();
// //string errText = string.Empty;
// //string strDataSet1 = string.Empty;
// //string strDataSet2 = string.Empty;
// //try
// //{
// // strDataSet1 = WebLockConfig.Instance.DictionaryTab.GetDictionaryTab("kg_unit", ref errText);//调用Web服务读取字典明细信息
// // strDataSet2 = WebLockConfig.Instance.DictionaryTab.GetDictionaryTab("vc_uom", ref errText);//调用Web服务读取字典明细信息
// //}
// //catch (Exception)
// //{
// // SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
// //}
// //if (errText == string.Empty)
// //{
// // kg_unitList = Newtonsoft.Json.JsonConvert.DeserializeObject>(strDataSet1);
// // vc_uomList = Newtonsoft.Json.JsonConvert.DeserializeObject>(strDataSet2);
// //}
// //else
// //{
// // SystemCommon.ShowInfoMessageBox(errText);
// //}
// if (e.Column.FieldName == "SCALE_UNIT")
// {
// if (e.Value != null)
// {
// switch (e.Value.ToString().Trim())
// {
// case "0":
// e.DisplayText = "克";
// break;
// case "1":
// e.DisplayText = "斤";
// break;
// case "2":
// e.DisplayText = "吨";
// break;
// default:
// e.DisplayText = "";
// break;
// }
// }
// }
//}
//#region 选择采购商品
//private bool m_status2 = false;//全选判断
//private GoodsInfoModel choseModel = new GoodsInfoModel();//当前选择的商品
/////
///// 清空商品列表数据
/////
//private void ClearGoodsGrid()
//{
// //string errText = string.Empty;
// //// 绑定商品列表数据
// //string strResult = string.Empty;
// //try
// //{
// // strResult = WebLockConfig.Instance.Goods.GetGoodsList("", "", "", "");
// //}
// //catch (Exception)
// //{
// // SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
// //}
// //listGoodsInfoModel = Newtonsoft.Json.JsonConvert.DeserializeObject>(strResult);
// //if (listGoodsInfoModel.Count > 0)
// //{
// // bsGoodsInfo.DataSource = listGoodsInfoModel;
// // GVGoodsInfo.RefreshData();
// //}
// //else
// //{
// // SystemCommon.ShowInfoMessageBox("未找到商品");
// //}
// listGoodsInfoModel = new List();
// bsGoodsInfo.DataSource = listGoodsInfoModel;
// //GVGoodsInfo.RefreshData();
//}
#region CheckBox全选的实现:3事件
private bool m_status2 = false;//全选判断
private void GVGoodsInfo_Click(object sender, EventArgs e)
{
if (DevControlHelper.ClickGridCheckBox(this.GVTransport, "IsCheck", m_status2))
{
m_status2 = !m_status2;
}
}
private void GVGoodsInfo_DataSourceChanged(object sender, EventArgs e)
{
GridColumn column = this.GVTransport.Columns.ColumnByFieldName("IsCheck");
if (column != null)
{
column.Width = 20;
column.OptionsColumn.ShowCaption = m_status2;
column.ColumnEdit = new RepositoryItemCheckEdit();
}
}
private void GVGoodsInfo_CustomDrawColumnHeader(object sender, DevExpress.XtraGrid.Views.Grid.ColumnHeaderCustomDrawEventArgs e)
{
if (e.Column != null && e.Column.FieldName == "IsCheck")
{
e.Info.InnerElements.Clear();
e.Painter.DrawObject(e.Info);
DevControlHelper.DrawCheckBox(e, m_status2);
e.Handled = true;
}
}
#endregion
////选择按钮
//public void choose()
//{
// xtraTabControl1.Focus();
// if (listGoodsInfoModel.Count == 0)
// {
// SystemCommon.ShowInfoMessageBox("没有可移动的商品,请注意审核库区");
// return;
// }
// if (flag == 2) {//如果状态为完成
// xtraTabControl1.SelectedTabPageIndex = 1;
// return;
// }
// if (xtraTabControl1.SelectedTabPageIndex != 2)//如果当前不是选择商品页面
// {
// xtraTabControl1.SelectedTabPageIndex = 2;
// }
// else {
// /*将选择的商品加入运输任务明细*/
// foreach (GoodsInfoModel item in listGoodsInfoModel)
// {
// //如果被选中
// if (item.IsCheck)
// {
// TransportTabModel model = new TransportTabModel();
// model.GOODS_ID = item.GOODS_ID;
// model.GOODS_NAME = item.GOODS_NAME;
// int total = 0;
// foreach (MIStockModel i in MIStockList)
// {
// if (i.GOODS_ID == item.GOODS_ID)
// {
// total += Convert.ToDecimal(i.ABLE_NUM);
// }
// }
// model.MISTOCK_NUM = total;
// if (flag == 1)
// { //修改:给运输任务编号赋值
// model.TRANSPORT_ID = transportModel.TRANSPORT_ID;
// }
// //判断该商品是否已经在运输任务明细中后添加
// bool had = false;
// foreach (TransportTabModel wntModel in listTransportTabModel)
// {
// if (wntModel.GOODS_ID == model.GOODS_ID)
// {
// had = true;
// }
// }
// if (!had)
// {
// listTransportTabModel.Add(model);
// }
// }
// }
// if (listTransportTabModel.Count > 0)
// {
// xtraTabControl1.SelectedTabPageIndex = 1;
// GVTransportTab.RefreshData();
// }
// else
// {
// SystemCommon.ShowInfoMessageBox("未选择任何商品或所选择的商品已在明细中,请重新选择");
// }
// //ClearGoodsGrid();
// }
//}
//#endregion
//#region 库位选择
/////
///// 库位选择
/////
/////
/////
//private void ctrlDicLoc_Button_Click_1(object sender, EventArgs e)
//{
// DataTable dt = ctrlDicLoc.SelectTable;
// if (dt.Rows.Count == 0)
// {
// SystemCommon.ShowInfoMessageBox("您未选择库位!");
// return;
// }
// //库位集合
// List list = ConvertHelper.ConvertToList(ctrlDicLoc.SelectTable);
// TransportTabModel model = listTransportTabModel[GVTransportTab.FocusedRowHandle];
// model.NEW_LOC_ID = list[0].LOCATION_ID;
// GVTransportTab.RefreshData();
// //bsTransportTab.DataSource = listTransportTabModel;
//}
//#endregion
///
/// 打印
///
public override void Print()
{
string message = "是否打印运输任务" + transportModel.TRANSPORT_ID;
if (transportModel.PRINT_NUM > 0)
{
message += ",该运输任务已被打印" + Convert.ToInt32(transportModel.PRINT_NUM) + "次";
}
if (DialogResult.No == SystemCommon.ShowMessageBoxResult(message))
{
return;
}
//打印时给单位名称赋值
string errText = string.Empty;
string strDataSet = string.Empty;
List listDictionaryTab = new List();
try
{
strDataSet = WebLockConfig.Instance.DictionaryTab.GetDictionaryTab("vc_uom", ref errText);//调用Web服务读取字典明细信息
}
catch (Exception)
{
SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
}
if (errText == string.Empty)
{
listDictionaryTab = Newtonsoft.Json.JsonConvert.DeserializeObject>(strDataSet);
}
else
{
SystemCommon.ShowInfoMessageBox(errText);
}
foreach (TransportTabModel item in listTransportTabModel)
{
if (item.UNIT != null)
{
item.UNIT_NAME = listDictionaryTab.Find(p => p.VC_CHAR_VALUE == item.UNIT).VC_DICTIONARY_NAME;
}
}
//transportModel.DOCUMENT_PERSON_ID = userData.USER_ID;
//transportModel.DOCUMENT_PERSON = userData.NAME;
//transportModel.DOCUMENT_TIME = DateTime.Now;
transportModel.DOCUMENT_PERSON_ID = userData.USER_ID;
transportModel.DOCUMENT_PERSON = userData.NAME;
transportModel.DOCUMENT_TIME = DateTime.Now;
#region 出库单合并成一张运输单
var ll = listTransportTabModel.GroupBy(s => new { s.GOODS_ID, s.Good_name, s.UNIT,s.UNIT_NAME, s.VOLUME, s.WEIGHT, s.PRICE }).Select(g => new { g.Key.GOODS_ID, g.Key.Good_name, g.Key.UNIT,g.Key.UNIT_NAME, g.Key.VOLUME, g.Key.WEIGHT, g.Key.PRICE, TR_NUM = g.Sum(h => h.TR_NUM), LOSE_NUM = g.Sum(q => q.LOSE_NUM) }).ToList();
List ls = new List();
TransportTabModel mo = new TransportTabModel();
foreach (var item in ll)
{
mo = new TransportTabModel();
mo.GOODS_ID = item.GOODS_ID;
mo.Good_name = item.Good_name;
mo.UNIT = item.UNIT;
mo.UNIT_NAME = item.UNIT_NAME;
mo.VOLUME = item.VOLUME;
mo.WEIGHT = item.WEIGHT;
mo.PRICE = item.PRICE;
mo.TR_NUM = item.TR_NUM;
mo.LOSE_NUM = item.LOSE_NUM;
ls.Add(mo);
}
#endregion
DialogResult dialogResult = ReportTransport.GetInstance(transportModel, ls).PrintDialog();
//DialogResult dialogResult = ReportTransport.GetInstance(transportModel, listTransportTabModel).PrintDialog();
if (dialogResult == DialogResult.OK)
{
string strModel = Newtonsoft.Json.JsonConvert.SerializeObject(transportModel);
errText = string.Empty;
try
{
errText = WebLockConfig.Instance.WebTransport.PrintOK(strModel);
}
catch (Exception)
{
SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
return;
}
if (string.IsNullOrEmpty(errText))//如果成功
{
transportModel.PRINT_NUM += 1;
GVTransport.RefreshData();
SystemCommon.ShowInfoMessageBox("打印成功");
}
else
{
SystemCommon.ShowInfoMessageBox("修改打印记录失败,请重新打印。" + errText);
}
}
else
{
SystemCommon.ShowInfoMessageBox("打印失败");
}
}
private void GVTransportTab_MouseMove(object sender, MouseEventArgs e)
{
DevExpress.XtraGrid.Views.Grid.ViewInfo.GridHitInfo hi = GVTransportTab.CalcHitInfo(new Point(e.X, e.Y));
TransportTabModel model = new TransportTabModel();
if (hi.Column != null && hi.Column.Name == "colGOODS_ID")
{
model = GVTransportTab.GetRow(hi.RowHandle) as TransportTabModel;
if (model != null && !string.IsNullOrEmpty(model.GOODS_ID))
{
int height = this.ParentForm.Location.Y + this.ParentForm.Height - this.Height + e.Y;
height += 30;
if (FrmGoods.GetInstance().Set(model.GOODS_ID, new Point(e.X, height)))
{
FrmGoods.GetInstance().Show();
return;
}
}
}
FrmGoods.GetInstance().Close();
}
//private void GVTransportTab_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)
//{
// if (e.Column.Name == "colGOODS_NAME")
// {
// TransportTabModel model = GVTransportTab.GetFocusedRow() as TransportTabModel;
// if (model != null && !string.IsNullOrEmpty(model.GOODS_ID))
// {
// FrmGoodsInfoDet.IFlag = 2;
// FrmGoodsInfoDet.StrGoodsID = model.GOODS_ID;
// LoadForm load = new LoadForm();
// DevExpress.XtraSplashScreen.SplashScreenManager.ShowForm(load, load.GetType(), false, true, false, 0);
// DevExpress.XtraSplashScreen.SplashScreenManager.Default.SetWaitFormDescription("正在读取商品信息....");
// FrmGoodsInfoDet.GetInstance().Show();
// }
// }
//}
private void GVTransportTab_MouseLeave(object sender, EventArgs e)
{
FrmGoods.GetInstance().Close();
}
private void repositoryItemHyperLinkEdit1_Click(object sender, EventArgs e)
{
TransportTabModel model = GVTransportTab.GetFocusedRow() as TransportTabModel;
if (model != null && !string.IsNullOrEmpty(model.GOODS_ID))
{
FrmGoodsInfoDet.IFlag = 2;
FrmGoodsInfoDet.StrGoodsID = model.GOODS_ID;
LoadForm load = new LoadForm();
DevExpress.XtraSplashScreen.SplashScreenManager.ShowForm(load, load.GetType(), false, true, false, 0);
DevExpress.XtraSplashScreen.SplashScreenManager.Default.SetWaitFormDescription("正在读取商品信息....");
FrmGoodsInfoDet.GetInstance().Show();
}
}
private void dicCar_Button_Click(object sender, EventArgs e)
{
if (dicCar.SelectTable.Rows.Count == 0)
{
return;
}
List listCar = ConvertHelper.ConvertToList(dicCar.SelectTable);
dicDriver.TextBoxFlag = listCar[0].CAR_DRIVER;
transportModel.DRIVER_MAN = listCar[0].CAR_DRIVER;
string result;
string errText = string.Empty;
try
{
result = WebLockConfig.Instance.WebSystemUser.GetUserData(listCar[0].CAR_DRIVER,ref errText);
}
catch (Exception)
{
SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
return;
}
if (string.IsNullOrEmpty(errText))//如果成功
{
UserDataModel listUser = Newtonsoft.Json.JsonConvert.DeserializeObject(result);
if (listUser != null)
{
dicDriver.TextBoxFlag = listUser.USER_ID;
transportModel.DRIVER_MAN = listUser.USER_ID;
dicDriver.TextBoxValue = listUser.NAME;
txtDriverPhone.Text = listUser.PHONE;
transportModel.DRIVER_PHONE = listUser.PHONE;
}
}
}
private void dicDriver_Button_Click(object sender, EventArgs e)
{
if (dicDriver.SelectTable.Rows.Count == 0)
{
return;
}
List listUser = ConvertHelper.ConvertToList(dicDriver.SelectTable);
dicDriver.TextBoxFlag = listUser[0].USER_ID;
transportModel.DRIVER_MAN = listUser[0].USER_ID;
dicDriver.TextBoxValue = listUser[0].NAME;
txtDriverPhone.Text = listUser[0].PHONE;
transportModel.DRIVER_PHONE = listUser[0].PHONE;
}
private void dicCK_Button_Click(object sender, EventArgs e)
{
if (dicCK.SelectTable.Rows.Count == 0)
{
return;
}
List listCK = ConvertHelper.ConvertToList(dicCK.SelectTable);
List listOD = new List();
foreach (var item in listCK)
{
string result;
OrderDetailModel od = new OrderDetailModel();
od.CK_ID = item.ORDER_ID;
try
{
result = WebLockConfig.Instance.WebOrderDetail.GetOrderDetail(Newtonsoft.Json.JsonConvert.SerializeObject(od));
}
catch (Exception)
{
SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
return;
}
List listO = Newtonsoft.Json.JsonConvert.DeserializeObject>(result);
if (listO != null)
{
listOD.AddRange(listO);
}
}
foreach (var item in listOD)
{
if (!listTransportTabModel.Exists(p => p.CK_ID == item.CK_ID && p.GOODS_ID == item.GOOD_ID)) {
if (item.GOODS_NUM - item.TR_NUM > 0) {
TransportTabModel tab = new TransportTabModel();
tab.CK_ID = item.CK_ID;
tab.GOODS_ID = item.GOOD_ID;
tab.LOSE_NUM = 0;
tab.PRICE = item.PRICE;
tab.TR_NEED_NUM = item.GOODS_NUM - item.TR_NUM;
tab.TR_NUM = tab.TR_NEED_NUM;
tab.UNIT = item.UNIT;
tab.VOLUME = item.GVOLUME;
tab.WEIGHT = item.Weith;
tab.CUSTOMERADDRESS = listCK.Find(p => p.ORDER_ID == item.CK_ID).CUSTOMERADDRESS;
tab.Good_name = item.Good_name;
listTransportTabModel.Add(tab);
}
}
}
if (listTransportTabModel.Count > 0)
{
xtraTabControl1.SelectedTabPageIndex = 1;
bsTransportTab.DataSource = listTransportTabModel;
GVTransportTab.RefreshData();
}
else
{
SystemCommon.ShowInfoMessageBox("未找到待运输的出库单!");
}
}
private void ltreeStart_EditValueChanged(object sender, EventArgs e)
{
if (ltreeStart.EditValue == null || flag == -1)
{
return;
}
try
{
AddressAreaModel addressArea = new AddressAreaModel();
addressArea.Add_id = ltreeStart.EditValue.ToString();
string strAddressAreaModel = Newtonsoft.Json.JsonConvert.SerializeObject(addressArea);
string strlistAddressAreaModel = WebLockConfig.Instance.WebAddressArea.GetAddressArea(strAddressAreaModel);
List list = Newtonsoft.Json.JsonConvert.DeserializeObject>(strlistAddressAreaModel);
if (list != null && list.Count > 0) {
if (list[0].Lev == "3") {
transportModel.START_AREA = list[0].Add_id;
addressArea = new AddressAreaModel();
addressArea.Add_id = list[0].Add_pid;
strAddressAreaModel = Newtonsoft.Json.JsonConvert.SerializeObject(addressArea);
strlistAddressAreaModel = WebLockConfig.Instance.WebAddressArea.GetAddressArea(strAddressAreaModel);
list = Newtonsoft.Json.JsonConvert.DeserializeObject>(strlistAddressAreaModel);
if (list != null && list.Count > 0)
{
transportModel.START_CITY = list[0].Add_id;
addressArea = new AddressAreaModel();
addressArea.Add_id = list[0].Add_pid;
strAddressAreaModel = Newtonsoft.Json.JsonConvert.SerializeObject(addressArea);
strlistAddressAreaModel = WebLockConfig.Instance.WebAddressArea.GetAddressArea(strAddressAreaModel);
list = Newtonsoft.Json.JsonConvert.DeserializeObject>(strlistAddressAreaModel);
if (list != null && list.Count > 0)
{
transportModel.START_PROVINCE = list[0].Add_id;
}
}
}
else if (list[0].Lev == "2")
{
transportModel.START_CITY = list[0].Add_id;
addressArea = new AddressAreaModel();
addressArea.Add_id = list[0].Add_pid;
strAddressAreaModel = Newtonsoft.Json.JsonConvert.SerializeObject(addressArea);
strlistAddressAreaModel = WebLockConfig.Instance.WebAddressArea.GetAddressArea(strAddressAreaModel);
list = Newtonsoft.Json.JsonConvert.DeserializeObject>(strlistAddressAreaModel);
if (list != null && list.Count > 0)
{
transportModel.START_PROVINCE = list[0].Add_id;
}
}
else {
transportModel.START_PROVINCE = list[0].Add_id;
}
}
}
catch (Exception)
{
SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
}
}
private void ltreeEnd_EditValueChanged(object sender, EventArgs e)
{
if (ltreeEnd.EditValue == null || flag == -1)
{
return;
}
try
{
AddressAreaModel addressArea = new AddressAreaModel();
addressArea.Add_id = ltreeEnd.EditValue.ToString();
string strAddressAreaModel = Newtonsoft.Json.JsonConvert.SerializeObject(addressArea);
string strlistAddressAreaModel = WebLockConfig.Instance.WebAddressArea.GetAddressArea(strAddressAreaModel);
List list = Newtonsoft.Json.JsonConvert.DeserializeObject>(strlistAddressAreaModel);
if (list != null && list.Count > 0)
{
if (list[0].Lev == "3")
{
transportModel.END_AREA = list[0].Add_id;
addressArea = new AddressAreaModel();
addressArea.Add_id = list[0].Add_pid;
strAddressAreaModel = Newtonsoft.Json.JsonConvert.SerializeObject(addressArea);
strlistAddressAreaModel = WebLockConfig.Instance.WebAddressArea.GetAddressArea(strAddressAreaModel);
list = Newtonsoft.Json.JsonConvert.DeserializeObject>(strlistAddressAreaModel);
if (list != null && list.Count > 0)
{
transportModel.END_CITY = list[0].Add_id;
addressArea = new AddressAreaModel();
addressArea.Add_id = list[0].Add_pid;
strAddressAreaModel = Newtonsoft.Json.JsonConvert.SerializeObject(addressArea);
strlistAddressAreaModel = WebLockConfig.Instance.WebAddressArea.GetAddressArea(strAddressAreaModel);
list = Newtonsoft.Json.JsonConvert.DeserializeObject>(strlistAddressAreaModel);
if (list != null && list.Count > 0)
{
transportModel.END_PROVINCE = list[0].Add_id;
}
}
}
else if (list[0].Lev == "2")
{
transportModel.END_CITY = list[0].Add_id;
addressArea = new AddressAreaModel();
addressArea.Add_id = list[0].Add_pid;
strAddressAreaModel = Newtonsoft.Json.JsonConvert.SerializeObject(addressArea);
strlistAddressAreaModel = WebLockConfig.Instance.WebAddressArea.GetAddressArea(strAddressAreaModel);
list = Newtonsoft.Json.JsonConvert.DeserializeObject>(strlistAddressAreaModel);
if (list != null && list.Count > 0)
{
transportModel.END_PROVINCE = list[0].Add_id;
}
}
else
{
transportModel.END_PROVINCE = list[0].Add_id;
}
}
}
catch (Exception)
{
SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
}
}
private void dicReceive_Button_Click(object sender, EventArgs e)
{
if (dicReceive.SelectTable.Rows.Count == 0)
{
return;
}
List listUser = ConvertHelper.ConvertToList(dicReceive.SelectTable);
dicReceive.TextBoxFlag = listUser[0].Customer_id;
transportModel.RECEIVE_MAN = listUser[0].Customer_id;
dicReceive.TextBoxValue = listUser[0].Customer_name;
txtReceivePhone.Text = listUser[0].Telephone;
transportModel.RECEIVE_PHONE = listUser[0].Telephone;
}
}
}