using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; using System.Web.UI.WebControls; namespace BLL { public class HJGL_RepairItemService { /// /// 根据委托明细Id获取委托明细信息 /// /// /// public static Model.HJGL_CH_RepairItem GetRepairItemByID(string repairItemId) { Model.SGGLDB db = Funs.DB; var view = db.HJGL_CH_RepairItem.FirstOrDefault(e => e.CH_RepairItemId == repairItemId); return view; } /// /// 增加委托信息 /// /// 委托实体 public static void AddCH_RepairItem(Model.HJGL_CH_RepairItem repairItem) { Model.SGGLDB db = Funs.DB; Model.HJGL_CH_RepairItem newRepairItem = new Model.HJGL_CH_RepairItem(); newRepairItem.CH_RepairItemId = repairItem.CH_RepairItemId; newRepairItem.CH_RepairID = repairItem.CH_RepairID; newRepairItem.JOT_ID = repairItem.JOT_ID; newRepairItem.DefectNature = repairItem.DefectNature; newRepairItem.FilmNum = repairItem.FilmNum; newRepairItem.States = repairItem.States; newRepairItem.ExtendedNum = repairItem.ExtendedNum; newRepairItem.CheckPlace = repairItem.CheckPlace; newRepairItem.CheckPerson = repairItem.CheckPerson; newRepairItem.Remark = repairItem.Remark; newRepairItem.RepairItemRecordId = repairItem.RepairItemRecordId; newRepairItem.ShootDate = repairItem.ShootDate; Model.HJGL_CH_RepairItem oldRepairItem=Funs.DB.HJGL_CH_RepairItem.FirstOrDefault(x=>x.CH_RepairID==repairItem.CH_RepairID && x.JOT_ID==repairItem.JOT_ID && x.FilmNum==repairItem.FilmNum); if (oldRepairItem == null) { db.HJGL_CH_RepairItem.InsertOnSubmit(newRepairItem); db.SubmitChanges(); } } /// /// 修改委托明细信息 /// /// 委托明细实体 public static void UpdateCH_TrustItem(Model.HJGL_CH_RepairItem repairItem) { Model.SGGLDB db = Funs.DB; Model.HJGL_CH_RepairItem newRepairItem = db.HJGL_CH_RepairItem.FirstOrDefault(e => e.CH_RepairItemId == repairItem.CH_RepairItemId); if (newRepairItem != null) { newRepairItem.ShootMan = repairItem.ShootMan; newRepairItem.ShootDate = repairItem.ShootDate; newRepairItem.EquipmentId = repairItem.EquipmentId; newRepairItem.States = repairItem.States; if (!string.IsNullOrEmpty(repairItem.DefectNature)) { newRepairItem.DefectNature = repairItem.DefectNature; } newRepairItem.FeedbackMan = repairItem.FeedbackMan; newRepairItem.FeedbackDate = repairItem.FeedbackDate; newRepairItem.ReportNoticeDate = repairItem.ReportNoticeDate; db.SubmitChanges(); } } /// /// 根据主键删除委托信息明细 /// /// 委托主键 public static void DeleteCH_RepairItemByCH_RepairID(string cH_RepairID) { Model.SGGLDB db = Funs.DB; var cH_Repair = from x in db.HJGL_CH_RepairItem where x.CH_RepairID == cH_RepairID select x; if (cH_Repair != null) { //foreach (var item in cH_Trust) //{ // var jo = Funs.DB.HJGL_PW_JointInfo.FirstOrDefault(x => x.JOT_ID == item.JOT_ID); // jo.JOT_TrustFlag = "00"; // BLL.HJGL_PW_JointInfoService.UpdateJointInfo(jo); // if (jo != null && jo.JOT_JointStatus == "102") // { // var ch = Funs.DB.HJGL_CH_CheckItem.FirstOrDefault(x => x.JOT_ID == jo.JOT_ID); // if (ch == null) // { // jo.JOT_JointStatus = "100"; // BLL.HJGL_PW_JointInfoService.UpdateJointPoint(jo); // } // } //} db.HJGL_CH_RepairItem.DeleteAllOnSubmit(cH_Repair); db.SubmitChanges(); } } /// /// 更新之前所有检测单记录的状态 /// /// 该次返修委托的记录id public static void UpdateAllStates(string repairItemRecordId) { //如果该片返修合格,则循环该口所有返修片,都合格时则该口检测单状态由待返修更新为检验合格 var repairItemRecord = BLL.HJGL_CH_RepairItemRecordService.GetRepairItemRecordById(repairItemRecordId); if (repairItemRecord != null) { //该口的其他返修片记录 var otherRepairItemRecords = from x in Funs.DB.HJGL_CH_RepairItemRecord where x.TrustItemID == repairItemRecord.TrustItemID && x.RepairItemRecordId != repairItemRecordId select x; bool c = true; foreach (var item in otherRepairItemRecords) { var otherRepairItem = Funs.DB.HJGL_CH_RepairItem.FirstOrDefault(x => x.RepairItemRecordId == item.RepairItemRecordId); if (otherRepairItem == null) //该口其他不合格片子尚未进行返修委托 { c = false; break; } else { if (otherRepairItem.States != "2") { c = false; break; } } } if (c) { //该口检测单状态由待返修更新为检验合格 Model.HJGL_CH_TrustItem trustItem = BLL.HJGL_CH_TrustItemService.GetTrustItemByID(repairItemRecord.TrustItemID); if (trustItem != null) //一次检测单明细 { trustItem.States = "2"; //检测合格 BLL.HJGL_CH_TrustItemService.UpdateTrustItem(trustItem); } else //返修检测单明细 { Model.HJGL_CH_RepairItem repairItem = BLL.HJGL_RepairItemService.GetRepairItemByID(repairItemRecord.TrustItemID); if (repairItem != null) { repairItem.States = "2"; //检测合格 UpdateCH_TrustItem(repairItem); UpdateAllStates(repairItem.RepairItemRecordId); //循环更新其余返修片子的状态 } } } } } } }