检验批委托速度优化
This commit is contained in:
@@ -72,20 +72,22 @@ namespace FineUIPro.Web.common.ProjectSet
|
||||
{
|
||||
//string unitid = this.tvUnit.SelectedNodeID;
|
||||
|
||||
string strSql = @"SELECT WED_ID,WED_Code, WED_Name FROM dbo.HJGL_BS_Welder
|
||||
WHERE WED_ID NOT IN(SELECT WED_ID FROM Project_Welder WHERE ProjectId =@ProjectId)
|
||||
AND IsOAM=1";
|
||||
string strSql = @"SELECT W.WED_ID, W.WED_Code, W.WED_Name
|
||||
FROM dbo.HJGL_BS_Welder W
|
||||
LEFT JOIN Project_Welder PW ON W.WED_ID = PW.WED_ID AND PW.ProjectId = @ProjectId
|
||||
WHERE PW.WED_ID IS NULL
|
||||
AND W.IsOAM = 1 ";
|
||||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
listStr.Add(new SqlParameter("@ProjectId", ProjectId));
|
||||
|
||||
if (!string.IsNullOrEmpty(txtWeldCode.Text))
|
||||
{
|
||||
strSql += " AND WED_Code LIKE @WED_Code";
|
||||
strSql += " AND W.WED_Code LIKE @WED_Code";
|
||||
listStr.Add(new SqlParameter("@WED_Code", "%" + this.txtWeldCode.Text.Trim() + "%"));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(this.txtWeldName.Text))
|
||||
{
|
||||
strSql += " AND WED_Name LIKE @WED_Name";
|
||||
strSql += " AND W.WED_Name LIKE @WED_Name";
|
||||
listStr.Add(new SqlParameter("@WED_Name", "%" + this.txtWeldName.Text.Trim() + "%"));
|
||||
}
|
||||
SqlParameter[] parameter = listStr.ToArray();
|
||||
|
||||
@@ -8,6 +8,7 @@ using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using BLL;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FineUIPro.Web.common
|
||||
{
|
||||
@@ -24,40 +25,49 @@ namespace FineUIPro.Web.common
|
||||
this.drpProject.DataBind();
|
||||
Funs.FineUIPleaseSelect(this.drpProject);
|
||||
this.drpProject.SelectedValue = this.CurrUser.LoginProjectId;
|
||||
//更新要求完成日期
|
||||
List<Model.HJGL_BO_Batch> batchLists = (from x in Funs.DB.HJGL_BO_Batch
|
||||
where x.ProjectId == this.drpProject.SelectedValue && !x.AskCompleteDate.HasValue
|
||||
select x).ToList();
|
||||
//委托单不为null且 对应批明细的委托单明细状态为2
|
||||
List<Model.HJGL_BO_Batch> Allbatch = (from x in Funs.DB.HJGL_BO_Batch
|
||||
where x.ProjectId == this.drpProject.SelectedValue && !x.AskCompleteDate.HasValue
|
||||
select x).ToList();
|
||||
var batchdetails = from x in Funs.DB.HJGL_BO_BatchDetail
|
||||
join y in Funs.DB.HJGL_BO_Batch on x.BatchId equals y.BatchId
|
||||
where y.ProjectId == this.drpProject.SelectedValue
|
||||
select x;
|
||||
where y.ProjectId == this.drpProject.SelectedValue && !y.AskCompleteDate.HasValue
|
||||
select x; //获取所以批明细
|
||||
var trustdetails = from x in Funs.DB.HJGL_CH_TrustItem
|
||||
join y in Funs.DB.HJGL_BO_BatchDetail on x.BatchDetailId equals y.BatchDetailId
|
||||
join z in Funs.DB.HJGL_BO_Batch on y.BatchId equals z.BatchId
|
||||
where z.ProjectId == this.drpProject.SelectedValue
|
||||
select x;
|
||||
foreach (var item in batchLists)
|
||||
{
|
||||
bool isCheck = true;
|
||||
var batchdetail = from x in batchdetails where x.BatchId == item.BatchId select x.BatchDetailId;
|
||||
var trust = BLL.HJGL_TrustManageEditService.GetTrustByBatchId(item.BatchId);
|
||||
var ndtr = BLL.HJGL_DetectionService.GetNDTRateByNDTRID(item.NDTR_ID);
|
||||
join z in Funs.DB.HJGL_BO_Batch on y.BatchId equals z.BatchId
|
||||
where z.ProjectId == this.drpProject.SelectedValue && !z.AskCompleteDate.HasValue
|
||||
select x; //获取所有批明细对应委托明细
|
||||
List<Model.HJGL_BO_Batch> batchLists2 = (from x in Allbatch
|
||||
join m in Funs.DB.HJGL_BS_NDTRate on x.NDTR_ID equals m.NDTR_ID
|
||||
join n in Funs.DB.HJGL_CH_Trust on x.BatchId equals n.BatchId into g
|
||||
from t in g.DefaultIfEmpty()
|
||||
where m.NDTR_Rate.Value==0 && t==null
|
||||
select x).Distinct().ToList(); //获取委托单为null且检测比例是0的
|
||||
var batchLists = (from x in Allbatch
|
||||
join n in Funs.DB.HJGL_CH_Trust on x.BatchId equals n.BatchId into g
|
||||
select x).Distinct().ToList();
|
||||
var batchdetailsList = batchdetails.ToList();
|
||||
var trustdetailsList = trustdetails.ToList();
|
||||
var batchLists4 = (
|
||||
from x in batchLists
|
||||
join y in batchdetailsList on x.BatchId equals y.BatchId
|
||||
join m in trustdetailsList on y.BatchDetailId equals m.BatchDetailId
|
||||
group new { x, m } by x into g
|
||||
where g.All(item => item.m.States == "2")
|
||||
select g.First().x
|
||||
).Distinct().ToList();
|
||||
batchLists2.AddRange(batchLists4);
|
||||
batchLists2= batchLists2.Distinct().ToList();
|
||||
foreach (var item in batchLists2)
|
||||
{
|
||||
var batchdetail = from x in batchdetails where x.BatchId == item.BatchId select x.BatchDetailId; //获取批次详情ID
|
||||
var trustdetail = from x in trustdetails where batchdetail.Contains(x.BatchDetailId) orderby x.FeedbackDate descending select x;
|
||||
if (trust == null && ndtr.NDTR_Rate.Value != 0)
|
||||
{
|
||||
isCheck = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (trustdetail.Where(x => x.States != "2").Count() > 0)
|
||||
{
|
||||
isCheck = false;
|
||||
}
|
||||
}
|
||||
|
||||
//检测合格,更新要求完成日期
|
||||
if (isCheck && item.BatchIsClosed == true)
|
||||
if ( item.BatchIsClosed == true)
|
||||
{
|
||||
|
||||
DateTime date = DateTime.Now;
|
||||
if (trustdetail.Count() > 0)
|
||||
{
|
||||
@@ -70,6 +80,65 @@ namespace FineUIPro.Web.common
|
||||
BLL.HJGL_BO_BatchService.UpdateBatch(item);
|
||||
}
|
||||
}
|
||||
#region 旧代码
|
||||
|
||||
//List<Model.HJGL_BO_Batch> batchLists3= new List<Model.HJGL_BO_Batch>();
|
||||
//List<Model.HJGL_BO_Batch> batchLists = (from x in Funs.DB.HJGL_BO_Batch
|
||||
// where x.ProjectId == this.drpProject.SelectedValue && !x.AskCompleteDate.HasValue
|
||||
// select x).ToList();
|
||||
//var batchdetails = from x in Funs.DB.HJGL_BO_BatchDetail
|
||||
// join y in Funs.DB.HJGL_BO_Batch on x.BatchId equals y.BatchId
|
||||
// where y.ProjectId == this.drpProject.SelectedValue
|
||||
// select x; //获取所以批明细
|
||||
//var trustdetails = from x in Funs.DB.HJGL_CH_TrustItem
|
||||
// join y in Funs.DB.HJGL_BO_BatchDetail on x.BatchDetailId equals y.BatchDetailId
|
||||
// join z in Funs.DB.HJGL_BO_Batch on y.BatchId equals z.BatchId
|
||||
// where z.ProjectId == this.drpProject.SelectedValue
|
||||
// select x; //获取所有批明细对应委托明细
|
||||
//foreach (var item in batchLists)
|
||||
//{
|
||||
// bool isCheck = true;
|
||||
// var batchdetail = from x in batchdetails where x.BatchId == item.BatchId select x.BatchDetailId; //获取批次详情ID
|
||||
// //var trust = BLL.HJGL_TrustManageEditService.GetTrustByBatchId(item.BatchId); //根据批Id获取委托信息
|
||||
// var trust = Funs.DB.HJGL_CH_Trust.FirstOrDefault(x => x.BatchId == item.BatchId); //根据批Id获取委托信息
|
||||
// var ndtr = Funs.DB.HJGL_BS_NDTRate.FirstOrDefault(x => x.NDTR_ID == item.NDTR_ID); //根据探伤比例Id获取探伤比例
|
||||
// var trustdetail = from x in trustdetails where batchdetail.Contains(x.BatchDetailId) orderby x.FeedbackDate descending select x;
|
||||
// if (trust == null && ndtr.NDTR_Rate.Value != 0)
|
||||
// {
|
||||
// isCheck = false;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// if (trustdetail.Any(x => x.States != "2"))
|
||||
// {
|
||||
// isCheck = false;
|
||||
// }
|
||||
// }
|
||||
|
||||
// if (isCheck)
|
||||
// {
|
||||
|
||||
// batchLists3.Add(item);
|
||||
// }
|
||||
// //检测合格,更新要求完成日期
|
||||
// if (isCheck && item.BatchIsClosed == true)
|
||||
// {
|
||||
|
||||
// DateTime date = DateTime.Now;
|
||||
// if (trustdetail.Count() > 0)
|
||||
// {
|
||||
// if (trustdetail.FirstOrDefault().FeedbackDate != null)
|
||||
// {
|
||||
// date = trustdetail.FirstOrDefault().FeedbackDate.Value;
|
||||
// }
|
||||
// }
|
||||
// item.AskCompleteDate = date;
|
||||
// BLL.HJGL_BO_BatchService.UpdateBatch(item);
|
||||
// }
|
||||
//}
|
||||
|
||||
#endregion
|
||||
|
||||
BindProject();
|
||||
BindBatch();
|
||||
//BindGetWelder();
|
||||
@@ -80,8 +149,7 @@ namespace FineUIPro.Web.common
|
||||
//BindCheckNoAudit();
|
||||
}
|
||||
}
|
||||
|
||||
#region 绑定数据
|
||||
#region 绑定数据
|
||||
/// <summary>
|
||||
/// 绑定项目数据
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user