package com.zy.asrs.service;
|
|
import com.core.common.R;
|
import com.zy.asrs.entity.WrkDetl;
|
import com.zy.asrs.entity.param.*;
|
import com.zy.asrs.entity.result.OpenOrderCompeteResult;
|
import com.zy.asrs.entity.result.StockVo;
|
|
import java.util.Map;
|
import java.util.List;
|
|
public interface OpenService {
|
|
/**
|
* 添加入库单
|
*/
|
void pakinOrderCreate(OpenOrderPakinParam param);
|
|
/**
|
* 入库单回写
|
*/
|
List<OpenOrderCompeteResult> pakinOrderComplete(OpenOrderCompleteParam param);
|
|
/**
|
* 添加入库单
|
*/
|
void pakoutOrderCreate(OpenOrderPakoutParam param);
|
|
/**
|
* pause out order
|
*/
|
R pakoutOrderPause(OpenOrderPakoutPauseParam param);
|
|
/**
|
* execute out order
|
*/
|
R pakoutOrderExecute(OpenOrderPakoutExecuteParam param);
|
|
/**
|
* 入库单回写
|
*/
|
List<OpenOrderCompeteResult> pakoutOrderComplete(OpenOrderCompleteParam param);
|
|
/**
|
* 库存统计
|
*/
|
List<StockVo> queryStock();
|
|
/**
|
* 按托盘码批量重报入库历史到 ERP。
|
*/
|
R reportPakinHistoryToErp(List<String> barcodes);
|
|
// ------------------------------------------
|
|
// 打包上线
|
void packageUp(PackParam param);
|
|
/**
|
* 同步商品信息
|
* @param param
|
*/
|
void syncMat(MatSyncParam param);
|
|
void taskArmReport(TaskArmReportParam param);
|
void taskArmCycleResult(TaskArmCycleResultParam param);
|
void taskArmWorkspaceStatus(TaskArmWorkspaceStatusParam param);
|
boolean TaskArmLocStatus(ArmOKParam param);
|
void taskArmWorkOrderStatus(OrderArmEndParam param);
|
List<AgvLocListDetlParam> getAgvLocList(AgvLocListParam param);
|
boolean bindCtnrAndBin(bindCtnrAndBinParam param);
|
boolean taskArmOrderResult(OrderArmEndParam param);
|
List<PickWrkDetlListParam> getPickList(PdaPickListParam param);
|
|
/**
|
* 输出所有入库站和出库站站点
|
* @return
|
*/
|
R stationAll ();
|
|
/**
|
* 7.3 组托信息下发
|
*/
|
R mesToComb(MesToCombParam param);
|
|
/**
|
* 7.11 出库通知单(传递有序无序规则)
|
*/
|
R outOrder(OutTaskParam param,int count,int i);
|
|
/**
|
* 7.11 出库通知单(传递有序无序规则)批量建单,同一事务:任一行失败则全部回滚。
|
*/
|
R outOrderBatch(Map<String, List<OutTaskParam>> linesByBatchSeq,int count);
|
|
/**
|
* ERP / IoT 出库通知先生成出库订单,不直接生成任务。
|
*
|
* 该方法只负责把接口参数落到 man_order_pakout / man_order_detl_pakout。
|
* 库位锁定、WrkMast/WrkDetl 创建和 WCS 下发都留给后续定时生成任务流程处理。
|
*/
|
R outOrderCreatePakoutOrder(List<OutTaskParam> params);
|
|
/**
|
* 创建出库订单,并指定订单是否立即允许定时器生成任务。
|
*
|
* executable=true:订单 status=1,适用于 ERP /outOrder,创建后自动生成并下发。
|
* executable=false:订单 status=0,适用于 IoT/MQTT 预创建,必须调用执行接口后才生成任务。
|
*
|
* 该开关只控制“是否允许生成后续任务”,不代表订单完成状态:
|
* - 订单完成进度仍由 settle 和明细 work_qty/qty 判断;
|
* - 中止/恢复继续复用同一个 status 字段,避免新增数据库字段。
|
*/
|
R outOrderCreatePakoutOrder(List<OutTaskParam> params, boolean executable);
|
|
/**
|
* 扫描待生成任务的出库订单,按任务批次键批量生成任务。
|
*
|
* 调度器入口:会遍历启用中的出库订单,每个订单最多生成一个当前可放行的批次。
|
* 高站点批次键为 entryWmsCode;低站点批次键为 orderNo。
|
*/
|
R generatePendingPakoutOrderTasks();
|
|
/**
|
* 生成指定出库订单当前允许的一个批次任务。
|
*
|
* orderNo 对应 WrkMast.userNo;任务批次键在实现中会强制作为 WrkMast.batchSeq。
|
*/
|
R generatePendingPakoutOrderTasks(String orderNo);
|
|
/**
|
* 7.9 出库异常变动上报
|
*/
|
R outOrderAbnormalReport(OutOrderAbnormalReportParam param);
|
|
/**
|
* 7.10 出库异常变动处理
|
*/
|
R outOrderAbnormalHandle(OutOrderAbnormalHandleParam param);
|
}
|