物资供应管理系统开发记略

来源:互联网 发布:chrome for mac 翻墙 编辑:程序博客网 时间:2024/06/06 09:15

没有用版本控制,这只是我针对这个软件开发的心路记载和思想记录,加上软件开发方面的记录,拉七杂八,四不象。

 

 

******************************

2009-04~2009-06

接手程序开发工作

前期用户需求收集

整理用户需求

生成开发需求计划

 

数据结构设计

数据库设计

 

程序关键应用算法确定方案

程序关键应用算法测试

 

程序架构模式

程序数据流向

程序模块划分

 

程序文件结构确定

命名空间管理

类管理

函数名字

文件命名

 

程序界面

程序主体颜色风格

 

基础结构编码开始

模块管理

工作流

    流程节点

    流程

    流程路由

    流程管理

        步骤增,删,改

        审批人(*)

        步骤顺序

 

组织机构

    人员增,删,改

    部门增,删,改

    职位增,删,改

角色管理

功能权限

公共数据

    功能权限

    物质单位

    状态激活

    性别

    布尔

 

需求计划设计

需求转采购

 

物质采购开始

 

2009-06-17

1.对申请表单中单项明细有修改权限的配置

2.物资审批完成的要生成物资采购表

  生成条件:is_material_purchase='1'的权限,结束申请审批

  结果:(1)material_demand, flow_work_modified表中对应sn的所有单项复制到material_purchase和material_purchase_detail表中

        (2)下一工作:使用新的流程  

 

状态:已完成

 

2009-06-18

1.开始物资采购审批编码设计

状态:已完成 

 

 

2009-06-27

1.开始进行采购编码设计

2.采购填单

状态:已完成

 

 

2009-06-29

1.预计进行流程管理设计--两个流程管理(完成)

2.需求申请审批完成后的表单设计 (完成)

3.采购审批完成后的表单设计 (完成)

 

 

2009-07-05

1.系统主界面 (完成)

2.系统登录界面 (完成)

3.系统主界面各链接(完成)

 

2009-07-06

1.界面(完成)

2.测试(完成)

 

2009-07-13

流程管理(完成)

采购完成(初步)

 

2009-07-17

报表(初步完成,没有原始报表样) 

 

2009-07-20

修改程序界面

发表程序

建立服务器

测试访问

 

******************************************************V1.0.0

******************************************************

 

 

2009-07-21

向物供中心初步演示

收集物供中心对程序的更改意见

 

 

A.数据表格按需求计划表显示,长度,单元格显示

B.加入申请人联系方式

C.需求申请部分物供中心步骤变化

D.核价专责指定核价员(专责与核价分离)

E.需求计划加入参考单价与参考金额

F.采购审批加入单项总额,预购额为单价

G.合同采购作为下期工作

H.物供中心提供报表表单

 

预计

A-F:2009-07-26前完成

H:待定

G:下期

***********************

 

安排:

1.B,E,F 申请人联系方式,需求计划单价,采购计划单价

2.C,D,A 

 

 

***********************

 

2009-07-21

重新确定数据库(完成)

编码更改

--更新总额(明天)

 

2009-07-22

上午机房空调更换,下午部门会议

需求更改编码完成

--需求审批完后总额更新(明天)

 

2009-07-23~2009-07-26

需求审批完后总额更新

采购审批

采购审批显示

采购审批总额更新

采购项目

 

 

2009-07-27

 

A.数据表格按需求计划表显示,长度,单元格显示

C.需求申请部分物供中心步骤变化

D.核价专责指定核价员(专责与核价分离)

 

2009-07-29

程序测试

 

******************************************************V1.1.0

*******************************************************

 

 

2009-07-30~2009-07-31

向物供中心演示

物供中心对程序提出新增和部分功能完善

 

新增:

 

一.程序功能新增:

A.对符合合同采购的单项,转合同采购 --建新表

 a.新增合同表

 b.新增合同要素表

 

B.对物资进行分类 --按物资类别-放在核库步骤-对物质分类进行选择-建新表

 a.电气材料

 b.金具

 c.办公用品

 d.IT类

 ...

