ZHJA_HJGL/HJGL_ZH/BLL/HJGL/RepairManage/HJGL_RepairItemService.cs

164 lines
7.3 KiB
C#

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
{
/// <summary>
/// 根据委托明细Id获取委托明细信息
/// </summary>
/// <param name="jot_id"></param>
/// <returns></returns>
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;
}
/// <summary>
/// 增加委托信息
/// </summary>
/// <param name="cH_Trust">委托实体</param>
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();
}
}
/// <summary>
/// 修改委托明细信息
/// </summary>
/// <param name="repairItem">委托明细实体</param>
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();
}
}
/// <summary>
/// 根据主键删除委托信息明细
/// </summary>
/// <param name="cH_TrustID">委托主键</param>
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();
}
}
/// <summary>
/// 更新之前所有检测单记录的状态
/// </summary>
/// <param name="repairItemRecordId">该次返修委托的记录id</param>
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); //循环更新其余返修片子的状态
}
}
}
}
}
}
}