WebApiService.cs 5.37 KB
using HHECS.Application.Enums;
using HHECS.BLL.Services;
using HHECS.BllModel;
using HHECS.DAL;
using HHECS.Model.Entities;
using System;
using System.Configuration;
using System.Threading.Tasks;

namespace HHECS.Application.Service
{
    public class WebApiService : BaseService
    {
        /// <summary>
        /// WebApi的接口前缀
        /// </summary>
        //public static string urlPrefix = string.Empty;

        public static string urlPrefix = ConfigurationManager.AppSettings["urlPrefix"];  //"http://172.16.1.3:108";
        //public static string urlPrefix = "http://172.20.10.3:107";

        /// <summary>
        /// 发送Post请求的客户端处理类
        /// </summary>
        private static CommonService commonService = new CommonService();

        /// <summary>
        /// 按单管计算进度(主要包括 管线下料工序,热处理工序,单管预制释放工序等三个工序都是按单管来计算进度)
        /// </summary>
        /// <param name="workNo">工单号</param>
        /// <param name="oprSequenceNo">工序编码</param>
        /// <param name="spoolNo">单管号</param>
        /// <param name="oprSequenceName">工序名称</param>
        /// <returns></returns>
        public static Task<BllResult<object>> GetWorkOrderProgressBySingleTube(string workNo, string spoolNo, string lineCode)
        {
            var url = urlPrefix + "CutWeld/GetWorkOrderProgressBySingleTube";
            var sendData = new { workNo = workNo, spoolNo = spoolNo, lineCode = lineCode };
            return commonService.PostJson<object>("GetWorkOrderProgressBySingleTube:按单管计算进度", url, sendData);
        }

        /// <summary>
        /// 切割的开工、完工反馈
        /// </summary>
        /// <param name="taskNo"></param>
        /// <returns></returns>
        public static Task<BllResult<object>> SendIWPTechnologylineProcess(string WorkOrderNo, string SpoolNo, int processesState)
        {
            var url = urlPrefix + "/api/Upstream/Mes/V1/ProcedureEndBack";
            var sendData = new { barCode = SpoolNo, EnumCutHeadState = processesState };
            return commonService.PostJson<object>("SendIWPTechnologylineProcess:工序开工完工", url, sendData);
        }

        /// <summary>
        /// 管段的材料跟踪
        /// </summary>
        /// <param name="taskNo"></param>
        /// <returns></returns>
        public static Task<BllResult<object>> MaterialTrackingReturnDims()
        {
            var url = urlPrefix + "Quality/MaterialTrackingReturnDims";
            return commonService.PostJson<object>("MaterialTrackingReturnDims:管段的材料跟踪报检", url, null);
        }

        /// <summary>
        /// 余料反馈接口
        /// </summary>
        /// <param name="taskNo"></param>
        /// <returns></returns>
        public static Task<BllResult<object>> Layingoff(string barCode,string equipmentNo)
        {
            var url = urlPrefix + "/api/Upstream/Mes/V1/Layingoff";
            var sendData = new { barCode = barCode ,equipmentNo = equipmentNo };
            return commonService.PostJson<object>("SurpplusRecord:余料反馈数据给mes", url, sendData);
        }
        /// <summary>
        /// 切割完工工序报工
        /// </summary>
        /// <param name="WorkOrderNo"></param>
        /// <param name="SpoolNo"></param>
        /// <param name="processesState"></param>
        /// <returns></returns>
        public static Task<BllResult<object>> SendCutProcess(string barcode, string enumCutHeadState)
        {
            var url = urlPrefix + "/api/Upstream/Mes/V1/ProcedureEndBack";
            var sendData = new { barCode = barcode, EnumCutHeadState = enumCutHeadState };
            return commonService.PostJson<object>("SendCut:工序开工完工", url, sendData);
        }
        /// <summary>
        /// 余料反馈接口
        /// </summary>
        /// <param name="taskNo"></param>
        /// <returns></returns>
        public static Task<BllResult<object>> SurpplusRecord(string headID)
        {
            var url = urlPrefix + $"/api/Upstream/Mes/V1/SurplusRecord?headId={headID}";
            var sendData = new { headID = headID };
            return commonService.PostJson<object>("SurpplusRecord:余料反馈数据给mes", url, sendData);
        }


        /// <summary>
        /// 任务号设备完工报工
        /// </summary>
        /// <param name="taskNo"></param>
        /// <returns></returns>
        public static Task<BllResult<object>> SendEndTask(string taskCode, string equipmentCode)
        {
            var url = urlPrefix + "/api/CutWeld/Mes/V1/SendIWPTechnologylineProcess";
            var sendData = new { taskCode = taskCode, equipmentCode = equipmentCode };
            return commonService.PostJson<object>("SendEndTask:任务号完工", url, sendData);
        } 
        /// <summary>
        /// 测长设备接口完工
        /// </summary>
        /// <param name="taskNo"></param>
        /// <returns></returns>
        public static Task<BllResult<object>> SendMeasure(string taskCode, string taskLength,string taskOrder)
        {
            var url = urlPrefix + "/api/Upstream/Mes/V1/taskMeasuring";
            var sendData = new { taskCode = taskCode, taskLength = taskLength, taskOrder = taskOrder };
            return commonService.PostJson<object>("SendEndTask:测长任务号完工", url, sendData);
        }
    }
}