From 82fd6513c1821b6112a50a8b507ba472d2795cdc Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 22 十二月 2020 15:47:08 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/BasErrLogService.java | 12
src/main/java/com/zy/core/thread/SiemensCrnThread.java | 23 +
src/main/java/com/zy/asrs/service/impl/BasErrLogServiceImpl.java | 34 ++
src/main/java/com/zy/asrs/entity/BasCrnOpt.java | 334 +++++++++++++++++++
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 112 ++++++
src/main/java/com/zy/asrs/mapper/BasCrnOptMapper.java | 12
src/main/java/com/zy/asrs/service/BasCrnOptService.java | 8
src/main/java/com/zy/asrs/entity/BasErrLog.java | 456 ++++++++++++++++++++++++++
src/main/java/com/zy/asrs/service/impl/BasCrnOptServiceImpl.java | 12
src/main/java/com/zy/asrs/mapper/BasErrLogMapper.java | 12
10 files changed, 1,015 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/BasCrnOpt.java b/src/main/java/com/zy/asrs/entity/BasCrnOpt.java
new file mode 100644
index 0000000..ed98925
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/BasCrnOpt.java
@@ -0,0 +1,334 @@
+package com.zy.asrs.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import com.core.common.Cools;
+import com.core.common.SpringUtils;
+import com.zy.system.entity.User;
+import com.zy.system.service.UserService;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+@TableName("asr_bas_crn_opt")
+public class BasCrnOpt implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * ID
+ */
+ @ApiModelProperty(value= "ID")
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 浠诲姟鍙�
+ */
+ @ApiModelProperty(value= "浠诲姟鍙�")
+ @TableField("wrk_no")
+ private Integer wrkNo;
+
+ /**
+ * 鍫嗗灈鏈�
+ */
+ @ApiModelProperty(value= "鍫嗗灈鏈�")
+ @TableField("crn_no")
+ private Integer crnNo;
+
+ /**
+ * 涓嬪彂鏃堕棿
+ */
+ @ApiModelProperty(value= "涓嬪彂鏃堕棿")
+ @TableField("send_time")
+ private Date sendTime;
+
+ /**
+ * 妯″紡
+ */
+ @ApiModelProperty(value= "妯″紡")
+ private String mode;
+
+ /**
+ * 婧愭帓
+ */
+ @ApiModelProperty(value= "婧愭帓")
+ @TableField("source_row")
+ private Integer sourceRow;
+
+ /**
+ * 婧愬垪
+ */
+ @ApiModelProperty(value= "婧愬垪")
+ @TableField("source_bay")
+ private Integer sourceBay;
+
+ /**
+ * 婧愬眰
+ */
+ @ApiModelProperty(value= "婧愬眰")
+ @TableField("source_lev")
+ private Integer sourceLev;
+
+ /**
+ * 婧愮珯
+ */
+ @ApiModelProperty(value= "婧愮珯")
+ @TableField("source_sta")
+ private Integer sourceSta;
+
+ /**
+ * 鐩爣鎺�
+ */
+ @ApiModelProperty(value= "鐩爣鎺�")
+ @TableField("pos_row")
+ private Integer posRow;
+
+ /**
+ * 鐩爣鍒�
+ */
+ @ApiModelProperty(value= "鐩爣鍒�")
+ @TableField("pos_bay")
+ private Integer posBay;
+
+ /**
+ * 鐩爣灞�
+ */
+ @ApiModelProperty(value= "鐩爣灞�")
+ @TableField("pos_lev")
+ private Integer posLev;
+
+ /**
+ * 鐩爣绔�
+ */
+ @ApiModelProperty(value= "鐩爣绔�")
+ @TableField("pos_sta")
+ private Integer posSta;
+
+ /**
+ * 鍝嶅簲缁撴灉 1: 姝e父 0: 澶辫触
+ */
+ @ApiModelProperty(value= "鍝嶅簲缁撴灉 1: 姝e父 0: 澶辫触 ")
+ private Integer response;
+
+ /**
+ * 淇敼鏃堕棿
+ */
+ @ApiModelProperty(value= "淇敼鏃堕棿")
+ @TableField("update_time")
+ private Date updateTime;
+
+ /**
+ * 淇敼浜哄憳
+ */
+ @ApiModelProperty(value= "淇敼浜哄憳")
+ @TableField("update_by")
+ private Long updateBy;
+
+ public BasCrnOpt() {}
+
+ public BasCrnOpt(Integer wrkNo,Integer crnNo,Date sendTime,String mode,Integer sourceRow,Integer sourceBay,Integer sourceLev,Integer sourceSta,Integer posRow,Integer posBay,Integer posLev,Integer posSta,Integer response,Date updateTime,Long updateBy) {
+ this.wrkNo = wrkNo;
+ this.crnNo = crnNo;
+ this.sendTime = sendTime;
+ this.mode = mode;
+ this.sourceRow = sourceRow;
+ this.sourceBay = sourceBay;
+ this.sourceLev = sourceLev;
+ this.sourceSta = sourceSta;
+ this.posRow = posRow;
+ this.posBay = posBay;
+ this.posLev = posLev;
+ this.posSta = posSta;
+ this.response = response;
+ this.updateTime = updateTime;
+ this.updateBy = updateBy;
+ }
+
+// BasCrnOpt basCrnOpt = new BasCrnOpt(
+// null, // 浠诲姟鍙�
+// null, // 鍫嗗灈鏈篬闈炵┖]
+// null, // 涓嬪彂鏃堕棿
+// null, // 妯″紡
+// null, // 婧愭帓
+// null, // 婧愬垪
+// null, // 婧愬眰
+// null, // 婧愮珯
+// null, // 鐩爣鎺�
+// null, // 鐩爣鍒�
+// null, // 鐩爣灞�
+// null, // 鐩爣绔�
+// null, // 鍝嶅簲缁撴灉
+// null, // 淇敼鏃堕棿
+// null // 淇敼浜哄憳
+// );
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public Integer getWrkNo() {
+ return wrkNo;
+ }
+
+ public void setWrkNo(Integer wrkNo) {
+ this.wrkNo = wrkNo;
+ }
+
+ public Integer getCrnNo() {
+ return crnNo;
+ }
+
+ public void setCrnNo(Integer crnNo) {
+ this.crnNo = crnNo;
+ }
+
+ public Date getSendTime() {
+ return sendTime;
+ }
+
+ public String getSendTime$(){
+ if (Cools.isEmpty(this.sendTime)){
+ return "";
+ }
+ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.sendTime);
+ }
+
+ public void setSendTime(Date sendTime) {
+ this.sendTime = sendTime;
+ }
+
+ public String getMode() {
+ return mode;
+ }
+
+ public void setMode(String mode) {
+ this.mode = mode;
+ }
+
+ public Integer getSourceRow() {
+ return sourceRow;
+ }
+
+ public void setSourceRow(Integer sourceRow) {
+ this.sourceRow = sourceRow;
+ }
+
+ public Integer getSourceBay() {
+ return sourceBay;
+ }
+
+ public void setSourceBay(Integer sourceBay) {
+ this.sourceBay = sourceBay;
+ }
+
+ public Integer getSourceLev() {
+ return sourceLev;
+ }
+
+ public void setSourceLev(Integer sourceLev) {
+ this.sourceLev = sourceLev;
+ }
+
+ public Integer getSourceSta() {
+ return sourceSta;
+ }
+
+ public void setSourceSta(Integer sourceSta) {
+ this.sourceSta = sourceSta;
+ }
+
+ public Integer getPosRow() {
+ return posRow;
+ }
+
+ public void setPosRow(Integer posRow) {
+ this.posRow = posRow;
+ }
+
+ public Integer getPosBay() {
+ return posBay;
+ }
+
+ public void setPosBay(Integer posBay) {
+ this.posBay = posBay;
+ }
+
+ public Integer getPosLev() {
+ return posLev;
+ }
+
+ public void setPosLev(Integer posLev) {
+ this.posLev = posLev;
+ }
+
+ public Integer getPosSta() {
+ return posSta;
+ }
+
+ public void setPosSta(Integer posSta) {
+ this.posSta = posSta;
+ }
+
+ public Integer getResponse() {
+ return response;
+ }
+
+ public String getResponse$(){
+ if (null == this.response){ return null; }
+ switch (this.response){
+ case 1:
+ return "姝e父";
+ case 0:
+ return "澶辫触";
+ default:
+ return String.valueOf(this.response);
+ }
+ }
+
+ public void setResponse(Integer response) {
+ this.response = response;
+ }
+
+ public Date getUpdateTime() {
+ return updateTime;
+ }
+
+ public String getUpdateTime$(){
+ if (Cools.isEmpty(this.updateTime)){
+ return "";
+ }
+ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
+ }
+
+ public void setUpdateTime(Date updateTime) {
+ this.updateTime = updateTime;
+ }
+
+ public Long getUpdateBy() {
+ return updateBy;
+ }
+
+ 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;
+ }
+
+ public void setUpdateBy(Long updateBy) {
+ this.updateBy = updateBy;
+ }
+
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/BasErrLog.java b/src/main/java/com/zy/asrs/entity/BasErrLog.java
new file mode 100644
index 0000000..f135e6b
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/BasErrLog.java
@@ -0,0 +1,456 @@
+package com.zy.asrs.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import com.core.common.Cools;
+import com.core.common.SpringUtils;
+import com.zy.system.entity.User;
+import com.zy.system.service.UserService;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+@TableName("asr_bas_err_log")
+public class BasErrLog implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * ID
+ */
+ @ApiModelProperty(value= "ID")
+ @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")
+ private Date startTime;
+
+ /**
+ * 缁撴潫鏃堕棿
+ */
+ @ApiModelProperty(value= "缁撴潫鏃堕棿")
+ @TableField("end_time")
+ private Date endTime;
+
+ /**
+ * 宸ヤ綔鐘舵��
+ */
+ @ApiModelProperty(value= "宸ヤ綔鐘舵��")
+ @TableField("wrk_sts")
+ private Long wrkSts;
+
+ /**
+ * 鍏ュ嚭搴撶被鍨�
+ */
+ @ApiModelProperty(value= "鍏ュ嚭搴撶被鍨�")
+ @TableField("io_type")
+ private Integer ioType;
+
+ /**
+ * 鍫嗗灈鏈�
+ */
+ @ApiModelProperty(value= "鍫嗗灈鏈�")
+ @TableField("crn_no")
+ private Integer crnNo;
+
+ /**
+ * 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")
+ private Date createTime;
+
+ /**
+ * 娣诲姞浜哄憳
+ */
+ @ApiModelProperty(value= "娣诲姞浜哄憳")
+ @TableField("create_by")
+ private Long createBy;
+
+ /**
+ * 淇敼鏃堕棿
+ */
+ @ApiModelProperty(value= "淇敼鏃堕棿")
+ @TableField("update_time")
+ private Date updateTime;
+
+ /**
+ * 淇敼浜哄憳
+ */
+ @ApiModelProperty(value= "淇敼浜哄憳")
+ @TableField("update_by")
+ private Long updateBy;
+
+ /**
+ * 澶囨敞
+ */
+ @ApiModelProperty(value= "澶囨敞")
+ private String memo;
+
+ public BasErrLog() {}
+
+ public BasErrLog(String uuid,Integer wrkNo,Date startTime,Date endTime,Long wrkSts,Integer ioType,Integer crnNo,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) {
+ this.uuid = uuid;
+ this.wrkNo = wrkNo;
+ this.startTime = startTime;
+ this.endTime = endTime;
+ this.wrkSts = wrkSts;
+ this.ioType = ioType;
+ this.crnNo = crnNo;
+ 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;
+ }
+
+// BasErrLog basErrLog = new BasErrLog(
+// null, // 缂栧彿
+// null, // 宸ヤ綔鍙�
+// null, // 鍙戠敓鏃堕棿
+// null, // 缁撴潫鏃堕棿
+// null, // 宸ヤ綔鐘舵��
+// null, // 鍏ュ嚭搴撶被鍨�
+// null, // 鍫嗗灈鏈�
+// null, // plc
+// null, // 鐩爣搴撲綅
+// null, // 鐩爣绔�
+// null, // 婧愮珯
+// null, // 婧愬簱浣�
+// null, // 鏉$爜
+// null, // 寮傚父鐮�
+// null, // 寮傚父
+// null, // 寮傚父鎯呭喌
+// null, // 娣诲姞鏃堕棿
+// null, // 娣诲姞浜哄憳
+// null, // 淇敼鏃堕棿
+// null, // 淇敼浜哄憳
+// null // 澶囨敞
+// );
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getUuid() {
+ return uuid;
+ }
+
+ public void setUuid(String uuid) {
+ this.uuid = uuid;
+ }
+
+ public Integer getWrkNo() {
+ return wrkNo;
+ }
+
+ public void setWrkNo(Integer wrkNo) {
+ this.wrkNo = wrkNo;
+ }
+
+ public Date getStartTime() {
+ return startTime;
+ }
+
+ public String getStartTime$(){
+ if (Cools.isEmpty(this.startTime)){
+ return "";
+ }
+ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.startTime);
+ }
+
+ public void setStartTime(Date startTime) {
+ this.startTime = startTime;
+ }
+
+ public Date getEndTime() {
+ return endTime;
+ }
+
+ public String getEndTime$(){
+ if (Cools.isEmpty(this.endTime)){
+ return "";
+ }
+ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.endTime);
+ }
+
+ public void setEndTime(Date endTime) {
+ this.endTime = endTime;
+ }
+
+ public Long getWrkSts() {
+ return wrkSts;
+ }
+
+ public void setWrkSts(Long wrkSts) {
+ this.wrkSts = wrkSts;
+ }
+
+ public Integer getIoType() {
+ return ioType;
+ }
+
+ public void setIoType(Integer ioType) {
+ this.ioType = ioType;
+ }
+
+ public Integer getCrnNo() {
+ return crnNo;
+ }
+
+ public void setCrnNo(Integer crnNo) {
+ this.crnNo = crnNo;
+ }
+
+ public Integer getPlcNo() {
+ return plcNo;
+ }
+
+ public void setPlcNo(Integer plcNo) {
+ this.plcNo = plcNo;
+ }
+
+ public String getLocNo() {
+ return locNo;
+ }
+
+ public void setLocNo(String locNo) {
+ this.locNo = locNo;
+ }
+
+ public Integer getStaNo() {
+ return staNo;
+ }
+
+ public void setStaNo(Integer staNo) {
+ this.staNo = staNo;
+ }
+
+ public Integer getSourceStaNo() {
+ return sourceStaNo;
+ }
+
+ public void setSourceStaNo(Integer sourceStaNo) {
+ this.sourceStaNo = sourceStaNo;
+ }
+
+ public String getSourceLocNo() {
+ return sourceLocNo;
+ }
+
+ public void setSourceLocNo(String sourceLocNo) {
+ this.sourceLocNo = sourceLocNo;
+ }
+
+ public String getBarcode() {
+ return barcode;
+ }
+
+ public void setBarcode(String barcode) {
+ this.barcode = barcode;
+ }
+
+ public Integer getErrCode() {
+ return errCode;
+ }
+
+ public void setErrCode(Integer errCode) {
+ this.errCode = errCode;
+ }
+
+ public String getError() {
+ return error;
+ }
+
+ public void setError(String error) {
+ this.error = error;
+ }
+
+ public Integer getStatus() {
+ return status;
+ }
+
+ 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 void setStatus(Integer status) {
+ this.status = status;
+ }
+
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ public String getCreateTime$(){
+ if (Cools.isEmpty(this.createTime)){
+ return "";
+ }
+ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
+ }
+
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ public Long getCreateBy() {
+ return createBy;
+ }
+
+ 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 void setCreateBy(Long createBy) {
+ this.createBy = createBy;
+ }
+
+ public Date getUpdateTime() {
+ return updateTime;
+ }
+
+ public String getUpdateTime$(){
+ if (Cools.isEmpty(this.updateTime)){
+ return "";
+ }
+ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
+ }
+
+ public void setUpdateTime(Date updateTime) {
+ this.updateTime = updateTime;
+ }
+
+ public Long getUpdateBy() {
+ return updateBy;
+ }
+
+ 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;
+ }
+
+ public void setUpdateBy(Long updateBy) {
+ this.updateBy = updateBy;
+ }
+
+ public String getMemo() {
+ return memo;
+ }
+
+ public void setMemo(String memo) {
+ this.memo = memo;
+ }
+
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/BasCrnOptMapper.java b/src/main/java/com/zy/asrs/mapper/BasCrnOptMapper.java
new file mode 100644
index 0000000..744c664
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/BasCrnOptMapper.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.mapper;
+
+import com.zy.asrs.entity.BasCrnOpt;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface BasCrnOptMapper extends BaseMapper<BasCrnOpt> {
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/BasErrLogMapper.java b/src/main/java/com/zy/asrs/mapper/BasErrLogMapper.java
new file mode 100644
index 0000000..cd49855
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/BasErrLogMapper.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.mapper;
+
+import com.zy.asrs.entity.BasErrLog;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface BasErrLogMapper extends BaseMapper<BasErrLog> {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/BasCrnOptService.java b/src/main/java/com/zy/asrs/service/BasCrnOptService.java
new file mode 100644
index 0000000..7538c73
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/BasCrnOptService.java
@@ -0,0 +1,8 @@
+package com.zy.asrs.service;
+
+import com.zy.asrs.entity.BasCrnOpt;
+import com.baomidou.mybatisplus.service.IService;
+
+public interface BasCrnOptService extends IService<BasCrnOpt> {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/BasErrLogService.java b/src/main/java/com/zy/asrs/service/BasErrLogService.java
new file mode 100644
index 0000000..3c335c1
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/BasErrLogService.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.service;
+
+import com.zy.asrs.entity.BasErrLog;
+import com.baomidou.mybatisplus.service.IService;
+
+public interface BasErrLogService extends IService<BasErrLog> {
+
+ BasErrLog findLatestByTaskNo(Integer crnNo, Integer taskNo);
+
+ BasErrLog findLatest(Integer crnNo);
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/BasCrnOptServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasCrnOptServiceImpl.java
new file mode 100644
index 0000000..299afa8
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/BasCrnOptServiceImpl.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.service.impl;
+
+import com.zy.asrs.mapper.BasCrnOptMapper;
+import com.zy.asrs.entity.BasCrnOpt;
+import com.zy.asrs.service.BasCrnOptService;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service("basCrnOptService")
+public class BasCrnOptServiceImpl extends ServiceImpl<BasCrnOptMapper, BasCrnOpt> implements BasCrnOptService {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/BasErrLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasErrLogServiceImpl.java
new file mode 100644
index 0000000..817212c
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/BasErrLogServiceImpl.java
@@ -0,0 +1,34 @@
+package com.zy.asrs.service.impl;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.zy.asrs.mapper.BasErrLogMapper;
+import com.zy.asrs.entity.BasErrLog;
+import com.zy.asrs.service.BasErrLogService;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service("basErrLogService")
+public class BasErrLogServiceImpl extends ServiceImpl<BasErrLogMapper, BasErrLog> implements BasErrLogService {
+
+ @Override
+ public BasErrLog findLatestByTaskNo(Integer crnNo, Integer taskNo) {
+ List<BasErrLog> basErrLogs = this.baseMapper.selectList(new EntityWrapper<BasErrLog>().eq("crn_no", crnNo).eq("wrk_no", taskNo).orderBy("start_time", false));
+ if (basErrLogs == null || basErrLogs.size() == 0) {
+ return null;
+ } else {
+ return basErrLogs.get(0);
+ }
+ }
+
+ @Override
+ public BasErrLog findLatest(Integer crnNo) {
+ List<BasErrLog> basErrLogs = this.baseMapper.selectList(new EntityWrapper<BasErrLog>().eq("crn_no", crnNo).orderBy("start_time", false));
+ if (basErrLogs == null || basErrLogs.size() == 0) {
+ return null;
+ } else {
+ return basErrLogs.get(0);
+ }
+ }
+}
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 2972a72..a417f4a 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -6,6 +6,7 @@
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
+import com.zy.asrs.mapper.BasCrnErrorMapper;
import com.zy.asrs.mapper.WaitPakinMapper;
import com.zy.asrs.mapper.WrkMastMapper;
import com.zy.asrs.service.*;
@@ -94,6 +95,10 @@
private BasDevpService basDevpService;
@Autowired
private LocDetlService locDetlService;
+ @Autowired
+ private BasErrLogService basErrLogService;
+ @Autowired
+ private BasCrnErrorMapper basCrnErrorMapper;
@Autowired
private JdbcTemplate jdbcTemplate;
@@ -721,8 +726,115 @@
/**
* 鍫嗗灈鏈哄紓甯镐俊鎭褰�
*/
+ @Async
public void recCrnErr(){
+ Date now = new Date();
+ for (CrnSlave crn : slaveProperties.getCrn()) {
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) {
+ continue;
+ }
+ // 鍙湪杩炵嚎妯″紡涓嬭褰�
+ if (crnProtocol.getModeType() == CrnModeType.AUTO) {
+ // 鏈変换鍔�
+ if (crnProtocol.getTaskNo() != 0) {
+ BasErrLog latest = basErrLogService.findLatestByTaskNo(crn.getId(), crnProtocol.getTaskNo().intValue());
+ // 鏈夊紓甯�
+ if (latest == null) {
+ if (crnProtocol.getAlarm1() != null && crnProtocol.getAlarm1() > 0) {
+ WrkMast wrkMast = wrkMastMapper.selectById(crnProtocol.getTaskNo());
+ BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
+ BasErrLog basErrLog = new BasErrLog(
+ null, // 缂栧彿
+ wrkMast.getWrkNo(), // 宸ヤ綔鍙�
+ now, // 鍙戠敓鏃堕棿
+ null, // 缁撴潫鏃堕棿
+ wrkMast.getWrkSts(), // 宸ヤ綔鐘舵��
+ wrkMast.getIoType(), // 鍏ュ嚭搴撶被鍨�
+ crn.getId(), // 鍫嗗灈鏈�
+ null, // plc
+ wrkMast.getLocNo(), // 鐩爣搴撲綅
+ wrkMast.getStaNo(), // 鐩爣绔�
+ wrkMast.getSourceStaNo(), // 婧愮珯
+ wrkMast.getSourceLocNo(), // 婧愬簱浣�
+ wrkMast.getBarcode(), // 鏉$爜
+ crnProtocol.getAlarm1().intValue(), // 寮傚父鐮�
+ crnError.getErrName(), // 寮傚父
+ 1, // 寮傚父鎯呭喌
+ now, // 娣诲姞鏃堕棿
+ null, // 娣诲姞浜哄憳
+ now, // 淇敼鏃堕棿
+ null, // 淇敼浜哄憳
+ "浠诲姟涓紓甯�" // 澶囨敞
+ );
+ if (!basErrLogService.insert(basErrLog)) {
+ log.error("鍫嗗灈鏈簆lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", crn.getId(), crnError.getErrName());
+ }
+ }
+ } else {
+ // 寮傚父淇
+ if (crnProtocol.getAlarm1() == null || crnProtocol.getAlarm1() == 0) {
+ latest.setEndTime(now);
+ latest.setUpdateTime(now);
+ latest.setStatus(2);
+ if (!basErrLogService.updateById(latest)) {
+ log.error("鍫嗗灈鏈簆lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", crn.getId(), latest.getId());
+ }
+ }
+ }
+ // 鏃犱换鍔�
+ } else {
+ BasErrLog latest = basErrLogService.findLatest(crn.getId());
+ // 鏈夊紓甯�
+ if (crnProtocol.getAlarm1() != null && crnProtocol.getAlarm1() > 0) {
+ // 璁板綍鏂板紓甯�
+ if (latest == null || (latest.getErrCode() != crnProtocol.getAlarm1().intValue())) {
+ BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
+ BasErrLog basErrLog = new BasErrLog(
+ null, // 缂栧彿
+ null, // 宸ヤ綔鍙�
+ now, // 鍙戠敓鏃堕棿
+ null, // 缁撴潫鏃堕棿
+ null, // 宸ヤ綔鐘舵��
+ null, // 鍏ュ嚭搴撶被鍨�
+ crn.getId(), // 鍫嗗灈鏈�
+ null, // plc
+ null, // 鐩爣搴撲綅
+ null, // 鐩爣绔�
+ null, // 婧愮珯
+ null, // 婧愬簱浣�
+ null, // 鏉$爜
+ crnProtocol.getAlarm1().intValue(), // 寮傚父鐮�
+ crnError.getErrName(), // 寮傚父
+ 1, // 寮傚父鎯呭喌
+ now, // 娣诲姞鏃堕棿
+ null, // 娣诲姞浜哄憳
+ now, // 淇敼鏃堕棿
+ null, // 淇敼浜哄憳
+ "鏃犱换鍔″紓甯�" // 澶囨敞
+ );
+ if (!basErrLogService.insert(basErrLog)) {
+ log.error("鍫嗗灈鏈簆lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", crn.getId(), crnError.getErrName());
+ }
+ }
+ // 鏃犲紓甯�
+ } else {
+ // 寮傚父淇
+ if (latest != null && latest.getStatus() == 1) {
+ latest.setEndTime(now);
+ latest.setUpdateTime(now);
+ latest.setStatus(2);
+ if (!basErrLogService.updateById(latest)) {
+ log.error("鍫嗗灈鏈簆lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", crn.getId(), latest.getId());
+ }
+ }
+ }
+ }
+ }
+ }
}
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index 6bdec69..221bf8c 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -8,7 +8,9 @@
import com.core.common.Arith;
import com.core.common.DateUtils;
import com.core.common.SpringUtils;
+import com.zy.asrs.entity.BasCrnOpt;
import com.zy.asrs.entity.BasCrnp;
+import com.zy.asrs.service.BasCrnOptService;
import com.zy.asrs.service.BasCrnpService;
import com.zy.core.CrnThread;
import com.zy.core.cache.MessageQueue;
@@ -197,6 +199,27 @@
array[8] = command.getDestinationPosZ();
OperateResult result = siemensNet.Write("DB8.0", array);
if (result.IsSuccess) {
+ // 鏃ュ織璁板綍
+ BasCrnOptService bean = SpringUtils.getBean(BasCrnOptService.class);
+ BasCrnOpt basCrnOpt = new BasCrnOpt(
+ command.getTaskNo().intValue(), // 浠诲姟鍙�
+ command.getCrnNo(), // 鍫嗗灈鏈篬闈炵┖]
+ new Date(), // 涓嬪彂鏃堕棿
+ command.getTaskModeType().toString(), // 妯″紡
+ command.getSourcePosX().intValue(), // 婧愭帓
+ command.getSourcePosY().intValue(), // 婧愬垪
+ command.getSourcePosZ().intValue(), // 婧愬眰
+ null, // 婧愮珯
+ command.getDestinationPosX().intValue(), // 鐩爣鎺�
+ command.getDestinationPosY().intValue(), // 鐩爣鍒�
+ command.getDestinationPosZ().intValue(), // 鐩爣灞�
+ null, // 鐩爣绔�
+ null, // 鍝嶅簲缁撴灉
+ null, // 淇敼鏃堕棿
+ null // 淇敼浜哄憳
+ );
+ bean.insert(basCrnOpt);
+
log.info("鍫嗗灈鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), JSON.toJSON(command));
OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command)));
return true;
--
Gitblit v1.9.1