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.
375 lines
14 KiB
375 lines
14 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;
|
|
using ICSSoft.Frame.APP.Entity;
|
|
|
|
namespace ICSSoft.Frame.Data.DAL
|
|
{
|
|
public class ICSEQPSTPDAL
|
|
{
|
|
#region 新增和修改
|
|
public static void Add(List<FormICSEQPSTPUIModelNew> InfoList, string dsconn)
|
|
{
|
|
FramDataContext db = new FramDataContext(dsconn);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
foreach (FormICSEQPSTPUIModelNew info in InfoList)
|
|
{
|
|
bool isNew = false;
|
|
var line = db.ICSEQPSTP.SingleOrDefault(a => a.ID == info.ID);
|
|
if (line == null)
|
|
{
|
|
isNew = true;
|
|
line = new ICSEQPSTP();
|
|
|
|
|
|
}
|
|
var codes = db.ICSEQPSTP.Where(a => a.ITEMCODE == info.ITEMCODE && a.OPCODE == info.OPCODE && a.EQPTypeCode == info.EQPTypeCode && a.ID != info.ID);
|
|
if (codes.ToList().Count > 0)
|
|
{
|
|
throw new Exception("已存在相同产品工序设备类型的标准工时");
|
|
}
|
|
|
|
line.ID = info.ID;
|
|
line.ITEMCODE = info.ITEMCODE;
|
|
line.OPCODE = info.OPCODE;
|
|
line.EQPCODE = info.EQPCODE;
|
|
line.ETTRCODE = info.ETTRCODE;
|
|
line.ISREF = info.ISREF;
|
|
line.Status = "New";
|
|
var line1 = db.ICSEQPSTP.Where(a => a.ITEMCODE == info.ITEMCODE && a.OPCODE == info.OPCODE && a.ISREF == "是" && a.ID != info.ID);
|
|
|
|
if (line1.ToList().Count > 0 && info.ISREF == "是")
|
|
{
|
|
|
|
//throw new Exception("已存在相同产品工序的默认标准工时");
|
|
|
|
//已经存在则改为是
|
|
foreach (var stp in line1.ToList())
|
|
{
|
|
stp.ISREF = "否";
|
|
}
|
|
}
|
|
line.STIME = Convert.ToDecimal(info.STIME);
|
|
line.RTIME = Convert.ToDecimal(info.RTIME);
|
|
line.MUSER = AppConfig.UserId;
|
|
line.MUSERName = AppConfig.UserName;
|
|
line.MTIME = DateTime.Now;
|
|
line.WorkPoint = AppConfig.WorkPointCode;
|
|
line.EATTRIBUTE1 = info.EATTRIBUTE1;
|
|
line.EQPTypeCode = info.EQPTypeCode;
|
|
//20180626新增
|
|
line.BladeModelAndBrand = info.BladeModelAndBrand;
|
|
line.OutsourcingProperties = info.OutsourcingProperties;
|
|
line.ToolingNo = info.ToolingNo;
|
|
|
|
if (isNew)
|
|
db.ICSEQPSTP.InsertOnSubmit(line);
|
|
db.SubmitChanges();
|
|
|
|
}
|
|
|
|
db.Transaction.Commit();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
db.Transaction.Rollback();
|
|
throw ex;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 新增和修改List
|
|
public static string AddList(List<FormICSEQPSTPUIModelNew> InfoList, string dsconn)
|
|
{
|
|
FramDataContext db = new FramDataContext(dsconn);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
string str = "";
|
|
foreach (FormICSEQPSTPUIModelNew info in InfoList)
|
|
{
|
|
var codes = db.ICSEQPSTP.Where(a => a.ITEMCODE == info.ITEMCODE && a.OPCODE == info.OPCODE && a.EQPTypeCode == info.EQPTypeCode);
|
|
List<ICSEQPSTP> list = codes.ToList();
|
|
|
|
if (list.Count > 0)
|
|
{
|
|
//已审核不做处理
|
|
if (list[0].Status == "Check")
|
|
{
|
|
var line = list[0];
|
|
line.ITEMCODE = info.ITEMCODE;
|
|
line.OPCODE = info.OPCODE;
|
|
line.EQPCODE = info.EQPCODE;
|
|
line.EQPTypeCode = info.EQPTypeCode;
|
|
line.ETTRCODE = info.ETTRCODE;
|
|
line.STIME = Convert.ToDecimal(info.STIME);
|
|
line.ISREF = info.ISREF;
|
|
line.RTIME = info.RTIME;
|
|
line.Status = info.Status;
|
|
line.MUSER = AppConfig.UserId;
|
|
line.MUSERName = AppConfig.UserName;
|
|
line.MTIME = DateTime.Now;
|
|
line.WorkPoint = AppConfig.WorkPointCode;
|
|
line.EATTRIBUTE1 = info.EATTRIBUTE1;
|
|
line.OutsourcingProperties = info.OutsourcingProperties;
|
|
line.BladeModelAndBrand = info.BladeModelAndBrand;
|
|
line.ToolingNo = info.ToolingNo;
|
|
db.SubmitChanges();
|
|
}
|
|
else //未审核时需要更新
|
|
{
|
|
|
|
//str += "存货编码:" + info.ITEMCODE + "工序代码:" + info.OPCODE + "设备类型" + info.EQPTypeCode + "已维护标准工时" + "\r\n";
|
|
//continue;
|
|
var line = list[0];
|
|
line.ITEMCODE = info.ITEMCODE;
|
|
line.OPCODE = info.OPCODE;
|
|
line.EQPCODE = info.EQPCODE;
|
|
line.EQPTypeCode = info.EQPTypeCode;
|
|
line.ETTRCODE = info.ETTRCODE;
|
|
line.STIME = Convert.ToDecimal(info.STIME);
|
|
line.ISREF = info.ISREF;
|
|
line.RTIME = info.RTIME;
|
|
line.Status = info.Status;
|
|
var line1 = db.ICSEQPSTP.Where(a => a.ITEMCODE == info.ITEMCODE && a.OPCODE == info.OPCODE && a.ISREF == "是" && a.EQPTypeCode != info.EQPTypeCode);
|
|
if (line1.ToList().Count > 0 && info.ISREF == "是")
|
|
{
|
|
//str += "存货编码:" + info.ITEMCODE + "工序代码:" + info.OPCODE + "已存在默认标准工时" + "\r\n";
|
|
//continue;
|
|
|
|
foreach (var stp in line1.ToList())
|
|
{
|
|
stp.ISREF = "否";
|
|
}
|
|
}
|
|
|
|
line.OutsourcingProperties = info.OutsourcingProperties;
|
|
line.BladeModelAndBrand = info.BladeModelAndBrand;
|
|
line.ToolingNo = info.ToolingNo;
|
|
|
|
line.MUSER = AppConfig.UserId;
|
|
line.MUSERName = AppConfig.UserName;
|
|
line.MTIME = DateTime.Now;
|
|
line.WorkPoint = AppConfig.WorkPointCode;
|
|
line.EATTRIBUTE1 = info.EATTRIBUTE1;
|
|
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
|
|
bool isNew = false;
|
|
var line = db.ICSEQPSTP.SingleOrDefault(a => a.ITEMCODE == info.ITEMCODE && a.OPCODE == info.OPCODE && a.EQPTypeCode == info.EQPTypeCode);
|
|
|
|
if (line == null)
|
|
{
|
|
isNew = true;
|
|
line = new ICSEQPSTP();
|
|
line.ID = AppConfig.GetGuid();
|
|
}
|
|
//line.ID = info.ID;
|
|
line.ITEMCODE = info.ITEMCODE;
|
|
line.OPCODE = info.OPCODE;
|
|
//line.EQPCODE = info.EQPCODE;
|
|
line.EQPTypeCode = info.EQPTypeCode;
|
|
line.ETTRCODE = info.ETTRCODE;
|
|
line.STIME = Convert.ToDecimal(info.STIME);
|
|
line.ISREF = info.ISREF;
|
|
line.RTIME = info.RTIME;
|
|
line.Status = info.Status;
|
|
var line1 = db.ICSEQPSTP.Where(a => a.ITEMCODE == info.ITEMCODE && a.OPCODE == info.OPCODE && a.EQPTypeCode != info.EQPTypeCode && a.ISREF == "是");
|
|
if (line1.ToList().Count > 0 && info.ISREF == "是")
|
|
{
|
|
//str += "存货编码:" + info.ITEMCODE + "工序代码:" + info.OPCODE + "已存在默认标准工时" + "\r\n";
|
|
foreach (var stp in line1.ToList())
|
|
{
|
|
stp.ISREF = "否";
|
|
}
|
|
//continue;
|
|
}
|
|
line.MUSER = AppConfig.UserId;
|
|
line.MUSERName = AppConfig.UserName;
|
|
line.MTIME = DateTime.Now;
|
|
line.WorkPoint = AppConfig.WorkPointCode;
|
|
line.EATTRIBUTE1 = info.EATTRIBUTE1;
|
|
line.OutsourcingProperties = info.OutsourcingProperties;
|
|
line.BladeModelAndBrand = info.BladeModelAndBrand;
|
|
line.ToolingNo = info.ToolingNo;
|
|
|
|
if (isNew)
|
|
db.ICSEQPSTP.InsertOnSubmit(line);
|
|
db.SubmitChanges();
|
|
}
|
|
|
|
}
|
|
|
|
db.Transaction.Commit();
|
|
return str;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
db.Transaction.Rollback();
|
|
throw ex;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 通过ID查询
|
|
public static DataTable searchInfoByID(string ID, string dsconn)
|
|
{
|
|
|
|
// string sql = @"select a.ID,
|
|
//a.ITEMCODE,
|
|
//a.OPCODE,
|
|
//a.EQPCODE,
|
|
//a.ETTRCOde,
|
|
//a.STIME,
|
|
//a.RTIME,
|
|
//a.ISREF,
|
|
//a.OutsourcingProperties ,
|
|
//a.BladeModelAndBrand,
|
|
//a.ToolingNo,
|
|
//
|
|
//a.WorkPoint,
|
|
//a.MUSER,
|
|
//a.MUSERName,
|
|
//a.MTIME,
|
|
//a.EATTRIBUTE1,
|
|
//a.EQPTypeCode,
|
|
//b.INVNAME ItemName,
|
|
//c.OPDESC,
|
|
//d.EnumText as EQPTypeName,
|
|
//e.EQPName
|
|
//
|
|
// FROM ICSEQPSTP a
|
|
// left join ICSINVENTORY b on a.ITEMCODE=b.INVCODE
|
|
// left join ICSOP c on a.OPCODE=C.OPCODE
|
|
// left join ( select * from Sys_EnumValues where EnumKey='001') d on a.EQPTypeCode=d.EnumValue
|
|
// left join ICSEquipment e on a.EQPCODE=E.EQPCODE
|
|
// where a.ID='{0}'";
|
|
|
|
string sql = @"select a.ID,
|
|
a.ITEMCODE,
|
|
a.OPCODE,
|
|
a.EQPCODE,
|
|
a.ETTRCOde,
|
|
a.STIME,
|
|
a.RTIME,
|
|
a.ISREF,
|
|
a.OutsourcingProperties ,
|
|
a.BladeModelAndBrand,
|
|
a.ToolingNo,
|
|
|
|
a.WorkPoint,
|
|
a.MUSER,
|
|
a.MUSERName,
|
|
a.MTIME,
|
|
a.EATTRIBUTE1,
|
|
a.EQPTypeCode,
|
|
b.INVNAME ItemName,
|
|
c.OPDESC,
|
|
|
|
|
|
a.EQPTypeCode as EQPTypeCode,
|
|
-- d.TypeCODE AS EQPCODE,
|
|
d.TypeDESC as EQPTypeName
|
|
FROM ICSEQPSTP a
|
|
left join ICSINVENTORY b on a.ITEMCODE=b.INVCODE
|
|
left join ICSOP c on a.OPCODE=C.OPCODE
|
|
LEFT JOIN ICSEquipmentType d ON a.EQPTypeCode=d.TypeCODE
|
|
-- left join ( select * from Sys_EnumValues where EnumKey='001') d on a.EQPTypeCode=d.EnumValue
|
|
-- left join ICSEquipment e on a.EQPCODE=E.EQPCODE
|
|
where a.ID='{0}';";
|
|
|
|
sql = string.Format(sql, ID);
|
|
DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
|
|
|
|
return dt;
|
|
}
|
|
#endregion
|
|
|
|
#region 是否存在
|
|
public static bool IsIncluding(string ItemCode, string OPCode, string eqptype, string dsconn)
|
|
{
|
|
|
|
FramDataContext db = new FramDataContext(dsconn);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
var line = db.ICSEQPSTP.SingleOrDefault(a => a.ITEMCODE == ItemCode && a.OPCODE == OPCode && a.EQPTypeCode == eqptype);
|
|
if (line == null)
|
|
return true;
|
|
else
|
|
return false;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
db.Transaction.Rollback();
|
|
throw ex;
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
#region 删除
|
|
public static void deleteInfo(List<string> codeList, string dsconn)
|
|
{
|
|
FramDataContext db = new FramDataContext(dsconn);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
var lines = db.ICSEQPSTP.Where(a => codeList.Contains(a.ID));
|
|
db.ICSEQPSTP.DeleteAllOnSubmit(lines);
|
|
db.SubmitChanges();
|
|
db.Transaction.Commit();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
db.Transaction.Rollback();
|
|
throw ex;
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
|
|
|
|
#region 审核
|
|
public static void checkInfo(List<string> codeList, string dsconn)
|
|
{
|
|
FramDataContext db = new FramDataContext(dsconn);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
var lines = db.ICSEQPSTP.Where(a => codeList.Contains(a.ID));
|
|
foreach (var line in lines)
|
|
{
|
|
line.Status = "Check";
|
|
}
|
|
db.SubmitChanges();
|
|
db.Transaction.Commit();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
db.Transaction.Rollback();
|
|
throw ex;
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
|
|
|
|
}
|
|
}
|