WCF物流管理系统(三)

订单管理_03查询订单信息流程

图3-1整体效果图

业务介绍:

物流系统是指:用以管理运输货物和运输的软件系统,功能一般包括了:填写运输订单、分包、配载、发车、运输、收货几个主要部分。

查看已经录入数据库的订单信息是订单管理的主要功能之一,其作用是查看某一条订单的详细信息和状态,以及该订单中的运输货物列表、货物运输信息。

控件列表:

控件名

控件类型

控件说明

只读否

dttmpkQiShiShiJian

DateTimePicker

用于选择订单的起始时间,为根据时间查询的条件之一,当   rdbtnRiQi 被选中时,本控件内的值为条件。

dttmpkDaoDaShiJian

DateTimePicker

用于选择订单的结束时间,为根据时间查询的条件之一,当   rdbtnRiQi 被选中时,本控件内的值为条件。

rdbtnRiQi

RadioButton

用于选择查询类型为根据时间查询,当被选中时为根据时间查询,当不被选中时为根据另一个其他条件进行查询。

cboShouHuoFang

ComboBox

用于选择收货方,并根据收货方进行查询,当  rdbtnShouHuoFang 被选中时,本控件内的值为条件。

rdbtnShouHuoFang

RadioButton

用于选择查询类型为根据收货方名称进行查询,当被选中时为根据收货方名称进行查询,当不被选中时为根据其他另一个被选中的条件进行查询。

rdbtnDingDanHao

RadioButton

用于选择查询方式为根据订单编号进行查询,当被选中时为根据订单编号进行查询,当不被选中时为根据其他另一个被选中的条件进行查询。

txtDingDanHao

TextBox

用于输入订单编号,当 rdbtnDingDanHao被选中时,本控件内的值为条件。

rdbtnZhuangTai

RadioButton

用于选择查询类型为根据订单状态进行查询,当被选中时为根据订单状态进行查询,当不被选中时为根据其他另一个被选中的条件进行查询。

cboZhuangTai

ComboBox

用于选择订单状态,并根据订单状态进行查询,当   rdbtnZhuangTai 被选中时,本控件内的值为条件。

rdbtnTuoYunFang

RadioButton

用于选择查询类型为根据托运方名称进行查询,当被选中时为根据托运方名称进行查询,当不被选中时为根据其他另一个被选中的条件进行查询。

cboTuoYunFang

ComboBox

用于选择托运方名称,并根据托运方名称进行查询,当    rdbtnTuoYunFang 被选中时,本控件内的值为条件。

rdbtnHuoMing

RadioButton

用于选择查询类型为根据托运货物名称进行查询,当被选中时为根据托运货物名称进行查询,当不被选中时为根据其他另一个被选中的条件进行查询。

cboHuoMing

ComboBox

用于选择托运货物名称,并根据托运货物名称进行查询,当rdbtnHuoMing被选中时,本控件内的值为条件。

chkShenHeFou

CheckBox

用于进行选择查询的类型,当本控件被选中的时候为查询已经审核的满足前面任意一个条件的查询结果,若没有选择本控件,则为根据前面任意一个条件进行全部查询。

btnChaXun

ToolStripButton

用于确定查询,当点击本控件是根据左侧的条件进行对应的查询,并将查询结果显示在 dgvHuoYunDan中。

lblDanJuShu

Label

用于显示当前条件下的查询结果一共有多少条。

dgvHuoYunDan

DataGridView

用于显示根据条件查询到的订单的信息。其中包括:订单编号、提单编号、寄件地址、收件地址、寄件网点、收件网点、结算方式、收货人、联系人名称、联系人电话、揽收状态、运单状态、接单时间、送达时间、运费总价、员工姓名、制单人、修单人信息。

tsbShangYiYe

ToolStripButton

用于使得 dgvHuoYunDan进行翻页,本控件是下一页操作。

tsbXiaYiYe

ToolStripButton

用于使得 dgvHuoYunDan进行翻页,本控件是上一页操作。

lblCurrentPage

Label

用于显示当前页码。

lblTotalPage

Label

用于显示总页码。

dgvHuoYunDanMingXi

