考勤导出修改

This commit is contained in:
方亮 2026-02-12 17:58:40 +08:00
parent cdad70774f
commit e209b430db
5 changed files with 34 additions and 22 deletions

View File

@ -94,4 +94,6 @@ public class FaceContrastBean {
private String remark;
private String workerType;
}

View File

@ -95,4 +95,7 @@ public class FaceContrastNewBean {
private List<ClockBean> clockBeanList;//导出-日期
private String workerType;
}

View File

@ -173,6 +173,7 @@ public class FaceContrastNewServiceImp implements FaceContrastNewService {
params.put("name", entity.getName());
params.put("attendance", entity.getAttendance());
params.put("notContractTeam", entity.getNotContractTeam());
params.put("workerType", entity.getWorkerType());
List<FaceContrastBean> faceContrastList = new ArrayList<>();
String fileName = "";
//是否全工程导出
@ -182,8 +183,8 @@ public class FaceContrastNewServiceImp implements FaceContrastNewService {
if(StringUtils.isEmpty(entity.getTeamIdArr())){
//查出所有班组id
listTeamId = dao.getAllTeamByPro((String) params.get("proId"));
//将无分包人员的班组id添加过去
listTeamId.add("0");
// //将无分包人员的班组id添加过去
// listTeamId.add("0");
}else{
String[] teamIdArr = entity.getTeamIdArr().split(",");
listTeamId = Arrays.asList(teamIdArr);
@ -627,6 +628,7 @@ public class FaceContrastNewServiceImp implements FaceContrastNewService {
}
params.put("startTime", entity.getStartTime());
params.put("endTime", entity.getEndTime());
params.put("workerType", entity.getWorkerType());
//获取所有分公司(根据权限)
List<MapBean> subComList = dao.getAllSubCompany(params);
//分布查比find_in_set快
@ -640,10 +642,10 @@ public class FaceContrastNewServiceImp implements FaceContrastNewService {
//把分公司下级全部查出来
List<FaceContrastNewBean> list = dao.getWorkAttendanceList(params, 0, 1000);
//1115将临时考勤人员查出来
List<FaceContrastNewBean> list2 = dao.getWorkAttendanceTemporaryList(params, 0, 1000);
// List<FaceContrastNewBean> list2 = dao.getWorkAttendanceTemporaryList(params, 0, 1000);
//将临时人员加到总人数上
for (int x = 0; x < list.size(); x++) {
list.get(x).setAllPersonNum(list.get(x).getAllPersonNum() + list2.get(x).getAllPersonNum());
list.get(x).setAllPersonNum(list.get(x).getAllPersonNum());
}
List<StringBuffer> allDayWorker = new ArrayList<>();
@ -745,6 +747,7 @@ public class FaceContrastNewServiceImp implements FaceContrastNewService {
params.put("orgId", entity.getId());
params.put("proId", entity.getProId());
params.put("proStatus", entity.getProStatus());
params.put("workerType", entity.getWorkerType());
// List<FaceContrastNewBean> list = dao.getAttendanceBySubComList(params, 0, 1000);
// //考勤数据较慢单独查
// List<FaceContrastNewBean> attList = dao.getWorkAttListByCom(params, 0, 1000);
@ -780,6 +783,7 @@ public class FaceContrastNewServiceImp implements FaceContrastNewService {
bean.setEndTime(entity.getEndTime());
bean.setProName(entity.getProName());
bean.setTeamIdArr(entity.getTeamIdArr());
bean.setWorkerType(entity.getWorkerType());
bean.setIsProExport(1);
exportWorkerAttendance(bean, response);
}

View File

@ -66,10 +66,11 @@
LEFT JOIN (
SELECT fc.id_number, fc.pro_id FROM fc_face_contrast fc
LEFT JOIN bm_worker bw on bw.id_number = fc.ID_NUMBER
WHERE fc.CURRENT_DAY = #{params.startTime}
<if test="params.workerType != null and params.workerType !='' ">
AND bw.worker_type = #{params.workerType}
</if>
WHERE fc.CURRENT_DAY = #{params.startTime} GROUP BY fc.id_number, fc.CURRENT_DAY
GROUP BY fc.id_number, fc.CURRENT_DAY
) ffc ON ffc.pro_id = bp.id
GROUP BY
pm.id
@ -421,10 +422,10 @@
AND bsc.is_active = '1'
LEFT JOIN bm_subcontractor bs ON bs.id = bsc.sub_id
AND bs.is_active = '1'
LEFT JOIN bm_sub_relation bsr ON bsr.sub_contract_id = bsc.id
AND bsr.type = '3'
AND bsr.is_active = '1'
LEFT JOIN bm_sub_team bst ON bst.id = bsr.`value`
<!-- LEFT JOIN bm_sub_relation bsr ON bsr.sub_contract_id = bsc.id-->
<!-- AND bsr.type = '3'-->
<!-- AND bsr.is_active = '1'-->
LEFT JOIN bm_sub_team bst ON bst.sub_id = bs.`id`
AND bst.is_active = '1'
LEFT JOIN bm_team_user_relation btur ON btur.team_id = bst.id
AND btur.is_active = '1'
@ -515,8 +516,8 @@
a.proName,
a.companyName,
COUNT(a.attendanceType) AS workDay,
GROUP_CONCAT(IF(a.addTime is not NULL,"√","×")) as addTime,
IFNULL(GROUP_CONCAT(a.currentDay),"") as currentDay
GROUP_CONCAT(IF(a.addTime is not NULL,'√','×')) as addTime,
IFNULL(GROUP_CONCAT(a.currentDay),'') as currentDay
FROM
(
SELECT
@ -535,19 +536,24 @@
ffc.ADD_TIME AS addTime,
ffc.attendance_type as attendanceType
FROM
(select `name`,`ID_NUMBER`,post_id,ein_status FROM bm_worker WHERE ID_NUMBER = #{obj.idNumber} AND is_active =
'1' )bw
(select `name`,`ID_NUMBER`,post_id,ein_status FROM bm_worker WHERE ID_NUMBER = #{obj.idNumber}
AND is_active = '1'
<if test="params.workerType != null and params.workerType != '' ">
AND worker_type = #{params.workerType}
</if>
)bw
LEFT JOIN t_dict sdd ON sdd.id = bw.POST_ID and sdd.is_active = '1'
LEFT JOIN bm_worker_ein_history btur ON btur.ID_NUMBER = bw.ID_NUMBER and btur.team_id = #{params.teamId}
LEFT JOIN bm_sub_team bst on bst.id = btur.team_id
LEFT JOIN bm_sub_relation bsr on bsr.v = bst.id and bsr.type = '3'
LEFT JOIN bm_sub_contract bsc ON bsc.id = bsr.sub_contract_id and bsc.is_active = '1'
LEFT JOIN bm_subcontractor bs on bs.id = bsc.sub_id and bs.is_active = '1'
LEFT JOIN fc_face_contrast ffc on ffc.ID_NUMBER = bw.ID_NUMBER and ffc.is_active = '1'
and ffc.CURRENT_DAY BETWEEN #{obj.startDate} AND #{obj.stopDate}
<if test="params.proId != null and params.proId != '' ">
AND ffc.pro_id = #{params.proId}
</if>
LEFT JOIN bm_sub_team bst on bst.id = btur.team_id
<!-- LEFT JOIN bm_sub_relation bsr on bsr.v = bst.id and bsr.type = '3'-->
<!-- LEFT JOIN bm_sub_contract bsc ON bsc.id = bsr.sub_contract_id and bsc.is_active = '1'-->
LEFT JOIN bm_subcontractor bs on bs.id = bst.sub_id and bs.is_active = '1'
LEFT JOIN bm_sub_contract bsc ON bsc.sub_id = bs.id and bsc.is_active = '1'
LEFT JOIN bm_project bp ON bp.id = bsc.pro_id and bp.is_active = '1'
LEFT JOIN pm_organization pm ON pm.id = bp.company_id and pm.is_active = '1'
LEFT JOIN pm_company pc ON pc.id = pm.company_id and pc.is_active = '1'
@ -583,10 +589,10 @@
GROUP BY id_number)bweh ON bweh.project_id = bp.id
LEFT JOIN ( SELECT fc.id_number, fc.pro_id FROM fc_face_contrast fc
LEFT JOIN bm_worker bw on bw.id_number = fc.ID_NUMBER
WHERE fc.CURRENT_DAY = #{params.startTime}
<if test="params.workerType != null and params.workerType !='' ">
AND bw.worker_type = #{params.workerType}
</if>
WHERE fc.CURRENT_DAY = #{params.startTime}
<if test="params.proId != null and params.proId != '' ">
and fc.pro_id = #{params.proId}
</if>

View File

@ -4,9 +4,6 @@
3.勾选prod环境
4.file的FFmpeg路径修改
5.PersonComprehensiveController 中的 downloads 方法修改一下“获取操作系统类型并确定基础路径”
6.各个服务的yml文件修改端口号
7.修改 ProjectFileServiceImpl 中 checkFileIsActive 的上传文件路径
================================================================
正式环境需要修改推送同一平台的的地址 UnifiedPlatformConfig.java - 已取消,其他文件和合并了
正式环境需要查询计划数据地址 PlanDataConfig.java - 已取消
跟计划对接数据库修改 - 已跟计划开发人员商量测试库与生产库同名
跟计划对接数据库修改 - 已跟计划开发人员商量测试库与生产库同名