using Cowain.Bake.Common.Enums; using Cowain.Bake.Model; using System.Collections.Generic; using System.Linq; using Unity; namespace Cowain.Bake.BLL { public class ProcessParamService : ServiceBase { public ProcessParamService(IUnityContainer unityContainer) : base(unityContainer) { } public bool UpdateProcessParam(int paraID, string JSONPara) { using (var Context = new BakingEntities()) { //保存老的,方便追查 string sql = $@"select Parameters from TProcessParameter where Id={paraID} limit 1"; var param = Context.Database.SqlQuery(sql).FirstOrDefault(); _unityContainer.Resolve().AddLog("WorkOrderService.AddParaLog:" + param + "->" + JSONPara, E_LogType.Operate.ToString()); sql = $@"UPDATE TProcessParameter set Parameters='{JSONPara}' WHERE Id={paraID}"; return Context.Database.ExecuteSqlCommand(sql) > 0 ? true : false; ; } } //所有的配方 public List GetAllFormula() { using (var Context = new BakingEntities()) { var formulaList = Context.Set().Where(x => x.BaseFalg != true).OrderBy(x => x.Id).ToList(); return formulaList; } } public bool UpdateCurrentJobNum(int ID) { string sql = $@"call ProcUpdateCurrentJob({ID})"; using (var Context = new BakingEntities()) { return Context.Database.ExecuteSqlCommand(sql) != 0; } } public List QueryFormulas(string formulaName) { using (var Context = new BakingEntities()) { return Context.Set().Where(x => x.ProcessParamName == formulaName).ToList(); } } public TProcessParameter QueryFormulaById(int formulaId, string parametersJson) { using (var Context = new BakingEntities()) { var query = Context.Set().Where(x => x.Id == formulaId && x.Parameters == parametersJson).FirstOrDefault(); return query; } } public TProcessParameter GetReProcessParam(string jobNum) { using (var Context = new BakingEntities()) { return (from proInfo in Context.Set() where proInfo.JobNum == jobNum join param in Context.Set() on proInfo.ReProcessParamId equals param.Id select param).FirstOrDefault(); } } public string GetProcessParam(int id) { string sql = $@"SELECT Parameters FROM TProcessParameter WHERE Id={id}"; using (var Context = new BakingEntities()) { return Context.Database.SqlQuery(sql).FirstOrDefault(); } } public TProcessParameter Get(int id) { using (var Context = new BakingEntities()) { return Context.Set().Where(x => x.Id == id).FirstOrDefault(); } } public bool CreateNewProcessParam(string processParaName) { using (var Context = new BakingEntities()) { string sql = $@"select count(*) from TProcessParameter where ProcessParamName='{processParaName}'"; if (0 != Context.Database.SqlQuery(sql).First()) { return false; } sql = $@"INSERT INTO TProcessParameter(ProcessParamName,Parameters,BaseFalg,CreateTime) SELECT '{processParaName}' ProcessName,tp.Parameters,0,now() FROM TProcessParameter tp WHERE tp.BaseFalg=1;"; return Context.Database.ExecuteSqlCommand(sql) != 0; } } public List QueryFormula(string formulaName) { using (var Context = new BakingEntities()) { var queryList = Context.Set().Where(x => x.ProcessParamName == formulaName).ToList(); return queryList; } } public TProcessParameter GetProcessParam(string jobNum) { using (var Context = new BakingEntities()) { return (from proInfo in Context.Set() where proInfo.JobNum == jobNum join param in Context.Set() on proInfo.ProcessParamId equals param.Id select param).FirstOrDefault(); } } } }