InitBasfTcc11

This commit is contained in:
2024-05-08 16:27:28 +08:00
commit f1000143a0
3754 changed files with 382456 additions and 0 deletions
+185
View File
@@ -0,0 +1,185 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
public static class APIBaseInfoService
{
#region 根据登陆的用户ID获取项目列表(对施工单位)
/// <summary>
/// 根据登陆的用户ID获取项目列表
/// </summary>
/// <param name="userId">登陆的用户ID</param>
/// <param name="projectArea">项目区域</param>
/// <returns></returns>
public static List<Model.BaseInfoItem> getProjectList(string userId,string projectArea)
{
using (Model.HJGLDB db = new Model.HJGLDB(Funs.ConnString))
{
var getDataLists = (from x in db.Base_Project
join y in db.Project_User
on x.ProjectId equals y.ProjectId
where y.UserId == userId && x.ProjectArea == projectArea
&& x.IsClosed == false
select new Model.BaseInfoItem
{
BaseInfoId = x.ProjectId,
BaseInfoCode = x.ProjectCode,
BaseInfoName = x.ProjectName
}).Distinct().ToList();
return getDataLists;
}
}
#endregion
#region 根据项目区域获取项目列表(对查询)
/// <summary>
/// 根据项目区域获取项目列表
/// </summary>
/// <param name="userId">登陆的用户ID</param>
/// <param name="projectArea">项目区域</param>
/// <returns></returns>
public static List<Model.BaseInfoItem> getProjectListByArea(string projectArea)
{
using (Model.HJGLDB db = new Model.HJGLDB(Funs.ConnString))
{
var getDataLists = (from x in db.Base_Project
where x.ProjectArea == projectArea
select new Model.BaseInfoItem
{
BaseInfoId = x.ProjectId,
BaseInfoCode = x.ProjectCode,
BaseInfoName = x.ProjectName
}).Distinct().ToList();
return getDataLists;
}
}
#endregion
#region 根据项目ID和施工单位获取区域列表
/// <summary>
/// 根据项目ID和施工单位获取区域列表
/// </summary>
/// <param name="projectId">项目ID</param>
/// <param name="unitId">施工单位ID</param>
/// <returns></returns>
public static List<Model.BaseInfoItem> getWorkAreaList(string projectId, string unitId)
{
using (Model.HJGLDB db = new Model.HJGLDB(Funs.ConnString))
{
var getDataLists = (from x in db.Project_WorkArea
where x.ProjectId == projectId && x.UnitId == unitId
select new Model.BaseInfoItem
{
BaseInfoId = x.WorkAreaId,
BaseInfoCode = x.WorkAreaCode,
BaseInfoName = x.WorkAreaName,
Remark = x.InstallationId
}).Distinct().ToList();
return getDataLists;
}
}
#endregion
#region 根据项目ID和施工区域获取管线列表信息
/// <summary>
/// 根据项目ID和施工区域获取管线列表信息
/// </summary>
/// <param name="projectId">项目ID</param>
/// <param name="wordAreaId">施工区域ID</param>
/// <returns></returns>
public static List<Model.BaseInfoItem> getPipeLineList(string projectId, string wordAreaId)
{
using (Model.HJGLDB db = new Model.HJGLDB(Funs.ConnString))
{
var getDataLists = (from x in db.Pipeline_Pipeline
where x.ProjectId == projectId && x.WorkAreaId == wordAreaId
select new Model.BaseInfoItem
{
BaseInfoId = x.PipelineId,
BaseInfoCode = x.PipelineCode,
BaseInfoName = x.PipelineCode
}).Distinct().OrderBy(x=>x.BaseInfoCode).ToList();
return getDataLists;
}
}
#endregion
#region 根据管线ID获取焊口列表信息
/// <summary>
/// 根据管线ID获取焊口列表信息
/// </summary>
/// <param name="pipelineId">管线ID</param>
/// <returns></returns>
public static List<Model.BaseInfoItem> getWeldJointList(string pipelineId)
{
using (Model.HJGLDB db = new Model.HJGLDB(Funs.ConnString))
{
// 预提交的焊口
var preJotId = (from x in db.Pipeline_PreWeldingDaily
join y in db.Pipeline_WeldJoint on x.WeldJointId equals y.WeldJointId
where y.PipelineId == pipelineId
select x.WeldJointId).Distinct();
// 未焊接的焊口
var weldJointLists = from x in Funs.DB.Pipeline_WeldJoint
where x.PipelineId == pipelineId && x.WeldingDailyId == null
&& (x.IsCancel == null || x.IsCancel == false)
select new
{
x.WeldJointId,
x.WeldJointCode,
};
List<Model.BaseInfoItem> getDataLists = new List<Model.BaseInfoItem>();
if (weldJointLists.Count() > 0)
{
foreach (var item in weldJointLists)
{
if (!preJotId.Contains(item.WeldJointId))
{
Model.BaseInfoItem info = new Model.BaseInfoItem();
info.BaseInfoId = item.WeldJointId;
info.BaseInfoCode = item.WeldJointCode;
getDataLists.Add(info);
}
}
}
return getDataLists.OrderBy(x => x.BaseInfoCode).ToList() ;
}
}
#endregion
#region 根据企业ID获取装置列表信息
/// <summary>
/// 根据企业ID获取装置列表信息
/// </summary>
/// <param name="pipelineId">管线ID</param>
/// <returns></returns>
public static List<Model.BaseInfoItem> getInstallationList(string projectId)
{
using (Model.HJGLDB db = new Model.HJGLDB(Funs.ConnString))
{
var getDataLists = (from x in Funs.DB.Project_Installation
where x.ProjectId == projectId
orderby x.InstallationCode
select new Model.BaseInfoItem
{
BaseInfoId = x.InstallationId,
BaseInfoCode = x.InstallationCode,
BaseInfoName = x.InstallationName
}).Distinct().ToList();
return getDataLists;
}
}
#endregion
}
}
+128
View File
@@ -0,0 +1,128 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
public static class APICheckService
{
/// <summary>
/// 保存检查信息
/// </summary>
/// <param name="addItem"></param>
public static void SaveCheckInfo(Model.CheckItem addItem)
{
using (Model.HJGLDB db = new Model.HJGLDB(Funs.ConnString))
{
Model.Check_CheckList newP = new Model.Check_CheckList
{
CheckId = BLL.Funs.GetNewID(),
ProjectArea = addItem.ProjectArea,
CheckArea = addItem.CheckArea,
Checker = addItem.Checker,
CheckDate = addItem.CheckDate,
CheckDef = addItem.CheckDef,
IsPass = addItem.IsPass,
CheckUrl = addItem.CheckUrl,
Flag = addItem.Flag
};
db.Check_CheckList.InsertOnSubmit(newP);
db.SubmitChanges();
}
}
/// <summary>
/// 更新复检信息
/// </summary>
/// <param name="checkItem"></param>
public static void UpdateReCheckInfo(Model.CheckItem checkItem)
{
using (Model.HJGLDB db = new Model.HJGLDB(Funs.ConnString))
{
Model.Check_CheckList check= db.Check_CheckList.FirstOrDefault(e => e.CheckId == checkItem.CheckId);
if (check != null)
{
check.ReCheckDate = checkItem.ReCheckDate;
check.ReChecker = checkItem.ReChecker;
check.ReCheckResult = checkItem.ReCheckResult;
check.ReCheckUrl = checkItem.ReCheckUrl;
db.SubmitChanges();
}
}
}
/// <summary>
/// 获取项目区域的检查列表
/// </summary>
/// <param name="projectArea">项目区域</param>
/// <returns></returns>
public static List<Model.CheckItem> GetCheckList(string projectArea)
{
using (Model.HJGLDB db = new Model.HJGLDB(Funs.ConnString))
{
var getDataInfo = (from x in db.View_Check_CheckList
where x.ProjectArea == projectArea
select new Model.CheckItem
{
CheckId = x.CheckId,
ProjectArea = x.ProjectArea,
CheckArea = x.CheckArea,
Checker = x.Checker,
CheckName=x.CheckName,
CheckDate = x.CheckDate,
CheckDef = x.CheckDef,
IsPass = x.IsPass,
CheckUrl = x.CheckUrl,
ReCheckDate = x.ReCheckDate,
ReChecker = x.ReChecker,
ReCheckName=x.ReCheckName,
ReCheckResult = x.ReCheckResult,
ReCheckUrl = x.ReCheckUrl,
Flag = x.Flag
}).ToList();
return getDataInfo;
}
}
/// <summary>
/// 根据主建获取检查信息
/// </summary>
/// <param name="checkId">主建</param>
/// <returns></returns>
public static Model.CheckItem GetCheckInfo(string checkId)
{
using (Model.HJGLDB db = new Model.HJGLDB(Funs.ConnString))
{
var getDataInfo = (from x in db.View_Check_CheckList
where x.CheckId == checkId
select new Model.CheckItem
{
CheckId = x.CheckId,
ProjectArea = x.ProjectArea,
CheckArea = x.CheckArea,
Checker = x.Checker,
CheckName=x.CheckName,
CheckDate = x.CheckDate,
CheckDef = x.CheckDef,
IsPass = x.IsPass,
CheckUrl = x.CheckUrl,
ReCheckDate = x.ReCheckDate,
ReChecker = x.ReChecker,
ReCheckName=x.ReCheckName,
ReCheckResult = x.ReCheckResult,
ReCheckUrl = x.ReCheckUrl,
Flag = x.Flag
}).FirstOrDefault();
return getDataInfo;
}
}
}
}
@@ -0,0 +1,216 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Data;
using System.Data.SqlClient;
namespace BLL
{
public static class APIMessagePushService
{
#region 推送的热处理委托单
/// <summary>
/// 推送的热处理委托单
/// </summary>
/// <param name="userId">登陆的用户ID</param>
/// <returns></returns>
public static List<Model.BaseInfoItem> GetPushHotTrust(string userId)
{
// 用户参与的项目
string projectIds = BLL.Base_ProjectService.GetStrProjectIds(userId, "1");
string strSql = @"SELECT pro.ProjectCode,t.HotProessTrustNo,t.ProessDate FROM dbo.HotProess_Trust t
LEFT JOIN dbo.Base_Project pro ON pro.ProjectId = t.ProjectId
WHERE CHARINDEX(t.ProjectId,@ProjectId)>0 AND
(SELECT COUNT(*) FROM dbo.HotProess_TrustItem item WHERE item.HotProessTrustId=t.HotProessTrustId )!=
(SELECT COUNT(*) FROM dbo.HotProess_TrustItem item WHERE item.HotProessTrustId=t.HotProessTrustId AND item.IsPass IS NOT NULL)";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", projectIds));
SqlParameter[] parameter = listStr.ToArray();
DataTable dt = SQLHelper.GetDataTableRunText(strSql, parameter);
List<Model.BaseInfoItem> pushTrust = new List<Model.BaseInfoItem>();
foreach (DataRow row in dt.Rows)
{
Model.BaseInfoItem item = new Model.BaseInfoItem();
item.BaseInfoId= row["ProjectCode"].ToString();
item.BaseInfoCode = row["HotProessTrustNo"].ToString();
item.BaseInfoName = row["ProessDate"].ToString();
pushTrust.Add(item);
}
return pushTrust;
}
#endregion
#region 推送的NDE检测委托单
/// <summary>
/// 推送的NDE检测委托单
/// </summary>
/// <param name="userId">登陆的用户ID</param>
/// <returns></returns>
public static List<Model.BaseInfoItem> GetPushNDTTrust(string userId)
{
// 用户参与的项目
string projectIds = BLL.Base_ProjectService.GetStrProjectIds(userId, "1");
string strSql = @"SELECT pro.ProjectCode,batch.TrustBatchCode,batch.TrustDate FROM dbo.Batch_BatchTrust batch
LEFT JOIN dbo.Base_Project pro ON pro.ProjectId = batch.ProjectId
WHERE batch.TrustBatchId NOT IN (SELECT TrustBatchId FROM dbo.Batch_NDE )
AND CHARINDEX(batch.ProjectId,@ProjectId)>0";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", projectIds));
SqlParameter[] parameter = listStr.ToArray();
DataTable dt = SQLHelper.GetDataTableRunText(strSql, parameter);
List<Model.BaseInfoItem> pushTrust = new List<Model.BaseInfoItem>();
foreach (DataRow row in dt.Rows)
{
Model.BaseInfoItem item = new Model.BaseInfoItem();
item.BaseInfoId = row["ProjectCode"].ToString();
item.BaseInfoCode = row["TrustBatchCode"].ToString();
item.BaseInfoName = row["TrustDate"].ToString();
pushTrust.Add(item);
}
return pushTrust;
}
#endregion
#region 焊工一次合格率低于96%预警
/// <summary>
/// 焊工一次合格率低于96%预警
/// </summary>
/// <param name="projectArea">项目区域</param>
/// <returns></returns>
public static List<Model.BaseInfoItem> GetWelderOnePassRateWarning(string projectArea)
{
string strSql = @"SELECT (w.WelderCode+'('+w.WelderName+')') AS Welder,pro.ProjectCode,
CONVERT(NVARCHAR(10),(CAST((CASE ISNULL(oneCheck.OneCheckJotNum,0) WHEN 0 THEN 0
ELSE 100.0 * (ISNULL(oneCheck.OneCheckJotNum,0)-ISNULL(oneCheckRepair.oneCheckRepairJotNum,0))/(1.0 * oneCheck.OneCheckJotNum) END) AS DECIMAL(8,1))))+'%' AS passRate
FROM dbo.Welder_ProjectWelder AS welder
LEFT JOIN dbo.Welder_Welder w ON w.WelderId = welder.WelderId
LEFT JOIN dbo.Base_Project pro ON pro.ProjectId = welder.ProjectId
LEFT JOIN (SELECT jot.CoverWelderId,jot.ProjectId,COUNT(ndeItem.NDEItemID) AS OneCheckJotNum
FROM dbo.Batch_NDEItem ndeItem
LEFT JOIN dbo.Batch_BatchTrustItem trustItem ON trustItem.TrustBatchItemId = ndeItem.TrustBatchItemId
LEFT JOIN dbo.Pipeline_WeldJoint jot ON jot.WeldJointId = trustItem.WeldJointId
LEFT JOIN dbo.Pipeline_WeldingDaily daily ON daily.WeldingDailyId = jot.WeldingDailyId
LEFT JOIN dbo.Batch_PointBatchItem pointItem ON pointItem.PointBatchItemId = trustItem.PointBatchItemId
LEFT JOIN dbo.Batch_PointBatch point ON point.PointBatchId = pointItem.PointBatchId
WHERE pointItem.PointDate IS NOT NULL AND pointItem.PointState=1 AND trustItem.RepairRecordId IS NULL
GROUP BY jot.ProjectId, jot.CoverWelderId) AS oneCheck ON oneCheck.CoverWelderId = welder.WelderId AND oneCheck.ProjectId=welder.ProjectId
LEFT JOIN (SELECT jot.CoverWelderId,jot.ProjectId,COUNT(ndeItem.NDEItemID) AS OneCheckRepairJotNum --一次检测返修焊口数
FROM dbo.Batch_NDEItem ndeItem
LEFT JOIN dbo.Batch_BatchTrustItem trustItem ON trustItem.TrustBatchItemId = ndeItem.TrustBatchItemId
LEFT JOIN dbo.Pipeline_WeldJoint jot ON jot.WeldJointId = trustItem.WeldJointId
LEFT JOIN dbo.Pipeline_WeldingDaily daily ON daily.WeldingDailyId = jot.WeldingDailyId
LEFT JOIN dbo.Batch_PointBatchItem pointItem ON pointItem.PointBatchItemId = trustItem.PointBatchItemId
LEFT JOIN dbo.Batch_PointBatch point ON point.PointBatchId = pointItem.PointBatchId
WHERE pointItem.PointDate IS NOT NULL AND pointItem.PointState=1 AND trustItem.RepairRecordId IS NULL
AND ndeItem.CheckResult='2'
GROUP BY jot.ProjectId, jot.CoverWelderId) AS oneCheckRepair
ON oneCheckRepair.CoverWelderId = welder.WelderId AND oneCheckRepair.ProjectId=welder.ProjectId
WHERE (w.WelderCode IS NOT NULL AND w.WelderCode!='')
AND pro.ProjectArea=@ProjectArea
AND ISNULL(oneCheck.OneCheckJotNum,0)>0
AND (CAST((CASE ISNULL(oneCheck.OneCheckJotNum,0) WHEN 0 THEN 0
ELSE 100.0 * (ISNULL(oneCheck.OneCheckJotNum,0)-ISNULL(oneCheckRepair.oneCheckRepairJotNum,0))/(1.0 * oneCheck.OneCheckJotNum) END) AS DECIMAL(8,1)))<=96";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectArea", projectArea));
SqlParameter[] parameter = listStr.ToArray();
DataTable dt = SQLHelper.GetDataTableRunText(strSql, parameter);
List<Model.BaseInfoItem> warnWelder = new List<Model.BaseInfoItem>();
foreach (DataRow row in dt.Rows)
{
Model.BaseInfoItem item = new Model.BaseInfoItem();
item.BaseInfoId= row["ProjectCode"].ToString();
item.BaseInfoCode = row["Welder"].ToString();
item.BaseInfoName = "一次合格率:" + row["passRate"].ToString();
warnWelder.Add(item);
}
return warnWelder;
}
#endregion
#region 施工单位一次合格率低于96%预警
/// <summary>
/// 施工单位一次合格率低于96%预警
/// </summary>
/// <param name="projectArea">项目区域</param>
/// <returns></returns>
public static List<Model.BaseInfoItem> GetUnitOnePassRateWarning(string projectArea)
{
string strSql = @"SELECT unit.UnitName,pro.ProjectCode,
CONVERT(NVARCHAR(10),(CAST((CASE ISNULL(oneCheck.OneCheckJotNum,0) WHEN 0 THEN 0
ELSE 100.0 * (ISNULL(oneCheck.OneCheckJotNum,0)-ISNULL(oneCheckRepair.oneCheckRepairJotNum,0))/(1.0 * oneCheck.OneCheckJotNum) END) AS DECIMAL(8,1))))+'%' AS passRate
FROM dbo.Project_Unit AS pUnit
LEFT JOIN dbo.Base_Unit unit ON unit.UnitId = pUnit.UnitId
LEFT JOIN dbo.Base_Project pro ON pro.ProjectId = pUnit.ProjectId
LEFT JOIN (SELECT point.UnitId,jot.ProjectId,COUNT(ndeItem.NDEItemID) AS OneCheckJotNum
FROM dbo.Batch_NDEItem ndeItem
LEFT JOIN dbo.Batch_BatchTrustItem trustItem ON trustItem.TrustBatchItemId = ndeItem.TrustBatchItemId
LEFT JOIN dbo.Pipeline_WeldJoint jot ON jot.WeldJointId = trustItem.WeldJointId
LEFT JOIN dbo.Pipeline_WeldingDaily daily ON daily.WeldingDailyId = jot.WeldingDailyId
LEFT JOIN dbo.Batch_PointBatchItem pointItem ON pointItem.PointBatchItemId = trustItem.PointBatchItemId
LEFT JOIN dbo.Batch_PointBatch point ON point.PointBatchId = pointItem.PointBatchId
WHERE pointItem.PointDate IS NOT NULL AND pointItem.PointState=1 AND trustItem.RepairRecordId IS NULL
GROUP BY jot.ProjectId, point.UnitId) AS oneCheck ON oneCheck.UnitId = pUnit.UnitId AND oneCheck.ProjectId=pUnit.ProjectId
LEFT JOIN (SELECT point.UnitId,jot.ProjectId,COUNT(ndeItem.NDEItemID) AS OneCheckRepairJotNum --一次检测返修焊口数
FROM dbo.Batch_NDEItem ndeItem
LEFT JOIN dbo.Batch_BatchTrustItem trustItem ON trustItem.TrustBatchItemId = ndeItem.TrustBatchItemId
LEFT JOIN dbo.Pipeline_WeldJoint jot ON jot.WeldJointId = trustItem.WeldJointId
LEFT JOIN dbo.Pipeline_WeldingDaily daily ON daily.WeldingDailyId = jot.WeldingDailyId
LEFT JOIN dbo.Batch_PointBatchItem pointItem ON pointItem.PointBatchItemId = trustItem.PointBatchItemId
LEFT JOIN dbo.Batch_PointBatch point ON point.PointBatchId = pointItem.PointBatchId
WHERE pointItem.PointDate IS NOT NULL AND pointItem.PointState=1 AND trustItem.RepairRecordId IS NULL
AND ndeItem.CheckResult='2'
GROUP BY jot.ProjectId, point.UnitId) AS oneCheckRepair
ON oneCheckRepair.UnitId = pUnit.UnitId AND oneCheckRepair.ProjectId=pUnit.ProjectId
WHERE CHARINDEX(pUnit.UnitType,'5')>0
AND ISNULL(oneCheck.OneCheckJotNum,0)>0
AND pro.ProjectArea=@ProjectArea
AND (CAST((CASE ISNULL(oneCheck.OneCheckJotNum,0) WHEN 0 THEN 0
ELSE 100.0 * (ISNULL(oneCheck.OneCheckJotNum,0)-ISNULL(oneCheckRepair.oneCheckRepairJotNum,0))/(1.0 * oneCheck.OneCheckJotNum) END) AS DECIMAL(8,1)))<=96";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectArea", projectArea));
SqlParameter[] parameter = listStr.ToArray();
DataTable dt = SQLHelper.GetDataTableRunText(strSql, parameter);
List<Model.BaseInfoItem> warnWelder = new List<Model.BaseInfoItem>();
foreach (DataRow row in dt.Rows)
{
Model.BaseInfoItem item = new Model.BaseInfoItem();
item.BaseInfoId = row["ProjectCode"].ToString();
item.BaseInfoCode = row["UnitName"].ToString();
item.BaseInfoName = "一次合格率:" + row["passRate"].ToString();
warnWelder.Add(item);
}
return warnWelder;
}
#endregion
}
}
@@ -0,0 +1,79 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
public static class APIPreWeldingDailyService
{
public static void SavePreWeldingDaily(Model.WeldJointItem addItem)
{
using (Model.HJGLDB db = new Model.HJGLDB(Funs.ConnString))
{
//string projectId = string.Empty;
//string unitId = string.Empty;
//var p = db.WBS_UnitWork.Where(x => x.UnitWorkId == addItem.UnitWorkId).FirstOrDefault();
//if (p != null)
//{
// projectId = p.ProjectId;
// unitId = p.UnitId;
//}
Model.Pipeline_PreWeldingDaily newP = new Model.Pipeline_PreWeldingDaily
{
PreWeldingDailyId = BLL.Funs.GetNewID(),
ProjectId = addItem.ProjectId,
InstallationId = addItem.InstallationId,
UnitId = addItem.UnitId,
WeldJointId = addItem.WeldJointId,
WeldingDate = addItem.WeldingDate,
BackingWelderId = addItem.BackingWelderId,
CoverWelderId = addItem.CoverWelderId,
AttachUrl = addItem.AttachUrl
};
db.Pipeline_PreWeldingDaily.InsertOnSubmit(newP);
db.SubmitChanges();
}
}
public static void SavePreWeldingDaily(List<Model.WeldJointItem > addList)
{
using (Model.HJGLDB db = new Model.HJGLDB(Funs.ConnString))
{
//string projectId = string.Empty;
//string unitId = string.Empty;
//var p = db.WBS_UnitWork.Where(x => x.UnitWorkId == addItem.UnitWorkId).FirstOrDefault();
//if (p != null)
//{
// projectId = p.ProjectId;
// unitId = p.UnitId;
//}
foreach (var addItem in addList)
{
Model.Pipeline_PreWeldingDaily newP = new Model.Pipeline_PreWeldingDaily
{
PreWeldingDailyId = BLL.Funs.GetNewID(),
ProjectId = addItem.ProjectId,
InstallationId = addItem.InstallationId,
UnitId = addItem.UnitId,
WeldJointId = addItem.WeldJointId,
WeldingDate = addItem.WeldingDate,
BackingWelderId = addItem.BackingWelderId,
CoverWelderId = addItem.CoverWelderId,
AttachUrl = addItem.AttachUrl
};
db.Pipeline_PreWeldingDaily.InsertOnSubmit(newP);
}
db.SubmitChanges();
}
}
}
}
@@ -0,0 +1,237 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Data;
using System.Data.SqlClient;
namespace BLL
{
public static class APIReportQueryService
{
#region 根据焊工号获取焊工业绩
/// <summary>
/// 根据焊工号获取焊工业绩
/// </summary>
/// <param name="projectId"></param>
/// <param name="welderCode"></param>
/// <returns></returns>
public static Model.WelderPerformanceItem GetWelderPerformanceByWelderCode(string projectId, string welderCode)
{
using (Model.HJGLDB db = new Model.HJGLDB(Funs.ConnString))
{
// todo 二维码分解待做
var getDataLists = from x in db.View_WelderPerformance
where x.ProjectId == projectId && x.WelderCode == welderCode
select new Model.WelderPerformanceItem
{
WelderCode = x.WelderCode,
WelderName = x.WelderName,
UnitName = x.UnitName,
WelderLevel = x.WelderLevel,
TotalJotDin = x.Nowtotal_jot.ToString() + "/" + x.Nowtotal_din.ToString(),
OneCheckJotNum = x.OneCheckJotNum.ToString(),
OneCheckPassJotNum = x.OneCheckPassJotNum,
OnePassRate = x.PassRate,
OneCheckTotalFilm = x.OneCheckTotalFilm.ToString(),
OneCheckPassFilm = x.OneCheckPassFilm.ToString(),
PassfilmRate = x.Passfilmrate,
RepairJotNum = x.OneCheckRepairJotNum.ToString(),
ExpandJotNum = x.ExpandJotNum.ToString()
};
return getDataLists.FirstOrDefault();
}
}
#endregion
#region 根据条件获取管线综合信息
/// <summary>
/// 根据条件获取管线综合信息
/// </summary>
/// <param name="projectId">项目</param>
/// <param name="workAreaId">区域</param>
/// <param name="pipelineCode">管线号</param>
/// <returns></returns>
public static List<Model.PipeLineQueryItem> GetPipeLineInfo(string projectId, string workAreaId, string pipelineCode)
{
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@unitId", null));
if (!string.IsNullOrEmpty(pipelineCode))
{
listStr.Add(new SqlParameter("@pipelineCode", pipelineCode));
}
else
{
listStr.Add(new SqlParameter("@pipelineCode", null));
}
if (!string.IsNullOrEmpty(workAreaId))
{
listStr.Add(new SqlParameter("@workAreaId", workAreaId));
}
else
{
listStr.Add(new SqlParameter("@workAreaId", null));
}
listStr.Add(new SqlParameter("@materialId", null));
listStr.Add(new SqlParameter("@projectId", projectId));
SqlParameter[] parameter = listStr.ToArray();
DataTable dt = SQLHelper.GetDataTableRunProc("sp_rpt_IsoCmprehensive", parameter);
List<Model.PipeLineQueryItem> reportList = new List<Model.PipeLineQueryItem>();
foreach (DataRow row in dt.Rows)
{
Model.PipeLineQueryItem report = new Model.PipeLineQueryItem();
report.UnitName= row["UnitName"].ToString();
report.WorkAreaCode = row["WorkAreaCode"].ToString();
report.PipelineCode = row["PipelineCode"].ToString();
report.Maxdate = row["maxdate"].ToString();
report.TotalJot = row["total_jot"].ToString();
report.FinishedJot = row["finished_total_jot"].ToString();
report.FinisedRate = row["finisedrate"].ToString();
report.TotalDI = row["total_din"].ToString();
report.FinishedDin = row["finished_total_din"].ToString();
report.FinishedDinRate = row["finisedrate_din"].ToString();
report.TotalFilm = row["total_film"].ToString();
report.PassFilm = row["pass_film"].ToString();
report.PassRate = row["passreate"].ToString();
report.TrustJot = row["trust_total_jot"].ToString();
report.TrustRate = row["trustrate"].ToString();
report.ExtJot = row["ext_jot"].ToString();
report.RepairJot = row["total_repairjot"].ToString();
report.CutJot = row["cut_total_jot"].ToString();
reportList.Add(report);
}
return reportList;
}
#endregion
#region 焊接工作量查询
/// <summary>
/// 焊接工作量查询
/// </summary>
/// <param name="projectArea">项目区域</param>
/// <param name="projectId">项目Id</param>
/// <returns></returns>
public static List<Model.WorkloadItem> GetWeldWorkload(string projectArea, string projectId)
{
string strSql = @"SELECT pro.ProjectCode, CAST(v.totalDin AS DECIMAL(9,2)) AS '预估',
CAST((v.totalDin-ISNULL(v1.LastDin,0)) AS DECIMAL(9,2)) AS '完成',
CAST(ISNULL(v1.LastDin,0) AS DECIMAL(9,2)) AS '剩余',
CAST(ISNULL(v2.LastWeekDin,0) AS DECIMAL(9,2)) AS '近一周'
FROM
(SELECT ProjectId, ISNULL(SUM(ISNULL(Size,0)),0) AS totalDin
FROM dbo.Pipeline_WeldJoint GROUP BY ProjectId) v
LEFT JOIN
(SELECT ProjectId, ISNULL(SUM(ISNULL(Size,0)),0) AS LastDin
FROM dbo.Pipeline_WeldJoint
WHERE WeldingDailyId IS NULL GROUP BY ProjectId) v1 ON v1.ProjectId = v.ProjectId
LEFT JOIN
(SELECT jot.ProjectId, ISNULL(SUM(ISNULL(jot.Size,0)),0) AS LastWeekDin
FROM dbo.Pipeline_WeldJoint jot
LEFT JOIN dbo.Pipeline_WeldingDaily report ON report.WeldingDailyId = jot.WeldingDailyId
WHERE jot.WeldingDailyId IS NOT NULL AND report.WeldingDate<=GETDATE() AND report.WeldingDate>DATEADD(ww,-1,GETDATE())
GROUP BY jot.ProjectId) v2 ON v2.ProjectId = v.ProjectId
LEFT JOIN dbo.Base_Project pro ON pro.ProjectId = v.ProjectId
WHERE pro.ProjectArea=@projectArea ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectArea", projectArea));
if (!string.IsNullOrEmpty(projectId))
{
strSql = strSql + " AND v.ProjectId=@ProjectId";
listStr.Add(new SqlParameter("@ProjectId", projectId));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable dt = SQLHelper.GetDataTableRunText(strSql, parameter);
List<Model.WorkloadItem> workloadList = new List<Model.WorkloadItem>();
foreach (DataRow row in dt.Rows)
{
Model.WorkloadItem item = new Model.WorkloadItem();
item.ProjectCode = row["ProjectCode"].ToString();
item.TotalNum = row["预估"].ToString();
item.FinishedNum = row["完成"].ToString();
item.RemainNum = row["剩余"].ToString();
item.LateOneWeekNum = row["近一周"].ToString();
workloadList.Add(item);
}
return workloadList;
}
#endregion
#region 拍片工作量查询
/// <summary>
/// 焊接工作量查询
/// </summary>
/// <param name="projectArea">项目区域</param>
/// <param name="projectId">项目Id</param>
/// <returns></returns>
public static List<Model.WorkloadItem> GetWeldNdtFilm(string projectArea, string projectId)
{
string strSql = @"SELECT pro.ProjectCode, ISNULL(v1.BatchTrustNum,0) AS '委托数',ISNULL(v2.NdtCheckNum,0) AS '拍片焊口',
(ISNULL(v1.BatchTrustNum,0)-ISNULL(v2.NdtCheckNum,0)) AS '积压焊口' ,
ISNULL(v3.LastWeekCheckNum,0) AS '近一周检测'
FROM
(SELECT trust.ProjectId, COUNT(d.TrustBatchItemId) AS BatchTrustNum
FROM dbo.Batch_BatchTrustItem d
LEFT JOIN dbo.Batch_BatchTrust trust ON trust.TrustBatchId = d.TrustBatchId
LEFT JOIN dbo.Base_DetectionType ndt ON ndt.DetectionTypeId = trust.DetectionTypeId
WHERE ndt.SysType='射线检测' GROUP BY trust.ProjectId) v1
LEFT JOIN
(SELECT ndt.ProjectId,COUNT(ndtItme.NDEItemID) AS NdtCheckNum
FROM dbo.Batch_NDEItem ndtItme
LEFT JOIN dbo.Batch_NDE ndt ON ndt.NDEID = ndtItme.NDEID
LEFT JOIN dbo.Base_DetectionType ndtType ON ndtType.DetectionTypeId = ndtItme.DetectionTypeId
WHERE ndtType.SysType ='射线检测' AND SubmitDate IS NOT NULL
GROUP BY ndt.ProjectId ) v2 ON v2.ProjectId = v1.ProjectId
LEFT JOIN
(SELECT ndt.ProjectId,COUNT(ndtItme.NDEItemID) AS LastWeekCheckNum
FROM dbo.Batch_NDEItem ndtItme
LEFT JOIN dbo.Batch_NDE ndt ON ndt.NDEID = ndtItme.NDEID
LEFT JOIN dbo.Base_DetectionType ndtType ON ndtType.DetectionTypeId = ndtItme.DetectionTypeId
WHERE ndtType.SysType ='射线检测' AND SubmitDate IS NOT NULL
AND ndtItme.SubmitDate<=GETDATE() AND ndtItme.SubmitDate>DATEADD(ww,-1,GETDATE())
GROUP BY ndt.ProjectId ) v3 ON v3.ProjectId = v1.ProjectId
LEFT JOIN dbo.Base_Project pro ON pro.ProjectId = v1.ProjectId
WHERE pro.ProjectArea=@projectArea AND ISNULL(v1.BatchTrustNum,0)>0 ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectArea", projectArea));
if (!string.IsNullOrEmpty(projectId))
{
strSql = strSql + " AND v1.ProjectId=@ProjectId";
listStr.Add(new SqlParameter("@ProjectId", projectId));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable dt = SQLHelper.GetDataTableRunText(strSql, parameter);
List<Model.WorkloadItem> workloadList = new List<Model.WorkloadItem>();
foreach (DataRow row in dt.Rows)
{
Model.WorkloadItem item = new Model.WorkloadItem();
item.ProjectCode = row["ProjectCode"].ToString();
item.TotalNum = row["委托数"].ToString();
item.FinishedNum = row["拍片焊口"].ToString();
item.RemainNum = row["积压焊口"].ToString();
item.LateOneWeekNum = row["近一周检测"].ToString();
workloadList.Add(item);
}
return workloadList;
}
#endregion
}
}
+119
View File
@@ -0,0 +1,119 @@
using EmitMapper;
using System;
using System.Collections.Generic;
using System.Linq;
namespace BLL
{
public static class APIUserService
{
/// <summary>
/// 获取用户登录信息
/// </summary>
/// <param name="userInfo"></param>
/// <returns></returns>
public static Model.UserItem UserLogOn(Model.UserItem userInfo)
{
using (Model.HJGLDB db = new Model.HJGLDB(Funs.ConnString))
{
var getUser = (from x in db.Sys_User
where (x.Account == userInfo.Account || x.Phone == userInfo.Phone)
&& x.IsPost == true && x.Password == Funs.EncryptionPassword(userInfo.Password)
select new Model.UserItem
{
UserId = x.UserId,
UserName = x.UserName,
UserCode = x.UserCode,
RoleId = x.RoleIds,
UnitId = x.UnitId,
UnitName = db.Base_Unit.FirstOrDefault(u => u.UnitId == x.UnitId).UnitName,
Depart = x.Depart,
PostId = x.PostId,
IsHeadMan = x.IsHeadMan,
UserType = "1",
}).FirstOrDefault();
return getUser;
}
}
/// <summary>
/// 根据userId获取用户信息
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
public static Model.UserItem getUserByUserId(string userId)
{
using (Model.HJGLDB db = new Model.HJGLDB(Funs.ConnString))
{
var getUser = (from x in db.Sys_User
join y in db.Base_Unit on x.UnitId equals y.UnitId
where x.UserId == userId
select new Model.UserItem
{
UserId = x.UserId,
UserName = x.UserName,
UserCode = x.UserCode,
RoleId = x.RoleIds,
UnitId = x.UnitId,
UnitName=y.UnitName,
UnitType = y.UnitTypeId,
Depart = x.Depart,
PostId = x.PostId,
IsHeadMan = x.IsHeadMan,
}).FirstOrDefault();
return getUser;
}
}
#region 根据登陆用户的单位ID和选择的项目获取单位类型(1、建设方,2、总承包商,3、监理,4、检测,5、施工)
/// <summary>
/// 根据登陆用户的单位ID和选择的项目获取单位类型(1、建设方,2、总承包商,3、监理,4、检测,5、施工)
/// </summary>
/// <param name="projectId"></param>
/// <param name="unitId"></param>
/// <returns></returns>
public static Model.BaseInfoItem getUserInfo(string projectId, string unitId)
{
using (Model.HJGLDB db = new Model.HJGLDB(Funs.ConnString))
{
var getUser = (from x in db.Project_Unit
where x.ProjectId==projectId && x.UnitId==unitId
select new Model.BaseInfoItem
{
BaseInfoId = x.UnitId,
BaseInfoName = x.UnitType
}).FirstOrDefault();
return getUser;
}
}
#endregion
#region 获取项目区域的用户列表
/// <summary>
/// 获取项目区域的用户列表
/// </summary>
/// <param name="projectArea">项目区域</param>
/// <returns></returns>
public static List<Model.BaseInfoItem> getUserListByProjectArea(string projectArea)
{
using (Model.HJGLDB db = new Model.HJGLDB(Funs.ConnString))
{
var getUser = (from x in db.Project_User
join y in db.Sys_User on x.UserId equals y.UserId
join z in db.Base_Project on x.ProjectId equals z.ProjectId
where z.ProjectArea == projectArea
select new Model.BaseInfoItem
{
BaseInfoId = x.UserId,
BaseInfoName = y.UserName
}).Distinct().ToList();
return getUser;
}
}
#endregion
}
}
+62
View File
@@ -0,0 +1,62 @@
using EmitMapper;
using System;
using System.Collections.Generic;
using System.Linq;
namespace BLL
{
public static class APIWelderService
{
/// <summary>
/// 获取用户登录信息
/// </summary>
/// <param name="userInfo"></param>
/// <returns></returns>
public static Model.UserItem WelderLogOn(Model.UserItem userInfo)
{
var getUser = from x in Funs.DB.Welder_Welder
where x.WelderName == userInfo.Account
&& ( x.IdentityCard != null && x.IdentityCard.Substring(x.IdentityCard.Length - 4) == userInfo.Password)
&& x.ProjectId ==userInfo.LoginProjectId
select new Model.UserItem
{
UserId = x.WelderId,
UserCode = x.WelderCode,
UserName = x.WelderName,
UnitId = x.UnitId,
LoginProjectId = x.ProjectId,
IdentityCard = x.IdentityCard,
UserType = "3",
};
return getUser.FirstOrDefault();
}
#region 根据项目ID和施工单位获取项目焊工列表信息
/// <summary>
/// 根据项目ID和施工单位获取项目焊工列表信息
/// </summary>
/// <param name="projectId">项目ID</param>
/// <param name="unitId">施工单位ID</param>
/// <returns></returns>
public static List<Model.BaseInfoItem> getWelderList(string projectId,string unitId)
{
using (Model.HJGLDB db = new Model.HJGLDB(Funs.ConnString))
{
var getDataLists = (from x in db.Welder_ProjectWelder
join y in db.Welder_Welder on x.WelderId equals y.WelderId
where x.ProjectId == projectId && x.UnitId == unitId
select new Model.BaseInfoItem
{
BaseInfoId = x.WelderId,
BaseInfoCode = y.WelderCode,
BaseInfoName = y.WelderName
}).Distinct().ToList();
return getDataLists;
}
}
#endregion
}
}