报纸发行员投递管理系统

合集下载

新一代寄递平台投递PC(10月)

新一代寄递平台投递PC(10月)

新一代寄递业务信息平台系统—投递解车接收
点击【预告】数据后展示相关总包条码数据
点击【多开拆】数据后展示相关多开拆的邮件明细
新一代寄递业务信息平台系统—投递解车接收
4、汇票投递接收打印
主要用户汇款单数据的接收及相关汇票号生成条码进行打印功能。支持条码批量打印及补打功 能。所有当日接收提交的汇票总数计入投递平衡合拢表中的进口数据。
新一代寄递业务信息平台系统—投递清单管理
4、大宗投递清单自动打印 首先进入【基础信息管理】模块下【机构人员管理】子模块下的【组织
机构管理】维护本机构的相关大宗投递清单件数参数。
新一代寄递业务信息平台系统—投递清单管理
完成相关设置后,根据查询条件便可查询出相关段道的大宗邮件清单信息,确认无误 后进行相关大宗投递清单的打印处理。
新一代寄递业务信息平台系统—排班管理
6、对于已经进行排班,需要进行相关人员调整,在排班管理主界面中查找到需要调整 的日期列表,点击【查看明细】按键进入,显示相关时间段排班信息。
新一代寄递业务信息平台系统—排班管理
按【修改】按键进入相关段道人员信息的调整。点击需要调整人员的姓名,去除人 员列表中的【√】,重新选择相关人员姓名,【确认】后保存即修改成功相关人员调整 。
新一代寄递业务信息平台系统—投递下段管理
3、下段扫描
在【投递管理】总模块下点击【投递下段管理】中子模块【入段扫描】界面,进行相关邮件的下段处理。在入段
邮件号码处,扫描相关邮件进行入段处理。界面中右列表中会显示相关邮件的投递信息。
注意: a、一票多件邮件入段会提示
相关邮件的主单号、总数、已 扫描件数及未扫描件数提示。 对于未筹齐的普通一票多件邮 件允许进行下段处理,但含有 代收货款类的一票多件在未筹 齐的情况下是不允许进行下段 处理。

基于UML的报刊发行管理系统的分析与设计

基于UML的报刊发行管理系统的分析与设计

用基于 B S / 模式的报刊发行管理系统进行发行管理
工作 , 以有效 提高发行 效率 、 可 降低 发行管理 成本 、 保 证统计数据 的及 时性 与完整性 。 本文 通过 对报 刊发 行 管理 系统 的功 能需求 进 行 分析 , 并利用 U L技 术 对发 行 工作 流程 采 用面 向对 M 象的描述方式 , 立起 系统模 型。 建
般分 为采用 组件 技术 的三 层 : 浏览 器 层 、 b逻 辑 处 We 理层 和 数 据 库 管 理 层 。本 系 统 的开 发 采 用 基 于 了 Ap nt s.e 的面 向对 象开发 技术 , 将设 计 的逻 辑组件 、 数 据访 问组件 运行在 基 于 V B开发 的 C M +组 合 的运 O 行 环境 中, 底层 数据 处理则 采用 数据 管理安 全性稳 定 性 很强 的 S LSre 0 5 Q evr 0 。这 不仅 增 强 了系统 访 问 2
s s m a e n B S p t r ,a d c r e n t evs aiain mo el g t h y tm. y t b s d o / a e n n ar s o h iu lz t d l n o te s se e t i o i
Ke r s UML;B S;p bi ain r la e ma a e n y wo d : / u l t ee s n g me t c o
3 系统 动 态 建模
在任何 时刻 对 象 的动 态 交互 情 况 , 可 以用 都
U L的动态模 型进 行形 象 化描 述 。常 用 的动 态模 型 M 包括活 动图和 时序 图 。U ML活动 图记 录单 个 操作 或 方法 的逻 辑 、 单个 用例 或商 业过程 的逻 辑流程 。 本系 统 中主要 由报 刊 新 订 、 订 、 订 、 订 、 转 停 退 新 闻发 布 , 坛等功 能模 块组 成 。主要 模块 活动 图 如图 论

“报刊分发自动显示系统”开发文档

“报刊分发自动显示系统”开发文档

“报刊分发自动显示系统”开发文档一、分发流程概述每个地州邮政局从贵州省邮政局通过TCP/IP网络下载当天应分发的报刊的电子数据到本地计算机,然后对当天送来的报刊进行分拆发送,具体是将每种报纸或杂志的刊号即日期输入到已下载数据的计算机,计算机屏幕自动显示出每个地方要投递的报刊数量,并在报刊柜上以LED形式显示出来。

由于其业务流程是将每一种报刊进行分拆,然后将每个地区应发送的报刊数量显示在计算机屏幕上,并通过数据线将要发送的数量以LED方式在每个格架的格口上显示出来(一个格口代表一个地区)。

所以,其网络拓扑结构如图1所示,一个报刊柜由一个单元控制器控制(也称集中器数据转发模块),计算机通过RS485总线控制各个单元控制器(也称集中器数据转发模块),单元控制器(也称集中器数据转发模块)再控制每个报刊柜的格口显示器。

也就是说,每个格口要显示的数据是通过计算机传送到单元控制器(也称集中器数据转发模块),再由单元控制器(也称集中器转发模块)将要显示的数据转发到每个格口显示器(即每个地区应分发报刊的数量)。

二、硬件系统构成“报刊分发自动显示系统”由1台后台上位机管理和发送数据模块、多个集中器数据转发模块和多个前台显示终端模块三个部分组成。

每个上位机可以接1到多个集中器数据转发模块,每个分发格架有16个显示终端模块,1个报刊分发柜子(也叫分发格架)对应一个集中器数据转发模块。

后台上位机管理和发送数据模块是报刊分发人员和计算机系统进行直接交流的平台,报刊分发人员使用键盘输入报刊的代号、期数,功能键等信息,上位机从数据库中读出相应的报刊在不同地区需要发出的数量,将数据加上集中器数据转发模块地址以数据包形式通过RS485总线发出,集中器数据转发模块收到自己的数据包后,将其分组并根据规定协议加上显示终端模块的地址通过RS232串口发送给显示终端。

分发格架分发格架图1 报刊分发自动显示系统示意图三、数据的通信协议3.1、后台计算机与集中器数据转发模块的通信协议由图1示意图知,单元控制器(集中器数据转发模块)的功能是将后台计算机传来的数据进行转发给每个分发柜子(也叫分发格架),一个格架有一个单元控制器,每个格架对应16个格口,一个格口对应一个分发投递区。

邮政报刊发行业务介绍

邮政报刊发行业务介绍

邮政报刊发行业务介绍邮政报刊发行业务,是指邮政部门利用邮政通信网络点多、线长、面广等特点,将报刊出版单位出版的报纸、杂志,以订阅、零售等方式发送给读者的业务。

中国邮政经办报刊发行业务已有六十多年的历史,据有关资料统计,目前中国邮政发行的报刊达到了1.2万多种,中央及地方的主要报刊基本都委托邮政发行,邮政部门利用自身的优势为方便报刊社和读者提供了多种形式的服务。

一、订阅业务报刊订阅业务流程展示用户订阅报刊的方式可为分:1.窗口订阅用户可以在任意邮政局(所)办理报刊订阅业务,并可随时订阅报刊,即使没有赶上整订期, 也可以办理破月(季)订阅业务。

2.网上订阅用户登录,填写一份电子订单,邮局就会为您办理报刊订阅手续。

3.电话订阅用户拨打邮政服务电话11185,邮局就会上门办理报刊订阅手续。

11185同时受理用户咨询和投诉。

4.报刊发行站收订邮政企业委托社会其它单位或个人代办收订。

5.集订分送用户在一个邮局集中为本市不同地区的多名读者订阅报刊,邮局负责按时按址将报刊分别投送给指定读者。

6.第三方订阅主要包括形象期刊和订阅卡。

(1)形象期刊形象期刊是为满足现代报刊订阅市场日益凸现的个性化和多元化需求,打破传统订阅报刊理念,将期刊这一传统文化产品与现代商务礼仪及企业广告宣传进行了有机结合,通过第三方支付报刊费用,由邮政投递给目标客户阅读,实现企业宣传、维护客户或者企业文化建设等目的的一种形式。

本项业务主要通过形象期刊的方式为企业服务。

形象期刊是指以期刊为载体,将企业理念、文化、产品和服务等融入期刊当中,邮政企业将期刊按照您的需求投递给特定客户,从而达到品牌宣传、客户维护、市场推广和产品介绍等目的。

