| #region << 版 本 注 释 >> | 
| /*---------------------------------------------------------------- | 
|  * 命名空间:WIDESEA_ITaskInfoService | 
|  * 创建者:胡童庆 | 
|  * 创建时间:2024/8/2 16:13:36 | 
|  * 版本:V1.0.0 | 
|  * 描述: | 
|  * | 
|  * ---------------------------------------------------------------- | 
|  * 修改人: | 
|  * 修改时间: | 
|  * 版本:V1.0.1 | 
|  * 修改说明: | 
|  *  | 
|  *----------------------------------------------------------------*/ | 
| #endregion << 版 本 注 释 >> | 
|   | 
| using Microsoft.AspNetCore.Mvc; | 
| using SqlSugar; | 
| using System; | 
| using System.Collections.Generic; | 
| using System.Diagnostics.CodeAnalysis; | 
| using System.Linq; | 
| using System.Text; | 
| using System.Threading.Tasks; | 
| using WIDESEA_Common.CommonEnum; | 
| using WIDESEA_Core; | 
| using WIDESEA_Core.BaseServices; | 
| using WIDESEA_Core.Enums; | 
| using WIDESEA_DTO; | 
| using WIDESEA_DTO.ERP; | 
| using WIDESEA_DTO.MES; | 
| using WIDESEA_DTO.Stock; | 
| using WIDESEA_DTO.Task; | 
| using WIDESEA_ITaskInfoRepository; | 
| using WIDESEA_Model.Models; | 
|   | 
| namespace WIDESEA_ITaskInfoService | 
| { | 
|     public interface ITaskService : IService<Dt_Task> | 
|     { | 
|         ITaskRepository Repository { get; } | 
|   | 
|         /// <summary> | 
|         ///  | 
|         /// </summary> | 
|         /// <param name="tasks"></param> | 
|         /// <param name="agvDescription"></param> | 
|         /// <returns></returns> | 
|         WebResponseContent PushTasksToWCS(List<Dt_Task> tasks, string agvDescription = "", string agvtaskNum = ""); | 
|   | 
|         /// <summary> | 
|         ///  | 
|         /// </summary> | 
|         /// <param name="taskNum"></param> | 
|         /// <param name="agvDescription"></param> | 
|         /// <returns></returns> | 
|         WebResponseContent PushTasksToWCSSingle(int taskNum, string agvDescription = "", string agvtaskNum = ""); | 
|   | 
|         /// <summary> | 
|         /// 申请入库任务(PDA使用,仅托盘绑定入库站台,不分配货位) | 
|         /// </summary> | 
|         /// <param name="palletCode">托盘号</param> | 
|         /// <param name="stationCode">站台号</param> | 
|         /// <returns></returns> | 
|         //WebResponseContent RequestInboundTask(string palletCode, string stationCode); | 
|         WebResponseContent RequestInboundTask(SaveModel saveModel); | 
|         /// <summary> | 
|         /// 查询质检数量 | 
|         /// </summary> | 
|         WebResponseContent InQualityConfirm(string palletCode); | 
|         /// <summary> | 
|         /// 空箱入库 | 
|         /// </summary> | 
|         /// <param name="barcode"></param> | 
|         /// <param name="address"></param> | 
|         /// <returns></returns> | 
|         WebResponseContent InEmpty(string barcode, string address, int WarehouseId); | 
|         /// <summary> | 
|         /// 空箱出库 | 
|         /// </summary> | 
|         /// <param name="qty">数量</param> | 
|         /// <param name="address">地址</param> | 
|         /// <returns></returns> | 
|         WebResponseContent OutEmpty(int qty, string address, int WarehouseId, string barcode); | 
|   | 
|         /// <summary> | 
|         /// WCS申请入库 | 
|         /// </summary> | 
|         /// <param name="stationCode"></param> | 
|         /// <param name="roadwayNo"></param> | 
|         /// <param name="palletCode"></param> | 
|         /// <returns></returns> | 
|         WebResponseContent DeviceRequestInboundTask(string stationCode, string roadwayNo, string palletCode,string materielBoxCode = ""); | 
|   | 
|         /// <summary> | 
|         /// 仅申请任务,让WCS根据路由确定下一地址 | 
|         /// </summary> | 
|         /// <param name="stationCode"></param> | 
|         /// <param name="palletCode"></param> | 
|         /// <returns></returns> | 
|         WebResponseContent DeviceRequestInboundTaskSimple(string stationCode, string palletCode); | 
|   | 
|         /// <summary> | 
|         ///  | 
|         /// </summary> | 
|         /// <param name="stationCode"></param> | 
|         /// <param name="palletCode"></param> | 
|         /// <param name="roadwayNos"></param> | 
|         /// <param name="heightType"></param> | 
|         /// <returns></returns> | 
|         WebResponseContent DeviceRequestInboundTaskByRoadways(string stationCode, string palletCode, List<string> roadwayNos, int heightType); | 
|   | 
|         /// <summary> | 
|         /// 入库任务申请分配货位 | 
|         /// </summary> | 
|         /// <param name="taskNum">任务号</param> | 
|         /// <param name="roadwayNo">巷道号</param> | 
|         /// <param name="palletType">托盘类型</param> | 
|         /// <returns></returns> | 
|         WebResponseContent AssignInboundTaskLocation(int taskNum, string roadwayNo); | 
|   | 
|         /// <summary> | 
|         ///  | 
|         /// </summary> | 
|         /// <param name="taskNum"></param> | 
|         /// <param name="roadwayNo"></param> | 
|         /// <param name="heightType"></param> | 
|         /// <returns></returns> | 
|         WebResponseContent AssignInboundTaskLocationByHeight(int taskNum, string roadwayNo, int heightType); | 
|   | 
|         WebResponseContent RequestZHInboundTask(string agvTaskCode, string palletCode, string palletType, string materialLot); | 
|   | 
|         /// <summary> | 
|         ///  | 
|         /// </summary> | 
|         /// <param name="taskNum"></param> | 
|         /// <returns></returns> | 
|         Task<WebResponseContent> TaskCompleted(int taskNum); | 
|   | 
|         /// <summary> | 
|         ///  | 
|         /// </summary> | 
|         /// <param name="taskNum"></param> | 
|         /// <returns></returns> | 
|         WebResponseContent InboundTaskCompleted(int taskNum); | 
|         /// <summary> | 
|         /// 测试架出仓 | 
|         /// </summary> | 
|         /// <param name="model"></param> | 
|         /// <returns></returns> | 
|         MesResponseContent TestToolOut(TestToolOutModel model); | 
|   | 
|         //防焊到线边 | 
|         MesResponseContent SolderMaskOut(SolderMaskOut model); | 
|         //防焊派工 | 
|         MesResponseContent SolderMaskOutNotice(SolderMaskOutNotice model); | 
|         /// <summary> | 
|         /// 生成出库任务 | 
|         /// </summary> | 
|         /// <param name="orderDetailId"></param> | 
|         /// <param name="stockSelectViews"></param> | 
|         /// <returns></returns> | 
|         WebResponseContent GenerateOutboundTask(int orderDetailId, List<StockSelectViewDTO> stockSelectViews); | 
|   | 
|         /// <summary> | 
|         /// 生成出库任务 | 
|         /// </summary> | 
|         /// <param name="keys"></param> | 
|         /// <returns></returns> | 
|         WebResponseContent GenerateOutboundTasks(int[] keys); | 
|   | 
|         /// <summary> | 
|         /// 出库任务完成 | 
|         /// </summary> | 
|         /// <param name="taskNum">任务号</param> | 
|         /// <returns></returns> | 
|         WebResponseContent OutboundTaskCompleted(int taskNum); | 
|   | 
|         /// <summary> | 
|         /// 判断是否需要移库 | 
|         /// </summary> | 
|         /// <param name="taskNum">任务号</param> | 
|         /// <param name="locationCode">入库或出库的货位号</param> | 
|         /// <returns></returns> | 
|         MesResponseContent TestToolBack(TestToolBackModel backModel); | 
|   | 
|         /// <summary> | 
|         /// 测试架报废 | 
|         /// </summary> | 
|         /// <param name="toolScrap"></param> | 
|         /// <returns></returns> | 
|         MesResponseContent TestScrap(TestToolScrap toolScraps); | 
|   | 
|         /// <summary> | 
|         ///  | 
|         /// </summary> | 
|         /// <param name="taskNum"></param> | 
|         /// <param name="locationCode"></param> | 
|         /// <returns></returns> | 
|         WebResponseContent IsRelocation(int taskNum, string locationCode); | 
|   | 
|         /// <summary> | 
|         ///  | 
|         /// </summary> | 
|         /// <param name="toolSynInfo"></param> | 
|         /// <returns></returns> | 
|         WebResponseContent TestSynStock(TestToolSynInfo toolSynInfo); | 
|   | 
|         /// <summary> | 
|         /// 选择库存生成出库任务 | 
|         /// </summary> | 
|         /// <param name="id"></param> | 
|         /// <returns></returns> | 
|         WebResponseContent Outbound(int id); | 
|         WebResponseContent TakeOutbound(List<StockViewDTO> stockViews); | 
|   | 
|         /// <summary> | 
|         /// 物料出库,WMS同步出库物料批次至MES | 
|         /// </summary> | 
|         /// <param name="model"></param> | 
|         /// <returns></returns> | 
|         WebResponseContent UploadMesMaterialLotaAcept(MesMaterialLotaAceptModel model); | 
|   | 
|         /// <summary> | 
|         /// 基板出库 | 
|         /// </summary> | 
|         /// <param name="model"></param> | 
|         /// <returns></returns> | 
|         MesResponseContent SubstrateOut(SubstrateOutModel model); | 
|   | 
|         /// <summary> | 
|         /// 基板余料退库 | 
|         /// </summary> | 
|         /// <param name="model"></param> | 
|         /// <returns></returns> | 
|         MesResponseContent SubstrateBack(SubstrateBackModel model); | 
|   | 
|         /// <summary> | 
|         /// PP大卷出库-进行分卷 | 
|         /// </summary> | 
|         /// <param name="model"></param> | 
|         /// <returns></returns> | 
|         MesResponseContent PPSubsectionOut(PPSubsectionOutModel model); | 
|   | 
|         /// <summary> | 
|         /// PP小卷出库 | 
|         /// </summary> | 
|         /// <param name="model"></param> | 
|         /// <returns></returns> | 
|         MesResponseContent PPCutOut(PPCutOutModle model); | 
|   | 
|         /// <summary> | 
|         /// PP入库(大卷、小卷、张料) | 
|         /// </summary> | 
|         /// <param name="model"></param> | 
|         /// <returns></returns> | 
|         MesResponseContent PPBack(PPBackModel model); | 
|         /// <summary> | 
|         /// PP库存查询 | 
|         /// </summary> | 
|         /// <param name="model"></param> | 
|         /// <returns></returns> | 
|         MesResponseContent QueryPpByWidth(QueryPpByWidthModel model); | 
|   | 
|         /// <summary> | 
|         /// 成品返工提库 | 
|         /// </summary> | 
|         /// <param name="model"></param> | 
|         /// <returns></returns> | 
|         MesResponseContent RworkTask(RworkTaskModel model); | 
|   | 
|         /// <summary> | 
|         ///  | 
|         /// </summary> | 
|         /// <param name="roadwayNos"></param> | 
|         /// <param name="taskNum"></param> | 
|         /// <param name="heightType"></param> | 
|         /// <returns></returns> | 
|         WebResponseContent AssignRoadwayByHeight(List<string> roadwayNos, int taskNum, int heightType = 0); | 
|   | 
|         /// <summary> | 
|         ///  | 
|         /// </summary> | 
|         /// <param name="roadwayNos"></param> | 
|         /// <param name="palletCode"></param> | 
|         /// <param name="heightType"></param> | 
|         /// <returns></returns> | 
|         WebResponseContent AssignRoadwayByHeightAndCode(List<string> roadwayNos, string palletCode, int heightType = 0); | 
|   | 
|         /// <summary> | 
|         /// 分配巷道 | 
|         /// </summary> | 
|         /// <param name="taskNum"></param> | 
|         /// <param name="roadwayNos"></param> | 
|         /// <returns></returns> | 
|         WebResponseContent AssignRoadway(int taskNum, List<string> roadwayNos, int heightType); | 
|   | 
|         /// <summary> | 
|         ///  | 
|         /// </summary> | 
|         /// <param name="roadwayNos"></param> | 
|         /// <returns></returns> | 
|         WebResponseContent SingleAssignRoadway(List<string> roadwayNos); | 
|   | 
|         /// <summary> | 
|         ///  | 
|         /// </summary> | 
|         /// <param name="orderId"></param> | 
|         /// <returns></returns> | 
|         WebResponseContent HandSubstrateOut(int orderId); | 
|   | 
|         /// <summary> | 
|         /// 修改任务状态 | 
|         /// </summary> | 
|         /// <param name="task"></param> | 
|         /// <returns></returns> | 
|         WebResponseContent UpdateTaskInfo(WCSTaskDTO task); | 
|   | 
|         /// <summary> | 
|         /// PP仓agv搬运任务 | 
|         /// </summary> | 
|         /// <param name="task"></param> | 
|         /// <returns></returns> | 
|         WebResponseContent AGVTasks(SaveModel saveModel); | 
|   | 
|   | 
|         WebResponseContent GeneratePKOutboundTask(int orderDetailId, List<StockSelectViewDTO> stockSelectViews); | 
|         /// <summary> | 
|         /// MES成品内包信息接收 | 
|         /// </summary> | 
|         /// <returns></returns> | 
|         MesResponseContent BagInfoSync(MesBagInfoModel bagInfoModel); | 
|         /// <summary> | 
|         /// MES成品外包信息接收 | 
|         /// </summary> | 
|         /// <param name="boxInfoModel"></param> | 
|         /// <returns></returns> | 
|         MesResponseContent BoxStockin(MesBoxInfoModel boxInfoModel); | 
|         /// <summary> | 
|         /// MES成品出库接口调用 | 
|         /// </summary> | 
|         /// <returns></returns> | 
|         WebResponseContent ShipmentOrderSync(MesShipmentOrderSync model); | 
|         /// <summary> | 
|         /// WMS同步成品出库至MES外包装机 | 
|         /// </summary> | 
|         /// <returns></returns> | 
|         WebResponseContent ShipmentOrderMESSync(MesShipmentOrderSync model); | 
|         /// <summary> | 
|         /// 生成MESPP大卷出库任务 | 
|         /// </summary> | 
|         /// <param name="keys"></param> | 
|         /// <returns></returns> | 
|         WebResponseContent MESPPGenerateOutboundTasks(int[] keys); | 
|   | 
|         /// <summary> | 
|         /// 生成MESPP小卷出库任务 | 
|         /// </summary> | 
|         /// <param name="keys"></param> | 
|         /// <returns></returns> | 
|         //WebResponseContent PPCutOutGenerateOutboundTasks(int[] keys); | 
|   | 
|         WebResponseContent PPCutOutGenerateOutboundTasks(int orderDetailId, List<PPStockSelectViewDTO> stockSelectViews); | 
|   | 
|         WebResponseContent PPGeneratePKOutboundTask(int orderDetailId, List<PPStockSelectViewDTO> stockSelectViews); | 
|         /// <summary> | 
|         /// 生成成品出库任务 | 
|         /// </summary> | 
|         /// <param name="ProOutNo">出库订单号</param> | 
|         /// <param name="StationCode">站台地址</param> | 
|         /// <returns></returns> | 
|         Task<WebResponseContent> OutProductTask(int[] keys, string StationCode, int Grade); | 
|         Task<WebResponseContent> OutProScrapTask(int[] keys, string StationCode, int Grade); | 
|         /// <summary> | 
|         /// 成品余料退库入仓 | 
|         /// </summary> | 
|         /// <param name="barCode"></param> | 
|         /// <param name="startPoint"></param> | 
|         /// <returns></returns> | 
|         WebResponseContent BackProductTask(string barCode, string startPoint); | 
|         /// <summary> | 
|         /// 成品空框回库 | 
|         /// </summary> | 
|         /// <param name="barCode"></param> | 
|         /// <param name="startPoint"></param> | 
|         /// <returns></returns> | 
|         WebResponseContent EmptyBackTask(string barCode, string startPoint); | 
|         /// <summary> | 
|         /// 人工选择库存 | 
|         /// </summary> | 
|         WebResponseContent OutProductSelect(int orderDetailId, List<ProStockViewDTO> proStockViews); | 
|         WebResponseContent GetZHMesMaterialLot(string materialLot); | 
|     } | 
| } |