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; } } } }
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 费用归属!"); } }
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; }
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); }
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; }
internal static bool Check任务(任务 entity) { if (entity.是否拒绝) { MessageForm.ShowWarning("此任务已经拒绝!"); return(false); } return(true); }
private static void 撤销任务的专家任务(任务 entity) { if (entity.专家任务 == null) { return; } if (撤销Validation(entity, 撤销任务.撤销专家任务)) { m_专家任务dao.撤销专家任务(entity); } }
private static void 撤销任务备案确认(任务 entity) { if (entity.任务号 == null) { return; } if (撤销Validation(entity, 撤销任务.撤销备案确认)) { entity.任务号 = null; m_任务dao.Update(entity); } }
private static void 撤销任务预发送(任务 entity) { if (!entity.IsActive) { return; } if (撤销Validation(entity, 撤销任务.撤销预发送)) { entity.IsActive = false; m_任务dao.Update(entity); } }
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); }
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); } } }
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); } }
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; }
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["任务性质"])); } }
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["任务性质"])); } }
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.正式备案确认); } }
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)) { } } } } }
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.预录入发送); } }
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; } } } }
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; } }
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); }
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); } } }
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(); })); }
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); } } } }
// 动态调度-下达 public 紧急下达(专家任务 zjrw, 任务 rw, 专家任务性质? xz) : this(zjrw) { m_rw = rw; m_xz = xz; }
public 拒绝原因(任务 rw) { InitializeComponent(); m_rw = rw; }
private static void 撤销任务的专家任务(任务 entity) { if (entity.专家任务 == null) return; if (撤销Validation(entity, 撤销任务.撤销专家任务)) { m_专家任务dao.撤销专家任务(entity); } }
private static void 撤销任务预发送(任务 entity) { if (!entity.IsActive) return; if (撤销Validation(entity, 撤销任务.撤销预发送)) { entity.IsActive = false; m_任务dao.Update(entity); } }
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); } } } }
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; }
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.专家任务; } } } } } }