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; } } }