public bool 是否能组合(任务 x, 任务 y, 专家任务性质 zjrwxz) { switch (zjrwxz) { case 专家任务性质.静态优化套箱: case 专家任务性质.动态优化套箱: return(x.箱属船公司编号 == y.箱属船公司编号 && x.箱型编号 == y.箱型编号 && ((x.任务性质 == 任务性质.出口装箱 && y.任务性质 == 任务性质.进口拆箱) || (x.任务性质 == 任务性质.进口拆箱 && y.任务性质 == 任务性质.出口装箱))); case 专家任务性质.静态优化出口箱带货: case 专家任务性质.动态优化出口箱带货: return((x.任务性质 == 任务性质.出口装箱 && y.任务性质 == 任务性质.E带货) || (x.任务性质 == 任务性质.E带货 && y.任务性质 == 任务性质.出口装箱)); case 专家任务性质.静态优化进口箱带货: case 专家任务性质.动态优化进口箱带货: return((x.任务性质 == 任务性质.进口拆箱 && y.任务性质 == 任务性质.I带货) || (x.任务性质 == 任务性质.I带货 && y.任务性质 == 任务性质.进口拆箱)); case 专家任务性质.静态优化进口箱对箱: case 专家任务性质.动态优化进口箱对箱: return(x.是否小箱 && y.是否小箱 && ((x.任务性质 == 任务性质.进口拆箱 && y.任务性质 == 任务性质.出口装箱) || (y.任务性质 == 任务性质.进口拆箱 && x.任务性质 == 任务性质.出口装箱))); case 专家任务性质.静态优化出口箱对箱: case 专家任务性质.动态优化出口箱对箱: return(x.是否小箱 && y.是否小箱 && (x.任务性质 == 任务性质.出口装箱 && y.任务性质 == 任务性质.出口装箱)); case 专家任务性质.静态优化进出口对箱: case 专家任务性质.动态优化进出口对箱: return(x.是否小箱 && y.是否小箱 && (x.任务性质 == 任务性质.进口拆箱 && y.任务性质 == 任务性质.进口拆箱)); } return(false); }
internal static void 专家调度一级动态优化_DoubleClick(Xceed.Grid.Cell srcCell, 专家任务性质? zjrwxz) { if (srcCell == null) return; if (srcCell.ParentColumn.FieldName == "移出") { if (srcCell.ParentRow.Cells["新任务号"].Value != null) { Xceed.Grid.Cell srcCell2 = srcCell.ParentRow.Cells[m_topGridDragFildeName].Tag as Xceed.Grid.Cell; srcCell.ParentGrid.DataRows.Remove(srcCell.ParentRow as Xceed.Grid.DataRow); srcCell2.ParentGrid.DataRows.Remove(srcCell2.ParentRow as Xceed.Grid.DataRow); } } else if (srcCell.ParentColumn.FieldName == "确认") { // Todo if (srcCell.ParentRow.Cells["新任务号"].Value != null) return; Xceed.Grid.Cell destCell = srcCell.ParentRow.Cells[m_topGridDragFildeName].Tag as Xceed.Grid.Cell; if (destCell == null) return; 任务 x = srcCell.ParentRow.Tag as 任务; 任务 y = destCell.ParentRow.Tag as 任务; if (srcCell.ParentRow.Cells["备注"].Value != null) x.专家任务.备注 = (string)srcCell.ParentRow.Cells["备注"].Value; //紧急下达 form = new 紧急下达(x.专家任务, y, zjrwxz); //using (form) //{ // if (form.ShowDialog() == System.Windows.Forms.DialogResult.OK) // { // //专家任务 zjrw = m_dao.生成专家任务(x.专家任务, y); // srcCell.ParentRow.Cells["新任务号"].Value = form.专家任务.新任务号; // srcCell.ParentRow.Cells["新任务号"].Tag = form.专家任务; // } //} var zjrw = x.专家任务; zjrw = m_专家任务Dao.生成专家任务(zjrw, y, zjrwxz); srcCell.ParentRow.Cells["新任务号"].Value = zjrw.新任务号; srcCell.ParentRow.Cells["新任务号"].Tag = zjrw; } else if (srcCell.ParentColumn.FieldName == "紧急下达") { // do nothing now } else if (srcCell.ParentColumn.FieldName == "专家任务号") { 任务 x = srcCell.ParentRow.Tag as 任务; var zjrw = x.专家任务; if (zjrw.车辆作业 == null) return; using (var form = new 单个作业监控详情(zjrw.车辆作业)) { form.ShowDialog(); } } else if (srcCell.ParentColumn.FieldName == "车辆位置") { 任务 x = srcCell.ParentRow.Tag as 任务; var zjrw = x.专家任务; if (zjrw.车辆作业 == null) return; if (m_mapForm == null) { m_mapForm = new Feng.Map.MapForm(); m_mapForm.FormClosing += new System.Windows.Forms.FormClosingEventHandler((sender2, e2) => { if (e2.CloseReason == System.Windows.Forms.CloseReason.UserClosing) { e2.Cancel = true; m_mapForm.Visible = false; } }); } m_mapForm.ClearMap(); if (!m_mapForm.Visible) { m_mapForm.WindowState = System.Windows.Forms.FormWindowState.Maximized; m_mapForm.Show(); } if (zjrw.车辆作业.Track.HasValue) { m_mapForm.LoadTrack(zjrw.车辆作业.Track.Value); } } }
internal static void 批量确认_Click(Xceed.Grid.GridControl nowGrid, 专家任务性质? zjrwxz) { foreach (Xceed.Grid.DataRow row in nowGrid.DataRows) { bool? b = Feng.Utils.ConvertHelper.ToBoolean(row.Cells["选定2"].Value); if (b.HasValue && b.Value) { 专家调度一级动态优化_DoubleClick(row.Cells["确认"], zjrwxz); } } }
internal static void 自动优化(DataUnboundGrid gridX, DataUnboundGrid gridY, 专家任务性质 zjrwxz) { 自动优化(gridX, gridY, new List <专家任务性质> { zjrwxz }); }
// 动态调度-下达 public 紧急下达(专家任务 zjrw, 任务 rw, 专家任务性质? xz) : this(zjrw) { m_rw = rw; m_xz = xz; }
internal static void 专家调度一级静态优化_DoubleClick(Xceed.Grid.Cell srcCell, 专家任务性质? zjrwxz) { if (srcCell == null) return; if (srcCell.ParentColumn.FieldName == "移出") { if (srcCell.ParentRow.Cells["新任务号"].Value != null) { Xceed.Grid.Cell srcCell2 = srcCell.ParentRow.Cells[m_topGridDragFildeName].Tag as Xceed.Grid.Cell; srcCell.ParentGrid.DataRows.Remove(srcCell.ParentRow as Xceed.Grid.DataRow); srcCell2.ParentGrid.DataRows.Remove(srcCell2.ParentRow as Xceed.Grid.DataRow); } } else if (srcCell.ParentColumn.FieldName == "取消") { 任务 x = null, y = null; if (srcCell.ParentRow.Cells["新任务号"].Value != null) { //x = srcCell.ParentRow.Tag as 任务; return; } if (srcCell.ParentRow.Cells[m_topGridDragFildeName].Value != null) { if (srcCell.ParentRow.Cells[m_topGridDragFildeName].Tag != null) y = (srcCell.ParentRow.Cells[m_topGridDragFildeName].Tag as Xceed.Grid.Cell).ParentRow.Tag as 任务; } if (m_dao.撤销专家任务(x, y)) { if (srcCell.ParentRow.Cells[m_topGridDragFildeName].Tag != null) (srcCell.ParentRow.Cells[m_topGridDragFildeName].Tag as Xceed.Grid.Cell).ParentRow.ResetForeColor(); srcCell.ParentRow.ResetForeColor(); srcCell.ParentRow.Cells[m_topGridDragFildeName].Value = null; srcCell.ParentRow.Cells[m_topGridDragFildeName].Tag = null; srcCell.ParentRow.Cells["新任务号"].Value = null; } else { Feng.MessageForm.ShowWarning("无法移出任务!", "操作失败"); } } else if (srcCell.ParentColumn.FieldName == "确认") { if (srcCell.ParentRow.Cells["新任务号"].Value != null) return; Xceed.Grid.Cell destCell = srcCell.ParentRow.Cells[m_topGridDragFildeName].Tag as Xceed.Grid.Cell; if (destCell == null) return; 任务 x = srcCell.ParentRow.Tag as 任务; 任务 y = destCell.ParentRow.Tag as 任务; 专家任务 zjrw = null; string bz = null; if (srcCell.ParentRow.Cells["备注"].Value != null) bz = (string)srcCell.ParentRow.Cells["备注"].Value; zjrw = m_dao.生成专家任务(x, y, zjrwxz, bz); if (zjrw != null) { srcCell.ParentRow.Cells["新任务号"].Value = zjrw.新任务号; srcCell.ParentRow.Cells["新任务号"].Tag = zjrw; } } else if (srcCell.ParentColumn.FieldName == "紧急下达") { if (srcCell.ParentRow.Cells["新任务号"].Tag != null) { var zjrw = srcCell.ParentRow.Cells["新任务号"].Tag as 专家任务; if (!zjrw.下达时间.HasValue) { using (var form = new 紧急下达(zjrw)) { if (form.ShowDialog() == System.Windows.Forms.DialogResult.OK) { srcCell.ParentRow.Cells["新任务号"].Tag = form.专家任务; } } } } } }
internal static void 选择组合(DataUnboundGrid gridX, DataUnboundGrid gridY, 专家任务性质 zjrwxz) { 选择组合(gridX, gridY, new List<专家任务性质> { zjrwxz }); }