Your Name лет назад: 3
Родитель
Сommit
4e4fe1c0aa

+ 18 - 24
service-common/src/main/java/com/java110/common/cmd/attendanceClasses/CheckInCmd.java

@@ -14,6 +14,7 @@ import com.java110.doc.annotation.*;
 import com.java110.dto.attendanceClasses.AttendanceClassesDto;
 import com.java110.dto.attendanceClasses.AttendanceClassesTaskDetailDto;
 import com.java110.dto.attendanceClasses.AttendanceClassesTaskDto;
+import com.java110.dto.attendanceClassesStaff.AttendanceClassesStaffDto;
 import com.java110.dto.file.FileDto;
 import com.java110.dto.org.OrgStaffRelDto;
 import com.java110.dto.store.StoreUserDto;
@@ -21,6 +22,7 @@ import com.java110.dto.user.UserDto;
 import com.java110.intf.common.*;
 import com.java110.intf.store.IOrgStaffRelV1InnerServiceSMO;
 import com.java110.intf.store.IStoreInnerServiceSMO;
+import com.java110.intf.user.IAttendanceClassesStaffV1InnerServiceSMO;
 import com.java110.intf.user.IUserV1InnerServiceSMO;
 import com.java110.po.attendanceClasses.AttendanceClassesPo;
 import com.java110.po.attendanceClassesTask.AttendanceClassesTaskPo;
