164 lines
7.3 KiB
C#
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); //循环更新其余返修片子的状态
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|