liurunyu
2025-03-26 b4bc05b29aa6d71072efdf39caf1808b4e69eca4
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java
@@ -12,6 +12,7 @@
import com.dy.pipIrrGlobal.command.enums.LastOperateENUM;
import com.dy.pipIrrGlobal.command.result.CommandResultCode;
import com.dy.pipIrrGlobal.daoBa.BaSettingsMapper;
import com.dy.pipIrrGlobal.daoIr.IrIntakeOperateMapper;
import com.dy.pipIrrGlobal.daoPr.PrCommonIntakesMapper;
import com.dy.pipIrrGlobal.daoPr.PrControllerMapper;
import com.dy.pipIrrGlobal.daoRm.RmCommandHistoryMapper;
@@ -34,7 +35,10 @@
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
@@ -83,6 +87,9 @@
    @Autowired
    private PrCommonIntakesMapper prCommonIntakesMapper;
    @Autowired
    private IrIntakeOperateMapper irIntakeOperateMapper;
    public static ComSupport comSupport;
@@ -279,6 +286,7 @@
        Object param = po.getParam();
        String rtuResultSendWebUrl = po.getRtuResultSendWebUrl();
        Long operator = po.getOperator();
        Byte openType = po.getOpenType();
        // 构造命令
        Command com = command(comId, commandCode, rtuAddr, protocol, rtuResultSendWebUrl, param);
@@ -306,6 +314,7 @@
            rmCommandHistory.setResult((byte) 0);
            rmCommandHistoryMapper.updateByPrimaryKeySelective(rmCommandHistory);
            //return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString());
            irIntakeOperateMapper.updateByCommandId(comId, (byte)2, response_CallBack.getMsg());
            return BaseResponseUtils.buildErrorMsg(response_CallBack.getMsg());
        }
@@ -321,6 +330,7 @@
            rmCommandHistory.setComId(comId);
            rmCommandHistory.setResult((byte) 0);
            rmCommandHistoryMapper.updateByPrimaryKeySelective(rmCommandHistory);
            irIntakeOperateMapper.updateByCommandId(comId, (byte)2, "回调超时");
            return BaseResponseUtils.buildErrorMsg(CommandResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage());
        }
@@ -352,7 +362,16 @@
            JSONObject job_param = (JSONObject) JSON.toJSON(param);
            JSONObject job_data = job_response.getJSONObject("content").getJSONObject("data");
            if(!job_data.getBoolean("success")) {
                // 开关阀失败
                // 开关阀失败,更新命令执行状态及虚拟卡状态
                rmCommandHistory = new RmCommandHistory();
                rmCommandHistory.setComId(comId);
                rmCommandHistory.setResult((byte) 0);
                rmCommandHistoryMapper.updateByPrimaryKeySelective(rmCommandHistory);
                if(openType == 1 ) {
                    irIntakeOperateMapper.updateByCommandId(comId, (byte)2, "开阀失败");
                }
                // 开阀失败则解除占用,关阀失败则占用
                if (comType != null) {
@@ -375,7 +394,16 @@
                response_CallBack.setMsg(CommandResultCode.OPEN_CLOSE_FAIL.getMessage());
                response_CallBack.setSuccess(false);
            }else {
                // 开关阀成功
                // 开关阀成功,更新命令执行状态及虚拟卡状态
                rmCommandHistory = new RmCommandHistory();
                rmCommandHistory.setComId(comId);
                rmCommandHistory.setResult((byte) 1);
                rmCommandHistoryMapper.updateByPrimaryKeySelective(rmCommandHistory);
                if(openType == 1) {
                    irIntakeOperateMapper.updateByCommandId(comId, (byte)1, null);
                }
                // 开阀成功则占用,关阀成功不占用
                if (comType != null) {