邮政从10000余种邮发期刊中,为企业量身定做适合企业目标客户的期刊产品。

如特别关注,特别文摘等,目前,已将产品划分为财智专刊、3G专刊、房地专刊、美食专刊、品牌促销专刊、庆典专刊等六大类,用户完全可以根据自身的需要进行选择搭配。

邮政报刊揽收员添加修改方法

邮政报刊揽收员添加修改方法

报刊揽收员编号添加修改
在报刊系统71或者72中,3.特殊处理7.经营分析处理,1.人员信息维护,输入揽收员姓名,岗位类型:02 部门:邮政F4存储,记录下W开头的揽收员工号,在营业订阅录入系统时候使用即可。

岗位类型:1.发行员 2.投递员 3.专职营销员
修改:在报刊系统71或者72中,3.特殊处理7.经营分析处理,1.人员信息维护,输入原来系统中存在揽收员姓名,回车弹出窗口提示:该人员已经存在,新增请修改人员名称“的提示,移动键盘上箭头按键选择查询,回车。

然后修改姓名,F4存储即可。

这个操作适用于更换了投递员,需要更新揽收员姓名,揽收员编号还是用原来的。

如果有投递员离职,也可以选择某个揽收员失效,然后再新增揽收员。

报纸发行员投递管理系统

报纸发行员投递管理系统

报纸发行员投递管理系统报纸的客户主要集中在社区,每个社区有若干客户。

每个发行员管理若干客户。

为该报社开发一个报纸发行员投递管理系统。

系统主要功能如下:(1)系统用户管理:实现系统管理员添加、删除和更改密码等功能。

(2)发行员管理:实现发行员个人信息的查询和维护。

(3)客户信息管理:实现客户信息的查询和维护。

(4)报纸管理:报纸订购和退订信息的维护和查询(5)管理统计:发行员负责区域的安排,客户数量和订购信息的统计。

一、报纸发行员投递管理系统的分析和概要设计(1)系统模块菜单:1系统用户管理实现系统管理员添加删除以及密码更改功能2发行员管理实现发行员个人信息的维护对发行员进行查询3客户信息管理实现客户信息的维护对客户进行查询4报纸管理报纸订购和退订信息的维护报纸订购和退订信息的查询5管理统计发行员负责区域的安排客户数量和订购信息的统计(2)报纸发行员投递管理系统功能描述1系统用户管理:对系统管理员添加,删除,更新及查询;2发行员管理:实现对每个发行员添加,删除,更新及查询3客户信息管理:实现对每个客户信息添加,删除,更新及查询4报纸管理:报纸订购与退订,及报纸信息的添加,删除,更新及查询5管理统计:发行员负责的区域的更新,客户数量的统计,订购信息的统计二、系统数据结构设计用户需求具体有报刊发行员管理系统提供保存、更新、查询、维护,这就需求数据库结构能充分满足各种信息的输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据。

1.数据流图描述:本系统从总体上分为系统系统用户管理、发行员管理、客户管理、报纸管理和统计功能。