DataGridView

用于显示dgvHuoYunDan中被选中的行所对应的订单中的货物列表,其中包括:货物名称、货物类别、计量单位、运费单价、数量、揽收否。

tspbtnXinZengDingDan

ToolStripButton

用于打开新增订单信息页面。

tspbtnXiuGaiDingDan

ToolStripButton

用于打开修改订单信息页面。并将dgvHuoYunDan中选中的订单信息传递到修改页面中进行显示。

tspBtnShanChuDingDan

ToolStripButton

用于删除dgvHuoYunDan中选中的订单信息。

tsbWuLiu

ToolStripButton

用于打开物流跟踪查询页面。

表3-1控件列表

功能布局划分:

根据图3-1整体布局可以分析出,本界面的功能主要三部分,筛选条件、订单信息、系统操作按钮,其中筛选条件是根据选定的条件进行查询并绑定在订单信息中,操作系统按钮是对订单信息的操作。

第一部分:筛选条件,本部分的有两个日期控件、四个下拉框、一个文本框、一个复选框、六个单选框、一个按钮共十五个控件构成,其中单选框用于选择根据某种条件进行查询,其余控件为查询条件的值。


图3-2筛选条件

本部分的查询条件为单选条件,每次查询按照在本部分内的单选框中某个单选框被选中,则根据被选中的单选框后面的条件的值为条件点击查询按钮进行查询。

关于日期条件查询:日期查询条件为订单生成介于两个日期之间的订单信息,根据数据库中订单信息中的数据生成时间为条件进行查询,查询某个时间段内的订单信息,因此两个日期控件中的日期默认相差一天。

关于状态条件查询:状态条件查询为根据货物的揽收状态为条件进行查询,查询已经揽收货物的订单信息和未揽收货物的订单信息。

关于收货方条件查询:托运方条件查询为根据订单中托运方名称为条件进行查询,查询此托运方的所有订单信息。

关于收货方条件查询:收货方条件查询为根据订单中收货方名称为条件进行查询,查询此托运方的所有订单信息。

关于订单号条件查询:订单号条件查询为根据订单编号为条件进行查询,每个订单的订单号为唯一标识,根据订单号查询为查询特定的某个订单信息。

关于货名条件查询:货名条件查询为根据货名条件查询为条件进行查询,查询同种货物的运输订单信息。

关于提取已审核数据查询:提取已审核数据查询为查询所有已经审核的数据并绑定。

图3-3订单信息和货物信息

本部分为订单信息和订单对应的货物信息,其中包含两个DataGridView和一个菜单栏。

本部分主要功能为根据第一部分的查询条件查询后将查询到的订单信息进行绑定显示,绑定之后根据选定的订单信息,进行查询其所对应的货物信息,并将查询到的货物信息绑定在货物信息DGV中。

关于订单信息:此处查询的订单信息默认为全部信息,根据条件进行查询后重新绑定为部分信息。

关于货物信息:此处查询的货物信息为订单中包含的货物信息,并非全部货物信息。

关于分页:此处的分页查询为根据特定的数量将数据进行分页,此时默认为10条为一页,若需要修改需要进入代码中设置。


图3-4系统操作按钮

本部分为系统操作按钮,其中为五个菜单栏按钮。

关于新增订单:点击新增订单跳转到新增订单界面进行新增,新增结束刷新本界面。

关于修改订单:选择某一条订单信息点击修改订单跳转到修改订单界面进行修改,修改结束刷新本界面。

关于删除订单:选择某一条订单信息点击删除订单,提示是否删除,确定删除删除订单信息,删除成功刷新本界面。

关于物流跟踪查询:物流跟踪查询为查询特定的订单(根据订单号查询)的订单物流信息,本功能与手机物流信息扫描相关联。

关于关闭:退出本模块,推出前提示是否退出,确认退出

功能区域详细实现:

#region 构造方法

public FRM_DingDanGuanLi()

{

InitializeComponent();

}

#endregion

#region 参数设置

BLL物流管理系统.订单管理.DingDanGuanLi.DingDanGuanLiClient myDingDanGuanLi =

