Exemple #1
0
        internal static void  择组合(DataUnboundGrid gridX, DataUnboundGrid gridY, List <专家任务性质> zjrwxz)
        {
            Clear组合(gridX, gridY);

            if (gridX.CurrentRow == null)
            {
                return;
            }
            任务 x = gridX.CurrentRow.Tag as 任务;

            foreach (Xceed.Grid.DataRow row in gridY.DataRows)
            {
                if (row.ForeColor == 专家调度一级静态优化.优化DisableColor)
                {
                    continue;
                }

                任务 y = row.Tag as 任务;

                foreach (var i in zjrwxz)
                {
                    if (m_dao.是否能组合(x, y, i))
                    {
                        row.Font = new Font(row.Font, FontStyle.Bold);
                        break;
                    }
                }
            }
        }
Exemple #2
0
        void DisplayManager_PositionChanged(object sender, EventArgs e)
        {
            // 在内部已经Display
            //m_cm.DisplayManager.DisplayCurrent();

            // 还未完全EndEdit就开始BeginEdit,错误
            //if (m_cm.DisplayManager.CurrentItem != null)
            //{
            //    m_cm.EditCurrent();
            //}
            任务 entity = m_cmT.DisplayManagerT.CurrentEntity;

            if (entity == null)
            {
                return;
            }

            if (entity.IsActive)
            {
                btn删除.Enabled = false;
                btn修改.Enabled = false;
            }
            else
            {
                btn删除.Enabled = true;
                btn修改.Enabled = true;
            }
        }
        private void Save(SaveType saveType)
        {
            // 验证控件有效值(有些控件需移出焦点后对其他控件产生影响,如果这里不Validate,会先执行Save)
            this.ValidateChildren();

            if (m_cm.SaveCurrent())
            {
                任务 entity = m_cm.DisplayManagerT.CurrentEntity;

                switch (saveType)
                {
                case SaveType.暂存待确认:
                    任务Dao.生成预录入号(entity);
                    break;

                case SaveType.预录入发送:
                    entity.IsActive = true;
                    entity.是否拒绝     = false;
                    任务Dao.生成预录入号(entity);
                    break;

                default:
                    break;
                }
                m_cm.EndEdit(true);

                if (m_cm.State == StateType.View)
                {
                    this.DialogResult = System.Windows.Forms.DialogResult.OK;
                    //ArchiveDetailForm.UpdateStatusDataControl(m_cm, m_gridName);
                    //m_cm.DisplayManager.OnPositionChanged(System.EventArgs.Empty);
                }
            }
        }
 public static string Get相关人(IRepository rep, 车辆产值 产值, 任务 任务, 合同费用项 htfyx)
 {
     车队合同费用项 cdhtfyx = htfyx as 车队合同费用项;
     switch (cdhtfyx.费用归属)
     {
         case 费用归属.委托人:
             return 任务.委托人编号;
         case 费用归属.车主:
             return 产值.承运人编号;
         case 费用归属.驾驶员:
             return 产值.驾驶员编号;
         case 费用归属.对外:
             {
                 object entity;
                 if (任务 != null)
                 {
                     entity = 任务;
                 }
                 else
                 {
                     entity = 产值;
                 }
                 string ret = null;
                 object r = EntityScript.CalculateExpression(cdhtfyx.默认相关人, entity);
                 ret = string.IsNullOrEmpty(cdhtfyx.默认相关人) || r == null ? null : r.ToString().Replace("\"", "");
                 if (string.IsNullOrEmpty(ret))
                 {
                     ret = null;
                 }
                 return ret;
             }
         default:
             throw new ArgumentException("Invalid 费用归属!");
     }
 }
Exemple #5
0
 private static bool 撤销Validation(任务 rw, 撤销任务 cx)
 {
     switch (cx)
     {
         case 撤销任务.撤销预发送:
             if (rw.任务号 != null)
             {
                 MessageForm.ShowWarning("任务已生成任务号,无法撤销");
                 return false;
             }
             break;
         case 撤销任务.撤销备案确认:
             if (rw.专家任务 != null)
             {
                 MessageForm.ShowWarning("任务已安排专家任务,无法撤销");
                 return false;
             }
             break;
         case 撤销任务.撤销专家任务:
             if (rw.专家任务.车辆作业 != null)
             {
                 MessageForm.ShowWarning("任务的专家任务已安排车辆作业,无法撤销");
                 return false;
             }
             if (rw.专家任务.下达时间.HasValue)
             {
                 MessageForm.ShowWarning("任务的专家任务已下达,无法撤销");
                 return false;
             }
             break;
         default:
             throw new ArgumentOutOfRangeException("撤销任务 out of range");
     }
     return true;
 }
Exemple #6
0
        void 任务管理_DoubleClick(object sender, EventArgs e)
        {
            Xceed.Grid.Cell srcCell = sender as Xceed.Grid.Cell;
            if (srcCell == null)
            {
                return;
            }

            任务 rw = srcCell.ParentRow.Tag as 任务;

            if (rw != null)
            {
                if (srcCell.ParentColumn.FieldName == "撤销预发送")
                {
                    撤销任务预发送(rw);
                }
                else if (srcCell.ParentColumn.FieldName == "撤销备案确认")
                {
                    撤销任务备案确认(rw);
                }
                else if (srcCell.ParentColumn.FieldName == "撤销专家任务")
                {
                    撤销任务的专家任务(rw);
                }
            }

            btn刷新_Click(btn刷新, EventArgs.Empty);
        }
Exemple #7
0
        private static decimal?Get理论值(IRepository rep, 车辆产值 产值, 任务 任务, 合同费用项 htfyx)
        {
            decimal?d = null;

            d = (任务 != null) ? Get理论值金额(rep, htfyx, 任务) : Get理论值金额(rep, htfyx, 产值);
            return(d);
        }
 internal static bool Check任务(任务 entity)
 {
     if (entity.是否拒绝)
     {
         MessageForm.ShowWarning("此任务已经拒绝!");
         return false;
     }
     return true;
 }
Exemple #9
0
 internal static bool Check任务(任务 entity)
 {
     if (entity.是否拒绝)
     {
         MessageForm.ShowWarning("此任务已经拒绝!");
         return(false);
     }
     return(true);
 }