信息流入图2.数据库中的表有关创建数据库和关系表的SQL 语句如下所示:/*==============================================================*//*DataBase:报纸发行员投递管理系统,创建数据库,数据库名称为报纸发行员投递管理系统*/ /*==============================================================*/ createdatabase 报纸发行员投递管理系统 go/*==============================================================*/ /*Table:paper,报纸信息表*//*==============================================================*/ createtablepaper(papernchar(10),/*报纸名*/ ) go/*==============================================================*/ /*Table:CustomerInfo,客户个人信息表*/报纸发行员投递管理人员查询条件查询结果系统管理员信息录入发行员信息录入客户信息录入 报纸订购信息录入 系统用户信息管理表发行员信息管理表客户信息管理表报纸管理表报纸发行员管理人员客户信息录入系统用户信息录入发行员信息录入 报纸信息录入数据库客户信息表系统用户信息表发行员信息表报纸信息表/*==============================================================*/ createtableCustomerInfo(name1 nchar(10), /*客户姓名*/sex nchar(10) , /*客户性别*/telephonenchar(20), /*客户电话*/sitenchar(10),/*客户住址*/distributornchar(10),/*客户发行员*/)go/*==============================================================*/ /*Table:CustomerOrder,客户订购信息表*//*==============================================================*/ createtableCustomerOrder(name1 nchar(10), /*客户姓名*/sex nchar(10) , /*客户性别*/telephonenchar(20), /*客户电话*/sitenchar(10),/*客户住址*/distributornchar(10),/*客户发行员*/datedatetime/*订购时间*/)go/*==============================================================*/ /*Table:CustomerCancle,客户退订信息表*//*==============================================================*/ createtableCustomerCancle(name1 nchar(10), /*客户姓名*/sex nchar(10) , /*客户性别*/telephonenchar(20), /*客户电话*/sitenchar(10),/*客户住址*/distributornchar(10),/*客户发行员*/datedatetime/*退订时间*/)Go3.ER图1.系统管理员查询2.添加系统用户3.删除系统用户系统管理员账户编号用户名密码权限添加系统管理员账号用户名身份证编号 名字电话 密码权限用户名Email身份证 编号人员 用户名账户密码权限查询系统管理员记录集名字 电话 Email 身份证权限1用户名权限4.更新系统用户5.发行员查询系统用户编号用户名账号密码权限更新系统用户 账号身份证名字电话Email密码权限用户名系统用户编号 用户名 账户密码权限删除系统用户账户身份证编号名字电话权限密码Email用户名用户名用户名6.发行员添加信息7.发行员信息删除系统发行员编号 用户名添加发行员账户社区姓名电话Email身份证用户名密码 权限用户名人员编号 权限查询发行员社区姓名电话Email身份证账户用户名账户 密码权限8.发行员信息更新9.客户信息查询系统管理员编号用户名更新发行员权限社区姓名 电话 Qq Email账户密码 权限账户密码权限社区编号社区系统管理员用户名编号删除发行员账户社姓名 电话 身份证 Email用户名权限密码用户名10.客户信息添加11.客户信息删除系统管理员用户名编号添加客户社区身份证 姓名 Email 电话地址社区社区编号编号系统管理员 编号用户名查询客户社区姓名 电话 Email 地址社区编号社区订购表订购日期截止日期12.客户信息更新13.报纸订购与退订的查询系统管理员 用户名社区更新客户身份证 姓名 地址订购表订购日期 截止日期编号系统管理员 用户名 编号 客户社区身份证姓名社区编号编号编号Client_id订购日期截止日期14.报纸订购添加15.报纸退订删除系统管理员客户电话地址订购表客户编号发行员编号订购日期截止日期发行员用户名社区订购查询退订查询客户电话Email社区地址订购日期截止日期姓名编号16.报纸订购与退订更新17.统计管理系统管理员编号客户姓名身份证电话Email 社区地址订购日期截止日期订购判断删除客户身份证订购表编号发行员编号三、应用系统设计登录界面:登录按钮点击事件代码:privatevoid btnLogin_Click(object sender,EventArgs e){try{if (txtUserName.Text=="")//判断用户是否输入登录名{MessageBox .Show("用户名不能为空");}elseif (txtPwd.Text=="")//判断用户是否输入密码{MessageBox .Show("密码不能为空");}elseif (cmbLogin.Text=="")//判断用户是否选择用户界面{MessageBox .Show("请选择登录界面");cmbLogin.Focus();return ;}else{if (cmbLogin.Text=="客户"){编号区域安排 发行员姓名 社区 客户统计 客户订购统计社区统计 订购日期con.Open();//打开连接SqlCommand cmd=new SqlCommand("selectcount(*)fromUserswherename1='"+txtUserName.Text+"'andpwd1=' "+txtPwd.Text+"'andpermission='"+cmbLogin.Text+"'",con);Int32count=(Int32)cmd.ExecuteScalar();//获取返回值if(count==1){frmMain1main=new frmMain1();main.Show();//弹出客户登陆界面Login_name=txtUserName.Text;this.Hide();//隐藏登陆界面}else{MessageBox.Show("用户名或者密码错误");//弹出提示}con.Close();}if(cmbLogin.Text=="发行员"){SqlConnection con=PaperCon.createCon();//创建数据库连接con.Open();//打开连接SqlCommand cmd=new SqlCommand("selectcount(*)fromUserswherename1='"+txtUserName.Text+"'andpwd1=' "+txtPwd.Text+"'andpermission='"+cmbLogin.Text+"'",con);Int32count=(Int32)cmd.ExecuteScalar();//获取返回值if(count==1){frmMain2main=new frmMain2();main.Show();Login_name=txtUserName.Text;//记录登陆用户名this.Hide();}else{MessageBox.Show("用户名或者密码错误");//弹出提示}con.Close();}if(cmbLogin.Text=="系统用户"){SqlConnection con=PaperCon.createCon();//创建数据库连接con.Open();//打开连接SqlCommand cmd=new SqlCommand("selectcount(*)fromUserswherename1='"+txtUserName.Text+"'andpwd1=' "+txtPwd.Text+"'andpermission='"+cmbLogin.Text+"'",con);Int32count=(Int32)cmd.ExecuteScalar();//获取返回值frmMain3main=new frmMain3();main.Show();Login_name=txtUserName.Text;this.Hide();}else{MessageBox.Show("用户名或者密码错误");//弹出提示}con.Close();//关闭连接}}}catch(Exception ex){MessageBox.Show(ex.ToString());//获取异常}}客户界面:报纸订购事件程序:privatevoid button1_Click(object sender,EventArgs e){try{if(textBox1.Text==""){MessageBox.Show("请输入要订购的报纸名");}else{SqlConnection con=PaperCon.createCon();//创建数据库连接con.Open();SqlCommand cmd1=new SqlCommand("selectcount(*)fromAllpaperwherepaper='"+textBox1.Text+"'",con); Int32count1=(Int32)cmd1.ExecuteScalar();SqlCommand cmd4=new SqlCommand("selectcount(*)fromCustomerOrderwherename1='"+label8.Text+"'andpa per='"+textBox1.Text+"'",con);Int32count4=(Int32)cmd4.ExecuteScalar();if(count4>0)//判断用户是否订购了该报纸{MessageBox.Show("您¨已经订购了该报纸!!!");}if(count1==0)//判断是否有该报纸名{elseif(count1>0&&count4==0){string strSql="insertintoCustomerOrder(name1,sex,paper,telephone,site,date)values('"++"','"++"' ,'"++"','"++"','"++"','"+DateTime.Now.ToString()+"')";SqlCommand cmd=new SqlCommand(strSql,con);cmd.ExecuteNonQuery();//执行SQL语句完成SQL命令MessageBox.Show("订购成功!!!");string strSql1="updateCustomerOrdersetdistributorname=(selectdistributornamefromCustomerInfowhe rename1='"++"')wherename1='"++"'";SqlCommand cmd3=new SqlCommand(strSql1,con);cmd3.ExecuteNonQuery();//执行SQL语句完成SQL命令con.Close();}}}catch(Exception ex){MessageBox.Show(ex.ToString());}}privatevoid Paperorder_Load(object sender,EventArgs e){label8.Text=frmLogin.Login_name;SqlConnection con=PaperCon.createCon();//创建数据库连接con.Open();string str1="selectsexfromCustomerInfowherename1='"+frmLogin.Login_name+"'";SqlCommand cmd1=new SqlCommand(str1,con);string sex=(string)cmd1.ExecuteScalar();label9.Text=sex.ToString();string str2="selecttelephonefromCustomerInfowherename1='"+frmLogin.Login_name+"'"; SqlCommand cmd2=new SqlCommand(str2,con);string telephone=(string)cmd2.ExecuteScalar();label11.Text=telephone.ToString();string str3="selectsitefromCustomerInfowherename1='"+frmLogin.Login_name+"'";SqlCommand cmd3=new SqlCommand(str3,con);string site=(string)cmd3.ExecuteScalar();label12.Text=site.ToString();label13.Text=DateTime.Now.ToString();con.Close();}报纸退订事件程序:privatevoid button1_Click(object sender,EventArgs e){if(textBox3.Text==""){MessageBox.Show("报纸名不能为空");}else{SqlConnection con=PaperCon.createCon();//创建数据库连接con.Open();SqlCommand cmd1=new SqlCommand("selectcount(*)fromCustomerOrderwherename1='"+label8.Text+"'andpa per='"+textBox3.Text+"'",con);Int32count=(Int32)cmd1.ExecuteScalar();if(count>0){string strSql="DELETEFROMCustomerOrderwherename1='"++"'andpaper='"++"'";SqlCommand cmd=new SqlCommand(strSql,con);cmd.ExecuteNonQuery();//执行SQL语句完成SQL命令MessageBox.Show("退订成功!!!");string strSql1="insertintoCustomerCancle(name1,sex,paper,telephone,site,date)values('"++"','"++ "','"++"','"++"','"++"','"+DateTime.Now.ToString()+"')";SqlCommand cmd3=new SqlCommand(strSql1,con);cmd3.ExecuteNonQuery();//执行SQL语句完成SQL命令con.Close();}elseif(count==0)//判断是否有该订购记录{MessageBox.Show("您没有订购该报纸,操作失败!!!");}}}catch(Exception ex){MessageBox.Show(ex.ToString());}}privatevoid PaperCancle_Load(object sender,EventArgs e){label8.Text=frmLogin.Login_name;SqlConnection con=PaperCon.createCon();//创建数据库连接con.Open();string str1="selectsexfromCustomerInfowherename1='"+frmLogin.Login_name+"'";SqlCommand cmd1=new SqlCommand(str1,con);string sex=(string)cmd1.ExecuteScalar();label9.Text=sex.ToString();SqlCommand cmd2=new SqlCommand(str2,con);string telephone=(string)cmd2.ExecuteScalar();label10.Text=telephone.ToString();string str3="selectsitefromCustomerInfowherename1='"+frmLogin.Login_name+"'";SqlCommand cmd3=new SqlCommand(str3,con);string site=(string)cmd3.ExecuteScalar();label11.Text=site.ToString();label12.Text=DateTime.Now.ToString();con.Close();}发行员界面:我的客户点击事件程序:privatevoid我的客户?ìToolStripMenuItem_Click(object sender,EventArgs e){SqlConnection con=PaperCon.createCon();//创建数据库连接¨con.Open();string commandString="Select*fromCustomerInfowheredistributorname='"+frmLogin.Login_name+"'";//获取该发行员的客户信息SqlDataAdapter DataAdapter=new SqlDataAdapter(commandString,con);DataSet DataSet=new DataSet();DataAdapter.Fill(DataSet,"CustomerInfo");DataTable dataTable=DataSet.Tables[0];dataGridView1.DataSource=dataTable;con.Close();}删除退订点击事件程序:privatevoid删|除ToolStripMenuItem_Click(object sender,EventArgs e){if(MessageBox.Show("确定删|除所选记录吗","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Asterisk)==DialogResult.OK){SqlConnection con=PaperCon.createCon();//创建数据库连接con.Open();string sql="deletefromCustomerCanclewherepaper='"+"paper"].FormattedValue.ToString()+"'";//删除该条退订记录SqlCommand cmd=new SqlCommand(sql,con);cmd.ExecuteNonQuery();//执行SQL语句完成SQL命con.Close();}}订购数量点击事件程序:privatevoid订购数量ToolStripMenuItem_Click(object sender,EventArgs e){show2();//调用show2()privatevoid show2(){SqlConnection con=PaperCon.createCon();//创建数据库连接con.Open();string strSql="Select*fromCustomerOrderwheredistributorname='"+frmLogin.Login_name+"'"; SqlCommand cmd=new SqlCommand(strSql,con);cmd.ExecuteNonQuery();//执行SQL语句完成SQL命令int count=0;SqlDataReader reader=cmd.ExecuteReader();while(reader.Read()){count++;Console.WriteLine(String.Format("{0}",reader[0]));}MessageBox.Show("我的客户订购数量为:"+count.ToString());con.Close();}系统用户界面:增加报纸点击事件程序:privatevoid button1_Click(object sender,EventArgs e){if(textBox1.Text==""){MessageBox.Show("报纸名不能为空");}else{try{SqlConnection con=PaperCon.createCon();//创建数据库连接con.Open();SqlCommand cmd=new SqlCommand("insertintoAllpaper(paper)values('"++"')",con);//向表中插入该报纸名cmd.ExecuteNonQuery();//执行SQL语句完成SQL命令con.Close();MessageBox.Show("添加成功");}catch(Exception ex){MessageBox.Show("该报纸名已存在!!!");}}}添加客户点击事件代码:if(textBox1.Text==""){MessageBox.Show("用户名不能为空");}elseif(textBox2.Text==""){MessageBox.Show("密码不能为空");}else{SqlConnection con=PaperCon.createCon();//创建数据库连接con.Open();SqlCommand cmd2=new SqlCommand("selectcount(*)fromUserswherename1='"++"'",con);Int32count=(Int32)cmd2.ExecuteScalar();if(count==1)//判断是否有该用户{MessageBox.Show("该用户已经存在");}else{string strSql="insertintoUsers(name1,pwd1,permission)values('"++"','"++"','客户')";//向用户表中插入该客户SqlCommand cmd=new SqlCommand(strSql,con);cmd.ExecuteNonQuery();//执行SQL语句完成SQL命令string strSql1="insertintoCustomerInfo(name1)values('"++"')";//向客户信息表中插入该客户SqlCommand cmd1=new SqlCommand(strSql1,con);cmd1.ExecuteNonQuery();//执行SQL语句完成SQL命令MessageBox.Show("添加成功!!!");con.Close();}}}privatevoid button1_Click(object sender,EventArgs e){try{if(textBox1.Text==""){MessageBox.Show("客户姓名不能为空");}elseif(textBox2.Text==""){MessageBox.Show("发行员不能为空");{SqlConnection con=PaperCon.createCon();//创建数据库连接con.Open();SqlCommand cmd1=new SqlCommand("selectcount(*)fromUserswherename1='"+textBox1.Text+"'andpermissi on='客¨a户?ì'",con);Int32count1=(Int32)cmd1.ExecuteScalar();//判断是否有该客户SqlCommand cmd2=new SqlCommand("selectcount(*)fromUserswherename1='"+textBox2.Text+"'andpermissi on='发¤?é行D员?à'",con);Int32count2=(Int32)cmd2.ExecuteScalar();//判断是否有该发行员if(count1==0){MessageBox.Show("没有该客户!!!");}elseif(count2==0){MessageBox.Show("没有该发行员!!!");}else{string strSql3="updateCustomerInfosetdistributorname='"++"'wherename1='"++"'";SqlCommand cmd3=new SqlCommand(strSql3,con);cmd3.ExecuteNonQuery();//执行SQL语句完成SQL命令string strSql4="updateCustomerOrdersetdistributorname='"++"'wherename1='"++"'";SqlCommand cmd4=new SqlCommand(strSql4,con);cmd4.ExecuteNonQuery();//执行SQL语句完成SQL命令con.Close();MessageBox.Show("分配成功!!!");}}}catch(Exception ex){MessageBox.Show(ex.ToString());}}更改密码点击事件程序:privatevoid button1_Click(object sender,EventArgs e){if(textBox3.Text=="")//判断用户是否输入了用户名{MessageBox.Show("用户名不能为空");}elseif(textBox1.Text==""){MessageBox.Show("原密码不能为空");//判断用户是否输入了密码}elseif(textBox2.Text==""){MessageBox.Show("新密码不能为空");}else{SqlConnection con=PaperCon.createCon();//创建数据库连接con.Open();SqlCommand cmd2=new SqlCommand("selectcount(*)fromUserswherename1='"++"'andpwd1='"++"'",con); Int32count2=(Int32)cmd2.ExecuteScalar();if(count2>0){string strSql1="updateuserssetpwd1='"++"'wherepwd1='"++"'";SqlCommand cmd1=new SqlCommand(strSql1,con);cmd1.ExecuteNonQuery();//执行SQL语句完成SQL命令con.Close();MessageBox.Show("修改成功!!!");}if(count2==0){MessageBox.Show("用户名或密码错误!!!");}con.Close();}}}。

投递系统投递站日常操作规程

投递系统投递站日常操作规程

邮政投递系统操作规程(试行)一、班前准备(一)投递员排班1.系统登录在弹出系统登录界面后,依次输入“用户名”、“密码”、“台席”(系统为默认01台席),回车后进入“登录日期/班次”确认界面。

一般默认为当天日期,并输入当班班次。

若需提前处理指定日期和班次的邮件信息,可通过修改操作日期实现。

注:操作日期不允许输入当天之前的操作日期和班次。

2.排班操作(1)在“登录日期/班次”界面输入班次后回车,进入系统主界面。

选择“B.系统维护—2.排班表维护”,输入排班日期和班次,回车确定后,光标将移至排班输入框内,依次输入投递段号、投递员工号,系统将自动显示投递员工姓名,每输入一条记录后,系统将自动保存数据,界面下方将显示“存储成功”字样。

(2)排班表录入一次,此后即可通过“F9”复制排班表功能,对本日排班记录进行复制,如遇投递员变动(如公休、串班、病事假等)时,只需在复制记录上直接进行修改即可。

进行排班操作时,也可对未来日期已确定的班次进行提前排班。

(二)邮件接收1.实物邮件接收质检员或班组长接收邮件总包,清点各类给据邮件数量(挂信、挂刷、包单、汇票),并与总包内封发清单进行勾挑核对,遇单物不符情况须向上环节缮发验单,如数量相符则准备接收数据。

2.系统数据接收(1)、分拣前臵子系统在系统主界面登录“3.邮件接收 -1邮件逐件接收”模块,扫描邮件条码后,完善收寄人、地址等信息后按“F5”保存接收邮件;如系统数据与实物邮件数量不符,则将光标移至“邮件号码”处,逐件扫描邮件条码对邮件进行逐件接收,不接收无实物邮件数据。

对无数据的邮件在“4.邮件录入”模块逐件进行邮件的接收。

(2)、投递生产子系统在系统主界面登录“1.邮件接收–中心局邮件接收或3. 分拣前臵邮件接收或4.逐件邮件接收”模块,按“F2”在界面左框内显示待接收邮件明细,查看左框右下角总记录数是否与实物邮件数量相符,如相符则按“Ctrl+A”,将邮件信息全部选至界面右框,按“F5”保存接收邮件;如系统数据与实物邮件数量不符,则将光标移至“邮件号码”处,逐件扫描邮件条码对邮件进行逐件接收,不接收无实物邮件数据。

报刊订阅管理系统

报刊订阅管理系统

目录1.需求分析 (2)1.1、系统需求分析 (2)1.1.1系统调查 (2)1.1.2用户需求 (2)1.1.3 可行性分析 (3)1.1.4系统业务流程图 (4)1.2系统逻辑方案 (4)1.2.1 数据流图(简称DFD) (5)1.2.2数据字典(简称DD) (7)1.3系统功能模块设计 (8)2 概念结构设计 (10)2.1设计方法和步骤 (10)2.2概念结构E-R图 (10)3 逻辑结构设计(E-R图向关系模型的转换) (12)4 物理结构设计 (14)4.1索引的选择建立 (15)4.2数据存放位置 (15)4.3确定系统配置 (15)5 数据库的实施和维护 (15)5.1数据库的完整性和安全性 (15)5.2数据库操作(SQL S ERVER2000语句完成) (16)5.2.1 创建数据库 (16)5.2.2建立存储过程向表中插入、修改、删除数据 (17)5.2.3建立存储过程实现查询 (21)5.2.4 视图建立 (27)5.2.5 建立触发器 (27)6 课程设计小结 (28)7 参考文献 (28)1.需求分析1.1、系统需求分析1.1.1系统调查随着社会不断的发展,人们的生活水平越来越高,人们对知识的和对时事的渴求也越来越高,而获得知识的一个主要途径就是通过阅读书籍,所以人们希望能够方便快捷地订阅各种报刊杂志。

通过对某些企业的报刊订阅业务进行调查,发现目前是通过以下3种方式订阅报刊:一是读者可到全市邮政支局办理报刊订阅业务,办理订阅后可按读者要求送达地址进行投送。

二是读者通过单位报刊发行站集体订阅,由单位发行人员登记汇总后集中到邮局办理报刊订阅。

三是读者也可拨打邮政服务热线“11185”电话,办理报刊订阅(一般适用于新订户)。

读者拨打“11185”接通后:根据语音提示,话务员就可为你办理所需要的邮发报刊的订阅预约,并通知相关邮局按读者约定的时间内上门办理报刊订阅手续。

通过调查得知,过去这些企业的报刊订阅人工操作占绝大部分,操作起来很费时而且很容易出错,数据的存储很不科学,订阅数据随时间的推移很容易丢失。

报刊投递投递员处理流程

报刊投递投递员处理流程

报刊投递投递员处理流程英文回答:Newspaper and Magazine Delivery Mail Carrier Process Flow.Step 1: Preparation.Gather necessary materials, including newspapers, magazines, and delivery bag.Sort materials by route and delivery address.Secure materials in delivery bag.Step 2: Delivery.Follow designated delivery route.Identify and locate delivery addresses.Deposit newspapers and magazines securely in designated locations, such as mailboxes, front porches, or other specified areas.Maintain a record of deliveries, including any missed or undeliverable items.Step 3: Customer Service.Address any customer inquiries or complaints promptly and professionally.Provide information on subscription services, delivery schedules, and payment options.Report unresolved customer issues to supervisors or managers.Step 4: Returns and Undeliverable Items.Collect undeliverable newspapers and magazines forreturn to the office.Document and log all returned items, including reasons for non-delivery.Handle returns according to company policy.Step 5: End-of-Day Procedures.Return any undelivered items to the office.Submit delivery records and any necessary reports.Clean and maintain delivery bag and equipment.Additional Considerations.Safety: Maintain safety precautions while delivering, such as wearing appropriate clothing, being aware of surroundings, and walking or driving responsibly.Time Management: Plan and optimize routes to ensuretimely and efficient deliveries.Customer Satisfaction: Provide excellent customer service and address any concerns promptly and effectively.Weather Conditions: Adapt delivery methods and schedules as necessary to accommodate adverse weather conditions.中文回答:报刊投递投递员处理流程。

邮政报刊大客户订阅服务系统功能简介

邮政报刊大客户订阅服务系统功能简介

16
界面演示---邮政电子化支局报刊大客户处理
大客户数据转入
进入收订主界面选择3.特殊处理菜单,选择6.大客户处理选项,进入到大客户处理菜单:
选择1进入大客户数据转入功能
17
选择对应的订单信息进入订单详情界面
18
在订单数据未转入之前可对订单信息进行修改、增加、删除、审核等操作,转入后对订 单信息则不允许进行任何的操作。
订单正式提交后,不能对订单进行修改。
14
界面演示---订单导入
如客户有EXCEL格式的订单文件,也可采用订单导入的方式,替代报刊预定操作。首先根据EXCEL模 版编辑好需导入的订阅数据。然后在系统中,选择导入的地址和导入的目标文件,点击导入即可
15
界面演示---报刊续订
如客户需要根据上一年度报刊收订记录,直接续订本年度报刊,可采用报刊续订功能替代报 刊预定操作。 登陆系统后,进入[报刊续订]菜单,选择从用户卡片续订,输入对应的查询条件,查询出去 年的报刊收订信息。勾选所需订阅的报刊,点击续订,放入报刊预定库。
5
系统业务功能(三)
1、内部管理人员 维护大客户信息 大客户营销人员
2、报刊大客户系统 提供大客户编号
3、登陆大客户系统完成 报刊订阅信息录入 6、提供到报刊、目录变动、 主投分送单、投递卡片查询 等后续增值服务 客户预 订单下传 回告单 信息上传 网点营业员 大客户
报刊大客户 服务系统
4、定单数据审核
3、订销局管理员将大客户编号和密码告知大客户,由大客户登录系统修改用
户密码并设置投递地址。投递地址是系统能否进行收订的前提,必须正确 维护好投递地址,才能进行报刊订阅操作 。
7
注意事项
4、大客户操作人员完成上述基础信息维护后,即可进行报刊订阅操作。

邮政新一代寄递平台投递业务管理道段信息的维护

邮政新一代寄递平台投递业务管理道段信息的维护

邮政新一代寄递平台投递业务管理道段信息的维护维护模块登录新一代寄递平台【更多】—【基础信息管理】—【名址匹配】—【投递管理道段维护】模块,点击【新增】,可进入“业务管理段”信息维护界面。

维护标准【投递局名称】上级机构通过下拉菜单选择相应投递生产机构,投递生产机构本身则固定显示本投递生产机构名称。

【道段编号】以投递生产机构为单位,采用阿拉伯数字流水号编列。

【道段名称】以投递生产机构为单位,采用阿拉伯数字流水号编列。

特殊道段,可采用汉字名称。

【道段属性】依据投递道段作业内容选择编列,其中混投道段选择“综合”、包快揽投段选择地“小包”、“快包”。

1.综合,代表投递全部类型的邮件;2.信函,代表投递信函类型的邮件(不包括信函型标准特快);3.报刊,代表投递报纸、期刊;4.小包,代表投递国内快递包裹(含同类国际及港澳台邮件);5.快包,同“小包”;6.速递,代表投递标准快递(含同类国际及港澳台邮件)、国际包裹;七是个性化,代表投递区域性业务(非传统业务)。

【投递段类型】依据地域作业标准分别据实选择“城市段”、“农村段”。

对城郊套路的道段,由市分公司依据业务量、区域需求选择相应类型。

其中:选择类型需满足如下要求:1.A类投递生产机构:依据陆运网运营标准,该生产机构所属投递道段必须为“城市段”;2.B、C类投递生产机构:依据陆运网运营标准,该生产机构所属投递道段全部或大部分为“城市段”,少部分为“农村段”;3.D类投递生产机构:依据陆运网运营标准,该生产机构全部为“农村段”。

【交通工具类型】依据市分公司核定的交通工具,通过下拉菜单据实选择。

【道段所属区】略。

【频次及生产道段信息】依据选择地“城市段”与“农村段”的差异,分别填列不同属性信息。

1.城市段。

一是投递频次。

依据市分公司核定的投递作业频次据实填写。

二是出班时间。

依据市分公司拟定的投递作业计划据实填写,内容包括每频次出班时间、投递的作业内容。

三是对应的生产道段数量。

投递系统日常操作流程介绍讲义

投递系统日常操作流程介绍讲义
用于内部处理结束后对当日进口、上班结存等给据邮件的平衡合 拢,确保进、出口邮件数据吻合,并用于内部分拣人员与外部投 递人员的责任划分。平衡合拢后系统自动生成投递员出班交接表 、投递清单。 操作步骤为【4.平衡合拢】→【1.平衡合拢处理】操作界面如图 :
操作要点: 1.根据日期、班 次,【确定】后 查询出当日班次 进口邮件信息。 2.按【F5平衡合 拢】处理,可按 【F7】打印平衡 合拢表,按【F6 】打印投递员出 班交接表。
市场经营部
邮件信息接收或补录
(6)上级投递局二次分拣模式 适用于与中心局或分拣前置无直接分发关系的投递部,实物需
要由县局等投递部进行二次分拣的作业模式。操作菜单为【1.邮 件接收】→【7.上级投递部邮件接收】,操作界面如图:
操作要点: 1.根据总包信息、邮 件信息、封发日期等 信息,按F2查询到对 应的邮件信息。 2.按CTRL+A全部或 CTRL+B部分及CTRL+F 逐件,将邮件信息从 左框移至右框,按【 F4保存】。
市场经营部
归班信息处理
1.归班信息反馈 用于投递员归班后的投递信息反馈。 操作菜单为【5.归班登记】→【1.归班登记】,界面如图:
操 作 要 点:根 据 邮件种类、日期、 班次等信息,按【 确定】将邮件信息 查询出来,在【投 递备注】批注投交 信息(妥投、转、 退、存局、下班再 投、次日再投、预 约再投、转窗投) ,【保存】即可。
点代为处理。操作菜单为【8.投递反馈】→【2.代归班反馈录入 】,界面如图:
市场经营部
归班信息处理
操作要点: 1.【投递局】栏输入需做信息反馈的投递局机构代码或根 据机构名称首拼来选择对应的投递机构。 2.在【号码】栏输入邮件投递清单上邮件号码信息。 3.在【投递备注】栏根据投递清单上用户签收情况批注“ 妥投”、“转”、“退”、“再投”等投递信息。 4.在【投递日期】和【投递时间】栏输入邮件实际投递日 期和时间。

报刊订阅管理系统的设计与实现

报刊订阅管理系统的设计与实现

报刊订阅管理系统的设计与实现软件 学院 软件⼯程 专业 2016 -7 班⼀、课程设计(论⽂)题⽬ 综合课程设计2 ⼆、课程设计(论⽂)⼯作⾃ 2018 年 1⽉ 1 ⽇起⾄ 2018 年 1⽉ 12 ⽇⽌。

三、课程设计(论⽂) 地点:软件⼯程实训中⼼⼀部四、课程设计(论⽂)内容要求:1.本课程设计的⽬的(1)使学⽣熟练掌握数据库基本原理;(2)使学⽣熟练掌握数据库的分析和设计能⼒;(3)培养学⽣熟练使⽤常见的数据库管理系统;(4)培养学⽣使⽤Java语⾔进⾏⾯向对象设计的能⼒;(5)培养学⽣熟练使⽤Java语⾔进⾏数据库应⽤程序设计的能⼒;(6)提⾼学⽣的科技论⽂写作能⼒。

2.基本要求:课程设计题⽬:报刊订阅管理系统设计主要内容:设计⼀个报刊订阅应⽤系统,使系统满⾜以下功能和需求:1)⼀个订户可以订多种报刊;⼀种报刊可被多个⽤户订阅;订单只能订阅现有报刊⽬录投递时,必须根据订单的情况进⾏投递,不得超出订单的订阅品种,数量;2)订阅管理:订户添加,修改,删除;⽬录管理:⽬录添加,修改,删除;订单管理:完成订户订阅数据的管理(包括添加,修改,删除)订单查询:按订户或者订单号查询订单详细情况;统计查询:按报刊⽬录统计各类报刊的订阅数量和⾦额;3.课程设计论⽂编写要求(1)要按照书稿的规格打印誊写课设报告;(2)报告分为封⾯、任务书(本⽂档)、正⽂、课程设计体会和参考⽂献四部分;学⽣签名:(1)题⽬分析(20分):优( )、良( )、中( )、⼀般( )、差( );(2)流程分析 (30分):优( )、良( )、中( )、⼀般( )、差( );(3)数据定义 (30分):优( )、良( )、中( )、⼀般( )、差( );(4)代码编写 (10分):优( )、良( )、中( )、⼀般( )、差( );(5)创新能⼒ (10分):优( )、良( )、中( )、⼀般( )、差( );(6)格式规范性、设计态度及考勤是否降等级:是( )、否( )评阅⼈: 职称:讲师正⽂⼀、数据设计1. 实体实体1:部门属性2:部门名实体2:⽤户属性1:⽤户名属性2:密码属性3:真实姓名属性4:性别属性5:部门号属性6:联系电话属性7:联系地址属性8:订阅报刊种类数实体3:管理员属性1:管理员名属性2:密码实体4:报刊属性1:报刊代号属性2:报刊名属性3:类型属性4:出版报社属性5:出版周期属性6:半年订阅价属性7:全年订阅价实体5:订阅属性1:⽤户名属性2:报刊代号属性3:订阅年限属性4:订阅数量属性5:所需⾦额报刊订阅管理系统结构功能图:联系本设计中实体之间的联系如下(E-R图):部门系统E-R图:1报刊nm n 各实体E-R 图:部门部门:⽤户:管理员管理员:报刊:关系表E-R 图:⼆、数据库设计1. 关系模式本设计中的关系模式如下:部门(部门号,部门名)关系主键:部门号;外键:⽆⽤户(⽤户名,密码,真实姓名,性别,部门号,联系电话,联系地址,订阅报刊种类数)关系主键:⽤户名;外键:部门号管理员(管理员名,密码)关系主键:管理员名;外键:⽆报刊(报刊代号,报刊名,类型,出版报社,出版周期,半年订阅价,全年订阅价)关系外键:报刊代号;外键:⽆订阅(订阅号,报刊代号,订阅年限,订阅数量,所需⾦额)关系主键:订阅号;外键:报刊代号2. 数据表本设计中创建的数据库名为:数据表分别为表1:部门表表2:⽤户表表3:管理员表2. 数据库关系图为:三、数据库实现设计中实现数据库操作的SQL 语句如下:1)新建数据表:1 CREATE TABLE [dbo].[Customer](23 [Cid] [char](10) COLLATE Chinese_CI_AS NOT NULL,45 [Cname] [char](20) COLLATE Chinese_CI_AS NULL,67 [Phone] [char](15) COLLATE Chinese_CI_AS NULL,8 92)新建查询:1 select *23 from view_1 where 报刊编号 in";45 "(select news_id from 订阅信息表 where reader_id=‘023’)67 select *89 from view_1 where 部门 in";10 11 "(select 部门号 from ⽤户 where ⽤户名=’肖总’)四、程序设计1)类设计中定义的Java类如下:2) Dbutils类,表⽰设计连接数据库。