new BLL物流管理系统.订单管理.DingDanGuanLi.DingDanGuanLiClient();

int 页面大小 = 10;

int 页码 = 1;

int 最大页码 = 0;

int 货运单总数 = 0;

#endregion

#region Load事件,设置窗体位置和窗体大小,并绑定数据

private void FRM_DingDanGuanLi_Load(object sender, EventArgs e)

{

try

{

#region 设置窗体位置和窗体大小

dgvDingDanXinXi.AutoGenerateColumns = false;

this.Left = PublicStaticObject.MainLeft;

this.Top = PublicStaticObject.MainTop;

this.Width = PublicStaticObject.MainWidth;

this.Height = PublicStaticObject.MainHeight;

#endregion

#region 绑定数据

dttmpkDaoDaShiJian.Value = dttmpkQiShiShiJian.Value.AddDays(1);

//绑定到达时间为起始时间加一天

this.dgvDingDanXinXi = PublicStaticMothd.SetDgv(dgvDingDanXinXi);

//绑定订单信息DGV

this.dgvDingDanXinXiMingXi = PublicStaticMothd.SetDgv(dgvDingDanXinXiMingXi);

//绑定订单明细信息DGV

#region 绑定货物名称、揽收状态、收件客户名称、寄件客户名称

//绑定货物名称下拉框

cboHuoMing.DataSource = myDingDanGuanLi.FRM_DingDanGuanLi_Load_SelectHuoMing().Tables[0];

cboHuoMing.DisplayMember = "货物名称";

cboHuoMing.ValueMember = "货物ID";

//绑定货物揽收状态下拉框

cboZhuangTai.DataSource = myDingDanGuanLi.FRM_DingDanGuanLi_Load_SelectZhuangTai().Tables[0];

cboZhuangTai.DisplayMember = "货物揽收状态";

cboZhuangTai.ValueMember = "货物揽收状态ID";

//绑定收货方客户名称

DataTable dtKeHu = myDingDanGuanLi.FRM_DingDanGuanLi_Load_SelectKeHu().Tables[0];

cboShouHuoFang.DataSource = dtKeHu;

cboShouHuoFang.DisplayMember = "客户全称";

cboShouHuoFang.ValueMember = "客户ID";

//绑定托运方客户名称

cboTuoYunFang.DataSource = dtKeHu.Copy();

//cboTuoYunFang.DataSource = myDingDanGuanLi.FRM_DingDanGuanLi_Load_SelectKeHu().Tables[0];

cboTuoYunFang.DisplayMember = "客户全称";

cboTuoYunFang.ValueMember = "客户ID";

#endregion

#endregion

#region 初始化查询全部订单信息,并根据页面大小进行分页

//查询全部订单

DataTable dt =

myDingDanGuanLi.FRM_DingDanGuanLi_Load_SelectHuoYunDanByFenYe(页面大小, 页码).Tables[0];

dgvDingDanXinXi.DataSource = dt;

货运单总数 = myDingDanGuanLi.FRM_DingDanGuanLi_Load_SelectHuoYunDanCount();

最大页码 = 货运单总数 / 页面大小;

if (货运单总数 % 页面大小 > 0)

{

最大页码++;

}

lblTotalPage.Text = 最大页码.ToString();

lblCurrentPage.Text = 页码.ToString();

lblDanJuShu.Text = 货运单总数.ToString();

SheZhiSuoDingAnNiu();

#endregion

}

catch

{

}

}

#endregion

#region 关闭按钮

private void toolStripButton1_Click(object sender, EventArgs e)

{

this.Close();

}

#endregion

#region 打开订单管理模块中的新增订单信息

private void tspbtnXinZengDingDan_Click(object sender, EventArgs e)

{

PublicStaticObject.Pub_FRM_DingDanGuanLi_Insert = new 订单管理.FRM_DingDanGuanLi_Insert();

PublicStaticObject.Pub_FRM_DingDanGuanLi_Insert.ShowDialog();

}

#endregion

#region 订单DGV中审核订单信息

private void dgvHuoYunDan_CellClick(object sender, DataGridViewCellEventArgs e)

