From ce613b0b271639f4cc5b8267bdbcf701d32a9f4b Mon Sep 17 00:00:00 2001 From: pengjie <17373303529@163.com> Date: Tue, 25 Feb 2025 15:59:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=89=E5=BE=BD=E5=90=88=E6=AD=A6=E9=A1=B9?= =?UTF-8?q?=E7=9B=AEBUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../worker/controller/WorkerHwController.java | 2 +- .../service/impl/WorkerInfoServiceImpl.java | 8 +++ .../java/com/zhgd/xmgl/task/WorkerTask.java | 57 +++++++++---------- 3 files changed, 37 insertions(+), 30 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerHwController.java b/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerHwController.java index 53db1aef0..b9191144f 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerHwController.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerHwController.java @@ -54,7 +54,7 @@ import springfox.documentation.annotations.ApiIgnore; * @version: V1.0 */ @RestController -@RequestMapping("/worker/workerHw") +@RequestMapping("/xmgl/workerHw") @Slf4j @Api(tags = "安徽合武人员管理") public class WorkerHwController { diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java index 3a2be881f..6983304a8 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java @@ -1340,6 +1340,14 @@ public class WorkerInfoServiceImpl extends ServiceImpl workerInfoList = workerInfoMapper.selectList(Wrappers.lambdaQuery() + .eq(WorkerInfo::getWorkerName, MapUtils.getString(map, "workerName")) + .eq(WorkerInfo::getProjectSn, MapUtils.getString(map, "projectSn"))); + if (workerInfoList.size() > 0) { + map.put("workerId", workerInfoList.get(0).getId()); + } + } EntityMap info = workerInfoMapper.viewWorkerInfoDetail(map); Object nature = info.get("workerNature"); if (nature != null) { diff --git a/src/main/java/com/zhgd/xmgl/task/WorkerTask.java b/src/main/java/com/zhgd/xmgl/task/WorkerTask.java index 7b8137aed..57fb5427d 100644 --- a/src/main/java/com/zhgd/xmgl/task/WorkerTask.java +++ b/src/main/java/com/zhgd/xmgl/task/WorkerTask.java @@ -782,12 +782,12 @@ public class WorkerTask { @SchedulerLock(name = "getWorkerAttendByHw", lockAtMostFor = 1000 * 55, lockAtLeastFor = 1000 * 55) @RequestMapping("getWorkerAttendByHw") public void getWorkerAttendByHw() { - List workerInfoList = workerInfoMapper.selectList(Wrappers.lambdaQuery().eq(WorkerInfo::getProjectSn, "BD3137498CB84BF0969979E0342CDBCA")); + List workerInfoList = workerInfoMapper.selectList(Wrappers.lambdaQuery().eq(WorkerInfo::getProjectSn, "51E111F3FDFB41D0AB67F812F1B80794")); JSONObject pJo = new JSONObject(); pJo.put("tenantId", "1833147242533949441"); pJo.put("orgId", "1833149331474493441"); pJo.put("current", 1); - pJo.put("size", 100); + pJo.put("size", 1000); pJo.put("startTime", System.currentTimeMillis() - 60000); pJo.put("endTime", System.currentTimeMillis()); String result = HttpRequest.post("http://api.1357.cn/hz-labour/api/open/labour/findCardRecordByPage") @@ -801,37 +801,36 @@ public class WorkerTask { if (jsonObject.getInteger("statusCode") == 200) { JSONArray records = jsonObject.getJSONObject("data").getJSONArray("records"); for (int i = 0; i < records.size(); i++) { - int finalI = i; - CompletableFuture.runAsync(() -> { - doAddWorkerAttend(records.getJSONObject(finalI), workerInfoList); - }).exceptionally(throwable -> { - log.error("err", throwable); - return null; - }); + JSONObject obj = records.getJSONObject(i); + String idCardNo = obj.getString("idCardNo"); + List collect = workerInfoList.stream().filter(w -> w.getIdCard().equals(idCardNo)).collect(Collectors.toList()); + if (collect.size() > 0) { + CompletableFuture.runAsync(() -> { + doAddWorkerAttend(obj, collect.get(0)); + }).exceptionally(throwable -> { + log.error("err", throwable); + return null; + }); + } } } } } - private void doAddWorkerAttend(JSONObject obj, List workerInfoList) { - String idCardNo = obj.getString("idCardNo"); - List collect = workerInfoList.stream().filter(w -> w.getIdCard().equals(idCardNo)).collect(Collectors.toList()); - if (collect.size() > 0) { - WorkerInfo workerInfo = collect.get(0); - Map map = new HashMap<>(); - String imagePath = obj.getString("imagePath"); - String deviceNo = obj.getString("deviceNo"); - String fileToBase64 = "data:image/jpeg;base64," + Base64Util.getFileToBase64(imagePath); - FileInfo fileInfo = uploadFileService.uploadFileBase64Image(fileToBase64); - String url = fileInfo.getUrl(); - map.put("idCard", idCardNo); - map.put("projectCode", workerInfo.getProjectSn()); - map.put("passTime", DateUtil.formatDateTime(new Date(obj.getLong("createTime")))); - map.put("direction", obj.getIntValue("inOrOut")); - map.put("passType", 2); - map.put("devCode", StringUtils.isNotBlank(deviceNo) ? deviceNo : "HW0225001"); - map.put("faceUrl", url); - workerAttendanceService.saveExternalPassRecord(map); - } + private void doAddWorkerAttend(JSONObject obj, WorkerInfo workerInfo) { + Map map = new HashMap<>(); + String imagePath = obj.getString("imagePath"); + String deviceNo = obj.getString("deviceNo"); + String fileToBase64 = "data:image/jpeg;base64," + Base64Util.getFileToBase64(imagePath); + FileInfo fileInfo = uploadFileService.uploadFileBase64Image(fileToBase64); + String url = fileInfo.getUrl(); + map.put("idCard", workerInfo.getIdCard()); + map.put("projectCode", workerInfo.getProjectSn()); + map.put("passTime", DateUtil.formatDateTime(new Date(obj.getLong("createTime")))); + map.put("direction", obj.getIntValue("inOrOut")); + map.put("passType", 2); + map.put("devCode", StringUtils.isNotBlank(deviceNo) ? deviceNo : "HW0225001"); + map.put("faceUrl", url); + workerAttendanceService.saveExternalPassRecord(map); } }