销售系统详细设计.docx
《销售系统详细设计.docx》由会员分享,可在线阅读,更多相关《销售系统详细设计.docx(86页珍藏版)》请在冰豆网上搜索。
销售系统详细设计
编号:
1998003
版本:
V01
详细设计说明书
项目名称:
茂名石化销售管理信息系统
项目负责人:
袁林
编制:
袁林,文杰
审核:
批准:
茂名石化计算机公司1998年9月12日
1引言………………………..…………………………………………….1
1.1目的……..………………………………………………………………1
1.2与本报告有关参考资料..………………………………………………1
2软件结构.……………………………….………………………………2
2.1系统(维护)管理程序模块结构……………………………………2
2.2业务应用程序模块结构………………………………………………2
3程序详细设计………………………………………………………..3
3.1计划管理设计说明……………………….………………..…………4
3.2月请车计划、开单管理设计说明………….…………………………10
3.3运输调度设计说明………………………….…………………………19
3.4计量单管理设计说明……………………….……………………….24
3.5记帐管理设计说明……………………….…..…………………….30
3.6托收管理设计说明……………………….……….…………………32
3.7编码管理设计说明……………………….………………………….41
3.8统计管理设计说明……………………….………………………...45
3.9货款管理设计说明……………………….………………………….
3.10与税控机接口设计说明……………….…………………………..
3.11与铁运工业站接口设计说明…………….…………………………..
1引言
1.1目的
依据茂石化销售公司现行的信息管理系统与其业务的需要,在硬件满足要求的前提下,经过认真的调查,设计一套能完成茂石化销售公司整个业务功能流程的信息管理系统,实现销售计划(销售订单)→销售开单→计量(销售外围)→记帐→托收以及各种报表统计都能在计算机上进行,达到销售公司本部与外围点之间业务数据的高度共享和快速交换,同时对堵塞漏洞、提高茂石化销售公司的现代化管理水平及效率有积极重要的意义。
本设计将详细描述销售公司部分,主要描述销售计划(销售订单)→销售开单→计量(销售外围)→记帐→托收以及各种报表统计等的详细处理过程。
1.2与本报告有关参考资料
.项目合同书或立项报告书
.系统分析报告
.项目开发计划
.概要设计说明书
.茂石化计算机公司软件工程规范
2软件结构
2.1系统(维护)管理程序模块结构
包括:
用户信息管理
代码管理
文档管理
数据备份等
2.2业务应用程序模块结构
业务应用程序模块包含以下层次:
子系统分调度子系统,业务子系统等;
业务子系统分合同管理、订单管理,销售计划管理、月请车计划管理、销售开单管理、日请车管理、计量单管理、记帐管理、托收管理、客户货款管理等;
功能分录入,查询,打印等;
3、程序详细设计
详细设计约定:
(1)、产品编码可直接录入,也可通过通用产品编码帮助录入(记录比较多的如:
客户编码);其他一些编码(记录比较少)可直接录入,也可通过下拉数据窗录入;直接录入的须检验其有效性。
各编码台收中有作废标志字段,且作废标志为‘1’的编码,在编码录入的下拉窗口不显示,但在业务台帐及报表的查询中可显示。
(2)、操作员列均不可修改,自动设置。
有关日期的列初值置为当前日期;
(3)、当数据窗的数据源有部门编码的表时须加部门编码条件;
(4)、在有车间科室字段的各业务台帐中操作员所属处室(cjcsbm)只能查看本处室的业务记录。
在计量单维护的功能中,操作员所属提货点为‘000’,则可维护所有提货点的记录信息,当所属提货点为某一提货点时,只能维护本提货点的记录信息。
(5)、注明‘(乙烯)’表示乙烯特有功能;
(6)、当在业务台帐要修改、录入产品编码时,须检验该用户的产品权限(计量单、记帐、托收除外);
(7)、定义全局变量:
SYS_AUTHOR业务员产品权限,类型:
STRING,格式:
XXXXXX…
SYS_YMD业务日期(/起始),类型:
STRING,格式:
YYYYMMDD
SYS_YMD1业务日期(/结束),类型:
STRING,格式:
YYYYMMDD
SYS_CJCS业务员所在科室,类型:
STRING,格式:
####
SYS_THDM业务员所在提货点,类型:
STRING,格式:
###
SYS_OPER操作员名称,类型:
STRING,格式:
XXXXXXXX
(8)、在进入月销售计划、销售开单、计量单等业务台帐维护功能时,须判断系统状态标记表中子系统代码为业务子系统,结帐月份为当前业务月份的结帐状态,若已结帐,则不能进入维护功能,提示用户可用查询功能;
(9)、销售计划录入、月销售请车录入、销售开单录入时均有复制功能,将上一条记录复制成一新的记录,关键字重新生成;
(10)、取顺序号通用函数FG_GET_NUM(年月,列名,长度),返回STRING型的顺序号,
参数说明:
年月:
STRING,业务月份(YYYYMM);
列名:
STRING,放结果的列的名称;
长度:
顺序号的长度;
例:
生成1998年月11月的记帐码[CHAR(11)],FG_GET_NUM(‘199811’,‘JZM’,5),年月‘199811’+取得的顺序号即为生成的记帐码;
处理:
依据列名在台帐代码表(B_TABLE)中查到对应的台帐代码(B_TABLE.TZDM),然后判断最大序号表(B_MAXNO)是否存在业务月份该类别的记录,(MMAXXH-序号)
若不存在,B_TABLE表增加一行,处理如下:
YYMM月份,取当前业务日期的月份,
TZDM台帐代码,当前台帐代码,
MAXXH最大序号,置为2;
MMAXXH序号(变量)赋值1;
若存在,B_MAXNO表处理如下:
MAXXH序号,置为原序号+1;
MMAXXH序号(变量)赋值为原序号;
将MXH转换成指定长度的字符串返回;
一般在存盘时调用此函数。
输入项:
B_TABLE台帐代码表
B_MAXNO最大序号表
输出项:
B_MAXNO最大序号表
(11)、在各业务台帐中取产品价格要从产品单价表(YW_CPDJ)中取该业务日期前最近的定价日期的单价。
如:
在记帐台帐形成时则取发油日期前最近的定价日期的单价。
(12)、系统约定所有历史记录表的代码为:
当前业务台帐代码+‘_old’。
各业务台帐的查询功能应分为两部分:
当前记录查询和历史记录查询。
1.在所有业务台帐当前记录查询功能录入‘查询年月’确认后,应到历史记录结转台帐(b_hisjl)中查找该查询功能主台帐的历史记录最后年月,若查询年月不大于该年月则提示‘到历史记录查询功能中查询’。
2.在所有业务台帐历史记录查询功能录入‘查询年月’确认后,应到历史记录结转台帐(b_hisjl)中查找该查询功能主台帐的历史记录最后年月,若查询年月大于该年月则提示‘到当前业务查询功能中查询’。
(13)、系统约定对所有业务台帐数据进行冲红等跟历史记录有关的处理时,若记录在当前业务表中查找不到,则还应到历史记录表中查找。
(有关处理在详细设计时就应说明)
(14)、在连续业务中,当后一业务已发生,前一业务的数据不能删除或作废;
3.1计划管理设计说明
程序模块标识:
XSGSP1.1
程序模块名:
计划管理
数据处理流程图号:
DFDXSGS04
3.1.1合同管理(乙烯)
3.1.2订单管理(乙烯)
3.1.3月销售计划管理
一、程序模块标识与接口描述:
程序模块标识:
XSGSP1.1.3
程序模块名:
月销售计划管理
菜单号:
YW010103
界面:
窗口中采用TAB
二、处理功能描述
功能:
完成月销售计划的录入、查询,打印计划传单;
录入:
TABPAGE1中的数据窗用GRID方式列出月销售计划的概要情况,包括计划序号、执行标志、指标单位、产品名称、提货点、计划数量、月已开单数量、操作员,此数据窗不能修改、增删,仅显示本部门操作员录入的记录;
TABPAGE2中的数据窗与TABPAGE1中的数据窗共享数据源,用FREEFORM方式显示月销售计划的明细情况,订单号放在较前位置,当录入时(乙烯),将订单台帐中有关列带出,月已开单数量(VLKDSL)或已完成数量(WCSL)大于零时该计划不能删除,有‘打印计划传单’命令按钮,(/*打印时若该计划有多笔到款时,打印最后一笔到款,*/)有关列的处理如下:
JHXH计划序号按月(MM)+4位顺序号自动生成,只读,(调用通用函数FG_GET_NUM(SYS_YYMM,'JHXH',4));
BZ执行标志初值为‘1’,可改
ZBLXM指标类型码录入,非空
ITEMNUM产品码当订单号非空时,取该订单的产品码,否则可改,判断产品权限(可以是产品中类)
DWM指标单位码当订单号非空时,取该订单的指标单位码,否则可改,非空;
SHDWM收货单位码初值为指标单位码,可改,非空
FKDWM付款单位码同收货单位码,提示该单位的欠款、订金情况
JZDWM集资单位码允许空,可录入
ZJZDWM再集资单位码同集资单位码
DJLB单价类别非特惠价时,销售价(PRICE)初值取CPDJ表当前单价类别的最新价,非空
PRICE销售价单价类别为特惠价时,此列非空且销售开单、记帐的单价取此值,否则按产品、单价类别、计划日期到CPDJ表中自动取相应的价格;
JHSL计划数量录入,大于零;大于等于零(运输方式为铁运时可为零),小于等于计划总量;
AJHSL计划总量录入,大于零;
VLKDSL月已开单数量初值置0,只读;
KDSL有效开单量初值置0,可改,但须大于月完成数量(WCSL)
AKDSL年累计完成数量初值为0,只读
WCSL月完成数量初值置0,只读
AWCSL年累计完成数量初值为0,只读
JSDM结算方式非空
YSDM运输方式允许空
YKDM提货点允许空
BZM包装方式允许空
JLM计量单位允许空
JHJZBZ结转标志初值置为‘0’
JZ已结转标志初值置为‘0’
JZXYBZ记帐校验标志初值为‘1’校对计划数,为‘0‘时不校对
JHRQ日期置当前日期,非空,只读
APRQ安排日期同上
YXRQ有效日期二月取28日,其他取30日,非空,只读
YYMM月份取SYS_YMD1的前六位
JHPZR计划批准人?
允许空
OPER操作员取SYS_OPER
CJCSBM车间科室码取SYS_CJCS
TABPAGE3中数据窗以GRID方式显示该计划的其他费用情况,可修改、增删,
JHXH计划序号由前计划台帐带出,非空,只读
FYDM费用代码可直接录入,也可弹出一帮助窗(有二级帮助)选择费用代码,非空
PRICE单价初值取销售费用编码表(XSFYM)的该费用的价格,非空,可改
YYMM月份由前计划台帐带出,非空,只读;
TABPAGE3:
计划传单:
格式1:
加一SINGLINE给用户录入本次打印的吨数,默认值为该销售计划的计划数,可以修改,将该值置入销售计划传单,但不存盘。
格式2:
查询:
与录入窗类似,所有数据窗均不能修改或增减。
三、输入项
YW_XSJH销售执行计划台帐
YW_JHJG计划_其它费用价格
YW_XSDD销售订单台帐
YW_YHHK客户到款台帐
ZD_JSFS.JSDM结算方式.结算代码
ZD_YSFS.YSDM运输方式.运输代码
ZD_HBBM.HBBM货币汇率.货币编码
ZD_CPBM.ITEMNUM产品编码.产品码
ZD_KHBM.DWM客户编码.客户编码
ZD_DJLB.DJLB单价类别
ZD_XSFYM.XSFYM销售费用码
ZD_THDBM.YKDM提货点编码
ZD_BZFS.BZM包装方式.包装方式码
ZD_JLDW.JLM计量单位.计量单位码
四、输出项
YW_XSJH销售执行计划台帐
YW_JHJG计划_其它费用价格
YW_YHHK客户到款台帐
3.1.4计划结转管理
一、程序模块标识与接口描述:
程序模块标识:
XSGSP1.1.4
程序模块名:
计划结转
菜单号:
YW010104
界面:
单一式窗口
二、处理功能描述
功能:
月销售计划转为新的月份的销售计划,打印计划传单;
处理:
记录操作范围为:
本部门操作员录入,指定时间范围内的,未结转,未完成且未作废的月销售计划(已结转标志为‘0’,执行标志不为‘3’和‘4’);
数据窗以GRID方式列出月销售计划的概要情况,包括计划序号、执行标志、指标单位、产品名称、结转标志、计划数量、提货点、月已开单数量、操作员,此数据窗不能增删,除结转标志外其他列不能修改;
将需结转的月销售计划的结转标志置为‘1’,
有DROPDOWNLISTBOX,选择指标类型(可选所有指标类型),
有COMMANDBOTTOM:
全置结转标志将数据窗中所有记录的结转标志置为‘1’;
清结转标志将数据窗中所有记录的结转标志置为‘0’;
结转将选中的计划结转到指定的结转月份中,结转过程中提示用户结转的记录数;;
有SINGLEEDIT:
结转月份输入录入计划结转到月份(YYYYMM),缺省为SYS_YYMM的下一月份,校对月份的正确性;
结转处理:
选中的计划复制一次,新计划的列处理如下:
JHXH计划序号,可选择重新生成、保持不变(若结转月份中已有相同的计划序号,须重新生成计划序号);AJHSL,总计划量;AWCSL,年累计完成数量;AKDSL,年累计完成数量复制到新的计划中。
YYMM月份,置结转月份;
VLKDSL月已开单数量初值置0,只读;
KDSL有效开单量初值置0,只读;
WCSL月完成数量初值置0,只读;
JZ已结转标志初值置为‘0’;
APRQ安排日期置当前日期;
YXRQ有效日期结转月份若为二月取28日,其他取30日,非空,只读;
OPER操作员取SYS_OPER
原计划的列处理如下:
JZ已结转标志置为‘1’
计划_其它费用价格中的对应记录相应地转入结转月份中(可用触发器)
所有处理完成后,提交数据库。
三、输入项
YW_XSJH销售执行计划台帐
YW_JHJG计划_其它费用价格
四、输出项
YW_XSJH销售执行计划台帐
YW_JHJG计划_其它费用价格
3.2月请车计划、开单管理设计说明
程序模块标识:
XSGSP1.2、XSGSP1.3
程序模块名:
月请车计划、开单管理
数据处理流程图号:
DFDXSGS06
3.2.1月请车计划管理
一、程序模块标识与接口描述:
程序模块标识:
XSGSP1.2.1
程序模块名:
月请车计划管理
菜单号:
YW0201
界面:
TAB窗口
二、处理功能描述
功能:
月请车计划录入管理
记录操作范围为:
对于油品二处,仅允许操作本操作员录入的记录;
对于油品一、三处、允许操作本处操作员录入的记录;
录入:
TABPAGE1中的数据窗用GRID方式列出月请车计划的概要情况,包括收货单位、指标类型、到站、请车性质、操作员,此数据窗不能修改、增删;
TABPAGE2中的数据窗与TABPAGE1中的数据窗共享数据源,用FREEFORM方式显示月请车计划的明细情况;若已填批准计划号,该计划不能修改(备注列可修改)、删除;若先录入计划序号,则在XSJH表中找该计划,判断操作员是否有该产品权限,如有,把该计划有关内容带出,修改;有关列的处理如下:
YSDM运输方式只读,值为‘01’:
外运;
JZM记帐码存盘时自动生成,规则同销售开单;
KDXZM性质初值为‘01’:
原提,可改,若为'30'(变更)时,必须填写原记帐码,带出原记帐码的内容修改;修改'到站'时,必须与原'到站'同属于一个到局;'产品码'、'收货单位'、'到站'中至少有一项被修改,原提车数不能大于原记帐码的原提车数,并在被变更记录的'备注'填上'变更*车',原提车数改为变更后所剩车数;若为'20'(追加)时,必须填写原记帐码,带出原记帐码的内容修改。
JHPH计划批号(请车批号,默认为该操作员所录月请车的最大批号),录入;
PZJHH批准计划号只读,允许为空;
JHXH计划序号录入,允许为空;
ZBLXM指标类型码录入,非空;
ITEMNUM产品码当计划序号非空时,取该计划的产品码,否则可改,判断产品权限,若计划中为某一中类则可改为该中类的一个产品;
ZBDWM指标单位码当计划序号非空时,取该订单的指标单位码,可改;
SHDWM收货单位码初值为指标单位码,可改,非空;
FKDWM付款单位码同收货单位码,提示该单位的欠款、订金情况,可改;
DWTZM特征码允许空,可录入;
JZDWM集资单位码允许空,可录入;
ZJZDWM再集资单位码同集资单位码;
FZDZM始发站初值为'014413'(茂名站),可改;
DZM到站录入,非空;
WLBZ违流标志‘0’:
不违流,‘1’:
违流,录入;
ZYX专用线录入;
YTCS原提车数录入;
YTDS原提吨数YTCS*ZD_CPBM.BZMD,原提车数*产品编码.标重;
SPCS实批车数只读,允许空;
SPDS实批吨数只读,允许空;
KFSL可发数量不显示,允许空;
PRE_JZM原记帐码录入,新增记录且KDXZM为'20’:
追加或'30':
变更时录入;
QCH请车号只读,存盘时自动生成,方法:
年月(YYYYMM)+5位顺序号,(调用通用函数FG_GET_NUM(SYS_YYMM,'QCH',5));
PRE_QCH原请车号只读;
ZBBZ重保标志初值为'0':
非重保,'1'为重保;
CZ车种初值为CPBM.CZ,可改;
PAGE页号不显示;
LINE行号不显示;
IFSTOP停止执行标志不显示;
BZM包装方式允许空
JLM计量单位允许空
KDRQ日期置当前日期,非空,只读
APRQ安排日期同上
YXRQ有效日期本月倒数第二天,非空,只读
YYMM月份取SYS_YMD1的前六位
OPER操作员取SYS_OPER
CJCSBM车间科室码取SYS_CJCS
三、输入项
YW_XSQC月销售外运请车
YW_XSJH销售执行计划台帐
ZD_DWTZ.DWTZM单位特征.单位特征码
YS_ZYXM.ZYXM专用线码.专用线码
ZD_ZBLX.ZBLXM指标类型.指标类型码
YS_DZM.DZM到站编码.到站编码
YS_YSFS.YSDM运输方式.运输代码
ZD_CPBM.ITEMNUM产品编码.产品码
ZD_CPBM.CZ产品编码.车种
ZD_KHBM.DWM客户编码.客户编码
ZD_BZFS.BZM包装方式.包装方式码
ZD_JLDW.JLM计量单位.计量单位码
四、输出项
YW_XSQC月销售外运请车
3.2.2月请车计划结转管理
一、程序模块标识与接口描述:
程序模块标识:
XSGSP1.2.2
程序模块名:
请车计划结转
菜单号:
YW0202
界面:
单一式窗口
二、处理功能描述
功能:
月请车计划转为下一月份的月请车计划;
处理:
记录操作范围为:
对于油品二处,仅允许操作本操作员录入的记录;
对于油品一处、允许操作本处操作员录入的记录;
且性质(KDXZM)为‘01’(原提)
数据窗以GRID方式列出月请车计划的概要情况,包括指标单位、指标类型、产品名称、到站、操作员等,此数据窗不能增、删、改;
有COMMANDBOTTOM:
结转将选中的计划结转到指定的结转月份中;
有SINGLEEDIT:
结转月份输入默认为业务日期的下一月份,录入计划结转到月份(YYYYMM),校对月份的正确性;
结转处理:
在转入月份中若不存在原月请车计划中ZBLXM+ITEMNUM+DZM+DWTZM+ZBDWM则月请车计划复制一次,新计划的列处理如下:
JZM记帐码按转入月份自动生成,规则同销售开单;
JHPH计划批号‘1’,销售处为原批号第一位加‘1’;
PZJHH批准计划号空;
YTCS原提车数0;
YTCS原提车数0;
SPCS实批车数0;
SPDS实批吨数0;
KFSL可发数量0;
PRE_JZM原记帐码空;
QCH请车号按转入月份自动生成,规则同月请车计划录入;
PRE_QCH原请车号空;
PAGE页号0;
LINE行号0;
IFSTOP停止执行标志'0';
KDRQ日期转入月份的第一天;
APRQ安排日期同上;
YXRQ有效日期空;
YYMM月份转入月份;
OPER操作员取SYS_OPER;
CJCSBM车间科室码取SYS_CJCS;
三、输入项
YW_XSQC月销售请车计划
四、输出项
YW_XSQC月销售请车计划
3.2.3月请车计划表分页管理
一、程序模块标识与接口描述:
程序模块标识:
XSGSP1.2.3
程序模块名:
月请车计划表分页
菜单号:
YW0203
界面:
TAB窗口
二、处理功能描述
功能:
填写月请车计划表的列PAGE(页)、LINE(行);
处理:
记录操作范围为:
本处操作员录入(SYS_CJCS)的指定月份的记录;
条件为:
原提车数大于零,未批准(批准计划号PZJHH为空),未分页(PAGE为空)及用户录入的请车批号、请车性质;
有COMMANDBOTTOM:
自动分页将符合条件的计划分页;
有SINGLEEDIT:
请车批号录入
页长MPAGEL默认值为6
有DROPDOWNLISTBOX
请车性质将所有请车性质列出
TABPAGE1数据窗以GRID方式列出月请车计划的概要情况,按前面的记录操作范围及条件列出记录(但取消未分页条件,此条件在置页、行时有效)包括页、行、产品名称、到站、指标单位、指标类型、操作员等,此数据窗不能增、删,仅页、行可改,行号不能大于默认的页长;
分页处理:
取当前数据窗中的最大页号MAX_PAGE、最大行号MAX_LINE,若无则MPAGE=0,MLINE=0,数据窗按JHPH+KDXZM+DJM+ITEMNUM+ZBLXM+SHDWM(计划批号+请车性质+到局+产品码+指标类型码+收货单位码)排序,如MAX_PAGE>0,MPAGE=MAX_PAGE+1;
A)若MLINE=MPAGEL,则MPAGE=M