资源描述
傲广电脑进销存管理
系统设计说明
命名规则:驼峰命名法,标准前缀+名字(名字第一个字母大写)
一、说明
进销存管理系统
系统功能:本系统完成小型企业(主要为计算机配件销售)生产过程中的物资从计划到采购、库存、销售的管理功能,可作为一套相对独立的系统,
系统结构:
系统共分三部分,它们是采购模块,库存模块,销售模块。
系统的结构:
总帐明细帐
仓库
销售业务员
采购业务员
仓库保管员
客户
供应商
采购模块主要解决的是材料采购计划管理和采购成本的控制,这样可以避免因盲目采购而造成的损失,也可以避免因人为因素而造成的原材料采购成本偏高的问题。
库存模块主要解决的是存货库存量控制和发出成本的核算,通过超储、不足、失效等告警查询来控制库存量,并反馈信息给采购部门和销售部门,决定是否采购或者是否可以销售。
销售模块主要解决的是销售业务管理和销售成本的控制,通过价格、欠款限额等避免因人为因素而造成的销售收入损失和坏帐损失等。
二、基本配置
表: 商品
字段名
数据类型
空/非空
约束关系
★商品ID
varchar(7)
On null
primary key
商品名称
varchar(20)
null
类别号
varchar(3)
null
型号
varchar(20)
null
品牌号
varchar(3)
null
计量单位号
varchar(3)
null
技术参数
varchar(250)
null
进价
money
null
售价
money
null
会员价
money
null
包换期限
varchar(10)
null
供货商ID
varchar(4)
null
图片文件
varchar(20)
null
类别
字段名
数据类型
空/非空
约束关系
类别号
varchar(3)
On null
primary key
类别名称
varchar(10)
null
品牌
字段名
数据类型
空/非空
约束关系
品牌号
varchar(3)
On null
primary key
品牌名称
varchar(10)
null
计量单位
字段名
数据类型
空/非空
约束关系
计量单位号
varchar(3)
On null
primary key
单位名称
varchar(10)
null
供货商
字段名
数据类型
空/非空
约束关系
供货商ID
varchar(4)
On null
primary key
公司名称
varchar(50)
null
电话
varchar(11)
null
地址
varchar(50)
null
联系人
varchar(10)
null
传真
varchar(20)
null
Email
varchar(30)
null
网址
varchar(30)
null
采购定单
字段名
数据类型
空/非空
约束关系
采购定单号
varchar(13)
On null
primary key
审核入库
bit default 0
null
采购总金额
money
null
定单日期
smalldatetime
null
入库时间
smalldatetime
null
业务员
varchar(3)
null
采购明细表
字段名
数据类型
空/非空
约束关系
采购定单号
varchar(13)
On null
primary key
商品ID
varchar(7)
null
采购数量
int
null
商品价格
money
null
采购退货
字段名
数据类型
空/非空
约束关系
退货单号
varchar(6)
On null
primary key
采购定单号
varchar(13)
null
商品ID
varchar(7)
null
数量
int
null
退货金额
money
null
退货日期
smalldatetime
null
入库表
字段名
数据类型
空/非空
约束关系
入库单号
varchar(3)
On null
primary key
采购定单号
varchar(13)
null
库管员
varchar(6)
null
入库日期
smalldatetime
null
门店销售
字段名
数据类型
空/非空
约束关系
销售单号
varchar(13)
On null
primary key
售货员
varchar(3)
null
销售日期
smalldatetime
null
销售总金额
money
null
门店销售明细表
字段名
数据类型
空/非空
约束关系
销售单号
varchar(13)
On null
primary key
商品ID
varchar(7)
null
销售数量
int
null
商品价格
money
null
门店销售退货
字段名
数据类型
空/非空
约束关系
退货单号
varchar(6)
On null
primary key
销售单号
varchar(13)
null
商品ID
varchar(7)
null
数量
int
null
退货金额
money
null
退货日期
smalldatetime
null
定单
字段名
数据类型
空/非空
约束关系
定单号
varchar(13)
On null
primary key
用户ID
varchar(6)
null
总价格
money
null
定单日期
smalldatetime
null
定单支付情况
varchar(1)
null
审核出库
bit default 0
null
有效期
smalldatetime
null
定单详情
字段名
数据类型
空/非空
约束关系
定单号
varchar(13)
On null
primary key
商品ID
varchar(7)
null
购买数量
int
null
商品价格
money
null
定单退货
字段名
数据类型
空/非空
约束关系
退货单号
varchar(6)
On null
primary key
定单号
varchar(13)
null
商品ID
varchar(7)
null
数量
int
null
退货金额
money
null
退货日期
smalldatetime
null
出库表
字段名
数据类型
空/非空
约束关系
出库单号
varchar(6)
On null
primary key
定单号
varchar(13)
null
库管员
varchar(3)
null
出库日期
smalldatetime
null
购物车
字段名
数据类型
空/非空
约束关系
购物车号
varchar(6)
On null
primary key
用户ID
varchar(6)
null
商品ID
varchar(7)
null
数量
int
null
库存
字段名
数据类型
空/非空
约束关系
商品ID
varchar(7)
On null
primary key
库存量
int
null
最后更新日期
smalldatetime
null
用户表
字段名
数据类型
空/非空
约束关系
用户ID
varchar(6)
No null
primary key
用户名
varchar(20)
null
密码
varchar(20)
null
客户姓名
varchar(10)
null
注册会员
bit
null
联系地址
varchar(50)
null
邮编
varchar(6)
null
联系电话
varchar(11)
null
EMail
varchar(30)
null
OICQ
varchar(15)
null
ICQ
varchar(15)
null
MSN
varchar(10)
null
性别
varchar(10)
null
生日
smalldatetime
null
说明
varchar(250)
null
客户表
字段名
数据类型
空/非空
约束关系
客户ID
varchar(6)
On null
primary key
单位名称
varchar(50)
null
联系人
varchar(10)
null
地址
varchar(50)
null
电话
varchar(20)
null
传真
varchar(30)
null
EMail
varchar(30)
null
网址
money
null
员工表
字段名
数据类型
空/非空
约束关系
员工ID
varchar(3)
On null
primary key
姓名
varchar(10)
null
性别
varchar(4)
null
职务
varchar(20)
null
工资
money
null
出生日期
smalldatetime
null
身份证号
varchar(20)
null
电话
varchar(11)
null
EMail
varchar(30)
null
票据类型(增值税,普通发票,收据,白条等等)
CREATE table dbo.CheckType (
Code char (6) NOT NULL ,/*票据类型代码*/
Name char (16) NOT NULL ,/*票据类型名称*/
Description char (30) NULL /*票据类型描述*/
)
GO
费用类型(运输,广告,宣传,销售员花费等等)
CREATE table dbo.ExpenseType (
Code char (6) NOT NULL ,/*费用类型代码*/
Description char (30) NULL /*费用类型描述*/
)
GO
采购类型
CREATE table dbo.Vendortype (
Code char (6) NOT NULL ,/*采购类型代码*/
Description char (30) NULL /*采购类型描述*/
)
GO
票据状态(输入,执行,完成,关闭)
create table dbo.checkstatus (
code char (6) NOT NULL , /*票据状态代码*/
description char (30) NULL /*票据状态描述*/
)
go
票据来源 (来自订单,销售单,或其他单据)
create table dbo.checksource (
code char (6) NOT NULL , /*票据来源代码*/
description char (30) not NULL /*票据来源描述*/
)
出库类型(销售,领料,退货)
create table dbo.outinvtype (
code char (6) NOT NULL , /*出库类型代码*/
description char (30) NOT NULL/*出库类型描述*/
)
仓库调整类型(物资数量调整,,金额调整,都调整)
CREATE table dbo.adjusttype (
code char (6) not null, /*仓库调整类型代码*/
description char (30) null /仓库调整描述*/
)
go
调整原因(仓库损耗,价格上涨等)
CREATE table dbo.adjustreason (
code char (6) not null, /*调整原因代码*/
description char (30) not null /*调整原因描述*/
)
go
借用原因
CREATE table dbo.b_rreason (
code char (6) not null, /*借用原因代码*/
description char (30) null /*借用原因描述*/
)
部门信息
CREATE table dbo.b_rreason (
Dir char(8) not null, /*部门信息目录*/
code char (6) not null, /*部门信息代码*/
description char (30) null /*部门信息描述*/
)
人员信息
CREATE table dbo.personinfo (
dep char(8) not null, /*部门信息*/
code char (8) not null, /*人员代码*/
name char (20) not null, /*姓名*/
Borndate datetime null, /*出生年月*/
Sex char (2) not null,/*性别*/
Haveright char (30) not null, /*权限*/
Email char (30) null, /*Email地址*/
Bp char (30) null, /*拷机号码*/
Status char(6) null /*状态*/
)
三、基本启动参数
新建套帐
启用日期(财政年度开始日期):2005-9-28
每月结帐日期:
核算方式(库存评估方法):加权平均、移动平均、先进先出、后进先出、最后进价、个别计价
物品编码方式: 1、自定义 2、分级(使用树型结构,自定义级别以及位数,最大6级)如:大类+中类+流水号
是否启用保质期管理
是否启用批次管理
批号自动生成还是人工输入
对物资进行初始化
界面设计中的问题:
关键字用暗红色表示,不允许修改的字用灰色.
四、计划管理
4.1功能:
物资计划管理主要完成产品进货销售物资需求计划与制定、审批、下达执行管理,提高物资计划申报准确性,计划完成情况分析;
需求计划主要模块:
1、 计划进货、进原料(基层部门将需求计划上报)
2、 计划审批(上报时可采用发邮件的方式,采用多级审批,最多三级)
3、 计划下达(经审批进入进货商公司,下达的方式也可以用发送邮件的方式)
4、 计划平衡汇总,形成领料通知单或物资缺口(计划汇总的方式可以根据采购员来分,也可以按月度来分)。根据物资缺口形成采购订单(根据汇总的清单按物资种类与库存比较,计算可领物资数量的公式为:库存现有数量-待领数量-定额数量=可领数量,如果可领数量小于计划单上的数量,则将该物资列如采购单,形成采购单并交给采购员去采购,等到采购的物品齐后,形成领料单,如果开始时可领数量就大于计划上的数量,一开始就可以形成领料单,发给相关的部门)
5、 计划内领料(可以查询领料的状态,包含可令物资的数目,已领的数目,剩余的数目,可以用不同的颜色来表示不同的状态,如用红颜色来表示申请的物资已经领完,绿色表示物资还没有领完)
6、 关闭计划,等到计划结束后关闭,计划一经关闭就不许再修改。
7、 计划项目查询(可以按计划的编号,月度来查询,查询时要可以用不同的颜色来显示计划的状态,如红色表示计划已结束,绿色表示正在进行中,要显示可领物资数目,已领物资数目,剩余数目,计划是否已超时,如果超时,则要发出警报)
8、 计划准确率统计报表(所谓准确率就是指申请数目与已领数目的比例,通过计划准确率能表示该计划制定得是否恰好)
10 、计划超额报警、计划领料报警提示(当计划的费用超过剩余预算时要 发 出警报,发出警报的方式也是多种多样,如可以用声音,或颜色,计划领料报警是指当该领的物资已领完,或在规定的时间内物资还没领完,或在合同规定的时间内对方还没有发物资,系统都应该发出计划领料报警)
11、计划完成情况统计报表(用来统计计划是否按预定的目标实现,或还没完成就结束)
12、计划中止
A、 检查计划执行情况要求:
-计划项目输入后建立与库存联系-收料时必须选择合同编号
-发料时必须选择输入计划项目编号-合同输入时必须选择计划项目编号
4.2库结构:
计划申请表
create table dbo.proj(
SerialNo int not null, /*记录号*/
projno char (12) not null, /*计划号码*/
projname char (30) null, /*计划名称*/
applydate datetime null, /*申请日期*/
applypart char (6) null, /*申请部门*/
usetype char (6) null, /*使用方向*/
passtype char (1) null, /*审批方式,同时,依次*/
passresult char (1) null, /*审批结果,只在同时审批时有效*/
applyman char (20) null , /*申请人*/
audtingman1 char (20) null, /*审批人1*/
audtingemail1 char (20) null, /*审批人1email1*/
audtingdate1 datetime null, /*申批时间1*/
passstatus1 char (1) null,/*审批结果1*/
audtingman2 char (20) null, /*审批人2*/
audtingemail2 char (20) null, /*审批人2email*/
audtingdate2 datetime null, /*申批时间2*/
passstatus1 char (1) null,/*审批结果2*/
audtingman3 char (20) null, /*审批人3*/
audtingemail3 char (20) null, /*审批人3email*/
audtingdate3 datetime null, /*申批时间3*/
passstatus3 char (1) null,/*审批结果3*/
actstatus char (1) null, /*执行状态*/
remarks char (30) null /*备注*/
)
申请单明细
create table dbo.projdetail (
SerialNo int not null, /*记录号*//
projno char (12) not null, /*计划号码*/
Materialcode char (32) not null, /*物品代码*/
unit char (10) null, /*物品单位*/
neednum float null, /*需求数量*/
needdate datetime null, /*需求日期*/
usetype char (12) null, /*使用方向*/
passnum float null, /*批准数量*/
cangetnum float null, /*可领数量*/
getnum float null, /*已领数量*/
notgetnum float null , /*未领数量*/
shortnum float null, /*缺少数量*/
taxrate float null, /*税率*暂不用*/
money float null, /*金额暂不用*/
havetaxmoney float null, /*含税价暂不用*/
notaxmoney float null, /*不含税价暂不用*/
remarks char (12) null /*备注*/
)
仓库物资缺少库
create table dbo.prodshort(
SerialNo int not null, /*记录号*//
Materialcode char (32) null, /*物资代码*/
unit char (10) null, /*物资单位*/
shortnum float null, /*缺少数量*/
needdate datetime null, /*需求时间*/
remarks char (30) null /*备注*/
)
领料管理:领料单登记、维护、领料单出库维护、维护原始凭单号
从某仓库领料,查询在库数量、库存可用数量、库存单位==》详细信息 货位代码、货位数量、货位可用数量生产分配数量、销售分配数量、其他分配数量
4.3模块、流程及实现:
1、 功能说明
1、 计划编制:
功能:新建、修改、项目删除、查询(即增、删、改、查)
要求:
A、在输入计划项目时,要选择物资(调用物资选择窗体)
B、 如果用户直接输入物资编码,要自动从数据库查询物资信息添入窗体
C、 在修改时必须判断,该计划是否已经审批(审批过后的计划才能生效)
D、 权限的审批:只有具有用户才能审批(不考虑,由系统提供);如果能审批,必须记录审批人员与审批时间;审批分为全部审批或单项审批
E、 发送:调用系统提供的发送函数即可
/*在输入项目时,如果有预算,必须考虑是否提示超过预算,如果超过应该以不同颜色提示或者显示消息说明预算不够
具体步骤
新建:增加一个计划单号,并将当前的各种计划数据输入,分别保存到计划申请表和计划申请表明细中.在明细输入中,能选择物资代码.但一个计划单中,一种物资,只能出现一次.
修改,删除:当计划处于修改状态时,才能够修改,若已进入审批,则不可修改.只能先取消审批,然后才能修改.处于执行状态,则只能够中止计划,不能再修改.
2、 计划上报:(邮件)
功能:将需审批的信息传送至审批人,请他审批.
要求:在此过程中计划不应许修改,可以通过发邮件形式来发送
具体步骤:在审批中,最多允许三个人审批,他们可以同时审批,也可以依次进行审批.先填写审批人的Email地址即可.
3、 审批:(审批条)
功能:修改,发送,删除项目
要求:
具体步骤:可以改动计划,删除计划..日志中详细纪录
A、 单级审批,或多级审批。(在配置中设置)
B、 审批的领导要有相应的权限。
C、 同时记录下审批人的姓名和时间。
D、 发送时调用系统的函数
E、 审批人有权删除有关的申请项目。
F、 在规定的时间内领导还没有审批计划,则应发出警告通知有关领导审批计划,最后,不管计划是否通过,都应用邮件的方式来通知有关部门。
4、 计划下达:(邮件)
计划审批完毕,可以下达执行指令,计划进入执行状态.
功能:将计划已审批的消息传送至计划申报人.
要求:在这过程中不允许修改计划。
5、 计划汇总:(需求清单,库存表,物资缺口表)
这个步骤可以在计划执行后进行.
功能:汇总已审批的计划,将其总的物资归类,于库存对比,形成物资缺口
6、 形成采购单(采购清单)
功能:将物资缺口形成采购单。要根据缺口单,采购商物品清单,报价单等生成,现做连接,将采购缺口和采购商物品清单,报价单连接起来,得到该物资的供应商,价格等,根据供应商,生成每个供应商的报价单.也可让用户选择物资输入.
7、 计划内领料(印象库存表)
功能:对汇总中,仓库中存在且可以领料的产品形成计划内领料。
具体步骤:将用户的执行中的计划单中的物质与仓库中存货比较,得出缺少的物质,及可领的数量,然后回填到计划单中.
8、 计划关闭
功能:计划完成或中止。计划不能再被修改。
9、 查询:(提供安物资,按供应商等多种查询方式.)
A、 按照计划编号查询
B、 查询计划执行情况
C、 查询计划明细
D统计(统计表):统计计划执行情况
按部门、月份统计,例如:统计某个部门淡月的计划执行情况,如物资的申请数量,已领数量、带领数量
E、计划准确率统计报表
计划关闭后统计申请数量与已领数量比例
A、 计划超额报警、计划领料报警提示(用颜色表示暂缺、完成、待领、挂起)
超额报警:与预算相关(如果超过预算系统报警,编写在服务器上运行的一个功能函数)
E、计划完成情况统计报表
F、计划平衡汇总(计划申请表,库存表)
选项
按用户对每项计划配置是否允许系统跟踪流程
是否允许系统自动发送状态变化通知(如果该用户有信箱).
五、采购管理:
5.1功能:完成物资的采购,其中包括供应商报价单管理,订单管理,合同管理,收货管理,入库管理,收票管理,付款管理。
管理的是原材料,能够完成原材料的入、出库管理和库存管理业务。
并增加了对产成品的管理功能。
提供多种查询及打印报表,并能够自定义,方便快捷.
5 . 2 采购库结构
供货商
字段名
数据类型
空/非空
约束关系
供货商ID
varchar(4)
On null
primary key
公司名称
varchar(50)
null
电话
varchar(11)
null
地址
varchar(50)
null
联系人
varchar(10)
null
传真
varchar(20)
null
Email
varchar(30)
null
网址
varchar(30)
null
采购定单
字段名
数据类型
空/非空
约束关系
采购定单号
varchar(13)
On null
primary key
审核入库
bit default 0
null
采购总金额
money
null
定单日期
smalldatetime
null
入库时间
smalldatetime
null
业务员
varchar(3)
null
采购明细表
字段名
数据类型
空/非空
约束关系
采购定单号
varchar(13)
On null
primary key
商品ID
varchar(7)
null
采购数量
int
null
商品价格
money
null
采购退货
字段名
数据类型
空/非空
约束关系
退货单号
varchar(6)
On null
primary key
采购定单号
varchar(13)
null
商品ID
varchar(7)
null
数量
int
null
退货金额
money
null
退货日期
smalldatetime
null
入库表
字段名
数据类型
空/非空
约束关系
入库单号
varchar(3)
On null
primary key
采购定单号
varchar(13)
null
库管员
varchar(6)
null
入库日期
smalldatetime
null
5.3模块、流程及实现:
报价单管理
报价单,输入报价单的各种信息,存入报价单和报价单明细库,并能够将报价单按时间,价格等进行排序,然后让用户选择每个物资的供应商和报价,这作为签订合同的基础,报价单定时将超出期限的报价单归类,让用户统一进行删除.以便对报价单进行维护.
采购订单管理:输入客户的各种订单,部分订单是由申请计划对照仓库库存而来的,这部分订货需连接计划缺少需求库,报价单库,供应商物资库,再经计算得到,这种订单的类型中,订单类行为1,而客户订单的类型为2.,订单执行前,可以进行增加修改,闪出,但执行后,就不能再进行增加修改,而只能将之中止.
增加:增加一条订单纪录,对订单库,订单明细库进行修改.增加该纪录.一个订单上,不能出现相同的物资代码,.
修改删除:当订单处于编辑状态时,订单可以进行修改删除,当订单执行时,则不能修改删除.修改删除时,也只需改动订单库及订单明细库.
执行:当订单处于执行状态时,要将订单中的数量写入数据总库中的定购数量.
中止:订单未执行完,就停止执行.中止时,先修改订单库的标志,此时,不能再按订单进行收货,但可以对订单进行退货.
订单执行完毕,可将订单关闭,订单执行完毕的概念是,订单中的所有货物到齐,票据来到,货款付清.合同也随订单结束而结束
收货管理:按合同收取货物,收到的货物可以再检验之后,全部入库收货要修改收货库和收货明细库,并在物资总库中修改定购数量和待检验数量..若输完收货单后,直接全部入库
入库管理: ,采购订单收货、(无订单收货)、收货库存分配、收货确认入库(关闭订单)、收货单更正
将收到的货物,经检验后,算作正式入库.
首先输入入库表和入库明细表,然后将修改收货单的检验数量和可用数量.退货数量,提供一些简便方式,使用户可以方便的生成退货单.经检验入库的货物还应写入物资存储明细库中.物资存储明细库中保存了每一批货物的来料时间,批次,有效期,可用数量等,为出库做准备..
退货管理:
将不合格的物资填写退货单,退回供应商.
首先输入退货表,退货明细,然后修改收货单的退货数量和待检验数量.
收票管理:
将供应商开出的票据输入收票库,收票明细,并将针对每个定购单的金额分配到相应的定购单的开票金额中,并将开票的金额填到相应的应付款中去.
/*考虑是否建立供应商应付款库*/
付款管理:
将付款金额和付款所针对的票据号码等填入付款库和付款明细库,然后将所付款项填入订单中的已付款中.
订单关闭:
当订单中的应到货物数都已到达,并经检验入库,票据已开出,款已付清,则订单可以关闭.
六、销售管理
6.1功能:
销售模块实现了销售从订单管理,销售收款,销售提货,销售退货,销售开票,现款销售等功能.
6.2销售库结构:
门店销售
字段名
数据类型
空/非空
约束关系
销售单号
varchar(13)
On null
primary key
售货员
varchar(3)
null
销售日期
smalldatetime
null
销售总金额
money
null
门店销售明细表
字段名
数据类型
空/非空
约束关系
销售单号
varchar(13)
On null
primary key
商品ID
varchar(7)
null
销售数量
int
null
商品价格
money
null
门店销售退货
字段名
数据类型
空/非空
约束关系
退货单号
varchar(6)
On null
primary key
销售单号
varchar(13)
null
商品ID
varchar(7)
null
数量
int
null
退货金额
money
null
退货日期
smalldatetime
null
定单
字段名
数据类型
空/非空
约束关系
定单号
varchar(13)
On null
primary key
用户ID
varchar(6)
null
总价格
money
null
定单日期
smalldatetime
null
定单支付情况
varchar(1)
null
审核出库
bit default 0
null
有效期
smalldatetime
null
定单详情
字段名
数据类型
空/非空
约束关系
定单号
varchar(13)
On null
primary key
商品ID
varchar(7)
null
购买数量
int
null
商品价格
money
null
定单退货
字段名
数据类型
空/非空
约束关系
退货单号
varchar(6)
On null
primary key
定单号
varchar(13)
null
商品ID
varchar(7)
null
数量
int
null
退货金额
money
null
退货日期
smalldatetime
null
出库表
字段名
数据类型
空/非空
约束关系
出库单号
varchar(6)
On null
primary key
定单号
varchar(13)
null
库管员
varchar(3)
null
出库日期
smalldatetime
null
6.3模块、流程及实现:
销售订单管理:输入客户的各种订单,部分订单是由对照仓库库存而来的,这部分订货需连接计划缺少需求库,报价单库,供应商物资库,再经计算得到,这种订单的类型中,订单类行为1,而客户订单的类型为2.,订单执行前,可以进行增加修改,闪出,但执行后,就不能再进行增加修改,而只能将之中止.
增加:增加一条订单纪录,对订单库,订单明细库进行修改.增加该纪录.一个订单上,不能出现相同的物资代码.
修改删除:当订单处于编辑状态时,订单可以进行修改删除,当订单执行时,则不能修改删除.修改删除时,也只需改动订单库及订单明细库.
执行:当订单处于执行状态时,要将订单中的数量写入数据总库中的销售定购数量.如果库存不够,将考虑采购.此处不考虑mpr,不能将需求分解成原材料.
中止:订单未执行完,就停止执行.中止时,先修改订单库的标志,此时,不能再按订单进行收货,但可以对订单进行退货.
订单执行完毕,可将订单关闭,订单执行完毕的概念是,订单中的所有货物发出,票据开
展开阅读全文