no message

main
HUOJIN\92525 2025-02-24 13:25:44 +08:00
parent 7ac33a189d
commit 6c61254f09
6 changed files with 35 additions and 40 deletions

View File

@ -91,7 +91,6 @@ public class PickController {
@ApiOperation("mes-工单回传")
@AnonymousAccess
public ResponseEntity<Object> returnPick(@Validated @RequestBody Long pickId) {
pickService.returnPick(pickId);
return new ResponseEntity<>(ApiResult.success(OK.value(), "", ""), HttpStatus.OK);
}

View File

@ -20,6 +20,7 @@ import com.youchain.RequestData.Yclbl;
import com.youchain.basicdata.domain.Point;
import com.youchain.businessdata.domain.Pick;
import com.youchain.businessdata.domain.PickDetail;
import com.youchain.businessdata.domain.Task;
import com.youchain.businessdata.service.dto.PickDto;
import com.youchain.businessdata.service.dto.PickQueryCriteria;
import org.springframework.data.domain.Pageable;
@ -118,23 +119,18 @@ public interface PickService {
/**
* JSON
*
* @param pickDetail
* @param task
*/
JSONObject returnPickJson(PickDetail pickDetail);
JSONObject returnPickJson(Task task);
/**
*
*
* @param pickId
*/
void returnPick(Long pickId);
void returnPickByTask(Task task);
/**
*
*
* @param url
* @param pickDetail
* @param task
*/
void sendPick(String url, PickDetail pickDetail);
void sendPick(String url, Task task);
}

View File

@ -784,6 +784,8 @@ public class KMReServiceImpl implements KMReService {
List<Task> taskList = taskService.findTaskByCallAgvTask(agvTask.getId());
for (Task task : taskList) {
inventoryService.deleteAll(new Long[]{task.getNewInvId()});
//回传MES
pickService.returnPickByTask(task);
}
//点位占用
@ -795,9 +797,12 @@ public class KMReServiceImpl implements KMReService {
Pick pick = pickService.findByPickCode(agvTask.getLineSlotCode());
pickService.refreshPickStatus(pick);
//回传MES
pickService.returnPick(pick.getId());
//清空叫料点,等待下一次叫料
pick.setCallPoint(null);
pick.setIsCall(false);
pickService.update(pick);
}
/**

View File

@ -136,7 +136,7 @@ public class MesServiceImpl implements MesService {
if (pick.getCallPoint() == null || pick.getCallPoint().length() <= 0) {
pick.setCallPoint(pointCode);
} else {
pick.setCallPoint(pick.getCallPoint() + "," + pointCode);
return gdNo + ":" + itemCode + ":" + station + "工单已叫料,请稍等!";
}
pick.setIsCall(true);
pickRepository.save(pick);
@ -153,11 +153,10 @@ public class MesServiceImpl implements MesService {
if (pick.getCallPoint() == null || pick.getCallPoint().length() <= 0) {
pick.setCallPoint(pointCode);
} else {
pick.setCallPoint(pick.getCallPoint() + "," + pointCode);
return gdNo + ":" + completeCode + ":" + station + "工单已叫料,请稍等!";
}
pick.setIsCall(true);
pickRepository.save(pick);
//taskService.callJlTask(pick);
return "叫料成功!";
}

View File

@ -169,33 +169,25 @@ public class PickServiceImpl implements PickService {
}
@Override
public JSONObject returnPickJson(PickDetail pickDetail) {
public JSONObject returnPickJson(Task task) {
JSONObject jsonObject = new JSONObject(new LinkedHashMap<>());
//需求工位
jsonObject.put("OpName", pickDetail.getPick().getStation());
jsonObject.put("OpName", task.getPickDetail().getPick().getStation());
//工单号
jsonObject.put("OrderCode", pickDetail.getPick().getGdCode());
jsonObject.put("OrderCode", task.getPickDetail().getPick().getGdCode());
//物料编码
String itemCode = pickDetail.getPropC3() == null ? pickDetail.getItem().getCode() : pickDetail.getPropC3();
String itemCode = task.getPickDetail().getPropC3() == null ? task.getPickDetail().getItem().getCode() : task.getPickDetail().getPropC3();
jsonObject.put("MaterialCode", itemCode);
//数量
jsonObject.put("number", pickDetail.getPickedQty()== null ? 0 : pickDetail.getPickedQty().intValue());
jsonObject.put("number", task.getMoveQty()== null ? 0 : task.getMoveQty().intValue());
//taskId
jsonObject.put("taskId", pickDetail.getPick().getTaskCode());
jsonObject.put("taskId", task.getPickDetail().getPick().getTaskCode());
return jsonObject;
}
@Override
public void returnPick(Long pickId) {
Pick pick = pickRepository.getById(pickId);
List<PickDetail> pickDetailList = pickDetailRepository.findByAllPickDetail(pickId);
for (PickDetail pickDetail : pickDetailList) {
if(pickDetail.getPickedQty()>0){
sendPick(UrlApi.stock(), pickDetail);
}
}
refreshPickReturn(pick);
public void returnPickByTask(Task task) {
sendPick(UrlApi.stock(), task);
}
public void refreshPickReturn(Pick pick) {
@ -213,42 +205,43 @@ public class PickServiceImpl implements PickService {
}
@Override
public void sendPick(String url, PickDetail pickDetail) {
public void sendPick(String url, Task task) {
String message = null;
String resultJson = null;
Dict dict = dictRepository.findDictByName("OPEN");
PickDetail pickDetail=task.getPickDetail();
if (dict == null) {
pickDetail.setSourceId(1L);
pickDetail.setSourceName("成功");
pickDetailRepository.save(pickDetail);
//保存日志
logService.saveLogInfo(returnPickJson(pickDetail), pickDetail.getPick().getCode(), UrlApi.stock(), resultJson, "工单回传", 200, "info");
logService.saveLogInfo(returnPickJson(task), pickDetail.getPick().getCode(), UrlApi.stock(), resultJson, "工单回传", 200, "info");
return;
}
resultJson = HttpPostUtil.sendPostReq(url, returnPickJson(pickDetail).toString());
resultJson = HttpPostUtil.sendPostReq(url, returnPickJson(task).toString());
if (StringUtils.isEmpty(resultJson)) {
message = "MES返回信息:接口调用失败";
handleFailure(pickDetail, returnPickJson(pickDetail), resultJson, message);
handleFailure(pickDetail, returnPickJson(task), resultJson, message);
return;
}
JSONObject resultObject = JSON.parseObject(resultJson);
if (resultObject == null) {
message = "MES返回信息:接口数据返回为空";
handleFailure(pickDetail, returnPickJson(pickDetail), resultJson, message);
handleFailure(pickDetail, returnPickJson(task), resultJson, message);
return;
}
String code = resultObject.getString("code");
message = resultObject.getString("message");
if (!"200".equals(code)) {
handleFailure(pickDetail, returnPickJson(pickDetail), resultJson, message);
handleFailure(pickDetail, returnPickJson(task), resultJson, message);
return;
}
pickDetail.setSourceId(1L);
pickDetail.setSourceName(resultJson);
pickDetailRepository.save(pickDetail);
//保存日志
logService.saveLogInfo(returnPickJson(pickDetail), pickDetail.getPick().getCode(), UrlApi.stock(), resultJson, "工单回传", 200, "info");
logService.saveLogInfo(returnPickJson(task), pickDetail.getPick().getCode(), UrlApi.stock(), resultJson, "工单回传", 200, "info");
}

View File

@ -285,6 +285,7 @@ public class TaskServiceImpl implements TaskService {
List<AgvTask> agvTasks = agvTaskService.findRepeat(task.getDstStockCode(), task.getDstPointCode(), endPoint.getCode());
if (agvTasks.isEmpty()) {
//创建任务
agvTask = agvTaskService.createAgvTask(BizStatus.CALL_PICK, task.getDstStock(), task.getDstPointCode(), endPoint.getCode(), "RACK_MOVE");
agvTask.setLineSlotCode(pick.getCode());
agvTaskService.update(agvTask);
@ -326,7 +327,7 @@ public class TaskServiceImpl implements TaskService {
private String allocateInternal(Pick pick, PickDetail pickDetail, Item item, String boxAreaName, double quantity) {
// 查询物料所在库区的库存
String areaName = stockTypeToAreaMap.getValueByKey(item.getGoodType());
String areaName = boxAreaName.equals(AreaNameDic.DJFBQ) ? AreaNameDic.DJQ : AreaNameDic.XJQ;
List<Inventory> inventoryList = inventoryService.queryInventory(null, item.getCode(), null, areaName, item.getDept().getId());
if (inventoryList.isEmpty()) {
if (isReplaceableMaterial(item.getCode())) {
@ -598,6 +599,8 @@ public class TaskServiceImpl implements TaskService {
task.setMoveQty(task.getMoveQty() + moveQty);
task.setDstStock(dstStock);
task.setDstStockCode(dstStock.getCode());
task.setDstPoint(dstStock.getPoint());
task.setDstPointCode(dstStock.getPoint() == null ? null : dstStock.getPoint().getCode());
if (task.getPlanQty() - task.getMoveQty() == 0) {
task.setTaskStatus(BizStatus.FINISH);
} else {