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;
}
}
}
}