zhang
18 小时以前 c0f154bf627e355b2a1b5e89c41ae391b3b7e2a6
修改报警记录方式
8个文件已修改
91 ■■■■ 已修改文件
version/db/new.sql 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AgvDataService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/FaultProcessor.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/VehFaultRec.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/mapper/VehFaultRecMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/VehFaultRecService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/VehFaultRecServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/resources/mapper/manager/VehFaultRecMapper.xml 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
version/db/new.sql
@@ -108,3 +108,7 @@
alter table sys_user_login
    change system system_name varchar(255) null comment '登录系统';
ALTER TABLE `rcs_ctu_stable`.`man_veh_fault_rec`
    ADD COLUMN `code` varchar(255) NULL COMMENT '地码' AFTER `fault_data`;
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AgvDataService.java
@@ -143,6 +143,7 @@
            assert detail.getErrorTime() != null;
            if (DateUtils.diffToSeconds(detail.getErrorTime(), now) > 10) {
                detail.setError(MapDataConstant.EMPTY_OF_ERROR);
                faultProcessor.reset(agvId);
            }
        }
        if (!agvDetailService.updateById(detail)) {
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/FaultProcessor.java
@@ -47,20 +47,29 @@
            Long agvId = agvService.getAgvId(vehicle);
            VehFaultRec vehFaultRec = new VehFaultRec();
            vehFaultRec.setUuid(String.valueOf(snowflakeIdWorker.nextId()).substring(3));
            vehFaultRec.setAgvId(agvId);
            vehFaultRec.setFaultNo(String.valueOf(agv_04_up.getFaultId()));
            vehFaultRec.setFaultHex(agv_04_up.getHexFaultId());
            vehFaultRec.setFaultName(null != errorType ? errorType.desc : "undefined");
            vehFaultRec.setFaultLev(agv_04_up.getFaultLevel());
            vehFaultRec.setFaultData(GsonUtils.toJson(Cools.add("data1", agv_04_up.getData1()).add("data2", agv_04_up.getData2())));
            vehFaultRec.setHappenTime(new Date());
            vehFaultRec.setProtocol(RadixTools.bytesToHexStr(agv_04_up.writeToBytes()));
            vehFaultRec.setState(VehFaultRecStateType.PENDING.name());
            VehFaultRec vehFaultRec = vehFaultRecService.getTopVehFaultRec(agvId, String.valueOf(agv_04_up.getFaultId()));
            if (null == vehFaultRec) {
                vehFaultRec = new VehFaultRec();
                vehFaultRec.setUuid(String.valueOf(snowflakeIdWorker.nextId()).substring(3));
                vehFaultRec.setAgvId(agvId);
                vehFaultRec.setFaultNo(String.valueOf(agv_04_up.getFaultId()));
                vehFaultRec.setFaultHex(agv_04_up.getHexFaultId());
                vehFaultRec.setFaultName(null != errorType ? errorType.desc : "undefined");
                vehFaultRec.setFaultLev(agv_04_up.getFaultLevel());
                vehFaultRec.setFaultData(GsonUtils.toJson(Cools.add("data1", agv_04_up.getData1()).add("data2", agv_04_up.getData2())));
                vehFaultRec.setHappenTime(new Date());
                vehFaultRec.setProtocol(RadixTools.bytesToHexStr(agv_04_up.writeToBytes()));
                vehFaultRec.setState(VehFaultRecStateType.PENDING.name());
                vehFaultRec.setCode(agv_04_up.getQrCode());
            if (!vehFaultRecService.save(vehFaultRec)) {
                News.error("{}号车辆故障!记录故障信息失败......", dto.getVehicle());
                if (!vehFaultRecService.save(vehFaultRec)) {
                    log.error("{}号车辆故障!记录故障信息失败......", dto.getVehicle());
                }
            } else {
                vehFaultRec.setUpdateTime(new Date());
                if (!vehFaultRecService.updateById(vehFaultRec)) {
                    log.error("{}号车辆故障!更新故障信息失败......", dto.getVehicle());
                }
            }
        } catch (Exception e) {
@@ -68,4 +77,10 @@
        }
    }
    @Async
    public void reset(Long agvId) {
        vehFaultRecService.resetError(agvId);
    }
}
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/entity/VehFaultRec.java
@@ -78,6 +78,11 @@
     */
    @ApiModelProperty(value= "故障类型")
    private String type;
    /**
     * 地面码
     */
    @ApiModelProperty(value= "地面码")
    private String code;
    /**
     * 原始报文
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/mapper/VehFaultRecMapper.java
@@ -5,4 +5,8 @@
public interface VehFaultRecMapper extends BaseMapper<VehFaultRec> {
    VehFaultRec getTopVehFaultRec(Long agvId, String faultNo);
    int resetError(Long agvId);
}
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/VehFaultRecService.java
@@ -5,4 +5,9 @@
public interface VehFaultRecService extends IService<VehFaultRec> {
    VehFaultRec getTopVehFaultRec(Long agvId, String faultNo);
    int resetError(Long agvId);
}
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/VehFaultRecServiceImpl.java
@@ -9,4 +9,16 @@
@Service("vehFaultRecService")
public class VehFaultRecServiceImpl extends ServiceImpl<VehFaultRecMapper, VehFaultRec> implements VehFaultRecService {
    @Override
    public VehFaultRec getTopVehFaultRec(Long agvId, String faultNo) {
        return baseMapper.getTopVehFaultRec(agvId, faultNo);
    }
    @Override
    public int resetError(Long agvId) {
        return baseMapper.resetError(agvId);
    }
}
zy-acs-manager/src/main/resources/mapper/manager/VehFaultRecMapper.xml
@@ -23,4 +23,23 @@
        </where>
    </sql>
    <update id="resetError">
        UPDATE man_veh_fault_rec
        SET reset_time = now(),
            duration = (UNIX_TIMESTAMP(reset_time) - UNIX_TIMESTAMP(happen_time))
        WHERE agv_id = #{agvId}
          and reset_time is null
    </update>
    <select id="getTopVehFaultRec" resultType="com.zy.acs.manager.manager.entity.VehFaultRec">
        SELECT *
        FROM man_veh_fault_rec
        WHERE agv_id = #{agvId}
          and fault_no = #{faultNo}
          and reset_time is null
        ORDER BY happen_time DESC LIMIT 1
    </select>
</mapper>