这段时间做了一个数据对比的功能模块。具体操作是从申请人修改自己的数据然后提交数据进行多次审批,如果审批完成那么则更新对应的数据。再此中间,审批人可以对申请人的信息进行编辑。
先说一下思路吧,这是表结构
通过进行修改数据与数据库数据进行比较,如果有改变那么进插入数据。每修改一个字段的数据则插入一条数据。applicationMainId是对应的申请主表Id,这里将不对流程操作进行解释。
首先,创建你需要接收数据的实体类,这里因为界面上展示的并不是数据库中所有的数据,所以建议不要使用与数据库对应的那张关系表。
接收到前端传递的数据之后,然后找到对应的数据库中的数据进行对比(UserChangeDo是我对应的修改数据信息表)
第一种情况:对某一模块进行修改 (数据库中有对应数据) ----这里说明一下,因为最后会通过反射来操作数据库,所以表名称和字段名称必须有
/**
*obj1 数据库对应数据
*obj2 修改之后的数据
*ignoreArr 不需要进行对比的属性
*modelType 对应表名
*feildId 对应数据主键
*userId 申请人id
*dealId 操作人id
**/
public List<UserChangeDo> compareFields(Object obj1, Object obj2, String[] ignoreArr,String modelType,Integer feildId,Integer userId,Integer deal