数据库大作业物流管理系统附代码

合集下载

原创python物流管理系统课程设计

原创python物流管理系统课程设计

原创Python物流管理系统课程设计1. 引言物流管理系统在现代物流业中起着重要的作用。

通过高效的物流管理系统,企业可以实现准确的订单处理、货物追踪、库存管理等,从而提高服务质量和客户满意度。

本文将介绍一个基于Python语言开发的物流管理系统的设计与实现。

2. 需求分析物流管理系统的主要功能需求包括订单管理、货物追踪和库存管理。

具体需求如下:2.1 订单管理•管理员可以添加、编辑和删除订单信息;•客户可以查询订单状态和物流信息。

2.2 货物追踪•管理员可以录入货物追踪信息,包括货物位置、状态等;•客户可以查询货物的实时位置和状态。

2.3 库存管理•管理员可以添加、编辑和删除库存信息;•管理员可以查询库存信息。

3. 系统设计基于需求分析,我们将设计一个基于Python的物流管理系统。

系统将包括以下几个模块:3.1 数据库模块•使用SQLite数据库管理订单、货物和库存的信息;•定义订单、货物和库存的数据表结构,包括字段名和字段类型。

3.2 订单管理模块•实现订单的添加、编辑和删除功能;•实现查找订单状态和物流信息功能。

3.3 货物追踪模块•实现录入货物追踪信息的功能;•实现查询货物位置和状态的功能。

3.4 库存管理模块•实现库存信息的添加、编辑和删除功能;•实现查询库存信息的功能。

3.5 用户界面模块•实现用户界面,包括管理员和客户界面;•提供交互式操作界面,使用户能够方便地使用系统功能。

4. 系统实现4.1 数据库模块实现使用Python的sqlite3模块连接SQLite数据库,并定义相应的数据表结构。

import sqlite3# 连接数据库conn = sqlite3.connect('logistics.db')c = conn.cursor()# 定义订单表c.execute('''CREATE TABLE orders(id INTEGER PRIMARY KEY AUTOINCREMENT,customer_name TEXT,order_date TEXT,status TEXT)''')# 定义货物表c.execute('''CREATE TABLE goods(id INTEGER PRIMARY KEY AUTOINCREMENT,order_id INTEGER,name TEXT,location TEXT,status TEXT)''')# 定义库存表c.execute('''CREATE TABLE inventory(id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT,quantity INTEGER)''')# 关闭数据库连接conn.close()4.2 订单管理模块实现使用Python的sqlite3模块实现订单的添加、编辑和删除功能,并提供查询订单状态和物流信息的功能。

仓库管理系统代码大全

仓库管理系统代码大全

