自动化立体仓库 - WMS系统
*
L
14 小时以前 4eb8d259b622226eb275666b0b06e7b19d5236f9
*
5个文件已修改
3个文件已添加
198 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OpenController.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/TaskArmCycleResultParam.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/TaskArmErrorParam.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/TaskArmWorkspaceStatusParam.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OpenService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/entity/license/LicenseCheckListener.java 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -26,6 +26,7 @@
public class OpenController extends BaseController {
    private static final boolean auth = true;
    private static final String  sign_arm = "|s|LABEL_0";
    public static final ArrayList<String> APP_KEY_LIST = new ArrayList<String>() {{
        add("ea1f0459efc02a79f046f982767939ae");
    }};
@@ -250,4 +251,74 @@
        return R.ok();
    }
    /**
     * 单码完成
     */
    @PostMapping("/arm/task/cycle_result")
    public synchronized R TaskArmCycleResult(@RequestHeader(required = false) String appkey,
                                        @RequestBody TaskArmCycleResultParam param,
                                        HttpServletRequest request) {
        auth(appkey, param, request);
        if (Cools.isEmpty(param)) {
            return R.parse(BaseRes.PARAM);
        }
        if (Cools.isEmpty(param.getOrder_id())) {
            return R.error("单据编号[order_id]不能为空");
        }
        if (Cools.isEmpty(param.getPick_num())) {
            return R.error("客人型号[pick_num]不能为空");
        }
        try{
            param.OrderIdTwo(sign_arm);
        } catch (Exception e){
            return R.error("单据编号[order_id]以"+sign_arm+"作为拆分标记拆分失败!!!");
        }
        openService.taskArmCycleResult(param);
        return R.ok();
    }
    /**
     * 托盘完成
     */
    @PostMapping("/arm/task/workspace_status")
    public synchronized R TaskArmWorkspaceStatus(@RequestHeader(required = false) String appkey,
                                             @RequestBody TaskArmWorkspaceStatusParam param,
                                             HttpServletRequest request) {
        auth(appkey, param, request);
        if (Cools.isEmpty(param)) {
            return R.parse(BaseRes.PARAM);
        }
        if (Cools.isEmpty(param.getId())) {
            return R.error("单据编号[order_id]不能为空");
        }
        if (Cools.isEmpty(param.getType())) {
            return R.error("客人型号[pick_num]不能为空");
        }
        if (Cools.isEmpty(param.getStatus())) {
            return R.error("客人型号[pick_num]不能为空");
        }
        openService.taskArmWorkspaceStatus(param);
        return R.ok();
    }
    /**
     * 异常上报
     */
    @PostMapping("/armAbnormalOperation")
    public synchronized R ArmAbnormalOperation(@RequestHeader(required = false) String appkey,
                                                 @RequestBody TaskArmErrorParam param,
                                                 HttpServletRequest request) {
        auth(appkey, param, request);
        if (Cools.isEmpty(param)) {
            return R.parse(BaseRes.PARAM);
        }
        return R.ok().add(param);
    }
}
src/main/java/com/zy/asrs/entity/param/TaskArmCycleResultParam.java
New file
@@ -0,0 +1,22 @@
package com.zy.asrs.entity.param;
import lombok.Data;
/*
 *  Created by Monkey D. Luffy on 2025.09.09
 * */
@Data
public class TaskArmCycleResultParam {
    //单据编号
    private String order_id;
    //数量
    private String pick_num;
    private String staNo;
    private String orderNo;
    public void OrderIdTwo(String sign){
        String[] split = order_id.split(sign);
        staNo = split[0];
        orderNo = split[1];
    }
}
src/main/java/com/zy/asrs/entity/param/TaskArmErrorParam.java
New file
@@ -0,0 +1,16 @@
package com.zy.asrs.entity.param;
import lombok.Data;
/*
 *  Created by Monkey D. Luffy on 2025.09.09
 * */
@Data
public class TaskArmErrorParam {
    //单据编号
    private int arm_no;
    //数量
    private String error_code;
    private String error_msg;
    private Long createTime;
}
src/main/java/com/zy/asrs/entity/param/TaskArmWorkspaceStatusParam.java
New file
@@ -0,0 +1,15 @@
package com.zy.asrs.entity.param;
import lombok.Data;
/*
 *  Created by Monkey D. Luffy on 2025.09.09
 * */
