From 1a1e3398d15027a65e56e0ed82e54f3a4feea0b6 Mon Sep 17 00:00:00 2001 From: ZY <zc857179121@qq.com> Date: 星期五, 25 四月 2025 09:49:25 +0800 Subject: [PATCH] 123 --- src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java | 84 +++++++++++++++--------------------------- 1 files changed, 30 insertions(+), 54 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java index bc0e484..de36ebd 100644 --- a/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java @@ -1,23 +1,22 @@ package com.zy.asrs.service.impl; import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.core.common.Cools; import com.core.exception.CoolException; import com.zy.asrs.domain.enums.TaskStatusType; import com.zy.asrs.domain.enums.WorkNoType; import com.zy.asrs.entity.StaDesc; -import com.zy.asrs.mapper.TaskWrkMapper; import com.zy.asrs.entity.TaskWrk; +import com.zy.asrs.mapper.TaskWrkMapper; import com.zy.asrs.service.ApiLogService; import com.zy.asrs.service.StaDescService; import com.zy.asrs.service.TaskWrkService; -import com.baomidou.mybatisplus.service.impl.ServiceImpl; -import com.zy.asrs.utils.CommandUtils; +import com.zy.asrs.service.ToWmsService; import com.zy.asrs.utils.Utils; import com.zy.common.service.CommonService; -import com.zy.common.utils.HttpHandler; import com.zy.core.DevpThread; +import com.zy.core.cache.MessageQueue; import com.zy.core.cache.SlaveConnection; import com.zy.core.enums.CrnTaskModeType; import com.zy.core.enums.SlaveType; @@ -27,13 +26,11 @@ import com.zy.core.model.protocol.StaProtocol; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import java.util.Date; -import java.util.HashMap; import java.util.List; @Slf4j @@ -42,14 +39,17 @@ @Autowired private CommonService commonService; + @Autowired private StaDescService staDescService; - @Value("${wms.url}") - private String wmsUrl; - @Value("${wms.taskStatusFeedbackPath}") - private String taskStatusFeedbackPath; + + @Autowired private ApiLogService apiLogService; + + + @Autowired + private ToWmsService toWmsService; @Override public TaskWrk selectByTaskNo(String taskNo) { @@ -59,6 +59,11 @@ @Override public TaskWrk selectByStartPoint(String taskNo) { return this.baseMapper.selectByStartPoint(taskNo); + } + + @Override + public TaskWrk selectByBarcode(String barcode) { + return this.baseMapper.selectByBarcode(barcode); } @Override @@ -90,7 +95,7 @@ throw new CoolException("鏈帴鏀跺埌璧风偣鍜岀粓鐐癸紝涓嶈繘琛屾淳鍙�"); } startup(taskWrk, userId); - }else if(taskWrk.getIoType() == 2){ + } else if (taskWrk.getIoType() == 2) { //2.鍑哄簱 stockOut(taskWrk, userId); } else if (taskWrk.getIoType() == 3) { @@ -115,7 +120,7 @@ taskWrk.setCrnNo(staDesc.getCrnNo());//鍫嗗灈鏈哄彿 taskWrk.setModiTime(new Date()); taskWrk.setModiUser(userId); - updateById(taskWrk); + super.updateById(taskWrk); CrnSlave.CrnStn crnStn = Utils.getCrnStnByStaNo(staDesc.getCrnStn(), true); if (crnStn == null) { @@ -133,41 +138,12 @@ crnCommand.setDestinationPosX(Utils.getRowShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鍒� crnCommand.setDestinationPosY(Utils.getBayShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅灞� crnCommand.setDestinationPosZ(Utils.getLevShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鎺� - crnCommand.setCommand((short)1); - if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(5, crnCommand),false)) { + crnCommand.setCommand((short) 1); + if (!MessageQueue.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(5, crnCommand))) { log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand)); throw new CoolException("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�"); - }else{ - try{ - HashMap<String, Object> headParam = new HashMap<>(); - headParam.put("taskNo",taskWrk.getTaskNo()); - headParam.put("status",taskWrk.getStatus()); - headParam.put("ioType",taskWrk.getIoType()); - headParam.put("barcode",taskWrk.getBarcode()); - headParam.put("reportTime",new Date()); - String response; - response = new HttpHandler.Builder() - // .setHeaders(headParam) - .setUri(wmsUrl) - .setPath(taskStatusFeedbackPath) - .setJson(JSON.toJSONString(headParam)) - .build() - .doPost(); - - JSONObject jsonObject = JSON.parseObject(response); - apiLogService.save("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms" - ,wmsUrl+taskStatusFeedbackPath - ,null - ,"127.0.0.1" - ,JSON.toJSONString(headParam) - ,response - ,true - ); - }catch (Exception e){ - log.error("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触", taskWrk); - throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触"); - } - + } else { + toWmsService.addReportLog(taskWrk); } } @@ -186,7 +162,7 @@ taskWrk.setCrnNo(staDesc.getCrnNo());//鍫嗗灈鏈哄彿 taskWrk.setModiTime(new Date()); taskWrk.setModiUser(userId); - updateById(taskWrk); + super.updateById(taskWrk); CrnSlave.CrnStn crnStn = Utils.getCrnStnByStaNo(staDesc.getCrnStn(), false); if (crnStn == null) { @@ -204,8 +180,8 @@ crnCommand.setDestinationPosX(crnStn.getBay().shortValue()); // 鐩爣搴撲綅鎺� crnCommand.setDestinationPosY(crnStn.getLev().shortValue()); // 鐩爣搴撲綅鍒� crnCommand.setDestinationPosZ(crnStn.getRow().shortValue()); // 鐩爣搴撲綅灞� - crnCommand.setCommand((short)1); - if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(5, crnCommand))) { + crnCommand.setCommand((short) 1); + if (!MessageQueue.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(5, crnCommand))) { log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand)); throw new CoolException("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�"); } @@ -215,7 +191,7 @@ StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo()).clone(); staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue()); staProtocol.setStaNo((short) Integer.parseInt(taskWrk.getTargetPoint())); - if (!CommandUtils.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(3, staProtocol))) { + if (!MessageQueue.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(3, staProtocol))) { log.error("杈撻�佺嚎鍛戒护鐢熸垚澶辫触锛屽爢鍨涙満鍙�={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand)); throw new CoolException("杈撻�佺嚎鍛戒护鐢熸垚澶辫触"); } @@ -224,9 +200,9 @@ @Override public void locMove(TaskWrk taskWrk, Long userId) { //搴撴牸绉昏浇浠诲姟娲惧彂 - if (Cools.isEmpty(taskWrk.getTargetPoint())){ - return; - } + if (Cools.isEmpty(taskWrk.getTargetPoint())) { + return; + } int workNo = commonService.getWorkNo(WorkNoType.OTHER.type);//鑾峰彇宸ヤ綔鍙� taskWrk.setWrkNo(workNo);//宸ヤ綔鍙� taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//娲惧彂鐘舵�� @@ -235,7 +211,7 @@ //taskWrk.setCrnNo(staDesc.getCrnNo());//鍫嗗灈鏈哄彿 taskWrk.setModiTime(new Date()); taskWrk.setModiUser(userId); - updateById(taskWrk); + super.updateById(taskWrk); } @Override -- Gitblit v1.9.1