1
wangxinhui
2025-06-12 e7be74e711076896e7e841b54691daa95067c567
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs
@@ -15,6 +15,7 @@
 *----------------------------------------------------------------*/
#endregion << ç‰ˆ æœ¬ æ³¨ é‡Š >>
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
using System;
using System.Collections.Generic;
@@ -30,6 +31,7 @@
using WIDESEA_DTO.ERP;
using WIDESEA_DTO.MES;
using WIDESEA_DTO.Stock;
using WIDESEA_DTO.Task;
using WIDESEA_ITaskInfoRepository;
using WIDESEA_Model.Models;
@@ -39,9 +41,21 @@
    {
        ITaskRepository Repository { get; }
        WebResponseContent PushTasksToWCS(List<Dt_Task> tasks, string agvDescription = "");
        /// <summary>
        ///
        /// </summary>
        /// <param name="tasks"></param>
        /// <param name="agvDescription"></param>
        /// <returns></returns>
        WebResponseContent PushTasksToWCS(List<Dt_Task> tasks, string agvDescription = "", string agvtaskNum = "");
        WebResponseContent PushTasksToWCSSingle(int taskNum, string agvDescription = "");
        /// <summary>
        ///
        /// </summary>
        /// <param name="taskNum"></param>
        /// <param name="agvDescription"></param>
        /// <returns></returns>
        WebResponseContent PushTasksToWCSSingle(int taskNum, string agvDescription = "", string agvtaskNum = "");
        /// <summary>
        /// ç”³è¯·å…¥åº“任务(PDA使用,仅托盘绑定入库站台,不分配货位)
@@ -51,6 +65,47 @@
        /// <returns></returns>
        //WebResponseContent RequestInboundTask(string palletCode, string stationCode);
        WebResponseContent RequestInboundTask(SaveModel saveModel);
        /// <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>
        /// å…¥åº“任务申请分配货位
@@ -61,7 +116,23 @@
        /// <returns></returns>
        WebResponseContent AssignInboundTaskLocation(int taskNum, string roadwayNo);
        WebResponseContent TaskCompleted(int taskNum);
        /// <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>
        /// 
@@ -76,6 +147,10 @@
        /// <returns></returns>
        MesResponseContent TestToolOut(TestToolOutModel model);
        //防焊到线边
        MesResponseContent SolderMaskOut(SolderMaskOut model);
        //防焊派工
        MesResponseContent SolderMaskOutNotice(SolderMaskOutNotice model);
        /// <summary>
        /// ç”Ÿæˆå‡ºåº“任务
        /// </summary>
@@ -89,7 +164,7 @@
        /// </summary>
        /// <param name="keys"></param>
        /// <returns></returns>
        WebResponseContent GenerateOutboundTask(int[] keys);
        WebResponseContent GenerateOutboundTasks(int[] keys);
        /// <summary>
        /// å‡ºåº“任务完成
@@ -105,13 +180,205 @@
        /// <param name="locationCode">入库或出库的货位号</param>
        /// <returns></returns>
        MesResponseContent TestToolBack(TestToolBackModel backModel);
        /// <summary>
        /// æµ‹è¯•架报废
        /// </summary>
        /// <param name="toolScrap"></param>
        /// <returns></returns>
        MesResponseContent TestScrap(TestToolScrap toolScrap);
        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);
        /// <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>
        /// ç”Ÿæˆ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);
        /// <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);
    }
}