Example #1
0
        private void 实时监控异常处理_Load(object sender, EventArgs e)
        {
            m_dm = AssociateDataControlsInDisplayManager(new Control[] {
                pnl作业号, pnl车牌号, pnl任务性质, pnl货物特征, pnl时间要求, pnl起始地途经地终止地,
                pnl备注, pnl理由
            }, "实时监控_车辆作业_作业退回申请");

            StringBuilder sb = new StringBuilder();

            using (IRepository rep = ServiceProvider.GetService <IRepositoryFactory>().GenerateRepository <专家任务>())
            {
                var clzy = rep.Get <车辆作业>(m_clzy.ID);

                m_dm.SetDataBinding(new List <车辆作业> {
                    clzy
                }, string.Empty);

                foreach (var rw in clzy.专家任务.任务)
                {
                    if (sb.Length > 0)
                    {
                        sb.Append(",");
                    }
                    sb.Append(rw.货物特征);
                }
            }
            m_dm.DataControls["货物特征"].SelectedDataValue = sb.ToString();

            m_dm.DataControls["理由"].ReadOnly = false;
        }
        void TaskPane_Click(object sender, Xceed.SmartUI.SmartItemClickEventArgs e)
        {
            Xceed.SmartUI.SmartItem item = sender as Xceed.SmartUI.SmartItem;
            TaskInfo info = item.Tag as TaskInfo;

            IArchiveMasterForm   seeForm  = ServiceProvider.GetService <IApplication>().ExecuteAction(info.Action.Name) as IArchiveMasterForm;
            ArchiveOperationForm operForm = seeForm as ArchiveOperationForm;

            if (seeForm == null)
            {
                MessageForm.ShowError("未能创建目标窗体!");
                return;
            }
            switch (info.TaskType)
            {
            case TaskType.Add:
                operForm.DoAdd();
                break;

            case TaskType.Edit:
                ISearchManager smSrc;
                if (m_sms.ContainsKey(info.Name))
                {
                    smSrc = m_sms[info.Name];
                }
                else
                {
                    smSrc = ServiceProvider.GetService <IManagerFactory>().GenerateSearchManager(info.SearchManagerClassName, info.SearchManagerClassParams);
                }

                ISearchManager smDest = seeForm.DisplayManager.SearchManager;
                if (smSrc.GetType() == smDest.GetType())
                {
                    smDest.LoadData(SearchExpression.Parse(EntityHelper.ReplaceExpression(info.SearchExpression)), null);
                }
                else
                {
                    smSrc.EnablePage = false;
                    object dataSource = smSrc.GetData(SearchExpression.Parse(EntityHelper.ReplaceExpression(info.SearchExpression)), null);

                    IDisplayManager dm = seeForm.DisplayManager;
                    dm.SetDataBinding(dataSource, string.Empty);
                    dm.SearchManager.OnDataLoaded(new DataLoadedEventArgs(dataSource, 0));
                }
                break;

            default:
                throw new NotSupportedException("Invalide TaskType");
            }
        }
