From 2a2d4c42b4dac68a8f4b6b1ca9cfd8720c7ce79a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=9C=E7=8E=89=E7=90=A6?= <7507756+jiang_yuqi@user.noreply.gitee.com> Date: Sat, 23 Mar 2024 02:47:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=93=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/LabourApiController.java | 55 +++++++++++++++++-- 1 file changed, 50 insertions(+), 5 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/labour/controller/LabourApiController.java b/ruoyi-admin/src/main/java/com/ruoyi/api/labour/controller/LabourApiController.java index a7990337..8b5f21c6 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/labour/controller/LabourApiController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/labour/controller/LabourApiController.java @@ -535,13 +535,58 @@ public class LabourApiController extends BaseController { throw new Exception("["+i+"]"+messages); } } - // 批量删除已保存数据 - List params = new ArrayList<>(); for(SurProjectAttendanceData surProjectAttendanceData:surProjectAttendanceDataList){ - params.add(sysApplyConfig.getAppId()+"-"+surProjectAttendanceData.getServerid()+"-"+surProjectAttendanceData.getWorkerId()); + // 查询当前班组人员考勤是否已推送 + SurProjectAttendanceData findData = new SurProjectAttendanceData(); + findData.setAppId(sysApplyConfig.getAppId()); + findData.setWorkerId(surProjectAttendanceData.getWorkerId()); + findData.setAttendanceTime(surProjectAttendanceData.getAttendanceTime()); + SurProjectAttendanceData data = surProjectAttendanceDataService.findCurrentAttendanceData(findData); + if(data!=null){ + //这里不能修改出勤时间 + surProjectAttendanceData.setAttendanceTime(null); + surProjectAttendanceData.setAttendanceOutTime(surProjectAttendanceData.getAttendanceTime()); + surProjectAttendanceData.setUpdateBy(sysApplyConfig.getAppId()+"Api推送离场"); + surProjectAttendanceData.setUpdateTime(new Date()); + surProjectAttendanceDataService.updateSurProjectAttendanceData(surProjectAttendanceData); + }else{ + /** + * 查询人员考勤信息 + */ + SurProjectAttendanceUser findUser = new SurProjectAttendanceUser(); + findUser.setCfgid(sysApplyConfig.getCfgId()); + findUser.setWorkerId(surProjectAttendanceData.getWorkerId()); + SurProjectAttendanceUser surProjectAttendanceUser = surProjectAttendanceUserService.findCurrentAttendanceUser(findUser); + if(StringUtils.isNull(surProjectAttendanceUser)){ + throw new ServiceException("未查询到人员信息",HttpStatusEnum.DARA_EXCEPTION.getCode()); + } + if(StringUtils.isNull(surProjectAttendanceUser.getCompanyTypeId())){ + throw new ServiceException("人员部门类型信息不完整",HttpStatusEnum.DARA_EXCEPTION.getCode()); + } + surProjectAttendanceData.setAppId(sysApplyConfig.getAppId()); + surProjectAttendanceData.setCfgid(sysApplyConfig.getCfgId()); + surProjectAttendanceData.setCompanyId(surProjectAttendanceUser.getCompanyId()); + surProjectAttendanceData.setCompanyName(surProjectAttendanceUser.getCompanyName()); + surProjectAttendanceData.setWorkerName(surProjectAttendanceUser.getName()); + surProjectAttendanceData.setWorkerPhoto(surProjectAttendanceUser.getRecentPhoto()); + surProjectAttendanceData.setWorkerGender(surProjectAttendanceUser.getGender()); + surProjectAttendanceData.setBirthDate(surProjectAttendanceUser.getBirthDate()); + surProjectAttendanceData.setEthnic(surProjectAttendanceUser.getEthnic()); + surProjectAttendanceData.setNativePlace(surProjectAttendanceUser.getNativePlace()); + surProjectAttendanceData.setPhone(surProjectAttendanceUser.getPhone()); + surProjectAttendanceData.setWorkTypeName(surProjectAttendanceUser.getWorkTypeName()); + surProjectAttendanceData.setSpecWorkType(surProjectAttendanceUser.getSpecWorkType()); + surProjectAttendanceData.setGroupName(surProjectAttendanceUser.getGroupName()); + surProjectAttendanceData.setCompanyTypeId(surProjectAttendanceUser.getCompanyTypeId()); + surProjectAttendanceData.setWorkTypeCode(surProjectAttendanceUser.getWorkTypeCode()); + surProjectAttendanceData.setCreateBy(sysApplyConfig.getAppId()+"Api推送入场"); + surProjectAttendanceData.setCreateTime(new Date()); + saveList.add(surProjectAttendanceData); + } + } + if(StringUtils.isNotEmpty(saveList)){ + surProjectAttendanceDataService.batchSurProjectAttendanceData(saveList); } - surProjectAttendanceDataService.deleteSurProjectAttendanceDataByParams(params); - surProjectAttendanceDataService.batchSurProjectAttendanceData(saveList); } }catch (Exception e){ throw new ServiceException(e.getMessage(),HttpStatusEnum.DARA_EXCEPTION.getCode());