123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234 |
- using Cksoft.Data;
- using Cksoft.Data.Repository;
- using Cksoft.Unity;
- using Cksoft.Unity.Log4NetConfig;
- using Microsoft.Extensions.Logging;
- using Newtonsoft.Json;
- using System;
- using System.Collections.Generic;
- using System.Diagnostics;
- using System.Linq;
- using System.Net.Http;
- using System.Text;
- using System.Threading.Tasks;
- using WebApplet.Controllers;
- using WebApplet.Models;
- namespace DllEapDal.OFILM
- {
- public class SampleDal
- {
- private readonly IDatabase Db = null;
- public SampleDal()
- {
- }
- public SampleDal(IDatabase db)
- {
- Db = db;
- }
- /// <summary>
- /// 获取当前机台的相关参数
- /// </summary>
- /// <param name="mId"></param>
- /// <returns></returns>
- public string Get(string mId)
- {
- string sql = $@"SELECT Remark from macstatus01 where MacCode='{mId}'";
- string type = Db.FindObject(sql).ToString();
- int x = type.IndexOf("-") > 0 ? type.IndexOf("-") : type.IndexOf(" ");
- return type.Substring(0, x);
- }
- public string GetMacNumber(string mId)
- {
- string sql = $@"select macnumber from machinenumber where MacId=(select id from machine where FCode='{mId}')";
- return Convert.ToString(Db.FindObject(sql));
- }
- /// <summary>
- /// 获取该机台的所有参数
- /// </summary>
- /// <param name="mId"></param>
- /// <param name="type"></param>
- /// <returns></returns>
- public SampleStandard MesGet(string mId, string type, string macNum)
- {
- QisCheck qis = Db.FindList<QisCheck>($@"select mac_id macId,Material_NO materialNo,STANDARD_XOFFSET sXOffset,STANDARD_YOFFSET sYOffset,STANDARD_ROTATE sTOffset,WARNING_XOFFSET wXOffset,WARNING_YOFFSET wYOffset,WARNING_ROTATE wTOffset,ABNORMAL_XOFFSET aXOffset,ABNORMAL_YOFFSET aYOffset,ABNORMAL_ROTATE aTOffset FROM ofg_qis.view_mfg_sample_check where mac_id='{mId}' and Material_NO='{type}'")?.FirstOrDefault();
- if (qis!=null)
- {
- string str = "";
- Para s = new Para();
- s.MId = mId;
- s.Type = type;
- s.Macnum = macNum;
- s.X = qis.sXOffset ;
- s.Y = qis.sYOffset;
- s.T = qis.sTOffset;
- s.X1 = str + qis.wXOffset;
- s.X2 = str + qis.aXOffset;
- s.Y1 = str + qis.wYOffset;
- s.Y2 = str + qis.aYOffset;
- s.T1 = str + qis.wTOffset;
- s.T2 = str + qis.aTOffset;
- return new SampleStandard()
- {
- code = "1",
- data = s
- };
- }
- else
- {
- return new SampleStandard()
- {
- code = "0",
- msg="未查询到该机台及机种对应到的sample值请维护后重试"
- };
- }
-
-
- }
- public async Task<SampleRes> GetParamsAsync(ParamModel paramModel)
- {
- try
- {
- SampleRes s = new SampleRes();
- string url = AppConfigurtaionServices.Configuration["url"]; ;
- string macCode = paramModel.MacCode;
- Stopwatch sw = new Stopwatch();
- sw.Reset();
- sw.Start();
- var paras = paramModel.Paras;//new string[] { "283" };
- var obj = new MachineInfo { EquipmentID = macCode, ParamsList = paras };
- HttpClient client = new HttpClient(new HttpClientHandler
- {
- AutomaticDecompression = System.Net.DecompressionMethods.GZip | System.Net.DecompressionMethods.Deflate
- });
- client.DefaultRequestHeaders.Add("Method", "POST");
- client.DefaultRequestHeaders.Add("ContentType", "multipart/form-data; charset=utf-8");
- var content = new MultipartFormDataContent();
- var uri = new Uri(url);
- var equipmentId = new ByteArrayContent(Encoding.UTF8.GetBytes(obj.EquipmentID));
- content.Add(equipmentId, "EquipmentID");
- for (int i = 0; i < obj.ParamsList.Count(); i++)
- {
- var temp = new ByteArrayContent(Encoding.UTF8.GetBytes(obj.ParamsList.ElementAt(i)));
- content.Add(temp, $"ParamsList[{i}]");
- }
- client.Timeout = new TimeSpan(0, 0, 600);
- LogHelper<MachineMaterialService>.LogError("请求地址: " + url + "请求内容: " + content.ToJson(), "DA sample 校验", string.Empty);
- var result = await client.PostAsync(uri, content);
-
- sw.Stop();
- // Console.WriteLine("请求用时:" + sw.ElapsedMilliseconds / 1000);
- if (result == null || result.IsSuccessStatusCode == false)
- {
- Console.WriteLine("----------------");
- LogHelper<MachineMaterialService>.LogError("请求返回的结果" + result.ToJson(), "DA sample 校验", string.Empty);
- Console.WriteLine(result);
- Console.WriteLine("----------------");
- }
- if (result != null && result.IsSuccessStatusCode)
- {
- var bytes = result.Content.ReadAsByteArrayAsync().Result;
- LogHelper<MachineMaterialService>.LogError("请求返回的结果" + Encoding.UTF8.GetString(bytes), "DA sample 校验", string.Empty);
- s = JsonConvert.DeserializeObject<SampleRes>(Encoding.UTF8.GetString(bytes));
- return s;
- }
- s.code = "fail";
- return s ;
- }
- catch (Exception ex)
- {
- SampleRes s = new SampleRes();
- LogHelper<MachineMaterialService>.LogError(ex.ToString(), "DA sample 校验", string.Empty);
- s.code = "fail";
- return s;
- }
- }
- public bool Set(Sample sample, string message)
- {
- /*using (IDatabase currDb = DbFactory.Base("qis"))
- {
- QisCheck qis = currDb.FindList<QisCheck>($@"select mac_id macId,Material_NO materialNo,STANDARD_XOFFSET sXOffset,STANDARD_YOFFSET sYOffset,STANDARD_ROTATE sTOffset,WARNING_XOFFSET wXOffset,WARNING_YOFFSET wYOffset,WARNING_ROTATE wTOffset,ABNORMAL_XOFFSET aXOffset,ABNORMAL_YOFFSET aYOffset,ABNORMAL_ROTATE aTOffset FROM ofg_qis.view_mfg_sample_check where mac_id='{sample.macId}' and Material_NO='{sample.materialNo}'")?.FirstOrDefault();
- if (qis != null)
- {*/
- if(sample!=null)
- {
- DaSample ds = new DaSample()
- {
- MacId = Convert.ToInt32(Db.FindObject($@"select id from machine where FCode='{sample.macId}'")),
- Type = sample.materialNo,
- Time = Convert.ToDateTime(sample.sTime),
- X = sample.xOffset,
- Y = sample.yOffset,
- T = sample.tOffset,
- RecCode = sample.userId,
- Result = message
- };
- if (Db.InsertFor<DaSample>(ds, sample.userId) > 0)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- return false;
-
- }
- #region 暂时用不到
- /// <summary>
- /// sql语句的生成
- /// </summary>
- /// <param name="sample"></param>
- /// <returns></returns>
- /* public Sample Set(Sample sample)
- {
- string sql = $@"select e.FName as Factory,d.FName as Plant , c.FName as Floor ,f.pcode as PCode,a.Fcode as MacCode,g.MacNumber as MacNum
- FROM machine AS a
- LEFT JOIN factoryregion AS b ON a.RegionId = b.id
- INNER JOIN factoryregion AS c ON b.ParentId = c.id
- INNER JOIN factoryregion AS d ON c.ParentId = d.id
- INNER JOIN factoryregion AS e ON d.ParentId = e.id
- INNER JOIN mactprocess AS f ON a.id = f.MacID
- LEFT JOIN machinenumber AS g ON a.id = g.macid where a.Fcode='{sample.MId}'";
- IEnumerable<Sample> s = Db.FindList<Sample>(sql);
- foreach (Sample item in s)
- {
- sample.Factory = item.Factory;
- sample.Plant = item.Plant;
- sample.Floor = item.Floor;
- sample.PCode = item.PCode;
- }
- DaSample ds = new DaSample();
- ds.MacId = Convert.ToInt32(Db.FindObject($@"select ID FROM machine where FCode='{sample.MId}'"));
- ds.Type = sample.Type;
- ds.Time = sample.STime;
- ds.X = sample.X;
- ds.Y = sample.Y;
- ds.T = sample.T;
- ds.RecCode = sample.UserId;
- Db.InsertFor<DaSample>(ds, sample.UserId);
- return sample;
- }*/
- #endregion
- }
- }
|