C.对供货商进行分类 --按地域,按物资类别(一对多类)-放在核价步骤和采购入帐处-对地域进行选择-建新表

 1.供货商表

 2.供货商类别表 --按地域,按物资类别

 

 a.县内

 b.省内

 c.省外

 

D.入库地点 --在合同要素表中选择-放在合同采购明细表-新建表

 a.城南仓库

 b.安装公司仓库

 c.螺电仓库一

 d.螺电仓库二

 e.金电仓库

 f.东电仓库

 g.变压器厂仓库

 i.物供中心仓库

 j.汽修厂仓库

 

E.支付方式 --在合同要素表中选择-放在合同采购明细表-新建表

 a.货到付款

 b.款到发货

 c.其它方式

 

F.采购方式 --在material_purchase_detail表中选择-新建表

 a.定点采购

 b.比选采购

 c.市场直接

 e.其它方式

 

G.款项支付 --独立模块-针对所有采购单项的付款情况-新建表

 支付表

 

H.质保金 --独立记录-新建表

  质保金表

 

 

二.报表新增

A.采购情况汇总统计表-按单位(按单位-多选/单, 时间选择)

B.采购情况汇总统计表-按采购员(按采购员-多选/单, 时间选择)

C.采购情况汇总统计表-按供货商(按地域/物资类别, 时间选择)

 

D.供货商货款支付情况表(按供货商-多选/单, 时间选择)

*****************************

 

2009-07-31

 

一.确定新建功能的数据结构(部分在与客户商谈中已确定)

二.新建新增功能的数据库表

 1.新增合同表 -OK

 2.新增合同要素表 -OK

 3.货款支付表 -OK

 

 4.物资类别表 -OK

 5.供货商表 -OK

 6.供货商类别表 -OK

 7.仓库表 -OK

 8.支付方式表 -OK

 9.采购方式表 -OK

 10.地域表 -OK

 11.质保金表 -OK

 

 

2009-08-01

一.确定合同采购部分算法

二.对新增表进行编码

 

2009-08-03

1.物资类别编码 -OK

2.仓库编码  -OK

3.支付方式编码   -OK

4.采购方式编码  -OK

5.地域编码   -OK

 

2009-08-04~2009-08-05

6.供货商编码  

7.供货商类别编码

(已完成)

 

2009-08-06

对以选择方式新增内容编码

(已完成)

 

2009-08-07

完成采购审批中--采购方式,建议供方 -(完成)

采购入帐--最终供方 

各种审批详情显示更新

(已完成)

 

下周进行:

进行新增合同相关编码

付款

报表

 

 

2009-08-10

合同采购

 

算法:

 

在material_purchase_detail表中:

1.触发合同流程条件:comfirm_contract-是

  加入字段审批功能

  数据库新增

  逻辑新增

  界面改变

2.合同流程步骤

  合同审批是否完成

  合同采购状态

  合同采购是否完成

3.自动生成合同表

4.更新相关表三张

5.流程审批人取得审批:

  从审批表取得

6.采购员取得合同项进行采购:

  从合同表中直接取得

7.采购员入帐:

  入库

  更新相关表

 

实现:

...

先单项,审批完成后再大项

...

(部分[1,2,3,4]完成,剩余的需要其它功能完善后才能进行)

 

 

2009-08-11

合同流程,待办事宜,待办数,合同采购完成等改变,数据层和逻辑层已完成 -ok

下午完成合同流程界面 -ok

(已完成)

 

2009-08-12~2009-08-13

新增合同字段权限

完成字段权限

相关数据调用及显示

合同数据填写相关 -ok

 

2009-08-14

合同流程数据

(已完成)

 

2009-08-17~2009-08-25

合同派单

(已完成)

合同签收

(已完成)

合同采购入帐,合同采购总金额计入采购大项

采购入帐部分改变,非合同采购和合同采购分离完成

新增加普通采购的"入库"

(已完成)

重写流程管理部分-分离

(已完成)

 

2009-08-26~2009-09-01

支付货款界面 (已完成)

 

--取出采购已经完成的项目  (已完成)

