Example #1
0
        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);
         }
     }
 }
Example #4
0
 internal static void 自动优化(DataUnboundGrid gridX, DataUnboundGrid gridY, 专家任务性质 zjrwxz)
 {
     自动优化(gridX, gridY, new List <专家任务性质> {
         zjrwxz
     });
 }
Example #5
0
 // 动态调度-下达
 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 });
 }