Exemple #10
0
        private static void 撤销任务的专家任务(任务 entity)
        {
            if (entity.专家任务 == null)
            {
                return;
            }

            if (撤销Validation(entity, 撤销任务.撤销专家任务))
            {
                m_专家任务dao.撤销专家任务(entity);
            }
        }
Exemple #11
0
        private static void 撤销任务备案确认(任务 entity)
        {
            if (entity.任务号 == null)
            {
                return;
            }

            if (撤销Validation(entity, 撤销任务.撤销备案确认))
            {
                entity.任务号 = null;
                m_任务dao.Update(entity);
            }
        }
Exemple #12
0
        private static void 撤销任务预发送(任务 entity)
        {
            if (!entity.IsActive)
            {
                return;
            }

            if (撤销Validation(entity, 撤销任务.撤销预发送))
            {
                entity.IsActive = false;
                m_任务dao.Update(entity);
            }
        }
Exemple #13
0
        internal static bool Save(IControlManager cm, SaveType saveType)
        {
            if (cm.State == StateType.Edit)
            {
                if (!cm.SaveCurrent())
                {
                    return(false);
                }
            }

            任务 entity = cm.DisplayManager.CurrentItem as 任务;

            switch (saveType)
            {
            case SaveType.正式备案确认:
                任务Dao.生成任务号(entity);
                break;

            case SaveType.拒绝确认:
                entity.是否拒绝     = true;
                entity.IsActive = false;
                entity.任务号      = null;
                break;

            default:
                break;
            }

            bool ret;

            if (cm.State == StateType.Edit)
            {
                ret = cm.EndEdit(true);
            }
            else
            {
                try
                {
                    cm.Dao.Update(entity);
                    ret = true;
                }
                catch (Exception ex)
                {
                    ExceptionProcess.ProcessWithNotify(ex);
                    ret = false;
                }
            }

            return(ret);
        }
Exemple #14
0
        private void Save(SaveType saveType)
        {
            // 验证控件有效值(有些控件需移出焦点后对其他控件产生影响,如果这里不Validate,会先执行Save)
            this.ValidateChildren();

            if (m_cm.SaveCurrent())
            {
                任务 entity = m_cm.DisplayManager.CurrentItem as 任务;

                switch (saveType)
                {
                case SaveType.正式备案确认:
                    任务Dao.生成任务号(entity);
                    break;

                case SaveType.拒绝确认:
                    entity.是否拒绝     = true;
                    entity.IsActive = false;
                    entity.任务号      = null;
                    break;

                default:
                    break;
                }
                bool ret;
                if (m_cm.State == StateType.Edit)
                {
                    ret = m_cm.EndEdit(true);
                }
                else
                {
                    try
                    {
                        m_cm.Dao.Update(entity);
                        ret = true;
                    }
                    catch (Exception ex)
                    {
                        ExceptionProcess.ProcessWithNotify(ex);
                        ret = false;
                    }
                }

                if (m_cm.State == StateType.View)
                {
                    this.DialogResult = System.Windows.Forms.DialogResult.OK;
                    //ArchiveDetailForm.UpdateStatusDataControl(m_cm, m_gridName);
                }
            }
        }
Exemple #15
0
        private void btn删除_Click(object sender, EventArgs e)
        {
            if (m_cm.DisplayManager.CurrentItem != null)
            {
                任务 entity = m_cmT.DisplayManagerT.CurrentEntity;
                if (entity.IsActive)
                {
                    MessageForm.ShowWarning("此任务已经预录入发送!");
                    return;
                }

                ArchiveOperationForm.DoDeleteS(m_cm, m_gridName);
            }
        }
Exemple #16
0
        private void btn新增任务_Click(object sender, EventArgs e)
        {
            m_cm.AddNew();
            UpdateContent(m_cm, m_gridName);

            任务 entity = m_cmT.DisplayManagerT.CurrentEntity;

            entity.任务来源     = 任务来源.手工;
            entity.IsActive = false;

            //m_cm.DisplayManager.DataControls["任务性质"].SelectedDataValue = 任务性质.进口拆箱;
            m_cm.DisplayManager.DataControls["委托时间"].SelectedDataValue    = System.DateTime.Now;
            m_cm.DisplayManager.DataControls["装货时间要求始"].SelectedDataValue = System.DateTime.Now;
            m_cm.DisplayManager.DataControls["卸货时间要求始"].SelectedDataValue = System.DateTime.Now;
        }
Exemple #17
0
        private void btn修改_Click(object sender, EventArgs e)
        {
            if (m_cm.DisplayManager.CurrentItem != null)
            {
                任务 entity = m_cmT.DisplayManagerT.CurrentEntity;
                if (!任务备案确认主界面.Check任务(entity))
                {
                    return;
                }
                ArchiveOperationForm.DoEditS(m_cm, m_gridName);
                UpdateContent(m_cm, m_gridName);

                m_cm.DisplayManager.OnSelectedDataValueChanged(new SelectedDataValueChangedEventArgs("任务性质", m_cm.DisplayManager.DataControls["任务性质"]));
            }
        }
Exemple #18
0
        private void btn修改任务_Click(object sender, EventArgs e)
        {
            if (m_cm.DisplayManager.CurrentItem != null)
            {
                任务 entity = m_cmT.DisplayManagerT.CurrentEntity;
                if (entity.IsActive)
                {
                    MessageForm.ShowWarning("此任务已经预录入发送!");
                    return;
                }
                ArchiveOperationForm.DoEditS(m_cm, m_gridName);
                UpdateContent(m_cm, m_gridName);

                m_cm.DisplayManager.OnSelectedDataValueChanged(new SelectedDataValueChangedEventArgs("任务性质", m_cm.DisplayManager.DataControls["任务性质"]));
            }
        }
Exemple #19
0
        private void btn备案确认_Click(object sender, EventArgs e)
        {
            任务 entity = m_cmT.DisplayManagerT.CurrentEntity;

            if (entity != null)
            {
                if (!任务备案确认主界面.Check任务(entity))
                {
                    return;
                }

                //为了测试方便,删除验证
                //RemoveAllValidation();
                ArchiveDetailForm.AddValidations(m_cm, m_gridName);

                Save(SaveType.正式备案确认);
            }
        }
