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
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;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
}
|