--取出对应供货商"期初余额"

--当月发生金额=该供货商当月所有供货时产生的金额(总计)--如何计算"当月"??

----生成"期末余额"

----生成"应付款余额"

--货款支付查看

--货款支付修改

(已完成)

 

 

2009-09-02_2009-09-03

质保金部分

界面

列表

质保金数据生成(两部分完成)

--合同数据填写

--采购完成

针对单个供货商查看,新增,修改,到期支付

(已完成)

 

 

下周终于开始做报表部分了

2009-09-04~2009-09-11

部门报表

--部门报表对象设定

--部门选择

--生成部门报表

--部门报表总计

(已完成)

 

采购员报表

--采购员选择

--生成采购员报表

--采购员报表总计

(已完成)

 

供货商报表

--供货商选择

--供货商报表生成

--供货商报表时性评价

(已完成)

 

供货商货款支付报表

--供货商选择(区域,物资类别)

--报表生成

(已完成)

 

2009-09-12~2009-09-25

测试

新增部分

基础类

基础功能支称

需求申请

需求审批

采购审批

合同审批

界面调整

 

重写部分算法

增加业务流程的连贯性

重写部分业务逻辑

调试数据存储

修复部分bug,完善程序功能,增加程序易用性

 

2009-09-27~2009-10-09

采购派单--OK

采购签收--OK

采购入库--OK

货款支付 --ok 

质保金 --OK

 

合同数据部分

数据写入

合同流程

 

2009-10-09~2009-10-15

报表  --OK

合同数据同步问题

质保金不同步

售后服务内容转义

完成采购--普通采购与合同采购分离

我的需求--普通采购与合同采购分离

采购派单时,普通采购,合同采购分离

采购签收,普通采购,合同采购分离

界面修改

 

测试,业务逻辑,数据,完善用户体验,修复bug

 

******************************************************V2.0.0

******************************************************

 

 

2009-10-15 完成

等待客户验收

 

**************************************************

2009-11-01~2009-12-04休假

**************************************************

 

2009-12-10客户需求再次变更

 

新增物资领用发放模块

新增领用报表

新增供货商供货明细报表

需求时间由大单改到每一个小项(此项改动很大,涉到数据库由大库改到小库,引发程序界面,业务层,数据层改动,时间和精力花费很大)

界面改动,所有需求申请,需求审批,采购审批,合同审批,需求显示,采购显示,合同显示全部取消"详",改变数据到表格中显示.

需求计划,采购计划,合同的打印

报表打印

 

以上改动均系客户联系人员变动,不同的人不同需求意见所致.

建议客户方照开全部门及相关部门需求分析会,以及每一次软件演示时参会人员到场,对会议记要.

 

 

 

部门主任申请,直接到分管领导审批

审批过程中的字段权限控制

 

采购入帐中:点击完成后,就不能再修改数据了

 

货款支付中:

//普通采购+合同采购 所有未进行支付统计的

//不是具体的哪一个流水号--只针对某一个供货商所有未进行支付的

 

******************************************************V3.0.0

******************************************************

 

 

2010年1月13日,客户需求变更

 

变更:

1.采购计划审批中,大单下面的小单进行分离

2.物资分类,小类不定

3.新增生产厂家

4.物资供供应报表

    表头:供贷商,生产厂家,供货时间,数量,单价,金额,采购员,存放仓库,需求单位

    查询条件要求:

        可以用物资名称,名称可以进行模糊和精确查询,由类别生成物资名称或者输入关键字查询

5.申请人能看到物资存放仓库

6.采购计划审批中,物资名称,规格,技术参数可以编辑

7.价格过低不能采购的情况,需要重新核价

8.询价记录

    记录内容:物资名称,规格,技术参数,单位,数量,供货商,生产厂商,报的价格,报价人,

    报价人联系方式,报价方式(电话,传真--分类选择),报价时间

9.询价记录统计表,可以用采购方式选择生成

 

开发计划:

1.针对1,就目前物资采购开发中的情况,不能完成

2.针对3,完成新增生产厂家

3.针对5,申请人能看到物资存放仓库