Exemple #20
0
        internal static void 自动优化(DataUnboundGrid gridX, DataUnboundGrid gridY, List <专家任务性质> zjrwxz)
        {
            foreach (Xceed.Grid.DataRow rowX in gridY.DataRows)
            {
                foreach (Xceed.Grid.DataRow rowY in gridY.DataRows)
                {
                    任务 x = rowX.Tag as 任务;
                    任务 y = rowY.Tag as 任务;

                    foreach (var i in zjrwxz)
                    {
                        if (m_dao.是否能组合(x, y, i))
                        {
                        }
                    }
                }
            }
        }
Exemple #21
0
        private void btn拒绝_Click(object sender, EventArgs e)
        {
            任务 entity = m_cmT.DisplayManagerT.CurrentEntity;

            if (entity != null)
            {
                if (!任务备案确认主界面.Check任务(entity))
                {
                    return;
                }

                拒绝原因 jjyy = new 拒绝原因(entity);
                if (jjyy.ShowDialog() == DialogResult.OK)
                {
                    任务预备案.RemoveAllValidation(m_cm);
                    Save(SaveType.拒绝确认);
                }
            }
        }
        private void btn预录入发送_Click(object sender, EventArgs e)
        {
            任务 entity = m_cm.DisplayManagerT.CurrentEntity;

            if (entity != null)
            {
                //为了测试方便,删除验证
                //RemoveAllValidation();
                ArchiveDetailForm.AddValidations(m_cm, m_gridName);

                //if (m_cm.DisplayManager.DataControls["任务性质"].SelectedDataValue != null)
                //{
                //    任务性质 rwxz = (任务性质)m_cm.DisplayManager.DataControls["任务性质"].SelectedDataValue;
                //    if (rwxz != 任务性质.进口拆箱 && rwxz != 任务性质.出口装箱)
                //    {
                //        m_cm.RemoveValidation("箱型");
                //    }
                //}
                Save(SaveType.预录入发送);
            }
        }
Exemple #23
0
        public static string Get相关人(IRepository rep, 车辆产值 产值, 任务 任务, 合同费用项 htfyx)
        {
            车队合同费用项 cdhtfyx = htfyx as 车队合同费用项;

            switch (cdhtfyx.费用归属)
            {
            case 费用归属.委托人:
                return(任务.委托人编号);

            case 费用归属.车主:
                return(产值.承运人编号);

            case 费用归属.驾驶员:
                return(产值.驾驶员编号);

            case 费用归属.对外:
            {
                object entity;
                if (任务 != null)
                {
                    entity = 任务;
                }
                else
                {
                    entity = 产值;
                }
                string ret = null;
                object r   = EntityScript.CalculateExpression(cdhtfyx.默认相关人, entity);
                ret = string.IsNullOrEmpty(cdhtfyx.默认相关人) || r == null ? null : r.ToString().Replace("\"", "");
                if (string.IsNullOrEmpty(ret))
                {
                    ret = null;
                }
                return(ret);
            }

            default:
                throw new ArgumentException("Invalid 费用归属!");
            }
        }
        void 未优化任务_DoubleClick(object sender, EventArgs e)
        {
            Xceed.Grid.Cell srcCell = sender as Xceed.Grid.Cell;
            if (srcCell == null)
            {
                return;
            }
            srcCell.ParentRow.EndEdit();

            if (srcCell.ParentColumn.FieldName == "移出")
            {
                if (srcCell.ParentRow.ForeColor == m_disableColor)
                {
                    srcCell.ParentGrid.DataRows.Remove(srcCell.ParentRow as Xceed.Grid.DataRow);
                }
            }
            else if (srcCell.ParentColumn.FieldName == "确认")
            {
                if (srcCell.ParentRow.ForeColor == m_disableColor)
                {
                    return;
                }
                if (专家任务下达Validation(srcCell.ParentRow))
                {
                    任务 rw = srcCell.ParentRow.Tag as 任务;
                    System.Diagnostics.Debug.Assert(rw != null && rw.专家任务 == null, "未优化任务专家任务需为空");

                    //if (m_dao.下达专家任务(rw, (DateTime)srcCell.ParentRow.Cells["时间要求始"].Value,
                    //    (DateTime)srcCell.ParentRow.Cells["时间要求止"].Value, (string)srcCell.ParentRow.Cells["区域名称"].Value,
                    //    (int?)srcCell.ParentRow.Cells["缓急程度"].Value, System.DateTime.Now))
                    if (m_dao.达专家任务(rw, null,
                                    null, (string)srcCell.ParentRow.Cells["区域名称"].Value,
                                    (int?)srcCell.ParentRow.Cells["缓急程度"].Value, System.DateTime.Now))
                    {
                        srcCell.ParentRow.ForeColor = m_disableColor;
                        srcCell.ParentRow.ReadOnly  = true;
                    }
                }
            }
        }
Exemple #25
0
        void DisplayManager_PositionChanged(object sender, EventArgs e)
        {
            任务 entity = m_cmT.DisplayManagerT.CurrentEntity;

            if (entity == null)
            {
                return;
            }

            if (!string.IsNullOrEmpty(entity.任务号) || entity.是否拒绝)
            {
                btn修改.Enabled   = false;
                btn拒绝.Enabled   = false;
                btn备案确认.Enabled = false;
            }
            else
            {
                btn修改.Enabled   = true;
                btn拒绝.Enabled   = true;
                btn备案确认.Enabled = true;
            }
        }
Exemple #26
0
        private static bool 撤销Validation(任务 rw, 撤销任务 cx)
        {
            switch (cx)
            {
            case 撤销任务.撤销预发送:
                if (rw.任务号 != null)
                {
                    MessageForm.ShowWarning("任务已生成任务号,无法撤销");
                    return(false);
                }
                break;

            case 撤销任务.撤销备案确认:
                if (rw.专家任务 != null)
                {
                    MessageForm.ShowWarning("任务已安排专家任务,无法撤销");
                    return(false);
                }
                break;

            case 撤销任务.撤销专家任务:
                if (rw.专家任务.车辆作业 != null)
                {
                    MessageForm.ShowWarning("任务的专家任务已安排车辆作业,无法撤销");
                    return(false);
                }
                if (rw.专家任务.达时间.HasValue)
                {
                    MessageForm.ShowWarning("任务的专家任务已下达,无法撤销");
                    return(false);
                }
                break;

            default:
                throw new ArgumentOutOfRangeException("撤销任务 out of range");
            }
            return(true);
        }
