274 lines
13 KiB
C#
274 lines
13 KiB
C#
|
|
using Cowain.Preheat.Model.Models;
|
||
|
|
using Cowain.Preheat.Common.Core;
|
||
|
|
using Cowain.Preheat.Model;
|
||
|
|
using System;
|
||
|
|
using System.Collections.Generic;
|
||
|
|
using System.Data;
|
||
|
|
using System.Linq;
|
||
|
|
using System.Text;
|
||
|
|
using Unity;
|
||
|
|
using System.Data.Entity;
|
||
|
|
|
||
|
|
namespace Cowain.Preheat.BLL
|
||
|
|
{
|
||
|
|
public class StationService : ServiceBase
|
||
|
|
{
|
||
|
|
public StationService(IUnityContainer unityContainer) : base(unityContainer)
|
||
|
|
{
|
||
|
|
|
||
|
|
}
|
||
|
|
/// <summary>
|
||
|
|
/// 获取工位列表信息
|
||
|
|
/// </summary>
|
||
|
|
/// <returns></returns>
|
||
|
|
public List<TStation> GetAll()
|
||
|
|
{
|
||
|
|
using (var Context = new PreheatEntities())
|
||
|
|
{
|
||
|
|
var dataList = Context.Set<TStation>().OrderBy(x => x.Number).ToList();
|
||
|
|
return dataList;
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
/// <summary>
|
||
|
|
/// 获取工位明细列表信息
|
||
|
|
/// </summary>
|
||
|
|
/// <returns></returns>
|
||
|
|
public List<TStationDetail> GetAllStationDetailList()
|
||
|
|
{
|
||
|
|
using (var Context = new PreheatEntities())
|
||
|
|
{
|
||
|
|
var dataList = Context.Set<TStationDetail>().OrderBy(x => x.StationId).ThenBy(s => s.Layer).ToList();
|
||
|
|
return dataList;
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
public TStationDetail GetStationDetailByName(string name)
|
||
|
|
{
|
||
|
|
using (var Context = new PreheatEntities())
|
||
|
|
{
|
||
|
|
var result = Context.Set<TStationDetail>().Where(p => p.Name == name).FirstOrDefault();
|
||
|
|
return result;
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 获取工位和明细电池关联信息
|
||
|
|
/// </summary>
|
||
|
|
/// <returns></returns>
|
||
|
|
//public IQueryable<StationInfoAndDetailsBatteryModel> GetStationDetailBatterys()
|
||
|
|
//{
|
||
|
|
// var query = from a in Context.Set<TStation>()
|
||
|
|
// join b in Context.Set<TStationDetail>() on a.Id equals b.StationId
|
||
|
|
// join c in Context.Set<TBatteryInfo>() on b.BatteryId equals c.Id into joinedBattery
|
||
|
|
// from bat in joinedBattery.DefaultIfEmpty()
|
||
|
|
// join d in Context.Set<TPalletInfo>() on bat.PalletVirtualId equals d.VirtualId into joinedPallet
|
||
|
|
// from pall in joinedPallet.DefaultIfEmpty()
|
||
|
|
// join e in Context.Set<TDeviceConfig>() on b.DeviceId equals e.Id into joinedDevice
|
||
|
|
// from dev in joinedDevice.DefaultIfEmpty()
|
||
|
|
// select new StationInfoAndDetailsBatteryModel
|
||
|
|
// {
|
||
|
|
// StationId = a.Id,
|
||
|
|
// StationName = a.Name,
|
||
|
|
// StationDesc=a.Desc,
|
||
|
|
// StationNumber = a.Number,
|
||
|
|
// StationDetailId = b.Id,
|
||
|
|
// StationDetailName = b.Name,
|
||
|
|
// StationDetailNumber = b.Number,
|
||
|
|
// StationDetailBatteryId = b.BatteryId,
|
||
|
|
// BatteryCode = bat.BatteryCode,
|
||
|
|
// BatteryCodeScanTime = bat.ScanTime,
|
||
|
|
|
||
|
|
// DeviceEnable = dev.Enable,
|
||
|
|
// DeviceIsConnect = dev.IsConnect
|
||
|
|
// };
|
||
|
|
// return query;
|
||
|
|
//}
|
||
|
|
/// <summary>
|
||
|
|
/// 获取工位和明细电池关联信息
|
||
|
|
/// </summary>
|
||
|
|
/// <returns></returns>
|
||
|
|
//public IQueryable<StationInfoAndDetailsBatteryModel> GetStationDetailBatterys(string stationName, string batteryCodes = "")
|
||
|
|
//{
|
||
|
|
// var strTolist = CommonCoreHelper.StringToListConverter(batteryCodes);
|
||
|
|
// var query = from a in Context.Set<TStation>()
|
||
|
|
// join b in Context.Set<TStationDetail>() on a.Id equals b.StationId
|
||
|
|
// join c in Context.Set<TBatteryInfo>() on b.BatteryId equals c.Id into joinedBattery
|
||
|
|
// from bat in joinedBattery.DefaultIfEmpty()
|
||
|
|
// where a.Name == stationName
|
||
|
|
// select new StationInfoAndDetailsBatteryModel
|
||
|
|
// {
|
||
|
|
// StationId = a.Id,
|
||
|
|
// StationName = a.Desc,
|
||
|
|
// StationColumns = a.Columns,
|
||
|
|
// StationNumber = a.Number,
|
||
|
|
// StationPosX = a.PosX,
|
||
|
|
// StationPosY = a.PosY,
|
||
|
|
// StationEnable = a.Enable,
|
||
|
|
// StationDetailId = b.Id,
|
||
|
|
// StationDetailName = b.Name,
|
||
|
|
// StationDetailNumber = b.Number,
|
||
|
|
// StationDetailRowNumber = b.RowNumber,
|
||
|
|
// StationDetailBatteryId = b.BatteryId,
|
||
|
|
// StationDetailEnable = b.Enable,
|
||
|
|
// StationDetailDeviceId = b.DeviceId,
|
||
|
|
// BatteryCode = bat.BatteryCode,
|
||
|
|
// BatteryCodeScanTime = bat.ScanTime,
|
||
|
|
// };
|
||
|
|
// if (strTolist.Any())
|
||
|
|
// {
|
||
|
|
// query = query.Where(p => strTolist.Contains(p.BatteryCode));
|
||
|
|
// }
|
||
|
|
// return query;
|
||
|
|
//}
|
||
|
|
//public List<StationInfoAndDetailsBatteryModel> GetStationDetailBatterys(string stationName, int stationDetailId, string batteryCodes)
|
||
|
|
//{
|
||
|
|
// var strTolist = CommonCoreHelper.StringToListConverter(batteryCodes);
|
||
|
|
// var query = from a in Context.Set<TStation>()
|
||
|
|
// join b in Context.Set<TStationDetail>() on a.Id equals b.StationId
|
||
|
|
// join bat in Context.Set<TBatteryInfo>() on b.BatteryId equals bat.Id
|
||
|
|
// where a.Name == stationName
|
||
|
|
// select new StationInfoAndDetailsBatteryModel
|
||
|
|
// {
|
||
|
|
// StationId = a.Id,
|
||
|
|
// StationName = a.Desc,
|
||
|
|
// StationColumns = a.Columns,
|
||
|
|
// StationNumber = a.Number,
|
||
|
|
// StationPosX = a.PosX,
|
||
|
|
// StationPosY = a.PosY,
|
||
|
|
// StationEnable = a.Enable,
|
||
|
|
// StationDetailId = b.Id,
|
||
|
|
// StationDetailName = b.Name,
|
||
|
|
// StationDetailNumber = b.Number,
|
||
|
|
// StationDetailRowNumber = b.RowNumber,
|
||
|
|
// StationDetailBatteryId = b.BatteryId,
|
||
|
|
// StationDetailEnable = b.Enable,
|
||
|
|
// StationDetailDeviceId = b.DeviceId,
|
||
|
|
// BatteryCode = bat.BatteryCode,
|
||
|
|
// BatteryCodeScanTime = bat.ScanTime,
|
||
|
|
|
||
|
|
// };
|
||
|
|
// if (strTolist.Any())
|
||
|
|
// {
|
||
|
|
// query = query.Where(p => strTolist.Contains(p.BatteryCode));
|
||
|
|
// }
|
||
|
|
// if (stationDetailId > 0)
|
||
|
|
// {
|
||
|
|
// query = query.Where(p => p.StationDetailId == stationDetailId);
|
||
|
|
// }
|
||
|
|
// return query.ToList();
|
||
|
|
//}
|
||
|
|
/// <summary>
|
||
|
|
/// 获取电芯数据
|
||
|
|
/// </summary>
|
||
|
|
/// <param name="startTime">开始时间</param>
|
||
|
|
/// <param name="stopTime">结束时间</param>
|
||
|
|
/// <param name="stationId">工站Id</param>
|
||
|
|
/// <param name="batteryCodes">电芯条码</param>
|
||
|
|
/// <returns></returns>
|
||
|
|
//public List<StationInfoAndDetailsBatteryModel> GetBatteryDatasBy(DateTime startTime, DateTime stopTime, int stationId, string batteryCodes)
|
||
|
|
//{
|
||
|
|
// var strTolist = CommonCoreHelper.StringToListConverter(batteryCodes);
|
||
|
|
// var query = from bat in Context.Set<TBatteryInfo>()
|
||
|
|
// where bat.ScanTime >= startTime && bat.ScanTime <= stopTime
|
||
|
|
// select new StationInfoAndDetailsBatteryModel
|
||
|
|
// {
|
||
|
|
// Id = bat.Id,
|
||
|
|
// BatteryCode = bat.BatteryCode,
|
||
|
|
// ScanTime = bat.ScanTime,
|
||
|
|
// StationStep = bat.StationStep,
|
||
|
|
// ShortCircuitTester = bat.ShortCircuitTester,
|
||
|
|
// BeforeInjectInsulaTest = bat.BeforeInjectInsulaTest,
|
||
|
|
// RepeatFlag = bat.RepeatFlag,
|
||
|
|
// BeforeInjectWeight = bat.BeforeInjectWeight,
|
||
|
|
// VacuumInjection = bat.VacuumInjection,
|
||
|
|
// AfterInjectWeight = bat.AfterInjectWeight,
|
||
|
|
// VacuumPackage = bat.VacuumPackage,
|
||
|
|
// AfterPackageWeight = bat.AfterPackageWeight,
|
||
|
|
// AfterPackageInsulaTest = bat.AfterPackageInsulaTest,
|
||
|
|
// UnLoadingScanCode = bat.UnLoadingScanCode,
|
||
|
|
// Marking = bat.Marking,
|
||
|
|
// AfterMarkingScanCode = bat.AfterMarkingScanCode,
|
||
|
|
// OutboundTime = bat.OutboundTime,
|
||
|
|
// FluidInfusionInbound = bat.FluidInfusionInbound,
|
||
|
|
// FluidInfusionOutbound = bat.FluidInfusionOutbound,
|
||
|
|
// FluidInfusionReflux = bat.FluidInfusionReflux
|
||
|
|
// };
|
||
|
|
// if (stationId > 0)
|
||
|
|
// {
|
||
|
|
// query = query.Where(s => s.StationStep == stationId);
|
||
|
|
// }
|
||
|
|
// if (strTolist.Any())
|
||
|
|
// {
|
||
|
|
// query = query.Where(s => strTolist.Contains(s.BatteryCode));
|
||
|
|
// }
|
||
|
|
// var list = query.OrderBy(p => p.ScanTime).ThenBy(p => p.OutboundTime).ToList();
|
||
|
|
// return list;
|
||
|
|
//}
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 获取NG电芯数据
|
||
|
|
/// </summary>
|
||
|
|
/// <param name="startTime">开始时间</param>
|
||
|
|
/// <param name="stopTime">结束时间</param>
|
||
|
|
/// <param name="stationId">工站Id</param>
|
||
|
|
/// <param name="batteryCodes">电芯条码</param>
|
||
|
|
/// <returns></returns>
|
||
|
|
//public List<StationNGBatteryModel> GetNGBatteryDatasBy(DateTime startTime, DateTime stopTime, int stationId, string batteryCodes)
|
||
|
|
//{
|
||
|
|
// var strTolist = CommonCoreHelper.StringToListConverter(batteryCodes);
|
||
|
|
// var query = from a in Context.Set<TBatteryNG>()
|
||
|
|
// join b in Context.Set<TBatteryInfo>() on a.BatteryId equals b.Id into joinedBattery
|
||
|
|
// from bat in joinedBattery.DefaultIfEmpty()
|
||
|
|
// join c in Context.Set<TDeviceConfig>() on a.DeviceName equals c.Name into joinDevice
|
||
|
|
// from cd in joinDevice.DefaultIfEmpty()
|
||
|
|
// where a.CreateTime >= startTime && a.CreateTime <= stopTime
|
||
|
|
// select new StationNGBatteryModel
|
||
|
|
// {
|
||
|
|
// Id = a.Id,
|
||
|
|
// StationStep = a.StationStep,
|
||
|
|
// BatteryId = a.BatteryId,
|
||
|
|
// Content = a.Content,
|
||
|
|
// DeviceName = a.DeviceName,
|
||
|
|
// CreateTime = a.CreateTime,
|
||
|
|
// Desc = a.Desc,
|
||
|
|
// BatteryCode = bat.BatteryCode,
|
||
|
|
// DeviceNameDesc = cd.Desc
|
||
|
|
// };
|
||
|
|
// if (stationId > 0)
|
||
|
|
// {
|
||
|
|
// query = query.Where(s => s.StationStep == stationId);
|
||
|
|
// }
|
||
|
|
// if (strTolist.Any())
|
||
|
|
// {
|
||
|
|
// query = query.Where(s => strTolist.Contains(s.BatteryCode));
|
||
|
|
// }
|
||
|
|
// var list = query.OrderByDescending(p => p.Id).ToList();
|
||
|
|
// return list;
|
||
|
|
//}
|
||
|
|
|
||
|
|
//public TStationDetail GetStationDetailByBatteryId(int stationId, int batteryId)
|
||
|
|
//{
|
||
|
|
// var reuslt = Context.Set<TStationDetail>().FirstOrDefault(p => p.StationId == stationId && p.BatteryId == batteryId);
|
||
|
|
// return reuslt;
|
||
|
|
//}
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 修改工位明细信息
|
||
|
|
/// </summary>
|
||
|
|
/// <param name="stationDetail"></param>
|
||
|
|
/// <returns></returns>
|
||
|
|
public int UpdateStationDetailInfo(TStationDetail stationDetail)
|
||
|
|
{
|
||
|
|
using (var Context = new PreheatEntities())
|
||
|
|
{
|
||
|
|
Context.Set<TStationDetail>().Attach(stationDetail);//将数据附加到上下文,支持实体修改和新实体,重置为UnChanged
|
||
|
|
Context.Entry<TStationDetail>(stationDetail).State = EntityState.Modified;
|
||
|
|
return Context.SaveChanges();
|
||
|
|
}
|
||
|
|
//return Update<TStationDetail>(stationDetail);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|