4.针对4,物资供应报表改变

 

5.针对6,采购计划审批中,名称等的编辑

6.针对8,新增询价记录

7.针对9,新增询价记录报表

8.针对2,物资分类

9.针对7,价格过低,不能采购,重新用采购计划核价流转

10.限定申请单项条数

11.生成采购单

 

 

开发实施

 

2010-01-14

1.针对2,新增生产厂家--普通与合同都要--放在采购入库处录入--权限加入 (OK)

 

2010-01-15

2.针对3,申请人能看到物资存放仓库--单独开模块--(OK)--自己的物资只能自己看到,管理者可以看到全部

 

2010-01-19

3.针对5,采购计划审批中,名称等的编辑 --(ok)

 

2010-01-20

4.针对4,物资供应报表改变--(ok)

 

2010-01-21

5.针对10,限定申请单项条数--(OK)

 

2010-01-21

6.针11,生成采购单--(OK)

    分单项,数据库调整,大单改小单

    采购派单

    采购签收

    采购入库--普通,合同

 

2010-01-26

7.针对6,新增询价记录---(OK)

    * 新增询价记录表,报价方式

 

2010-01-28   --(OK)

8.针对7,新增询价记录报表

 

2010-02-01

9.流程分单

 

9.针对2,物资分类

 

10.针对7,价格过低,不能采购,重新用采购计划核价流转

 

******************************************************V4.0.0

******************************************************

 

 

2010年5月26日,需求变更

 

1.采购计划审批字段变化进行更改

2.采购入库,采购表单显示字段变化进行更改

3.已完成普通采购,询价计划等字段变化进行更改

4.业务变化引起工作流程变化,必需对工作流引擎进行更变

    * 变动较大,加入了新的业务过程后,必须对步骤出口进行重新路由

    * 新增加路由字段.

    * 重新制定路由算法.

    * 重写流程引擎.

 

 

******************************************************V5.0.0

******************************************************

 

 

2010年6月12日,需求增加

 

1.需求申请新增

* 说明申请物资是否为"工程物资"

* 是"工程物资"的,详细填入"项目名称",选择"内部"或者"外部工程"

 

* 核库步骤新增"税收抵扣"选项

* 可抵扣

* 不可抵扣

 

2.采购计划新增

 

* 加入"税收抵扣"选项

* 可抵扣    

* 含税单价(填入项,即为"最高限价") X 税率 (选择项:17%, 3%, 普票) = 无税单价(自动计算出来)

* 不可抵扣

* 含税单价(填入项,即为"最高限价")

 

3.采购计划改变

 

* 采购量---->数量

* 限价------>含税限价

* 去掉"需求量"和"库存量"

 

4.询价记录新增

 

* (同采购计划新增)

 

5.查询功能

 

* 作为独立模块,重新开发

* 根据"物资名称",选择某一单个物资

* "流水号"提取出当下所有物资,再选择某一单个物资

* 根据某"单位"提取所有申请流水号,再选择某一单个物资

* 根据"申请人"提取所有申请流水号,再选择某一单个物资

* 根据"申请时间"提取所申请流水号,再选择某一单个物资

* 显示方式

* 物资详情

* 流水号, 需求单位, 编制时间, ..., 物资名称, 规格, ..., ....

* 需求计划 --状态

* 采购计划 --状态

* 合同 --状态

* 采购派单 --状态

* 采购 --状态

* 仓库 --状态

* 领取 --状态

 

 

******************************************************V6.0.0

******************************************************

 

 

2010年7月28日,客户需求增加及变更

 

1.新增

  * 1.1 采购员采购明细报表 --物资名称,型号,需求量,采购量,最高限价,采购价,需求部门......

  * 1.2 部门领用报表  --实际领用量,实际领用金额

  * 1.3 物资类别报表  --按选择单位,物资类别,时间段生成报表

 

2.变更

  * 2.1 物资类别变更  ----分为多级显示(算法上定为"无限级显示")

  * 2.2 所有审批中的物资类别选择均按照"物资类别树状菜单"重新  --显示和数据回发到审批表单最难(***)

  * 2.3 所有报表按时间选择方式生成数据  ----这是我之前在设计软件最初就确定的业务方式,后来根据客户需求按照固定时间段生成报表,但现在又要改回去!!

 

 