系统主函数(program.cs)using System;using System.Collections.Generic;using System.Windows.Forms;namespace warehouse{static class Program{/// <summary>/// 应用程序的主入口点。

/// </summary>[STAThread]static void Main(){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new frmLogin());//运行一个登陆对象}}}集的常规信息using System.Reflection;using pilerServices;using System.Runtime.InteropServices;// 有关程序集的常规信息通过下列属性集// 控制。

更改这些属性值可修改// 与程序集关联的信息。

[assembly: AssemblyTitle("warehouse")][assembly: AssemblyDescription("")][assembly: AssemblyConfiguration("")][assembly: AssemblyCompany("")][assembly: AssemblyProduct("warehouse")][assembly: AssemblyCopyright("版权所有2009")][assembly: AssemblyTrademark("")][assembly: AssemblyCulture("")]// 将ComVisible 设置为false 使此程序集中的类型// 对COM 组件不可见。

VB(仓库管理系统源代码)

VB(仓库管理系统源代码)

1.请购作业程序PrivateSubComCX_Click()’查询'在"编号"文本框中输入编号,连接数据库,查询编号,并将"编号","品名","规格","单位","单价"的数据分别导入到相应文本框。

SetCN=NewADODB.ConnectionSetRs=NewADODB.RecordsetistSecurityInfo=False"'打开数据库Rs.CursorType=adOpenStatic'制定一个静态游标Rs.LockType=adLockOptimistic'设置锁定模式为开放式Rs.Open"select*fromJLBHwhereFtextBHSJLike'"&"%"&Trim(textBHSJ.Text)&"%" &"'",CNDoEventsDoUntilRs.EOF=TrueIfRs.EOF=FalseThenlistBHSJ1.AddItem(Rs.Fields(0))listPMSJ1.AddItem(Rs.Fields(1))listGGSJ1.AddItem(Rs.Fields(2))listDWSJ1.AddItem(Rs.Fields(3))listDJSJ1.AddItem(Rs.Fields(4))Rs.MoveNextEndIfLoopEndSubPrivateSubcomFHZY_Click()’返回上页frmQGZY.HidefrmCKGLXT.ShowEndSubPrivateSubcomQD_Click()’录入数据IftextBHSJ.Text=""OrtextPMSJ.Text=""OrtextGGSJ.Text=""OrtextDWSJ.Text=""Or textDJSJ.Text=""OrtextQGSLSJ.Text=""ThenMsgBox"请将数据补充完整!"textBHSJ.Text=""textPMSJ.Text=""textGGSJ.Text=""textDWSJ.Text=""textDJSJ.Text=""textQGSLSJ.Text=""ElseDimcnnAsNewConnection,rstAsNewRecordset,fidAsField DimstrSqlAsString,strconnAsStringstrSql="SelecttextBHSJFromqgzywheretextBHSJ='"&Trim(textBHSJ.Text)&"'"cnn.ConnectionString=strconncnn.OpenSetrst=cnn.Execute(strSql)str1="InsertIntoqgzy(textBHSJ,textPMSJ,textGGSJ,textDWSJ,textDJSJ,textQGSJ)" str1=str1+"Values('"&Trim(textBHSJ.Text)&"','"&Trim(textPMSJ.Text)&"','"&Trim( textGGSJ.Text)&"','"&Trim(textDWSJ.Text)&"','"&Trim(textDJSJ.Text)&"','"&Trim (textQGSLSJ.Text)&"')"cnn.Executestr1listBHSJ1.AddItem(Trim(textBHSJ.Text))listPMSJ1.AddItem(Trim(textPMSJ.Text))listGGSJ1.AddItem(Trim(textGGSJ.Text))listDWSJ1.AddItem(Trim(textDWSJ.Text))listDJSJ1.AddItem(Trim(textDJSJ.Text))listQGSLSJ1.AddItem(Trim(textQGSLSJ.Text))MsgBox"数据输入成功!"rst.Closecnn.CloseSetRs=NothingSetCN=NothingtextBHSJ.Text=""textPMSJ.Text=""textGGSJ.Text=""textDWSJ.Text=""textDJSJ.Text=""textQGSLSJ.Text=""EndIfEndSubPrivateSubcomsc_Click()’删除IflistBHSJ1.SelCount>0ThenFori=listBHSJ1.ListCount-1To0Step-1IflistBHSJ1.Selected(i)ThentextBHSJ.Text=listBHSJ1.List(i)textPMSJ.Text=listPMSJ1.List(i)textGGSJ.Text=listGGSJ1.List(i)textDWSJ.Text=listDWSJ1.List(i)textDJSJ.Text=listDJSJ1.List(i)textQGSLSJ.Text=listQGSLSJ1.List(i)EndIfNextEndIfDimcnnAsNewConnection,rstAsNewRecordset,fidAsField DimstrSqlAsString,strconnAsStringstrSql="SelectFtextBHSJFromjlbhwhereFtextBHSJ='"&Trim(textBHSJ.Text)&"'"cnn.ConnectionString=strconncnn.OpenSetrst=cnn.Execute(strSql)Ifrst.EOF=FalseThenstr1="DeletefromqgzywhereFtextBHSJ='"&Trim(textBHSJ.Text)&"'" cnn.Executestr1textBHSJ.Text=""textPMSJ.Text=""textGGSJ.Text=""textDWSJ.Text=""textDJSJ.Text=""textQGSLSJ.Text=""IflistBHSJ1.SelCount>0ThenFori=listBHSJ1.ListCount-1To0Step-1IflistBHSJ1.Selected(i)ThenlistBHSJ1.RemoveItem(i)listPMSJ1.RemoveItem(i)listGGSJ1.RemoveItem(i)listDWSJ1.RemoveItem(i)listDJSJ1.RemoveItem(i)listQGSLSJ1.RemoveItem(i)EndIfNextEndIfMsgBox"数据已删除!"ElseMsgBox"无此数据!"textBHSJ.Text=""textPMSJ.Text=""textGGSJ.Text=""textDWSJ.Text=""textDJSJ.Text=""textQGSLSJ.Text=""EndIfrst.Closecnn.CloseSetRs=NothingSetCN=NothingEndSub‘以下是listbox串连显示PrivateSublistBHSJ1_Click()IflistBHSJ1.SelCount>0ThenFori=listBHSJ1.ListCount-1To0Step-1IflistBHSJ1.Selected(i)Then listPMSJ1.Selected(i)=TrueEndIfNextEndIfEndSubPrivateSublistDJSJ1_Click() IflistDJSJ1.SelCount>0ThenFori=listDJSJ1.ListCount-1To0Step-1 IflistDJSJ1.Selected(i)Then listQGSLSJ1.Selected(i)=TrueEndIfNextEndIfEndSubPrivateSublistDWSJ1_Click() IflistDWSJ1.SelCount>0ThenFori=listDWSJ1.ListCount-1To0Step-1 IflistDWSJ1.Selected(i)Then listDJSJ1.Selected(i)=TrueEndIfNextEndIfEndSubPrivateSublistGGSJ1_Click() IflistGGSJ1.SelCount>0ThenFori=listGGSJ1.ListCount-1To0Step-1 IflistGGSJ1.Selected(i)Then listDWSJ1.Selected(i)=TrueEndIfNextEndIfEndSubPrivateSublistPMSJ1_Click() IflistPMSJ1.SelCount>0ThenFori=listPMSJ1.ListCount-1To0Step-1 IflistPMSJ1.Selected(i)Then listGGSJ1.Selected(i)=TrueEndIfNextEndIfEndSubPrivateSublistQGSLSJ1_Click() IflistQGSLSJ1.SelCount>0ThenFori=listQGSLSJ1.ListCount-1To0Step-1IflistQGSLSJ1.Selected(i)ThenlistBHSJ1.Selected(i)=TrueEndIfNextEndIfEndSub2.增加料号程序PrivateSubcomFHZY_Click()’返回上页frmJLBH.HidefrmCKGLXT.ShowEndSubPrivateSubcomSCBH_Click()’删除IflistBHSJ1.SelCount>0ThenFori=listBHSJ1.ListCount-1To0Step-1IflistBHSJ1.Selected(i)ThentextBHSJ.Text=listBHSJ1.List(i)textPMSJ.Text=listPMSJ1.List(i)textGGSJ.Text=listGGSJ1.List(i)textDWSJ.Text=listDWSJ1.List(i)textDJSJ.Text=listDJSJ1.List(i)EndIfNextEndIfDimcnnAsNewConnection,rstAsNewRecordset,fidAsField DimstrSqlAsString,strconnAsStringstrSql="SelectFtextBHSJFromjlbhwhereFtextBHSJ='"&Trim(textBHSJ.Text)&"'" strconn=strconn&"F:\VB设计专用\仓库数据资料\仓库数据资料.mdb'"cnn.ConnectionString=strconncnn.OpenSetrst=cnn.Execute(strSql)Ifrst.EOF=FalseThenstr1="Delete*fromjlbhwhereFtextBHSJ='"&Trim(textBHSJ.Text)&"'"cnn.Executestr1textBHSJ.Text=""textPMSJ.Text=""textGGSJ.Text=""textDWSJ.Text=""textDJSJ.Text=""IflistBHSJ1.SelCount>0ThenFori=listBHSJ1.ListCount-1To0Step-1IflistBHSJ1.Selected(i)ThenlistBHSJ1.RemoveItem(i)listPMSJ1.RemoveItem(i)listGGSJ1.RemoveItem(i)listDWSJ1.RemoveItem(i)listDJSJ1.RemoveItem(i)EndIfNextEndIfMsgBox"编号已删除!"ElseMsgBox"无此编号!请确认后重新输入"textBHSJ.Text=""textPMSJ.Text=""textGGSJ.Text=""textDWSJ.Text=""textDJSJ.Text=""EndIfrst.Closecnn.CloseSetRs=NothingSetCN=NothingEndSubPrivateSubcomZJBH_Click()’新增料号IftextBHSJ.Text=""OrtextPMSJ.Text=""OrtextGGSJ.Text=""OrtextDWSJ.Text=""Or textDJSJ.Text=""ThenMsgBox"请将数据补充完整!"textBHSJ.Text=""textPMSJ.Text=""textGGSJ.Text=""textDWSJ.Text=""textDJSJ.Text=""ElseDimcnnAsNewConnection,rstAsNewRecordset,fidAsField DimstrSqlAsString,strconnAsStringstrSql="SelectFtextBHSJFromjlbhwhereFtextBHSJ='"&Trim(textBHSJ.Text)&"'" strconn=strconn&"F:\VB设计专用\仓库数据资料\仓库数据资料.mdb'"cnn.ConnectionString=strconncnn.OpenSetrst=cnn.Execute(strSql)Ifrst.EOF=FalseThenMsgBox"该编号已存在,不能追加!"Elsestr1="InsertIntojlbh(FtextBHSJ,FtextPMSJ,FtextGGSJ,FtextDWSJ,FtextDJSJ)"str1=str1+"Values('"&Trim(textBHSJ.Text)&"','"&Trim(textPMSJ.Text)&"','"&Trim( textGGSJ.Text)&"','"&Trim(textDWSJ.Text)&"','"&Trim(textDJSJ.Text)&"')" cnn.Executestr1listBHSJ1.AddItem(Trim(textBHSJ.Text)) listPMSJ1.AddItem(Trim(textPMSJ.Text)) listGGSJ1.AddItem(Trim(textGGSJ.Text)) listDWSJ1.AddItem(Trim(textDWSJ.Text)) listDJSJ1.AddItem(Trim(textDJSJ.Text)) MsgBox"恭喜您,添加成功!"EndIfrst.Closecnn.CloseSetRs=NothingSetCN=NothingtextBHSJ.Text=""textPMSJ.Text=""textGGSJ.Text=""textDWSJ.Text=""textDJSJ.Text=""EndIfEndSub‘以下是listbox循环选中程序PrivateSublistBHSJ1_Click()IflistBHSJ1.SelCount>0ThenFori=listBHSJ1.ListCount-1To0Step-1 IflistBHSJ1.Selected(i)ThenlistPMSJ1.Selected(i)=TrueEndIfNextEndIfEndSubPrivateSublistDJSJ1_Click()IflistDJSJ1.SelCount>0ThenFori=listDJSJ1.ListCount-1To0Step-1 IflistDJSJ1.Selected(i)ThenlistBHSJ1.Selected(i)=TrueEndIfNextEndIfEndSubPrivateSublistDWSJ1_Click()IflistDWSJ1.SelCount>0ThenFori=listDWSJ1.ListCount-1To0Step-1 IflistDWSJ1.Selected(i)ThenlistDJSJ1.Selected(i)=TrueEndIfNextEndIfEndSubPrivateSublistGGSJ1_Click() IflistGGSJ1.SelCount>0ThenFori=listGGSJ1.ListCount-1To0Step-1 IflistGGSJ1.Selected(i)Then listDWSJ1.Selected(i)=TrueEndIfNextEndIfEndSubPrivateSublistPMSJ1_Click() IflistPMSJ1.SelCount>0ThenFori=listPMSJ1.ListCount-1To0Step-1 IflistPMSJ1.Selected(i)Then listGGSJ1.Selected(i)=TrueEndIfNextEndIfEndSub。

c语言物流管理系统完整代码

c语言物流管理系统完整代码

#include <stdio.h>#include <string.h>#include <stdlib.h>#include <conio.h>struct stuff //定义员工数据结构体{char name[10];char password[10];char quanxian[2];};struct goods //定义货品数据结构体{char number[20];char name[20];int quantity;char cost[20];char volume[20];char weight[20];};typedef struct a{struct stuff s;struct a *next;}stuffnode;typedef struct b{struct goods g;struct b *next;}goodsnode;stuffnode *stuffhead = NULL; //全局结构体链表指针变量头指针stuffnode *stuffp1 = NULL;goodsnode *goodshead = NULL;goodsnode *goodsp1 = NULL;void initial_stuff(){FILE *fp;stuffnode *p;if((fp = fopen("stuff.txt","r")) == NULL) //以只读方式打开文件{printf("请新建员工信息!\n\n");}else{fseek(fp,0,SEEK_END); //定位到文件末尾int n,i;n = ftell(fp)/sizeof( struct stuff );rewind(fp); //这是一个反绕函数,使文件的位置指针定位到文件的开头for(i = 0;i < n;i++){p = (stuffnode *)malloc(sizeof( stuffnode )); //计算stuffnode所占内存空间,然后将返回的指针强制转换成stuffnode *fread(&p->s,sizeof(p->s),1,fp); //从文件FP中读取数据到P中p->next = NULL; //p指针指向的对象的next属性为空if(stuffhead == NULL){stuffhead = stuffp1 = p;}else{stuffp1->next = p;stuffp1 = stuffp1->next;}}fclose(fp);}}void initial_goods(){FILE *fp;goodsnode *p;if((fp = fopen("goods.txt","r")) == NULL){printf("请新建物流信息!\n\n");}else{fseek(fp,0,SEEK_END);int n,i;n = ftell(fp)/sizeof(struct goods);rewind(fp);for(i = 0;i < n;i++){p = (goodsnode *)malloc(sizeof( goodsnode ));fread(&p->g,sizeof(p->g),1,fp);p->next = NULL;if(goodshead == NULL){goodshead = goodsp1 = p;}else{goodsp1->next = p;goodsp1 = goodsp1->next;}}fclose(fp);}}void addstuff() //增加员工{stuffnode *p;p = (stuffnode *)malloc(sizeof( stuffnode ));printf("\n\n\n\n☆☆增加员工资料☆☆\n");printf("\n请输入员工姓名\n\n");scanf("%s",p->);printf("\n请输入员工密码\n\n");scanf("%s",p->s.password);printf("\n请输入员工权限(Y/N)\n\n");scanf("%s",p->s.quanxian);p->next=NULL;if(stuffhead){stuffp1->next = p;stuffp1 = stuffp1->next;}elsestuffhead = stuffp1 = p;printf("\n增加员工数据成功\n\n");}void deletestuff() //删除员工资料{stuffnode *p,*p1;p = p1 = stuffhead;char flag[20];printf("\n请输入要删除员工的名称。

Java物流管理系统源代码 (2)

Java物流管理系统源代码 (2)

Java物流管理系统源代码简介物流管理系统是一种基于Java开发的应用程序,用于管理货物的运输和配送过程。

该系统通过集成不同的功能模块,提供了全面的物流管理解决方案。

本文档旨在介绍物流管理系统的源代码结构和实现细节。

源代码结构物流管理系统的源代码包含多个主要模块,每个模块负责不同的功能。

以下是系统的主要模块:1.用户模块:负责管理用户的注册、登录和权限管理。

2.仓库模块:用于管理仓库的信息,包括仓库位置、库存和货物的入库和出库。

3.运输模块:负责管理货物的运输过程,包括路线规划、运输订单的生成和司机的分配。

4.订单模块:用于管理客户订单的生成、处理和物流跟踪。

5.报表模块:负责生成物流管理系统的各种报表和统计数据。

实现细节技术选型物流管理系统使用Java作为主要开发语言,并使用以下技术和框架来实现各个模块:•Spring框架:用于实现系统的核心业务逻辑和管理对象的依赖关系。

•Spring MVC:用于实现系统的Web接口和处理用户请求。

•MyBatis:用于与数据库进行交互,包括查询、插入、更新和删除数据。

•MySQL数据库:用于存储系统的数据。

•HTML、CSS和JavaScript:用于实现系统的前端界面和用户交互。

•Bootstrap框架:用于快速构建响应式布局和美观的前端界面。

数据库设计物流管理系统的数据库包含多个表,每个表存储不同类型的数据。

以下是系统的主要数据库表:1.用户表:存储用户的登录信息和权限设置。

2.仓库表:存储仓库的基本信息,包括名称、位置和库存状况。

3.货物表:存储货物的详细信息,包括名称、数量和价格。

4.运输表:存储运输订单的信息,包括起始地点、目的地和预计送达时间。

5.订单表:存储客户订单的详细信息,包括订单号、货物、数量和收货地址。

功能实现物流管理系统提供了以下主要功能:1.用户注册和登录:用户可以通过注册新账户并登录系统,以便使用系统的各项功能。

2.仓库管理:管理员可以添加、删除和修改仓库的信息,并查看当前的库存状况。

数据库原理与设计大作业源代码

数据库原理与设计大作业源代码

数据库原理与设计大作业源代码(1) 用户登录界面运行超市管理信息系统后,首先进入用户登录界面,用户输入用户名和密码后,系统进行验证,验证通过进入程序的主界面。

在进行系统登录过程中,登录模块将调用数据库里的用户信息表,并对用户名和密码进行验证,只有输入了正确的账号和密码后,系统登录才会成功。

在登录模块中,对系统的尝试登录次数进行了限制,禁止用户无终止的进行系统登录尝试,在本系统中,当用户对系统的三次登录失败后,系统将自动机制登录,突出登录模块。

并在输入了错误的或者是不存在的账户和密码时,系统会给出出错信息提示,指明登录过程中的错误输入或者错误操作,以便用户进行正确的登录。

登录界面如图5-2所示。

图5-2 登录界面主要实现代码如下://登录private void radBtnOk_Click(object sender, EventArgs e){try{if (radTxtBoxUser.Text.Trim() == ""){this.radLbInfo.Text = "请输入您的用户名!";}else if (radTxtBoxPsw.Text.Trim() == ""){this.radLbInfo.Text = "请输入您的密码!";}else{commandUnit com = new commandUnit();string str = @"select * from UserInfo where loginNo = '" + radTxtBoxUser.Text.ToString() + "'";DataTable table = com.GetDataSet(str);if (table.Rows.Count <= 0){this.radLbInfo.Text = "用户名不存在!";radTxtBoxUser.Text = "";radTxtBoxPsw.Text = "";return;}str = @"select * from UserInfo where loginNo = '" + radTxtBoxUser.Text.ToString() + "' and passWord = '" + radTxtBoxPsw.Text.ToString() + "'";DataTable tableUser = com.GetDataSet(str);if (tableUser.Rows.Count > 0){_currentUser = radTxtBoxUser.Text;_currentPsw = radTxtBoxPsw.Text;IsLogin = true;this.Close();}else{this.radLbInfo.Text = "密码错误!";radTxtBoxPsw.Text = "";}}}catch (System.Exception ex){throw ex;}}(2) 主界面系统登录成功后,进入主界面菜单。

VB物流管理系统设计(源代码及全套资料)

VB物流管理系统设计(源代码及全套资料)

货运物流管理系统摘要现代物流作为一种先进的组织方式和管理技术,被广泛认为是企业在降低物资消耗、提高劳动生产效率以外的重要利润源泉,在国民经济和社会发展中发挥着重要作用。

加快中国现代物流的发展,对于优化资源配置,提高经济运行质量,促进企业改革发展,推进中国经济体制与经济增长方式的两个根本性转变,具有十分重要的意义。

随着经济全球化和信息技术的迅速发展,企业生产资料获取与产品营销范围日趋扩大,社会生产、物资流通、商品交易及其管理方式正在并将继续发生深刻的变革。

我国流通现代化的发展,经营范围广、经营品种多,要求物流组织也必须大型化,物流设施现代化、多样化、一体化,企业竞争优势的途径之一在于成本优势。

而成本优势的建立和保持必须以可靠和高效的物流运作为保证。

国有大中型企业要走出目前的困境,不仅需要生产适销对路的产品、采取正确的营销策略、以及强有力的资金支持,更需要加强“品质经营”,即强调“时效性”,其核心在于服务的及时性、产品的及时性、信息的及时性和决策反馈的及时性。

这些都必须以强有力的物流能力作为保证。

一次完整的电子商务过程包括由生产厂家将产品生产出来,通过运输、仓储、加工、配送到用户、消费者的物流全过程。

其中分为以下几个方面:生产厂家将生产的单个产品进行包装,并将多个产品集中在大的包装箱内;然后,经过运输、批发等环节,在这一环节中通常需要更大的包装;最后,产品通过零售环节流通到消费者手中,产品通常在这一环节中再还原为单个产品。

人们将上述过程的管理称之为供应链物流管理。

贸易过程中的商品从厂家到最终用户的物流过程是客观存在的,长期以来人们从未主动地、系统地、整体地去考虑,因而未能发挥其系统的总体优势。

供应链物流的地域和时间跨度大,为此,我们这次毕业设计特此开发了物流管理系统。

关键词: 货运物流,商品交易,供应链物流管理1Fr e i g ht l og i s t i c s ma na g e me nt s y s t e mAbs t r actMode r n l ogi s t i cs a s a m e ans of t he or gani zat i on and m a nage m e nt of advanced t echnol ogi es a r e wi del y r ecogni zed a s ent er pr i s es i n r educi ng m a t er i a l cons umpt i on, i mpr ove l abor pr oduct i vi t y out s i de i mpor t ant s our ce of pr of i t s i n t he nat i onal economy and s oci a l devel opme nt pl ays an i mpor t ant r ol e . Ac cel er a t i ng t he devel opme nt of mode r n l ogi s t i cs i n Chi na f or opt i m i zi ng t he a l l ocat i on of r es our ces , i mpr ovi ng t he qual i t y of economi c oper a t i on, and pr omot e t he r ef or m and devel opme nt of ent er pr i s es and pr omot i ng Chi na ' s economi c s t r uct ur e and mode of economi c gr owt h t wo f unda me nt a l changes i s of gr eat s i gni f i ca nce. W i t h economi c gl obal i zat i on and t he r api d devel opme n t of i nf or ma t i on t echnol ogy, acces s t o me a ns of pr oduct i on and ma r ket i ng ent er pr i s es a r e i ncr eas i ngl y expandi ng t he s cope of s oci a l pr oduct i on, ma t er i a l f l ows , commodi t y t r adi ng and ma nage me nt me t hods a r e bei ng and wi l l cont i nue t o under go pr of ound changes . M y f l ow of t he devel opme nt of mode r ni zat i on, bus i nes s s cope, mul t i - s peci es m a nage m e nt , l ogi s t i cs r equi r e me nt s of l a r ge or gani zat i ons mus t , l ogi s t i cs f aci l i t i es mode r ni zat i on, di ver s i f i cat i on, i nt egr a t i on, ent er pr i s e compe t i t i ve advant age l i es i n t he wa y of cos t advant ages . And t he cos t advant ages of t he need t o es t abl i s h and m a i nt a i n r e l i abl e and ef f i c i ent l ogi s t i cs oper a t i on t o ens ur e . M e di um- s i zed s t a t e- owne d ent er pr i s es t o come out of t he cur r ent di f f i cul t i es need not onl y t he pr oduct i on of ma r ket abl e pr oduct s , t he adopt i on of a cor r ect m a r ket i ng s t r a t egy, and s t r ong f i nanci a l s uppor t , but a l s o t he need t o s t r engt hen t he " qual i t y m a nage m e nt " , whi ch s t r es s ed t hat " t i me l i nes s " , t he cor e l i es i n t he t i me l i nes s of s er vi ces and pr oduct s t i me l i nes s , t he t i me l i nes s of t he i nf or ma t i on and deci s i on- m a ki ng f eedback t i me l i nes s . The s e mus t be s t r ong l ogi s t i cs capabi l i t i es as a guar ant ee.I s a compl et e e- comme r ce pr oces s i ncl udes pr oduct s pr oduced by m a nuf act ur er s wi l l be t hr ough t r ans por t , s t or age, pr oces s i ng, di s t r i but i on t o us er s , cons ume r s t hr oughout t he l ogi s t i cs pr oces s . Whi ch i s di vi ded i nt o t he f ol l owi ng a r eas : t he i ndi vi dual ma nuf act ur er s wi l l pr oduce pr oduct s packagi ng, and a numbe r of pr oduct s f ocus ed on l a r ge boxes ; The n, a f t er t r ans por t a t i on, whol es a l e and l i nks i n t he chai n, us ual l y r equi r es gr eat er packagi ng; Fi nal l y , t he f l ow of pr oduct s t hr o ught he r et a i l chai n t o cons ume r s , t he pr oduct i s us ua l l y f ur t her back i n t he chai n f or i ndi vi dual pr oduct s . I t wi l l be known a s t he s uppl y chai n ma nage m e nt pr oces s l ogi s t i cs m a nage m e nt .Tr ade pr oces s f r om m a nuf act ur er s t o end- us er s of commodi t i es l ogi s t i cs pr oces s i s an obj ect i ve exi s t ence, i t has never been act i ve, s ys t e m a t i c , i nt egr a t ed m a nner t o cons i der , and t hus unabl e t o pl ay i t s over a l l advant ages of t he s ys t e m. Suppl y chai n l ogi s t i cs geogr aphi ca l and t i m e s pan l a r ge, and f or t hi s r eas on we devel oped t he gr aduat e des i gn her eby l ogi s t i cs m a nage m e nt s ys t e m.Ke y wor d : f r e i ght l ogi s t i cs , commodi t y t r a di ng, s uppl y chai n l ogi s t i cs ma nage m e n t目录摘要 (Ⅰ)Abs t r act (Ⅱ)引言 (1)第一章概述 (1)1. 1 管理信息系统概述 (1)1. 2 可行性分析 (1)1. 2. 1 物流管理系统的分析 (1)1. 2. 2 业务流程分析 (1)1. 3 数据库系统设计 (3)1. 4 测试方法简介 (5)1. 4. 1 白盒法 (5)1. 4. 2 黑盒法 (5)1. 4. 3 测试步骤 (5)1. 5 开发工具的选择 (5)第二章编程环境的选择 (9)2. 1 关系型数据库的实现 (9)2. 2 二者的结合(DBA) (9)第三章 W i n dows 下的 Vi s ua l Ba s i c 编程环境简介 (10)3. 1 面向对象的编程 (10)3. 2 实现菜单选项 (10)3. 3 实现工具栏 (10)3. 4 帮助 (11)3. 5 关于版本 (11)第四章使用 Ac c es s 2003 实现关系型数据库 (12)4. 1 数据库的概念 (12)4. 2 新建一个数据库 (12)4. 3 修改已建的数据库 (12)4. 4 实现数据库之间的联系 (12)4. 5 数据库设计 (12)第五章物流系统分析与各功能模块设计 (15)5. 1 物流管理系统系统分析 (15)5. 2 系统模块分析 (15)5. 3 各功能模块设计 (16)总结 (23)参考文献 (24)致谢 (25)附录代码清单 (26)引言当今社会是一个信息社会也是一个知识经济的时代。

物流信息管理系统c语言大作业

物流信息管理系统c语言大作业

物流信息管理系统1. 简介物流信息管理系统是一个基于C语言开发的大型软件工程项目,旨在帮助企业高效地管理物流运输过程中的各种信息,提升物流管理的效率和准确性。

该系统可以实现货物的跟踪、配送、库存管理等功能,并提供了数据分析和报表生成等辅助功能。

2. 功能需求该物流信息管理系统具备以下主要功能:2.1 货物跟踪系统能够根据货物的运输单号或其他标识符,查询并显示货物的当前位置和状态。

用户可以通过输入货物相关信息,实时追踪货物的运输情况,从而了解货物的到达时间和目的地等重要信息。

2.2 配送管理系统可以记录和管理货物的配送过程。

用户可以输入配送员信息、收件人信息以及货物详细描述等相关内容,系统会自动分配合适的配送员,并生成相应的配送路线和时间表。

系统还能够实时更新配送进度,并提供签收确认功能。

2.3 库存管理系统能够对仓库中的货物进行管理。

用户可以查看当前仓库中所有货物的数量、状态以及存放位置等信息。

系统还具备自动库存报警功能,当货物库存低于设定的阈值时,系统会自动发送提醒通知,以便及时采购或调拨货物。

2.4 数据分析与报表生成系统具备数据分析和报表生成功能,可以根据用户需求生成各类统计报表。

用户可以选择特定时间段、地区、货物类型等条件,系统会根据这些条件进行数据筛选和分析,并生成相应的报表,帮助用户了解物流运输过程中的各项指标和趋势。

3. 技术实现3.1 界面设计系统采用图形用户界面(GUI)进行设计,以提供友好的操作界面。

界面布局清晰明了,便于用户快速上手操作。

界面风格简洁大方,符合现代软件应用的审美要求。

3.2 数据存储与管理系统使用数据库来存储和管理各种物流信息。

数据库采用关系型数据库管理系统(如MySQL)或非关系型数据库(如MongoDB),以满足不同规模企业的需求。

通过数据库,系统能够高效地存储、查询和更新各类物流数据。

3.3 数据通信与追踪为实现货物跟踪功能,系统需要与物流公司或第三方接口进行数据通信。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库设计作品题目物流数据库管理系统组员1姓名:组员1学号:组员2姓名:组员2学号:完成时间:目录(供参考)1.数据库规划1.1任务陈述本数据库的设计,是为了物流公司能够快捷高效的处理快递邮件,提高物流信息化水平,提高运输效率,同时增加企业管理者对公司运营情况的了解,和方便用户查询快递信息。

数据库设计作品题目物流数据库管理系统1.2任务目标维护(录入、更新和删除)企业员工的数据维护(录入、更新和删除)客户的数据维护(录入、更新和删除)收件人的数据维护(录入、更新和删除)运单的数据维护(录入、更新和删除)快递线路的数据维护(录入、更新和删除)仓库的数据维护(录入、更新和删除)客户评价信息数据实现对货物物流信息的查询实现对快递员的查询实现对运单状态的查询实现对仓库的查询实现对收货人的查询实现对客户的查询跟踪物流信息跟踪运单状态信息报告公司运营情况报告公司员工情况报告客户情况报告仓库情况报告运单的情况1.3 定义系统边界1.4 主要用户视图经理:维护(录入、更新、和删除)公司的数据维护(录入、更新、和删除)员工的数据维护(录入、更新、和删除)用户的数据维护(录入、更新、和删除)仓库的数据实现对仓库的情况实现对所有员工的检索报告所有公司运营的情况报告所有客户的情况主管:维护(录入、更新、和删除)配送的数据维护(录入、更新、和删除)转运的数据维护(录入、更新、和删除)运单的数据维护(录入、更新、和删除)客户的数据实现对仓库检索实现对员工的检索报告仓库的情况报告所在分公司货单的情况派送员:查看运单信息查看配送信息查看配送信息查看收货人信息客户:查看快递配送信息维护(录入、更新、和删除)评价信息2. 需求分析2.1 用户需求说明(重点论述)快递物流公司职员分为经理、主管、派送员,经理拥有最高权限,可以对任意数据进行添加修改删除,主管可以增加运单信息和更改物流信息,查询客户资料,查看仓库情况,派送员只能查询客户资料,客户可以根据运单编号,查询运单详情.客户在提交货物时,要求填写基本信息,包括客户名称、客户电话、收货地址、等信息,并且由系统在注册用户注册完后自动为其生成一个客户编号,并且嵌入到客户注册信息内,形成完整的客户资料,同时,客户还将填写收件人信息,生成收货人信息表。

系统自动生成运单,运单有唯一的编号,根据货件类型、邮寄地址,自动生成邮寄费用。

每个仓库有具体负责的区域,根据收货人地址,可以确定货物转运到的仓库,若仓库已经满了,则不能转运到此仓库。

当公司接受运单时,初始运单状态为”接受” , 若为此状态,用户还可以取消运单,则状态变为”取消”;当货物被转运至仓库时,订单状态变为”配送”,之后再由配送员配送至收货人地址,由收件人接收后状态变为”完成”。

当订单完成后,客户才可以给予评价。

运单价格是根据货物重量计算得出,运单价格为货物重量X 100.同时,公司记录统计运营情况,即收取快递的件数,营业额度等信息,并查看仓库存储货物的信息,判断仓库是否会出现爆满。

员工工资计算为,当员工职位为经理时,当月薪水为当月接受运单总金额的1%,当员工职位为主管时,薪水为当月接受运单总金额的5%,,当员工职位为其配送运单数量乘以50。

1) 录入公司的新员工信息2) 录入公司仓库信息3) 录入新顾客信息4) 录入新运单的详细情况5) 录入新转运表信息6) 录入新配送表信息7) 录入新收件人信息8) 录入客户的评价信息1) 更新/ 删除给定员工的信息2) 更新删除给定仓库信息3) 更新删除给定客户信息4) 更新删除给定收货人信息5) 更新/ 删除给定运单的信息6) 更新删除给定转运表信息7) 更新删除给定配送表信息8) 更新/ 删除客户评价信息( 列出支持的查询,需要有一定具有统计功能的查询) 1) 按照职位、姓名顺序列出员工详细信息2) 利用存储过程,根据运单编号,查询运单状态以及相关信息3) 根据配送表中,快速查询员工的完成的运单数4) 根据客户评价中serve 的评分,查询配送员工所有配送服务中的平均分5) 根据客户评价中speed 的评分,查询所有客户对物流速度的平均评分6) 查看各个仓库所提供的配送服务的总平均评分7) 列出指定日期运单总数量8) 根据用户姓名,查询此人所在物流公司的运营记录以及总金额9) 根据用户编号,查询此人在我物流公司的交易的详细信息10) 根据收货人编号,查找其地址11) 在配送表中,快速查询员工的完成的运单数12) ) 查询公司某一天的营业额13) 查询公司某一年的营业额14) 计算员工工资2.2 系统需求说明公司拥有50 名左右的员工,5 个仓库。