@@ -94,7 +96,7 @@ public class CheckInCmd extends Cmd {
     private IFileInnerServiceSMO fileInnerServiceSMOImpl;
 
     @Autowired
-    private IOrgStaffRelV1InnerServiceSMO orgStaffRelV1InnerServiceSMOImpl;
+    private IAttendanceClassesStaffV1InnerServiceSMO attendanceClassesStaffV1InnerServiceSMOImpl;
 
     @Autowired
     private IPhotoSMO photoSMOImpl;
@@ -122,33 +124,25 @@ public class CheckInCmd extends Cmd {
 
         Assert.listOnlyOne(storeUserDtos, "员工不存在");
 
-        OrgStaffRelDto orgStaffRelDto = new OrgStaffRelDto();
-        orgStaffRelDto.setStoreId(storeUserDtos.get(0).getStoreId());
-        orgStaffRelDto.setStaffId(reqJson.getString("staffId"));
-        List<OrgStaffRelDto> orgStaffRelDtos = orgStaffRelV1InnerServiceSMOImpl.queryOrgStaffRels(orgStaffRelDto);
+        AttendanceClassesStaffDto attendanceClassesStaffDto = new AttendanceClassesStaffDto();
+        attendanceClassesStaffDto.setStaffId(reqJson.getString("staffId"));
+        attendanceClassesStaffDto.setStoreId(storeUserDtos.get(0).getStoreId());
+        List<AttendanceClassesStaffDto> attendanceClassesStaffs = attendanceClassesStaffV1InnerServiceSMOImpl.queryAttendanceClassesStaffs(attendanceClassesStaffDto);
 
-        if(orgStaffRelDtos == null || orgStaffRelDtos.size() < 1){
+        if (attendanceClassesStaffs == null || attendanceClassesStaffs.size() < 1) {
             throw new CmdException("员工没有考勤任务");
         }
 
-        List<String> orgIds = new ArrayList<>();
-        for(OrgStaffRelDto orgStaffRelDto1: orgStaffRelDtos){
-            orgIds.add(orgStaffRelDto1.getOrgId());
-        }
-
-        // 考勤班次是否存在
-        AttendanceClassesDto attendanceClassesDto = new AttendanceClassesDto();
-        attendanceClassesDto.setStoreId(storeUserDtos.get(0).getStoreId());
-        attendanceClassesDto.setClassesObjIds(orgIds.toArray(new String[orgIds.size()]));
-        List<AttendanceClassesDto> attendanceClassesDtos = attendanceClassesV1InnerServiceSMOImpl.queryAttendanceClassess(attendanceClassesDto);
-
-        if(attendanceClassesDtos == null || attendanceClassesDtos.size() < 1){
-            throw new CmdException("班次不存在");
-        }
-
-       // Assert.listOnlyOne(attendanceClassesDtos, "班次不存在");
-        for(AttendanceClassesDto tmpAttendanceClassesDto : attendanceClassesDtos) {
-            doCheckInAttendanceLog(context, reqJson, storeUserDtos, userDtos, tmpAttendanceClassesDto);
+        for (AttendanceClassesStaffDto tmpAttendanceClassesStaffDto : attendanceClassesStaffs) {
+            // 考勤班次是否存在
+            AttendanceClassesDto attendanceClassesDto = new AttendanceClassesDto();
+            attendanceClassesDto.setStoreId(storeUserDtos.get(0).getStoreId());
+            attendanceClassesDto.setClassesId(tmpAttendanceClassesStaffDto.getClassesId());
+            List<AttendanceClassesDto> attendanceClassesDtos = attendanceClassesV1InnerServiceSMOImpl.queryAttendanceClassess(attendanceClassesDto);
+            if (attendanceClassesDtos == null || attendanceClassesDtos.size() < 1) {
+                throw new CmdException("班次不存在");
+            }
+            doCheckInAttendanceLog(context, reqJson, storeUserDtos, userDtos, attendanceClassesDtos.get(0));
         }
     }
 

+ 58 - 61
service-job/src/main/java/com/java110/job/adapt/hcIot/staff/AddStaffToIotAdapt.java

@@ -13,11 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.java110.job.adapt.hcIot.staff;
+package com.java110.job.adapt.hcIot.attendance;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.dto.attendanceClasses.AttendanceClassesDto;
+import com.java110.dto.attendanceClassesStaff.AttendanceClassesStaffDto;
 import com.java110.dto.file.FileDto;
 import com.java110.dto.file.FileRelDto;
 import com.java110.dto.machine.MachineDto;
@@ -27,11 +28,12 @@ import com.java110.intf.common.IAttendanceClassesInnerServiceSMO;
 import com.java110.intf.common.IFileInnerServiceSMO;
 import com.java110.intf.common.IFileRelInnerServiceSMO;
 import com.java110.intf.common.IMachineV1InnerServiceSMO;
+import com.java110.intf.user.IAttendanceClassesStaffV1InnerServiceSMO;
 import com.java110.intf.user.IOrgStaffRelInnerServiceSMO;
 import com.java110.job.adapt.DatabusAdaptImpl;
 import com.java110.job.adapt.hcIot.asyn.IIotSendAsyn;
+import com.java110.po.attendanceClassesStaff.AttendanceClassesStaffPo;
 import com.java110.po.store.StoreUserPo;
-import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -46,14 +48,14 @@ import java.util.List;
  *
  * @desc add by 吴学文 18:58
  */
-@Component(value = "addStaffToIotAdapt")
-public class AddStaffToIotAdapt extends DatabusAdaptImpl {
+@Component(value = "addAttendanceClassStaffToIotAdapt")
+public class AddAttendanceClassStaffToIotAdapt extends DatabusAdaptImpl {
 
     @Autowired
     private IIotSendAsyn hcStoreUserAsynImpl;
 
     @Autowired
-    private IOrgStaffRelInnerServiceSMO orgStaffRelInnerServiceSMOImpl;
+    private IAttendanceClassesStaffV1InnerServiceSMO attendanceClassesStaffV1InnerServiceSMOImpl;
 
     @Autowired
     private IAttendanceClassesInnerServiceSMO attendanceClassesInnerServiceSMOImpl;
@@ -85,8 +87,8 @@ public class AddStaffToIotAdapt extends DatabusAdaptImpl {
     public void execute(Business business, List<Business> businesses) {
         JSONObject data = business.getData();
         JSONArray businessStoreUsers = new JSONArray();
-        if (data.containsKey(StoreUserPo.class.getSimpleName())) {
-            Object bObj = data.get(StoreUserPo.class.getSimpleName());
+        if (data.containsKey(AttendanceClassesStaffPo.class.getSimpleName())) {
+            Object bObj = data.get(AttendanceClassesStaffPo.class.getSimpleName());
             if (bObj instanceof JSONObject) {
 
                 businessStoreUsers.add(bObj);
@@ -109,71 +111,66 @@ public class AddStaffToIotAdapt extends DatabusAdaptImpl {
 
     private void doSendStoreUser(Business business, JSONObject businessStoreUser) {
 
-        StoreUserPo storeUserPo = BeanConvertUtil.covertBean(businessStoreUser, StoreUserPo.class);
+        AttendanceClassesStaffPo attendanceClassesStaffPo = BeanConvertUtil.covertBean(businessStoreUser, AttendanceClassesStaffPo.class);
 
-        //查询员工部门
-        //查询员工部门
-        OrgStaffRelDto orgStaffRelDto = new OrgStaffRelDto();
-        orgStaffRelDto.setStaffId(storeUserPo.getUserId());
-        orgStaffRelDto.setStoreId(storeUserPo.getStoreId());
-        List<OrgStaffRelDto> orgStaffRelDtos = orgStaffRelInnerServiceSMOImpl.queryOrgStaffRels(orgStaffRelDto);
-
-
-        if(orgStaffRelDtos == null || orgStaffRelDtos.size()<1){
-            throw new IllegalArgumentException("员工未包含组织");
+        AttendanceClassesStaffDto attendanceClassesStaffDto = new AttendanceClassesStaffDto();
+        attendanceClassesStaffDto.setCsId(attendanceClassesStaffPo.getCsId());
+        attendanceClassesStaffDto.setStoreId(attendanceClassesStaffPo.getStoreId());
+        List<AttendanceClassesStaffDto> attendanceClassesStaffs = attendanceClassesStaffV1InnerServiceSMOImpl.queryAttendanceClassesStaffs(attendanceClassesStaffDto);
+        if (attendanceClassesStaffs == null || attendanceClassesStaffs.size() < 1) {
+            return;
         }
 
-        for (OrgStaffRelDto tmpOrgStaffRelDto : orgStaffRelDtos) {
 
-            //查询员工部门是否参与考勤
-            AttendanceClassesDto attendanceClassesDto = new AttendanceClassesDto();
-            attendanceClassesDto.setClassesObjType(AttendanceClassesDto.CLASSES_OBJ_TYPE_PARTMENT);
-            attendanceClassesDto.setClassesObjId(tmpOrgStaffRelDto.getOrgId());
-            List<AttendanceClassesDto> attendanceClassesDtos = attendanceClassesInnerServiceSMOImpl.queryAttendanceClassess(attendanceClassesDto);
+        //查询员工部门是否参与考勤
+        AttendanceClassesDto attendanceClassesDto = new AttendanceClassesDto();
+        attendanceClassesDto.setClassesId(attendanceClassesStaffs.get(0).getClassesId());
+        attendanceClassesDto.setStoreId(attendanceClassesStaffs.get(0).getStoreId());
+        List<AttendanceClassesDto> attendanceClassesDtos = attendanceClassesInnerServiceSMOImpl.queryAttendanceClassess(attendanceClassesDto);
 
-            //员工部门没有考勤,不用处理
-            if (attendanceClassesDtos == null || attendanceClassesDtos.size() < 1) {
-                continue;
-            }
+        //员工部门没有考勤,不用处理
+        if (attendanceClassesDtos == null || attendanceClassesDtos.size() < 1) {
+            return;
+        }
 
-            MachineDto machineDto = new MachineDto();
-            machineDto.setLocationObjId(tmpOrgStaffRelDto.getOrgId());
-            machineDto.setMachineTypeCd(MachineDto.MACHINE_TYPE_ATTENDANCE);
-            List<MachineDto> machineDtos = machineV1InnerServiceSMOImpl.queryMachines(machineDto);
-
-            String img = getStaffPhoto(orgStaffRelDtos.get(0));
-
-            JSONObject storeUserObj = null;
-            List<JSONObject> storeUserObjs = new ArrayList<>();
-            for (AttendanceClassesDto tmpAttendanceClassesDto : attendanceClassesDtos) {
-
-                storeUserObj = new JSONObject();
-                storeUserObj.put("extClassesId", tmpAttendanceClassesDto.getClassesId());
-                storeUserObj.put("extStaffId", tmpOrgStaffRelDto.getStaffId());
-                storeUserObj.put("staffName", tmpOrgStaffRelDto.getStaffName());
-                storeUserObj.put("departmentId", tmpOrgStaffRelDto.getOrgId());
-                storeUserObj.put("departmentName", tmpOrgStaffRelDto.getOrgName());
-                if (machineDtos != null && machineDtos.size() > 0) {
-                    storeUserObj.put("machineCode", machineDtos.get(0).getMachineCode());
-                    storeUserObj.put("extMachineId", machineDtos.get(0).getMachineId());
-                    storeUserObj.put("extCommunityId", machineDtos.get(0).getCommunityId());
-                }
-                storeUserObj.put("faceBase64", img);
-                storeUserObjs.add(storeUserObj);
-            }
-            JSONObject postParameters = new JSONObject();
-            postParameters.put("classesName", attendanceClassesDtos.get(0).getClassesName());
-            postParameters.put("extClassesId", attendanceClassesDtos.get(0).getClassesId());
-            postParameters.put("extCommunityId", "-1");
-            hcStoreUserAsynImpl.addAttendanceStaff(postParameters, storeUserObjs);
+        MachineDto machineDto = new MachineDto();
+        machineDto.setLocationObjId(attendanceClassesDtos.get(0).getClassesId());
+        machineDto.setMachineTypeCd(MachineDto.MACHINE_TYPE_ATTENDANCE);
+        List<MachineDto> machineDtos = machineV1InnerServiceSMOImpl.queryMachines(machineDto);
+        //员工部门没有考勤,不用处理
+        if (machineDtos == null || machineDtos.size() < 1) {
+            return;
+        }
+        String img = getStaffPhoto(attendanceClassesStaffs.get(0));
+
+        JSONObject storeUserObj = null;
+        List<JSONObject> storeUserObjs = new ArrayList<>();
+        for (MachineDto tmpMachineDto : machineDtos) {
+
+            storeUserObj = new JSONObject();
+            storeUserObj.put("extClassesId", attendanceClassesDtos.get(0).getClassesId());
+            storeUserObj.put("extStaffId", attendanceClassesStaffs.get(0).getStaffId());
+            storeUserObj.put("staffName", attendanceClassesStaffs.get(0).getStaffName());
+            storeUserObj.put("departmentId", "-1");
+            storeUserObj.put("departmentName", "未知");
+            storeUserObj.put("machineCode", tmpMachineDto.getMachineCode());
+            storeUserObj.put("extMachineId", tmpMachineDto.getMachineId());
+            storeUserObj.put("extCommunityId", tmpMachineDto.getCommunityId());
+            storeUserObj.put("faceBase64", img);
+            storeUserObjs.add(storeUserObj);
         }
+        JSONObject postParameters = new JSONObject();
+        postParameters.put("classesName", attendanceClassesDtos.get(0).getClassesName());
+        postParameters.put("extClassesId", attendanceClassesDtos.get(0).getClassesId());
+        postParameters.put("extCommunityId", "-1");
+        hcStoreUserAsynImpl.addAttendanceStaff(postParameters, storeUserObjs);
+
     }
 
-    private String getStaffPhoto(OrgStaffRelDto orgStaffRelDto) {
+    private String getStaffPhoto(AttendanceClassesStaffDto attendanceClassesStaffDto) {
 
         FileRelDto fileRelDto = new FileRelDto();
-        fileRelDto.setObjId(orgStaffRelDto.getStaffId());
-        fileRelDto.setRelTypeCd("12000");
+        fileRelDto.setObjId(attendanceClassesStaffDto.getCsId());
         List<FileRelDto> fileRelDtos = fileRelInnerServiceSMOImpl.queryFileRels(fileRelDto);
         if (fileRelDtos == null || fileRelDtos.size() != 1) {
             return "";

+ 34 - 29
service-job/src/main/java/com/java110/job/adapt/hcIot/staff/DeleteStaffToIotAdapt.java

@@ -13,11 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.java110.job.adapt.hcIot.staff;
+package com.java110.job.adapt.hcIot.attendance;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.dto.attendanceClasses.AttendanceClassesDto;
+import com.java110.dto.attendanceClassesStaff.AttendanceClassesStaffDto;
 import com.java110.dto.machine.MachineDto;
 import com.java110.dto.org.OrgStaffRelDto;
 import com.java110.entity.order.Business;
@@ -25,10 +26,11 @@ import com.java110.intf.common.IAttendanceClassesInnerServiceSMO;
 import com.java110.intf.common.IFileInnerServiceSMO;
 import com.java110.intf.common.IFileRelInnerServiceSMO;
 import com.java110.intf.common.IMachineV1InnerServiceSMO;
+import com.java110.intf.user.IAttendanceClassesStaffV1InnerServiceSMO;
 import com.java110.intf.user.IOrgStaffRelInnerServiceSMO;
 import com.java110.job.adapt.DatabusAdaptImpl;
 import com.java110.job.adapt.hcIot.asyn.IIotSendAsyn;
-import com.java110.po.attendanceClasses.AttendanceClassesPo;
+import com.java110.po.attendanceClassesStaff.AttendanceClassesStaffPo;
 import com.java110.po.store.StoreUserPo;
 import com.java110.utils.constant.StatusConstant;
 import com.java110.utils.util.Assert;
@@ -36,7 +38,6 @@ import com.java110.utils.util.BeanConvertUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -46,8 +47,8 @@ import java.util.List;
  *
  * @desc add by 吴学文 18:58
  */
-@Component(value = "deleteStaffToIotAdapt")
-public class DeleteStaffToIotAdapt extends DatabusAdaptImpl {
+@Component(value = "deleteAttendanceClassStaffToIotAdapt")
+public class DeleteAttendanceClassStaffToIotAdapt extends DatabusAdaptImpl {
 
     @Autowired
     private IIotSendAsyn hcStoreUserAsynImpl;
@@ -57,7 +58,8 @@ public class DeleteStaffToIotAdapt extends DatabusAdaptImpl {
     private IAttendanceClassesInnerServiceSMO attendanceClassesInnerServiceSMOImpl;
 
     @Autowired
-    private IOrgStaffRelInnerServiceSMO orgStaffRelInnerServiceSMOImpl;
+    private IAttendanceClassesStaffV1InnerServiceSMO attendanceClassesStaffV1InnerServiceSMOImpl;
+
 
     @Autowired
     private IMachineV1InnerServiceSMO machineV1InnerServiceSMOImpl;
@@ -86,8 +88,8 @@ public class DeleteStaffToIotAdapt extends DatabusAdaptImpl {
     public void execute(Business business, List<Business> businesses) {
         JSONObject data = business.getData();
         JSONArray businessOwnerAttendances = new JSONArray();
-        if (data.containsKey(StoreUserPo.class.getSimpleName())) {
-            Object bObj = data.get(StoreUserPo.class.getSimpleName());
+        if (data.containsKey(AttendanceClassesStaffPo.class.getSimpleName())) {
+            Object bObj = data.get(AttendanceClassesStaffPo.class.getSimpleName());
             if (bObj instanceof JSONObject) {
                 businessOwnerAttendances.add(bObj);
             } else if (bObj instanceof List) {
@@ -95,7 +97,7 @@ public class DeleteStaffToIotAdapt extends DatabusAdaptImpl {
             } else {
                 businessOwnerAttendances = (JSONArray) bObj;
             }
-        }else {
+        } else {
             if (data instanceof JSONObject) {
                 businessOwnerAttendances.add(data);
             }
@@ -110,21 +112,21 @@ public class DeleteStaffToIotAdapt extends DatabusAdaptImpl {
 
     private void doSendOwnerAttendance(Business business, JSONObject businessStoreUser) {
 
-        StoreUserPo storeUserPo = BeanConvertUtil.covertBean(businessStoreUser, StoreUserPo.class);
+        AttendanceClassesStaffPo attendanceClassesStaffPo = BeanConvertUtil.covertBean(businessStoreUser, AttendanceClassesStaffPo.class);
+
 
-        //查询员工部门
-        OrgStaffRelDto orgStaffRelDto = new OrgStaffRelDto();
-        orgStaffRelDto.setStaffId(storeUserPo.getUserId());
-        orgStaffRelDto.setStoreId(storeUserPo.getStoreId());
-        orgStaffRelDto.setStatusCd(StatusConstant.STATUS_CD_INVALID);
-        List<OrgStaffRelDto> orgStaffRelDtos = orgStaffRelInnerServiceSMOImpl.queryOrgStaffRels(orgStaffRelDto);
+        AttendanceClassesStaffDto attendanceClassesStaffDto = new AttendanceClassesStaffDto();
+        attendanceClassesStaffDto.setCsId(attendanceClassesStaffPo.getCsId());
+        attendanceClassesStaffDto.setStoreId(attendanceClassesStaffPo.getStoreId());
+        attendanceClassesStaffDto.setStatusCd(StatusConstant.STATUS_CD_INVALID);
+        List<AttendanceClassesStaffDto> attendanceClassesStaffs = attendanceClassesStaffV1InnerServiceSMOImpl.queryAttendanceClassesStaffs(attendanceClassesStaffDto);
+        Assert.listOnlyOne(attendanceClassesStaffs, "未包含员工信息");
 
-        Assert.listOnlyOne(orgStaffRelDtos, "未包含员工信息");
 
         //查询员工部门是否参与考勤
         AttendanceClassesDto attendanceClassesDto = new AttendanceClassesDto();
-        attendanceClassesDto.setClassesObjType(AttendanceClassesDto.CLASSES_OBJ_TYPE_PARTMENT);
-        attendanceClassesDto.setClassesObjId(orgStaffRelDtos.get(0).getDepartmentId());
+        attendanceClassesDto.setClassesId(attendanceClassesStaffs.get(0).getClassesId());
+        attendanceClassesDto.setStoreId(attendanceClassesStaffs.get(0).getStoreId());
         List<AttendanceClassesDto> attendanceClassesDtos = attendanceClassesInnerServiceSMOImpl.queryAttendanceClassess(attendanceClassesDto);
 
         //员工部门没有考勤,不用处理
@@ -133,22 +135,25 @@ public class DeleteStaffToIotAdapt extends DatabusAdaptImpl {
         }
 
         MachineDto machineDto = new MachineDto();
-        machineDto.setLocationObjId(orgStaffRelDtos.get(0).getDepartmentId());
+        machineDto.setLocationObjId(attendanceClassesDtos.get(0).getClassesId());
         machineDto.setMachineTypeCd(MachineDto.MACHINE_TYPE_ATTENDANCE);
         List<MachineDto> machineDtos = machineV1InnerServiceSMOImpl.queryMachines(machineDto);
+        //员工部门没有考勤,不用处理
+        if (machineDtos == null || machineDtos.size() < 1) {
+            return;
+        }
 
-        for(AttendanceClassesDto tmpAttendanceClassesDto : attendanceClassesDtos ){
+        for (MachineDto tmpMachineDto : machineDtos) {
             JSONObject postParameters = new JSONObject();
-            postParameters.put("classesName", tmpAttendanceClassesDto.getClassesName());
-            postParameters.put("extClassesId", tmpAttendanceClassesDto.getClassesId());
-            postParameters.put("extStaffId", orgStaffRelDtos.get(0).getStaffId());
+            postParameters.put("classesName", attendanceClassesDtos.get(0).getClassesName());
+            postParameters.put("extClassesId", attendanceClassesDtos.get(0).getClassesId());
+            postParameters.put("extStaffId", attendanceClassesStaffs.get(0).getStaffId());
             postParameters.put("deleteStaff", "1");
             postParameters.put("extCommunityId", "-1");
-            if (machineDtos != null && machineDtos.size() < 1) {
-                postParameters.put("machineCode", machineDtos.get(0).getMachineCode());
-                postParameters.put("extMachineId", machineDtos.get(0).getMachineId());
-                postParameters.put("extCommunityId", machineDtos.get(0).getCommunityId());
-            }
+            postParameters.put("machineCode", tmpMachineDto.getMachineCode());
+            postParameters.put("extMachineId", tmpMachineDto.getMachineId());
+            postParameters.put("extCommunityId", tmpMachineDto.getCommunityId());
+
             hcStoreUserAsynImpl.deleteAttendanceStaff(postParameters);
         }
 

+ 0 - 192
service-job/src/main/java/com/java110/job/adapt/hcIot/staff/UpdateStaffToIotAdapt.java

@@ -1,192 +0,0 @@
-/*
- * Copyright 2017-2020 吴学文 and java110 team.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.java110.job.adapt.hcIot.staff;
-
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.java110.dto.attendanceClasses.AttendanceClassesDto;
-import com.java110.dto.file.FileDto;
-import com.java110.dto.file.FileRelDto;
-import com.java110.dto.machine.MachineDto;
-import com.java110.dto.org.OrgStaffRelDto;
-import com.java110.entity.order.Business;
-import com.java110.intf.common.IAttendanceClassesInnerServiceSMO;
-import com.java110.intf.common.IFileInnerServiceSMO;
-import com.java110.intf.common.IFileRelInnerServiceSMO;
-import com.java110.intf.common.IMachineV1InnerServiceSMO;
-import com.java110.intf.user.IOrgStaffRelInnerServiceSMO;
-import com.java110.job.adapt.DatabusAdaptImpl;
-import com.java110.job.adapt.hcIot.asyn.IIotSendAsyn;
-import com.java110.po.store.StoreUserPo;
-import com.java110.utils.util.Assert;
-import com.java110.utils.util.BeanConvertUtil;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * HC iot 车辆同步适配器
- * <p>
- * 接口协议地址: https://gitee.com/java110/MicroCommunityThings/blob/master/back/docs/api.md
- *
- * @desc add by 吴学文 18:58
- */
-@Component(value = "updateStaffToIotAdapt")
-public class UpdateStaffToIotAdapt extends DatabusAdaptImpl {
-
-    @Autowired
-    private IIotSendAsyn hcStoreUserAsynImpl;
-
-    @Autowired
-    private IOrgStaffRelInnerServiceSMO orgStaffRelInnerServiceSMOImpl;
-
-    @Autowired
-    private IAttendanceClassesInnerServiceSMO attendanceClassesInnerServiceSMOImpl;
-
-    @Autowired
-    private IMachineV1InnerServiceSMO machineV1InnerServiceSMOImpl;
-
-
-    @Autowired
-    private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
-
-    @Autowired
-    private IFileInnerServiceSMO fileInnerServiceSMOImpl;
-
-
-    /**
-     * accessToken={access_token}
-     * &extCommunityUuid=01000
-     * &extCommunityId=1
-     * &devSn=111111111
-     * &name=设备名称
-     * &positionType=0
-     * &positionUuid=1
-     *
-     * @param business   当前处理业务
-     * @param businesses 所有业务信息
-     */
-    @Override
-    public void execute(Business business, List<Business> businesses) {
-        JSONObject data = business.getData();
-        JSONArray businessStoreUsers = new JSONArray();
-        if (data.containsKey(StoreUserPo.class.getSimpleName())) {
-            Object bObj = data.get(StoreUserPo.class.getSimpleName());
-            if (bObj instanceof JSONObject) {
-
-                businessStoreUsers.add(bObj);
-            } else if (bObj instanceof List) {
-                businessStoreUsers = JSONArray.parseArray(JSONObject.toJSONString(bObj));
-            } else {
-                businessStoreUsers = (JSONArray) bObj;
-            }
-        } else {
-            if (data instanceof JSONObject) {
-                businessStoreUsers.add(data);
-            }
-        }
-        //JSONObject businessStoreUser = data.getJSONObject("businessStoreUser");
-        for (int bStoreUserIndex = 0; bStoreUserIndex < businessStoreUsers.size(); bStoreUserIndex++) {
-            JSONObject businessStoreUser = businessStoreUsers.getJSONObject(bStoreUserIndex);
-            doSendStoreUser(business, businessStoreUser);
-        }
-    }
-
-    private void doSendStoreUser(Business business, JSONObject businessStoreUser) {
-
-        StoreUserPo storeUserPo = BeanConvertUtil.covertBean(businessStoreUser, StoreUserPo.class);
-
-        //查询员工部门
-        OrgStaffRelDto orgStaffRelDto = new OrgStaffRelDto();
-        orgStaffRelDto.setStaffId(storeUserPo.getUserId());
-        orgStaffRelDto.setStoreId(storeUserPo.getStoreId());
-        List<OrgStaffRelDto> orgStaffRelDtos = orgStaffRelInnerServiceSMOImpl.queryOrgStaffRels(orgStaffRelDto);
-
-
-        if(orgStaffRelDtos == null || orgStaffRelDtos.size()<1){
-            throw new IllegalArgumentException("员工未包含组织");
-        }
-
-        for (OrgStaffRelDto tmpOrgStaffRelDto : orgStaffRelDtos) {
-
-            //查询员工部门是否参与考勤
-            AttendanceClassesDto attendanceClassesDto = new AttendanceClassesDto();
-            attendanceClassesDto.setClassesObjType(AttendanceClassesDto.CLASSES_OBJ_TYPE_PARTMENT);
-            attendanceClassesDto.setClassesObjId(tmpOrgStaffRelDto.getOrgId());
-            List<AttendanceClassesDto> attendanceClassesDtos = attendanceClassesInnerServiceSMOImpl.queryAttendanceClassess(attendanceClassesDto);
-
-            //员工部门没有考勤,不用处理
-            if (attendanceClassesDtos == null || attendanceClassesDtos.size() < 1) {
-                continue;
-            }
-
-            MachineDto machineDto = new MachineDto();
-            machineDto.setLocationObjId(tmpOrgStaffRelDto.getOrgId());
-            machineDto.setMachineTypeCd(MachineDto.MACHINE_TYPE_ATTENDANCE);
-            List<MachineDto> machineDtos = machineV1InnerServiceSMOImpl.queryMachines(machineDto);
-
-            String img = getStaffPhoto(tmpOrgStaffRelDto);
-
-            JSONObject storeUserObj = null;
-            List<JSONObject> storeUserObjs = new ArrayList<>();
-            for (AttendanceClassesDto tmpAttendanceClassesDto : attendanceClassesDtos) {
-
-                storeUserObj = new JSONObject();
-                storeUserObj.put("extClassesId", tmpAttendanceClassesDto.getClassesId());
-                storeUserObj.put("extStaffId", tmpOrgStaffRelDto.getStaffId());
-                storeUserObj.put("staffName", tmpOrgStaffRelDto.getStaffName());
-                storeUserObj.put("departmentId", tmpOrgStaffRelDto.getOrgId());
-                storeUserObj.put("departmentName", tmpOrgStaffRelDto.getOrgName());
-                if (machineDtos != null && machineDtos.size() > 0) {
-                    storeUserObj.put("machineCode", machineDtos.get(0).getMachineCode());
-                    storeUserObj.put("extMachineId", machineDtos.get(0).getMachineId());
-                    storeUserObj.put("extCommunityId", machineDtos.get(0).getCommunityId());
-                }
-                storeUserObj.put("faceBase64", img);
-                storeUserObjs.add(storeUserObj);
-            }
-            JSONObject postParameters = new JSONObject();
-            postParameters.put("classesName", attendanceClassesDtos.get(0).getClassesName());
-            postParameters.put("extClassesId", attendanceClassesDtos.get(0).getClassesId());
-            postParameters.put("extCommunityId", "-1");
-            hcStoreUserAsynImpl.updateAttendanceStaff(postParameters, storeUserObjs);
-        }
-
-
-    }
-
-    private String getStaffPhoto(OrgStaffRelDto orgStaffRelDto) {
-
-        FileRelDto fileRelDto = new FileRelDto();
-        fileRelDto.setObjId(orgStaffRelDto.getStaffId());
-        fileRelDto.setRelTypeCd("12000");
-        List<FileRelDto> fileRelDtos = fileRelInnerServiceSMOImpl.queryFileRels(fileRelDto);
-        if (fileRelDtos == null || fileRelDtos.size() != 1) {
-            return "";
-        }
-        FileDto fileDto = new FileDto();
-        fileDto.setFileId(fileRelDtos.get(0).getFileSaveName());
-        fileDto.setFileSaveName(fileRelDtos.get(0).getFileSaveName());
-        List<FileDto> fileDtos = fileInnerServiceSMOImpl.queryFiles(fileDto);
-        if (fileDtos == null || fileDtos.size() != 1) {
-            return "";
-        }
-
-        return fileDtos.get(0).getContext();
-    }
-}

+ 22 - 17
service-job/src/main/java/com/java110/job/task/attendance/GeneratorAttendanceTaskTemplate.java

@@ -4,6 +4,7 @@ import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.attendanceClasses.AttendanceClassesDto;
 import com.java110.dto.attendanceClasses.AttendanceClassesTaskDetailDto;
 import com.java110.dto.attendanceClasses.AttendanceClassesTaskDto;
+import com.java110.dto.attendanceClassesStaff.AttendanceClassesStaffDto;
 import com.java110.dto.org.OrgStaffRelDto;
 import com.java110.dto.scheduleClassesStaff.ScheduleClassesStaffDto;
 import com.java110.dto.scheduleClassesTime.ScheduleClassesTimeDto;
@@ -16,6 +17,7 @@ import com.java110.intf.common.IAttendanceClassesTaskInnerServiceSMO;
 import com.java110.intf.store.IOrgStaffRelV1InnerServiceSMO;
 import com.java110.intf.store.IScheduleClassesStaffV1InnerServiceSMO;
 import com.java110.intf.store.IStoreV1InnerServiceSMO;
+import com.java110.intf.user.IAttendanceClassesStaffV1InnerServiceSMO;
 import com.java110.intf.user.IUserV1InnerServiceSMO;
 import com.java110.job.quartz.TaskSystemQuartz;
 import com.java110.po.attendanceClassesTask.AttendanceClassesTaskPo;
@@ -41,6 +43,9 @@ public class GeneratorAttendanceTaskTemplate extends TaskSystemQuartz {
     @Autowired
     private IAttendanceClassesInnerServiceSMO attendanceClassesInnerServiceSMOImpl;
 
+    @Autowired
+    private IAttendanceClassesStaffV1InnerServiceSMO attendanceClassesStaffV1InnerServiceSMOImpl;
+
     @Autowired
     private IAttendanceClassesTaskInnerServiceSMO attendanceClassesTaskInnerServiceSMOImpl;
 
@@ -111,19 +116,19 @@ public class GeneratorAttendanceTaskTemplate extends TaskSystemQuartz {
 
         //查询组织 关联的员工
 
-        OrgStaffRelDto orgStaffRelDto = new OrgStaffRelDto();
-        orgStaffRelDto.setOrgId(tmpAttendanceClassesDto.getClassesObjId());
-        orgStaffRelDto.setStoreId(tmpStoreDto.getStoreId());
-        List<OrgStaffRelDto> orgStaffRelDtos = orgStaffRelV1InnerServiceSMOImpl.queryOrgStaffRels(orgStaffRelDto);
-        if (orgStaffRelDtos == null || orgStaffRelDtos.size() < 1) {
+        AttendanceClassesStaffDto attendanceClassesStaffDto = new AttendanceClassesStaffDto();
+        attendanceClassesStaffDto.setClassesId(tmpAttendanceClassesDto.getClassesId());
+        attendanceClassesStaffDto.setStoreId(tmpStoreDto.getStoreId());
+        List<AttendanceClassesStaffDto> attendanceClassesStaffs = attendanceClassesStaffV1InnerServiceSMOImpl.queryAttendanceClassesStaffs(attendanceClassesStaffDto);
+        if (attendanceClassesStaffs == null || attendanceClassesStaffs.size() < 1) {
             return;
         }
 
-        for (OrgStaffRelDto tmpOrgStaffRelDto : orgStaffRelDtos) {
+        for (AttendanceClassesStaffDto tmpAttendanceClassesStaffDto : attendanceClassesStaffs) {
             try {
-                doGeneratorStaffAttendance(tmpStoreDto, tmpAttendanceClassesDto, tmpOrgStaffRelDto);
+                doGeneratorStaffAttendance(tmpStoreDto, tmpAttendanceClassesDto, tmpAttendanceClassesStaffDto);
             } catch (Exception e) {
-                logger.error("员工生成考勤任务失败" + tmpOrgStaffRelDto.getStaffId(), e);
+                logger.error("员工生成考勤任务失败" + tmpAttendanceClassesStaffDto.getStaffId(), e);
             }
         }
     }
@@ -133,12 +138,12 @@ public class GeneratorAttendanceTaskTemplate extends TaskSystemQuartz {
      *
      * @param tmpStoreDto
      * @param tmpAttendanceClassesDto
-     * @param tmpOrgStaffRelDto
+     * @param tmpAttendanceClassesStaffDto
      */
-    private void doGeneratorStaffAttendance(StoreDto tmpStoreDto, AttendanceClassesDto tmpAttendanceClassesDto, OrgStaffRelDto tmpOrgStaffRelDto) {
+    private void doGeneratorStaffAttendance(StoreDto tmpStoreDto, AttendanceClassesDto tmpAttendanceClassesDto, AttendanceClassesStaffDto tmpAttendanceClassesStaffDto) {
 
         ScheduleClassesStaffDto scheduleClassesStaffDto = new ScheduleClassesStaffDto();
-        scheduleClassesStaffDto.setStaffId(tmpOrgStaffRelDto.getStaffId());
+        scheduleClassesStaffDto.setStaffId(tmpAttendanceClassesStaffDto.getStaffId());
         scheduleClassesStaffDto.setToday(new Date());
         scheduleClassesStaffDto = scheduleClassesStaffV1InnerServiceSMOImpl.staffIsWork(scheduleClassesStaffDto);
 
@@ -155,7 +160,7 @@ public class GeneratorAttendanceTaskTemplate extends TaskSystemQuartz {
         int day = calendar.get(Calendar.DAY_OF_MONTH);
 
         AttendanceClassesTaskDto attendanceClassesTaskDto = new AttendanceClassesTaskDto();
-        attendanceClassesTaskDto.setStaffId(tmpOrgStaffRelDto.getStaffId());
+        attendanceClassesTaskDto.setStaffId(tmpAttendanceClassesStaffDto.getStaffId());
         attendanceClassesTaskDto.setClassId(tmpAttendanceClassesDto.getClassesId());
         attendanceClassesTaskDto.setTaskYear(year + "");
         attendanceClassesTaskDto.setTaskMonth(month + "");
@@ -168,13 +173,13 @@ public class GeneratorAttendanceTaskTemplate extends TaskSystemQuartz {
         }
 
         UserDto userDto = new UserDto();
-        userDto.setUserId(tmpOrgStaffRelDto.getStaffId());
+        userDto.setUserId(tmpAttendanceClassesStaffDto.getStaffId());
         List<UserDto> userDtos = userV1InnerServiceSMOImpl.queryUsers(userDto);
         Assert.listOnlyOne(userDtos,"员工不存在");
 
 
         AttendanceClassesTaskPo attendanceClassesTaskPo = new AttendanceClassesTaskPo();
-        attendanceClassesTaskPo.setStaffId(tmpOrgStaffRelDto.getStaffId());
+        attendanceClassesTaskPo.setStaffId(tmpAttendanceClassesStaffDto.getStaffId());
         attendanceClassesTaskPo.setClassId(tmpAttendanceClassesDto.getClassesId());
         attendanceClassesTaskPo.setTaskYear(year + "");
         attendanceClassesTaskPo.setTaskMonth(month + "");
@@ -191,7 +196,7 @@ public class GeneratorAttendanceTaskTemplate extends TaskSystemQuartz {
         }
 
         for (ScheduleClassesTimeDto tmpScheduleClassesTimeDto : times) {
-            doGeneratorStaffAttendanceTime(tmpStoreDto, tmpAttendanceClassesDto, tmpOrgStaffRelDto, tmpScheduleClassesTimeDto, attendanceClassesTaskPo);
+            doGeneratorStaffAttendanceTime(tmpStoreDto, tmpAttendanceClassesDto, tmpAttendanceClassesStaffDto, tmpScheduleClassesTimeDto, attendanceClassesTaskPo);
         }
 
     }
@@ -201,10 +206,10 @@ public class GeneratorAttendanceTaskTemplate extends TaskSystemQuartz {
      *
      * @param tmpStoreDto
      * @param tmpAttendanceClassesDto
-     * @param tmpOrgStaffRelDto
+     * @param tmpAttendanceClassesStaffDto
      * @param tmpScheduleClassesTimeDto
      */
-    private void doGeneratorStaffAttendanceTime(StoreDto tmpStoreDto, AttendanceClassesDto tmpAttendanceClassesDto, OrgStaffRelDto tmpOrgStaffRelDto,
+    private void doGeneratorStaffAttendanceTime(StoreDto tmpStoreDto, AttendanceClassesDto tmpAttendanceClassesDto, AttendanceClassesStaffDto tmpAttendanceClassesStaffDto,
                                                 ScheduleClassesTimeDto tmpScheduleClassesTimeDto, AttendanceClassesTaskPo attendanceClassesTaskPo) {
 
         String curDate = DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_B);