现在已经不是合同管理系统了,而是工程项目。猪哥现在在的公司,是一个工程公司,主要做工程的EPC总承包商,不像原来的房地产公司,只要按照合同来管理就行了,而是必须升级到项目管理系统。。。
因此至少要能够反映如下的情况:
- 项目现状
- 项目下边的各个合同,包括向业主方收钱的合同,以及向分包商付款的合同,还可能会有其他类型的合同和无合同付款,所以基本上分为四种类型
- 每个合同以及无合同付款,都会造成项目信息的变动,说白了也就是相关会计科目的变动,这个统一为一条数据库记录,叫做变动记录
- 不同的变动记录,比如确认收入并且开票,还需要有辅助的条目,比如开具的增值税发票信息等。这个需要对应到一条记录上。对于计算累计收入,则可能还需要额外的一张表,其实也就是这个表现在没有想好,可以取全部确认的收入列出来的形式。
综上所述,我大概需要如下几个层次的内容
- 项目信息:包括一张项目的基础情况表,一张项目的初始各个属性表,以及该项目对应的成本预算表,成本预算表还要支持后续变化。
- 合同表,很显然,主键需要关联到项目上,此外还需要确定合同的类型,合同类型也可以单独做一张表
- 变动记录表,很显然,需要一张表确定变动记录的类型,然后所有的变动记录,都要对应到这个类型上。同时某些类型,还必须执行额外的录入操作
- 记录增值税发票信息的表,很显然,这个表必须对应到前边的某些变动记录上,包括确认收入的时候开票,某些时候需要冲回发票,以及将票据交付给客户并挂应收账款。所以增值税发票信息的每一条记录,有一条需要在开具的时候对应到变动记录上,一条需要在交付的是对应到变动记录上,还有一个布尔值或者按钮,用于确认该发票红字冲回。
结合这个思路,我就一点点来完成,这个周末,先把项目相关的表做出来,然后用Django做个页面,可以录入。