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