{

if (e.RowIndex >= 0)

{

if (e.ColumnIndex == 0)

{

if (dgvDingDanXinXi.CurrentRow.Cells["锁定"].Value.ToString() == "未审核")

{

int countSuccess = 0;

//更新货运单的审核否字段,设置为真

int 货运单ID = Convert.ToInt32(dgvDingDanXinXi.CurrentRow.Cells["货运单ID"].Value);

if (myDingDanGuanLi.dgvHuoYunDan_CellClick_UpdateShenHe(货运单ID) > 0)

{

//审核之后,针对每一个明细,生成一条默认的分包数据

foreach (DataGridViewRow dgvr in dgvDingDanXinXiMingXi.Rows)

{

int 货运单明细ID = Convert.ToInt32(dgvr.Cells["货运单明细ID"].Value);

decimal 分包数量 = Convert.ToDecimal(dgvr.Cells["数量"].Value);

countSuccess += myDingDanGuanLi.dgvHuoYunDan_CellClick_InsertFenBao(货运单明细ID,分包数量);

}

}

if (countSuccess == dgvDingDanXinXiMingXi.RowCount)

{

MessageBox.Show("审核成功!");

FRM_DingDanGuanLi_Load(null, null);

}

else

{

MessageBox.Show("审核失败!");

}

}

else

{

MessageBox.Show("订单已经审核!");

}

}

}

}

#endregion

#region 打开订单管理模块中的修改订单信息

private void tspbtnXiuGaiDingDan_Click(object sender, EventArgs e)

{

if (dgvDingDanXinXi.CurrentRow.Cells["锁定"].Value.ToString() == "未审核")

{

PublicStaticObject.Pub_FRM_DingDanGuanLi_Update = new 订单管理.FRM_DingDanGuanLi_Update(Convert.ToInt32(dgvDingDanXinXi.CurrentRow.Cells["货运单ID"].Value));

PublicStaticObject.Pub_FRM_DingDanGuanLi_Update.ShowDialog();//修改订单之后的刷新数据操作。

}

else

{

MessageBox.Show("已审核的货物无法修改!");

}

}

#endregion

#region 删除订单信息

private void tspBtnShanChuDingDan_Click(object sender, EventArgs e)

{

if (dgvDingDanXinXi.CurrentRow.Cells["锁定"].Value.ToString() == "未审核")

{

int countSuccess = 0;

//删除货运单

int 货运单ID = Convert.ToInt32(dgvDingDanXinXi.CurrentRow.Cells["货运单ID"].Value);

if (myDingDanGuanLi.tspBtnShanChuDingDan_Click_DeleteHuoYunDan(货运单ID) > 0)

{

//删除货运单明细

countSuccess = myDingDanGuanLi.tspBtnShanChuDingDan_Click_DeleteHuoYunDanMingXi(货运单ID);

}

if (countSuccess == dgvDingDanXinXiMingXi.RowCount)

{

MessageBox.Show("删除成功!");

FRM_DingDanGuanLi_Load(null, null);

}

else

{

MessageBox.Show("删除失败!");

}

}

else

{

MessageBox.Show("已审核的货物无法修改!");

}

}

#endregion

#region 订单管理DGV行标题添加序号

private void dgvHuoYunDan_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)

{

DataGridViewRow CurrentRow = this.dgvDingDanXinXi.Rows[e.RowIndex];

CurrentRow.HeaderCell.Value = Convert.ToString(e.RowIndex + 1);

}

#endregion

#region 货物信息DGV行标题添加序号

private void dgvHuoYunDanMingXi_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)

{

DataGridViewRow CurrentRow = this.dgvDingDanXinXiMingXi.Rows[e.RowIndex];

CurrentRow.HeaderCell.Value = Convert.ToString(e.RowIndex + 1);

}

#endregion

#region 设置订单管理DGV中审核否按钮信息

void SheZhiSuoDingAnNiu()

{

if (dgvDingDanXinXi.DataSource != null)

{

foreach (DataGridViewRow dgvr in dgvDingDanXinXi.Rows)

{

if (Convert.ToBoolean(dgvr.Cells["审核否"].FormattedValue))

{

dgvr.Cells["锁定"].Value = "已审核";

}

else

{

dgvr.Cells["锁定"].Value = "未审核";

}

}

}

}