3.实施进度

  * 2.3

  * 1.1

  * 1.2

  *****

  * 2.1

  * 2.2

  * 1.3

 

 

******************************************************V7.0.0

******************************************************

 

2010-08-13

 

重新设计物资类别,改成无限级管理

物质类别报表重新设计

修复其它bug

 

******************************************************V7.1.0

******************************************************

 

 

2010-08-16

 

支付报表管理,加入预付金额 --改动大,数据库,显示,逻辑,持久层,添加,编辑,显示,列表都要改

修复物资类别删错误

加入删除物资类别后,该物资类别字体成灰色--表示物资没有激活

 

******************************************************V7.2.0

******************************************************

 

2010-08-24

 

所有报表,新增部分统计字段,并再次进行细化修改

 

1.其中物资采购分类统计表改动涉及到组织机构改到,要谨慎!! --很重

* 要加入含税和无税单价及含税无税总价.--较重

2.货款支付报表加入累计质保金.--较重

* 需要在新增支付处进行质保金统计(这之前已经产生的质保金),并写放支付表中

3.以前去掉的物资领用报表重新加入

4.供应物资统计报表改动要加入含税和无税单价及含税无税总价.--较重

 

 

 

******************************************************V7.3.0

******************************************************

 

2010-09-01

 

物资采购分类统计表分类查询

* 部门

* 股份公司

* 金电公司

* 集团本部

* 集团汇总

 

货款支付报表表头重新设置

 

 

物资供应报表分类

* 供货商--->所有物资

* 物资名称---->所有供应该物资的供货商及货物

 

 

******************************************************V7.3.1

******************************************************

 

 

2010-09-16

今天在需求部门所有专责在一起看软件的时候(之前有过一次类似的见面测试),提出新的功能,

 

一.

申请人--...-->仓储专责--...-->综合专责--...-->采购专责   (正常流程递交)

申请人<----仓储专责<----综合专责<----采购专责  (四个环节,相邻返回)

 

二.新增加了一张报表

* 采购汇总表 ---作为核价专责核价的参考

 

三.重新计算无税单价

 

四.根据需要,新增返回和拆单的查询(2个)

 

 

解决办法:

 一.对第二项比较容易解决

 二.第一项,目前没有解决办法,需要再进一步询问每个过程的原因及现有操作过程.

 

  1. 采购--->综合,是由于综合核价的某个单项核价过低,采购无法完成,要求发回重新核价,核价完成后,要再按正常的流程进行审核;

    有可能采购员发现要返回的,有可能是采购专责发现在返回的,返回过程为:

* 采购员--->采购专责--->综合专责

 

采购专责--->综合专责,需要重新进入采购审批流程中,问题:

* 怎么标识要返回的单项;

* 返回去怎么组合成一张流水单;

* 已经返回的单项,在原来的正常流转中怎么标识;

* 返回的单项生成的(新)流水单后,怎么补充以前的流程处理事项 --- 要不要处理以前的事项;

 

  2. 综合--->仓储

一张流水单中有只部分单项核价完成,其它没有核价的单项返回仓储专责,再生成采购单,再按正常流程递交;

* 必须要生成新的采购申请,因为有时限考核

 

  3. 仓储--->申请

是由于申请的某些单项不详,发回申请人重新申请; 

    * 物资规格型号不清

* 物资数理超计划

* 物资配置超规格

* 其它

 

 

 

 

简单思考,简单处理

 

思考一:

 

重新设计三张返回表,对应每一个返回操作

指明返回人,接收角色(专责),流水号,单项,名称,...,返回原因,返回人是否接收(这个标识很重要,'是'以后,就表示返回成功,'否'表示不能返回),

返回成功后,在流程任务表和审批结果表中生成对应流程信息,上下步审批人,...,及审批结果,进入正常流转状态.

那么在旧有需求,采购明细表中,一定就有两个相同流水号及对应单项存在,这怎么解决????????

