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-工单回传") @ApiOperation("mes-工单回传")
@AnonymousAccess @AnonymousAccess
public ResponseEntity<Object> returnPick(@Validated @RequestBody Long pickId) { public ResponseEntity<Object> returnPick(@Validated @RequestBody Long pickId) {
pickService.returnPick(pickId);
return new ResponseEntity<>(ApiResult.success(OK.value(), "", ""), HttpStatus.OK); 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.basicdata.domain.Point;
import com.youchain.businessdata.domain.Pick; import com.youchain.businessdata.domain.Pick;
import com.youchain.businessdata.domain.PickDetail; 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.PickDto;
import com.youchain.businessdata.service.dto.PickQueryCriteria; import com.youchain.businessdata.service.dto.PickQueryCriteria;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
@ -118,23 +119,18 @@ public interface PickService {
/** /**
* JSON * JSON
* *
* @param pickDetail * @param task
*/ */
JSONObject returnPickJson(PickDetail pickDetail); JSONObject returnPickJson(Task task);
/** void returnPickByTask(Task task);
*
*
* @param pickId
*/
void returnPick(Long pickId);
/** /**
* *
* *
* @param url * @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()); List<Task> taskList = taskService.findTaskByCallAgvTask(agvTask.getId());
for (Task task : taskList) { for (Task task : taskList) {
inventoryService.deleteAll(new Long[]{task.getNewInvId()}); 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()); Pick pick = pickService.findByPickCode(agvTask.getLineSlotCode());
pickService.refreshPickStatus(pick); 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) { if (pick.getCallPoint() == null || pick.getCallPoint().length() <= 0) {
pick.setCallPoint(pointCode); pick.setCallPoint(pointCode);
} else { } else {
pick.setCallPoint(pick.getCallPoint() + "," + pointCode); return gdNo + ":" + itemCode + ":" + station + "工单已叫料,请稍等!";
} }
pick.setIsCall(true); pick.setIsCall(true);
pickRepository.save(pick); pickRepository.save(pick);
@ -153,11 +153,10 @@ public class MesServiceImpl implements MesService {
if (pick.getCallPoint() == null || pick.getCallPoint().length() <= 0) { if (pick.getCallPoint() == null || pick.getCallPoint().length() <= 0) {
pick.setCallPoint(pointCode); pick.setCallPoint(pointCode);
} else { } else {
pick.setCallPoint(pick.getCallPoint() + "," + pointCode); return gdNo + ":" + completeCode + ":" + station + "工单已叫料,请稍等!";
} }
pick.setIsCall(true); pick.setIsCall(true);
pickRepository.save(pick); pickRepository.save(pick);
//taskService.callJlTask(pick);
return "叫料成功!"; return "叫料成功!";
} }

View File

@ -169,33 +169,25 @@ public class PickServiceImpl implements PickService {
} }
@Override @Override
public JSONObject returnPickJson(PickDetail pickDetail) { public JSONObject returnPickJson(Task task) {
JSONObject jsonObject = new JSONObject(new LinkedHashMap<>()); 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("MaterialCode", itemCode);
//数量 //数量
jsonObject.put("number", pickDetail.getPickedQty()== null ? 0 : pickDetail.getPickedQty().intValue()); jsonObject.put("number", task.getMoveQty()== null ? 0 : task.getMoveQty().intValue());
//taskId //taskId
jsonObject.put("taskId", pickDetail.getPick().getTaskCode()); jsonObject.put("taskId", task.getPickDetail().getPick().getTaskCode());
return jsonObject; return jsonObject;
} }
@Override @Override
public void returnPick(Long pickId) { public void returnPickByTask(Task task) {
Pick pick = pickRepository.getById(pickId); sendPick(UrlApi.stock(), task);
List<PickDetail> pickDetailList = pickDetailRepository.findByAllPickDetail(pickId);
for (PickDetail pickDetail : pickDetailList) {
if(pickDetail.getPickedQty()>0){
sendPick(UrlApi.stock(), pickDetail);
}
}
refreshPickReturn(pick);
} }
public void refreshPickReturn(Pick pick) { public void refreshPickReturn(Pick pick) {
@ -213,42 +205,43 @@ public class PickServiceImpl implements PickService {
} }
@Override @Override
public void sendPick(String url, PickDetail pickDetail) { public void sendPick(String url, Task task) {
String message = null; String message = null;
String resultJson = null; String resultJson = null;
Dict dict = dictRepository.findDictByName("OPEN"); Dict dict = dictRepository.findDictByName("OPEN");
PickDetail pickDetail=task.getPickDetail();
if (dict == null) { if (dict == null) {
pickDetail.setSourceId(1L); pickDetail.setSourceId(1L);
pickDetail.setSourceName("成功"); pickDetail.setSourceName("成功");
pickDetailRepository.save(pickDetail); 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; return;
} }
resultJson = HttpPostUtil.sendPostReq(url, returnPickJson(pickDetail).toString()); resultJson = HttpPostUtil.sendPostReq(url, returnPickJson(task).toString());
if (StringUtils.isEmpty(resultJson)) { if (StringUtils.isEmpty(resultJson)) {
message = "MES返回信息:接口调用失败"; message = "MES返回信息:接口调用失败";
handleFailure(pickDetail, returnPickJson(pickDetail), resultJson, message); handleFailure(pickDetail, returnPickJson(task), resultJson, message);
return; return;
} }
JSONObject resultObject = JSON.parseObject(resultJson); JSONObject resultObject = JSON.parseObject(resultJson);
if (resultObject == null) { if (resultObject == null) {
message = "MES返回信息:接口数据返回为空"; message = "MES返回信息:接口数据返回为空";
handleFailure(pickDetail, returnPickJson(pickDetail), resultJson, message); handleFailure(pickDetail, returnPickJson(task), resultJson, message);
return; return;
} }
String code = resultObject.getString("code"); String code = resultObject.getString("code");
message = resultObject.getString("message"); message = resultObject.getString("message");
if (!"200".equals(code)) { if (!"200".equals(code)) {
handleFailure(pickDetail, returnPickJson(pickDetail), resultJson, message); handleFailure(pickDetail, returnPickJson(task), resultJson, message);
return; return;
} }
pickDetail.setSourceId(1L); pickDetail.setSourceId(1L);
pickDetail.setSourceName(resultJson); pickDetail.setSourceName(resultJson);
pickDetailRepository.save(pickDetail); 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()); List<AgvTask> agvTasks = agvTaskService.findRepeat(task.getDstStockCode(), task.getDstPointCode(), endPoint.getCode());
if (agvTasks.isEmpty()) { if (agvTasks.isEmpty()) {
//创建任务 //创建任务
agvTask = agvTaskService.createAgvTask(BizStatus.CALL_PICK, task.getDstStock(), task.getDstPointCode(), endPoint.getCode(), "RACK_MOVE"); agvTask = agvTaskService.createAgvTask(BizStatus.CALL_PICK, task.getDstStock(), task.getDstPointCode(), endPoint.getCode(), "RACK_MOVE");
agvTask.setLineSlotCode(pick.getCode()); agvTask.setLineSlotCode(pick.getCode());
agvTaskService.update(agvTask); 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) { 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()); List<Inventory> inventoryList = inventoryService.queryInventory(null, item.getCode(), null, areaName, item.getDept().getId());
if (inventoryList.isEmpty()) { if (inventoryList.isEmpty()) {
if (isReplaceableMaterial(item.getCode())) { if (isReplaceableMaterial(item.getCode())) {
@ -598,6 +599,8 @@ public class TaskServiceImpl implements TaskService {
task.setMoveQty(task.getMoveQty() + moveQty); task.setMoveQty(task.getMoveQty() + moveQty);
task.setDstStock(dstStock); task.setDstStock(dstStock);
task.setDstStockCode(dstStock.getCode()); task.setDstStockCode(dstStock.getCode());
task.setDstPoint(dstStock.getPoint());
task.setDstPointCode(dstStock.getPoint() == null ? null : dstStock.getPoint().getCode());
if (task.getPlanQty() - task.getMoveQty() == 0) { if (task.getPlanQty() - task.getMoveQty() == 0) {
task.setTaskStatus(BizStatus.FINISH); task.setTaskStatus(BizStatus.FINISH);
} else { } else {