投递系统日常操作流程介绍讲义

投递系统日常操作流程介绍讲义
用于内部处理结束后对当日进口、上班结存等给据邮件的平衡合 拢,确保进、出口邮件数据吻合,并用于内部分拣人员与外部投 递人员的责任划分。平衡合拢后系统自动生成投递员出班交接表 、投递清单。 操作步骤为【4.平衡合拢】→【1.平衡合拢处理】操作界面如图 :
操作要点: 1.根据日期、班 次,【确定】后 查询出当日班次 进口邮件信息。 2.按【F5平衡合 拢】处理,可按 【F7】打印平衡 合拢表,按【F6 】打印投递员出 班交接表。
邮件的登记处理。操作菜单为【5.归班登记】→【2.退件登记】
,界面如图。
操作要点:扫
描邮件号码后
,在【选择】
栏选中相关邮
件 后【F6】
批注“转退”
, 按 【F8】 批
注“存局”。
市场经营部
归班信息处理
4.代反馈模式 针对不具备上线条件的网点,其邮件的信息反馈有指定网
描邮件条码勾挑核对。
市场经营部
邮件信息接收或补录
(4)分拣前置接收模式 适用于分拣前置分拣到段的作业模式。操作菜单为【1.邮件
接收】→【3.分拣前置邮件接收】,界面如图:
操作要点: 1.根据邮件号码、邮件 种类、封发日期、封发 班次等信息,按F2查询 出邮件信息。 2.按CTRL+A全部或 CTRL+B部分从左框移到 右框,按【F4保存】即 可。 注意事项:对于分拣 前置均已分拣到段,可 按批量接收邮件信息, 无需批注局段信息。
市场经营部
投递清单打印
操作要点: 根据局段、日期、班 次、种类、客户名称等 信息,按【F6】打印大 宗投递清单,按【F7】 打印出大宗用户投递详 情单,格式同零星投递 清单,用于收发室、社 区、物业等转投点与用 户之间签收。也可按【 F5】重新生成大宗投递 清单数据。

