若依修改导出方法

1.首先,在Controller表,将导出纪录列表

若依修改导出方法_第1张图片

 这块代码相当于查询这个区域若依修改导出方法_第2张图片

 重写一下这个方法:

若依修改导出方法_第3张图片

 重写之后,页面爆红报错,要改对应的方法:

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

@Autowired
private ITAttendRecordService tAttendRecordService;

若依修改导出方法_第4张图片

 点击ctrl+ITAttendRecordService,去到对应的service页面

若依修改导出方法_第5张图片

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

Controller
/**
     * 导出考勤记录列表
     */
    @RequiresPermissions("jh_product:record:export")
    @Log(title = "考勤记录", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    @ResponseBody
    public AjaxResult export(TAttendRecord tAttendRecord)
    {
//        List list = tAttendRecordService.selectTAttendRecordList(tAttendRecord);
        List list = tAttendRecordService.selectTAttendRecordListexport(tAttendRecord);
        ExcelUtil util = new ExcelUtil(TAttendRecord.class);
        return util.exportExcel(list, "考勤记录数据");
    }



Service
 /**
     * 查询考勤记录列表
     * 
     * @param tAttendRecord 考勤记录
     * @return 考勤记录集合
     */
    public List selectTAttendRecordList(TAttendRecord tAttendRecord);
    public List selectTAttendRecordListexport(TAttendRecord tAttendRecord);

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

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

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

 /**
     * 查询考勤记录列表
     * 
     * @param tAttendRecord 考勤记录
     * @return 考勤记录集合
     */
    public List selectTAttendRecordList(TAttendRecord tAttendRecord);
    public List selectTAttendRecordListexport(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这就是复用语句

若依修改导出方法_第6张图片

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

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

若依修改导出方法_第7张图片

 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步操作还有一个简单的方法:

若依导入导出注解参数:

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

若依修改导出方法_第8张图片

补充一个新问题:

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

若依修改导出方法_第9张图片

 接上图

若依修改导出方法_第10张图片

 若依修改导出方法_第11张图片

 

你可能感兴趣的:(java,servlet)