锐腾搅拌上料功能
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

166 lines
5.9 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ICSSoft.Frame.Data.Entity;
using ICSSoft.Base.Config.DBHelper;
using System.Data;
using System.Data.SqlClient;
using ICSSoft.Base.Config.AppConfig;
namespace ICSSoft.Frame.Data.DAL
{
public class ICSItemBackDAL
{
#region AddandEdit
public static void AddandEdit(ICSItemBack vendorLot, string Appconstr)
{
FramDataContext db = new FramDataContext(Appconstr);
db.Connection.Open();
db.Transaction = db.Connection.BeginTransaction();
try
{
bool isNew = false;
var line = db.ICSItemBack.SingleOrDefault(a => a.ID == vendorLot.ID);
if (line == null)
{
isNew = true;
line = new ICSItemBack();
line.ID = AppConfig.GetGuid();
line.STATUS = vendorLot.STATUS;
}
var codes = db.ICSItemBack.Where(a => a.MOCODE == vendorLot.MOCODE && a.MOSEQ == vendorLot.MOSEQ && a.INVCode == vendorLot.INVCode && a.STATUS == vendorLot.STATUS && a.ID != line.ID);
if (codes != null && codes.Count() > 0)
{
throw new Exception("该工单行下此物料已存在,请入库后再新建或直接修改数量!");
}
line.MOCODE = vendorLot.MOCODE;
line.MOSEQ = vendorLot.MOSEQ;
line.INVCode = vendorLot.INVCode;
line.QTY = vendorLot.QTY;
line.MEMO = vendorLot.MEMO;
line.MUSER = AppConfig.UserCode;
line.MUSERName = AppConfig.UserName;
line.MTIME = AppConfig.GetSeverDateTime("yyyy-MM-dd hh:mm:ss");
line.WorkPoint = AppConfig.WorkPointCode;
line.EATTRIBUTE1 = vendorLot.EATTRIBUTE1;
if (isNew) db.ICSItemBack.InsertOnSubmit(line);
db.SubmitChanges();
db.Transaction.Commit();
}
catch (Exception ex)
{
db.Transaction.Rollback();
throw new Exception(ex.Message);
}
}
#endregion
#region AddandEditList
public static void AddandEditList(List<ICSItemBack> vendorLotList, string Appconstr)
{
FramDataContext db = new FramDataContext(Appconstr);
db.Connection.Open();
db.Transaction = db.Connection.BeginTransaction();
try
{
foreach (var vendorLot in vendorLotList)
{
bool isNew = false;
var line = db.ICSItemBack.SingleOrDefault(a => a.ID == vendorLot.ID);
if (line == null)
{
isNew = true;
line = new ICSItemBack();
line.ID = AppConfig.GetGuid();
line.STATUS = vendorLot.STATUS;
}
var codes = db.ICSItemBack.Where(a => a.MOCODE == vendorLot.MOCODE && a.MOSEQ == vendorLot.MOSEQ && a.INVCode == vendorLot.INVCode && a.STATUS == vendorLot.STATUS && a.ID != line.ID);
if (codes != null && codes.Count() > 0)
{
throw new Exception("该工单行下此物料已存在,请入库后再新建或直接修改数量!");
}
line.MOCODE = vendorLot.MOCODE;
line.MOSEQ = vendorLot.MOSEQ;
line.INVCode = vendorLot.INVCode;
line.QTY = vendorLot.QTY;
line.MEMO = vendorLot.MEMO;
line.MUSER = AppConfig.UserCode;
line.MUSERName = AppConfig.UserName;
line.MTIME = AppConfig.GetSeverDateTime("yyyy-MM-dd hh:mm:ss");
line.WorkPoint = AppConfig.WorkPointCode;
line.EATTRIBUTE1 = vendorLot.EATTRIBUTE1;
if (isNew) db.ICSItemBack.InsertOnSubmit(line);
}
db.SubmitChanges();
db.Transaction.Commit();
}
catch (Exception ex)
{
db.Transaction.Rollback();
throw new Exception(ex.Message);
}
}
#endregion
#region select
public static ICSItemBack select(String guid, String Appconstr)
{
FramDataContext db = new FramDataContext(Appconstr);
db.Connection.Open();
db.Transaction = db.Connection.BeginTransaction();
ICSItemBack entity = new ICSItemBack();
try
{
var line = db.ICSItemBack.SingleOrDefault(a => a.ID == guid);
return (ICSItemBack)line;
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
#endregion
#region delete
public static void delete(List<String> guidList,List<string> codeList)
{
FramDataContext db = new FramDataContext(AppConfig.AppConnectString);
db.Connection.Open();
db.Transaction = db.Connection.BeginTransaction();
try
{
var lines = db.ICSItemBack.Where(a => guidList.Contains(a.ID));
//var line = db.ICSRES.Where(a => codeList.Contains(a.DCTCODE));
//if(line.Count()!=0){
// throw new Exception("DCT指令在资源维护已经使用,无法删除!");
//}
db.ICSItemBack.DeleteAllOnSubmit(lines);
db.SubmitChanges();
db.Transaction.Commit();
}
catch (Exception ex)
{
db.Transaction.Rollback();
throw ex;
}
}
#endregion
}
}