Example #3
0
        private void 车辆详细信息_Load(object sender, EventArgs e)
        {
            using (IRepository rep = ServiceProvider.GetService <IRepositoryFactory>().GenerateRepository <车辆作业>())
            {
                //rep.Initialize(m_cl.车主, m_cl);
                //rep.Initialize(m_cl.主驾驶员, m_cl);
                var cl = rep.Get <车辆>(m_cl.ID);
                m_dm.SetDataBinding(new List <车辆> {
                    cl
                }, string.Empty);

                //m_dm.DataControls["车主联系方式"].SelectedDataValue = m_cl.车主.联系方式;
                //m_dm.DataControls["驾驶员联系方式"].SelectedDataValue = m_cl.主驾驶员.联系方式;
            }
        }
        private void 实时监控异常处理_Load(object sender, EventArgs e)
        {
            m_dm = AssociateDataControlsInDisplayManager(new Control[] {
                pnl作业号, pnl车牌号, pnl任务性质, pnl货物特征, pnl时间要求, pnl起始地途经地终止地,
                 pnl备注,  pnl理由 }, "实时监控_车辆作业_作业退回申请");

            StringBuilder sb = new StringBuilder();
            using (IRepository rep = ServiceProvider.GetService<IRepositoryFactory>().GenerateRepository<专家任务>())
            {
                var clzy = rep.Get<车辆作业>(m_clzy.ID);

                m_dm.SetDataBinding(new List<车辆作业> { clzy }, string.Empty);

                foreach (var rw in clzy.专家任务.任务)
                {
                    if (sb.Length > 0)
                        sb.Append(",");
                    sb.Append(rw.货物特征);
                }
            }
            m_dm.DataControls["货物特征"].SelectedDataValue = sb.ToString();

            m_dm.DataControls["理由"].ReadOnly = false;
        }
        private void 实时监控异常处理_Load(object sender, EventArgs e)
        {
            m_dm = AssociateDataControlsInDisplayManager(new Control[] { pnl异常情况, pnl追加后任务性质, pnl作业号, pnl承运车辆,
                                                                         pnl任务号1, pnl任务性质1, pnl箱型1, pnl监管箱1, pnl货物特征1, pnl时间要求1, pnl起始地途经地终止地1, pnl当前位置1, pnl备注1,
                                                                         pnl任务号2, pnl任务性质2, pnl箱型2, pnl货物特征2, pnl时间要求2, pnl起始地途经地终止地2, pnl备注2,
                                                                         pnl通知驾驶员时间, pnl理由 }, "实时监控_车辆作业_动态任务追加");

            任务 rw2 = null, rw1 = null;

            using (IRepository rep = ServiceProvider.GetService <IRepositoryFactory>().GenerateRepository <车辆作业>())
            {
                var clzy = rep.Get <车辆作业>(m_clzy.ID);

                var list = rep.List <任务>("from 任务 where 任务号 = :任务号", new Dictionary <string, object> {
                    { "任务号", clzy.最新作业状态.异常参数 }
                });
                if (list.Count > 0)
                {
                    rw2 = list[0];
                }

                foreach (var i in clzy.专家任务.任务)
                {
                    if (i != rw2)
                    {
                        rw1 = i;
                        break;
                    }
                }

                m_dm.SetDataBinding(new List <车辆作业> {
                    clzy
                }, string.Empty);

                m_dm.DataControls["作业号"].SelectedDataValue     = clzy.作业号;
                m_dm.DataControls["承运车辆"].SelectedDataValue    = clzy.车辆.车牌号;
                m_dm.DataControls["异常情况"].SelectedDataValue    = clzy.最新作业状态.异常情况; // "动态任务追加";
                m_dm.DataControls["追加后任务性质"].SelectedDataValue = clzy.专家任务.任务性质;

                if (rw1 != null)
                {
                    m_dm.DataControls["任务号1"].SelectedDataValue       = rw1.任务号;
                    m_dm.DataControls["任务性质1"].SelectedDataValue      = rw1.任务性质;
                    m_dm.DataControls["箱型1"].SelectedDataValue        = rw1.箱型编号;
                    m_dm.DataControls["货物特征1"].SelectedDataValue      = rw1.货物特征;
                    m_dm.DataControls["时间要求1"].SelectedDataValue      = Helper.DateTime2String(rw1.时间要求始, rw1.时间要求止);
                    m_dm.DataControls["起始地途经地终止地1"].SelectedDataValue = Feng.Utils.NameValueControlHelper.GetMultiString("人员单位_装卸货地_全部", rw1.起始地编号 + "," + rw1.途径地编号 + "," + rw1.终止地编号);
                    m_dm.DataControls["备注1"].SelectedDataValue        = rw1.备注;

                    m_dm.DataControls["监管箱1"].SelectedDataValue  = rw1.备注;
                    m_dm.DataControls["当前位置1"].SelectedDataValue = clzy.最新作业状态.车辆位置;
                }
                if (rw2 != null)
                {
                    m_dm.DataControls["任务号2"].SelectedDataValue       = rw2.任务号;
                    m_dm.DataControls["任务性质2"].SelectedDataValue      = rw2.任务性质;
                    m_dm.DataControls["箱型2"].SelectedDataValue        = rw2.箱型编号;
                    m_dm.DataControls["货物特征2"].SelectedDataValue      = rw2.货物特征;
                    m_dm.DataControls["时间要求2"].SelectedDataValue      = Helper.DateTime2String(rw2.时间要求始, rw2.时间要求止);
                    m_dm.DataControls["起始地途经地终止地2"].SelectedDataValue = Feng.Utils.NameValueControlHelper.GetMultiString("人员单位_装卸货地_全部", rw2.起始地编号 + "," + rw2.途径地编号 + "," + rw2.终止地编号);
                    m_dm.DataControls["备注2"].SelectedDataValue        = rw2.备注;
                }

                m_dm.DataControls["通知驾驶员时间"].SelectedDataValue = DateTime.Now;
                m_dm.DataControls["通知驾驶员时间"].ReadOnly          = false;
                m_dm.DataControls["理由"].ReadOnly = false;
            }

            m_dao.处理作业异常(m_clzy, null, null, true);
        }
