#
taisheng
11 小时以前 bc48a855d98e360042a7e2fff5594a91a82578c6
#
7个文件已修改
145 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/ConsoleController.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OpenController.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/TaskLogScheduler.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/index.html 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/ConsoleController.java
@@ -38,6 +38,8 @@
import com.zy.core.thread.BarcodeThread;
import com.zy.core.thread.ScaleThread;
import com.zy.core.thread.SiemensCrnThread;
import com.zy.system.entity.Config;
import com.zy.system.service.ConfigService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -70,6 +72,8 @@
    private DeviceErrorService deviceErrorService;
    @Autowired
    private BasCrnpService basCrnpService;
    @Autowired
    private ConfigService configService;
    @PostMapping("/system/running/status")
    @ManagerAuth(memo = "系统运行状态")
@@ -96,6 +100,48 @@
        return R.ok().add(Cools.add("status", SystemProperties.WCS_RUNNING_STATUS.get()));
    }
    @GetMapping("/switchDemo")
    public R switchDemo() {
        //切换演示模式
        Config demoEnableConfig = configService.selectByCode("demoEnable");
        if(demoEnableConfig == null){
            return R.error("演示模式参数不存在");
        }
        HashMap<String, Object> map = new HashMap<>();
        if (demoEnableConfig.getValue().equals("true")) {
            //开启状态,变更关闭
            demoEnableConfig.setValue("false");
            configService.updateById(demoEnableConfig);
            map.put("status", false);
        }else {
            //关闭状态,变更开启
            demoEnableConfig.setValue("true");
            configService.updateById(demoEnableConfig);
            map.put("status", true);
        }
        return R.ok().add(map);
    }
    @GetMapping("/getDemoStatus")
    public R getDemoStatus() {
        //切换演示模式
        Config demoEnableConfig = configService.selectByCode("demoEnable");
        if(demoEnableConfig == null){
            return R.error("演示模式参数不存在");
        }
        HashMap<String, Object> map = new HashMap<>();
        boolean status = false;
        if(demoEnableConfig.getValue().equals("true")){
            status = true;
        }
        map.put("status", status);
        return R.ok().add(map);
    }
    /****************************************************************/
    /************************** 实时数据 ******************************/
    /****************************************************************/
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -12,9 +12,11 @@
import com.zy.asrs.entity.param.*;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.Utils;
import com.zy.common.utils.HttpHandler;
import com.zy.common.web.BaseController;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
@@ -48,6 +50,11 @@
    @Autowired
    private BasCrnErrorService basCrnErrorService;
    @Value("${agv.url}")
    private String agvUrl;
    @Value("${agv.bindPodAndBerth}")
    private String bindPodAndBerth;
    private static final boolean auth = true;
    public static final ArrayList<String> APP_KEY_LIST = new ArrayList<String>() {{
@@ -65,8 +72,46 @@
            return R.error("任务不存在");
        }
        if (taskWrk.getTargetPoint().equals("0900601")) {
            HashMap<String, Object> requestParam = new HashMap<>();
            int nextInt = new Random().nextInt(100);
            requestParam.put("reqCode", taskWrk.getTaskNo() + "-" + nextInt);
            requestParam.put("podCode", param.get("podCode"));
            requestParam.put("positionCode", taskWrk.getTargetPoint());
            requestParam.put("indBind", 0);
            String response = null;
            boolean requestStatus = false;
            try {
                log.info("WCS解绑AGV货架={}", taskWrk);
                response = new HttpHandler.Builder()
                        .setUri(agvUrl)
                        .setPath(bindPodAndBerth)
                        .setJson(JSON.toJSONString(requestParam))
                        .build()
                        .doPost();
                JSONObject jsonObject = JSON.parseObject(response);
                if (jsonObject.get("code").equals("0")) {
                    requestStatus = true;
                }
            } catch (Exception e) {
                log.error("WCS派发任务给AGV失败{},返回值={}", taskWrk, response);
            } finally {
                apiLogService.save("WCS派发任务给AGV"
                        , agvUrl + bindPodAndBerth
                        , null
                        , "127.0.0.1"
                        , JSON.toJSONString(requestParam)
                        , response
                        , requestStatus
                );
            }
        }
        taskWrk.setStatus(TaskStatusType.COMPLETE.id);
        taskWrk.setModiTime(new Date());
        taskWrk.setBarcode(param.get("podCode").toString());
        taskWrkService.updateById(taskWrk);
        return R.ok();
    }
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -198,6 +198,7 @@
        taskWrk.setIoPri(100);//优先级
        taskWrk.setStartPoint(locMast1.getLocNo());
        taskWrk.setTargetPoint("101");//终点
        taskWrk.setBarcode(locMast1.getBarcode());
        boolean result = taskWrkService.insert(taskWrk);
        locMast1.setLocSts("R");