#endregion

#region 查询按钮

private void btnChaXun_Click(object sender, EventArgs e)

{

if (rdbtnRiQi.Checked)

{

DateTime 开始日期 = dttmpkQiShiShiJian.Value;

DateTime 结束日期 = dttmpkDaoDaShiJian.Value;

bool 审核否 = chkShenHeFou.Checked;

dgvDingDanXinXi.DataSource =

myDingDanGuanLi.FRM_DingDanGuanLi_Load_SelectDingDanByRiQi(开始日期,结束日期,审核否).Tables[0];

}

if (rdbtnHuoMing.Checked)

{

int 货物ID = Convert.ToInt32(cboHuoMing.SelectedValue);

bool 审核否 = chkShenHeFou.Checked;

dgvDingDanXinXi.DataSource = myDingDanGuanLi.FRM_DingDanGuanLi_Load_SelectDingDanByHuoWuID(货物ID,审核否).Tables[0];

}

SheZhiSuoDingAnNiu();

if (dgvDingDanXinXi.Rows.Count <= 0)

{

dgvDingDanXinXiMingXi.DataSource = null;

}

tspCaiDan.Visible = false;

}

#endregion

#region DGV订单管理翻页——下一页

private void tsbXiaYiYe_Click(object sender, EventArgs e)

{

if (页码 < 最大页码)

{

页码++;

dgvDingDanXinXi.DataSource =

myDingDanGuanLi.FRM_DingDanGuanLi_Load_SelectHuoYunDanByFenYe(页面大小, 页码).Tables[0];

lblCurrentPage.Text = 页码.ToString();

SheZhiSuoDingAnNiu();

}

else

{

MessageBox.Show("已经是尾页了!!!!");

}

}

#endregion

#region DGV订单管理翻页——上一页

private void tsbShangYiYe_Click(object sender, EventArgs e)

{

if (页码 > 1)

{

页码--;

dgvDingDanXinXi.DataSource =

myDingDanGuanLi.FRM_DingDanGuanLi_Load_SelectHuoYunDanByFenYe(页面大小, 页码).Tables[0];

lblCurrentPage.Text = 页码.ToString();

SheZhiSuoDingAnNiu();

}

else

{

MessageBox.Show("已经是首页了!!!!");

}

}

#endregion

#region 根据DGV订单管理中选中的订单信息查询对应的货物信息并绑定在DGV货物中

private void dgvHuoYunDan_SelectionChanged(object sender, EventArgs e)

{

//查询明细

if (dgvDingDanXinXi.CurrentRow != null)

{

int 货运单ID = Convert.ToInt32(dgvDingDanXinXi.CurrentRow.Cells["货运单ID"].Value);

dgvDingDanXinXiMingXi.DataSource =

myDingDanGuanLi.dgvHuoYunDan_SelectionChanged_SelectHuoYunDanMingXi(货运单ID).Tables[0];

}

else

{

dgvDingDanXinXiMingXi.DataSource = null;

}

}

#endregion

#region 弹出物流信息查询模块

private void tsbWuLiu_Click(object sender, EventArgs e)

{

PublicStaticObject.Pub_FRM_WuLiuXinXiChaXun = new FRM_WuLiuXinXiChaXun();

PublicStaticObject.Pub_FRM_WuLiuXinXiChaXun.ShowDialog();

}

#endregion

