using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEA_Common; using WIDESEA_Entity.DomainModels; using WIDESEA_Services.Repositories; using WIDESEA_WCS.Jobs.ConveyorLine.InboundArea; using WIDESEA_WCS.Jobs.ConveyorLine.OutboundArea; using WIDESEA_WCS.WCSClient; namespace WIDESEA_WCS.ToWCS { public partial class QueryEquipmentinfoOperation { /// /// 查询设备信息 /// /// /// //static object defaultData = new //{ //mesInfo = new //{ // materielId = "", // barcode = "", // fcbAVG = "", // ydAVG = "", // zjAVG = "", // ldCode = "", // }, // wmsInfo = new // { // materielId = "", // barcode = "", // fcbAVG = "", // fcbDiff = "", // ydAVG = "", // ydDiff = "", // zjAVG = "", // zjdDiff = "", // standa = "", // weight = "", // materielType = "", // materielNumber = "", // }, //}; //static object defaultData = new //{ // wmsInfo = new List(){ // new // { // name = "托盘号", // value = "", // column2Name="车型", // column2Value="" // }, // new // { // name = "轮对号", // value = "", // column2Name = "轮对编码", // column2Value = "", // }, // new // { name = "轴承型号", // value = "", // column2Name = "轴承编码", // column2Value = "", // }, // new // { // name = "重量(克)", // value = "", // column2Name = "测量标准", // column2Value = "", // }, // new // { // name = "轴颈平均值", // value = "", // column2Name = "防尘板座平均值", // column2Value = "", // }, // new // { // name = "轴承内径平均值", // value = "", // column2Name = "后档平均值", // column2Value = "", // }, // new // { // name = "轴承内径过盈量", // value = "", // column2Name = "防尘板座过盈量", // column2Value = "", // }, // } //}; static object defaultData = new { wmsInfo = new List(){ new { name = "轮对号", value = "", }, new { name = "轴承编号", value = "", }, new { name = "轴承类别", value = "", }, new { name = "轴承内径平均值", value = "", }, new { name = "轴承内径过盈量", value = "", }, new { name = "重量", value = "", }, } }; public static async Task QueryZCInfo(SaveModel saveModel) { bool flag = true; object obj = null; try { await Task.Run(() => { PLCClient client = WCSService.Clients.Find(r => r.PLCName == "LineDevice"); //左侧托盘号 string leftEqNumber = saveModel.MainData["leftEqNumber"]?.ToString(); string rightEqNumber = saveModel.MainData["rightEqNumber"]?.ToString(); string leftBarcode = client.ReadValue(CLineInfoDBName.R_Line_Barcode.ToString(), leftEqNumber).ToString(); string rightBarcode = client.ReadValue(CLineInfoDBName.R_Line_Barcode.ToString(), rightEqNumber).ToString(); Dt_TaskWCSinfo_Hty leftTask = null; if (string.IsNullOrEmpty(leftBarcode) || "0".Equals(rightBarcode)) leftTask = Dt_TaskWCSinfo_HtyRepository.Instance.Find(r => r.wcstaskHty_endPoint == leftEqNumber).OrderByDescending(r => r.wcstaskHty_finishedTime).FirstOrDefault(); else leftTask = Dt_TaskWCSinfo_HtyRepository.Instance.Find(r => r.wcstaskHty_barcode == leftBarcode).OrderByDescending(r => r.wcstaskHty_finishedTime).FirstOrDefault(); Dt_TaskWCSinfo_Hty rightTask = null; if (string.IsNullOrEmpty(rightBarcode) || "0".Equals(rightBarcode)) rightTask = Dt_TaskWCSinfo_HtyRepository.Instance.Find(r => r.wcstaskHty_endPoint == rightEqNumber).OrderByDescending(r => r.wcstaskHty_finishedTime).FirstOrDefault(); else rightTask = Dt_TaskWCSinfo_HtyRepository.Instance.Find(r => r.wcstaskHty_barcode == rightBarcode).OrderByDescending(r => r.wcstaskHty_finishedTime).FirstOrDefault(); DateTime date = DateTime.Today; List listLeftTask = Dt_TaskWCSinfo_HtyRepository.Instance.Find(r => r.wcstaskHty_createTime >= date && r.wcstaskHty_endPoint == leftEqNumber); List listRightTask = Dt_TaskWCSinfo_HtyRepository.Instance.Find(r => r.wcstaskHty_createTime >= date && r.wcstaskHty_endPoint == rightEqNumber); //List dateHty = new List(); //List leftHty = new List(); //List rightHty = new List(); //int z = -6; //for (int i = 0; i < 7; i++) //{ // DateTime dateTime = date.AddDays(z); // dateHty.Add(dateTime.ToString("MM.dd")); // leftHty.Add(Dt_TaskWCSinfo_HtyRepository.Instance.Find(r => r.wcstaskHty_createTime >= dateTime && r.wcstaskHty_createTime < dateTime.AddDays(1) && r.wcstaskHty_endPoint == leftEqNumber)?.Count()); // rightHty.Add(Dt_TaskWCSinfo_HtyRepository.Instance.Find(r => r.wcstaskHty_createTime >= dateTime && r.wcstaskHty_createTime < dateTime.AddDays(1) && r.wcstaskHty_endPoint == rightEqNumber)?.Count()); // //leftHty.Add(i); // //rightHty.Add(i); // z += 1; //} // object left = null == leftTask ? null : JsonConvert.DeserializeObject(leftTask.wcstaskHty_backUp_3); obj = new { leftStationInfo = null == leftTask || string.IsNullOrEmpty(leftTask.wcstaskHty_backUp_3) ? defaultData : JsonConvert.DeserializeObject(leftTask.wcstaskHty_backUp_3), rightStationInfo = null == rightTask || string.IsNullOrEmpty(rightTask.wcstaskHty_backUp_3) ? defaultData : JsonConvert.DeserializeObject(rightTask.wcstaskHty_backUp_3), leftTodayCount = listLeftTask.Count(), rightTodayCount = listRightTask.Count(), //listHtyInfo = new //{ // dateHty = dateHty, // leftHty = leftHty, // rightHty = rightHty //}, }; }); } catch { flag = false; } object resp = new { data = obj, status = flag, }; return resp; } } }