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.
242 lines
9.1 KiB
242 lines
9.1 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 ICSEQPMaterialTRANSDAL
|
|
{
|
|
|
|
|
|
|
|
#region 增加修改
|
|
|
|
public static void AddAndEdit(List<FormICSEQPMaterialTRANSUIModel> equipmentInfoList, string dsconn)
|
|
{
|
|
|
|
FramDataContext db = new FramDataContext(dsconn);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
foreach (FormICSEQPMaterialTRANSUIModel equipmentInfo in equipmentInfoList)
|
|
{
|
|
//var line = db.ICSEQPMaterialTRANS.SingleOrDefault(a => a.MToolCode == equipmentInfo.MToolCode);
|
|
//if (line != null)
|
|
//{
|
|
// throw new Exception("备件编码已存在");
|
|
//}
|
|
ICSEQPMaterialTRANS line = new ICSEQPMaterialTRANS();
|
|
line.MCODE = equipmentInfo.ItemCode;
|
|
line.MToolCode = equipmentInfo.MToolCode;
|
|
line.MTRANSType = equipmentInfo.MTRANSType;
|
|
line.MTRANSQty = equipmentInfo.MTRANSQty;
|
|
line.MRRUSER = equipmentInfo.MRRUSER;
|
|
line.MUSER = equipmentInfo.MUSER;
|
|
line.MUSERName = equipmentInfo.MUSERName;
|
|
line.MTIME = Convert.ToDateTime(equipmentInfo.MTIME);
|
|
line.WorkPoint = equipmentInfo.WorkPoint;
|
|
line.EATTRIBUTE1 = equipmentInfo.EATTRIBUTE1;
|
|
|
|
db.ICSEQPMaterialTRANS.InsertOnSubmit(line);
|
|
if (equipmentInfo.materialinv.MType == "A")
|
|
{
|
|
var lines = db.ICSEQPMaterialInfo.SingleOrDefault(a => a.MToolCode == equipmentInfo.MToolCode);
|
|
lines.MValidDATE = equipmentInfo.materialinfo.MValidDATE;
|
|
if (equipmentInfo.MTRANSType == "领料")
|
|
{
|
|
lines.Mstatus = "使用中";
|
|
}
|
|
if (equipmentInfo.MTRANSType == "退料")
|
|
{
|
|
lines.Mstatus = "在库";
|
|
}
|
|
if (equipmentInfo.MTRANSType == "报废")
|
|
{
|
|
lines.Mstatus = "报废";
|
|
}
|
|
|
|
}
|
|
var line1 = db.ICSEQPMaterialINV.SingleOrDefault(a => a.MCODE == equipmentInfo.ItemCode);
|
|
if (equipmentInfo.MTRANSType == "领料")
|
|
{
|
|
if (equipmentInfo.MTRANSQty - line1.MINVQty > 0)
|
|
{
|
|
throw new Exception("库存数量不足");
|
|
}
|
|
//lines.Mstatus = "使用中";
|
|
line1.MINVQty = line1.MINVQty - equipmentInfo.MTRANSQty;
|
|
line1.MUSEQty = line1.MUSEQty + equipmentInfo.MTRANSQty;
|
|
}
|
|
if (equipmentInfo.MTRANSType == "退料")
|
|
{
|
|
if (equipmentInfo.MTRANSQty - line1.MUSEQty > 0)
|
|
{
|
|
throw new Exception("退料数超出使用数");
|
|
}
|
|
if (line1.MUSEQty == 0)
|
|
{
|
|
throw new Exception("不存在使用中的备品备件,无法退料");
|
|
|
|
}
|
|
//lines.Mstatus = "在库";
|
|
line1.MINVQty = line1.MINVQty + equipmentInfo.MTRANSQty;
|
|
line1.MUSEQty = line1.MUSEQty - equipmentInfo.MTRANSQty;
|
|
}
|
|
if (equipmentInfo.MTRANSType == "报废")
|
|
{
|
|
if (equipmentInfo.MTRANSQty - line1.MINVQty > 0)
|
|
{
|
|
throw new Exception("报废数超出在库数");
|
|
}
|
|
//lines.Mstatus = "报废";
|
|
line1.MINVQty = line1.MINVQty - equipmentInfo.MTRANSQty;
|
|
line1.MScrapQty = line1.MScrapQty + equipmentInfo.MTRANSQty;
|
|
}
|
|
db.SubmitChanges();
|
|
}
|
|
|
|
db.SubmitChanges();
|
|
db.Transaction.Commit();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
db.Transaction.Rollback();
|
|
throw new Exception(ex.Message);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//#region 班次次序是否存在
|
|
//public static bool IsIncludingInShiftSeq(int shiftsqe, string shifttypeid)
|
|
//{
|
|
|
|
// FramDataContext db = new FramDataContext(AppConfig.AppConnectString);
|
|
// db.Connection.Open();
|
|
// db.Transaction = db.Connection.BeginTransaction();
|
|
// try
|
|
// {
|
|
// var line = db.ICSSHIFT.SingleOrDefault(a => a.SHIFTSEQ == shiftsqe && a.SHIFTTYPEID == shifttypeid);
|
|
// if (line == null)
|
|
// return true;
|
|
// else
|
|
// return false;
|
|
// }
|
|
// catch (Exception ex)
|
|
// {
|
|
// db.Transaction.Rollback();
|
|
// throw ex;
|
|
// }
|
|
|
|
//}
|
|
//#endregion
|
|
|
|
|
|
// public static List<FormICSEQPTSUIModel> SearchEQPTSInfoByID(string id, string dsconn)
|
|
// {
|
|
// List<FormICSEQPTSUIModel> returnshift = new List<FormICSEQPTSUIModel>();
|
|
// string sql = @"select a.GUID,b.EQPID,b.EQPCode,a.FINDUSER,a.FINDMTIME,a.TSINFO,a.REASON,a.Solution,a.Result,a.TSType,a.STATUS,a.Duration,a.MUSERName,a.MTIME
|
|
// from ICSEQPTS a
|
|
// left join ICSEquipment b on a.EQPCode=b.EQPCode
|
|
// where a.GUID='{0}'";
|
|
// sql = string.Format(sql, id);
|
|
// DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
|
|
// foreach (DataRow dr in dt.Rows)
|
|
// {
|
|
// FormICSEQPTSUIModel eqptsInfo = new FormICSEQPTSUIModel();
|
|
// eqptsInfo.GUID = dr["GUID"].ToString();
|
|
// eqptsInfo.equipment = new FormICSEquipmentUIModel();
|
|
// eqptsInfo.equipment.EQPID = dr["EQPID"].ToString();
|
|
// eqptsInfo.equipment.EQPCode = dr["EQPCode"].ToString();
|
|
// eqptsInfo.FINDUSER = dr["FINDUSER"].ToString();
|
|
// eqptsInfo.FINDMTIME = Convert.ToDateTime(dr["FINDMTIME"].ToString());
|
|
// eqptsInfo.TSINFO = dr["TSINFO"].ToString();
|
|
// eqptsInfo.REASON = dr["REASON"].ToString();
|
|
// eqptsInfo.Solution = dr["Solution"].ToString();
|
|
// eqptsInfo.Result = dr["Result"].ToString();
|
|
// eqptsInfo.TSType = dr["TSType"].ToString();
|
|
// eqptsInfo.STATUS = dr["STATUS"].ToString();
|
|
// eqptsInfo.Duration =Convert.ToInt32(dr["Duration"].ToString());
|
|
// eqptsInfo.MUSERName = dr["MUSERName"].ToString();
|
|
// eqptsInfo.MTIME = System.DateTime.Parse(dr["MTIME"].ToString());
|
|
|
|
// if (!returnshift.Contains(eqptsInfo))
|
|
// {
|
|
// returnshift.Add(eqptsInfo);
|
|
// }
|
|
|
|
// }
|
|
// return returnshift;
|
|
|
|
// }
|
|
|
|
|
|
#region delete
|
|
public static void delete(List<String> guidList)
|
|
{
|
|
FramDataContext db = new FramDataContext(AppConfig.AppConnectString);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
var lines = db.ICSEQPMaterialInfo.Where(a => guidList.Contains(a.MToolCode));
|
|
db.ICSEQPMaterialInfo.DeleteAllOnSubmit(lines);
|
|
|
|
db.SubmitChanges();
|
|
db.Transaction.Commit();
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
db.Transaction.Rollback();
|
|
throw ex;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
public static DataTable GetShiftCode()
|
|
{
|
|
try
|
|
{
|
|
string sql = @"select TOP 1 [SHIFTCODE]
|
|
FROM [dbo].[ICSSHIFT] order by SHIFTCODE desc";
|
|
return DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
|
|
}
|
|
|
|
// public static DataTable GetShiftSeqCode()
|
|
// {
|
|
// try
|
|
// {
|
|
// string sql = @"select TOP 1 [SHIFTSEQ]
|
|
// FROM [dbo].[ICSSHIFT] order by [SHIFTTYPEID] desc";
|
|
// return DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
|
|
// }
|
|
// catch (Exception ex)
|
|
// {
|
|
// throw ex;
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
}
|
|
}
|
|
|