




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计报告 题 目 快递管理系统 系统设计报告 课 程 名 称 软件项目实践 1. 目的:该文档是关于学生选课系统的功能和性能描述,重点描述了模块划分。2 概要设计2.1 项目规划应用管理的主要功能是对系统中的基本信息管理。包括客户信息、货物信息以及派送人员信息等功能。1. 客户管理主要实现的功能是对客户的基本信息进行添加、修改和删除;2. 库管管理主要实现的功能是对货物的出库以及入库的管理;3. 调度管理主要实现的是货物的派送。2.2 系统功能结构图快递管理系统的系统功能结构图如图1所示。应用管理信息的编辑货物的出库库管管理信息的查询信息的添加客户管理调度管理货物的入库货物的查询货物的派送图1 系统功能结构图 图2 系统功能结构图2.3 业务需求 2.3.1:票据管理1功能描述:票据管理的主要功能是对票据本的分发,查询,修改和删除。2流程图如图2-1所示:图2-1票据管理流程图2.3.2 投递人员管理流程图 如图2-4所示:图2-4投递人员流程图2.3.3接货管理1、功能描述:接货管理的主要功能是填写一份货运单合同,该合同的内容包括货运单编号、发货客户信息、收货客户信息、运费、保险费等。在货物列表中,添加货物,主要填写货物的名称、重量、体积、货物价值等信息。2、流程图 如图2-6所示:图2-6接货管理流程图3 详细设计3.1 系统登录设计系统登录主要用于对登录物流管理系统的用户进行安全性检查,以防止非法用户登录该系统。根据给管理员分配的权限,登录用户可以根据自己所具有的权限操作系统中相应的功能。在登录系统时验证操作员及其密码,主要通过ADO控件中记录集(RecordSet)对象结合If语句判断用户选定的操作员及其输入的密码与数据库中的操作员和密码是否相同来实现,如果相同则允许登录,并给予相应的权限,否则将不允许用户登录。系统登录的运行结果如图2所示。图2 系统登录窗体的运行结果1窗体设计(1)在工程中新建1个窗体,将窗体的名称设置为“frm_xtdl”,BorderStyle属性设置为“0-None”,通过设置Picture属性为窗体添加图片。(2)在窗体上添加Adodc控件,由于该控件属于ActiveX控件,在使用之前必须从“部件”对话框中添加到工具箱。添加方法如下:在“工程”/“部件”对话框中勾选“Microsoft Ado Data Controls 6.0(SP4)”列表项,单击【确定】按钮之后即可将Ado控件添加到工具箱当中。(3)在窗体中添加2个CommandButton控件,分别将Name属性设置为“Cmd_Ok”和“Cmd_Cancel”,Caption属性设置为“登陆”和“取消”。2代码设计using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Collections;using WuLiuXiTongDAL;namespace KuaiDi public partial class FormLogin : Form private string _EmployeeID=;/员工ID private string _EmployeeName=;/员工姓名 private int _Role=0;/员工角色 public FormLogin() InitializeComponent(); private void btnOK_Click(object sender, EventArgs e) #region 验证文本框是否为空 if (txtUser.Text.Length = 0) MessageBox.Show(请输入您的用户名!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; if (txtPwd.Text.Length = 0) MessageBox.Show(请输入您的密码!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; #endregion #region 登陆用户和角色判断 int Judge = 0;/判断登录 EmployeeInfo EmpInfo = new EmployeeInfo(); EmpInfo.EmployeeID = txtUser.Text.ToString().Trim(); EmpInfo.PassWord = txtPwd.Text.ToString().Trim(); Judge=EmpInfo.Login(); /用户名存在,登陆成功 if (Judge = 1) _EmployeeID = this.txtUser.Text.Trim(); _EmployeeName= EmpInfo.EmpNameWay(this.txtUser.Text.Trim(); _Role = EmpInfo.EmpRoleWay(this.txtUser.Text.Trim(); RoleOfWindows(_Role); /RoleOfWindows(0); /RoleOfWindows(1); /RoleOfWindows(2); /RoleOfWindows(3); /RoleOfWindows(4); /RoleOfWindows(5); if (Judge = 0) MessageBox.Show(用户名不存在!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtUser.Clear(); txtPwd.Clear(); if (Judge = 2) MessageBox.Show(对不起,密码错误!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtPwd.Clear(); #endregion /窗体加载 private void FormLogin_Load(object sender, EventArgs e) /密码框加载键盘输入事件 txtPwd.KeyDown += new KeyEventHandler(txtPwd_KeyDown); ControlBox = false; /键盘输入事件处理代码 void txtPwd_KeyDown(object sender, KeyEventArgs e) if (e.KeyCode = Keys.Enter) btnOK_Click(sender, e); /取消按钮 private void btnColear_Click(object sender, EventArgs e) this.Close(); #region 登陆界面选择 private void RoleOfWindows(int RoleOfForm) string EmpName=;/登陆者姓名 / EmpName = _EmployeeName; switch (RoleOfForm) case 0: formYeWuYuan YeWuYuan = new formYeWuYuan(EmpName, this.txtUser.Text.ToString().Trim(), 业务员); YeWuYuan.Show(); this.Hide(); break; case 1: formKuGuanYuan KuGuanYuan = new formKuGuanYuan(EmpName, this.txtUser.Text.ToString().Trim(), 库管员); KuGuanYuan.Show(); this.Hide(); break; case 2: formDiaoDuYuan DiaoDuYuan = new formDiaoDuYuan(EmpName, this.txtUser.Text.ToString().Trim(), 调度员); DiaoDuYuan.Show(); this.Hide(); break; case 3: /formGongSiZhuGuan GongSiZhuGuan = new formGongSiZhuGuan(EmpName, this.txtUser.Text.ToString().Trim(), 公司主管); /GongSiZhuGuan.Show(); /this.Hide(); break; case 4: formXiTongGuanLiYuan XiTongGuanLiYuan = new formXiTongGuanLiYuan(EmpName, this.txtUser.Text.ToString().Trim(), 系统管理员); XiTongGuanLiYuan.Show(); this.Hide(); break; default: MessageBox.Show(没有这个角色!, 错误, MessageBoxButtons.OK, MessageBoxIcon.Error); break; #endregion 3.2 业务员管理界面业务员管理界面只要是员工的信息的管理,其中可以生产订单,功能包括信息的添加,删除,修改以及会员客户的信息保存。如下图2所示:图4 车辆调度安排窗体的运行结果。图5 车辆调度安排窗体的设计结果1.代码设计 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using KuaiDi.YeWuYuan;using WuLiuXiTongDAL;using WuLiuXiTongDAL.Table;using System.IO;namespace KuaiDi public partial class formYeWuYuan : Form /声明数据集 public DataSet1 ds; private string _EmployeeID; private string _EmployeeName; private int UpDateEmp = 0; /退单 private int Cancel_Reason = 0; /构造函数传值 public formYeWuYuan(string EmployeeName, string EmployeeID, string Position) InitializeComponent(); this.ds = new DataSet1();/窗体传值 barButtonItem8.Caption = 系统登录者: + EmployeeName; barButtonItem9.Caption = 系统角色: + Position; _EmployeeID = EmployeeID; _EmployeeName = EmployeeName; * 工具栏 * = */ /开单 private void barButtonItem31_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) tabControl1.SelectedIndex = 0; tabControl2.SelectedIndex = 0; LiuShui(); private void barButtonItem11_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) /退单 private void barButtonItem12_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) tabControl1.SelectedIndex = 0; tabControl2.SelectedIndex = 1; ; /理赔 private void barButtonItem13_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) tabControl1.SelectedIndex = 0; tabControl2.SelectedIndex = 2; /退单 private void barButtonItem18_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) tabControl1.SelectedIndex = 0; tabControl2.SelectedIndex = 1; /返单 /private void barButtonItem19_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) / / tabControl1.SelectedIndex = 0; / tabControl2.SelectedIndex = 1; / /理赔 private void barButtonItem20_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) tabControl1.SelectedIndex = 0; tabControl2.SelectedIndex = 2; /收钱 private void barButtonItem21_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) tabControl1.SelectedIndex = 0; tabControl2.SelectedIndex = 3; #endregion #region 员工个人信息查看与修改 /= /员工个人信息查看与修改 /= /修改个人信息 private void button10_Click(object sender, EventArgs e) int PanDuan = UpDateEmp; if (UpDateEmp = 0) MessageBox.Show(您没有做任何修改!); return; EmployeeInfo UpdateEmpInfo = new EmployeeInfo(); UpdateEmpInfo.EmployeeID = txtID.Text.Trim(); UpdateEmpInfo.EmployeeName = txtName.Text.Trim(); UpdateEmpInfo.ConsigneeTell = txtLianXi.Text.Trim(); UpdateEmpInfo.Address = txtDiZhi.Text.Trim(); UpdateEmpInfo.Remark = txtRemark.Text.Trim(); if (cmbSex.SelectedIndex = 0) UpdateEmpInfo.Sex = 0; else UpdateEmpInfo.Sex = 1; if (UpdateEmpInfo.UpDate_EmpInfo() MessageBox.Show(员工信息修改成功!); LockEmpInformation(); else MessageBox.Show(员工信息修改失败!); UpDateEmp = 0; /= /业务员客户退单操作 /= /查找客户要退订的订单 private void button15_Click(object sender, EventArgs e) Find_Order(); textCancel_Reason.Text = 请填写客户退单原因; textCancel_Reason.ForeColor = Color.DarkGray; /查找业务员退单方法 public void Find_Order() / 清空文本框 textCancel_Name.Clear(); textCancel_Tell.Clear(); textCancel_Address.Clear(); DataSet ds = new DataSet(); string SqlStr = SELECT CustomerName,CustomerTell,CustomerAddressFROM Order Where OrderID=+textCancel_Order.Text.Trim()+ and Handle=+0; ds = DB.getds(SqlStr, Order); foreach (DataRow Row in ds.Tables0.Rows) textCancel_Name.Text = RowCustomerName.ToString(); textCancel_Tell.Text = RowCustomerTell.ToString(); textCancel_Address.Text = RowCustomerAddress.ToString(); Find_Goods(); #region 会员管理操作 /会员管理操作 /查找 private void button21_Click(object sender, EventArgs e) VIPInfoLoad(); /单击单元格 private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) /DataSet ds = new DataSet(); /string SqlStr = SELECT VIPID AS 会员编号,ViPName AS 会员姓名,Sex AS 性别,VIPTell AS 电话号码,Address AS 详细地址,Remark AS 备注信息FROM VIPInfo; /ds = DB.getds(SqlStr, VIPInfo); /foreach(DataRow) private void dataGridView1_SelectionChanged(object sender, EventArgs e) VIPInfoFill(); /所有会员信息加载方法 public void VIPInfoLoad() DataSet ds = new DataSet(); string SqlStr = SELECT VIPID AS 会员编号,ViPName AS 会员姓名, 会员性别 = CASE WHEN Sex = 0 THEN 男 WHEN Sex = 1 THEN 女 END,; SqlStr += VIPTell AS 电话号码,Address AS 详细地址,Remark AS 备注信息FROM VIPInfo; ds = DB.getds(SqlStr, VIPInfo); dataGridView1.DataSource = ds.Tables0.DefaultView; 3.3 库管员管理模块在正式托运货物之前,需要进行托运货物入库出库,这个模块做的正是这个.库管员管理模块的运行结果如下图所示。2代码设计using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using DevExpress.XtraBars.Docking;using System.Data.SqlClient;using WuLiuXiTongDAL;using WuLiuXiTongDAL.Table;namespace KuaiDi public partial class formKuGuanYuan : Form private string _EmployeeID; private string _EmployeeName; private string _OrderID;/订单编号 /构造函数传值 public formKuGuanYuan(string EmployeeName, string EmployeeID, string Position) InitializeComponent(); barButtonItem4.Caption = 系统登录者: + EmployeeName; barButtonItem5.Caption = 系统角色: + Position; _EmployeeID = EmployeeID; _EmployeeName = EmployeeName; public formKuGuanYuan() InitializeComponent(); /窗体加载事件 private void formKuGuanYuan_Load(object sender, EventArgs e) /绑定ComboBox控件 BindingOrderID(); /获取入库流水号 LiuShui(); /获取出库流水号 ChuKuLiuShui(); /绑定派送员姓名和ID BangDingPaiSongYuanID(); /绑定出库的订单号 BangDingWeiChuKuOrderID(); /查找所有入库单信息2010-6-16 FoundInDepotWay(); /窗体关闭时 private void formKuGuanYuan_FormClosing(object sender, FormClosingEventArgs e) Application.Exit();/关闭整个应用程序 #region 选项卡切换代码 /选项卡切换代码 /入库审核 private void navBarItem1_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e) tabControl1.SelectedIndex = 0; tabControl2.SelectedIndex = 0; /查看已入库信息 private void navBarItem2_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e) tabControl1.SelectedIndex = 0; tabControl2.SelectedIndex = 1; FoundInDepotWay();/显示入库单简略信息 /选项卡切换事件 private void tabControl2_SelectedIndexChanged(object sender, EventArgs e) FoundInDepotWay();/显示入库单简略信息 /货物出库开单 private void navBarItem3_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e) tabControl1.SelectedIndex = 1; tabControl3.SelectedIndex = 0; /查看已出库信息 private void navBarItem4_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e) tabControl1.SelectedIndex = 1; tabControl3.SelectedIndex = 1; /查看已经出库的方法 FoundOutDepotWay(); /派送员销单 private void navBarItem7_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e) tabControl1.SelectedIndex = 1; tabControl3.SelectedIndex = 2; BoundXiaoDanRenYuan();/绑定要销单的派送人员 BoundXiaoDanOrderID();/绑定还未销单的订单号 #endregion /有用的代码, private void button1_Click(object sender, EventArgs e) dockPanel2.Visibility = DockVisibility.Visible; #region 货物出库操作 /= /货物出库操作 /= /获取出库货物流水号 private void button14_Click(object sender, EventArgs e) ChuKuLiuShui(); #region 出库人的选择 private void button12_Click(object sender, EventArgs e) listView2.Items.Clear(); DataSet ds = new DataSet(); string str = SELECT OrderID,GoodsName,GoodsPiece,GoodsWeight,GoodsVolume,PlanPerson,PlanPersonID,PlanDate,ConsigneeAddress FROM tywl.dbo.Divide Where Handle= + 0 + And PlanPerson= + this.cmbSendPerson.Text.Trim() + ;/ And PlanDate Like + this.dateTimePicker1.Value.ToShortDateString(); ds = DB.getds(str, Divide); foreach (DataRow rw in ds.Tables0.Rows) ListViewItem Lv = new ListViewItem(确认出库); Lv.SubItems.Add(rwPlanPerson.ToString(); Lv.SubItems.Add(rwOrderID.ToString(); Lv.SubItems.Add(rwGoodsName.ToString(); Lv.SubItems.Add(rwGoodsPiece.ToString(); Lv.SubItems.Add(rwGoodsWeight.ToString(); Lv.SubItems.Add(rwGoodsVolume.ToString(); Lv.SubItems.Add(rwConsigneeAddress.ToString(); listView2.Items.Add(Lv); #endregion #region 货物单的选择 private void button8_Click(object sender, EventArgs e) listView2.Items.Clear(); DataSet ds = new DataSet(); string str = SELECT OrderID,GoodsName,GoodsPiece,GoodsWeight,GoodsVolume,PlanPerson,PlanPersonID,PlanDa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 丁二酸装置操作工岗前基础实操考核试卷含答案
- 合成碳膜电位器制造工创新思维强化考核试卷含答案
- 刨花板热压工风险评估评优考核试卷含答案
- 具反应扩散的登革热传播动力学模型研究
- 一次雷达机务员安全教育测试考核试卷含答案
- 安全仪器监测工岗前合规化考核试卷含答案
- 化学农药生产工变革管理水平考核试卷含答案
- 照相器材维修工安全宣传能力考核试卷含答案
- 拖拉机底盘部件装试工岗前核心能力考核试卷含答案
- 控制转移类指令说课稿-2025-2026学年中职专业课-单片机技术与应用-电气设备运行与控制-装备制造大类
- 医学输液知识培训内容总结
- 连锁店选址培训课件
- 心律失常健康讲座课件
- 《分布式光伏并网服务工作指引(试行)》2025
- 河北省2025-2026学年高一上学期9月月考测评英语试卷
- 幼儿绘本故事:绘本PPT
- 厂房设备基础施工一次成优QC成果(41页)
- 超星尔雅学习通【像经济学家那样思考信息激励与政策(复旦大学)】章节测试附答案
- 卷烟厂工程建设项目规划设计控制指标
- 髋关节入路总结
- 体育与健康水平三教材分析
评论
0/150
提交评论