崇山峻岭网

若依修改导出方法

若依修改导出方法

1.首先,若依在Controller表,修改将导出纪录列表

 这块代码相当于查询这个区域

 重写一下这个方法:

 重写之后,导出页面爆红报错,若依要改对应的修改方法:

2.在本页面(***Controller)向上滑,找到

@Autowiredprivate ITAttendRecordService tAttendRecordService;

 点击ctrl+ITAttendRecordService,导出去到对应的若依service页面

 对应Controller改的方法,在Service处对应重写方法

Controller/**     * 导出考勤记录列表     */    @RequiresPermissions("jh_product:record:export")    @Log(title = "考勤记录",修改 businessType = BusinessType.EXPORT)    @PostMapping("/export")    @ResponseBody    public AjaxResult export(TAttendRecord tAttendRecord)    { //        Listlist = tAttendRecordService.selectTAttendRecordList(tAttendRecord);        Listlist = tAttendRecordService.selectTAttendRecordListexport(tAttendRecord);        ExcelUtilutil = new ExcelUtil(TAttendRecord.class);        return util.exportExcel(list, "考勤记录数据");    }Service /**     * 查询考勤记录列表     *      * @param tAttendRecord 考勤记录     * @return 考勤记录集合     */    public ListselectTAttendRecordList(TAttendRecord tAttendRecord);    public ListselectTAttendRecordListexport(TAttendRecord tAttendRecord);

3.去service对应的impl.java去修改对应方法

/**     * 查询考勤记录列表     *      * @param tAttendRecord 考勤记录     * @return 考勤记录     */    @Override    public ListselectTAttendRecordList(TAttendRecord tAttendRecord)    {         return tAttendRecordMapper.selectTAttendRecordList(tAttendRecord);    }    @Override    public ListselectTAttendRecordListexport(TAttendRecord tAttendRecord)    {         return tAttendRecordMapper.selectTAttendRecordListexport(tAttendRecord);    }

4.去对应的mapper接口去修改接口方法

/**     * 查询考勤记录列表     *      * @param tAttendRecord 考勤记录     * @return 考勤记录集合     */    public ListselectTAttendRecordList(TAttendRecord tAttendRecord);    public ListselectTAttendRecordListexport(TAttendRecord tAttendRecord);

5.去对应的mapper.xml

select id, year, month, day, user_id, att_time, status, remark, section, type        from t_attend_record    
//是一个可以复用的语句   方便本文件内其他地方使用  只需要引用id  一个语句写好了  其他地方都能用 select id, year, month, day, user_id, att_time, status, remark, section, type    from t_attend_record
// refid="selectTAttendRecordVo这就是复用语句

 我们这里因为要修改查询语句,所以要这样做

 当然,导出之前的若依哪个sql语句和原本若依调用的哪个语句也不需要删,只需要按我们命名的修改重新写一个即可,如下图画框部分

 6.因为我的导出sql语句,type对应得是若依下拉框,在若依中新建字典那种(有正常上班,修改迟到,导出正常下班,早退,漏刷这几个选项),因此,我们想导出的类型是(有正常上班,迟到,正常下班,早退,漏刷这几个选项)而不是(0,1,2,3,4,5)这个数字,我们应该在查询语句这里做对应。

  (select dict_label from sys_dict_data where dict_type ='clock_type' and dict_value =section)

as type

from t_attend_record

(select  dict_label from sys_dict_data where dict_type ='clock_type' and dict_value =section)括号里面是查出的值 as type这个是表字段  要跟实体类匹配的

也可以这样理解:
(select  dict_label from sys_dict_data where dict_type ='clock_type' and dict_value =section)查出来是值
然后用as  type

将查出来的值赋给type(把查出来的文字以type作为字段  放到type那一栏底下)

要是as  test的话  出来的就是字段  test下面是迟到早退

其实第6步操作还有一个简单的方法:

若依导入导出注解参数:

readConverterExpString读取内容转表达式 (如: 0=男,1=女,2=未知)

补充一个新问题:

类型直接用long  不用手动改成String

 接上图

 

 

未经允许不得转载:崇山峻岭网 » 若依修改导出方法