parent
8d318628e0
commit
3f9a4bc07c
|
|
@ -142,7 +142,7 @@ public class WechatController extends BaseController {
|
||||||
listUser.addAll(list1);
|
listUser.addAll(list1);
|
||||||
// 创建第二个sheet:查询用户数据
|
// 创建第二个sheet:查询用户数据
|
||||||
Sheet departmentSheet = exporter.createSheet("查询用户数据");
|
Sheet departmentSheet = exporter.createSheet("查询用户数据");
|
||||||
List<String> departmentHeaders = Arrays.asList("序号", "姓名", "日期", "打卡时间", "考勤状态", "备注");
|
List<String> departmentHeaders = Arrays.asList("序号", "姓名", "日期", "上班打卡时间", "考勤状态", "备注","下班打卡时间", "考勤状态", "备注");
|
||||||
exporter.addHeaderRow(departmentSheet, departmentHeaders);
|
exporter.addHeaderRow(departmentSheet, departmentHeaders);
|
||||||
List<Map<String, Object>> departmentData = new ArrayList<>();
|
List<Map<String, Object>> departmentData = new ArrayList<>();
|
||||||
for (int i = 0; i < listUser.size(); i++) {
|
for (int i = 0; i < listUser.size(); i++) {
|
||||||
|
|
@ -150,10 +150,14 @@ public class WechatController extends BaseController {
|
||||||
map.put("序号", i + 1);
|
map.put("序号", i + 1);
|
||||||
map.put("姓名", listUser.get(i).getUserName());
|
map.put("姓名", listUser.get(i).getUserName());
|
||||||
map.put("日期", listUser.get(i).getAttCurrentDay());
|
map.put("日期", listUser.get(i).getAttCurrentDay());
|
||||||
map.put("打卡时间", listUser.get(i).getAttCurrentTime());
|
map.put("上班打卡时间", listUser.get(i).getToWorkAttCurrentTime());
|
||||||
String attStatus =getAttStatus(listUser.get(i).getAttStatus());
|
String toWorkAttStatus =getAttStatus(listUser.get(i).getToWorkAttStatus());
|
||||||
map.put("考勤状态",attStatus);
|
map.put("考勤状态",toWorkAttStatus);
|
||||||
map.put("备注",listUser.get(i).getErrorRemake());
|
map.put("备注",listUser.get(i).getToErrorRemake());
|
||||||
|
map.put("下班打卡时间", listUser.get(i).getOffWorkAttCurrentTime());
|
||||||
|
String offWorkAttStatus =getAttStatus(listUser.get(i).getOffWorkAttStatus());
|
||||||
|
map.put("考勤状态",offWorkAttStatus);
|
||||||
|
map.put("备注",listUser.get(i).getOffErrorRemake());
|
||||||
departmentData.add(map);
|
departmentData.add(map);
|
||||||
}
|
}
|
||||||
exporter.addDataRows(departmentSheet, departmentData, departmentHeaders);
|
exporter.addDataRows(departmentSheet, departmentData, departmentHeaders);
|
||||||
|
|
|
||||||
|
|
@ -80,12 +80,25 @@ public class WechatBean extends BaseBean {
|
||||||
@Excel(name = "打卡时间", width = 20.0,height = 20.0, orderNum = "3")
|
@Excel(name = "打卡时间", width = 20.0,height = 20.0, orderNum = "3")
|
||||||
private String attCurrentTime;
|
private String attCurrentTime;
|
||||||
|
|
||||||
|
private String toWorkAttCurrentTime;
|
||||||
|
private String offWorkAttCurrentTime;
|
||||||
|
|
||||||
|
private String toWorkAttStatus;
|
||||||
|
private String offWorkAttStatus;
|
||||||
|
|
||||||
|
private String toErrorRemake;
|
||||||
|
private String offErrorRemake;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 异常备注
|
* 异常备注
|
||||||
*/
|
*/
|
||||||
@Excel(name = "备注", width = 20.0,height = 20.0, orderNum = "5")
|
@Excel(name = "备注", width = 20.0,height = 20.0, orderNum = "5")
|
||||||
private String errorRemake;
|
private String errorRemake;
|
||||||
|
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
private String statusOff;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 自己项目部所在分公司下的所有项目部id
|
* 自己项目部所在分公司下的所有项目部id
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
ad.error_remake,
|
ad.error_remake,
|
||||||
ad.att_current_time,
|
ad.att_current_time,
|
||||||
ad.att_type
|
ad.att_type
|
||||||
FROM att_data ad
|
FROM att_data_update ad
|
||||||
LEFT JOIN sys_user su ON ad.user_id = su.user_id
|
LEFT JOIN sys_user su ON ad.user_id = su.user_id
|
||||||
LEFT JOIN sys_user_org suo on su.user_id = suo.user_id
|
LEFT JOIN sys_user_org suo on su.user_id = suo.user_id
|
||||||
LEFT JOIN (SELECT * FROM sys_dict_data WHERE dict_type = 'att_status') sd
|
LEFT JOIN (SELECT * FROM sys_dict_data WHERE dict_type = 'att_status') sd
|
||||||
|
|
@ -62,22 +62,24 @@
|
||||||
su.user_name,
|
su.user_name,
|
||||||
ad.org_id,
|
ad.org_id,
|
||||||
att_current_day,
|
att_current_day,
|
||||||
ad.att_status,
|
ad.toWorkAttStatus,
|
||||||
sd.dict_label,
|
ad.toWorkAttAddress,
|
||||||
ad.error_remake,
|
ad.toWorkAttCurrentTime,
|
||||||
ad.att_current_time,
|
sd1.dict_label as status,
|
||||||
ad.att_type
|
ad.toErrorRemake,
|
||||||
|
ad.offWorkAttStatus,
|
||||||
|
ad.offWorkAttAddress,
|
||||||
|
ad.offWorkAttCurrentTime,
|
||||||
|
sd2.dict_label as statusOff,
|
||||||
|
ad.offErrorRemake
|
||||||
FROM
|
FROM
|
||||||
att_data ad
|
v_att_update_data ad
|
||||||
LEFT JOIN sys_user su ON ad.user_id = su.user_id
|
LEFT JOIN sys_user su ON ad.user_id = su.user_id
|
||||||
LEFT JOIN sys_user_org suo on su.user_id = suo.user_id
|
LEFT JOIN sys_user_org suo ON su.user_id = suo.user_id
|
||||||
LEFT JOIN ( SELECT * FROM sys_dict_data WHERE dict_type = 'att_status' ) sd ON ad.att_status = sd.dict_value
|
LEFT JOIN ( SELECT * FROM sys_dict_data WHERE dict_type = 'att_status' ) sd1 ON ad.toWorkAttStatus = sd1.dict_value
|
||||||
WHERE
|
LEFT JOIN ( SELECT * FROM sys_dict_data WHERE dict_type = 'att_status' ) sd2 ON ad.offWorkAttStatus = sd2.dict_value
|
||||||
ad.is_active = '1' AND
|
WHERE ad.dataSource = '3'
|
||||||
ad.data_source = '3'
|
AND (sd1.dict_value IN ( '1', '2', '4', '7', '8', '9', '10', '19' ) or sd2.dict_value IN ( '1', '2', '4', '7', '8', '9', '10', '19' ) )
|
||||||
AND sd.dict_value IN ( '1', '2', '4', '7', '8', '9', '10', '19' )
|
|
||||||
|
|
||||||
<if test="bean.userId!=null and bean.userId!=''">
|
<if test="bean.userId!=null and bean.userId!=''">
|
||||||
AND ad.user_id = #{bean.userId}
|
AND ad.user_id = #{bean.userId}
|
||||||
</if>
|
</if>
|
||||||
|
|
@ -97,6 +99,6 @@
|
||||||
</foreach>
|
</foreach>
|
||||||
)
|
)
|
||||||
</if>
|
</if>
|
||||||
ORDER BY att_current_time DESC
|
ORDER BY ad.toWorkAttCurrentTime DESC
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
Loading…
Reference in New Issue