|  |  |  | 
|---|
|  |  |  | import com.ld.igds.common.CoreSerService; | 
|---|
|  |  |  | import com.ld.igds.common.DepotStatusService; | 
|---|
|  |  |  | import com.ld.igds.common.dto.DepotSerData; | 
|---|
|  |  |  | import com.ld.igds.constant.*; | 
|---|
|  |  |  | import com.ld.igds.constant.BizType; | 
|---|
|  |  |  | import com.ld.igds.constant.DepotType; | 
|---|
|  |  |  | import com.ld.igds.constant.DeviceType; | 
|---|
|  |  |  | import com.ld.igds.constant.RespCodeEnum; | 
|---|
|  |  |  | import com.ld.igds.data.PageResponse; | 
|---|
|  |  |  | import com.ld.igds.io.RemoteControlService; | 
|---|
|  |  |  | import com.ld.igds.io.RemoteManager; | 
|---|
|  |  |  | 
|---|
|  |  |  | import com.ld.igds.util.ContextUtil; | 
|---|
|  |  |  | import com.ld.igds.verb.AreationModel; | 
|---|
|  |  |  | import com.ld.igds.verb.dto.VerbParam; | 
|---|
|  |  |  | import com.ld.igds.verb.service.CoreAreationService; | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.stereotype.Component; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | import java.util.HashMap; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Map; | 
|---|
|  |  |  | import javax.annotation.Resource; | 
|---|
|  |  |  | import java.util.*; | 
|---|
|  |  |  | import java.util.stream.Collectors; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | @Component | 
|---|
|  |  |  | public class VerbManager { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private CoreCommonService coreCommonService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private CoreDeviceService coreDeviceService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ExeOrderService exeOrderService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private RemoteManager remoteManager; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private CoreSerService coreSerService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private CoreAreationService areationService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private DepotStatusService depotCheckService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private RemoteControlService remoteControlService; | 
|---|
|  |  |  | 
|---|
|  |  |  | // 获取分机信息 | 
|---|
|  |  |  | DeviceSer deviceSer = coreSerService.getCacheSer(param.getCompanyId(), serId); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (Constant.YN_N.equals(deviceSer.getStatus())) { | 
|---|
|  |  |  | return new DeviceControlResponse( | 
|---|
|  |  |  | OrderRespEnum.ORDER_ERROR.getCode(), | 
|---|
|  |  |  | "当前设备所属控制柜[" + deviceSer.getName() + "]不在线,执行失败。"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //        if (Constant.YN_N.equals(deviceSer.getStatus())) { | 
|---|
|  |  |  | //            return new DeviceControlResponse( | 
|---|
|  |  |  | //                    OrderRespEnum.ORDER_ERROR.getCode(), | 
|---|
|  |  |  | //                    "当前设备所属控制柜[" + deviceSer.getName() + "]不在线,执行失败。"); | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | DeviceControlRequest request = new DeviceControlRequest(); | 
|---|
|  |  |  | request.setDepotId(param.getDepotId()); | 
|---|
|  |  |  | 
|---|
|  |  |  | return new DeviceControlResponse(OrderRespEnum.ORDER_ERROR.getCode(), "没有需要更新的设备信息!!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //        2023-08-31暂时禁用,使用仓库编码获取仓库所有设备的分机信息 | 
|---|
|  |  |  | //根据设备所属分机进行分组 | 
|---|
|  |  |  | Map<String, List<ExeDevice>> groupBy = param.getDeviceList().stream().collect(Collectors.groupingBy(ExeDevice::getSerId)); | 
|---|
|  |  |  | //        Map<String, List<ExeDevice>> groupBy = param.getDeviceList().stream().collect(Collectors.groupingBy(ExeDevice::getSerId)); | 
|---|
|  |  |  | //        DeviceControlResponse response = new DeviceControlResponse(OrderRespEnum.ORDER_SUCCESS.getCode(), "命令发送成功!"); | 
|---|
|  |  |  | //        DeviceSer deviceSer; | 
|---|
|  |  |  | //        DeviceControlRequest request; | 
|---|
|  |  |  | //        try { | 
|---|
|  |  |  | //            for (String serId : groupBy.keySet()) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Set<String> list = coreDeviceService.getCacheDeviceSerByDepotId(param.getCompanyId(), param.getDepotId()); | 
|---|
|  |  |  | DeviceControlResponse response = new DeviceControlResponse(OrderRespEnum.ORDER_SUCCESS.getCode(), "命令发送成功!"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | DeviceSer deviceSer; | 
|---|
|  |  |  | DeviceControlRequest request; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | for (String serId : groupBy.keySet()) { | 
|---|
|  |  |  | for (String serId : list) { | 
|---|
|  |  |  | deviceSer = coreSerService.getCacheSer(param.getCompanyId(), serId); | 
|---|
|  |  |  | if (null == deviceSer) { | 
|---|
|  |  |  | log.info("根据仓库{}获取设备状态,分机编码{}的分机不存在,取消执行。", param.getDepotId(), serId); | 
|---|