订单管理_03查询订单信息流程相关推荐

  1. 淘宝开放平台店铺订单管理oAuth2.0订单同步获取接口解决方案

    正常为了进行淘宝/天猫平台卖家订单商品oAuth2.0开发,首先我们需要做下面几件事情. 1.注册一个开发者账号,拥有订单管理相关应用标签:需要部署聚石塔. 2.然后为每个淘宝应用注册一个应用程序键( ...

  2. python订单管理系统功能_订单管理系统的基本功能有哪些?

    订单管理系统是通过统一的订单管理和分配,给用户提供整合的一站式供应链服务,让仓储,运输和订单形成一个有机的整体,从而满足物流信息化的需求,今天德米萨就给大家具体介绍下订单管理系统的基本功能有哪些. 1 ...

  3. 订单管理之获取订单表表列表数据

    获取订单表表列表数据 [订单数据是不能删除的,只能修改订单信息的状态] 接口分析 请求方式: GET /meiduo_admin/orders/?keyword=<搜索内容>&pa ...

  4. python订单管理系统功能_订单管理系统有哪些功能?

    订单管理系统的工作流程是首先对客户的订单信息进行接收,然后对订单进行处理,及时掌握交易动态,在有突发状况发生时及时反馈.订单管理系统是物理管理系统中不可缺少的一部分,那么它有哪些功能呢? 1.业务流程 ...

  5. 订单管理html页面,订单管理.html

     订单管理 $axure.utils.getTransparentGifPath = function() { return 'resources/images/transparent.gif'; ...

  6. 订单管理之获取订单表详情数据数据

    获取订单表详情数据数据 当点击订单详情时,我们需要获取订单详情数据 接口分析 请求方式: GET /meiduo_admin/orders/(?P<pk>\d+)/ 请求参数: 通过请求头 ...

  7. 学生信息管理系统之查:查询成绩信息流程

    查询成绩信息流程图: 查询成绩信息代码部分 一.myflesgrid数据加载 With myflexgrid.CellAlignment = 4 '对齐方式中中对齐.TextMatrix(1, 0) ...

  8. 学生信息管理系统之 查询学籍信息流程

    一:查询学籍信息的一个界面 二整理的流程图. 三:画完流程图真的感觉思路清晰了很多.磨刀不误砍柴工,走好每一步. 附源代码如下: Dim txtSQL As StringDim MsgText As ...

  9. python订单管理系统功能_订单管理系统的功能模块有哪些?

    订单管理系统能够动态的了解订单的进展和实施状况,它通过对订单进行实时的管理,对于节省运作时间,降低作业成本具有非常重要的作用,它是企业的管理系统中重要的组成成分,今天德米萨就给大家具体介绍下订单管理系 ...

  10. 订单管理之更新订单表状态数据

    更新订单表状态数据 点击修改状态,完成订单表状态的修改操作 接口分析 请求方式: PUT /meiduo_admin/orders/(?P<order_id>\d+)/status/ 请求 ...

最新文章

  1. 字节跳动技术整理:mysql性能优化方案
  2. android从放弃到精通 第五天 excellent
  3. leetcode算法题--用两个栈实现队列
  4. HDU 2018 母牛的故事
  5. Python:每日一题002
  6. MVC中使用 事物
  7. 基于.NET平台的分层架构实战(一)——综述
  8. 《操作系统》OS学习(四):计算机体系结构、内存层次和地址生成
  9. CodeVS 1068-乌龟棋
  10. python用装饰器实现缓存函数执行结果
  11. c语言中int(*t) n,C语言基础知识(下)
  12. java比身高怎么做_D3 Y比例,y对比身高?
  13. 突然情怀就上来啦,‘闭包’ 今天咱们讲一下子
  14. Leetcode 318答案详解(基于C++位操作)
  15. python 数据交互_Python 进程间数据交互
  16. 利用composer搭建PHP框架(一.路由解析)
  17. gmssl java api_关于GmSSL Java API编译
  18. MAC OS读取NTFS格式硬盘
  19. hcia是什么等级的证书_华为hcia是什么等级的证书
  20. PDF内容复制自动替换换行符

热门文章

  1. 解决pdf中翻译外文文献到word参考文献格式错误
  2. IT男吃什么最利于健康
  3. 技术交流:springboot配置阿里云日志服务与log4j2 lookup
  4. 阿里云 ADAM 迁移工具测试问题记录
  5. .net MVC 局部视图
  6. 【第三方互联】12、支付宝(Alipay)授权第三方登录
  7. 紫川猜想--第二十二卷第六章
  8. php script是什么,script是什么意思
  9. 【大数据存储】Java操作jena练习
  10. java实现查询Word是否包含批注和修订内容