Exemple #27
0
        private void btn备案确认_Click(object sender, EventArgs e)
        {
            任务 entity = m_cmT.DisplayManagerT.CurrentEntity;

            if (entity != null)
            {
                if (!Check任务(entity))
                {
                    return;
                }

                //为了测试方便,删除验证
                //RemoveAllValidation();
                ArchiveDetailForm.AddValidations(m_cm, m_gridName);

                bool ret = Save(SaveType.正式备案确认);
                if (ret)
                {
                    m_rightGrid.CurrentDataRow.Cells["预录入号"].ForeColor = Color.Green;
                    m_rightGrid.MoveCurrentRow(Xceed.Grid.VerticalDirection.Down, Xceed.Grid.GridSection.Current);
                }
            }
        }
Exemple #28
0
        private void btn拒绝_Click(object sender, EventArgs e)
        {
            任务 entity = m_cmT.DisplayManagerT.CurrentEntity;

            if (entity != null)
            {
                if (!Check任务(entity))
                {
                    return;
                }

                拒绝原因 jjyy = new 拒绝原因(entity);
                if (jjyy.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    任务预备案.RemoveAllValidation(m_cm);
                    bool ret = Save(SaveType.拒绝确认);
                    if (ret)
                    {
                        m_rightGrid.CurrentDataRow.Cells["预录入号"].ForeColor = Color.Red;
                        m_rightGrid.MoveCurrentRow(Xceed.Grid.VerticalDirection.Down, Xceed.Grid.GridSection.Current);
                    }
                }
            }
        }
        private void btn网上导入_Click(object sender, EventArgs e)
        {
            string tdh = (string)(pnl提单号.Controls[0] as IWindowDataControl).SelectedDataValue;
            string hc = (string)(pnl船名.Controls[0] as IWindowDataControl).SelectedDataValue;

            if (string.IsNullOrEmpty(tdh))
            {
                MessageForm.ShowWarning("请填写提单号!");
                return;
            }

            if (!string.IsNullOrEmpty(hc) && hc.Contains('/'))
            {
                hc = hc.Substring(hc.LastIndexOf('/') + 1).Trim();
            }

            IList<Hd.NetRead.集装箱数据> boxList = null;
            int piao_successCount = 0;//成功导入的票数量
            int rw_successCount = 0;//成功导入的任务数量

            ProgressForm progressForm = new ProgressForm();
            progressForm.Start(this, "网上导入");

            Feng.Async.AsyncHelper asyncHelper = new Feng.Async.AsyncHelper(
                new Feng.Async.AsyncHelper.DoWork(delegate()
                {
                    nbeportRead m_nbeportGrab = new nbeportRead();
                    m_nbeportGrab.SetLoginInfo(Feng.DBDef.Instance.TryGetValue("NetReadUserName"),
                        Feng.DBDef.Instance.TryGetValue("NetReadPassword"));

                    if (string.IsNullOrEmpty(hc))
                    {
                        boxList = m_nbeportGrab.查询集装箱数据(ImportExportType.进口集装箱, tdh);
                    }
                    else
                    {
                        boxList = m_nbeportGrab.查询集装箱数据(ImportExportType.进口集装箱, tdh, hc);
                    }

                    if (boxList != null && boxList.Count > 0)
                    {
                        AskToReplace(m_cm, "任务性质", 任务性质.进口拆箱);
                        AskToReplace(m_cm, "提单号", boxList[0].提单号);
                        AskToReplace(m_cm, "船名航次", boxList[0].船名 + "/" + boxList[0].航次);
                        piao_successCount++;

                        foreach (集装箱数据 jzx in boxList)
                        {
                            bool have = false;
                            foreach (Xceed.Grid.DataRow row in m_显示区Grid.DataRows)
                            {
                                if (row.Cells["箱号"].Value != null && row.Cells["箱号"].Value.ToString().Trim() == jzx.集装箱号.Trim())
                                {
                                    have = true;
                                    break;
                                }
                            }
                            if (!have)
                            {
                                任务 rw = new 任务();
                                rw.任务来源 = 任务来源.网上;
                                rw.任务性质 = 任务性质.进口拆箱;
                                rw.提箱点编号 = NameValueMappingCollection.Instance.FindIdFromName("人员单位_全部", jzx.堆场区).ToString();
                                rw.箱号 = jzx.集装箱号;
                                rw.船名 = jzx.船名;
                                rw.航次 =  jzx.航次;
                                m_cm2.AddNew();
                                m_cm2.DisplayManager.Items[m_cm2.DisplayManager.Position] = rw;
                                m_cm2.EndEdit();
                                rw_successCount++;
                            }
                        }
                    }
                    return null;
                }),
               new Feng.Async.AsyncHelper.WorkDone(delegate(object result)
               {
                   MessageForm.ShowInfo("成功导入 " + piao_successCount + " 票," + rw_successCount + " 条任务。");
                   progressForm.Stop();
               }));
        }
