| src/main/java/com/zy/asrs/controller/ConsoleController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/controller/LocMastController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/core/MainProcess.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/core/enums/RedisKeyType.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/webapp/components/DevpCard.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/webapp/static/js/basMap/basMap.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/webapp/views/basMap/basMap.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/webapp/views/watch/console.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/ConsoleController.java
@@ -11,14 +11,20 @@ import com.zy.asrs.domain.vo.CrnLatestDataVo; import com.zy.asrs.domain.vo.StationLatestDataVo; import com.zy.asrs.entity.BasCrnpErr; import com.zy.asrs.entity.BasMap; import com.zy.asrs.entity.DeviceConfig; import com.zy.asrs.entity.WrkMast; import com.zy.asrs.service.BasCrnpErrService; import com.zy.asrs.service.BasMapService; import com.zy.asrs.service.DeviceConfigService; import com.zy.asrs.service.WrkMastService; import com.zy.common.CodeRes; import com.zy.common.model.MapNode; import com.zy.common.model.enums.NavigationMapType; import com.zy.common.utils.RedisUtil; import com.zy.core.cache.SlaveConnection; import com.zy.core.enums.CrnModeType; import com.zy.core.enums.RedisKeyType; import com.zy.core.enums.SlaveType; import com.zy.core.model.protocol.CrnProtocol; import com.zy.core.model.protocol.StationProtocol; @@ -34,7 +40,6 @@ /** * 主控图接口 * Created by vincent on 2020-06-01 */ @Slf4j @RestController @@ -47,6 +52,10 @@ private WrkMastService wrkMastService; @Autowired private BasCrnpErrService basCrnpErrService; @Autowired private BasMapService basMapService; @Autowired private RedisUtil redisUtil; @PostMapping("/system/running/status") @ManagerAuth(memo = "系统运行状态") @@ -249,4 +258,32 @@ return R.ok().add(vo); } /** * 获取地图楼层数据 */ @GetMapping("/map/lev/list") @ManagerAuth public R getMapLevList() { List<BasMap> basMaps = basMapService.selectList(new EntityWrapper<BasMap>().orderBy("lev", true)); ArrayList<Integer> levList = new ArrayList<>(); for (BasMap basMap : basMaps) { levList.add(basMap.getLev()); } return R.ok().add(levList); } /** * 获取地图数据 */ @GetMapping("/map/{lev}/auth") @ManagerAuth public R getMapFromRedis(@PathVariable Integer lev) { Object data = redisUtil.get(RedisKeyType.MAP.key + lev); if (data == null) { return R.error(); } return R.ok(); } } src/main/java/com/zy/asrs/controller/LocMastController.java
@@ -11,7 +11,9 @@ import com.core.common.DateUtils; import com.core.common.R; import com.core.exception.CoolException; import com.zy.asrs.entity.BasMap; import com.zy.asrs.entity.LocMast; import com.zy.asrs.service.BasMapService; import com.zy.asrs.service.LocMastService; import com.zy.common.web.BaseController; import lombok.extern.slf4j.Slf4j; @@ -27,6 +29,8 @@ @Autowired private LocMastService locMastService; @Autowired private BasMapService basMapService; @RequestMapping(value = "/locMast/{id}/auth") @ManagerAuth @@ -132,145 +136,12 @@ @ManagerAuth(memo = "初始化库位") @Transactional public R locMastInit() { // List<BasMap> basMaps = basMapService.selectList(new EntityWrapper<BasMap>().orderBy("lev", true)); // basShuttleChargeService.delete(new EntityWrapper<>()); // int chargeNo = 1; // for (BasMap basMap : basMaps) { // Integer lev = basMap.getLev(); // locMastService.delete(new EntityWrapper<>(new LocMast()) // .eq("lev1", lev)); // List<List<MapNode>> lists = navigateMapData.getJsonData(lev, NavigationMapType.getMapTypes(NavigationMapType.NONE), null, null);//获取完整地图(包括入库出库) // for (int row = 0; row < lists.size(); row++) { // List<MapNode> nodeList = lists.get(row); // for (int bay = 0; bay < nodeList.size(); bay++) { // MapNode mapNode = nodeList.get(bay); // // if (mapNode.getValue() == MapNodeType.DISABLE.id) { // continue; // } // // String locNo = Utils.getLocNo(row, bay, lev); // LocMast locMast = new LocMast(); // locMast.setLocNo(locNo); // locMast.setRow1(row); // locMast.setBay1(bay); // locMast.setLev1(lev); // locMast.setStatus(1); // // if (mapNode.getValue() == MapNodeType.NORMAL_PATH.id) { // locMast.setLocSts(LocStsType.O.toString()); // } else if (mapNode.getValue() == MapNodeType.MAIN_PATH.id) { // locMast.setLocSts(LocStsType.W.toString()); // } else if (mapNode.getValue() == MapNodeType.CHARGE.id) { // locMast.setLocSts(LocStsType.C.toString()); // // BasShuttleCharge basShuttleCharge = new BasShuttleCharge(); // basShuttleCharge.setChargeId(chargeNo++); // basShuttleCharge.setLocNo(locNo); // basShuttleCharge.setWaitLocNo(locNo); // basShuttleCharge.setStatus(1); // basShuttleCharge.setCreateTime(new Date()); // basShuttleCharge.setUpdateTime(new Date()); // basShuttleChargeService.insert(basShuttleCharge); // } else if (mapNode.getValue() == MapNodeType.CONVEYOR.id) { // locMast.setLocSts(LocStsType.E.toString()); // } else if (mapNode.getValue() == MapNodeType.LIFT.id) { // locMast.setLocSts(LocStsType.E.toString()); // } // // locMastService.insert(locMast); // } // } // // LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("lev1", lev).orderBy("row1", false)); // Integer rowMax = locMast.getRow1(); // LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("lev1", lev).orderBy("bay1", false)); // Integer bayMax = locMast2.getBay1(); // // Integer baseRow = basMap.getBaseRow(); // Integer baseRowCode = basMap.getBaseRowCode(); // // if (baseRow > 0) { // for (int i = baseRow; i <= rowMax; i++) { // Integer baseBayCode = basMap.getBaseBayCode(); // if (basMap.getBaseBay() > 0) { // for (int j = basMap.getBaseBay(); j <= bayMax; j++) { // String locNo = Utils.getLocNo(i, j, lev); // // LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>() // .eq("loc_no", locNo)); // if (locMast1 != null) { // HashMap<String, Object> point = new HashMap<>(); // point.put("y", baseRowCode); // point.put("x", baseBayCode); // point.put("z", lev); // locMast1.setQrCodeValue(JSON.toJSONString(point)); // locMastService.updateById(locMast1); // } // baseBayCode += 1; // } // }else { // int baseBay = basMap.getBaseBay() * -1; // for (int j = baseBay; j > 0; j--) { // String locNo = Utils.getLocNo(i, j, lev); // // LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>() // .eq("loc_no", locNo)); // if (locMast1 != null) { // HashMap<String, Object> point = new HashMap<>(); // point.put("y", baseRowCode); // point.put("x", baseBayCode); // point.put("z", lev); // locMast1.setQrCodeValue(JSON.toJSONString(point)); // locMastService.updateById(locMast1); // } // baseBayCode += 1; // } // } // baseRowCode += 1; // } // }else { // baseRow = baseRow * -1; // for (int i = baseRow; i > 0; i--) { // Integer baseBayCode = basMap.getBaseBayCode(); // if (basMap.getBaseBay() > 0) { // for (int j = basMap.getBaseBay(); j <= bayMax; j++) { // String locNo = Utils.getLocNo(i, j, lev); // // LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>() // .eq("loc_no", locNo)); // if (locMast1 != null) { // HashMap<String, Object> point = new HashMap<>(); // point.put("y", baseRowCode); // point.put("x", baseBayCode); // point.put("z", lev); // locMast1.setQrCodeValue(JSON.toJSONString(point)); // locMastService.updateById(locMast1); // } // baseBayCode += 1; // } // }else { // int baseBay = basMap.getBaseBay() * -1; // for (int j = baseBay; j > 0; j--) { // String locNo = Utils.getLocNo(i, j, lev); // // LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>() // .eq("loc_no", locNo)); // if (locMast1 != null) { // HashMap<String, Object> point = new HashMap<>(); // point.put("y", baseRowCode); // point.put("x", baseBayCode); // point.put("z", lev); // locMast1.setQrCodeValue(JSON.toJSONString(point)); // locMastService.updateById(locMast1); // } // baseBayCode += 1; // } // } // baseRowCode += 1; // } // } // } BasMap basMap = basMapService.selectOne(new EntityWrapper<BasMap>().eq("lev", 1)); if (Cools.isEmpty(basMap)){ return R.error("请先初始化地图"); } return R.ok(); } src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1,14 +1,32 @@ package com.zy.asrs.service.impl; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.zy.asrs.entity.BasMap; import com.zy.asrs.service.BasMapService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; /** * 立体仓库WCS系统主流程业务 * Created by vincent on 2020/8/6 */ @Slf4j @Service("mainService") public class MainServiceImpl { @Autowired private BasMapService basMapService; // 初始化库位地图 public void initLocMap() { List<BasMap> basMaps = basMapService.selectList(new EntityWrapper<BasMap>().orderBy("lev", true)); ArrayList<Integer> levList = new ArrayList<>(); for (BasMap basMap : basMaps) { levList.add(basMap.getLev()); } } } src/main/java/com/zy/core/MainProcess.java
@@ -41,6 +41,9 @@ continue; } // 初始化库位地图 mainService.initLocMap(); // 间隔 Thread.sleep(200); } catch (Exception e) { src/main/java/com/zy/core/enums/RedisKeyType.java
@@ -16,6 +16,8 @@ LOG_LIMIT("log_limit_"), SYSTEM_CONFIG_MAP("system_config_map"), MAP("map_"), ; public String key; src/main/webapp/components/DevpCard.js
@@ -52,7 +52,7 @@ stationList: [], activeNames: "", searchStationId: "", showControl: true, showControl: false, controlParam: { stationId: "", taskNo: "", src/main/webapp/static/js/basMap/basMap.js
@@ -30,10 +30,10 @@ , {field: 'updateTime$', align: 'center', title: '更新时间'} , {field: 'lastData', align: 'center', title: '最近数据'} , {field: 'originData', align: 'center', title: '原始地图'} , {field: 'baseRow', align: 'center', title: '基准排'} , {field: 'baseRowCode', align: 'center', title: '基准排-code'} , {field: 'baseBay', align: 'center', title: '基准列'} , {field: 'baseBayCode', align: 'center', title: '基准列-code'} // , {field: 'baseRow', align: 'center', title: '基准排'} // , {field: 'baseRowCode', align: 'center', title: '基准排-code'} // , {field: 'baseBay', align: 'center', title: '基准列'} // , {field: 'baseBayCode', align: 'center', title: '基准列-code'} , {fixed: 'right', title: '操作', align: 'center', toolbar: '#operate', width: 120} ]], @@ -64,7 +64,7 @@ // 渲染 upload.render({ elem: '.demo-class-accept', // 绑定多个元素 url: baseUrl + "/basMap/upload", // 此处配置你自己的上传接口即可 url: baseUrl + "/basMap/crn/upload", // 此处配置你自己的上传接口即可 accept: 'file', // 普通文件 done: function (res) { if (res.code == 200) { src/main/webapp/views/basMap/basMap.html
@@ -89,30 +89,30 @@ <input class="layui-input" name="originData" placeholder="请输入"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">基准排: </label> <div class="layui-input-block"> <input class="layui-input" name="baseRow" placeholder="请输入"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">基准排-code: </label> <div class="layui-input-block"> <input class="layui-input" name="baseRowCode" placeholder="请输入"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">基准列: </label> <div class="layui-input-block"> <input class="layui-input" name="baseBay" placeholder="请输入"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">基准列-code: </label> <div class="layui-input-block"> <input class="layui-input" name="baseBayCode" placeholder="请输入"> </div> </div> <!-- <div class="layui-form-item">--> <!-- <label class="layui-form-label">基准排: </label>--> <!-- <div class="layui-input-block">--> <!-- <input class="layui-input" name="baseRow" placeholder="请输入">--> <!-- </div>--> <!-- </div>--> <!-- <div class="layui-form-item">--> <!-- <label class="layui-form-label">基准排-code: </label>--> <!-- <div class="layui-input-block">--> <!-- <input class="layui-input" name="baseRowCode" placeholder="请输入">--> <!-- </div>--> <!-- </div>--> <!-- <div class="layui-form-item">--> <!-- <label class="layui-form-label">基准列: </label>--> <!-- <div class="layui-input-block">--> <!-- <input class="layui-input" name="baseBay" placeholder="请输入">--> <!-- </div>--> <!-- </div>--> <!-- <div class="layui-form-item">--> <!-- <label class="layui-form-label">基准列-code: </label>--> <!-- <div class="layui-input-block">--> <!-- <input class="layui-input" name="baseBayCode" placeholder="请输入">--> <!-- </div>--> <!-- </div>--> </div> </div> src/main/webapp/views/watch/console.html
@@ -184,7 +184,6 @@ headers: {'token': localStorage.getItem('token')}, method: 'POST', success: function (res) { console.log(res) if (res.code === 200) { var sites = res.data; for (var i = 0; i < sites.length; i++){