华恒Mes鼎捷代码
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.

338 lines
12 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ICSSoft.Frame.Data.Entity;
using ICSSoft.Base.Config.AppConfig;
using System.Data;
using System.Data.Sql;
using System.Data.Linq;
using ICSSoft.Base.Config.DBHelper;
namespace ICSSoft.Frame.Data.DAL
{
public class ICSOQCCKLISTDAL
{
public static void AddandEdit(ICSOQCCKLIST MODEL, string Appconstr)
{
FramDataContext db = new FramDataContext(Appconstr);
db.Connection.Open();
db.Transaction = db.Connection.BeginTransaction();
try
{
bool isNew = false;
string b = MODEL.ID;
var line = db.ICSOQCCKLIST.SingleOrDefault(a => a.ID == MODEL.ID);
var codes = db.ICSOQCCKLIST.Where(a => a.INVCode == MODEL.INVCode && a.OPCode == MODEL.OPCode && a.CKGROUPCode == MODEL.CKGROUPCode &&
a.CKGROUPMETH == MODEL.CKGROUPMETH && a.CKGROUPATTR == MODEL.CKGROUPATTR && a.ID != MODEL.ID);
//9.14,许蛟说可以有重复的
//if (codes.ToList().Count > 0)
//{
// throw new Exception("维护信息已存在!");
//}
if (line == null)
{
isNew = true;
line = new ICSOQCCKLIST();
line.ID = MODEL.ID;
}
line.ID = MODEL.ID;
line.INVCode = MODEL.INVCode;
line.OPCode = MODEL.OPCode;
line.CKGROUPCode = MODEL.CKGROUPCode;
line.CKGROUPMETH = MODEL.CKGROUPMETH;
line.CKGROUPATTR = MODEL.CKGROUPATTR;
line.UNIT = MODEL.UNIT;
line.SetValueMax = MODEL.SetValueMax;
line.SetValueMin = MODEL.SetValueMin;
line.ISREF = MODEL.ISREF;
line.MUSER = MODEL.MUSER;
//line.MUSERName = MODEL.MUSERName;
line.MTIME = MODEL.MTIME;
line.WorkPoint = AppConfig.WorkPointCode;
if (isNew)
db.ICSOQCCKLIST.InsertOnSubmit(line);
db.SubmitChanges();
db.Transaction.Commit();
}
catch (Exception ex)
{
db.Transaction.Rollback();
throw new Exception(ex.Message);
}
}
public static void AddandEditList(List<ICSOQCCKLIST> InfoList, string Appconstr)
{
FramDataContext db = new FramDataContext(Appconstr);
db.Connection.Open();
db.Transaction = db.Connection.BeginTransaction();
try
{
foreach (ICSOQCCKLIST info in InfoList)
{
bool isNew = false;
var line1 = db.ICSOQCCKLIST.SingleOrDefault(a => a.INVCode == info.INVCode && a.OPCode == info.OPCode && a.CKGROUPCode == info.CKGROUPCode &&
a.CKGROUPMETH == info.CKGROUPMETH && a.CKGROUPATTR == info.CKGROUPATTR&&a.ID!=info.ID&&info.SetValueMax==a.SetValueMax&&info.SetValueMin==a.SetValueMin);
if (line1 != null)
{
throw new Exception("已存在相同数据!");
}
//var line = db.ICSOQCCKLIST.SingleOrDefault(a => a.INVCode == info.INVCode && a.OPCode == info.OPCode && a.CKGROUPCode == info.CKGROUPCode &&
// a.CKGROUPMETH == info.CKGROUPMETH && a.CKGROUPATTR == info.CKGROUPATTR);
var line = db.ICSOQCCKLIST.SingleOrDefault(a => a.ID ==info.ID);
if (line == null)
{
isNew = true;
line = new ICSOQCCKLIST();
line.ID = info.ID;
}
line.INVCode = info.INVCode;
//0906 [工序-次序] 拼接 例:(001-10)
line.OPCode = info.OPCode;
line.CKGROUPCode = info.CKGROUPCode;
line.CKGROUPMETH = info.CKGROUPMETH;
line.CKGROUPATTR = info.CKGROUPATTR;
line.UNIT = info.UNIT;
line.SetValueMax = info.SetValueMax;
line.SetValueMin = info.SetValueMin;
line.ISREF = info.ISREF;
line.MUSER = info.MUSER;
line.MTIME = info.MTIME;
line.WorkPoint = info.WorkPoint;
//0906
line.cixu = info.cixu;
line.PType = 1;
if (isNew)
{
line.MUSER = AppConfig.UserName;
line.MTIME = DateTime.Now;
db.ICSOQCCKLIST.InsertOnSubmit(line);
}
}
db.SubmitChanges();
db.Transaction.Commit();
}
catch (Exception ex)
{
db.Transaction.Rollback();
throw new Exception(ex.Message);
}
}
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.ICSOQCCKLIST.Where(a => guidList.Contains(a.ID));
db.ICSOQCCKLIST.DeleteAllOnSubmit(lines);
db.SubmitChanges();
db.Transaction.Commit();
}
catch (Exception ex)
{
db.Transaction.Rollback();
throw ex;
}
}
#region 获取成检验方式
public static DataTable SearchData(string dsconn)
{
try
{
string sql = @"SELECT EnumKey, EnumText FROM Sys_EnumValues WHERE EnumKey = '00015' AND WorkPointCode = '{0}' ";
sql = string.Format(sql, AppConfig.WorkPointCode);
DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
return dt;
}
catch (Exception ex)
{
throw ex;
}
}
public static DataTable SearchData(string EnumText, string dsconn)
{
try
{
string sql = @"SELECT EnumKey, EnumText FROM Sys_EnumValues WHERE EnumKey = '00015' AND EnumText = '{0}' AND WorkPointCode = '{1}' ";
sql = string.Format(sql, EnumText, AppConfig.WorkPointCode);
DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
return dt;
}
catch (Exception ex)
{
throw ex;
}
}
#endregion
#region 获取成检验属性
public static DataTable SearchDataa(string dsconn)
{
try
{
//0907暂时
// string sql = @"SELECT EnumKey,
// case when EnumText='尺寸' then '量化' else '外观' end
// FROM Sys_EnumValues WHERE EnumKey = '00016' AND WorkPointCode = '{0}' ";
string sql = @"SELECT EnumKey, EnumText FROM Sys_EnumValues WHERE EnumKey = '00016' AND WorkPointCode = '{0}' ";
sql = string.Format(sql, AppConfig.WorkPointCode);
DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
return dt;
}
catch (Exception ex)
{
throw ex;
}
}
public static DataTable SearchDataa(string EnumText, string dsconn)
{
try
{
string sql = @"SELECT EnumKey, EnumText FROM Sys_EnumValues WHERE EnumKey = '00016' AND EnumText = '{0}' AND WorkPointCode = '{1}' ";
sql = string.Format(sql, EnumText, AppConfig.WorkPointCode);
DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
return dt;
}
catch (Exception ex)
{
throw ex;
}
}
#endregion
public static DataSet SearchImportData(string dsconn)
{
try
{
string sql = @"SELECT INVCODE FROM ICSINVENTORY WHERE WorkPoint = '{0}'
SELECT OPCODE FROM ICSOP WHERE WorkPoint = '{0}'
SELECT CKGROUP FROM ICSOQCCKGROUP WHERE WorkPoint = '{0}'
SELECT EnumKey, EnumText FROM Sys_EnumValues WHERE EnumKey = '00015' AND WorkPointCode = '{0}'
SELECT EnumKey, EnumText FROM Sys_EnumValues WHERE EnumKey = '00016' AND WorkPointCode = '{0}'";
sql = string.Format(sql, AppConfig.WorkPointCode);
DataSet ds = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql);
return ds;
}
catch (Exception ex)
{
throw ex;
}
}
public static ICSOQCCKGROUP IsExist(string ObjectNO) {
FramDataContext frame = new FramDataContext(AppConfig.AppConnectString);
frame.Connection.Open();
try {
ICSOQCCKGROUP group=frame.ICSOQCCKGROUP.Where(a=>(a.CKGROUPDNAME+","+a.CKGROUPDESC)==ObjectNO).FirstOrDefault();
return group;
}
catch (Exception ex) {
throw ex;
}
}
public static ICSOQCCKLIST IsExistCKLIST(string id)
{
FramDataContext frame = new FramDataContext(AppConfig.AppConnectString);
frame.Connection.Open();
try
{
ICSOQCCKLIST cklist = frame.ICSOQCCKLIST.Where(a => a.ID == id).FirstOrDefault();
return cklist;
}
catch (Exception ex)
{
throw ex;
}
}
public static void AddGroupAndList(List<ICSOQCCKGROUP> grouplist, List<ICSOQCCKLIST> cklist,List<string> id,string invcode,string opcode) {
FramDataContext frame = new FramDataContext(AppConfig.AppConnectString);
frame.Connection.Open();
frame.Transaction = frame.Connection.BeginTransaction();
try {
if (grouplist.Count > 0)
{
frame.ICSOQCCKGROUP.InsertAllOnSubmit(grouplist);
frame.SubmitChanges();
}
foreach(ICSOQCCKLIST list in cklist)
{
bool isnew = false;
ICSOQCCKLIST b=frame.ICSOQCCKLIST.Where(a => a.ID == list.ID).FirstOrDefault();
if (b == null) {
isnew = true;
b = new ICSOQCCKLIST();
}
b.ID = list.ID;
b.INVCode = list.INVCode;
b.ISREF = list.ISREF;
b.JY1 = list.JY1;
b.JY2 = list.JY2;
b.MTIME = list.MTIME;
b.MUSER = list.MUSER;
b.MUSERNAME = list.MUSERNAME;
b.OPCode = list.OPCode;
b.PType = list.PType;
b.SetValueMax = list.SetValueMax;
b.SetValueMin = list.SetValueMin;
b.UNIT = list.UNIT;
b.WorkPoint = list.WorkPoint;
b.CKGROUPATTR = list.CKGROUPATTR;
b.CKGROUPCode = list.CKGROUPCode;
b.CKGROUPMETH = list.CKGROUPMETH;
b.EATTRIBUTE1 = list.EATTRIBUTE1;
b.GJ = list.GJ;
b.StandValue = list.StandValue;
if (isnew)
frame.ICSOQCCKLIST.InsertOnSubmit(b);
frame.SubmitChanges();
}
//失效检验数据
List<ICSOQCCKLIST> sx = frame.ICSOQCCKLIST.Where(a => a.INVCode == invcode && a.OPCode == opcode && !id.Contains(a.ID)).ToList();
foreach (ICSOQCCKLIST s in sx) {
s.ISREF = "否";
}
frame.SubmitChanges();
frame.Transaction.Commit();
}
catch (Exception ex) {
frame.Transaction.Rollback();
throw ex;
}
}
}
}