BaoKai_202508-Wms-Jingwang..../WMS.FrmTR/FrmTransport.cs
2025-08-24 09:35:55 +08:00

1943 lines
79 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
{
/// <summary>
/// 窗体:运输任务
/// </summary>
public partial class FrmTransport : FormBase
{
#region
public static FrmTransport frmTransport;
private TransportModel transportModel = new TransportModel();//当前选择的运输任务
private List<TransportModel> listtransportModel = new List<TransportModel>();//运输任务集合
private List<TransportTabModel> listTransportTabModel = new List<TransportTabModel>();//运输任务明细集合
private int flag = -1;//0:增加;1:修改
#endregion
#region
/// <summary>
/// 无参构造
/// </summary>
public FrmTransport()
{
InitializeComponent();
lueState.LoadData();//状态
}
/// <summary>
/// 本窗体加载的时候
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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<AddressAreaModel> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<AddressAreaModel>>(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<DataTable>(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; }
}
/// <summary>
/// 得到与登录用户同部门的所有用户
/// </summary>
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<DataTable>(strResult);
}
else
{
SystemCommon.ShowInfoMessageBox(errText);
}
return null;
}
public static FrmTransport getInstance()
{
if (frmTransport == null || frmTransport.IsDisposed)
{
frmTransport = new FrmTransport();
}
return frmTransport;
}
#endregion
#region
/// <summary>
/// 整体绑定数据
/// </summary>
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<List<TransportModel>>(strResult);
}
else {
listtransportModel = new List<TransportModel>();
}
}
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();
}
/// <summary>
/// 绑定明细
/// </summary>
/// <param name="transportModel"></param>
public void bindTransportTab(TransportModel transportModel)
{
string errText = string.Empty;
listTransportTabModel = new List<TransportTabModel>();
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<List<TransportTabModel>>(strTransportTabList);
bsTransportTab.DataSource = listTransportTabModel;
GVTransportTab.RefreshData();
xtraTabPage2.Text = "运输任务明细-" + transportModel.TRANSPORT_ID;
}
else
{
SystemCommon.ShowInfoMessageBox(errText);
}
}
/// <summary>
/// 条件查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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);
}
/// <summary>
/// Tab页改改通用查询Model
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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; }
}
}
}
/// <summary>
/// 通用查询
/// </summary>
/// <param name="table"></param>
public override void LoadListData(DataTable table)
{
if (xtraTabControl1.SelectedTabPageIndex == 0)
{
listtransportModel = ConvertHelper<TransportModel>.ConvertToList(table);
bsTransport.DataSource = listtransportModel;
GVTransport.RefreshData();
}
else
{
listTransportTabModel = ConvertHelper<TransportTabModel>.ConvertToList(table);
bsTransportTab.DataSource = listTransportTabModel;
GVTransportTab.RefreshData();
}
}
private decimal oldPlan = 0;//改变前的值
/// <summary>
/// 计划数量改变 若未超出该库区现有数量 生成原库位 新库位改变 判断是否有原库位存在,若存在 报错
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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;
}
}
}
/// <summary>
/// 计划数量将要改变 将改变前的值记录
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
/// <summary>
/// 增加按钮
/// </summary>
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<TransportTabModel>();//清空明细
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; }
}
/// <summary>
/// 申请按钮
/// </summary>
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<TransportTabModel>();//清空明细
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; }
}
/// <summary>
/// 编辑按钮
/// </summary>
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; }
}
/// <summary>
/// 完成按钮
/// </summary>
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; }
}
/// <summary>
/// 刷新按钮
/// </summary>
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);
}
/// <summary>
/// 保存
/// </summary>
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);
}
}
}
/// <summary>
/// 作废按钮,作废一条运输任务
/// </summary>
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("您未选择运输任务");
}
}
/// <summary>
/// 删除按钮,删除一条运输任务明细
/// </summary>
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("您未选择运输任务明细");
}
}
/// <summary>
/// 清空按钮
/// </summary>
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
/// <summary>
/// 批量审核
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void Confirm()
{
xtraTabControl1.Focus();
List<TransportModel> listTransport = new List<TransportModel>();//将被审核的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
/// <summary>
/// 双击明细编辑
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void GVTransportTab_DoubleClick(object sender, EventArgs e)
{
Edit();
}
/// <summary>
/// 双击运输任务
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void GVTransport_DoubleClick(object sender, EventArgs e)
{
xtraTabControl1.SelectedTabPageIndex = 1;
}
///// <summary>
///// 备注
///// </summary>
//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
/// <summary>
/// 自定义列显示事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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 商品选择
///// <summary>
///// 商品选择
///// </summary>
///// <param name="sender"></param>
///// <param name="e"></param>
//private void ctrlDicGoods_Button_Click_1(object sender, EventArgs e)
//{
// if (ctrlDicGoods.SelectTable.Rows.Count == 0)
// {
// //SystemCommon.ShowInfoMessageBox("您未选择商品!");
// return;
// }
// //商品集合
// List<GoodsInfoModel> listGoodsInfoModel = ConvertHelper<GoodsInfoModel>.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
/// <summary>
/// 运输任务改变,显示属于它的运输任务明细、编辑区域显示它的信息改变 根据状态 判断改行是否可选中
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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; }
}
}
}
///// <summary>
///// 改单位下拉框数据源
///// </summary>
///// <param name="sender"></param>
///// <param name="e"></param>
//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<StorageAreaLocationModel> listLoc = new List<StorageAreaLocationModel>();
// 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;//当前单元格绑定控件
// }
//}
///// <summary>
///// 单位、重量单位的显示
///// </summary>
///// <param name="sender"></param>
///// <param name="e"></param>
//private void GVTransportTab_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
//{
// ///*查询单位、重量单位集合*/
// //List<DictionaryTabModel> kg_unitList = new List<DictionaryTabModel>();
// //List<DictionaryTabModel> vc_uomList = new List<DictionaryTabModel>();
// //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<List<DictionaryTabModel>>(strDataSet1);
// // vc_uomList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<DictionaryTabModel>>(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();//当前选择的商品
///// <summary>
///// 清空商品列表数据
///// </summary>
//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<List<GoodsInfoModel>>(strResult);
// //if (listGoodsInfoModel.Count > 0)
// //{
// // bsGoodsInfo.DataSource = listGoodsInfoModel;
// // GVGoodsInfo.RefreshData();
// //}
// //else
// //{
// // SystemCommon.ShowInfoMessageBox("未找到商品");
// //}
// listGoodsInfoModel = new List<GoodsInfoModel>();
// 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 库位选择
///// <summary>
///// 库位选择
///// </summary>
///// <param name="sender"></param>
///// <param name="e"></param>
//private void ctrlDicLoc_Button_Click_1(object sender, EventArgs e)
//{
// DataTable dt = ctrlDicLoc.SelectTable;
// if (dt.Rows.Count == 0)
// {
// SystemCommon.ShowInfoMessageBox("您未选择库位!");
// return;
// }
// //库位集合
// List<StorageAreaLocationModel> list = ConvertHelper<StorageAreaLocationModel>.ConvertToList(ctrlDicLoc.SelectTable);
// TransportTabModel model = listTransportTabModel[GVTransportTab.FocusedRowHandle];
// model.NEW_LOC_ID = list[0].LOCATION_ID;
// GVTransportTab.RefreshData();
// //bsTransportTab.DataSource = listTransportTabModel;
//}
//#endregion
/// <summary>
/// 打印
/// </summary>
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<DictionaryTabModel> listDictionaryTab = new List<DictionaryTabModel>();
try
{
strDataSet = WebLockConfig.Instance.DictionaryTab.GetDictionaryTab("vc_uom", ref errText);//调用Web服务读取字典明细信息
}
catch (Exception)
{
SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
}
if (errText == string.Empty)
{
listDictionaryTab = Newtonsoft.Json.JsonConvert.DeserializeObject<List<DictionaryTabModel>>(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<TransportTabModel> ls = new List<TransportTabModel>();
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<CapacityModel> listCar = ConvertHelper<CapacityModel>.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<UserDataModel>(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<UserDataModel> listUser = ConvertHelper<UserDataModel>.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<OrdersModel> listCK = ConvertHelper<OrdersModel>.ConvertToList(dicCK.SelectTable);
List<OrderDetailModel> listOD = new List<OrderDetailModel>();
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<OrderDetailModel> listO = Newtonsoft.Json.JsonConvert.DeserializeObject<List<OrderDetailModel>>(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<AddressAreaModel> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<AddressAreaModel>>(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<List<AddressAreaModel>>(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<List<AddressAreaModel>>(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<List<AddressAreaModel>>(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<AddressAreaModel> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<AddressAreaModel>>(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<List<AddressAreaModel>>(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<List<AddressAreaModel>>(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<List<AddressAreaModel>>(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<CustomerModel> listUser = ConvertHelper<CustomerModel>.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;
}
}
}