This commit is contained in:
gaofei
2022-06-06 11:23:24 +08:00
parent d33b007348
commit e1cca47076
44 changed files with 6410 additions and 383 deletions
+274
View File
@@ -4,6 +4,7 @@ using System.DirectoryServices;
using System.Linq;
using System.Web.UI.WebControls;
using System.Collections.Generic;
using Newtonsoft.Json.Linq;
namespace BLL
{
@@ -2178,5 +2179,278 @@ namespace BLL
GetDataService.SendSubscribeMessage();
GetDataService.CorrectingPersonInOutNumber(null);
}
#region
/// <summary>
/// 监视组件
/// </summary>
private static Timer getPipelineWeldingQuantities;
/// <summary>
/// 启动监视器,不一定能成功,根据系统设置决定对监视器执行的操作 定时
/// </summary>
public static void StartGetPipelineWeldingQuantities()
{
if (getPipelineWeldingQuantities != null)
{
getPipelineWeldingQuantities.Stop();
getPipelineWeldingQuantities.Dispose();
getPipelineWeldingQuantities = null;
}
getPipelineWeldingQuantities = new Timer
{
AutoReset = true
};
getPipelineWeldingQuantities.Elapsed += new ElapsedEventHandler(AddPipelineWeldingQuantities);
getPipelineWeldingQuantities.Interval = 1000 * 3600 * 24;
getPipelineWeldingQuantities.Start();
}
/// <summary>
/// 流程确认 定时执行 定时每天执行
/// </summary>
/// <param name="sender">Timer组件</param>
/// <param name="e">事件参数</param>
private static void AddPipelineWeldingQuantities(object sender, ElapsedEventArgs e)
{
try
{
if (getPipelineWeldingQuantities != null)
{
getPipelineWeldingQuantities.Stop();
}
PipelineWeldingQuantities();
}
catch (Exception ex)
{
ErrLogInfo.WriteLog("定时器启动异常。", ex);
}
finally
{
getPipelineWeldingQuantities.Interval = 1000 * 3600 * 24;
getPipelineWeldingQuantities.Start();
}
}
public static void PipelineWeldingQuantities()
{
Model.SGGLDB db = Funs.DB;
var projects = from x in db.Base_Project select x;
//获取所有在建项目
var str = APIGetHttpService.Http("http://221.232.143.174:8102/csm/third/getAllProjectsUnderConstruction", "GET");
if (!string.IsNullOrEmpty(str))
{
var HJGL_FL_TotalQuantitys = from x in db.HJGL_FL_TotalQuantity select x;
if (HJGL_FL_TotalQuantitys.Count() > 0)
{
db.HJGL_FL_TotalQuantity.DeleteAllOnSubmit(HJGL_FL_TotalQuantitys);
db.SubmitChanges();
}
var HJGL_FL_OneOKRates = from x in db.HJGL_FL_OneOKRate select x;
if (HJGL_FL_OneOKRates.Count() > 0)
{
db.HJGL_FL_OneOKRate.DeleteAllOnSubmit(HJGL_FL_OneOKRates);
db.SubmitChanges();
}
var HJGL_FL_Quantitys = from x in db.HJGL_FL_Quantity select x;
if (HJGL_FL_Quantitys.Count() > 0)
{
db.HJGL_FL_Quantity.DeleteAllOnSubmit(HJGL_FL_Quantitys);
db.SubmitChanges();
}
var HJGL_FL_PressurePackageLists = from x in db.HJGL_FL_PressurePackageList select x;
if (HJGL_FL_PressurePackageLists.Count() > 0)
{
db.HJGL_FL_PressurePackageList.DeleteAllOnSubmit(HJGL_FL_PressurePackageLists);
db.SubmitChanges();
}
var HJGL_FL_NdtLists = from x in db.HJGL_FL_NdtList select x;
if (HJGL_FL_NdtLists.Count() > 0)
{
db.HJGL_FL_NdtList.DeleteAllOnSubmit(HJGL_FL_NdtLists);
db.SubmitChanges();
}
var HJGL_FL_TailItemLists = from x in db.HJGL_FL_TailItemList select x;
if (HJGL_FL_TailItemLists.Count() > 0)
{
db.HJGL_FL_TailItemList.DeleteAllOnSubmit(HJGL_FL_TailItemLists);
db.SubmitChanges();
}
JArray arr = JArray.Parse(str);
foreach (var item in arr)
{
string projectCode = item["projectCode"].ToString();
var project = projects.FirstOrDefault(x => x.HJProjectCode == projectCode);
if (project != null)
{
//项目管道焊接工程量
var str1 = APIGetHttpService.Http("http://221.232.143.174:8102/csm/third/getPipelineWeldingQuantities/" + projectCode, "GET");
if (!string.IsNullOrEmpty(str1))
{
JArray arr1 = JArray.Parse(str1);
foreach (var item1 in arr1)
{
Model.HJGL_FL_TotalQuantity tq = new Model.HJGL_FL_TotalQuantity();
tq.TotalQuantityId = SQLHelper.GetNewID();
tq.ProjectId = project.ProjectId;
tq.DeviceName = item1["deviceName"].ToString();
tq.DeviceCode = item1["zoneCode"].ToString();
tq.Unit = item1["unitName"].ToString();
tq.TotalWeldQuantity = item1["totalWeldingAmount"].ToString();
tq.TotalCompleted = item1["finishedAmount"].ToString();
db.HJGL_FL_TotalQuantity.InsertOnSubmit(tq);
db.SubmitChanges();
}
}
//无损检测一次合格率
var str2 = APIGetHttpService.Http("http://221.232.143.174:8102/csm/third/getNondestructiveTestOnceQualifiedRate/" + projectCode, "GET");
if (!string.IsNullOrEmpty(str2))
{
JArray arr1 = JArray.Parse(str2);
foreach (var item1 in arr1)
{
Model.HJGL_FL_OneOKRate tq = new Model.HJGL_FL_OneOKRate();
tq.OneOKRateId = SQLHelper.GetNewID();
tq.ProjectId = project.ProjectId;
tq.DeviceName = item1["deviceName"].ToString();
tq.DeviceCode = item1["deviceCode"].ToString();
tq.ZoneCode = item1["zoneCode"].ToString();
tq.UnitName = item1["unitName"].ToString();
tq.TestWeldAmount = item1["testWeldAmount"].ToString();
tq.OnceQualifiedQuantity = item1["onceQualifiedQuantity"].ToString();
var a = Convert.ToDouble(Funs.GetNewIntOrZero(tq.TestWeldAmount));
var b = Convert.ToDouble(Funs.GetNewIntOrZero(tq.OnceQualifiedQuantity));
if (a > 0 && b > 0)
{
tq.OneOKRate = Convert.ToDouble(decimal.Round(decimal.Parse((b / a * 100).ToString()), 2)) + "%";
}
else
{
tq.OneOKRate = "0";
}
tq.OneTimeFilmAmount = item1["oneTimeFilmAmount"].ToString();
tq.OneTimeFilmQualifiedAmount = item1["oneTimeFilmQualifiedAmount"].ToString();
var c = Convert.ToDouble(Funs.GetNewIntOrZero(tq.OneTimeFilmAmount));
var d = Convert.ToDouble(Funs.GetNewIntOrZero(tq.OneTimeFilmQualifiedAmount));
if (c > 0 && d > 0)
{
tq.OneOKFilmRate = Convert.ToDouble(decimal.Round(decimal.Parse((d / c * 100).ToString()), 2)) + "%";
}
else
{
tq.OneOKFilmRate = "0";
}
db.HJGL_FL_OneOKRate.InsertOnSubmit(tq);
db.SubmitChanges();
}
}
//项目焊接工程量
DateTime yesterday = DateTime.Now.Date.AddDays(-1);
DateTime lastday = yesterday.AddDays(-7);
string yesterdayStr = string.Format("{0:yyyy-MM-dd}", yesterday);
string lastdayStr = string.Format("{0:yyyy-MM-dd}", lastday);
var str3 = APIGetHttpService.Http("http://221.232.143.174:8102/csm/third/getWeldingEngineeringList/" + projectCode + "/date/" + yesterdayStr + "/" + lastdayStr + "/" + yesterdayStr, "GET");
if (!string.IsNullOrEmpty(str3))
{
JArray arr1 = JArray.Parse(str3);
foreach (var item1 in arr1)
{
Model.HJGL_FL_Quantity tq = new Model.HJGL_FL_Quantity();
tq.QuantityId = SQLHelper.GetNewID();
tq.ProjectId = project.ProjectId;
tq.DeviceName = item1["deviceName"].ToString();
tq.DeviceNumber = item1["deviceNumber"].ToString();
tq.UnitName = item1["unitName"].ToString();
tq.ZoneNumber = item1["zoneNumber"].ToString();
tq.InchesDiameterTotal = item1["inchesDiameterTotal"].ToString();
tq.InchesDiameterFinish = item1["inchesDiameterFinish"].ToString();
tq.YesterdayFinish = item1["yesterdayFinish"].ToString();
tq.WeekInchesDiameterPlan = item1["weekInchesDiameterPlan"].ToString();
tq.WeekInchesDiameterFinish = item1["weekInchesDiameterFinish"].ToString();
db.HJGL_FL_Quantity.InsertOnSubmit(tq);
db.SubmitChanges();
}
}
//项目试压包量
var str4 = APIGetHttpService.Http("http://221.232.143.174:8102/csm/third/getPressurePackageList/" + projectCode, "GET");
if (!string.IsNullOrEmpty(str4))
{
JArray arr1 = JArray.Parse(str4);
foreach (var item1 in arr1)
{
Model.HJGL_FL_PressurePackageList tq = new Model.HJGL_FL_PressurePackageList();
tq.PressurePackageListId = SQLHelper.GetNewID();
tq.ProjectId = project.ProjectId;
tq.DeviceName = item1["deviceName"].ToString();
tq.DeviceNumber = item1["deviceNumber"].ToString();
tq.UnitName = item1["unitName"].ToString();
tq.PressurePackageTotalNum = item1["pressurePackageTotalNum"].ToString();
tq.CompletePressurePackageNum = item1["completePressurePackageNum"].ToString();
tq.WaterPressurePackageTotalNum = item1["waterPressurePackageTotalNum"].ToString();
tq.CompleteWaterPressurePackageCompleteNum = item1["completeWaterPressurePackageCompleteNum"].ToString();
tq.ObservePackageTotalNum = item1["observePackageTotalNum"].ToString();
tq.CompleteObservePackageNum = item1["completeObservePackageNum"].ToString();
tq.RunPackageTotalNum = item1["runPackageTotalNum"].ToString();
tq.CompleteRunPackageNum = item1["completeRunPackageNum"].ToString();
tq.AlternativePackageTotalNum = item1["alternativePackageTotalNum"].ToString();
tq.CompleteAlternativePackageNum = item1["completeAlternativePackageNum"].ToString();
db.HJGL_FL_PressurePackageList.InsertOnSubmit(tq);
db.SubmitChanges();
}
}
//项目无损检测量
var str5 = APIGetHttpService.Http("http://221.232.143.174:8102/csm/third/getNdtList/" + projectCode, "GET");
if (!string.IsNullOrEmpty(str5))
{
JArray arr1 = JArray.Parse(str5);
foreach (var item1 in arr1)
{
Model.HJGL_FL_NdtList tq = new Model.HJGL_FL_NdtList();
tq.NdtListId = SQLHelper.GetNewID();
tq.ProjectId = project.ProjectId;
tq.DeviceName = item1["deviceName"].ToString();
tq.DeviceNumber = item1["deviceCode"].ToString();
tq.ZoneCode = item1["zoneCode"].ToString();
tq.UnitName = item1["unitName"].ToString();
tq.TheoreticalWeldedJointsTotal = item1["theoreticalWeldedJointsTotal"].ToString();
tq.TestWeldAmount = item1["testWeldAmount"].ToString();
tq.OnceQualifiedQuantity = item1["onceQualifiedQuantity"].ToString();
tq.OneTimeFilmAmount = item1["oneTimeFilmAmount"].ToString();
tq.OneTimeFilmQualifiedAmount = item1["oneTimeFilmQualifiedAmount"].ToString();
db.HJGL_FL_NdtList.InsertOnSubmit(tq);
db.SubmitChanges();
}
}
//项目尾项清单量
var str6 = APIGetHttpService.Http("http://221.232.143.174:8102/csm/third/getTailItemList/" + projectCode, "GET");
if (!string.IsNullOrEmpty(str6))
{
JArray arr1 = JArray.Parse(str6);
foreach (var item1 in arr1)
{
Model.HJGL_FL_TailItemList tq = new Model.HJGL_FL_TailItemList();
tq.TailItemListId = SQLHelper.GetNewID();
tq.ProjectId = project.ProjectId;
tq.DeviceName = item1["deviceName"].ToString();
tq.DeviceNumber = item1["deviceCode"].ToString();
tq.UnitName = item1["unitName"].ToString();
tq.RemainingWeldsNumber = item1["remainingWeldsNumber"].ToString();
tq.HeatTreatmentsNumber = item1["heatTreatmentsNumber"].ToString();
tq.HardnessTestsNumber = item1["hardnessTestsNumber"].ToString();
tq.UnfinishedButtNumber = item1["unfinishedButtNumber"].ToString();
tq.UnfinishedCornerJointNumber = item1["unfinishedCornerJointNumber"].ToString();
tq.UnfinishedBranchPipeNumber = item1["unfinishedBranchPipeNumber"].ToString();
tq.ClassAQuantity = item1["classAQuantity"].ToString();
tq.ClassBQuantity = item1["classBQuantity"].ToString();
db.HJGL_FL_TailItemList.InsertOnSubmit(tq);
db.SubmitChanges();
}
}
}
}
}
}
#endregion
}
}