Example #6
0
        private void 承运时间要求详情_Load(object sender, EventArgs e)
        {
            using (IRepository rep = ServiceProvider.GetService <IRepositoryFactory>().GenerateRepository <车辆作业>())
            {
                var clzy = rep.Get <车辆作业>(m_clzy.ID);

                m_dm.SetDataBinding(new List <车辆作业> {
                    clzy
                }, string.Empty);

                var dm = m_dm;
                // dm.DataControls["箱型编号"].SelectedDataValue = clzy.专家任务.任务[0].箱型编号;

                var list = m_任务集合区.DisplayManager.SearchManager.GetData(SearchExpression.Eq("专家任务:车辆作业", clzy),
                                                                        new List <ISearchOrder> {
                    SearchOrder.Asc("任务性质")
                });

                int idx = 0;
                List <Xceed.Grid.DataRow> realTimeRows = new List <Xceed.Grid.DataRow>();
                Xceed.Grid.DataRow        row;
                foreach (var i in list)
                {
                    if (idx != 0)
                    {
                        m_任务集合区.AddSpaceDataRow();
                    }

                    row = m_任务集合区.DataRows.AddNew();
                    m_任务集合区.SetDataRowsIListData(i, row);
                    row.EndEdit();
                    row.Cells["序号"].Value = idx + 1;

                    foreach (Xceed.Grid.Cell cell in row.Cells)
                    {
                        单个作业监控详情.SetCellValueNone(cell);
                    }

                    row = m_任务集合区.DataRows.AddNew();
                    row.EndEdit();
                    realTimeRows.Add(row);
                    row.ForeColor = System.Drawing.Color.Red;

                    单个作业监控详情.SetCellValueNone(row.Cells["疏港期限"]);
                    单个作业监控详情.SetCellValueNone(row.Cells["还箱进港时间"]);

                    idx++;
                }

                FillRowsRealTimes(clzy, realTimeRows);

                switch (clzy.专家任务.任务性质)
                {
                case 专家任务性质.静态优化套箱:
                case 专家任务性质.动态优化套箱:
                    单个作业监控详情.SetCellValueNone(realTimeRows[0].Cells["装货时间"]);
                    单个作业监控详情.SetCellValueNone(realTimeRows[0].Cells["还箱进港时间"]);

                    单个作业监控详情.SetCellValueNone(realTimeRows[1].Cells["疏港期限"]);
                    单个作业监控详情.SetCellValueNone(realTimeRows[1].Cells["卸货时间"]);
                    break;

                case 专家任务性质.静态优化进口箱带货:
                case 专家任务性质.动态优化进口箱带货:
                    单个作业监控详情.SetCellValueNone(realTimeRows[0].Cells["装货时间"]);

                    单个作业监控详情.SetCellValueNone(realTimeRows[1].Cells["提箱时间"]);
                    单个作业监控详情.SetCellValueNone(realTimeRows[1].Cells["还箱进港时间"]);
                    break;

                case 专家任务性质.静态优化出口箱带货:
                case 专家任务性质.动态优化出口箱带货:
                    单个作业监控详情.SetCellValueNone(realTimeRows[0].Cells["卸货时间"]);

                    单个作业监控详情.SetCellValueNone(realTimeRows[1].Cells["疏港期限"]);
                    单个作业监控详情.SetCellValueNone(realTimeRows[1].Cells["还箱进港时间"]);
                    break;

                case 专家任务性质.静态优化进口箱对箱:
                case 专家任务性质.动态优化进口箱对箱:
                    单个作业监控详情.SetCellValueNone(realTimeRows[0].Cells["装货时间"]);

                    单个作业监控详情.SetCellValueNone(realTimeRows[1].Cells["装货时间"]);
                    break;

                case 专家任务性质.静态优化出口箱对箱:
                case 专家任务性质.动态优化出口箱对箱:
                    单个作业监控详情.SetCellValueNone(realTimeRows[0].Cells["卸货时间"]);

                    单个作业监控详情.SetCellValueNone(realTimeRows[1].Cells["卸货时间"]);
                    break;

                case 专家任务性质.静态优化进出口对箱:
                case 专家任务性质.动态优化进出口对箱:
                    单个作业监控详情.SetCellValueNone(realTimeRows[0].Cells["装货时间"]);

                    单个作业监控详情.SetCellValueNone(realTimeRows[1].Cells["卸货时间"]);
                    break;

                case 专家任务性质.无优化进口拆箱:
                    单个作业监控详情.SetCellValueNone(realTimeRows[0].Cells["装货时间"]);
                    break;

                case 专家任务性质.无优化出口装箱:
                    单个作业监控详情.SetCellValueNone(realTimeRows[0].Cells["卸货时间"]);
                    break;

                case 专家任务性质.无优化I带货:
                    break;

                case 专家任务性质.无优化E带货:
                    break;
                }
            }
        }
        private void 单个作业监控详情_Load(object sender, EventArgs e)
        {
            using (IRepository rep = ServiceProvider.GetService <IRepositoryFactory>().GenerateRepository <车辆作业>())
            {
                var clzy = rep.Get <车辆作业>(m_clzy.ID);

                m_dm.SetDataBinding(new List <车辆作业> {
                    clzy
                }, string.Empty);

                m_任务集合1.DisplayManager.SearchManager.LoadData(SearchExpression.Eq("专家任务:车辆作业", clzy),
                                                              new List <ISearchOrder> {
                    SearchOrder.Asc("任务性质")
                });
                m_任务集合1.DisplayManager.SearchManager.WaitLoadData();
                m_任务集合2.DisplayManager.SearchManager.LoadData(SearchExpression.Eq("专家任务:车辆作业", clzy),
                                                              new List <ISearchOrder> {
                    SearchOrder.Asc("任务性质")
                });
                m_任务集合2.DisplayManager.SearchManager.WaitLoadData();

                List <Xceed.Grid.DataRow> realTimeRows = new List <Xceed.Grid.DataRow>();
                foreach (Xceed.Grid.DataRow i in m_任务集合2.DataRows)
                {
                    realTimeRows.Add(i);
                }
                int currentRowIdx = 承运时间要求详情.FillRowsRealTimes(clzy, realTimeRows);

                if (clzy.最新作业状态 != null)
                {
                    Xceed.Grid.DataRow row = m_任务集合2.DataRows[currentRowIdx];
                    row.Cells["车辆位置"].Value   = clzy.最新作业状态.车辆位置;
                    row.Cells["作业状态"].Value   = clzy.最新作业状态.作业状态;
                    row.Cells["预计到达时间"].Value = clzy.最新作业状态.预计到达时间;
                    row.Cells["异常情况"].Value   = clzy.最新作业状态.异常情况;
                }

                switch (clzy.专家任务.任务性质)
                {
                case 专家任务性质.静态优化套箱:
                case 专家任务性质.动态优化套箱:
                    SetCellValueNone(m_任务集合2.DataRows[0].Cells["装货时间"]);
                    SetCellValueNone(m_任务集合2.DataRows[0].Cells["还箱进港时间"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["装货地详细地址"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["装货时间要求"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["装货联系人"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["装货联系电话"]);

                    SetCellValueNone(m_任务集合2.DataRows[1].Cells["提箱时间"]);
                    SetCellValueNone(m_任务集合2.DataRows[1].Cells["卸货时间"]);
                    SetCellValueNone(m_任务集合1.DataRows[1].Cells["卸货地详细地址"]);
                    SetCellValueNone(m_任务集合1.DataRows[1].Cells["卸货时间要求"]);
                    SetCellValueNone(m_任务集合1.DataRows[1].Cells["卸货联系人"]);
                    SetCellValueNone(m_任务集合1.DataRows[1].Cells["卸货联系电话"]);
                    break;

                case 专家任务性质.静态优化进口箱带货:
                case 专家任务性质.动态优化进口箱带货:
                    SetCellValueNone(m_任务集合2.DataRows[0].Cells["装货时间"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["装货地详细地址"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["装货时间要求"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["装货联系人"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["装货联系电话"]);

                    SetCellValueNone(m_任务集合2.DataRows[1].Cells["提箱时间"]);
                    SetCellValueNone(m_任务集合2.DataRows[1].Cells["还箱进港时间"]);
                    break;

                case 专家任务性质.静态优化出口箱带货:
                case 专家任务性质.动态优化出口箱带货:
                    SetCellValueNone(m_任务集合2.DataRows[0].Cells["卸货时间"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["卸货地详细地址"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["卸货时间要求"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["卸货联系人"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["卸货联系电话"]);

                    SetCellValueNone(m_任务集合2.DataRows[1].Cells["提箱时间"]);
                    SetCellValueNone(m_任务集合2.DataRows[1].Cells["还箱进港时间"]);
                    break;

                case 专家任务性质.静态优化进口箱对箱:
                case 专家任务性质.动态优化进口箱对箱:
                    SetCellValueNone(m_任务集合2.DataRows[0].Cells["装货时间"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["装货地详细地址"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["装货时间要求"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["装货联系人"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["装货联系电话"]);

                    SetCellValueNone(m_任务集合2.DataRows[1].Cells["装货时间"]);
                    SetCellValueNone(m_任务集合1.DataRows[1].Cells["装货地详细地址"]);
                    SetCellValueNone(m_任务集合1.DataRows[1].Cells["装货时间要求"]);
                    SetCellValueNone(m_任务集合1.DataRows[1].Cells["装货联系人"]);
                    SetCellValueNone(m_任务集合1.DataRows[1].Cells["装货联系电话"]);
                    break;

                case 专家任务性质.静态优化出口箱对箱:
                case 专家任务性质.动态优化出口箱对箱:
                    SetCellValueNone(m_任务集合2.DataRows[0].Cells["卸货时间"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["卸货地详细地址"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["卸货时间要求"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["卸货联系人"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["卸货联系电话"]);

                    SetCellValueNone(m_任务集合2.DataRows[1].Cells["卸货时间"]);
                    SetCellValueNone(m_任务集合1.DataRows[1].Cells["卸货地详细地址"]);
                    SetCellValueNone(m_任务集合1.DataRows[1].Cells["卸货时间要求"]);
                    SetCellValueNone(m_任务集合1.DataRows[1].Cells["卸货联系人"]);
                    SetCellValueNone(m_任务集合1.DataRows[1].Cells["卸货联系电话"]);
                    break;

                case 专家任务性质.静态优化进出口对箱:
                case 专家任务性质.动态优化进出口对箱:
                    SetCellValueNone(m_任务集合2.DataRows[0].Cells["装货时间"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["装货地详细地址"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["装货时间要求"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["装货联系人"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["装货联系电话"]);

                    SetCellValueNone(m_任务集合2.DataRows[1].Cells["卸货时间"]);
                    SetCellValueNone(m_任务集合1.DataRows[1].Cells["卸货地详细地址"]);
                    SetCellValueNone(m_任务集合1.DataRows[1].Cells["卸货时间要求"]);
                    SetCellValueNone(m_任务集合1.DataRows[1].Cells["卸货联系人"]);
                    SetCellValueNone(m_任务集合1.DataRows[1].Cells["卸货联系电话"]);
                    break;

                case 专家任务性质.无优化进口拆箱:
                    SetCellValueNone(m_任务集合2.DataRows[0].Cells["装货时间"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["装货地详细地址"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["装货时间要求"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["装货联系人"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["装货联系电话"]);
                    break;

                case 专家任务性质.无优化出口装箱:
                    SetCellValueNone(m_任务集合2.DataRows[0].Cells["卸货时间"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["卸货地详细地址"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["卸货时间要求"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["卸货联系人"]);
                    SetCellValueNone(m_任务集合1.DataRows[0].Cells["卸货联系电话"]);
                    break;

                case 专家任务性质.无优化I带货:
                    break;

                case 专家任务性质.无优化E带货:
                    break;
                }
            }
        }