不把返回的数据放回旧有需求,采购表中吗?????????

放到对应返回表所在的表???那不是又有两张新增加的需求,采购表了吗?????????

那以后怎么作统计?????????????因为所有统计数据都是在旧有需求,采购表中提取的!!

 

在旧有需求,采购表中新增加返回字段吗?这样可以保证流水号及单项号的唯一性,但是,怎么提交?

 

因此,变化到现有的需求,已经和软件最初的设计架构产生了严重的冲突!!

 

-----死胡同

 

前期需求不明,影响架构设计,带来的开发恶果

 

 

 

思考二:

 

通过对客户需求的进一步了解.

 

1.

1.1.采购员--->采购专责的返回解决:重新标识状态,去掉采购员,派单时间等一系列....

 

1.2.采购专责--->综合专责

* 因为涉及部分单项核价低,采用分单返回,实现无级分单;

 

* 算法:复制所有原有单项的数据,包括:

* 需求申请(1),需求审批(2),采购审批(2),合同数据(如果有)(2),询价记录(1),流程任务(1),流程意见(1),所有相关数据,

* 复制相关数据,

* 生成新的流水号和单项号,

* 回退到采购审批计划相关步骤,

* 新数据中要删除采购审批流程后的数据,

* 保留询价记录数据作为新据的参考,

* 插入到相对应的表中,

 

* 流水号生成方法:

* 原流水号+回退的所有单项号合并,

* 如果再一次分单,按这个类推,

 

* 过程

 

* 采购专责返回后,由综合专责进行确认,如果情况的确存在,就生成新的采购单

 

* 注意

 

* 返回单项后,采购员不能再采购(入库)该单项,采购专责也不能再对它派单,需要标识返回的单项.

* 返回后,原采购单在所有数据表中进行删除处理,不再存在于原流水号中.

 

 

2.

综合专责--->仓储专责

* 由于客户对软件的功能还不很明确,流水号不是在仓储步骤生成采购单,所以不用返回,只需求重新生成采购单就行了.

* 解决办法同采购专责--->综合专责一样处理,

* 具体算法也相同.

 

 

3.仓储专责--->申请用户

* 客户只要要求当相关内容不清时,发回用户,重新申请.

* 由于客户对软件的功能还不是很明确,没有通过详细使用,本软件提供其它解决办法.

* 本项已解决.

 

 

 

建立新表,用于返回流水号,单项号和新的流水号,单项号的关联,指明返回类别(采购专责--->综合专责类,综合专责--->仓储专责类)

return_bill_pur_synth

return_bill_synth_stor

 

新增功能权限

 

 

******************************************************V8.0.0

******************************************************

 

 

客户新增需求

 

一.资产分类  

  * 固定资产

  * 无形资产

  * 生产办公耗材

 

二.报表 --2张

  1.资产分类报表

* 固定资产

    * 无形资产

    * 生产办公耗材

  2.集团公司(资产分类名称)汇总统计表  ----只进行金额统计

    * 只针对 集团本部,金电公司,股份公司各部(中心,分厂) 进行 无税/含税/总计金额/全部总计金额 统计

 

------------

一.需要进行数据库字段进行添加  

* 新增资产分类表 --assets_class    --OK

* 每张表单新增   --OK

* 业务流程新增   --OK

* 数据层新增   --OK

* 相关显示  --OK

二.分类权限  --OK

* mat_vet_assets_class 需求申请资产分类

* purch_vet_assets_class 采购审批资产分类

三.报表新增

 

 

 

 

******************************************************V8.1.0

******************************************************

 

2010-11-09

 

客户新增加:

 

一 供应商信息库

    * 要求具体管理供应商

    * 在原有数据库表(supplier)里新增加若干详细信息字段

    * 相应的CRUD也要改变

 

二 价格信息库

    * 要求查询每种物资每次采购价和供应商等信息

    * 新增加查询功能

 

三 采购员已签收,但因价格过高,不能采购,返回采购专责处

    * 不同于未签收返回采购专责处

 

 

******************************************************V8.2.0

******************************************************

 

 

 

原创粉丝点击