From ae42d2da37fe9d161e7058b51367b95f24c3d97a Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 13 六月 2023 15:11:36 +0800
Subject: [PATCH] optimize

---
 service-common/src/main/java/com/java110/common/cmd/machine/ListMachinesCmd.java |  163 ++++++------------------------------------------------
 1 files changed, 19 insertions(+), 144 deletions(-)

diff --git a/service-common/src/main/java/com/java110/common/cmd/machine/ListMachinesCmd.java b/service-common/src/main/java/com/java110/common/cmd/machine/ListMachinesCmd.java
index 4ca854d..b269795 100644
--- a/service-common/src/main/java/com/java110/common/cmd/machine/ListMachinesCmd.java
+++ b/service-common/src/main/java/com/java110/common/cmd/machine/ListMachinesCmd.java
@@ -22,10 +22,12 @@
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.core.log.LoggerFactory;
 import com.java110.dto.RoomDto;
+import com.java110.dto.attendanceClasses.AttendanceClassesDto;
 import com.java110.dto.community.CommunityDto;
 import com.java110.dto.community.CommunityLocationDto;
 import com.java110.dto.machine.MachineDto;
 import com.java110.dto.unit.FloorAndUnitDto;
+import com.java110.intf.common.IAttendanceClassesV1InnerServiceSMO;
 import com.java110.intf.common.IMachineInnerServiceSMO;
 import com.java110.intf.community.*;
 import com.java110.utils.exception.CmdException;
@@ -77,6 +79,9 @@
 
     @Autowired
     private ICommunityLocationInnerServiceSMO communityLocationInnerServiceSMOImpl;
+
+    @Autowired
+    private IAttendanceClassesV1InnerServiceSMO attendanceClassesV1InnerServiceSMOImpl;
 
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
@@ -148,23 +153,22 @@
         }
     }
 
-    private void refreshMachines(List<MachineDto> machines) {
-
-        //鎵归噺澶勭悊 灏忓尯
-        refreshCommunitys(machines);
-
-        //鎵归噺澶勭悊鍗曞厓淇℃伅
-        refreshUnits(machines);
-
-        //鎵归噺澶勭悊 鎴垮眿淇℃伅
-        refreshRooms(machines);
-
-        //浣嶇疆鏈垎閰嶆椂
-        refreshOther(machines);
-
-    }
 
     private void getMachineLocation(MachineDto machineDto) {
+
+        if (MachineDto.MACHINE_TYPE_ATTENDANCE.equals(machineDto.getMachineTypeCd())) {
+            AttendanceClassesDto attendanceClassesDto = new AttendanceClassesDto();
+            attendanceClassesDto.setClassesId(machineDto.getLocationObjId());
+            List<AttendanceClassesDto> attendanceClassesDtos = attendanceClassesV1InnerServiceSMOImpl.queryAttendanceClassess(attendanceClassesDto);
+            if (attendanceClassesDtos == null || attendanceClassesDtos.size() < 1) {
+                machineDto.setLocationType(machineDto.getLocationTypeCd());
+                return;
+            }
+
+            machineDto.setLocationType(attendanceClassesDtos.get(0).getClassesId());
+            machineDto.setLocationObjName(attendanceClassesDtos.get(0).getClassesName());
+            return;
+        }
 
         CommunityLocationDto communityLocationDto = new CommunityLocationDto();
         communityLocationDto.setCommunityId(machineDto.getCommunityId());
@@ -180,133 +184,4 @@
         machineDto.setLocationObjName(communityLocationDtos.get(0).getLocationName());
     }
 
