using MES.Service.DB;
|
using MES.Service.Modes;
|
using SqlSugar;
|
|
namespace MES.Service.service.QC;
|
|
public class SuspendService
|
{
|
private readonly string[] statusArray = ["开工", "待开工"];
|
|
public List<SysDepartment> getDept()
|
{
|
var db = SqlSugarHelper.GetInstance();
|
//return db.Queryable<SysDepartment>().ToList();
|
return db
|
.Queryable<Womdaa, MesLine, QsQaItemXj,
|
SysDepartment>((a, b, c, d) =>
|
new JoinQueryInfos(JoinType.Left,
|
a.Daa002 == b.Id.ToString(),
|
JoinType.Inner, a.Daa001 == c.BillNo,
|
JoinType.Left, b.Departmentcode == d.Departmentcode))
|
.Where((a, b, c, d) => b.LineName != null &&
|
statusArray.Contains(a.Daa018))
|
.GroupBy((a, b, c, d) => new
|
{
|
b.Departmentcode,
|
d.Departmentname
|
})
|
.Select((a, b, c, d) => new SysDepartment
|
{
|
Departmentcode = b.Departmentcode,
|
Departmentname = d.Departmentname
|
}).ToList();
|
}
|
|
public List<MesLine> GetLines(string deptCode)
|
{
|
var db = SqlSugarHelper.GetInstance();
|
var mesLines = db.Queryable<Womdaa, MesLine, QsQaItemXj>((a, b, c) =>
|
new JoinQueryInfos(JoinType.Left,
|
a.Daa002 == b.Id.ToString(),
|
JoinType.Inner, a.Daa001 == c.BillNo))
|
.Where((a, b, c) => b.LineName != null &&
|
statusArray.Contains(a.Daa018)
|
&& b.Departmentcode == deptCode)
|
.GroupBy((a, b, c) => new
|
{
|
b.LineNo,
|
b.LineName
|
})
|
.Select((a, b, c) => new MesLine
|
{
|
LineNo = b.LineNo,
|
LineName = b.LineName
|
}).ToList();
|
|
var mesQsSuspends = db.Queryable<MesQsSuspend>()
|
.Where(s => s.IsSuspend == 0).ToList();
|
|
return mesLines.Where(p => mesQsSuspends.All(e => e.LineNo != p.LineNo))
|
.ToList();
|
}
|
|
public int save(MesQsSuspend entity)
|
{
|
entity.CreateDate = DateTime.Now;
|
return SqlSugarHelper.UseTransactionWithOracle(db =>
|
db.Insertable(entity).ExecuteCommand());
|
}
|
|
public List<MesQsSuspend> getAllByDeptNo(string deptNo)
|
{
|
var db = SqlSugarHelper.GetInstance();
|
return db.Queryable<MesQsSuspend>()
|
.Where(a => a.DeptNo == deptNo && a.IsSuspend == 0).ToList();
|
}
|
|
public List<MesQsSuspend> getOpenDept()
|
{
|
var db = SqlSugarHelper.GetInstance();
|
return db.Queryable<MesQsSuspend>().GroupBy(a => new
|
{
|
a.DeptNo,
|
a.DeptName
|
}).Select<MesQsSuspend>(a => new MesQsSuspend
|
{
|
DeptNo = a.DeptNo,
|
DeptName = a.DeptName
|
}).ToList();
|
}
|
|
public List<MesQsSuspend> getOpenLine(string deptNo)
|
{
|
var db = SqlSugarHelper.GetInstance();
|
return db.Queryable<MesQsSuspend>()
|
.Where(a => a.DeptNo == deptNo && a.IsSuspend == 0)
|
.GroupBy(a => new
|
{
|
a.LineNo,
|
a.LineName
|
}).Select<MesQsSuspend>(a => new MesQsSuspend
|
{
|
LineNo = a.LineNo,
|
LineName = a.LineName
|
}).ToList();
|
}
|
|
public int UpdateById(MesQsSuspend entity)
|
{
|
return SqlSugarHelper.UseTransactionWithOracle(db =>
|
{
|
return db.Updateable<MesQsSuspend>()
|
.SetColumns(a => a.IsSuspend == entity.IsSuspend)
|
.SetColumns(a => a.OpenDate == DateTime.Now)
|
.SetColumns(a => a.TimeDifference == entity.TimeDifference)
|
.Where(a => a.Id == entity.Id)
|
.ExecuteCommand();
|
});
|
}
|
}
|