@@ -257,6 +258,7 @@
        taskWrk.setOriginStartPoint("1");
        taskWrk.setOriginTargetPoint(String.valueOf(Utils.getLev(locMast1.getLocNo())));
        taskWrk.setTargetPoint(locMast1.getLocNo());//终点
        taskWrk.setBarcode(locMast.getBarcode());
        boolean result = taskWrkService.insert(taskWrk);
        locMast1.setLocSts("S");
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -127,6 +127,7 @@
        taskWrk.setIoType(4);//AGV搬运
        taskWrk.setStartPoint(param.getOriginPoint());//取货点
        taskWrk.setTargetPoint(param.getTargetPoint());//放货点
        taskWrk.setBarcode(startLocMast.getBarcode());
        boolean insert = taskWrkService.insert(taskWrk);
        if (!insert) {
src/main/java/com/zy/asrs/task/TaskLogScheduler.java
@@ -122,6 +122,7 @@
                    //更新源库位状态为在库
                    LocMast locMast = locMastService.selectByLocNo("0900601");
                    locMast.setLocSts("F");
                    locMast.setBarcode(taskWrk.getBarcode());
                    locMastService.updateById(locMast);
                }
@@ -144,6 +145,7 @@
                //更新源库状态为在库
                LocMast locMast2 = locMastService.selectByLocNo(taskWrk.getStartPoint());
                locMast2.setLocSts("F");
                locMast2.setBarcode(taskWrk.getBarcode());
                locMastService.updateById(locMast2);
                taskWrk.setModiTime(now);//操作时间
@@ -153,6 +155,7 @@
                //更新源库位状态为在库
                LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
                locMast.setLocSts("F");
                locMast.setBarcode(taskWrk.getBarcode());
                locMastService.updateById(locMast);
                //更新目标库状态为空库位
src/main/resources/application.yml
@@ -72,4 +72,5 @@
agv:
  url: 10.10.20.160:8181
  applyTask: /rcms/services/rest/hikRpcService/genAgvSchedulingTask
  applyTask: /rcms/services/rest/hikRpcService/genAgvSchedulingTask
  bindPodAndBerth: /rcms/services/rest/hikRpcService/bindPodAndBerth
src/main/webapp/views/index.html
@@ -43,6 +43,9 @@
<!--      <li class="layui-nav-item" lay-unselect>-->
<!--        <a ew-event="note" title="便签"><i class="layui-icon layui-icon-note"></i></a>-->
<!--      </li>-->
      <li class="layui-nav-item" lay-unselect id="demoButton">
        <div style="color: red;" id="demoText">演示模式-已关闭</div>
      </li>
      <li class="layui-nav-item" lay-unselect id="licenseShow" style="display: none;user-select: none;">
        <div style="color: red;">许可证有效期:<span id="licenseDays">29</span>天</div>
      </li>
@@ -121,6 +124,48 @@
    }
    $.ajax({
      url: baseUrl + "/console/getDemoStatus",
      headers: {'token': localStorage.getItem('token')},
      method: 'GET',
      success: function (res) {
        if (res.code === 200) {
          let data = res.data;
          if (data.status) {
            $("#demoText").text("演示模式-运行中")
          }else {
            $("#demoText").text("演示模式-已关闭")
          }
        } else if (res.code === 403) {
          top.location.href = baseUrl + "/login";
        } else {
          layer.msg(res.msg, {icon: 2});
        }
      }
    });
    $("#demoButton").on("click",() => {
      $.ajax({
        url: baseUrl + "/console/switchDemo",
        headers: {'token': localStorage.getItem('token')},
        method: 'GET',
        success: function (res) {
          if (res.code === 200) {
            let data = res.data;
            if (data.status) {
              $("#demoText").text("演示模式-运行中")
            }else {
              $("#demoText").text("演示模式-已关闭")
            }
          } else if (res.code === 403) {
            top.location.href = baseUrl + "/login";
          } else {
            layer.msg(res.msg, {icon: 2});
          }
        }
      });
    })
    $.ajax({
      url: baseUrl + "/menu/auth",
      headers: {'token': localStorage.getItem('token')},
      method: 'POST',