using DevComponents.DotNetBar.Layout; using DevComponents.DotNetBar.SuperGrid; using System; using System.Collections.Generic; using System.Data; using System.Windows.Forms; using WCS.Data.Models; using WCS_Client.UC; using WCS_Client.Utility; namespace WCS_Client.Frm { public partial class FrmWCS_Task : Form { private int wcs_task_no = 0; public FrmWCS_Task() { InitializeComponent(); InitFrm(); } private void InitFrm() { List GCList = new List() { SuperGridUtil.Get_GridColumn("ID", "任务ID号", 80), SuperGridUtil.Get_GridColumn("WMSTASK", "WMS任务号", 80), SuperGridUtil.Get_GridColumn("task_comtypech", "任务类型", 80), SuperGridUtil.Get_GridColumn("task_wkstatusch", "任务状态", 100), SuperGridUtil.Get_GridColumn("BARCODE", "条码", 160), SuperGridUtil.Get_GridColumn("ADDRFROM", "起始地址", 100), SuperGridUtil.Get_GridColumn("ADDRCURRENT", "当前地址", 80), SuperGridUtil.Get_GridColumn("ADDRNEXT", "下个地址", 80), SuperGridUtil.Get_GridColumn("ADDRTO", "目的地址", 100), SuperGridUtil.Get_GridColumn("ADDRline", "目标产线", 100), SuperGridUtil.Get_GridColumn("DEVICE", "堆垛机编号", 80), SuperGridUtil.Get_GridColumn("TUNNEL", "巷道", 70), SuperGridUtil.Get_GridColumn("Priority", "优先级", 60), SuperGridUtil.Get_GridColumn("PALLETTYPE", "托盘类型", 80), //SuperGridUtil.Get_GridColumn("TASK_RGVNO", "RGV编号", 70), SuperGridUtil.Get_GridColumn("GROUPTASK", "分组编号", 80), SuperGridUtil.Get_GridColumn("AgvTask", "AGV任务号", 100), SuperGridUtil.Get_GridColumn("TASK_ADDUSERNO", "创建用户", 100), SuperGridUtil.Get_Datetime_GridColumn("CREATETIME", "创建时间", 130), SuperGridUtil.Get_Datetime_GridColumn("STARTTIME", "开始时间", 130), SuperGridUtil.Get_Datetime_GridColumn("ENDTIME", "结束时间", 130), SuperGridUtil.Get_GridColumn("UPDATEUSER", "修改用户", 100), SuperGridUtil.Get_Datetime_GridColumn("UPDATETIME", "修改时间", 130), SuperGridUtil.Get_GridColumn("PRODLINE", "产线", 100), SuperGridUtil.Get_GridColumn("SRMSTATION", "站台号", 100), // SuperGridUtil.Get_GridColumn("SonTrayColorNo", "子托盘颜色", 100), // SuperGridUtil.Get_GridColumn("TASK_WEIGHT", "箱子重量", 100), //SuperGridUtil.Get_GridColumn("TASK_STACKINGTYPE", "垛型", 100) //SuperGridUtil.Get_CheckBoxX_GridColumn("Task_IsInventory", "是否盘点任务", 80), //SuperGridUtil.Get_CheckBoxX_GridColumn("Task_IsEmptyBox", "是否空箱", 80), }; List LCIList = new List(); LCIList.Add(LCItemUtil.Add_TextboxX("ID", "WCS任务号:", 20, SubmitMethods, null)); LCIList[LCIList.Count - 1].Tag = new LCWhereInfo() { QWhereText = "t.ID like '%{0}%'" }; LCIList.Add(LCItemUtil.Add_TextboxX("WMSTASK", "WMS任务号:", 20, SubmitMethods, null)); LCIList[LCIList.Count - 1].Tag = new LCWhereInfo() { QWhereText = "WMSTASK like '%{0}%'" }; LCIList.Add(LCItemUtil.Add_TextboxX("BARCODE", "条码:", 20, SubmitMethods, null)); LCIList[LCIList.Count - 1].Tag = new LCWhereInfo() { QWhereText = "BARCODE like '%{0}%'" }; LCIList.Add(LCItemUtil.Add_TextboxX("ADDRFROM", "起始地址:", 20, SubmitMethods, null)); LCIList[LCIList.Count - 1].Tag = new LCWhereInfo() { QWhereText = "ADDRFROM like '%{0}%'" }; LCIList.Add(LCItemUtil.Add_TextboxX("ADDRCURRENT", "当前地址:", 20, SubmitMethods, null)); LCIList[LCIList.Count - 1].Tag = new LCWhereInfo() { QWhereText = "ADDRCURRENT like '%{0}%'" }; LCIList.Add(LCItemUtil.Add_TextboxX("ADDRNEXT", "下个地址:", 20, SubmitMethods, null)); LCIList[LCIList.Count - 1].Tag = new LCWhereInfo() { QWhereText = "ADDRNEXT like '%{0}%'" }; LCIList.Add(LCItemUtil.Add_TextboxX("ADDRTO", "目的地址:", 20, SubmitMethods, null)); LCIList[LCIList.Count - 1].Tag = new LCWhereInfo() { QWhereText = "ADDRTO like '%{0}%'" }; LCIList.Add(LCItemUtil.Add_TextboxX("Position", "目标产线:", 20, SubmitMethods, null)); LCIList[LCIList.Count - 1].Tag = new LCWhereInfo() { QWhereText = "Position like '%{0}%'" }; LCIList.Add(LCItemUtil.Add_TextboxX("DEVICE", "堆垛机编号:", 20, SubmitMethods, null)); LCIList[LCIList.Count - 1].Tag = new LCWhereInfo() { QWhereText = "DEVICE like '%{0}%'" }; LCIList.Add(LCItemUtil.Add_ComboBoxEx("TYPE", "任务类型:", 20, null, SubmitMethods)); TryCachHelper.TryExecute((db) => { var dtsex = db.Queryable().Where(v => v.MEP_MAPPINGTYPE == "TYPE").ToList(); DataTable dt = new DataTable(); DataRow dr; dt.Columns.Add("MEP_MAPPINGNO"); dt.Columns.Add("MEP_MAPPINGCHNAME"); for (int i = 0; i < dtsex.Count; i++) { dr = dt.NewRow(); dr["MEP_MAPPINGNO"] = dtsex[i].MEP_MAPPINGNO; dr["MEP_MAPPINGCHNAME"] = dtsex[i].MEP_MAPPINGCHNAME; dt.Rows.Add(dr); } LCItemUtil.Refresh_LCItem(LCIList[LCIList.Count - 1], dt, "MEP_MAPPINGNO", "MEP_MAPPINGCHNAME"); LCIList[LCIList.Count - 1].Tag = new LCWhereInfo() { QWhereText = "t.TYPE like '%{0}%'" }; }); LCIList.Add(LCItemUtil.Add_ComboBoxEx("STATUS", "任务状态:", 20, null, SubmitMethods)); TryCachHelper.TryExecute((db) => { var dtsex = db.Queryable().Where(v => v.MEP_MAPPINGTYPE == "STATUS").ToList(); DataTable dt = new DataTable(); DataRow dr; dt.Columns.Add("MEP_MAPPINGNO"); dt.Columns.Add("MEP_MAPPINGCHNAME"); for (int i = 0; i < dtsex.Count; i++) { dr = dt.NewRow(); dr["MEP_MAPPINGNO"] = dtsex[i].MEP_MAPPINGNO; dr["MEP_MAPPINGCHNAME"] = dtsex[i].MEP_MAPPINGCHNAME; dt.Rows.Add(dr); } LCItemUtil.Refresh_LCItem(LCIList[LCIList.Count - 1], dt, "MEP_MAPPINGNO", "MEP_MAPPINGCHNAME"); LCIList[LCIList.Count - 1].Tag = new LCWhereInfo() { QWhereText = "t.STATUS like '%{0}%'" }; }); LCIList.Add(LCItemUtil.Add_ButtonX("btn_QDB", "查询", 100, 30, SubmitMethods)); LCIList.Add(LCItemUtil.Add_ButtonX("btn_QClear", "重置", 100, 30, SubmitMethods)); if (CurrentHelper.User.Use_RoleId == 1) { LCIList.Add(LCItemUtil.Add_ButtonX("btn_FinishTask", "手动完成任务", 100, 30, SubmitMethods)); LCIList.Add(LCItemUtil.Add_ButtonX("btn_ClearTask", "取消任务", 100, 30, SubmitMethods)); LCIList.Add(LCItemUtil.Add_ButtonX("btn_UpdatePriority", "修改优先级", 100, 30, SubmitMethods)); LCIList.Add(LCItemUtil.Add_ButtonX("btn_RestartTask", "重新下发出库任务", 200, 30, SubmitMethods)); } uC_QueryPage1.Init_QueryPage(86, true, true, "", GCList, LCIList, QueryPageDataMethods, RefreshRoleMethods, null, null, ClikMethod); uC_QueryPage1.ClearLCItemValue(); CommonShow.ShowProcessing("正在处理中,请稍候...", this, (obj) => { uC_QueryPage1.RefreshData(1, 0); }, null); } //获取数据集 private PageData QueryPageDataMethods(int PageIndex, int PageSize) { string _SQLText = @"select t.*,m.MEP_MAPPINGCHNAME task_comtypech,me.MEP_MAPPINGCHNAME task_wkstatusch,Position from dbo.WCS_TASK t left join WCS_MAPPINGENTRY m on t.TYPE = m.MEP_MAPPINGNO and m.MEP_MAPPINGTYPE = 'TYPE' left join WCS_MAPPINGENTRY me on t.STATUS = me.MEP_MAPPINGNO and me.MEP_MAPPINGTYPE = 'STATUS' left join WCS_AGVTask agv on agv.ID=t.AgvTask where 1=1 and t.STATUS < 99 "; string _Orderby = "CREATETIME desc "; PageData pd = BaseWorkflow.QueryPageData(_SQLText, _Orderby, uC_QueryPage1.GetQueryWhere(), PageIndex, PageSize); return pd; } /// /// 按钮触发事件 /// /// private void SubmitMethods(string LCName) { if (LCName == "btn_QDB") { uC_QueryPage1.RefreshData(); } else if (LCName == "btn_RestartTask") { DataTable dt = this.uC_QueryPage1.SCGrid_GetChkRows(); if (dt == null || dt.Rows.Count == 0) { MessageUtil.ShowTips("请选择任务。"); return; } int task_no = Convert.ToInt32(dt.Rows[0]["ID"].ToString()); var result = MessageUtil.ShowYesNoAndWarning(string.Format("任务[{0}]确定要重下出库任务吗(请谨慎操作)?", task_no)); if (result == DialogResult.Yes) { string msg = BaseWorkflow.RestartTask(task_no); MessageUtil.ShowTips(msg); uC_QueryPage1.RefreshData(1, 0); } } else if (LCName == "btn_FinishTask") { DataTable dt = this.uC_QueryPage1.SCGrid_GetChkRows(); if (dt == null || dt.Rows.Count == 0) { MessageUtil.ShowTips("请选择任务。"); return; } int task_no = Convert.ToInt32(dt.Rows[0]["ID"].ToString()); var result = MessageUtil.ShowYesNoAndWarning(string.Format("任务[{0}]确定要[手动完成任务]吗(请谨慎操作)?", task_no)); if (result == DialogResult.Yes) { string msg = BaseWorkflow.FinishTask(task_no); MessageUtil.ShowTips(msg); uC_QueryPage1.RefreshData(1, 0); } } else if (LCName == "btn_ClearTask") { DataTable dt = this.uC_QueryPage1.SCGrid_GetChkRows(); if (dt == null || dt.Rows.Count == 0) { MessageUtil.ShowTips("请选择任务。"); return; } int task_no = Convert.ToInt32(dt.Rows[0]["ID"].ToString()); var result = MessageUtil.ShowYesNoAndWarning(string.Format("任务[{0}]确定要[取消任务]吗(请谨慎操作)?", task_no)); if (result == DialogResult.Yes) { string msg = BaseWorkflow.ClearTask(task_no); MessageUtil.ShowTips(msg); uC_QueryPage1.RefreshData(1, 0); } } else if (LCName == "btn_QClear") { uC_QueryPage1.ShowOpaqueLayer(); uC_QueryPage1.ClearLCItemValue(); uC_QueryPage1.RefreshData(1, 0); uC_QueryPage1.HideOpaqueLayer(); } else if (LCName == "btn_CreateProInTask") { //FrmCreateTask frm = new FrmCreateTask(); //frm.ShowDialog(); uC_QueryPage1.RefreshData(1, 0); } else if (LCName == "btn_UpdateEndAddress") { DataTable dt = this.uC_QueryPage1.SCGrid_GetChkRows(); if (dt == null || dt.Rows.Count == 0) { MessageUtil.ShowTips("请选择任务。"); return; } DataRow dr = dt.Rows[0]; string comtypech = dt.Rows[0]["task_comtypech"].ToString(); if (comtypech.Contains("入库")) { var frmUpdateEndAddress = new FrmUpdateEndAddress(dr); frmUpdateEndAddress.ShowDialog(); } else { MessageUtil.ShowTips("只有入库任务能变更目标地址。"); } } else if (LCName == "btn_UpdatePriority") { DataTable dt = this.uC_QueryPage1.SCGrid_GetChkRows(); if (dt == null || dt.Rows.Count == 0) { MessageUtil.ShowTips("请选择任务。"); return; } DataRow dr = dt.Rows[0]; var frmUpdatePriority = new FrmUpdatePriority(dr); frmUpdatePriority.ShowDialog(); uC_QueryPage1.RefreshData(1, 0); } } private void RefreshRoleMethods(bool ChkValue) { //if (AppConst.CheckExtentByName("查询任务")) // } private void ClikMethod(DataRow dr) { } } }