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