Exemple #30
0
        private void btn文件导入_Click(object sender, EventArgs e)
        {
            任务Dao dao = m_cm.Dao as 任务Dao;
            if (openFileDialog文件导入.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                IList<DataTable> dtList = Feng.Windows.Utils.ExcelHelper.ReadExcel(openFileDialog文件导入.FileName, true);
                int successCount = 0;//成功导入的任务数量

                using (IRepository rep = ServiceProvider.GetService<IRepositoryFactory>().GenerateRepository<任务>())
                {
                    try
                    {
                        rep.BeginTransaction();
                        //System.Reflection.PropertyInfo[] properties = typeof(任务).GetProperties();

                        foreach (DataTable dt in dtList)
                        {
                            if (!dt.Columns.Contains("任务性质"))
                            {
                                continue;
                            }

                            foreach (DataRow dr in dt.Rows)
                            {
                                //if (!dr.Table.Columns.Contains("提单号") || string.IsNullOrEmpty(dr["提单号"].ToString()))
                                //    continue;
                                //if (rep.List<任务>(string.Format("提单号 = {0}", dr["提单号"].ToString()), null).Count > 0)
                                //    continue;

                                任务 rw = new 任务();
                                rw.任务来源 = 任务来源.文件;
                                rw.IsActive = false;
                                rw.是否拒绝 = false;

                                rw.任务性质 = (string.IsNullOrEmpty(dr["任务性质"].ToString()) ? 任务性质.进口拆箱 : (任务性质)Enum.Parse(typeof(任务性质), dr["任务性质"].ToString(), true));
                                rw.转关箱标志 = string.IsNullOrEmpty(dr["转关箱标志"].ToString()) ? null : (转关箱标志?)Enum.Parse(typeof(转关箱标志), dr["转关箱标志"].ToString(), true);
                                rw.委托人编号 = (string)Feng.Utils.NameValueControlHelper.GetMultiValue("人员单位_全部", dr["委托人"].ToString());
                                rw.委托时间 = ConvertHelper.ToDateTime(dr["委托时间"]);
                                rw.委托联系人 = (string)Feng.Utils.NameValueControlHelper.GetMultiValue("人员单位_全部", dr["委托联系人"].ToString());
                                rw.提单号 = ConvertHelper.ToString(dr["提单号"]);
                                rw.箱号 = ConvertHelper.ToString(dr["箱号"]);
                                rw.箱型编号 = (int?)Feng.Utils.NameValueControlHelper.GetMultiValue("备案_箱型", dr["箱型"].ToString());
                                rw.船名 = ConvertHelper.ToString(dr["船名"]);
                                rw.航次 = ConvertHelper.ToString(dr["航次"]);
                                rw.箱属船公司编号 = (string)Feng.Utils.NameValueControlHelper.GetMultiValue("人员单位_全部", dr["箱属船公司"].ToString());
                                rw.货名 = ConvertHelper.ToString(dr["货物分类"]);
                                rw.货物特征 = ConvertHelper.ToString(dr["货物特征"]);
                                rw.价值 = ConvertHelper.ToDecimal(dr["价值"]);
                                rw.重量 = ConvertHelper.ToDouble(dr["重量"]);

                                if (rw.任务性质 == 任务性质.进口拆箱 || rw.任务性质 == 任务性质.出口装箱)
                                {
                                    rw.提箱点编号 = (string)Feng.Utils.NameValueControlHelper.GetMultiValue("人员单位_全部", dr["提箱点"].ToString());

                                    if (rw.任务性质 == 任务性质.进口拆箱)
                                    {
                                        rw.提箱时间要求 = ConvertHelper.ToDateTime(dr["疏港期限"]);
                                    }

                                    rw.还箱进港点编号 = (string)Feng.Utils.NameValueControlHelper.GetMultiValue("人员单位_全部", dr["还箱/进港点"].ToString());
                                    rw.还箱进港时间要求 = ConvertHelper.ToDateTime(dr["还箱/进港期限"]);
                                }

                                if (rw.任务性质 != 任务性质.进口拆箱)
                                {
                                    rw.装货地编号 = (string)Feng.Utils.NameValueControlHelper.GetMultiValue("人员单位_装卸货地", dr["装货地"].ToString());
                                    rw.装货时间要求始 = ConvertHelper.ToDateTime(dr["装货时间要求始"]);
                                    rw.装货时间要求止 = ConvertHelper.ToDateTime(dr["装货时间要求止"]);
                                    rw.装货联系人 = ConvertHelper.ToString(dr["装货联系人"]);
                                    rw.装货联系手机 = ConvertHelper.ToString(dr["装货联系电话(手机)"]);
                                    rw.装货联系座机 = ConvertHelper.ToString(dr["装货联系电话(座机)"]);
                                    rw.装货地详细地址 = ConvertHelper.ToString(dr["装货地详细地址"]);
                                }

                                if (rw.任务性质 != 任务性质.出口装箱)
                                {
                                    rw.卸货地编号 = (string)Feng.Utils.NameValueControlHelper.GetMultiValue("人员单位_装卸货地", dr["卸货地"].ToString());
                                    rw.卸货时间要求始 = ConvertHelper.ToDateTime(dr["卸货时间要求始"]);
                                    rw.卸货时间要求止 = ConvertHelper.ToDateTime(dr["卸货时间要求止"]);
                                    rw.卸货联系人 = ConvertHelper.ToString(dr["卸货联系人"]);
                                    rw.卸货联系手机 = ConvertHelper.ToString(dr["卸货联系电话(手机)"]);
                                    rw.卸货联系座机 = ConvertHelper.ToString(dr["卸货联系电话(座机)"]);
                                    rw.卸货地详细地址 = ConvertHelper.ToString(dr["卸货地详细地址"]);
                                }

                                rw.备注 = ConvertHelper.ToString(dr["备注"]);

                                //foreach (System.Reflection.PropertyInfo property in properties)
                                //{
                                //    if (dr.Table.Columns.Contains(property.Name))
                                //    {
                                //        string excelValue = dr[property.Name].ToString();
                                //        object realValue = null;
                                //        if (string.IsNullOrEmpty(excelValue))
                                //        {
                                //            continue;
                                //        }
                                //        if (property.PropertyType.Equals(typeof(任务性质)))
                                //        {
                                //            realValue = (任务性质)Enum.Parse(typeof(任务性质), excelValue.ToString(), true);
                                //        }
                                //        else if (property.PropertyType.Equals(typeof(string)))
                                //        {
                                //            realValue = excelValue.ToString();
                                //        }
                                //        else if (property.PropertyType.Equals(typeof(int)))
                                //        {
                                //            realValue = Convert.ToInt32(excelValue);
                                //        }
                                //        else if (property.PropertyType.Equals(typeof(decimal)))
                                //        {
                                //            realValue = Convert.ToDecimal(excelValue);
                                //        }
                                //        else if (property.PropertyType.Equals(typeof(double)))
                                //        {
                                //            realValue = Convert.ToDouble(excelValue);
                                //        }
                                //        else if (property.PropertyType.Equals(typeof(bool)))
                                //        {
                                //            realValue = excelValue == "是" ? true : false;
                                //            //realValue = Convert.ToBoolean(excelValue);
                                //        }
                                //        else if (property.PropertyType.Equals(typeof(DateTime)))
                                //        {
                                //            realValue = Convert.ToDateTime(excelValue);
                                //        }
                                //        property.SetValue(rw, realValue, null);
                                //    }
                                //}

                                if ((int)rw.任务性质 != 0)
                                {
                                    dao.Save(rep, rw);
                                    successCount++;
                                }
                            }
                        }
                        rep.CommitTransaction();

                        MessageForm.ShowInfo("成功导入 " + successCount + " 条任务。");
                        m_rightGrid.ReloadData();
                    }
                    catch (Exception ex)
                    {
                        rep.RollbackTransaction();
                        ExceptionProcess.ProcessWithNotify(ex);
                    }
                }
            }
        }
