using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.Web.UI.WebControls;
using Model;
namespace BLL
{
public class TrustManageEditService
{
public static Model.SGGLDB db = Funs.DB;
///
/// 记录数
///
private static int count
{
get;
set;
}
///
/// 定义变量
///
private static IQueryable qq = from x in db.View_CH_TrustItem
orderby x.ISO_IsoNo, x.JOT_JointNo
select x;
///
/// 获取分页列表
///
///
///
///
public static IEnumerable getListData(string projectId, string startTime, string endTime, string CH_TrustID, int startRowIndex, int maximumRows)
{
IQueryable q = qq;
if (!string.IsNullOrEmpty(projectId))
{
q = q.Where(e => e.ProjectId == projectId);
}
if (!String.IsNullOrEmpty(startTime))
{
q = q.Where(e => e.CH_TrustDate >= Convert.ToDateTime(startTime));
}
if (!String.IsNullOrEmpty(endTime))
{
q = q.Where(e => e.CH_TrustDate <= Convert.ToDateTime(endTime));
}
if (!string.IsNullOrEmpty(CH_TrustID))
{
q = q.Where(e => e.CH_TrustID.Contains(CH_TrustID));
}
count = q.Count();
if (count == 0)
{
return new object[] { "" };
}
return from x in q.Skip(startRowIndex).Take(maximumRows)
select new
{
x.CH_TrustItemID,
x.CH_TrustID,
x.JOT_ID,
x.WorkAreaId,
x.InstallationId,
x.ProjectId,
x.CH_TrustDate,
x.ISO_IsoNo,
x.JOT_JointNo,
x.CH_Remark,
x.JOT_Dia,
x.JOT_Sch,
x.WLO_Code,
x.WME_Name
};
}
///
/// 获取列表数
///
///
public static int getListCount(string projectId, string startTime, string endTime, string DReportID)
{
return count;
}
///
/// 根据委托Id获取用于委托的委托信息
///
///
///
public static Model.CH_Trust GetCH_TrustByID(string CH_TrustID)
{
Model.SGGLDB db = Funs.DB;
var view = db.CH_Trust.FirstOrDefault(e => e.CH_TrustID == CH_TrustID);
return view;
}
///
/// 委托单号是否存在
///
///
///
///
public static bool IsExistTrustCode(string projectId, string trustCode)
{
Model.SGGLDB db = Funs.DB;
var q = from x in db.CH_Trust where x.ProjectId == projectId && x.CH_TrustCode == trustCode select x;
if (q.Count() > 0)
{
return true;
}
else
{
return false;
}
}
///
/// 根据委托Id获取用于委托的焊口视图信息
///
///
///
public static List GetView_CH_TrustItemByCH_TrustID(string CH_TrustID)
{
Model.SGGLDB db = Funs.DB;
var view = (from x in db.View_CH_TrustItem where x.CH_TrustID == CH_TrustID && x.JOT_JointStatus != "104" select x).ToList();
return view;
}
///
/// 根据焊口Id获取用于委托的焊口视图信息
///
///
///
public static List GetCH_TrustItemByJOT_ID(string jot_id)
{
Model.SGGLDB db = Funs.DB;
var view = (from x in db.CH_TrustItem where x.JOT_ID == jot_id select x).ToList();
return view;
}
public static List GetCH_TrustItemByISO_ID(string ISO_ID)
{
Model.SGGLDB db = Funs.DB;
var view = (from x in db.CH_TrustItem join j in db.PW_JointInfo on x.JOT_ID equals j.JOT_ID where j.ISO_ID == ISO_ID select x).ToList();
return view;
}
///
/// 根据焊口Id和委托id获取用于委托明细是否存在
///
///
///
public static Model.CH_TrustItem GetCH_TrustItemByJOT_IDAndJotId(string CH_TrustID, string jot_id)
{
Model.SGGLDB db = Funs.DB;
var view = db.CH_TrustItem.FirstOrDefault(x => x.CH_TrustID == CH_TrustID && x.JOT_ID == jot_id);
return view;
}
///
/// 根据委托Id获取用于委托的焊口视图信息
///
///
///
public static List GetCH_TrustItemByCH_TrustID(string CH_TrustID)
{
Model.SGGLDB db = Funs.DB;
var view = (from x in db.CH_TrustItem where x.CH_TrustID == CH_TrustID select x).ToList();
return view;
}
///
/// 根据焊口Id获取用于委托的焊口信息
///
///
///
public static Model.View_CH_TrustItem GetView_CH_TrustItemByJotID(string jot_id, string projectId)
{
var view = Funs.DB.View_CH_TrustItem.FirstOrDefault(e => e.JOT_ID == jot_id && e.ProjectId == projectId);
return view;
}
///
/// 增加委托信息
///
/// 委托实体
public static void AddCH_Trust(Model.CH_Trust cH_Trust)
{
Model.SGGLDB db = Funs.DB;
Model.CH_Trust newCH_Trust = new Model.CH_Trust();
newCH_Trust.CH_TrustID = cH_Trust.CH_TrustID;
newCH_Trust.CH_TrustCode = cH_Trust.CH_TrustCode;
newCH_Trust.CH_TrustUnit = cH_Trust.CH_TrustUnit;
newCH_Trust.CH_TrustDate = cH_Trust.CH_TrustDate;
newCH_Trust.CH_TrustType = cH_Trust.CH_TrustType;
newCH_Trust.CH_TrustMan = cH_Trust.CH_TrustMan;
newCH_Trust.CH_Tabler = cH_Trust.CH_Tabler;
newCH_Trust.CH_TableDate = cH_Trust.CH_TableDate;
newCH_Trust.CH_UnitName = cH_Trust.CH_UnitName;
newCH_Trust.CH_WorkNo = cH_Trust.CH_WorkNo;
newCH_Trust.CH_ItemName = cH_Trust.CH_ItemName;
newCH_Trust.CH_SlopeType = cH_Trust.CH_SlopeType;
newCH_Trust.CH_ServiceTemp = cH_Trust.CH_ServiceTemp;
newCH_Trust.CH_Press = cH_Trust.CH_Press;
newCH_Trust.CH_WeldMethod = cH_Trust.CH_WeldMethod;
newCH_Trust.CH_NDTRate = cH_Trust.CH_NDTRate;
newCH_Trust.CH_NDTMethod = cH_Trust.CH_NDTMethod;
newCH_Trust.CH_NDTCriteria = cH_Trust.CH_NDTCriteria;
newCH_Trust.CH_AcceptGrade = cH_Trust.CH_AcceptGrade;
newCH_Trust.CH_Remark = cH_Trust.CH_Remark;
newCH_Trust.CH_CheckUnit = cH_Trust.CH_CheckUnit;
newCH_Trust.ProjectId = cH_Trust.ProjectId;
newCH_Trust.InstallationId = cH_Trust.InstallationId;
newCH_Trust.CH_RequestDate = cH_Trust.CH_RequestDate;
newCH_Trust.ToIso_Id = cH_Trust.ToIso_Id;
db.CH_Trust.InsertOnSubmit(newCH_Trust);
db.SubmitChanges();
}
///
/// 修改焊接信息
///
/// 焊接实体
public static void UpdateCH_Trust(Model.CH_Trust cH_Trust)
{
Model.SGGLDB db = Funs.DB;
Model.CH_Trust newCH_Trust = db.CH_Trust.First(e => e.CH_TrustID == cH_Trust.CH_TrustID);
newCH_Trust.CH_TrustID = cH_Trust.CH_TrustID;
newCH_Trust.CH_TrustCode = cH_Trust.CH_TrustCode;
newCH_Trust.CH_TrustUnit = cH_Trust.CH_TrustUnit;
newCH_Trust.CH_TrustDate = cH_Trust.CH_TrustDate;
newCH_Trust.CH_TrustType = cH_Trust.CH_TrustType;
newCH_Trust.CH_TrustMan = cH_Trust.CH_TrustMan;
newCH_Trust.CH_Tabler = cH_Trust.CH_Tabler;
newCH_Trust.CH_TableDate = cH_Trust.CH_TableDate;
newCH_Trust.CH_UnitName = cH_Trust.CH_UnitName;
newCH_Trust.CH_WorkNo = cH_Trust.CH_WorkNo;
newCH_Trust.CH_ItemName = cH_Trust.CH_ItemName;
newCH_Trust.CH_SlopeType = cH_Trust.CH_SlopeType;
newCH_Trust.CH_ServiceTemp = cH_Trust.CH_ServiceTemp;
newCH_Trust.CH_Press = cH_Trust.CH_Press;
newCH_Trust.CH_WeldMethod = cH_Trust.CH_WeldMethod;
newCH_Trust.CH_NDTRate = cH_Trust.CH_NDTRate;
newCH_Trust.CH_NDTMethod = cH_Trust.CH_NDTMethod;
newCH_Trust.CH_NDTCriteria = cH_Trust.CH_NDTCriteria;
newCH_Trust.CH_AcceptGrade = cH_Trust.CH_AcceptGrade;
newCH_Trust.CH_Remark = cH_Trust.CH_Remark;
newCH_Trust.CH_CheckUnit = cH_Trust.CH_CheckUnit;
newCH_Trust.ProjectId = cH_Trust.ProjectId;
newCH_Trust.InstallationId = cH_Trust.InstallationId;
newCH_Trust.CH_RequestDate = cH_Trust.CH_RequestDate;
newCH_Trust.ToIso_Id = cH_Trust.ToIso_Id;
db.SubmitChanges();
}
///
/// 根据主键删除委托信息
///
/// 委托主键
public static void DeleteCH_TrustByCH_TrustID(string cH_TrustID)
{
Model.SGGLDB db = Funs.DB;
Model.CH_Trust cH_Trust = db.CH_Trust.First(e => e.CH_TrustID == cH_TrustID);
db.CH_Trust.DeleteOnSubmit(cH_Trust);
db.SubmitChanges();
}
///
/// 根据主键删除委托信息明细
///
/// 委托主键
public static void DeleteCH_TrustItemByCH_TrustID(string cH_TrustID)
{
Model.SGGLDB db = Funs.DB;
var cH_Trust = from x in db.CH_TrustItem where x.CH_TrustID == cH_TrustID select x;
if (cH_Trust != null)
{
foreach (var item in cH_Trust)
{
var jo = Funs.DB.PW_JointInfo.FirstOrDefault(x => x.JOT_ID == item.JOT_ID);
if (jo != null && jo.JOT_JointStatus == "102")
{
var ch = Funs.DB.CH_CheckItem.FirstOrDefault(x => x.JOT_ID == jo.JOT_ID);
if (ch == null)
{
jo.JOT_JointStatus = "100";
BLL.PW_JointInfoService.UpdateJointPoint(jo);
}
}
}
db.CH_TrustItem.DeleteAllOnSubmit(cH_Trust);
db.SubmitChanges();
}
}
///
/// 增加委托信息明细
///
/// 委托明细实体
public static void AddCH_TrustItem(Model.CH_TrustItem trustItem)
{
Model.SGGLDB db = Funs.DB;
Model.CH_TrustItem newTrustItem = new Model.CH_TrustItem();
newTrustItem.CH_TrustItemID = SQLHelper.GetNewID(typeof(Model.CH_TrustItem));
newTrustItem.CH_TrustID = trustItem.CH_TrustID;
newTrustItem.JOT_ID = trustItem.JOT_ID;
newTrustItem.CH_Remark = trustItem.CH_Remark;
db.CH_TrustItem.InsertOnSubmit(newTrustItem);
db.SubmitChanges();
}
public static void upDataCH_TrustItem(string cH_TrustID, List trusts)
{
Model.SGGLDB db = Funs.DB;
var cH_Trust = from x in db.CH_TrustItem where x.CH_TrustID == cH_TrustID select x;
List needRemove = new List();
if (cH_Trust != null)//
{
if (trusts != null)//判断需要删除的
{
foreach (var item in cH_Trust)
{
bool hasFind = false;
foreach (var trustItem in trusts)
{
if (trustItem.JOT_ID == item.JOT_ID)
{
hasFind = true;
}
}
if (!hasFind)
{
needRemove.Add(item);
}
}
}
else
{
needRemove.AddRange(cH_Trust);
}
}
if (trusts != null)
{
foreach (var trustItem in trusts)
{
bool hasFind = false;
foreach (var item in cH_Trust)
{
if (trustItem.JOT_ID == item.JOT_ID)
{
hasFind = true;
}
}
if (!hasFind)
{
Model.CH_TrustItem newTrustItem = new Model.CH_TrustItem();
newTrustItem.CH_TrustItemID = SQLHelper.GetNewID(typeof(Model.CH_TrustItem));
newTrustItem.CH_TrustID = cH_TrustID;
newTrustItem.JOT_ID = trustItem.JOT_ID;
newTrustItem.CH_Remark = trustItem.CH_Remark;
db.CH_TrustItem.InsertOnSubmit(newTrustItem);
BLL.TrustManageEditService.UpdateJOT_TrustFlag(trustItem.JOT_ID, "1");
}
}
}
db.CH_TrustItem.DeleteAllOnSubmit(needRemove);
foreach (var item in needRemove)
{
var jo = Funs.DB.PW_JointInfo.FirstOrDefault(x => x.JOT_ID == item.JOT_ID);
if (jo != null && jo.JOT_JointStatus == "102")
{
var ch = Funs.DB.CH_CheckItem.FirstOrDefault(x => x.JOT_ID == jo.JOT_ID);
if (ch == null)
{
jo.JOT_JointStatus = "100";
BLL.PW_JointInfoService.UpdateJointPoint(jo);
}
}
}
db.SubmitChanges();
}
///
/// 审核委托信息
///
/// 焊接实体
public static void AuditCH_Trust(Model.CH_Trust cH_Trust)
{
Model.SGGLDB db = Funs.DB;
Model.CH_Trust newCH_Trust = db.CH_Trust.First(e => e.CH_TrustID == cH_Trust.CH_TrustID);
newCH_Trust.CH_TrustID = cH_Trust.CH_TrustID;
newCH_Trust.CH_AuditMan = cH_Trust.CH_AuditMan;
newCH_Trust.CH_AuditDate = cH_Trust.CH_AuditDate;
db.SubmitChanges();
}
///
/// 合格等级下拉列表值
///
///
public static ListItem[] GetAcceptGradeList()
{
ListItem[] list = new ListItem[5];
list[0] = new ListItem("Ⅰ", "1");
list[1] = new ListItem("Ⅱ", "2");
list[2] = new ListItem("Ⅲ", "3");
list[3] = new ListItem("Ⅳ", "4");
list[4] = new ListItem("Ⅴ", "5");
return list;
}
///
/// 更新焊口委托情况
///
/// type1-录入审核2取消删除
public static void UpdateJOT_TrustFlag(string JOT_ID, string type)
{
var jointInfo = Funs.DB.PW_JointInfo.FirstOrDefault(x => x.JOT_ID == JOT_ID);
if (jointInfo != null)
{
if (type == "1")
{
if (String.IsNullOrEmpty(jointInfo.JOT_TrustFlag) || jointInfo.JOT_TrustFlag == "00")//未下委托
{
jointInfo.JOT_TrustFlag = "01";
}
else if (jointInfo.JOT_TrustFlag == "01")//一次委托,未审核
{
jointInfo.JOT_TrustFlag = "02";
}
else if (jointInfo.JOT_TrustFlag == "02")//一次委托,已审核
{
jointInfo.JOT_TrustFlag = "11";
}
else if (jointInfo.JOT_TrustFlag == "11")//二次委托,未审核
{
jointInfo.JOT_TrustFlag = "12";
}
else if (jointInfo.JOT_TrustFlag == "12")//二次委托,已审核
{
jointInfo.JOT_TrustFlag = "21";
}
else if (jointInfo.JOT_TrustFlag == "21")//三次委托,未审核
{
jointInfo.JOT_TrustFlag = "22";//三次委托,已审核
}
}
else
{
if (jointInfo.JOT_TrustFlag == "22")
{
jointInfo.JOT_TrustFlag = "21";
}
else if (jointInfo.JOT_TrustFlag == "21")
{
jointInfo.JOT_TrustFlag = "12";
}
else if (jointInfo.JOT_TrustFlag == "12")
{
jointInfo.JOT_TrustFlag = "11";
}
else if (jointInfo.JOT_TrustFlag == "11")
{
jointInfo.JOT_TrustFlag = "02";
}
else if (jointInfo.JOT_TrustFlag == "02")
{
jointInfo.JOT_TrustFlag = "01";
}
else
{
jointInfo.JOT_TrustFlag = "00";
}
}
}
Funs.DB.SubmitChanges();
}
///
/// 根据装置Id获取委托数
///
///
///
public static int GetTrustByInstallationId(string installationId)
{
var q = (from x in Funs.DB.CH_Trust where x.InstallationId == installationId select x).ToList();
return q.Count();
}
///
/// 根据焊口ID获取委托明细信息
///
///
///
public static Model.CH_TrustItem GetTrustItemByJotId(string jotId)
{
return Funs.DB.CH_TrustItem.FirstOrDefault(e => e.JOT_ID == jotId);
}
///
/// 查找后返回集合增加到列表集团中
///
///
///
public static List GetTrustAddItem(string hdItemsString)
{
List returnViewMatch = new List(); //= getWeldReportItem;
if (!string.IsNullOrEmpty(hdItemsString))
{
List jotIds = Funs.GetStrListByStr(hdItemsString, '|');
returnViewMatch = (from x in Funs.DB.View_CH_TrustItem
where jotIds.Contains(x.JOT_ID)
select x).ToList();
}
return returnViewMatch;
}
///
/// 根据委托Id获取委托明细视图
///
///
///
public static List GetTrustItemViewByTrustId(string trustId)
{
var q = (from x in Funs.DB.View_CH_TrustItem where x.CH_TrustID == trustId && x.JOT_JointStatus != "104" select x).ToList();
List res = new List();
res.AddRange(q.Where(x => x.JOT_JointStatus != "102" && x.JOT_JointStatus != "100").ToList());
res.AddRange(q.Where(x => x.JOT_JointStatus == "100").ToList());
res.AddRange(q.Where(x => x.JOT_JointStatus == "102").ToList());
return res;
}
}
}