src/main/java/com/zy/asrs/entity/BasLiftErr.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/entity/BasLiftErrLog.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/mapper/BasLiftErrLogMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/mapper/BasLiftErrMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/BasLiftErrLogService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/BasLiftErrService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/BasLiftErrLogServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/BasLiftErrServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/BasLiftErrLogMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/BasLiftErrMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/entity/BasLiftErr.java
New file @@ -0,0 +1,122 @@ package com.zy.asrs.entity; import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.enums.IdType; import com.baomidou.mybatisplus.annotations.TableField; import com.core.common.SpringUtils; import com.zy.system.service.UserService; import com.zy.system.entity.User; import java.text.SimpleDateFormat; import java.util.Date; import org.springframework.format.annotation.DateTimeFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import com.baomidou.mybatisplus.annotations.TableName; import java.io.Serializable; @Data @TableName("asr_bas_lift_err") public class BasLiftErr implements Serializable { private static final long serialVersionUID = 1L; /** * 异常码 */ @ApiModelProperty(value= "异常码") @TableId(value = "error_code", type = IdType.INPUT) @TableField("error_code") private Long errorCode; /** * 异常 */ @ApiModelProperty(value= "异常") @TableField("err_name") private String errName; /** * 修改人员 */ @ApiModelProperty(value= "修改人员") @TableField("modi_user") private Long modiUser; /** * 修改时间 */ @ApiModelProperty(value= "修改时间") @TableField("modi_time") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date modiTime; /** * 添加人员 */ @ApiModelProperty(value= "添加人员") @TableField("appe_user") private Long appeUser; /** * 添加时间 */ @ApiModelProperty(value= "添加时间") @TableField("appe_time") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date appeTime; public BasLiftErr() {} public BasLiftErr(Long errorCode,String errName,Long modiUser,Date modiTime,Long appeUser,Date appeTime) { this.errorCode = errorCode; this.errName = errName; this.modiUser = modiUser; this.modiTime = modiTime; this.appeUser = appeUser; this.appeTime = appeTime; } // BasLiftErr basLiftErr = new BasLiftErr( // null, // 异常码[非空] // null, // 异常 // null, // 修改人员 // null, // 修改时间 // null, // 添加人员 // null // 添加时间 // ); public String getModiUser$(){ UserService service = SpringUtils.getBean(UserService.class); User user = service.selectById(this.modiUser); if (!Cools.isEmpty(user)){ return String.valueOf(user.getUsername()); } return null; } public String getModiTime$(){ if (Cools.isEmpty(this.modiTime)){ return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.modiTime); } public String getAppeUser$(){ UserService service = SpringUtils.getBean(UserService.class); User user = service.selectById(this.appeUser); if (!Cools.isEmpty(user)){ return String.valueOf(user.getUsername()); } return null; } public String getAppeTime$(){ if (Cools.isEmpty(this.appeTime)){ return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime); } } src/main/java/com/zy/asrs/entity/BasLiftErrLog.java
New file @@ -0,0 +1,293 @@ package com.zy.asrs.entity; import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.enums.IdType; import com.baomidou.mybatisplus.annotations.TableField; import java.text.SimpleDateFormat; import java.util.Date; import org.springframework.format.annotation.DateTimeFormat; import com.core.common.SpringUtils; import com.zy.system.service.UserService; import com.zy.system.entity.User; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import com.baomidou.mybatisplus.annotations.TableName; import java.io.Serializable; @Data @TableName("asr_bas_lift_err_log") public class BasLiftErrLog implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty(value= "") @TableId(value = "id", type = IdType.AUTO) private Long id; /** * 编号 */ @ApiModelProperty(value= "编号") private String uuid; /** * 工作号 */ @ApiModelProperty(value= "工作号") @TableField("wrk_no") private Integer wrkNo; /** * 发生时间 */ @ApiModelProperty(value= "发生时间") @TableField("start_time") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date startTime; /** * 结束时间 */ @ApiModelProperty(value= "结束时间") @TableField("end_time") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date endTime; /** * 工作状态 */ @ApiModelProperty(value= "工作状态") @TableField("wrk_sts") private Long wrkSts; /** * 入出库类型 */ @ApiModelProperty(value= "入出库类型") @TableField("io_type") private Integer ioType; /** * 提升机号 */ @ApiModelProperty(value= "提升机号") @TableField("lift_no") private Integer liftNo; /** * plc */ @ApiModelProperty(value= "plc") @TableField("plc_no") private Integer plcNo; /** * 目标库位 */ @ApiModelProperty(value= "目标库位") @TableField("loc_no") private String locNo; /** * 目标站 */ @ApiModelProperty(value= "目标站") @TableField("sta_no") private Integer staNo; /** * 源站 */ @ApiModelProperty(value= "源站") @TableField("source_sta_no") private Integer sourceStaNo; /** * 源库位 */ @ApiModelProperty(value= "源库位") @TableField("source_loc_no") private String sourceLocNo; /** * 条码 */ @ApiModelProperty(value= "条码") private String barcode; /** * 异常码 */ @ApiModelProperty(value= "异常码") @TableField("err_code") private Integer errCode; /** * 异常 */ @ApiModelProperty(value= "异常") private String error; /** * 异常情况 1: 未处理 2: 已修复 */ @ApiModelProperty(value= "异常情况 1: 未处理 2: 已修复 ") private Integer status; /** * 添加时间 */ @ApiModelProperty(value= "添加时间") @TableField("create_time") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date createTime; /** * 添加人员 */ @ApiModelProperty(value= "添加人员") @TableField("create_by") private Long createBy; /** * 修改时间 */ @ApiModelProperty(value= "修改时间") @TableField("update_time") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date updateTime; /** * 修改人员 */ @ApiModelProperty(value= "修改人员") @TableField("update_by") private Long updateBy; /** * 备注 */ @ApiModelProperty(value= "备注") private String memo; /** * 系统状态数据 */ @ApiModelProperty(value= "系统状态数据") @TableField("system_status") private String systemStatus; public BasLiftErrLog() {} public BasLiftErrLog(String uuid,Integer wrkNo,Date startTime,Date endTime,Long wrkSts,Integer ioType,Integer liftNo,Integer plcNo,String locNo,Integer staNo,Integer sourceStaNo,String sourceLocNo,String barcode,Integer errCode,String error,Integer status,Date createTime,Long createBy,Date updateTime,Long updateBy,String memo,String systemStatus) { this.uuid = uuid; this.wrkNo = wrkNo; this.startTime = startTime; this.endTime = endTime; this.wrkSts = wrkSts; this.ioType = ioType; this.liftNo = liftNo; this.plcNo = plcNo; this.locNo = locNo; this.staNo = staNo; this.sourceStaNo = sourceStaNo; this.sourceLocNo = sourceLocNo; this.barcode = barcode; this.errCode = errCode; this.error = error; this.status = status; this.createTime = createTime; this.createBy = createBy; this.updateTime = updateTime; this.updateBy = updateBy; this.memo = memo; this.systemStatus = systemStatus; } // BasLiftErrLog basLiftErrLog = new BasLiftErrLog( // null, // 编号 // null, // 工作号 // null, // 发生时间 // null, // 结束时间 // null, // 工作状态 // null, // 入出库类型 // null, // 提升机号 // null, // plc // null, // 目标库位 // null, // 目标站 // null, // 源站 // null, // 源库位 // null, // 条码 // null, // 异常码 // null, // 异常 // null, // 异常情况 // null, // 添加时间 // null, // 添加人员 // null, // 修改时间 // null, // 修改人员 // null, // 备注 // null // 系统状态数据 // ); public String getStartTime$(){ if (Cools.isEmpty(this.startTime)){ return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.startTime); } public String getEndTime$(){ if (Cools.isEmpty(this.endTime)){ return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.endTime); } public String getStatus$(){ if (null == this.status){ return null; } switch (this.status){ case 1: return "未处理"; case 2: return "已修复"; default: return String.valueOf(this.status); } } public String getCreateTime$(){ if (Cools.isEmpty(this.createTime)){ return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime); } public String getCreateBy$(){ UserService service = SpringUtils.getBean(UserService.class); User user = service.selectById(this.createBy); if (!Cools.isEmpty(user)){ return String.valueOf(user.getUsername()); } return null; } public String getUpdateTime$(){ if (Cools.isEmpty(this.updateTime)){ return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime); } public String getUpdateBy$(){ UserService service = SpringUtils.getBean(UserService.class); User user = service.selectById(this.updateBy); if (!Cools.isEmpty(user)){ return String.valueOf(user.getUsername()); } return null; } } src/main/java/com/zy/asrs/mapper/BasLiftErrLogMapper.java
New file @@ -0,0 +1,12 @@ package com.zy.asrs.mapper; import com.zy.asrs.entity.BasLiftErrLog; import com.baomidou.mybatisplus.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Repository; @Mapper @Repository public interface BasLiftErrLogMapper extends BaseMapper<BasLiftErrLog> { } src/main/java/com/zy/asrs/mapper/BasLiftErrMapper.java
New file @@ -0,0 +1,12 @@ package com.zy.asrs.mapper; import com.zy.asrs.entity.BasLiftErr; import com.baomidou.mybatisplus.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Repository; @Mapper @Repository public interface BasLiftErrMapper extends BaseMapper<BasLiftErr> { } src/main/java/com/zy/asrs/service/BasLiftErrLogService.java
New file @@ -0,0 +1,10 @@ package com.zy.asrs.service; import com.zy.asrs.entity.BasLiftErrLog; import com.baomidou.mybatisplus.service.IService; public interface BasLiftErrLogService extends IService<BasLiftErrLog> { BasLiftErrLog findLatestByTaskNo(Integer crnNo, Integer taskNo); } src/main/java/com/zy/asrs/service/BasLiftErrService.java
New file @@ -0,0 +1,8 @@ package com.zy.asrs.service; import com.zy.asrs.entity.BasLiftErr; import com.baomidou.mybatisplus.service.IService; public interface BasLiftErrService extends IService<BasLiftErr> { } src/main/java/com/zy/asrs/service/impl/BasLiftErrLogServiceImpl.java
New file @@ -0,0 +1,25 @@ package com.zy.asrs.service.impl; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.zy.asrs.entity.BasShuttleErrLog; import com.zy.asrs.mapper.BasLiftErrLogMapper; import com.zy.asrs.entity.BasLiftErrLog; import com.zy.asrs.service.BasLiftErrLogService; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import java.util.List; @Service("basLiftErrLogService") public class BasLiftErrLogServiceImpl extends ServiceImpl<BasLiftErrLogMapper, BasLiftErrLog> implements BasLiftErrLogService { @Override public BasLiftErrLog findLatestByTaskNo(Integer liftNo, Integer taskNo) { List<BasLiftErrLog> basLiftErrLogs = this.baseMapper.selectList(new EntityWrapper<BasLiftErrLog>().eq("lift_no", liftNo).eq("wrk_no", taskNo).orderBy("start_time", false)); if (basLiftErrLogs == null || basLiftErrLogs.size() == 0) { return null; } else { return basLiftErrLogs.get(0); } } } src/main/java/com/zy/asrs/service/impl/BasLiftErrServiceImpl.java
New file @@ -0,0 +1,12 @@ package com.zy.asrs.service.impl; import com.zy.asrs.mapper.BasLiftErrMapper; import com.zy.asrs.entity.BasLiftErr; import com.zy.asrs.service.BasLiftErrService; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import org.springframework.stereotype.Service; @Service("basLiftErrService") public class BasLiftErrServiceImpl extends ServiceImpl<BasLiftErrMapper, BasLiftErr> implements BasLiftErrService { } src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -69,6 +69,8 @@ @Autowired private BasShuttleErrLogService basShuttleErrLogService; @Autowired private BasLiftErrLogService basLiftErrLogService; @Autowired private BasShuttleErrService basShuttleErrService; @Autowired private BasCrnErrorMapper basCrnErrorMapper; @@ -1453,6 +1455,7 @@ public void recErr() { try { this.recShuttleErr(); this.recLiftErr(); } catch (Exception e) { News.error("recErr fail", e); } @@ -1577,6 +1580,91 @@ } } /** * 提升机异常信息记录 */ private void recLiftErr() { Date now = new Date(); for (LiftSlave liftSlave : slaveProperties.getLift()) { // 获取提升机信息 LiftThread liftThread = (LiftThread) SlaveConnection.get(SlaveType.Lift, liftSlave.getId()); if (liftThread == null) { continue; } LiftProtocol liftProtocol = liftThread.getLiftProtocol(); if (liftProtocol == null) { continue; } if (liftProtocol.getTaskNo() != 0) { //有任务 BasLiftErrLog latest = basLiftErrLogService.findLatestByTaskNo(liftSlave.getId(), liftProtocol.getTaskNo().intValue()); // 有异常 if (latest == null) { if (liftProtocol.getDeviceError() != null && liftProtocol.getDeviceError()) { WrkMast wrkMast = wrkMastMapper.selectById(liftProtocol.getTaskNo()); if (wrkMast == null) { continue; } String errName = ""; if (liftProtocol.getFrontOverrun()) { errName = "前超限"; } else if (liftProtocol.getBackOverrun()) { errName = "后超限"; } else if (liftProtocol.getLeftOverrun()) { errName = "左超限"; } else if (liftProtocol.getRightOverrun()) { errName = "右超限"; } else if (liftProtocol.getOverHeight()) { errName = "超高"; } else if (liftProtocol.getOverWeight()) { errName = "超重"; } BasLiftErrLog basLiftErrLog = new BasLiftErrLog( null, // 编号 wrkMast.getWrkNo(), // 工作号 now, // 发生时间 null, // 结束时间 wrkMast.getWrkSts(), // 工作状态 wrkMast.getIoType(), // 入出库类型 liftSlave.getId(), // 提升机 null, // plc wrkMast.getLocNo(), // 目标库位 wrkMast.getStaNo(), // 目标站 wrkMast.getSourceStaNo(), // 源站 wrkMast.getSourceLocNo(), // 源库位 wrkMast.getBarcode(), // 条码 null, // 异常码 errName, // 异常 1, // 异常情况 now, // 添加时间 null, // 添加人员 now, // 修改时间 null, // 修改人员 "任务中异常", // 备注 JSON.toJSONString(liftProtocol) // 系统状态数据 ); if (!basLiftErrLogService.insert(basLiftErrLog)) { News.error("提升机plc异常记录失败 ===>> [id:{}] [error:{}]", liftSlave.getId(), errName); } } } else { // 异常修复 if (liftProtocol.getDeviceError() == null || !liftProtocol.getDeviceError()) { latest.setEndTime(now); latest.setUpdateTime(now); latest.setStatus(2); if (!basLiftErrLogService.updateById(latest)) { News.error("提升机plc异常记录修复失败 ===>> [id:{}] [errLogId:{}]", liftSlave.getId(), latest.getId()); } } } } } } // ------------------------------------------------------------------------------- /** src/main/resources/mapper/BasLiftErrLogMapper.xml
New file @@ -0,0 +1,33 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.zy.asrs.mapper.BasLiftErrLogMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.zy.asrs.entity.BasLiftErrLog"> <id column="id" property="id" /> <result column="uuid" property="uuid" /> <result column="wrk_no" property="wrkNo" /> <result column="start_time" property="startTime" /> <result column="end_time" property="endTime" /> <result column="wrk_sts" property="wrkSts" /> <result column="io_type" property="ioType" /> <result column="lift_no" property="liftNo" /> <result column="plc_no" property="plcNo" /> <result column="loc_no" property="locNo" /> <result column="sta_no" property="staNo" /> <result column="source_sta_no" property="sourceStaNo" /> <result column="source_loc_no" property="sourceLocNo" /> <result column="barcode" property="barcode" /> <result column="err_code" property="errCode" /> <result column="error" property="error" /> <result column="status" property="status" /> <result column="create_time" property="createTime" /> <result column="create_by" property="createBy" /> <result column="update_time" property="updateTime" /> <result column="update_by" property="updateBy" /> <result column="memo" property="memo" /> <result column="system_status" property="systemStatus" /> </resultMap> </mapper> src/main/resources/mapper/BasLiftErrMapper.xml
New file @@ -0,0 +1,16 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.zy.asrs.mapper.BasLiftErrMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.zy.asrs.entity.BasLiftErr"> <result column="error_code" property="errorCode" /> <result column="err_name" property="errName" /> <result column="modi_user" property="modiUser" /> <result column="modi_time" property="modiTime" /> <result column="appe_user" property="appeUser" /> <result column="appe_time" property="appeTime" /> </resultMap> </mapper>