Exemple #31
0
 // 动态调度-下达
 public 紧急下达(专家任务 zjrw, 任务 rw, 专家任务性质? xz)
     : this(zjrw)
 {
     m_rw = rw;
     m_xz = xz;
 }
Exemple #32
0
 public 拒绝原因(任务 rw)
 {
     InitializeComponent();
     m_rw = rw;
 }
Exemple #33
0
        private static void 撤销任务的专家任务(任务 entity)
        {
            if (entity.专家任务 == null) return;

            if (撤销Validation(entity, 撤销任务.撤销专家任务))
            {
                m_专家任务dao.撤销专家任务(entity);
            }
        }
Exemple #34
0
        private static void 撤销任务预发送(任务 entity)
        {
            if (!entity.IsActive)
                return;

            if (撤销Validation(entity, 撤销任务.撤销预发送))
            {
                entity.IsActive = false;
                m_任务dao.Update(entity);
            }
        }
Exemple #35
0
        public static void 批量添加费用(ArchiveOperationForm masterForm)
        {
            IControlManager cm = masterForm.ControlManager;

            ArchiveSelectForm selectForm = new ArchiveSelectForm("批量添加业务费用");

            if (selectForm.ShowDialog() == DialogResult.OK)
            {
                ArchiveCheckForm form = selectForm.SelectedForm as ArchiveCheckForm;

                if (form != null && form.ShowDialog() == DialogResult.OK)
                {
                    foreach (object i in form.SelectedEntites)
                    {
                        业务费用 item = new 业务费用();
                        if (i is 车辆产值)
                        {
                            车辆产值 tang = i as 车辆产值;
                            item.车辆   = (i == null ? null : tang.车辆);
                            item.车辆编号 = i == null ? null : (Guid?)tang.车辆编号;
                            item.费用实体 = tang;
                            item.车辆产值 = tang;
                        }
                        else if (i is 任务)
                        {
                            任务 xiang = i as 任务;

                            // it must have piao
                            //item.车辆产值 = xiang.车辆产值;
                            item.任务   = (i == null ? null : xiang);
                            item.车辆   = (i == null ? null : xiang.车辆产值.车辆);
                            item.车辆编号 = i == null ? null : (Guid?)xiang.车辆产值.车辆编号;
                            item.费用实体 = xiang.车辆产值;// new 车辆产值 { ID = item.车辆产值.ID, Version = item.车辆产值.Version };
                            item.车辆产值 = xiang.车辆产值;
                        }
                        else
                        {
                            System.Diagnostics.Debug.Assert(false, "选中的费用实体类型不是要求类型,而是" + i.GetType().ToString());
                        }

                        object entity = cm.AddNew();
                        if (entity != null)
                        {
                            cm.DisplayManager.Items[cm.DisplayManager.Position] = item;
                            cm.EndEdit();
                        }
                        else
                        {
                            // 出现错误,不再继续。 AddNew的时候,前一个出现错误,没保存。然后提示时候保存,选不继续
                            masterForm.ControlManager.CancelEdit();
                            break;
                        }

                        //bool isPiao = (i is 普通票);
                        //string filter = "现有费用实体类型 LIKE '%" + (int)item.票.费用实体类型;
                        //if (isPiao)
                        //{
                        //    filter += ",%' AND 票 = " + isPiao;
                        //}
                        //else
                        //{
                        //    filter += ",%' AND 箱 = " + !isPiao;
                        //}
                        //masterForm.ActiveGrid.CurrentDataRow.Cells["费用项编号"].CellEditorManager = ControlDataLoad.GetGridComboEditor("费用项_业务", filter);
                    }
                }
            }
        }