报纸发行员投递系统

报纸发行员投递系统
Keyword: The database access;Visual Basic 6.0;taking care of books, window body
目录
第一章需求分析1
第二章可行性分析报告1
2.1开发报纸发行员投递系统的必要性1
2.3经济上可行性2
第三章概要分析3
3.1报纸发行员投递管理系统的分析和概要设计3
2.5运行上可行性
本系统为一个小型的学生信息管理系统,投入的少,见效快,学校的电脑无论是硬件还是软件都能够满足要求,因此,本系统在运行上是可行的。
2.6法律上可行性
本系统纯为私人设计,在开发过程中没有涉及合同、责任等与法律相抵触的方面。因此,本系统在法律上是可行的。
目的:
设计系统结构,根据需求要析给出的功能得出系统体系结构。如划分模块。
6.1软件测试的目的19
6.2软件测试的原则19
6.3测试的过程与组织20
第七章结束语21
致谢22
参考文献22
第一章
随着城市经济建设的快速发展,人们的对物质和文化需求不断提高,新闻传媒配送作为公共文化服务的基础设施,是城市文化事业的一部分,它不仅方便了大家查看新闻书刊,和别人分享自己的书刊信息,而且便于管理员的管理,在用户和管理员之间建立一座有效、高速的桥梁,丰富了大家的业余生活。
第一,本系统的运行可以节省了大量的劳动力;
第二,本系统的运行可以节省资源;
第三,本系统的运行可以大大的提高学校的工作效率;
第四,本系统可以使敏感文档更加安全,
第五,本系统投入少,见效快等等。
所以,本系统在经济上是可行的。
2.4
为本系统的开发我特对个学校进行了深入的调查研究。现在大多学校有几千人,大概也只有一百个班,每年用于档案管理的发费很大且维护不易,造成学校管理的难题,并且开发人员对用户所提出的要求也都能够满足。并且本系统的开发我利用Microsoft Access作为本系统的数据库,它是一个支持多用户的新型数据库,适用于大中规模的数据量需求。学校校园网的建设也为新系统服务器/客户端的结构提供了硬件的支持。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

