using Cksoft.Data; using Cksoft.Data.Repository; using DllEapEntity; using DllEapEntity.Dtos; using System; using System.Collections.Generic; using System.Text; using System.Linq; namespace DllEapDal { public class MacTProcessDal { public IDatabase CurrDb; public MacTProcessDal(IDatabase db) { CurrDb = db; } /// /// 从Mes系统中获取制程机台对应关系 /// /// public int AsyncMatProcessFromMes() { using(IDatabase secdb = DbFactory.Base("sqlconn")) { string sql = string.Format("select a.*,b.FCode MacCode from MacTProcess"); var macs = secdb.FindList(sql); sql = "select * from Machine"; var machines = CurrDb.FindList(sql); var macWithIds = macs.Join(machines, c => c.MacCode, d => d.FCode, (c, d) => { return new { PCode = c.PCode, MacID = d.ID }; }); if (macWithIds != null && macWithIds.Count() > 0) { foreach(var item in macWithIds) { var insertSql = string.Format($"insert into mactprocess(macid,pcode) " + $"values('{item.MacID}','{item.PCode}')"); if (CurrDb.ExecuteBySql(insertSql) < 0) return -1; } } return 1; } } } }