Exemple #36
0
        private static void 撤销任务备案确认(任务 entity)
        {
            if (entity.任务号 == null)
                return;

            if (撤销Validation(entity, 撤销任务.撤销备案确认))
            {
                entity.任务号 = null;
                m_任务dao.Update(entity);
            }
        }
        private void btn网上委托任务_Click(object sender, EventArgs e)
        {
            using (IRepository rep = ServiceProvider.GetService<IRepositoryFactory>().GenerateRepository<网上委托任务>())
            {
                IList<网上委托任务> wswtrwList = rep.List<网上委托任务>("from 网上委托任务 where 是否受理 = 'false'", null);

                if (wswtrwList != null && wswtrwList.Count > 0)
                {
                    int successCount = 0;//成功导入的任务数量
                    foreach (网上委托任务 wswtrw in wswtrwList)
                    {
                        using (IRepository rep1 = ServiceProvider.GetService<IRepositoryFactory>().GenerateRepository<任务>())
                        {
                            try
                            {
                                rep1.BeginTransaction();
                                任务 rw = new 任务();
                                rw.任务来源 = 任务来源.网上;
                                rw.IsActive = true;
                                rw.备注 = wswtrw.备注;
                                rw.船名 = wswtrw.船名;
                                rw.航次 = wswtrw.航次;
                                rw.封志号 = wswtrw.封志号;
                                rw.还箱进港点编号 = wswtrw.还箱进港点编号;
                                rw.还箱进港时间要求 = wswtrw.还箱进港时间要求;
                                rw.货名 = wswtrw.货名;
                                rw.货物特征 = wswtrw.货物特征;
                                rw.价值 = wswtrw.价值;
                                rw.提单号 = wswtrw.提单号;
                                rw.任务性质 = wswtrw.任务性质;
                                rw.是否小箱 = wswtrw.是否小箱;
                                rw.提示性箱号 = wswtrw.提示性箱号;
                                rw.提箱点编号 = wswtrw.提箱点编号;
                                rw.提箱时间要求 = wswtrw.提箱时间要求;
                                rw.委托联系人 = wswtrw.委托联系人;
                                rw.委托人编号 = wswtrw.委托人编号;
                                rw.委托时间 = wswtrw.委托时间;
                                rw.箱号 = wswtrw.箱号;
                                rw.箱属船公司编号 = wswtrw.箱属船公司编号;
                                rw.箱型编号 = wswtrw.箱型编号;
                                rw.卸货地编号 = wswtrw.卸货地编号;
                                rw.卸货联系手机 = wswtrw.卸货联系手机;
                                rw.卸货联系座机 = wswtrw.卸货联系座机;
                                rw.卸货联系人 = wswtrw.卸货联系人;
                                rw.卸货时间要求始 = wswtrw.卸货时间要求始;
                                rw.卸货时间要求止 = wswtrw.卸货时间要求止;
                                rw.重量 = wswtrw.重量;
                                rw.转关箱标志 = wswtrw.转关箱标志;
                                rw.装货地编号 = wswtrw.装货地编号;
                                rw.装货联系手机 = wswtrw.装货联系手机;
                                rw.装货联系座机 = wswtrw.装货联系座机;
                                rw.装货联系人 = wswtrw.装货联系人;
                                rw.装货时间要求始 = wswtrw.装货时间要求始;
                                rw.装货时间要求止 = wswtrw.装货时间要求止;
                                m_dao.Save(rep1, rw);
                                rep1.CommitTransaction();

                                rep.BeginTransaction();
                                wswtrw.是否受理 = true;
                                rep.Update(wswtrw);
                                rep.CommitTransaction();
                                successCount++;
                            }
                            catch (Exception ex)
                            {
                                rep1.RollbackTransaction();
                                rep.RollbackTransaction();
                                if (MessageForm.ShowYesNo("网上委托任务\"" + wswtrw.ID + "\"有备案错误。" + Environment.NewLine + "\"是\"跳过任务,\"否\"显示错误"))
                                {
                                    continue;
                                }
                                else
                                {
                                    ServiceProvider.GetService<IExceptionProcess>().ProcessWithNotify(ex);
                                }
                            }
                        }
                    }
                    m_rightGrid.ReloadData();
                    MessageForm.ShowInfo("成功导入 " + successCount + " 条任务。");
                }
            }
        }
        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);
        }
        private void btn网上委托任务_Click(object sender, EventArgs e)
        {
            using (IRepository rep = ServiceProvider.GetService <IRepositoryFactory>().GenerateRepository <网上委托任务>())
            {
                IList <网上委托任务> wswtrwList = rep.List <网上委托任务>("from 网上委托任务 where 是否受理 = 'false'", null);

                if (wswtrwList != null && wswtrwList.Count > 0)
                {
                    int successCount = 0;//成功导入的任务数量
                    foreach (网上委托任务 wswtrw in wswtrwList)
                    {
                        using (IRepository rep1 = ServiceProvider.GetService <IRepositoryFactory>().GenerateRepository <任务>())
                        {
                            try
                            {
                                rep1.BeginTransaction();
                                任务 rw = new 任务();
                                rw.任务来源     = 任务来源.网上;
                                rw.IsActive = true;
                                rw.备注       = wswtrw.备注;
                                rw.船名       = wswtrw.船名;
                                rw.航次       = wswtrw.航次;
                                rw.封志号      = wswtrw.封志号;
                                rw.还箱进港点编号  = wswtrw.还箱进港点编号;
                                rw.还箱进港时间要求 = wswtrw.还箱进港时间要求;
                                rw.货名       = wswtrw.货名;
                                rw.货物特征     = wswtrw.货物特征;
                                rw.价值       = wswtrw.价值;
                                rw.提单号      = wswtrw.提单号;
                                rw.任务性质     = wswtrw.任务性质;
                                rw.是否小箱     = wswtrw.是否小箱;
                                rw.提示性箱号    = wswtrw.提示性箱号;
                                rw.提箱点编号    = wswtrw.提箱点编号;
                                rw.提箱时间要求   = wswtrw.提箱时间要求;
                                rw.委托联系人    = wswtrw.委托联系人;
                                rw.委托人编号    = wswtrw.委托人编号;
                                rw.委托时间     = wswtrw.委托时间;
                                rw.箱号       = wswtrw.箱号;
                                rw.箱属船公司编号  = wswtrw.箱属船公司编号;
                                rw.箱型编号     = wswtrw.箱型编号;
                                rw.卸货地编号    = wswtrw.卸货地编号;
                                rw.卸货联系手机   = wswtrw.卸货联系手机;
                                rw.卸货联系座机   = wswtrw.卸货联系座机;
                                rw.卸货联系人    = wswtrw.卸货联系人;
                                rw.卸货时间要求始  = wswtrw.卸货时间要求始;
                                rw.卸货时间要求止  = wswtrw.卸货时间要求止;
                                rw.重量       = wswtrw.重量;
                                rw.转关箱标志    = wswtrw.转关箱标志;
                                rw.装货地编号    = wswtrw.装货地编号;
                                rw.装货联系手机   = wswtrw.装货联系手机;
                                rw.装货联系座机   = wswtrw.装货联系座机;
                                rw.装货联系人    = wswtrw.装货联系人;
                                rw.装货时间要求始  = wswtrw.装货时间要求始;
                                rw.装货时间要求止  = wswtrw.装货时间要求止;
                                m_dao.Save(rep1, rw);
                                rep1.CommitTransaction();

                                rep.BeginTransaction();
                                wswtrw.是否受理 = true;
                                rep.Update(wswtrw);
                                rep.CommitTransaction();
                                successCount++;
                            }
                            catch (Exception ex)
                            {
                                rep1.RollbackTransaction();
                                rep.RollbackTransaction();
                                if (MessageForm.ShowYesNo("网上委托任务\"" + wswtrw.ID + "\"有备案错误。" + Environment.NewLine + "\"是\"跳过任务,\"否\"显示错误"))
                                {
                                    continue;
                                }
                                else
                                {
                                    ServiceProvider.GetService <IExceptionProcess>().ProcessWithNotify(ex);
                                }
                            }
                        }
                    }
                    m_rightGrid.ReloadData();
                    MessageForm.ShowInfo("成功导入 " + successCount + " 条任务。");
                }
            }
        }
        private static void GenerateFy(IRepository rep, 车辆产值 产值, 任务 任务, 车队合同费用项 htfyx, IList<业务费用理论值> llzs, bool mustGenerateFy)
        {
            string 相关人 = Get相关人(rep, 产值, 任务, htfyx);
            decimal? 金额 = Get理论值(rep, 产值, 任务, htfyx);
            if (金额.HasValue && 金额.Value == decimal.MinValue)
            {
                return;
            }

            bool llrHaveGenerated = false;
            foreach (业务费用理论值 i in llzs)
            {
                bool b = i.费用项编号 == htfyx.费用项编号
                    && i.相关人编号 == 相关人;
                if (b && 任务 != null)
                {
                    b &= i.任务ID == 任务.ID;
                }
                if (b)
                {
                    llrHaveGenerated = true;
                    break;
                }
            }

            业务费用理论值 ywfylrz = null;
            if (!llrHaveGenerated)
            {
                if (金额.HasValue)
                {
                    ywfylrz = new 业务费用理论值();
                    ywfylrz.费用实体 = 产值;
                    ywfylrz.费用项编号 = htfyx.费用项编号;
                    ywfylrz.票 = 产值;
                    ywfylrz.收付标志 = htfyx.收付标志;
                    ywfylrz.相关人编号 = Get相关人(rep, 产值, 任务, htfyx);
                    ywfylrz.车辆编号 = 产值.车辆编号;
                    ywfylrz.费用归属 = (htfyx as 车队合同费用项).费用归属;
                    //ywfylrz.金额 = 金额.Value;
                    ProcessFywithSl(ywfylrz, 金额.Value);

                    if (任务 != null)
                    {
                        ywfylrz.任务 = 任务;
                        ywfylrz.任务ID = 任务.ID;
                    }

                    (new HdBaseDao<业务费用理论值>()).Save(rep, ywfylrz);
                    llzs.Add(ywfylrz);
                }
            }

            if (htfyx.是否生成实际费用)
            {
                bool generateFy = false;
                // 在外层,判断理论值是否生成过
                if (!mustGenerateFy)
                {
                    if (htfyx.是否空值全部生成)
                    {
                        // 金额为Null的时候判断时候生成过,没生成过也要生成
                        if (!金额.HasValue)
                        {
                            bool fyHaveGenerated = false;
                            foreach (业务费用 i in 产值.费用)
                            {
                                bool b = i.费用项编号 == htfyx.费用项编号
                                   && i.费用归属 == htfyx.费用归属;
                                if (b && 任务 != null)
                                {
                                    b &= i.任务.ID == 任务.ID;
                                }
                                if (b)
                                {
                                    fyHaveGenerated = true;
                                    break;
                                }
                            }
                            generateFy = !fyHaveGenerated;
                        }
                    }

                    if (!generateFy)
                    {
                        // 只有理论值未生成过,且有理论值的情况下,准备生成费用
                        if (!llrHaveGenerated && ywfylrz != null)
                        {
                            // 如果理论值未生成过,要检查是否要生成费用
                            bool fyHaveGenerated = false;
                            foreach (业务费用 i in 产值.费用)
                            {
                                bool b = i.费用项编号 == htfyx.费用项编号
                                   && i.费用归属 == htfyx.费用归属;
                                if (b && 任务 != null)
                                {
                                    b &= i.任务.ID == 任务.ID;
                                }
                                if (b)
                                {
                                    fyHaveGenerated = true;
                                    break;
                                }
                            }
                            generateFy = !fyHaveGenerated;
                        }
                        else
                        {
                            generateFy = false;
                        }
                    }
                }
                else
                {
                    generateFy = true;
                }

                if (generateFy)
                {
                    bool fylbSubmitted = false;

                    IList<费用信息> list = (rep as Feng.NH.INHibernateRepository).List<费用信息>(NHibernate.Criterion.DetachedCriteria.For<费用信息>()
                        .Add(NHibernate.Criterion.Expression.Eq("费用项编号", htfyx.费用项编号))
                        .Add(NHibernate.Criterion.Expression.Eq("车辆产值.ID", 产值.ID)));
                    System.Diagnostics.Debug.Assert(list.Count <= 1);
                    if (list.Count == 1)
                    {
                        if (htfyx.收付标志 == 收付标志.收)
                        {
                            fylbSubmitted = list[0].Submitted;
                        }
                        else
                        {
                            fylbSubmitted = list[0].完全标志付;
                        }
                    }

                    // 完全标志还未打
                    if (!fylbSubmitted)
                    {
                        // 不生成理论值为0的
                        if (!金额.HasValue || (金额.HasValue && 金额.Value != 0))
                        {
                            业务费用 item = new 业务费用();
                            item.费用实体 = 产值;
                            item.车辆产值 = 产值;
                            item.费用项编号 = htfyx.费用项编号;

                            item.收付标志 = htfyx.收付标志;
                            item.相关人编号 = 相关人;
                            item.车辆编号 = 产值.车辆编号;
                            item.费用归属 = (htfyx as 车队合同费用项).费用归属;
                            //item.金额 = 金额;
                            if (金额 != null)
                            {
                                ProcessFywithSl(item, 金额.Value);
                            }
                            else
                            {
                                item.金额 = 金额;
                            }
                            if (任务 != null)
                            {
                                item.任务 = 任务;
                            }

                            (new 业务费用Dao()).Save(rep, item);

                            产值.费用.Add(item);
                        }
                    }
                }
            }
        }
 private static decimal? Get理论值(IRepository rep, 车辆产值 产值, 任务 任务, 合同费用项 htfyx)
 {
     decimal? d = null;
     d = (任务 != null) ? Get理论值金额(rep, htfyx, 任务) : Get理论值金额(rep, htfyx, 产值);
     return d;
 }
Exemple #42
0
 public 拒绝原因(任务 rw)
 {
     InitializeComponent();
     m_rw = rw;
 }
Exemple #43
0
        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.专家任务;
                            }
                        }
                    }
                }
            }
        }