报纸发行员投递管理系统报纸的客户主要集中在社区,每个社区有若干客户。

每个发行员管理若干客户。

为该报社开发一个报纸发行员投递管理系统。

系统主要功能如下:(1) 系统用户管理:实现系统管理员添加、删除和更改密码等功能。

(2) 发行员管理:实现发行员个人信息的查询和维护。

(3) 客户信息管理:实现客户信息的查询和维护。

(4) 报纸管理:报纸订购和退订信息的维护和查询(5) 管理统计:发行员负责区域的安排,客户数量和订购信息的统计。

一、报纸发行员投递管理系统的分析和概要设计(1)系统模块菜单:1 系统用户管理实现系统管理员添加删除以及密码更改功能2 发行员管理实现发行员个人信息的维护对发行员进行查询3 客户信息管理实现客户信息的维护对客户进行查询4 报纸管理报纸订购和退订信息的维护报纸订购和退订信息的查询5 管理统计发行员负责区域的安排客户数量和订购信息的统计(2)报纸发行员投递管理系统功能描述1 系统用户管理:对系统管理员添加,删除,更新及查询;2 发行员管理:实现对每个发行员添加,删除,更新及查询3 客户信息管理:实现对每个客户信息添加,删除,更新及查询4 报纸管理:报纸订购与退订,及报纸信息的添加,删除,更新及查询5 管理统计:发行员负责的区域的更新,客户数量的统计,订购信息的统计二、系统数据结构设计用户需求具体有报刊发行员管理系统提供保存、更新、查询、维护,这就需求数据库结构能充分满足各种信息的输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据。

