1. 解决方法:
修改文件根目录下crmeb/services/ExcelService.php文件中的exportFinancial方法数据查询时的排序字段,将之前的
create_time(添加时间)更换成financial_record_id(eb_financial_record表的主键)
如下图:
2. 原理分析:
同一个订单可能会产生多条财务数据,大致在三四条左右,create_time(添加时间)精确到秒,同一个订单产生的财务数据基本上create_time(添加时间)都是一样的。所以create_time(添加时间)排序时,每次请求时同一个订单产生的财务数据的顺序是会变化的。简单举例说明
以上三条数据都是由同一个订单产生的,暂且定义为数据6,7,8。按create_time(添加时间)排序时,第一次接口请求顺序可能为6,7,8,第二次可能为7,6,8。
数据导出是由前端通过接口轮询获取数据,由前端做的数据整合以及导出,例如轮询获取数据时,每次获取十条数据,假如第一次请求时获取前十条数据,上面的数据6排在当前数据的最后一条。第二次请求的是第十一条到二十条数据,此次数据7排到了第十位,数据6排到了第十一位,所以导出的数据就有两条数据6,没有数据7。
3. 解决方法:
修改排序字段为主键,主键为自增id,所以不会出现因为排序导致的数据重复和丢失问题
注释: 2.1.1 版本和2.2 版本基本相同,对应的代码行数和方法接口结构可能有点变化,只修改排序字段就行
{{item.user_info.nickname ? item.user_info.nickname : item.user_name}}
作者 管理员 企业
{{itemf.name}}
{{itemc.user_info.nickname}}
{{itemc.user_name}}
回复 {{itemc.comment_user_info.nickname}}
{{itemf.name}}