no message
parent
7ac33a189d
commit
6c61254f09
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -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 "叫料成功!";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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 {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue