*
lsh
2024-10-19 990b97bf3e6e9362faa1830fd0c600d54370efd5
*
4个文件已修改
3个文件已添加
158 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OpenController.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/WcsDataSynchronizationParam.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/WcsRgvListParam.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/WcsTaskListParam.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OpenService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/protocol/RgvProtocol.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -56,6 +56,22 @@
        return openService.wcsTaskDistribution(param);
    }
    /**
     * 数据同步
     */
    @PostMapping("/status/cs/default/v1")
    @AppAuth(memo = "WCS数据同步")
    public synchronized R wcsTaskStatus(@RequestHeader(required = false) String appkey,
                                              @RequestBody Long timestamp,
                                              HttpServletRequest request) {
        auth(appkey, timestamp, request);
        if (Cools.isEmpty(timestamp)) {
            return R.parse(BaseRes.PARAM);
        }
        return openService.wcsTaskStatus(timestamp);
    }
    private void auth(String appkey, Object obj, HttpServletRequest request) {
        log.info("{}接口被访问;appkey:{};请求数据:{}", "open/sensorType/list/auth/v1", appkey, JSON.toJSONString(obj));
src/main/java/com/zy/asrs/entity/param/WcsDataSynchronizationParam.java
New file
@@ -0,0 +1,19 @@
package com.zy.asrs.entity.param;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.utils.TimeCalculatorUtils;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/*
 *  Created by Monkey D. Luffy on 2023.07.19
 * */
@Data
public class WcsDataSynchronizationParam {
    private List<WcsTaskListParam> taskList;      //  是    字符串 工作号
    private List<WcsRgvListParam> rgvList;      //  是    字符串 作业时长
    private Long timestamp;       //  是    字符串 作业小车编号
}
src/main/java/com/zy/asrs/entity/param/WcsRgvListParam.java
New file
@@ -0,0 +1,20 @@
package com.zy.asrs.entity.param;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/*
 *  Created by Monkey D. Luffy on 2023.07.19
 * */
@Data
public class WcsRgvListParam {
    private String taskNo;       //  是    字符串 作业小车编号
    private String rgvNo;       //  是    字符串 作业小车编号
    private String status;     //  是    字符串 任务状态  1:初始  2:作业中  3:完成
    private String currSta = "";    //  是    字符串 结束时间(格式:yyyy--MM-dd HH:mm:ss)
    private List<String> error = new ArrayList<>();       //  是    字符串 异常信息(如无异常则为空数组)
    public WcsRgvListParam(){}
}
src/main/java/com/zy/asrs/entity/param/WcsTaskListParam.java
New file
@@ -0,0 +1,33 @@
package com.zy.asrs.entity.param;
import com.zy.asrs.entity.WrkMast;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/*
 *  Created by Monkey D. Luffy on 2023.07.19
 * */
@Data
public class WcsTaskListParam {
    private String taskNo;      //  是    字符串 工作号
    private String rgvNo;       //  是    字符串 作业小车编号
    private String startSta;    //  是    字符串 起始作业站(环穿)
    private String endSta;      //  是    字符串 目标作业站(环穿)
    private Integer status;     //  是    字符串 任务状态  1:初始  2:作业中  3:完成
    private List<String> error = new ArrayList<>();       //  是    字符串 异常信息(如无异常则为空数组)
    public WcsTaskListParam(){}
    public WcsTaskListParam(WrkMast wrkMast){
        this.taskNo = wrkMast.getWrkNo().toString();
        this.rgvNo = wrkMast.getRgvNo().toString();
        this.startSta = wrkMast.getSourceStaNo().toString();
        this.endSta = wrkMast.getStaNo().toString();
        this.status = wrkMast.getWrkSts().intValue();
        this.error.add(wrkMast.getErrorMemo());
    }
}
src/main/java/com/zy/asrs/service/OpenService.java
@@ -10,7 +10,7 @@
    /**
     *
     */
    List<String> queryStock();
    R wcsTaskStatus(Long timestamp) ;
    R wcsTaskDistribution(WcsTaskDistributionParam param);
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -3,15 +3,27 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.common.R;
import com.zy.asrs.domain.param.RingThroughParam;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.entity.param.WcsDataSynchronizationParam;
import com.zy.asrs.entity.param.WcsRgvListParam;
import com.zy.asrs.entity.param.WcsTaskDistributionParam;
import com.zy.asrs.entity.param.WcsTaskListParam;
import com.zy.asrs.service.OpenService;
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.utils.Utils;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.RgvSlave;
import com.zy.core.model.protocol.RgvProtocol;
import com.zy.core.properties.SlaveProperties;
import com.zy.core.thread.RgvThread;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -22,14 +34,11 @@
@Service
public class OpenServiceImpl implements OpenService {
    @Autowired
    private SlaveProperties slaveProperties;
    @Autowired
    private WrkMastService wrkMastService;
    @Override
    @Transactional
    public List<String> queryStock() {
        return null;
    }
    @Override
    @Transactional
@@ -51,4 +60,46 @@
        return R.ok();
    }
    @Override
    @Transactional
    public R wcsTaskStatus(Long timestamp) {
        try{
            WcsDataSynchronizationParam wcsDataSynchronizationParam = new WcsDataSynchronizationParam();
            List<WcsTaskListParam> wcsTaskListParamList = new ArrayList<>();
            List<WcsRgvListParam> wcsRgvListParamList = new ArrayList<>();
            List<WrkMast> wrkMastList = wrkMastService.selectList(new EntityWrapper<>());
            for (WrkMast wrkMast : wrkMastList){
                WcsTaskListParam wcsTaskListParam = new WcsTaskListParam(wrkMast);
                wcsTaskListParamList.add(wcsTaskListParam);
            }
            for (RgvSlave rgv : slaveProperties.getRgv()) {
                // 获取RGV信息
                RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
                if (rgvThread == null) {
                    continue;
                }
                RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
                if (rgvProtocol == null) {
                    continue;
                }
                WcsRgvListParam wcsRgvListParam = new WcsRgvListParam();
                wcsRgvListParam.setRgvNo(rgv.getId().toString());
                wcsRgvListParam.setTaskNo(Cools.isEmpty(rgvProtocol.getTaskNo1()) ? null:rgvProtocol.getTaskNo1().toString());
                wcsRgvListParam.setStatus(rgvProtocol.statusType.desc);
                List<String> arrayList = new ArrayList<>();
                if (rgvProtocol.getAlarm()!=0){
                    arrayList.add(rgvProtocol.getAlarm$());
                }
                wcsRgvListParam.setError(arrayList);
                wcsRgvListParamList.add(wcsRgvListParam);
            }
            wcsDataSynchronizationParam.setTaskList(wcsTaskListParamList);
            wcsDataSynchronizationParam.setRgvList(wcsRgvListParamList);
            wcsDataSynchronizationParam.setTimestamp(timestamp);
            return R.ok().add(wcsDataSynchronizationParam);
        } catch (Exception e){
            return R.error("异常").add("异常信息:"+e);
        }
    }
}
src/main/java/com/zy/core/model/protocol/RgvProtocol.java
@@ -207,4 +207,9 @@
        return RgvPos.intValue();
    }
    public String getAlarm$(){
        //需要根据现场改造  根据读到的值获取对应站点位置
        return null;
    }
}