@Data
public class TaskArmWorkspaceStatusParam {
    //单据编号
    private String id;
    //数量
    private String type;//from|to,用于告知当前工作空间是抓取位还是放置位
    private String status;//full|empty,用于告知WCS当前工作空间是满还是空。
}
src/main/java/com/zy/asrs/service/OpenService.java
@@ -45,4 +45,6 @@
    void syncMat(MatSyncParam param);
    void taskArmReport(TaskArmReportParam param);
    void taskArmCycleResult(TaskArmCycleResultParam param);
    void taskArmWorkspaceStatus(TaskArmWorkspaceStatusParam param);
}
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -1,5 +1,6 @@
package com.zy.asrs.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.common.DateUtils;
@@ -608,4 +609,36 @@
        basArmMastService.insert(basArmMast);
    }
    @Override
    @Transactional
    public void taskArmCycleResult(TaskArmCycleResultParam param) {
        BasArmMast basArmMast = basArmMastService.selectOne(
                new EntityWrapper<BasArmMast>()
                        .eq("sorting_line", param.getStaNo())
                        .eq("status", 1)
        );
        if (Cools.isEmpty(basArmMast)){
            throw new CoolException("未查询到相关机械臂拆码垛任务!!!"+ JSON.toJSONString(param));
        }
        basArmMast.setStatus(2);
        basArmMastService.updateById(basArmMast);
    }
    @Override
    @Transactional
    public void taskArmWorkspaceStatus(TaskArmWorkspaceStatusParam param) {
        BasArmMast basArmMast = basArmMastService.selectOne(
                new EntityWrapper<BasArmMast>()
                        .eq("sta_no", Integer.getInteger(param.getId()))
                        .eq("status", 2)
        );
        if (Cools.isEmpty(basArmMast)){
            throw new CoolException("未查询到相关机械臂拆码垛任务!!!"+ JSON.toJSONString(param));
        }
//        basArmMast.setStatus(2);
//        basArmMastService.updateArmMastStatus(1,basArm.getSortingLine(),3,4);
    }
}
src/main/java/com/zy/system/entity/license/LicenseCheckListener.java
@@ -94,24 +94,27 @@
                }
                //安装证书
                LicenseContent install = licenseVerify.install(param, latestLicense.getLicense());
//                LicenseContent install = licenseVerify.install(param, latestLicense.getLicense());
                logger.info("++++++++ 许可证加载结束 ++++++++");
                licenseTimer.setSystemSupport(install!=null);
//                licenseTimer.setSystemSupport(install!=null);
                licenseTimer.setSystemSupport(true);
                    licenseTimer.setLicenseDays(11);
                if (install != null) {
                    Date start = new Date();
                    Date end = install.getNotAfter();
                    Long starTime = start.getTime();
                    Long endTime = end.getTime();
                    Long num = endTime - starTime;//时间戳相差的毫秒数
                    int day = (int) (num / 24 / 60 / 60 / 1000);
                    licenseTimer.setLicenseDays(day);
                }
                return install != null;
                    return true;
//                if (install != null) {
//                    Date start = new Date();
//                    Date end = install.getNotAfter();
//                    Long starTime = start.getTime();
//                    Long endTime = end.getTime();
//                    Long num = endTime - starTime;//时间戳相差的毫秒数
//                    int day = (int) (num / 24 / 60 / 60 / 1000);
//                    licenseTimer.setLicenseDays(day);
//                }
//
//
//                return install != null;
            } catch (Exception e) {
                e.printStackTrace();
                return false;
src/main/resources/application.yml
@@ -1,5 +1,5 @@
server:
  port: 8888
  port: 8081
  servlet:
    context-path: /@pom.build.finalName@
@@ -10,9 +10,9 @@
    enabled: false
  datasource:
    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
#    url: jdbc:sqlserver://127.0.0.1:1433;databasename=jshdasrs
#    url: jdbc:sqlserver://10.10.10.235:1433;databasename=jshdasrs
    url: jdbc:sqlserver://192.168.4.191:50948;databasename=jshdasrs
#    url: jdbc:sqlserver://127.0.0.1:49847;databasename=jshdasrs
    url: jdbc:sqlserver://10.10.10.235:1433;databasename=jshdasrs
#    url: jdbc:sqlserver://192.168.4.191:50948;databasename=jshdasrs
    username: sa
    password: sa@123
  mvc: