using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using QMAPP.Entity;
using QMAPP.BLL;
using QMAPP.FJC.Entity.FeedInManage;
using QMFrameWork.Data;
using QMFrameWork.Log;
using System.Data;
using QMAPP.FJC.DAL.WIPManage;
using QMAPP.FJC.Entity;
namespace QMAPP.FJC.BLL.WIPManage
{
///
/// 20171023gzf
///
public class WIPProductCountBLL : BaseBLL
{
#region 获取列表
///
/// 获取列表
///
/// 条件
/// 数据页
/// 数据页
public DataResult GetList(Epidermis condition, DataPage page)
{
DataResult result = new DataResult();
try
{
//获取信息列表
page = new WIPProductCountDAL().GetList(condition, page);
#region 转换状态显示类型
//List fisOrderList = page.Result as List;
////处理字典信息
//DictManageBLL dictSCANSTATE = new DictManageBLL(DictKind.SCANSTATE);
//foreach (var info in fisOrderList)
//{
// info.SCANSTATE = dictSCANSTATE.GetDictValue(info.SCANSTATE);
//}
#endregion
result.Result = page;
}
catch (Exception ex)
{
LogManager.LogHelper.Error(new LogInfo()
{
ErrorInfo = ex,
Tag = ex.StackTrace,
Info = "设备耗能信息逻辑层-获取列表!"
});
result.IsSuccess = false;
result.Msg = Resource.SystemException;
throw ex;
}
result.IsSuccess = true;
return result;
}
///
/// 查询注塑件数量
///
///
///
///
public DataResult GetPlasticPartCount(string materialtype, string materialcode,DataPage page)
{
DataResult result = new DataResult();
try
{
var dal=new WIPProductCountDAL();
//获取信息列表
var list = dal.GetIMSCount(materialtype, materialcode,page);
var partusingcount = dal.GetPlasticPartUsingCount(materialtype, materialcode);
var partscrapcount = dal.GetPlasticPartScrapCount(materialtype, materialcode);
var partcounting = dal.GetPlasticPartCounting(materialtype, materialcode);
var partout = dal.GetPlasticPartOut(materialtype, materialcode);
foreach (var imscount in list.Result as List)
{
var usecount=partusingcount.FirstOrDefault(p=>p.MATERIAL_CODE==imscount.MATERIAL_CODE);
if (usecount != null)
{
imscount.CAPACITY = imscount.CAPACITY - usecount.USINGCOUNT;
}
var scrapcount = partscrapcount.FirstOrDefault(p => p.MATERIAL_CODE == imscount.MATERIAL_CODE);
if (scrapcount != null)
{
imscount.CAPACITY = imscount.CAPACITY - scrapcount.USINGCOUNT;
}
var counting = partcounting.FirstOrDefault(p => p.MATERIAL_CODE == imscount.MATERIAL_CODE);
if (counting != null)
{
imscount.CAPACITY = imscount.CAPACITY + counting.USINGCOUNT;
}
var outcount = partout.FirstOrDefault(p => p.MATERIAL_CODE == imscount.MATERIAL_CODE);
if (outcount != null)
{
imscount.CAPACITY = imscount.CAPACITY - outcount.USINGCOUNT;
}
imscount.UNUSED = (imscount.CAPACITY).ToString();
}
result.Result = list;
}
catch (Exception ex)
{
LogManager.LogHelper.Error(new LogInfo()
{
ErrorInfo = ex,
Tag = ex.StackTrace
});
result.IsSuccess = false;
result.Msg = Resource.SystemException;
throw ex;
}
result.IsSuccess = true;
return result;
}
#endregion
#region 导出数据
///
/// 获取导出的数据
///
/// 查询条件
/// 数据
public DataResult GetExportData(Epidermis model)
{
DataResult result = new DataResult();
try
{
result.IsSuccess = true;
result.Result = new WIPProductCountDAL().GetExportData(model);
}
catch (Exception ex)
{
LogManager.LogHelper.Error(new LogInfo()
{
ErrorInfo = ex,
Tag = ex.StackTrace,
Info = "在制品统计信息导出错误!"
});
result.IsSuccess = false;
result.Msg = "在制品统计信息导出错误!";
}
return result;
}
#endregion
}
}