From 93b207a1dc20a7a2d00ad335fbde7a01dda50703 Mon Sep 17 00:00:00 2001 From: haha Date: Sat, 13 Jan 2024 00:03:25 +0800 Subject: [PATCH] update code --- .../src/views/project/attendance/index.vue | 2 +- .../domain/SurProjectAttendanceData.java | 21 +++++++++- .../domain/SurProjectAttendanceUser.java | 4 +- .../SurProjectAttendanceDataMapper.java | 2 + .../ISurProjectAttendanceDataService.java | 1 + .../SurProjectAttendanceDataServiceImpl.java | 5 +++ .../jh/project/task/AttendanceHuazhuTask.java | 38 ++++++++++++++++--- .../SurProjectAttendanceDataMapper.xml | 3 ++ .../SurProjectAttendanceUserMapper.xml | 2 +- 9 files changed, 68 insertions(+), 10 deletions(-) diff --git a/ruoyi-ui/src/views/project/attendance/index.vue b/ruoyi-ui/src/views/project/attendance/index.vue index 7ed80096..072fc9da 100644 --- a/ruoyi-ui/src/views/project/attendance/index.vue +++ b/ruoyi-ui/src/views/project/attendance/index.vue @@ -157,7 +157,7 @@ export default { open: false, // 查询参数 queryParams: { - vendorsCode:'gld', + vendorsCode:'huazhu', pageNum: 1, pageSize: 10, projectId:null, diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectAttendanceData.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectAttendanceData.java index 5bf28fe2..7a14261e 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectAttendanceData.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectAttendanceData.java @@ -1,5 +1,6 @@ package com.yanzhu.jh.project.domain; +import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson2.JSONObject; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; @@ -94,6 +95,24 @@ public class SurProjectAttendanceData extends BaseEntity private Long projectId; private Long subDeptId; + public static SurProjectAttendanceData createFromHuazhu(JSONObject j) { + SurProjectAttendanceData d=new SurProjectAttendanceData(); + d.vendorsCode="huazhu"; + d.serverid=j.getLongValue("id",0); + d.workerId=j.getLongValue("labourWorkerId",0); + d.attendanceType=j.getLongValue("inOrOut",1l)==1l?"E":"L"; + long recordTime=j.getLongValue("recordTime",0); + if(recordTime>0){ + d.attendanceTime= DateUtil.format(DateUtil.date(recordTime),"yyyy-MM-dd HH:mm:ss"); + } + d.identification=j.getString("idCardNo"); + d.teamId=j.getLongValue("teamId",0); + d.workTypeCode=j.getString("workerTypeId"); + d.companyId=j.getLongValue("unitId",1); + d.deviceCode=j.getString("deviceNo"); + return d; + } + public Long getDeptId() { return deptId; } @@ -137,7 +156,7 @@ public class SurProjectAttendanceData extends BaseEntity d.workerId=json.getLong("workerId"); d.identification=json.getString("identification"); d.teamId=json.getLong("teamId"); - d.workTypeCode=json.getString("workTypeCode"); + d.workTypeCode=json.getString("workerTypeId"); d.companyId=json.getLong("companyId"); d.vendorId=json.getLong("vendorId"); d.projectType=json.getLong("projectType"); diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectAttendanceUser.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectAttendanceUser.java index 762c4a7f..242ce817 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectAttendanceUser.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectAttendanceUser.java @@ -175,11 +175,11 @@ public class SurProjectAttendanceUser extends BaseEntity u.state=j.getLongValue("status",1)==2l?0l:1l; long enterTime=j.getLong("enterTime"); if(enterTime>0){ - u.enterDate= DateUtil.format(DateUtil.date(enterTime),"HH:mm:ss"); + u.enterDate= DateUtil.format(DateUtil.date(enterTime),"yyyy-MM-dd HH:mm:ss"); } long leaveTime=j.getLong("leaveTime"); if(leaveTime>0) { - u.exitDate = DateUtil.format(DateUtil.date(leaveTime), "HH:mm:ss"); + u.exitDate = DateUtil.format(DateUtil.date(leaveTime), "yyyy-MM-dd HH:mm:ss"); } u.vendorId=j.getLongValue("unitProjectId",0); u.companyId=j.getLongValue("unitId",0); diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectAttendanceDataMapper.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectAttendanceDataMapper.java index 76e1e7ca..f037fb58 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectAttendanceDataMapper.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectAttendanceDataMapper.java @@ -62,4 +62,6 @@ public interface SurProjectAttendanceDataMapper public long getLastServerId(SurProjectAttendanceData where); List groupByComany(SurProjectAttendanceData where); + + public Long getHuazhuPage(Long id); } diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectAttendanceDataService.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectAttendanceDataService.java index b8985db4..80e2a4f8 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectAttendanceDataService.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectAttendanceDataService.java @@ -66,4 +66,5 @@ public interface ISurProjectAttendanceDataService public List groupByComany(SurProjectAttendanceData where); + public Long getHuazhuPage(Long id); } diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectAttendanceDataServiceImpl.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectAttendanceDataServiceImpl.java index 6f4d2fb0..8092d0ad 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectAttendanceDataServiceImpl.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectAttendanceDataServiceImpl.java @@ -121,4 +121,9 @@ public class SurProjectAttendanceDataServiceImpl implements ISurProjectAttendanc public List groupByComany(SurProjectAttendanceData where) { return surProjectAttendanceDataMapper.groupByComany(where); } + + @Override + public Long getHuazhuPage(Long id) { + return surProjectAttendanceDataMapper.getHuazhuPage(id); + } } diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/task/AttendanceHuazhuTask.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/task/AttendanceHuazhuTask.java index 37a172bd..fe042a8d 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/task/AttendanceHuazhuTask.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/task/AttendanceHuazhuTask.java @@ -77,11 +77,13 @@ public class AttendanceHuazhuTask { JSONObject jo=JSON.parseObject(JSON.toJSONString(map)); int page=1; SurProjectAttendanceCfg it=new SurProjectAttendanceCfg(); + it.setId(0l);; //new AttendanceHuazhuTask().doSyncWorker(jo,1,it); long p=jo.getLongValue("page",1); jo.put("page",1); System.out.println(p); System.out.println(jo.toString()); + new AttendanceHuazhuTask().doSyncAttendanceData(jo,1,it); } private static RequestBody toFormBody(Map params ){ return RequestBody.create( @@ -114,15 +116,40 @@ public class AttendanceHuazhuTask { if(Strings.isNotEmpty(param)){ try{ JSONObject jo=JSON.parseObject(param); - doSyncAttendanceData(jo,it); + Long page=attendanceDataService.getHuazhuPage(it.getId()); + if(null==page){ + doSyncAttendanceData(jo,1,it); + }else{ + doSyncAttendanceData(jo,page,it); + } + }catch (Exception ex){ ex.printStackTrace(); } } } } - private void doSyncAttendanceData(JSONObject jo,SurProjectAttendanceCfg it){ - + private void doSyncAttendanceData(JSONObject jdata,long page,SurProjectAttendanceCfg it){ + String path="/api/open/labour/findCardRecordByPage"; + Request request=getRequest(path,jdata,page); + String data=AttendanceTask.getResult(request); + JSONObject jo= JSON.parseObject(data); + JSONObject joData= jo.getJSONObject("data"); + JSONArray arr=joData.getJSONArray("records"); + long pages=joData.getLong("pages"); + if(arr!=null && arr.size()>0){ + for(int i=0;i + \ No newline at end of file diff --git a/yanzhu-jh/src/main/resources/mapper/project/SurProjectAttendanceUserMapper.xml b/yanzhu-jh/src/main/resources/mapper/project/SurProjectAttendanceUserMapper.xml index bb66545e..bcb2cceb 100644 --- a/yanzhu-jh/src/main/resources/mapper/project/SurProjectAttendanceUserMapper.xml +++ b/yanzhu-jh/src/main/resources/mapper/project/SurProjectAttendanceUserMapper.xml @@ -244,7 +244,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ( SELECT * FROM sur_project_attendance_data WHERE DATE(attendance_time)=date(#{createBy}) AND cfgid IN ( - SELECT id FROM sur_project_attendance_cfg WHERE project_id=#{projectId} AND sub_dept_id=#{subDeptId} AND vendors_code=#{vendorsCode} + SELECT id FROM sur_project_attendance_cfg WHERE project_id=#{projectId} AND sub_dept_id=#{subDeptId} ) ) xx