123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- using Cksoft.Data;
- using Cksoft.Data.Repository;
- using Cksoft.Unity;
- using DllEapDal;
- using DllEapEntity;
- using DllEapEntity.Onsemi;
- using DllStatusShowDal;
- using log4net.Core;
- using log4net.Util;
- using Microsoft.AspNetCore.Mvc;
- using Microsoft.AspNetCore.SignalR;
- using Microsoft.Extensions.Logging;
- using Newtonsoft.Json;
- using Newtonsoft.Json.Linq;
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Threading.Tasks;
- using System.Linq;
- using Cksoft.Unity.Log4NetConfig;
- namespace WebUpload.Controllers
- {
- [Route("eap/api/[controller]/[action]")]
- public class MacStatusController : ControllerBase
- {
- //public IActionResult Index()
- //{
- // return View();
- //}
- private ILogger<MacStatusController> myloger = null;
- public MacStatusController(ILogger<MacStatusController> ploger)
- {
- myloger = ploger;
- }
- /// <summary>
- /// lot 调程
- /// </summary>
- /// <param name="lotNum"></param>
- /// <returns></returns>
- [HttpPost]
- public EapResponse adjustmentLot([FromForm] string lotid, [FromForm] string macCode)
- {
- string errorinfo = string.Empty;
- var res = new EapResponse { Code = 1, Msg = string.Empty };
- #region 根据设备id和lot号,获取程序名称、程序版本
- string ip = AppConfigurtaionServices.Configuration["mesurl" + ":url"];
- string mesurl = ip + "ofilm/eap/findEquipmentProgramInfo";
- Dictionary<string, string> dic = new Dictionary<string, string>();
- dic.Add("equipmentID", macCode);
- dic.Add("lotId", lotid);
- myloger.LogError($"调程访问mesApiUrl:{mesurl}?equipmentID = {macCode}&lotId={lotid}");
- OfilmMesApiResponse mesResult = HttpRequestHelper<OfilmMesApiResponse>.Get(mesurl, dic, ref errorinfo);
- myloger.LogError($"调程访问返回结果,{ JsonConvert.SerializeObject(mesResult)}");
- #endregion
- if (mesResult.Success == true)
- {
- using (IDatabase db = DbFactory.Base("eap"))
- {
- db.BeginTrans();
- var dal = new ProgramDal(db);
- string recipe = mesResult.Result.RecipeName;
- int version = Convert.ToInt32(mesResult.Result.Version);
- myloger.LogError($"开始调程,机台编号={macCode},程序名称={recipe},版本={version}");
- var resultcount = dal.DownloadProgramForLot(macCode, recipe, version, ref errorinfo);
- if (resultcount <= 0)
- {
- myloger.LogError($"调程发生错误:{errorinfo}");
- }
- else
- {
- myloger.LogInformation($"调程成功......");
- }
- res.Code = resultcount;
- db.Commit();
- }
- }
- else
- {
- res.Code = -1;
- res.Msg = mesResult.Message;
- }
- return res;
- }
- /// <summary>
- /// 添加设备状态
- /// </summary>
- /// <param name="macStatus"></param>
- /// <returns></returns>
- [HttpPost]
- public EapResponse InsMacStatus([FromBody] MacStatus macStatus)
- {
- var errorinfo = string.Empty;
- var res = new EapResponse { Code = 1, Msg = string.Empty };
- using (IDatabase db = DbFactory.Base("eap"))
- {
- db.BeginTrans();
- var dal = new MacStatusDal(db);
- MacStatus mst = new MacStatus();
- //添加状态程序名称
- string condition = $" and a.fcode='{macStatus.MacCode}'";
- List<Machine> mac = db.FindListForCondition<Machine>(condition, ref errorinfo).ToList();
- if (mac.Count <= 0)
- {
- errorinfo = $"未找到机台【{macStatus.MacCode}】。";
- return null;
- }
- Ad830PlusProgramDal tempdal = new Ad830PlusProgramDal(db);
- string programname = tempdal.GetProgramName(mac[0], ref errorinfo);
- macStatus.Remark = programname;
- macStatus.ProgramName = string.IsNullOrEmpty(macStatus.ProgramName) ? "待机程序" : macStatus.ProgramName;
- macStatus.STime = DateTime.Now;
- var result = dal.PushStatusToMQ(mac[0].ID, macStatus, ref errorinfo);
- if (result < 0)
- {
- res.Code = -1;
- res.Msg = errorinfo;
- res.Data = null;
- return res;
- }
- res.Code = 1;
- res.Data = macStatus;
- db.Commit();
- LogHelper<MacStatus>.LogFatal("新增MacStatus-->" + Json.ToJson(macStatus), "用户操作", macStatus.RecCode);
- return res;
- }
- }
- /// <summary>
- /// 修改设备结束时间
- /// </summary>
- /// <param name="macStatus"></param>
- /// <returns></returns>
- [HttpPost]
- public EapResponse UdpMacStatus([FromBody] MacStatus macStatus)
- {
- var errorinfo = string.Empty;
- var res = new EapResponse { Code = 1, Msg = string.Empty };
- using (IDatabase db = DbFactory.Base("eap"))
- {
- db.BeginTrans();
- var dal = new MacStatusDal(db);
- macStatus.STime = DateTime.Now;
- macStatus.ETime = DateTime.Now;
- int result = dal.UpdatePreStatus(macStatus, string.Empty, ref errorinfo);
- if (result == -1)
- {
- res.Code = -1;
- res.Msg = errorinfo;
- res.Data = null;
- return res;
- }
- macStatus.StatusID = 3;
- if (this.InsMacStatus(macStatus).Code < 0)
- {
- res.Code = -1;
- res.Msg = "新增闲置状态失败";
- db.Rollback();
- return res;
- }
- res.Data = result;
- db.Commit();
- LogHelper<MacStatus>.LogFatal("修改MacStatus-->" + Json.ToJson(macStatus), "用户操作", macStatus.RecCode);
- return res;
- }
- }
- [HttpGet]
- public EapResponse GetMacStatuses01(string macCode)
- {
- var errorinfo = string.Empty;
- var res = new EapResponse { Code = 1, Msg = string.Empty };
- using (IDatabase db = DbFactory.Base("eapslave"))
- {
- var dal = new MacStatusDal(db);
- var model = dal.GetMacStatus01ByMacode(macCode);
- if (model == null)
- {
- res.Code = -1;
- res.Msg = errorinfo;
- res.Data = null;
- return res;
- }
- res.Data = model;
- return res;
- }
- }
- /// <summary>
- /// Check
- /// </summary>
- /// <param name="macCode"></param>
- /// <returns></returns>
- [HttpGet]
- public OfilmMesApiResponse GetactiveCheck(string macCode)
- {
- var errorinfo = string.Empty;
- var res = new EapResponse { Code = 1, Msg = string.Empty };
- string ip = AppConfigurtaionServices.Configuration["mesurl" + ":url"];
- string mesurl = ip + "ofilm/eap/activeCheck";
- Dictionary<string, string> dic = new Dictionary<string, string>();
- dic.Add("equipmentID", macCode);
- OfilmMesApiResponse mesResult = HttpRequestHelper<OfilmMesApiResponse>.Get(mesurl, dic, ref errorinfo);
- //if (mesResult.Success == false)
- //{
- // res.Code = -1;
- // res.Msg = mesResult.Message + errorinfo;
- // res.Data = null;
- // return res;
- //}
- //res.Data = mesResult.Result;
- return mesResult;
- }
- }
- }
|