首先,我刚进公司没多长时间,然后介绍一下背景,这边是个工厂,上了很多个系统搞信息化,这边是有自己的研发团队的(C#),还做了一套系统出来搞生产管理。为了实现信息化呢,这边叫了很多个外包团队开发很多个系统,有些系统语言也不一样(java,C#,我甚至看到了jsp,不过也有springcloud),数据库也不一样(我管的两个系统一个是用oracle一个用sqlserver,虽然写起sql来大差不差但是总觉得怪怪的),其实到这里我觉得还行
但是吧,做这个报表非常的费劲,为什么?因为每个系统之间的沟通取数据真的把我抽象到了:
1、各个系统之间数据传输有丢失,可能接口没有做的太好吧,数据有时候是收不到的,我不知道补数据是怎么补的,通知到人了叫他们重发?
2、系统的数据的信息、状态改了有些也没有同步
3、有些系统是有脏数据的,脏数据还好,我们查出来过滤掉就行了,关键是我们也不怎么敢删除
3、有些上新系统之前使用的是老系统,所以说还有遗留历史数据直接补上去了,没有任何的关联,或者说查不到吧,报表做出来大概有一半关联的全部都是null,看到的时候我直接蚌埠住了
4、最抽象的还得是有些系统没有数据字典,所以说取数据的时候只能去前端对照数据库自己找,听到最多就是,"你看,这个像","这个像不像"这种话,很难想象我是在做开发,不过我在想没有数据字典怎么做开发啊?外包当时是怎么进行开发的啊?我真的无法想象,难道都在盲打吗?crazy
5、业务需求整理之后发现,很多一对多关系,不过能够联表加去重来获取得到,就是需求沟通上花了点时间
6、以为有一个系统是自己公司自研的,沟通起来应该会有效率一点,毕竟是自研的。结果需求去了那边就直接消失了一样,还是领导发话了才配合的,可能一个工厂的生产系统需要20个开发每天8小时上班不间断开发吧?不过我也是开发人员也真的遭遇过这种事情,可能他们真的需求非常多而且也非常忙吧
7、这边没有技术主管,或者说技术主管在只在研发团队那边,这边负责上系统的部门里面只有实施人员和领导,所以这边各个系统的验收没有技术来把关的,我如果是是外包我真的笑嘻了
数据在各个系统传输的时候就跟电流通过电线的时候有电阻损耗一样的,有些干脆直接拉闸了
其实到最后也挺搞笑的,我负责的一个系统TMS(发货物流管理系统)是最后的环节,跟串联的其他的系统不一样,TMS最后是不管发货数量的,他只管从仓库拿了多重的东西,分成了多少箱,多少托,费用是多少,根本没有统计这次发了多少数量,巧的是上一个环节的系统只记录了生产有多少个,只记录了数量,单据到了这边TMS就只记录发货发了多少的重量,芜湖!他们想得到做了多少发了多少,有没有发完,对不起,做不到。数据贯穿报表,穿了半天数据,最后发现是这个结果,大家都释怀的笑了,办公室里面充满了欢乐的气氛
好在最后也做出了这个 打通各个系统的数据贯穿报表 的需求,不过没有什么实际意义,因为领导想看到的是数据分析,但是现在数据这么个情况(老系统关联数据一半都是null,我不知道后面他们处理了没)根本分析不出来,不过后面我们领导裁掉了之后就没有再提起这个事情了 ,果然,事情的戛然而止跟人的突然离开之间没有什么太大的区别,只不过有些人不想说话,有些人不再说话罢了