CutWeldService.cs 3.17 KB
using ApkInfo;
using Hh.Mes.Common;
using Hh.Mes.Common.config;
using Hh.Mes.Common.Json;
using Hh.Mes.Common.log;
using Hh.Mes.Common.Redis;
using Hh.Mes.Pojo.System;
using Hh.Mes.POJO.Entity;
using Hh.Mes.POJO.EnumEntitys;
using Hh.Mes.POJO.Response;
using Hh.Mes.POJO.ViewModel;
using Hh.Mes.POJO.WebEntity;
using Hh.Mes.Service.Repository;
using Hh.Mes.Service.SystemAuth;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;

namespace Hh.Mes.Service
{
    public class CutWeldService : RepositorySqlSugar<dynamic>
    {
        /// <summary>
        /// 管段工序完工调用
        /// </summary>
        /// <param name="BarCode">追踪码</param>
        /// <param name="processesState">状态</param>
        /// <returns></returns>
        public void SendIWPTechnologylineProcess(string BarCode, int processesState)
        {

            if (string.IsNullOrWhiteSpace(BarCode)) return;

            //切割完成处理,ECS完成时会更新套料方案,工单工序,这里只需要组织数据反馈上游
            var oprSequenceCode = "";
            if (processesState == (int)EnumCutHeadState.已套料)
                oprSequenceCode = EnumoprSequenceCode.套料;
            if (processesState == (int)EnumCutHeadState.切割完成)
                oprSequenceCode = EnumoprSequenceCode.切割坡口;
            if (processesState == (int)EnumCutHeadState.打磨完成)
                oprSequenceCode = EnumoprSequenceCode.打磨;
            if (processesState == (int)EnumCutHeadState.组对完成)
                oprSequenceCode = EnumoprSequenceCode.组对;
            if (processesState == (int)EnumCutHeadState.焊接完成)
                oprSequenceCode = EnumoprSequenceCode.焊接;

            if (oprSequenceCode == "") return;

            var workOrderDetail = base.Context.Queryable<bus_workOrder_detail>().Where(x => x.oprSequenceCode == oprSequenceCode && x.barCode == BarCode).First();
            if (workOrderDetail == null) return;

            var data = new
            {
                workOrderCode = workOrderDetail.workOrderCode,//工单
                partCode = workOrderDetail.partCode,//管段号
                barCode = workOrderDetail.barCode,//追踪码(管段码)
                oprSequenceCode = workOrderDetail.oprSequenceCode,//工序
                stationCode = workOrderDetail.stationCode,//工位
                equipmentCode = workOrderDetail.equipmentCode,//生产设备
                actualStartTime = workOrderDetail.actualStartTime,//开始时间
                actualEndTime = workOrderDetail.actualEndTime,// 完成时间
                cutMaterCode = workOrderDetail.cutMaterCode,//管段物料编码
                weldNo = workOrderDetail.weldNo,//组对(焊接)焊口号
                batchNo = workOrderDetail.batchNo,//组对(焊接)批次号
                createBy = workOrderDetail.createBy,//操作人                   
            };

            //调用上游MES工序完工反馈
            var url = GetDictionaryDictValue("UrlProcessFeedback", "GetUrl");
            HttpManVoid(url, data, EnumLog.调用上游MES工序完工反馈.ToString(), method: "post");
        }
    }
}