From 12c547a039b92263603f189988da9519af60e920 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期六, 09 九月 2023 08:31:46 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/entity/BasLiftErrLog.java                  |  293 ++++++++++++++++++++++++++
 src/main/resources/mapper/BasLiftErrMapper.xml                       |   16 +
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java          |   88 ++++++++
 src/main/java/com/zy/asrs/service/impl/BasLiftErrServiceImpl.java    |   12 +
 src/main/java/com/zy/asrs/entity/BasLiftErr.java                     |  122 +++++++++++
 src/main/java/com/zy/asrs/mapper/BasLiftErrMapper.java               |   12 +
 src/main/java/com/zy/asrs/mapper/BasLiftErrLogMapper.java            |   12 +
 src/main/resources/mapper/BasLiftErrLogMapper.xml                    |   33 +++
 src/main/java/com/zy/asrs/service/BasLiftErrLogService.java          |   10 
 src/main/java/com/zy/asrs/service/BasLiftErrService.java             |    8 
 src/main/java/com/zy/asrs/service/impl/BasLiftErrLogServiceImpl.java |   25 ++
 11 files changed, 631 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/BasLiftErr.java b/src/main/java/com/zy/asrs/entity/BasLiftErr.java
new file mode 100644
index 0000000..0105975
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/BasLiftErr.java
@@ -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);
+    }
+
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/BasLiftErrLog.java b/src/main/java/com/zy/asrs/entity/BasLiftErrLog.java
new file mode 100644
index 0000000..4e1e2ae
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/BasLiftErrLog.java
@@ -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;
+    }
+
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/BasLiftErrLogMapper.java b/src/main/java/com/zy/asrs/mapper/BasLiftErrLogMapper.java
new file mode 100644
index 0000000..ee2206a
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/BasLiftErrLogMapper.java
@@ -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> {
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/BasLiftErrMapper.java b/src/main/java/com/zy/asrs/mapper/BasLiftErrMapper.java
new file mode 100644
index 0000000..61916f0
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/BasLiftErrMapper.java
@@ -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> {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/BasLiftErrLogService.java b/src/main/java/com/zy/asrs/service/BasLiftErrLogService.java
new file mode 100644
index 0000000..8a06c41
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/BasLiftErrLogService.java
@@ -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);
+
+}
diff --git a/src/main/java/com/zy/asrs/service/BasLiftErrService.java b/src/main/java/com/zy/asrs/service/BasLiftErrService.java
new file mode 100644
index 0000000..8825458
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/BasLiftErrService.java
@@ -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> {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/BasLiftErrLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasLiftErrLogServiceImpl.java
new file mode 100644
index 0000000..a04ea94
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/BasLiftErrLogServiceImpl.java
@@ -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);
+        }
+    }
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/BasLiftErrServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasLiftErrServiceImpl.java
new file mode 100644
index 0000000..0440be6
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/BasLiftErrServiceImpl.java
@@ -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 {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index e47ec88..9259abd 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/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("鎻愬崌鏈簆lc寮傚父璁板綍澶辫触 ===>> [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("鎻愬崌鏈簆lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", liftSlave.getId(), latest.getId());
+                        }
+                    }
+                }
+            }
+        }
+    }
+
     // -------------------------------------------------------------------------------
 
     /**
diff --git a/src/main/resources/mapper/BasLiftErrLogMapper.xml b/src/main/resources/mapper/BasLiftErrLogMapper.xml
new file mode 100644
index 0000000..68c620f
--- /dev/null
+++ b/src/main/resources/mapper/BasLiftErrLogMapper.xml
@@ -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>
diff --git a/src/main/resources/mapper/BasLiftErrMapper.xml b/src/main/resources/mapper/BasLiftErrMapper.xml
new file mode 100644
index 0000000..e4114ab
--- /dev/null
+++ b/src/main/resources/mapper/BasLiftErrMapper.xml
@@ -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>

--
Gitblit v1.9.1