-    /**
-     * 鑾峰彇鎵归噺灏忓尯
-     *
-     * @param machines 璁惧淇℃伅
-     * @return 鎵归噺userIds 淇℃伅
-     */
-    private void refreshCommunitys(List<MachineDto> machines) {
-        List<String> communityIds = new ArrayList<String>();
-        List<MachineDto> tmpMachineDtos = new ArrayList<>();
-        for (MachineDto machineDto : machines) {
-            getMachineLocation(machineDto);
-            if (!"2000".equals(machineDto.getLocationType())
-                    && !"3000".equals(machineDto.getLocationType())
-                    && !"4000".equals(machineDto.getLocationType())
-            ) {
-                communityIds.add(machineDto.getLocationObjId());
-                tmpMachineDtos.add(machineDto);
-            }
-        }
-
-        if (communityIds.size() < 1) {
-            return;
-        }
-        String[] tmpCommunityIds = communityIds.toArray(new String[communityIds.size()]);
-
-        CommunityDto communityDto = new CommunityDto();
-        communityDto.setCommunityIds(tmpCommunityIds);
-        //鏍规嵁 userId 鏌ヨ鐢ㄦ埛淇℃伅
-        List<CommunityDto> communityDtos = communityInnerServiceSMOImpl.queryCommunitys(communityDto);
-
-        for (MachineDto machineDto : tmpMachineDtos) {
-            for (CommunityDto tmpCommunityDto : communityDtos) {
-                if (machineDto.getLocationObjId().equals(tmpCommunityDto.getCommunityId())) {
-                    machineDto.setLocationObjName(tmpCommunityDto.getName() + " " + machineDto.getLocationTypeName());
-                }
-            }
-        }
-    }
-
-
-    /**
-     * 鑾峰彇鎵归噺鍗曞厓
-     *
-     * @param machines 璁惧淇℃伅
-     * @return 鎵归噺userIds 淇℃伅
-     */
-    private void refreshUnits(List<MachineDto> machines) {
-        List<String> unitIds = new ArrayList<String>();
-        List<MachineDto> tmpMachineDtos = new ArrayList<>();
-        for (MachineDto machineDto : machines) {
-            getMachineLocation(machineDto);
-            if ("2000".equals(machineDto.getLocationType())) {
-                unitIds.add(machineDto.getLocationObjId());
-                tmpMachineDtos.add(machineDto);
-            }
-        }
-
-        if (unitIds.size() < 1) {
-            return;
-        }
-        String[] tmpUnitIds = unitIds.toArray(new String[unitIds.size()]);
-
-        FloorAndUnitDto floorAndUnitDto = new FloorAndUnitDto();
-        floorAndUnitDto.setUnitIds(tmpUnitIds);
-        //鏍规嵁 userId 鏌ヨ鐢ㄦ埛淇℃伅
-        List<FloorAndUnitDto> unitDtos = unitInnerServiceSMOImpl.getFloorAndUnitInfo(floorAndUnitDto);
-
-        for (MachineDto machineDto : tmpMachineDtos) {
-            for (FloorAndUnitDto tmpUnitDto : unitDtos) {
-                if (machineDto.getLocationObjId().equals(tmpUnitDto.getUnitId())) {
-                    machineDto.setLocationObjName(tmpUnitDto.getFloorNum() + "鏍�" + tmpUnitDto.getUnitNum() + "鍗曞厓");
-                    BeanConvertUtil.covertBean(tmpUnitDto, machineDto);
-                }
-            }
-        }
-    }
-
-    /**
-     * 鑾峰彇鎵归噺鍗曞厓
-     *
-     * @param machines 璁惧淇℃伅
-     * @return 鎵归噺userIds 淇℃伅
-     */
-    private void refreshRooms(List<MachineDto> machines) {
-        List<String> roomIds = new ArrayList<String>();
-        List<MachineDto> tmpMachineDtos = new ArrayList<>();
-        for (MachineDto machineDto : machines) {
-            getMachineLocation(machineDto);
-            if ("3000".equals(machineDto.getLocationType())) {
-                roomIds.add(machineDto.getLocationObjId());
-                tmpMachineDtos.add(machineDto);
-            }
-        }
-        if (roomIds.size() < 1) {
-            return;
-        }
-        String[] tmpRoomIds = roomIds.toArray(new String[roomIds.size()]);
-
-        RoomDto roomDto = new RoomDto();
-        roomDto.setRoomIds(tmpRoomIds);
-        roomDto.setCommunityId(machines.get(0).getCommunityId());
-        //鏍规嵁 userId 鏌ヨ鐢ㄦ埛淇℃伅
-        List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
-
-        for (MachineDto machineDto : tmpMachineDtos) {
-            for (RoomDto tmpRoomDto : roomDtos) {
-                if (machineDto.getLocationObjId().equals(tmpRoomDto.getRoomId())) {
-                    machineDto.setLocationObjName(tmpRoomDto.getFloorNum() + "鏍�" + tmpRoomDto.getUnitNum() + "鍗曞厓" + tmpRoomDto.getRoomNum() + "瀹�");
-                    BeanConvertUtil.covertBean(tmpRoomDto, machineDto);
-                }
-            }
-        }
-    }
-
-    /**
-     * 鑾峰彇鎵归噺鍗曞厓
-     *
-     * @param machines 璁惧淇℃伅
-     * @return 鎵归噺userIds 淇℃伅
-     */
-    private void refreshOther(List<MachineDto> machines) {
-        for (MachineDto machineDto : machines) {
-
-            if ("4000".equals(machineDto.getLocationTypeCd())) {
-                machineDto.setLocationObjName("鏈垎閰�");
-            }
-        }
-
-    }
 }

--
Gitblit v1.8.0