1.数据流图描述:本系统从总体上分为系统系统用户管理、发行员管理、客户管理、报纸管理和统计功能。

信息流入图2.数据库中的表有关创建数据库和关系表的SQL语句如下所示:/*========================================================== ====*//* DataBase: 报纸发行员投递管理系统, 创建数据库,数据库名称为报纸发行员投递管理系统*//*========================================================== ====*/create database报纸发行员投递管理系统go/*========================================================== ====*//* Table: paper, 报纸信息表*//*========================================================== ====*/create table paper (paper nchar(10), /*报纸名*/)go/*========================================================== ====*//* Table: CustomerInfo, 客户个人信息表*//*========================================================== ====*/create table CustomerInfo (name1 nchar(10), /*客户姓名*/sex nchar(10) , /*客户性别*/telephone nchar(20), /*客户*/site nchar(10), /*客户住址*/distributor nchar(10), /*客户发行员*/)go/*========================================================== ====*//* Table: CustomerOrder,客户订购信息表*//*========================================================== ====*/create table CustomerOrder(name1 nchar(10), /*客户姓名*/sex nchar(10) , /*客户性别*/telephone nchar(20), /*客户*/site nchar(10), /*客户住址*/distributor nchar(10), /*客户发行员*/date datetime /*订购时间*/)go/*========================================================== ====*//* Table: CustomerCancle,客户退订信息表*//*========================================================== ====*/create table CustomerCancle(name1 nchar(10), /*客户姓名*/sex nchar(10) , /*客户性别*/ telephone nchar(20), /*客户*/site nchar(10), /*客户住址*/ distributor nchar(10), /*客户发行员*/ date datetime /*退订时间*/)Go3.ER图1. 系统管理员查询2. 添加系统用户3. 删除系统用户4. 更新系统用户5. 发行员查询6.发行员添加信息7.发行员信息删除8.发行员信息更新9. 客户信息查询10.客户信息添加11.客户信息删除12.客户信息更新13.报纸订购与退订的查询14.报纸订购添加15.报纸退订删除16.报纸订购与退订更新17.统计管理三、应用系统设计登录界面:登录按钮点击事件代码:private void btnLogin_Click(object sender, EventArgs e){try{if (txtUserName.Text == "") //判断用户是否输入登录名{MessageBox.Show("用户名不能为空");}elseif (txtPwd.Text == "") //判断用户是否输入密码{MessageBox.Show("密码不能为空");}elseif (cmbLogin.Text == "") //判断用户是否选择用户界面{MessageBox.Show("请选择登录界面");cmbLogin.Focus();return;}else{if (cmbLogin.Text == "客户"){SqlConnection con = PaperCon.createCon(); //创建数据库连接con.Open(); //打开连接SqlCommand cmd = new SqlCommand("select count(*)from Users where name1='" + txtUserName.Text + "' and pwd1='" + txtPwd.Text + "'andpermission='"+cmbLogin.Text+"'", con);Int32 count = (Int32)cmd.ExecuteScalar(); //获取返回值if(count==1){frmMain1 main = new frmMain1();main.Show(); //弹出客户登陆界面Login_name = txtUserName.Text;this.Hide(); //隐藏登陆界面}else{MessageBox.Show("用户名或者密码错误"); //弹出提示}con.Close();}if (cmbLogin.Text == "发行员"){SqlConnection con = PaperCon.createCon(); //创建数据库连接con.Open(); //打开连接SqlCommand cmd = new SqlCommand("select count(*)from Users where name1='" + txtUserName.Text + "' and pwd1='" + txtPwd.Text + "'and permission='" + cmbLogin.Text + "'", con);Int32 count = (Int32)cmd.ExecuteScalar(); //获取返回值if (count==1){frmMain2 main = new frmMain2();main.Show();Login_name = txtUserName.Text; //记录登陆用户名this.Hide();}else{MessageBox.Show("用户名或者密码错误"); //弹出提示}con.Close();}if (cmbLogin.Text == "系统用户"){SqlConnection con = PaperCon.createCon(); //创建数据库连接con.Open(); //打开连接SqlCommand cmd = new SqlCommand("select count(*)from Users where name1='" + txtUserName.Text + "' and pwd1='" + txtPwd.Text + "'and permission='" + cmbLogin.Text + "'", con);Int32 count = (Int32)cmd.ExecuteScalar(); //获取返回值if (count==1){frmMain3 main = new frmMain3();main.Show();Login_name = txtUserName.Text;this.Hide();}else{MessageBox.Show("用户名或者密码错误"); //弹出提示}con.Close(); //关闭连接}}}catch (Exception ex){MessageBox.Show(ex.ToString()); //获取异常}}客户界面:报纸订购事件程序:private void button1_Click(object sender, EventArgs e){try{if (textBox1.Text == ""){MessageBox.Show("请输入要订购的报纸名");}else{SqlConnection con = PaperCon.createCon(); //创建数据库连接con.Open();SqlCommand cmd1 = new SqlCommand("select count(*)from Allpaper where paper='" + textBox1.Text + "'", con);Int32 count1 = (Int32)cmd1.ExecuteScalar();SqlCommand cmd4 = new SqlCommand("select count(*)from CustomerOrder where name1='" + label8.Text + "' and paper='" + textBox1.Text + "'", con);Int32 count4 = (Int32)cmd4.ExecuteScalar();if (count4 > 0) //判断用户是否订购了该报纸{MessageBox.Show("您¨已经订购了该报纸");}if (count1 == 0) //判断是否有该报纸名{MessageBox.Show("没有该报纸名,订购失败");}else if ( count1 > 0 && count4==0){string strSql = "insert into CustomerOrder(name1,sex,paper,telephone,site,date) values('" + label8.Text.ToString() + "','" + label9.Text.ToString() + "','" + textBox1.Text.ToString() + "','" + label11.Text.ToString() + "','" + label12.Text.ToString() + "','" + DateTime.Now.ToString() + "')";SqlCommand cmd = new SqlCommand(strSql, con);cmd.ExecuteNonQuery();// 执行SQL语句完成SQL命令MessageBox.Show("订购成功");string strSql1 = " update CustomerOrder set distributorname=(select distributorname from CustomerInfo where name1='" + label8.Text.ToString() + "')where name1='" + label8.Text.ToString() + "'";SqlCommand cmd3 = new SqlCommand(strSql1, con);cmd3.ExecuteNonQuery();// 执行SQL语句完成SQL命令con.Close();}}}catch (Exception ex){MessageBox.Show(ex.ToString());}}private void Paperorder_Load(object sender, EventArgs e){label8.Text=frmLogin.Login_name;SqlConnection con = PaperCon.createCon(); //创建数据库连接con.Open();string str1="select sex from CustomerInfo where name1='"+frmLogin.Login_name+"'";SqlCommand cmd1 = new SqlCommand(str1, con);string sex = (string)cmd1.ExecuteScalar();label9.Text = sex.ToString();string str2 = "select telephone from CustomerInfo where name1='" +frmLogin.Login_name + "'";SqlCommand cmd2 = new SqlCommand(str2, con);string telephone = (string)cmd2.ExecuteScalar();label11.Text = telephone.ToString();string str3 = "select site from CustomerInfo where name1='" + frmLogin.Login_name + "'";SqlCommand cmd3 = new SqlCommand(str3, con);string site = (string)cmd3.ExecuteScalar();label12.Text = site.ToString();label13.Text = DateTime.Now.ToString();con.Close();}报纸退订事件程序:private void button1_Click(object sender, EventArgs e) {try{if (textBox3.Text == ""){MessageBox.Show("报纸名不能为空");}else{SqlConnection con = PaperCon.createCon(); //创建数据库连接con.Open();SqlCommand cmd1 = new SqlCommand("select count(*)from CustomerOrder where name1='" + label8.Text + "'and paper='" + textBox3.Text + "'", con);Int32 count = (Int32)cmd1.ExecuteScalar();if ( count > 0){string strSql = "DELETE FROM CustomerOrder where name1='" +label8.Text.ToString() + "'and paper='" + textBox3.Text.ToString() + "'";SqlCommand cmd = new SqlCommand(strSql, con);cmd.ExecuteNonQuery();// 执行SQL语句完成SQL命令MessageBox.Show("退订成功");string strSql1 = "insert into CustomerCancle(name1,sex,paper,telephone,site,date) values('" + label8.Text.ToString() + "','" + label9.Text.ToString() + "','" + textBox3.Text.ToString() + "','" + label10.Text.ToString() + "','" + label11.Text.ToString() + "','" + DateTime.Now.ToString() + "')";SqlCommand cmd3 = new SqlCommand(strSql1, con);cmd3.ExecuteNonQuery();// 执行SQL语句完成SQL命令con.Close();}else if (count == 0) //判断是否有该订购记录{MessageBox.Show("您没有订购该报纸,操作失败");}}}catch (Exception ex){MessageBox.Show(ex.ToString());}}private void PaperCancle_Load(object sender, EventArgs e){label8.Text = frmLogin.Login_name;SqlConnection con = PaperCon.createCon(); //创建数据库连接con.Open();string str1 = "select sex from CustomerInfo where name1='" + frmLogin.Login_name + "'";SqlCommand cmd1 = new SqlCommand(str1, con);string sex = (string)cmd1.ExecuteScalar();label9.Text = sex.ToString();string str2 = "select telephone from CustomerInfo where name1='" +frmLogin.Login_name + "'";SqlCommand cmd2 = new SqlCommand(str2, con);string telephone = (string)cmd2.ExecuteScalar();label10.Text = telephone.ToString();string str3 = "select site from CustomerInfo where name1='" + frmLogin.Login_name + "'";SqlCommand cmd3 = new SqlCommand(str3, con);string site = (string)cmd3.ExecuteScalar();label11.Text = site.ToString();label12.Text = DateTime.Now.ToString();con.Close();}发行员界面:我的客户点击事件程序:private void我的客户¡ìToolStripMenuItem_Click(object sender, EventArgs e){SqlConnection con = PaperCon.createCon(); //创建数据库连接¨con.Open();string commandString = "Select * from CustomerInfo where distributorname='" + frmLogin.Login_name + "'"; //获取该发行员的客户信息SqlDataAdapter DataAdapter = new SqlDataAdapter(commandString, con);DataSet DataSet = new DataSet();DataAdapter.Fill(DataSet, "CustomerInfo");DataTable dataTable = DataSet.Tables[0];dataGridView1.DataSource = dataTable;con.Close();}删除退订点击事件程序:private void删¦除ToolStripMenuItem_Click(object sender, EventArgs e){if (MessageBox.Show("确定删¦除所选记录吗", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk) == DialogResult.OK){SqlConnection con = PaperCon.createCon(); //创建数据库连接con.Open();string sql = "delete from CustomerCancle where paper='" +dataGridView1.CurrentRow.Cells["paper"].FormattedValue.ToString() + "' "; //删除该条退订记录SqlCommand cmd = new SqlCommand(sql, con);cmd.ExecuteNonQuery();// 执行SQL语句完成SQL命dataGridView1.Rows.Remove(dataGridView1.CurrentRow);con.Close();}}订购数量点击事件程序:private void订购数量ToolStripMenuItem_Click(object sender, EventArgs e)show2(); //调用show2()}private void show2(){SqlConnection con = PaperCon.createCon(); //创建数据库连接con.Open();string strSql = "Select * from CustomerOrder where distributorname='" + frmLogin.Login_name + "'";SqlCommand cmd = new SqlCommand(strSql, con);cmd.ExecuteNonQuery();// 执行SQL语句完成SQL命令int count = 0;SqlDataReader reader = cmd.ExecuteReader();while (reader.Read()){count++;Console.WriteLine(String.Format("{0}", reader[0]));}MessageBox.Show("我的客户订购数量为:"+count.ToString());con.Close();系统用户界面:增加报纸点击事件程序:private void button1_Click(object sender, EventArgs e) {if (textBox1.Text == ""){MessageBox.Show("报纸名不能为空");}else{try{SqlConnection con = PaperCon.createCon(); //创建数据库连接con.Open();SqlCommand cmd = new SqlCommand("insert into Allpaper (paper) values('" + textBox1.Text.ToString() + "')", con); //向表中插入该报纸名cmd.ExecuteNonQuery();// 执行SQL语句完成SQL命令con.Close();MessageBox.Show("添加成功");}catch (Exception ex){MessageBox.Show("该报纸名已存在! ! !");}}}添加客户点击事件代码:private void button1_Click(object sender, EventArgs e) {if (textBox1.Text == ""){MessageBox.Show("用户名不能为空");}else if (textBox2.Text == ""){MessageBox.Show("密码不能为空");}else{SqlConnection con = PaperCon.createCon(); //创建数据库连接con.Open();SqlCommand cmd2 = new SqlCommand("select count(*)from Users where name1='" + textBox1.Text.ToString() + "'", con);Int32 count = (Int32)cmd2.ExecuteScalar();if (count == 1) //判断是否有该用户{MessageBox.Show("该用户已经存在");}else{string strSql = "insert into Users(name1,pwd1,permission) values('" + textBox1.Text.ToString() + "','" + textBox2.Text.ToString() + "','客户')"; //向用户表中插入该客户SqlCommand cmd = new SqlCommand(strSql, con);cmd.ExecuteNonQuery();// 执行SQL语句完成SQL命令string strSql1 = "insert into CustomerInfo(name1) values('" +textBox1.Text.ToString() + "')"; //向客户信息表中插入该客户SqlCommand cmd1 = new SqlCommand(strSql1, con);cmd1.ExecuteNonQuery();// 执行SQL语句完成SQL命令MessageBox.Show("添加成功");con.Close();}}}private void button1_Click(object sender, EventArgs e){try{if (textBox1.Text == ""){MessageBox.Show("客户姓名不能为空");}else if (textBox2.Text == ""){MessageBox.Show("发行员不能为空");}else{SqlConnection con = PaperCon.createCon(); //创建数据库连接con.Open();SqlCommand cmd1 = new SqlCommand("select count(*)from Users where name1='" + textBox1.Text + "'and permission='客¨ª户¡ì'", con);Int32 count1 = (Int32)cmd1.ExecuteScalar(); //判断是否有该客户SqlCommand cmd2 = new SqlCommand("select count(*)from Users where name1='" + textBox2.Text + "' and permission='发¤¡é行D员¡À'", con);Int32 count2 = (Int32)cmd2.ExecuteScalar(); //判断是否有该发行员if (count1==0){MessageBox.Show("没有该客户");}else if (count2 == 0){MessageBox.Show("没有该发行员");}else{string strSql3 = " update CustomerInfo set distributorname='" + textBox2.Text.ToString() + "'where name1='" + textBox1.Text.ToString() + "'";SqlCommand cmd3 = new SqlCommand(strSql3, con);cmd3.ExecuteNonQuery();// 执行SQL语句完成SQL命令string strSql4 = " update CustomerOrder set distributorname='" + textBox2.Text.ToString() + "'where name1='" + textBox1.Text.ToString() + "'";SqlCommand cmd4 = new SqlCommand(strSql4, con);cmd4.ExecuteNonQuery();// 执行SQL语句完成SQL命令con.Close();MessageBox.Show("分配成功");}}}catch (Exception ex){MessageBox.Show(ex.ToString());}}更改密码点击事件程序:private void button1_Click(object sender, EventArgs e){if (textBox3.Text == "") //判断用户是否输入了用户名{MessageBox.Show("用户名不能为空");}else{if (textBox1.Text == ""){MessageBox.Show("原密码不能为空"); //判断用户是否输入了密码}else if (textBox2.Text == ""){MessageBox.Show("新密码不能为空");}else{SqlConnection con = PaperCon.createCon(); //创建数据库连接con.Open();SqlCommand cmd2 = new SqlCommand("select count(*) from Users where name1='" + textBox3.Text.ToString() + "' and pwd1='" + textBox1.Text.ToString() + "'", con);Int32 count2 = (Int32)cmd2.ExecuteScalar();if (count2 > 0){string strSql1 = "update users set pwd1='" + textBox2.Text.ToString() + "' where pwd1='" + textBox1.Text.ToString() + "' ";SqlCommand cmd1 = new SqlCommand(strSql1, con);cmd1.ExecuteNonQuery();// 执行SQL语句完成SQL命令con.Close();MessageBox.Show("修改成功");}if (count2 == 0){MessageBox.Show("用户名或密码错误");}con.Close();}}}。

相关文档
最新文档