package com.ld.igds.protocol.fzzy.builder; import com.ld.igds.constant.Constant; import com.ld.igds.io.request.DeviceAutoControlRequest; import com.ld.igds.io.request.DeviceControlRequest; import com.ld.igds.protocol.fzzy.ServerUtils; import com.ld.igds.protocol.fzzy.dto.MessageInfo; import com.ld.igds.protocol.fzzy.dto.SendMessage; import com.ld.igds.protocol.fzzy.req.Request3102; import com.ld.igds.protocol.fzzy.req.Request3300; /** * 平台发起自动气调 */ public class N2AutoCommandBuilder extends CommandBuilder { private final static N2AutoCommandBuilder instance = new N2AutoCommandBuilder(); private N2AutoCommandBuilder() { } public static N2AutoCommandBuilder getInstance() { return instance; } public SendMessage buildMessage(DeviceAutoControlRequest request) { SendMessage message = new SendMessage(); message.setIp(request.getIp()); message.setPort(request.getPort()); message.setBegin(ServerUtils.MSG_BEGIN); // 调整信息 buildInfo(message, request); message.setEnd(ServerUtils.MSG_END); // 生成整体命令信息和BYte信息 build(message); return message; } public void buildInfo(SendMessage message, DeviceAutoControlRequest request) { MessageInfo info = new MessageInfo(); info.setSign(request.getCompanyId()); info.setIedId(request.getSerId()); info.setFunctionId(ServerUtils.FUNCTION_3301); info.setRespCode("0000"); info.setOrderId(request.getOrderId()); info.setUserData("0"); info.setSign("0000"); Request3300 sendReq = new Request3300(); sendReq.setHouseId(request.getDepotId()); sendReq.setMode(ServerUtils.P2CN2Mode(request.getModeTag())); sendReq.setStatus("1"); if (Constant.YN_Y.equals(request.getModeClose())) { sendReq.setStatus("2"); } info.setContent(sendReq); message.setInfo(info); } }