| | |
| | | import com.zy.asrs.domain.vo.*; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.mapper.BasRgvErrMapper; |
| | | import com.zy.asrs.service.BasCircularShuttleService; |
| | | import com.zy.asrs.service.BasDevpPositionService; |
| | | import com.zy.asrs.service.BasRgvService; |
| | | import com.zy.asrs.service.WrkMastService; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.service.impl.MainServiceImpl; |
| | | import com.zy.asrs.utils.NumUtils; |
| | | import com.zy.asrs.utils.Utils; |
| | |
| | | private WrkMastService wrkMastService; |
| | | @Autowired |
| | | private BasRgvErrMapper basRgvErrMapper; |
| | | @Autowired |
| | | private BasRgvErrLogService basRgvErrLogService; |
| | | @Autowired |
| | | private BasRgvService basRgvService; |
| | | @Autowired |
| | |
| | | return R.ok().add(result); |
| | | } |
| | | |
| | | @PostMapping("/task/rgv/circular/shuttle/mast/position/data/v1") |
| | | // @ManagerAuth(memo = "作业信息") |
| | | public R rgvCircularShuttleV1(){ |
| | | List<BasRgvErrLog> result = new ArrayList<>(); |
| | | for (int i = 1 ; i<11; i ++){ |
| | | BasRgvErrLog basRgvErrLog = basRgvErrLogService.selectOne(new EntityWrapper<BasRgvErrLog>().eq("rgv_no", i).orderBy("id", false)); |
| | | if (basRgvErrLog!=null){ |
| | | result.add(basRgvErrLog); |
| | | } |
| | | } |
| | | return R.ok().add(result); |
| | | } |
| | | |
| | | |
| | | @PostMapping("/disable/rgv/status") |
| | | // @ManagerAuth(memo = "修改RGV状态") |
| | |
| | | import com.baomidou.mybatisplus.annotations.TableField; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | |
| | | import com.core.common.SpringUtils; |
| | | import com.zy.asrs.mapper.BasRgvErrMapper; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import com.baomidou.mybatisplus.annotations.TableName; |
| | | import java.io.Serializable; |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | @TableName("asr_bas_rgv_err_log") |
| | |
| | | |
| | | public BasRgvErrLog() {} |
| | | |
| | | public BasRgvErrLog(List<Integer> alarmLists , Short taskNo,Integer rgvNo) { |
| | | BasRgvErrMapper basRgvErrMapper = SpringUtils.getBean(BasRgvErrMapper.class); |
| | | StringBuilder alarmList = new StringBuilder(); |
| | | for (Integer alarm : alarmLists){ |
| | | BasRgvErr rgvErr = basRgvErrMapper.selectById(alarm); |
| | | alarmList.append((rgvErr==null || rgvErr.getErrName()==null)? "未知异常:"+alarm:rgvErr.getErrName()); |
| | | if (alarm.equals(alarmLists.get(alarmLists.size() - 1))){ |
| | | this.errCode = alarm; |
| | | break; |
| | | } |
| | | alarmList.append("---"); |
| | | } |
| | | this.error = alarmList.toString(); |
| | | Date now = new Date(); |
| | | this.uuid = String.valueOf(now.getTime()); |
| | | this.wrkNo = taskNo.intValue(); |
| | | this.startTime = now; |
| | | this.endTime = now; |
| | | this.rgvNo = rgvNo; |
| | | this.status = 1; |
| | | this.createTime = now; |
| | | this.createBy = 9999L; |
| | | this.updateTime = now; |
| | | this.updateBy = 9999L; |
| | | this.memo = "异常自动记录"; |
| | | } |
| | | |
| | | public BasRgvErrLog(String uuid,Integer wrkNo,Date startTime,Date endTime,Long wrkSts,Integer ioType,Integer rgvNo,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; |
| | |
| | | try { |
| | | // 间隔 |
| | | Thread.sleep(200); |
| | | System.out.println("开始:"+new Date().getTime()); |
| | | // System.out.println("开始:"+new Date().getTime()); |
| | | |
| | | // 系统运行状态判断 |
| | | if (!SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | |
| | | mainService.rgvCompleteWrkMastSta(autoZ); |
| | | //更新位置信息 |
| | | mainService.updateStePosition(); |
| | | System.out.println("结束:"+new Date().getTime()); |
| | | // System.out.println("结束:"+new Date().getTime()); |
| | | |
| | | |
| | | } catch (Exception e) { |
| | |
| | | import com.core.common.DateUtils; |
| | | import com.core.common.SpringUtils; |
| | | import com.zy.asrs.entity.BasRgv; |
| | | import com.zy.asrs.entity.BasRgvErrLog; |
| | | import com.zy.asrs.entity.BasRgvOpt; |
| | | import com.zy.asrs.service.BasRgvErrLogService; |
| | | import com.zy.asrs.service.BasRgvOptService; |
| | | import com.zy.asrs.service.BasRgvService; |
| | | import com.zy.asrs.utils.NumUtils; |
| | |
| | | import java.text.MessageFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.HashSet; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | */ |
| | | private boolean resetFlag2 = false; |
| | | private boolean connectRgv = false; |
| | | private boolean alarmChangeSign = false; |
| | | |
| | | public RgvThread(RgvSlave slave) { |
| | | this.slave = slave; |
| | |
| | | alarmList.add(alarmCount); |
| | | } |
| | | } |
| | | alarmChangeSign = new HashSet<>(alarmList).equals(new HashSet<>(rgvProtocol.getAlarmList())); |
| | | rgvProtocol.setAlarmList(alarmList); |
| | | |
| | | // rgvProtocol.setRgvPos((long)NumUtils.GetRandomIntInRange(1737000)); |
| | |
| | | if (!basRgvService.updateById(rgvProtocol.toSqlModel(basRgv))){ |
| | | log.error("RGV plc数据库更新失败 ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()); |
| | | } |
| | | try{ |
| | | if (!alarmChangeSign && !alarmList.isEmpty()){ |
| | | BasRgvErrLogService basRgvErrLogService = SpringUtils.getBean(BasRgvErrLogService.class); |
| | | BasRgvErrLog basRgvErrLog = new BasRgvErrLog(rgvProtocol.getAlarmList(), rgvProtocol.getTaskNo1(), rgvProtocol.getRgvNo()); |
| | | basRgvErrLogService.insert(basRgvErrLog); |
| | | } |
| | | } catch (Exception e){ |
| | | BasRgvOptService basRgvOptService = SpringUtils.getBean(BasRgvOptService.class); |
| | | |
| | | } |
| | | |
| | | } catch (Exception ignore) { |
| | | |
| | | } |
| | |
| | | z-index: 1000; /* 确保在其他元素之上 */ |
| | | } |
| | | |
| | | .task-bar-right1 { |
| | | position: fixed; |
| | | top: 5%; |
| | | /*transform: translateY(-50%);*/ |
| | | width: 25%; /* 设置宽度 */ |
| | | background-color: rgba(255, 255, 255, 0); /* 半透明背景 */ |
| | | |
| | | border-radius: 5px; |
| | | padding: 10px; |
| | | box-shadow: 0 0 10px rgba(0, 0, 0, 0); |
| | | z-index: 1000; /* 确保在其他元素之上 */ |
| | | } |
| | | |
| | | .task-bar-div1 { |
| | | /*width: 100%; !* 设置宽度 *!*/ |
| | | background-color: rgba(255, 255, 255, 0.8); /* 半透明背景 */ |
| | |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | <div class="task-bar-right1 right-task-bar"> |
| | | <div> |
| | | <el-tooltip :content="'Switch value: ' + valueRight1" placement="top"> |
| | | <el-switch |
| | | v-model="valueRight1" |
| | | active-color="#13ce66" |
| | | inactive-color="#ff4949" |
| | | active-value="100" |
| | | inactive-value="0"> |
| | | </el-switch> |
| | | </el-tooltip> |
| | | </div> |
| | | <div v-if="valueRight1 === '100' " class="task-bar-div1"> |
| | | <el-table |
| | | :data="tableDataRight1" |
| | | style="width: 100%" |
| | | :row-class-name="tableRowClassName"> |
| | | <el-table-column |
| | | prop="rgvNo" |
| | | label="小车号"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="error" |
| | | label="异常"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="createTime$" |
| | | label="记录日期"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <script> |
| | |
| | | activeNames: ['1'], |
| | | valueLeft: '0', |
| | | valueRight: '0', |
| | | valueRight1: '0', |
| | | licenseDay: '已过期', |
| | | licenseDayI: 100, |
| | | valueSystem: false, |
| | |
| | | energyGatheringRing: [], |
| | | tableDataLeft: [], |
| | | tableDataRight: [], |
| | | tableDataRight1: [], |
| | | devpPos1:[ |
| | | {dev_no: 116,pos:633980}, |
| | | {dev_no: 117,pos:604043}, |
| | |
| | | this.getTableDataTrack() |
| | | this.getTableDataLeft() |
| | | this.getTableDataRight() |
| | | this.getTableDataRight1() |
| | | this.getValueSystem() |
| | | this.getLicenseDays() |
| | | |
| | |
| | | this.getTableDataTrack() |
| | | this.getTableDataLeft() |
| | | this.getTableDataRight() |
| | | this.getTableDataRight1() |
| | | this.getValueSystem() |
| | | this.getLicenseDays() |
| | | |
| | |
| | | |
| | | if (val.length >= 1){ |
| | | this.handleChangeValueRight(1) |
| | | } |
| | | } |
| | | }, |
| | | handleChange1(val) { |
| | | console.log(val); |
| | | if (val.length === 0){ |
| | | valueRight1 = '0'; |
| | | } else { |
| | | console.log("2222"+val); |
| | | |
| | | if (val.length >= 1){ |
| | | this.handleChangeValueRight1(1) |
| | | } |
| | | } |
| | | }, |
| | |
| | | valueRight = '100'; |
| | | default: |
| | | valueRight = '0'; |
| | | } |
| | | }, |
| | | handleChangeValueRight1(val) { |
| | | console.log("33333"+val); |
| | | |
| | | switch (val){ |
| | | case 1: |
| | | valueRight1 = '100'; |
| | | case 2: |
| | | valueRight1 = '100'; |
| | | case 3: |
| | | valueRight1 = '100'; |
| | | case 4: |
| | | valueRight1 = '100'; |
| | | default: |
| | | valueRight1 = '0'; |
| | | } |
| | | }, |
| | | tableRowClassName({row, rowIndex}) { |
| | |
| | | } |
| | | }); |
| | | }, |
| | | getTableDataRight1() { |
| | | let that = this; |
| | | $.ajax({ |
| | | url: baseUrl + "/rgv/task/rgv/circular/shuttle/mast/position/data/v1", |
| | | headers: { |
| | | 'token': localStorage.getItem('token') |
| | | }, |
| | | data: {}, |
| | | dataType: 'json', |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'post', |
| | | success: function (res) { |
| | | that.tableDataRight1 = res.data |
| | | } |
| | | }); |
| | | }, |
| | | getTableDataRgv() { |
| | | let that = this; |
| | | // that.tableDataRgv = busPsto |