using HH.WCS.Mobox3.HD.models;
|
using HH.WCS.Mobox3.HD.util;
|
using System;
|
using System.Collections.Generic;
|
using static HH.WCS.Mobox3.HD.util.ExpressionHelper;
|
using System.Linq.Expressions;
|
using System.Linq;
|
|
namespace HH.WCS.Mobox3.HD.wms
|
{
|
internal class MouldHelper
|
{
|
|
internal static MouldCntr GetMouldCntr(MouldCntr mouldCntrTemplate)
|
{
|
var db = new SqlHelper<object>().GetInstance();
|
var query = db.Queryable<MouldCntr>();
|
if (mouldCntrTemplate.S_MOULD_NO != null) {
|
query.Where(a => a.S_MOULD_NO == mouldCntrTemplate.S_MOULD_NO || a.S_ITEM_CODE == mouldCntrTemplate.S_MOULD_NO);
|
}
|
if (mouldCntrTemplate.S_CNTR_CODE != null)
|
{
|
query.Where(a => a.S_CNTR_CODE == mouldCntrTemplate.S_CNTR_CODE);
|
}
|
if (mouldCntrTemplate.S_LOC_CODE != null)
|
{
|
query.Where(a => a.S_LOC_CODE == mouldCntrTemplate.S_LOC_CODE);
|
}
|
if (mouldCntrTemplate.S_ABLE_FLAG != null)
|
{
|
query.Where(a => a.S_ABLE_FLAG == mouldCntrTemplate.S_ABLE_FLAG);
|
}
|
|
MouldCntr mouldCntr = query.First();
|
|
if (mouldCntr != null)
|
{
|
// 加载相关的 MouldDetail 记录
|
List<MouldDetail> mouldDetails = db.Queryable<MouldDetail>().Where(a => a.S_MOULD_NO == mouldCntr.S_MOULD_NO).ToList();
|
mouldCntr.mouldDetails = mouldDetails;
|
}
|
|
return mouldCntr;
|
}
|
|
internal static List<MouldCntr> GetMouldCntrList(MouldCntr mouldCntrTemplate)
|
{
|
var db = new SqlHelper<object>().GetInstance();
|
var query = db.Queryable<MouldCntr>();
|
if (mouldCntrTemplate.S_MOULD_NO != null)
|
{
|
query.Where(a => (a.S_MOULD_NO == mouldCntrTemplate.S_MOULD_NO || a.S_ITEM_CODE == mouldCntrTemplate.S_MOULD_NO));
|
}
|
if (mouldCntrTemplate.S_CNTR_CODE != null)
|
{
|
query.Where(a => a.S_CNTR_CODE == mouldCntrTemplate.S_CNTR_CODE);
|
}
|
if (mouldCntrTemplate.S_LOC_CODE != null)
|
{
|
query.Where(a => a.S_LOC_CODE == mouldCntrTemplate.S_LOC_CODE);
|
}
|
var mouldCntrs = query.Where(a => a.S_STATUS == "Y" && a.S_ABLE_FLAG == "是").ToList();
|
return mouldCntrs;
|
}
|
|
internal static MouldCntr GetMouldCntrByLoc(string locCode)
|
{
|
var db = new SqlHelper<object>().GetInstance();
|
return db.Queryable<MouldCntr>().Where(a => a.S_LOC_CODE == locCode).First();
|
}
|
internal static MouldCntr GetMouldCntrByCntr(string cntrNo)
|
{
|
var db = new SqlHelper<object>().GetInstance();
|
return db.Queryable<MouldCntr>().Where(a => a.S_CNTR_CODE == cntrNo).First();
|
}
|
|
internal static MouldCntr GetMouldCntr(string mouldNo)
|
{
|
var db = new SqlHelper<object>().GetInstance();
|
return db.Queryable<MouldCntr>().Where(a => a.S_MOULD_NO == mouldNo).First();
|
}
|
|
internal static List<MouldDetail> GetMouldDetails (string mouldNo )
|
{
|
var db = new SqlHelper<object>().GetInstance();
|
return db.Queryable<MouldDetail>().Where(a => a.S_MOULD_NO == mouldNo).ToList();
|
}
|
|
internal static bool deleteMould(string mouldNo)
|
{
|
bool result = false;
|
var db = new SqlHelper<object>().GetInstance();
|
try
|
{
|
db.BeginTran();
|
var mouldCntr = db.Queryable<MouldCntr>().Where(a => a.S_MOULD_NO == mouldNo).First();
|
if (mouldCntr != null) {
|
int count = db.Deleteable<MouldCntr>().Where(a => a.S_MOULD_NO == mouldNo).ExecuteCommand();
|
if (count > 0)
|
{
|
result = db.Deleteable<MouldDetail>().Where(a => a.S_MOULD_NO == mouldNo).ExecuteCommand() > 0;
|
if (result)
|
{
|
var container = ContainerHelper.GetCntr(mouldCntr.S_CNTR_CODE);
|
container.N_DETAIL_COUNT = 0;
|
db.Updateable(container).ExecuteCommand();
|
}
|
}
|
}
|
db.CommitTran();
|
return result;
|
}
|
catch (Exception ex) {
|
db.RollbackTran();
|
LogHelper.Info("删除模具异常-deleteMould,error:"+ex.Message, "mobox");
|
}
|
return result;
|
}
|
|
internal static bool deleteMouldByCntr(string cntrCode)
|
{
|
bool result = false;
|
var db = new SqlHelper<object>().GetInstance();
|
try
|
{
|
db.BeginTran();
|
var mouldCntr = db.Queryable<MouldCntr>().Where(a => a.S_CNTR_CODE.Trim() == cntrCode).First();
|
int count = db.Deleteable<MouldCntr>().Where(a => a.S_MOULD_NO == mouldCntr.S_MOULD_NO).ExecuteCommand();
|
if (count > 0)
|
{
|
result = db.Deleteable<MouldDetail>().Where(a => a.S_MOULD_NO == mouldCntr.S_MOULD_NO).ExecuteCommand() > 0;
|
}
|
db.CommitTran();
|
return result;
|
}
|
catch (Exception ex)
|
{
|
db.RollbackTran();
|
LogHelper.Info("删除模具异常-deleteMould,error:" + ex.Message, "mobox");
|
}
|
return result;
|
}
|
|
/// <summary>
|
/// 更新模具数量
|
/// </summary>
|
/// <param name="mouldDetails"></param>
|
/// <returns></returns>
|
internal static bool updateMouldNum(List<MouldDetail> mouldDetails)
|
{
|
var db = new SqlHelper<object>().GetInstance();
|
mouldDetails.ForEach(it =>
|
{
|
db.Updateable<MouldDetail>(it).UpdateColumns(a => a.N_QTY).ExecuteCommand();
|
});
|
return true;
|
}
|
/// <summary>
|
/// 更新模具状态
|
/// </summary>
|
/// <param name="cntrCode"></param>
|
/// <param name="status"></param>
|
/// <returns></returns>
|
internal static bool updateMouldStatus(string cntrCode ,string status)
|
{
|
var db = new SqlHelper<object>().GetInstance();
|
return db.Updateable<MouldCntr>().SetColumns(a => a.S_STATUS == status).Where(a => a.S_CNTR_CODE == cntrCode).ExecuteCommand() > 0;
|
}
|
|
/// <summary>
|
/// 更新模具状态
|
/// </summary>
|
/// <param name="mouldCntr"></param>
|
/// <returns></returns>
|
internal static bool updateMouldStatus(MouldCntr mouldCntr)
|
{
|
var db = new SqlHelper<object>().GetInstance();
|
return db.Updateable<MouldCntr>(mouldCntr).UpdateColumns(a => new { a.S_ABLE_FLAG ,a.S_STATUS }).ExecuteCommand() > 0;
|
}
|
|
/// <summary>
|
/// 添加模具
|
/// </summary>
|
/// <param name="mouldCntr"></param>
|
/// <returns></returns>
|
internal static bool addMould(MouldCntr mouldCntr)
|
{
|
var db = new SqlHelper<object>().GetInstance();
|
return db.Insertable<MouldCntr>(mouldCntr).ExecuteCommand() > 0;
|
}
|
|
/// <summary>
|
/// 添加子模具
|
/// </summary>
|
/// <param name="mouldDetails"></param>
|
/// <returns></returns>
|
internal static void batchAddChildMould(List<MouldDetail> mouldDetails)
|
{
|
var db = new SqlHelper<object>().GetInstance();
|
foreach (MouldDetail item in mouldDetails)
|
{
|
db.Insertable<MouldDetail>(item).ExecuteCommand();
|
}
|
}
|
|
}
|
}
|