大约每天能进行1000 左右笔运单和10 个新顾客每月大概有5 个左右的员工加入或者离开。

离开书店半年的员工记录从数据库删除。

每月大概删除2条员工记录.每年增加一个仓库。

客户查询快递运输的信息,每天大概100 次企业经理查询营业部的运单数量,每天2 次企业经理查询中转部的运输数量,每天2 次整个系统必须全天24 小时开放查询(网站维护升级除外)系统能够支持至少多名员工同时进行数据的增删改。

需要考虑这么大数量并发访问的许可需求1)客户查找运单信息的搜索时间不超过2 秒2)各种搜索的响应时间少于3 秒3)更新/ 保存记录的时间不超过1 秒1)整个平台系统必须有口令密码支持2)每个不同的用户应该分配一个到特定用户视图的数据库访问权限,主要有系统管理员,数据管理员,客户可以查询指定的信息3)每位使用者只能在适合他们完成工作的需要的窗口中看到需要的数据数据库在每天半夜12点进行增量备份和差异备份,在周日必须进行一次完整备份。

3.逻辑设计3.1实体归档客户仓库员工收货人评价3)每位使用者只能在适合他们完成工作的需要的窗口中看到需要的数据(参考p126图9-2 )3.3实体和关系的有关属性(应该给出实体和关系的所有属性,扩展p132图9-8的列名为:实体/关系名、属性、描述、键(主键/侯选键)、数据类型和长度、是否为空、是否多值、是否复合、是否派生、默认值、属性域约束)客户信息表kehucheck( khsex in ( “男”,”女”))员工信息表yua ngongcheck( ygsex in ( “男”,”女”))check(ygage>18 and ygage<65 )check( ygpos in ( “经理”,”主管”,”快递员”))收货人信息表shouhuorencheck( shrsex in ( “男”,”女”)) 仓库can gkucheck( ckarea in ( “上海”,”北京”,”厦门”,”武汉”,”广州”)) 运单信息表yundancheck(ydstate in ( “接受”,”派送”,”完成”,”取消”)转运信息zhuanyun配送信息peis ong评价信息pi ngjia3.4 ER 图3.5表和外键属性存档yua ngon g(yg no ,yg name,ygpos,ygsex,ygage,ygtel) primary key ygno kehu(kh no ,kh name,khtel,khsex,khadd) primary key khno houhuore n( shr no ,shrname,shrsex,shraddr,shrtel) primary key shr no yundan(ydno ,ydprice,shr no ,kh no ,yg no) primarykey ydno foreig n key shr no reference shouhuore n( shr) foreig n key khno refere nee shouhuore n(khno) can gku(ck no ,ckadd,ckarea,cktel,ckcap,ckweight) primary key ckno zhua nyun(zyno,sno,yno ,qstime,rktime) primary key zyno3.7定义参照完整性约束cascade3.8其他业务规则当运单状态为”接受”时,客户可以取消订单;当运单状态为”配送”时, 生效不可取消,当状态为”完成”时,客户才可以进行评价订单仓库存储的货物总量不能超过其容量;若超过,则运单自动取消。

4. 物理设计4.1 转换全局逻辑数据模型(给出创建每个基本表的SQL语句,应有如下实现:表名、列名、主键/侯选键、外键、参照完整性约束,对每个列,应有数据类型和长度、默认、是否可空等信息)(1) 创建客户表create table kehu(khno varchar(20)not null primary key,khname varchar(20) not null,khtel varchar(20) not null,khsex varchar(10),khadd varchar(20) not null,check( khsex in(' 男',' 女')))数据插入insert info kehu vaces (1000彳M l - -880088L- w - - -二insertinfokehuvacesU O O O N - B K - -8800882■過」「主如二insertinfokehuvaces(10003--岁川--8800883』-H ---斗汨如二insertinfokehuvaces(10004--<@- -8800884-- w - - -M ZJ M二insertinfokehuva-ues(10005--画岀--880088P 1-insert info kehu va-ues (10009』-^h- -880088L- w--理^如-)insert info kehuva-ues(1020』-第十--880088一 - -・H N ^-)(2)空W 沏 H >creaCD5-b -eyuangong(ygnovarchar(20) n anu=primarykey- ygnamevarchar(20)nof n u =ygage int not null, ygtel varchar(20) not null,check ( ygsex in ('男',' 女' )),check ( ygage>18 and ygage<65),check ( ygpos in ('经理' ,'主管' ,'快递员')),)数据插入insert into yuangong values ( 20001, '褚一' , ' 经理' ,' 男' , 50,) insert into yuangong values ( 20002, '卫二' , ' 主管' ,' 男' , 48,) insert into yuangong values ( 20003, '蒋三' , ' 主管' ,' 男' , 46,) insert into yuangong values ( 20004, '沈四' , ' 主管' ,' 女' , 39,) insert into yuangong values ( 20005, ' 韩五' , ' 快递员' ,'男' ,30,) insert into yuangong values ( 20006, '杨六' , ' 快递员' ,'男' ,32,) insert into yuangong values ( 20007, '朱七' , ' 快递员' ,'男' ,31,) insert into yuangong values ( 20008, '秦八' , ' 快递员' ,'男' ,34,) insert into yuangong values ( 20009, '尤九' , ' 快递员' ,'男' ,30,)insert into yuangong values ( 20010, ' 许十' , ' 快递员' , ' 男' , 29,) (3) 创建收货人表create table shouhuoren (shrno varchar(20) not null primary key ,shrname varchar(20) not null,shrsex varchar ( 10),shradd varchar(20) not null,shrtel varchar(20) not null,check ( shrsex in (' 男' ,' 女' )),)数据插入insert into shouhuoren values ( 30001, ' 何一' , ' 男' , ' 上海号' ,) insert into shouhuoren values ( 30002, ' 何二' , ' 男' , ' 上海号' ,) insert into shouhuoren values ( 30003, ' 何三' , ' 男' , ' 北京号' ,) insert into shouhuoren values ( 30004, ' 何四' , ' 男' , ' 北京号' ,) insert into shouhuoren values ( 30005, ' 何五' , ' 女' , ' 广州号' ,) insert into shouhuoren values ( 30006, ' 何六' , ' 男' , ' 广州号' ,) insert into shouhuoren values ( 30007, ' 何七' , ' 男' , ' 武汉号' ,)insert into shouhuoren values ( 30008, ' 何八' , ' 女' , ' 武汉号' ,) insert into shouhuoren values ( 30009, ' 何九' , ' 男' , ' 厦门号' ,) insert into shouhuoren values ( 30010, ' 何十' , ' 男' , ' 厦门号' ,) (4) 创建仓库表create table cangku( ckno varchar(20) not null primary key, ckadd varchar(20) not null, ckarea varchar(20) not null, cktel varchar(20) not null, ckcap int not null ,ckweight int not null default 0,check ( ckarea in (' 上海' ,' 北京' ,' 广州' ,' 武汉' ,' 厦门' )), )数据插入insert into cangku values (1,' 上海号' ,' 上海' ,, 10000, 0)insert into cangku values (2, ' 北京号' , ' 北京' ,, 10000, 0)insert into cangku values (3,' 广州号' ,' 广州' ,, 10000, 0)insert into cangku values (4, ' 武汉号' , ' 武汉' ,, 10000, 0)insert into cangku values (5, ' 厦门号' , ' 厦门' ,, 10000, 0)(5) 创建运单表create table yundan(ydno varchar(20) not null primary key, ydprice varchar(10) not null,ydstate varchar(20) not null default ‘接受'shrno varchar(20) not null, khno varchar(20) not null, sltime varchar(20)not null, hwweight int not null, check(ydstate in (' 接受',' 派送',' 完成',' 取消')),foreign key (shrno) references shouhuoren(shrno) on update cascade,运单数据插入insert into yundan values ( 50001, 10000 insert into yundan values ( 50002, 10000 insert into yundan values ( 50003, 10000 insert into yundan values ( 50004, 10000 insert into yundan values ( 50005, 10000 insert into yundan values ( 50006, 20000 insert into yundan values ( 50007, 20000 insert into yundan values ( 50008, 20000 insert into yundan values ( 50009, 20000 insert into yundan values ( 50010, 20000 (6) 创建转运表接受' , 30001, 10001, 2014- 05- 08, 100) 接受' , 30002, 10002, 2014- 05- 08, 100) 接受' , 30003, 10003, 2014- 05- 09, 100) 接受' , 30004, 10004, 2014- 05- 09, 100) 接受' , 30005, 10005, 2014- 05- 10, 100) 接受' , 30006, 10006, 2014- 05- 10, 200) 接受' , 30007, 10007, 2014- 05- 11, 200) 接受' , 30008, 10008, 2014- 05- 11, 200) 接受' , 30009, 10009, 2014- 05- 12, 200) 接受' , 30010, 10010, 2014- 05- 12, 200)create table zhuanyun(zyno varchar(20) not null primary key, ydno varchar(20) not null,ckno varchar(20) not null, ygno varchar(20) not null, qstime varchar(20), rktimevarchar(20), foreign key (ckno) references cangku(ckno), foreign key (ygno) references yuangong(ygno), foreign key (ydno) references yundan(ydno) on update cascade)insert into zhuanyun values ( 60008, 50008, 1, 20001, 2014- 05- 09, 2014- 5- 10) insert into zhuanyun values ( 60009, 50009, 1, 20001, 2014- 05- 09, 2014- 5- 10) insert into zhuanyun values ( 60010, 50010, 1, 20001, 2014- 05- 09, 2014- 5- 10) (7) 创建配送表 create table peisong(psno varchar(20) not null primary key,ydno varchar(20) not null,ygno varchar(20),insert intozhuanyun values ( 60001, insert intozhuanyun values ( 60002,insert intozhuanyun values ( 60003,insert intozhuanyun values ( 60004,insert intozhuanyun values ( 60005, insert intozhuanyun values ( 60006, insertinto zhuanyun values ( 60007, 50001, 1, 20001, 2014- 05- 09, 2014- 5-10) 50002, 2, 20001, 2014- 05- 09, 2014- 5- 10) 50003, 3, 20001, 2014- 05- 09, 2014- 5- 10)50004, 4, 20001, 2014- 05- 09, 2014- 5-10)50005, 5, 20001, 2014- 05- 09, 2014- 5-10)50006, 1, 20001, 2014- 05- 09, 2014- 5-转运数据输入cktime varchar(20),wctime varchar(20),foreign key(ygno) references yuangong(ygno),foreign key(ydno) references yundan(ydno) on update cascade)配送表数据输入insert into peisong values ( 70001, 50001, 20008, 2014- 05- 11, 2014- 05- 12) insert into peisong values ( 70002, 50002, 20008, 2014- 05- 11, 2014- 05- 12)create table pingjia( pjno varchar(20) not null, ydno varchar(20) not null, speed int not null default 10, serve int not null default 10, total int not null default 10, pj varchar(100), foreign key(ydno) references yundan(ydno), )insert into pingjia values (80001, 50001, 10, 10, 10, ' 好' ) insert into peisong values ( 70003, insert into peisong values ( 70004, insert into peisong values ( 70005,insert into peisong values ( 70006,insertinto peisong values ( 70007, 50003, 20008, 2014- 05- 11, 2014- 05-12)50004, 20009, 2014- 05- 11, 2014- 05-12)50005, 20009, 2014- 05- 11, 2014- 05-12) 50006, 20009, 2014- 05- 11, 2014- 05-12)insert into pingjia values (80002,50002,8,10,9,'不错' )insert into pingjia values (80003,50003,10,6,8,'不错' )insert into pingjia values (80004,50004,10,8,9,'不错' )insert into pingjia values (80005,50005,10,10,10,' 好' )insert into pingjia values (80006,50006,6,6,6,'有待加强')insert into pingjia values (80007,50007,10,8,9,'不错' )yundan 表中的运费总价ydprice ,根据货物重量乘以100 pingjia 表中的总评total ,是根据speed/2+serve/2给出使用约束、触发器等来实现业务规则的情况)(1) 在运单表yundan 上创建触发器,若price 为null ,则其值设为货物重量hwweight x 100 create trigger yd_price on yundan for insert as declare @price int @hwweight int @ydnovarchar(20)select @price=inserted . ydprice , @hwweight=inserted . hwweight ,@ydno=inserted .ydno from insertedif ( @price is null)beginupdate yundan set ydprice =@hwweight* 100 where ydno=@ydno end(2) 转运表zhuanyun 上创建触发器,若zhuanyun 表中的cangku 为null ,则由仓库负责区域和收件人地址决定转运到哪个仓库create trigger decide_ck on zhuanyun for insertasdeclare @zyno varchar (20),@ckno varchar (20),@ydnovarchar (20),@shradd varchar (20)select @ckno=inserted . ckno, @ydno=inserted . ydno, @zyno=inserted .zynofrom inserted if ( @ckno is null) beginselect @shradd=shr . shraddfrom inserted , yundan yd, shouhuoren shrwhere inserted . ydno=yd. ydno and yd. shrno =shr . shrnoprint @shraddif ( @shradd like ' 上海%' ) set @ckno=1else if ( @shradd like ' 北京%' ) set @ckno=2else if ( @shradd like ' 广州%' ) set @ckno=3else if ( @shradd like ' 武汉%' ) set @ckno=4else set @ckno=5update zhuanyun set ckno=@ckno where zhuanyun. zyno=@zyno end go (3) 当运单状态为完成时,将不能修改运单create trigger yundan_nofix on yundan for update as declare @state varchar (20) select @state =deleted . ydstate from deleted if ( @state =' 完成' )rollback transaction(4) 当运单状态为完成时,不能在此运单上新建配送insertcreate trigger peisong_nofix on yundan for asdeclare @state varchar (20) select @state=inserted .ydno from inserted if ( @state =' 完成' )rollback transaction (4) 当运单状态为完成时,不能再在此运单上新建转运create trigger zhuanyun_nofix on zhuanyun for insert asdeclare @state varchar (20)select @state =inserted .ydnofrom insertedif ( @state =' 完成' )rollback transaction(5) 当货物开始转运,新建转运项时,把订单状态设置为' 派送'create trigger add_zy on zhuanyun for insertasdeclare @ydno varchar(20)select @ydno=inserted . ydnofrom insertedupdate yundan set yundan. ydstate =' 派送where yundan. ydno=@ydno(6) 在zhuanyun 表中设置触发器,计算仓库储存量ckweight 的值,每当货物运进该仓库,ckweight 加上该货物重量。

相关文档
最新文档