自动化立体仓库 - WMS系统
zwl
昨天 1b31d14e361c01fcd4e5c2dcfe0b6fb3a63c92fc
src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java
@@ -24,6 +24,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.io.IOException;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@@ -181,17 +182,10 @@
                if (!wrkMastService.updateById(mast)) {
                    throw new CoolException("任务状态修改失败!!");
                }
                //wcs任务取消接口
            } else if (params.getMsgType().equals("task_cancel")) {
                if (mast.getIoType() != null && mast.getIoType() > 100 && mast.getWrkSts() < 14) {
                    mast.setPauseMk("Y");
//                    mast.setUpdMk("WCS_CANCELLED");
//                    mast.setManuType("WCS_CANCELLED");
                    mast.setModiTime(new Date());
                    if (!wrkMastService.updateById(mast)) {
                        throw new CoolException("task cancel update fail");
                    }
                }
            }else if (params.getMsgType().equals("task_arrive")) {
                workService.cancelWrkMast(String.valueOf(mast.getWrkNo()), 9955L);
            } else if (params.getMsgType().equals("task_arrive")) {
                //到达目的地
                //如果出库任务是跨区则需要生成新的入库任务入库
                if(!Cools.isEmpty(mast.getLocNo())){
@@ -219,13 +213,14 @@
    @Override
    public R pauseOutTasks(StopOutTaskParams params) {
        if (params == null || params.getTasks() == null || params.getTasks().isEmpty()) {
            return R.ok("no tasks to stop");
            return R.ok("无任务需要取消");
        }
        if (!Boolean.parseBoolean(String.valueOf(switchValue))) {
            return R.ok("wcs switch off");
            return R.ok("WCS开关关闭");
        }
        String response;
        try {
            log.info("调用WCS取消出库任务, request={}", JSON.toJSONString(params));
            response = new HttpHandler.Builder()
                    .setUri(wcs_address)
                    .setPath(stopOutTask)
@@ -235,15 +230,27 @@
                    .build()
                    .doPost();
            JSONObject jsonObject = JSON.parseObject(response == null ? "{}" : response);
            log.info("WCS取消出库任务返回, response={}", response);
            Integer code = jsonObject.getInteger("code");
            if (code == null || !Objects.equals(code, 200)) {
                String msg = jsonObject.getString("msg");
                throw new CoolException(Cools.isEmpty(msg) ? "WCS stop out task failed" : msg);
                throw new CoolException(Cools.isEmpty(msg) ? "WCS取消出库任务失败" : msg);
            }
            JSONObject data = jsonObject.getJSONObject("data");
            List<String> successList = data == null || data.getJSONArray("successList") == null
                    ? Collections.emptyList()
                    : data.getJSONArray("successList").toJavaList(String.class);
            List<String> failList = data == null || data.getJSONArray("failList") == null
                    ? Collections.emptyList()
                    : data.getJSONArray("failList").toJavaList(String.class);
            R result = R.ok(Cools.isEmpty(jsonObject.getString("msg")) ? "操作成功" : jsonObject.getString("msg"));
            result.put("data", data);
            result.put("successList", successList);
            result.put("failList", failList);
            return result;
        } catch (IOException e) {
            throw new CoolException("call WCS stop out task fail: " + e.getMessage());
            throw new CoolException("调用WCS取消出库任务失败: " + e.getMessage());
        }
        return R.ok();
    }
}