葛恒:奖惩
This commit is contained in:
@@ -200,6 +200,7 @@
|
||||
<Compile Include="CostGoods\MeasuresPlanService.cs" />
|
||||
<Compile Include="CostGoods\PayRegistrationService.cs" />
|
||||
<Compile Include="CostGoods\SubPayRegistrationService.cs" />
|
||||
<Compile Include="CQMS\Check\RewardAndPunishService.cs" />
|
||||
<Compile Include="CQMS\Comprehensive\ConTechnologyDisclosureService.cs" />
|
||||
<Compile Include="CQMS\Comprehensive\DataDistributionApproveService.cs" />
|
||||
<Compile Include="CQMS\Comprehensive\DataDistributionService.cs" />
|
||||
@@ -317,6 +318,8 @@
|
||||
<Compile Include="CQMS\WBS\WorkPackageService.cs" />
|
||||
<Compile Include="DataShare\APIDataShareSyncService.cs" />
|
||||
<Compile Include="DataShare\CQMS\APICheckControlSyncService.cs" />
|
||||
<Compile Include="DataShare\CQMS\APICqmsMeetingSyncService.cs" />
|
||||
<Compile Include="DataShare\CQMS\APIInspectionMachineSyncService.cs" />
|
||||
<Compile Include="DataShare\HSSE\APICheckSpecialSyncService.cs" />
|
||||
<Compile Include="DataShare\HSSE\APIHazardRegisterSyncService.cs" />
|
||||
<Compile Include="DataShare\HSSE\APILicenseSyncService.cs" />
|
||||
|
||||
@@ -0,0 +1,126 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace BLL
|
||||
{
|
||||
public class RewardAndPunishService
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取施工图纸信息
|
||||
/// </summary>
|
||||
/// <param name="UnitWorkId"></param>
|
||||
/// <returns></returns>
|
||||
public static Model.Check_RewardAndPunish GetRewardAndPunishById(string RewardAndPunishID)
|
||||
{
|
||||
return Funs.DB.Check_RewardAndPunish.FirstOrDefault(e => e.RewardAndPunishID == RewardAndPunishID);
|
||||
}
|
||||
/// <summary>
|
||||
/// 添加施工图纸信息
|
||||
/// </summary>
|
||||
/// <param name="WPQ"></param>
|
||||
public static void AddRewardAndPunish(Model.Check_RewardAndPunish RewardAndPunish)
|
||||
{
|
||||
Model.SGGLDB db = Funs.DB;
|
||||
Model.Check_RewardAndPunish newRewardAndPunish = new Model.Check_RewardAndPunish();
|
||||
newRewardAndPunish.RewardAndPunishID = RewardAndPunish.RewardAndPunishID;
|
||||
newRewardAndPunish.ProjectId = RewardAndPunish.ProjectId;
|
||||
newRewardAndPunish.CreateMan = RewardAndPunish.CreateMan;
|
||||
newRewardAndPunish.Date = RewardAndPunish.Date;
|
||||
newRewardAndPunish.Description = RewardAndPunish.Description;
|
||||
newRewardAndPunish.Money = RewardAndPunish.Money;
|
||||
newRewardAndPunish.Type = RewardAndPunish.Type;
|
||||
newRewardAndPunish.ResponseUnit = RewardAndPunish.ResponseUnit;
|
||||
newRewardAndPunish.NoticeUnit = RewardAndPunish.NoticeUnit;
|
||||
newRewardAndPunish.RewardAndPunishType = RewardAndPunish.RewardAndPunishType;
|
||||
newRewardAndPunish.RewardAndPunishCode = RewardAndPunish.RewardAndPunishCode;
|
||||
newRewardAndPunish.RewardAndPunishMan = RewardAndPunish.RewardAndPunishMan;
|
||||
newRewardAndPunish.TeamGroupId = RewardAndPunish.TeamGroupId;
|
||||
newRewardAndPunish.Remark = RewardAndPunish.Remark;
|
||||
newRewardAndPunish.DataSource = RewardAndPunish.DataSource;
|
||||
newRewardAndPunish.HazardRegisterId = RewardAndPunish.HazardRegisterId;
|
||||
newRewardAndPunish.SysTemType = RewardAndPunish.SysTemType;
|
||||
db.Check_RewardAndPunish.InsertOnSubmit(newRewardAndPunish);
|
||||
db.SubmitChanges();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 修改施工图纸信息
|
||||
/// </summary>
|
||||
/// <param name="WPQ"></param>
|
||||
public static void UpdateRewardAndPunish(Model.Check_RewardAndPunish RewardAndPunish)
|
||||
{
|
||||
Model.SGGLDB db = Funs.DB;
|
||||
Model.Check_RewardAndPunish newRewardAndPunish = db.Check_RewardAndPunish.FirstOrDefault(e => e.RewardAndPunishID == RewardAndPunish.RewardAndPunishID);
|
||||
if (newRewardAndPunish != null)
|
||||
{
|
||||
newRewardAndPunish.RewardAndPunishID = RewardAndPunish.RewardAndPunishID;
|
||||
newRewardAndPunish.ProjectId = RewardAndPunish.ProjectId;
|
||||
newRewardAndPunish.CreateMan = RewardAndPunish.CreateMan;
|
||||
newRewardAndPunish.Date = RewardAndPunish.Date;
|
||||
newRewardAndPunish.Description = RewardAndPunish.Description;
|
||||
newRewardAndPunish.Money = RewardAndPunish.Money;
|
||||
newRewardAndPunish.Type = RewardAndPunish.Type;
|
||||
newRewardAndPunish.ResponseUnit = RewardAndPunish.ResponseUnit;
|
||||
newRewardAndPunish.NoticeUnit = RewardAndPunish.NoticeUnit;
|
||||
newRewardAndPunish.RewardAndPunishType = RewardAndPunish.RewardAndPunishType;
|
||||
newRewardAndPunish.RewardAndPunishCode = RewardAndPunish.RewardAndPunishCode;
|
||||
newRewardAndPunish.RewardAndPunishMan = RewardAndPunish.RewardAndPunishMan;
|
||||
newRewardAndPunish.TeamGroupId = RewardAndPunish.TeamGroupId;
|
||||
newRewardAndPunish.Remark = RewardAndPunish.Remark;
|
||||
newRewardAndPunish.DataSource = RewardAndPunish.DataSource;
|
||||
newRewardAndPunish.HazardRegisterId = RewardAndPunish.HazardRegisterId;
|
||||
newRewardAndPunish.SysTemType = RewardAndPunish.SysTemType;
|
||||
db.SubmitChanges();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 根据主键删除施工图纸信息
|
||||
/// </summary>
|
||||
/// <param name="checkerId"></param>
|
||||
public static void DeleteRewardAndPunishById(string RewardAndPunishID)
|
||||
{
|
||||
Model.SGGLDB db = Funs.DB;
|
||||
Model.Check_RewardAndPunish RewardAndPunish = db.Check_RewardAndPunish.FirstOrDefault(e => e.RewardAndPunishID == RewardAndPunishID);
|
||||
if (RewardAndPunish != null)
|
||||
{
|
||||
db.Check_RewardAndPunish.DeleteOnSubmit(RewardAndPunish);
|
||||
db.SubmitChanges();
|
||||
}
|
||||
}
|
||||
|
||||
public static void InitTypeDropDownList(FineUIPro.DropDownList dropName)
|
||||
{
|
||||
ListItem[] list = new ListItem[2];
|
||||
|
||||
list[0] = new ListItem("奖励通知单", "0");
|
||||
list[1] = new ListItem("处罚通知单", "1");
|
||||
dropName.DataValueField = "Value";
|
||||
dropName.DataTextField = "Text";
|
||||
dropName.DataSource = list;
|
||||
dropName.DataBind();
|
||||
Funs.FineUIPleaseSelect(dropName);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 根据巡检主键删除
|
||||
/// </summary>
|
||||
/// <param name="checkerId"></param>
|
||||
public static void DeleteRewardAndPunishByHazardRegisterId(string HazardRegisterId)
|
||||
{
|
||||
Model.SGGLDB db = Funs.DB;
|
||||
Model.Check_RewardAndPunish RewardAndPunish = db.Check_RewardAndPunish.FirstOrDefault(e => e.HazardRegisterId == HazardRegisterId);
|
||||
if (RewardAndPunish != null)
|
||||
{
|
||||
db.Check_RewardAndPunish.DeleteOnSubmit(RewardAndPunish);
|
||||
db.SubmitChanges();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1965,6 +1965,23 @@ namespace BLL
|
||||
/// </summary>
|
||||
public const string ProjectEmergencySupplyMenuId = "39244F05-0D9E-4750-B12E-CEA5E11338A8";
|
||||
|
||||
/// <summary>
|
||||
/// 货物单位类型
|
||||
/// </summary>
|
||||
public const string MaterialUnitMenuId = "3DD3F0E8-D3EA-41AA-BA1F-CA3168657D67";
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 物资进出记录
|
||||
/// </summary>
|
||||
public const string MaterialInAndOutRecordMenuId = "5DAB5F9A-097A-46D4-8EB1-F60D1D65E812";
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 奖励与惩罚
|
||||
/// </summary>
|
||||
public const string RewardAndPunishManagerMenuId = "621A9295-DD82-425A-863D-310AD319752B";
|
||||
|
||||
/// <summary>
|
||||
/// 应急队伍与培训
|
||||
/// </summary>
|
||||
@@ -1974,6 +1991,10 @@ namespace BLL
|
||||
/// 应急流程
|
||||
/// </summary>
|
||||
public const string ProjectEmergencyProcessMenuId = "A5D0287B-2410-4DB1-8BD4-E0534EBAE308";
|
||||
/// <summary>
|
||||
/// 奖罚通知单(定稿)
|
||||
/// </summary>
|
||||
public const string RewardAndPunishMenuId = "288C955A-E379-4F24-85F9-585343B33D46";
|
||||
#endregion
|
||||
|
||||
#region 施工方案/方案审查
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
@@ -28,7 +29,8 @@ namespace BLL
|
||||
string TeamGroupId = null;
|
||||
if (!string.IsNullOrEmpty(TeamGroupName))
|
||||
{
|
||||
var tg = Funs.DB.ProjectData_TeamGroup.Where(x => x.TeamGroupName == TeamGroupName && x.ProjectId == projectId && x.UnitId == unitId).ToList();
|
||||
var tg = Funs.DB.ProjectData_TeamGroup.Where(x =>
|
||||
x.TeamGroupName == TeamGroupName && x.ProjectId == projectId && x.UnitId == unitId).ToList();
|
||||
if (tg.Count == 0)
|
||||
{
|
||||
Model.ProjectData_TeamGroup newTeamGroup = new Model.ProjectData_TeamGroup
|
||||
@@ -47,10 +49,10 @@ namespace BLL
|
||||
TeamGroupId = tg.FirstOrDefault().TeamGroupId;
|
||||
}
|
||||
}
|
||||
|
||||
return TeamGroupId;
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region 作业票许可证类型
|
||||
@@ -97,7 +99,6 @@ namespace BLL
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
#region 获取作业区域
|
||||
|
||||
/// <summary>
|
||||
@@ -611,7 +612,46 @@ namespace BLL
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// 下载并保存文件
|
||||
/// </summary>
|
||||
/// <param name="webUrl"></param>
|
||||
/// <param name="fileUrl"></param>
|
||||
/// <returns></returns>
|
||||
public static byte[] SafeDownloadHeadImageAsync(string webUrl, string fileUrl)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (string.IsNullOrEmpty(fileUrl))
|
||||
return null;
|
||||
|
||||
// 构造完整的远程文件 URL
|
||||
string fullRemoteUrl = $"{webUrl.TrimEnd('/')}/{fileUrl.TrimStart('/')}";
|
||||
|
||||
// 构造本地文件路径
|
||||
string localFilePath = Path.Combine(ConfigurationManager.AppSettings["localRoot"], fileUrl);
|
||||
|
||||
|
||||
// 确保本地目录存在
|
||||
string directoryPath = Path.GetDirectoryName(localFilePath);
|
||||
if (!string.IsNullOrEmpty(directoryPath) && !Directory.Exists(directoryPath))
|
||||
{
|
||||
Directory.CreateDirectory(directoryPath);
|
||||
}
|
||||
//下载文件到本地
|
||||
using (WebClient client = new WebClient())
|
||||
{
|
||||
byte[] fileData = client.DownloadData(fullRemoteUrl);
|
||||
// 将文件数据写入本地文件
|
||||
File.WriteAllBytes(localFilePath, fileData);
|
||||
return fileData;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
BLL.ErrLogInfo.WriteLog($"下载头像失败: {fileUrl}, 错误: {ex.Message}");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -19,7 +19,8 @@ namespace BLL
|
||||
/// </summary>
|
||||
public class APICheckControlSyncService
|
||||
{
|
||||
#region 根据项目、单位获取质量巡检列表
|
||||
#region 根据项目、单位获取质量巡检列表
|
||||
|
||||
/// <summary>
|
||||
/// 根据项目、单位获取质量巡检列表
|
||||
/// </summary>
|
||||
@@ -63,7 +64,7 @@ namespace BLL
|
||||
from pu in puTemp.DefaultIfEmpty()
|
||||
join att in db.AttachFile on x.CheckControlCode equals att.ToKeyId into attTemp
|
||||
from att in attTemp.DefaultIfEmpty()
|
||||
join attRe in db.AttachFile on x.CheckControlCode + "r" equals attRe.ToKeyId into attReTemp
|
||||
join attRe in db.AttachFile on x.CheckControlCode+"r" equals attRe.ToKeyId into attReTemp
|
||||
from attRe in attReTemp.DefaultIfEmpty()
|
||||
select new CheckControlSyncItem
|
||||
{
|
||||
@@ -145,6 +146,8 @@ namespace BLL
|
||||
|
||||
//获取对应单位的apiurl地址
|
||||
var Url = BLL.UnitService.getUnitApiUrlByUnitId(SubjectUnitId);
|
||||
//var Url = "http://localhost:14957/,http://localhost:8579/";
|
||||
|
||||
var ApiUrl = "";
|
||||
var WebUrl = "";
|
||||
if (!string.IsNullOrEmpty(Url))
|
||||
@@ -223,6 +226,7 @@ namespace BLL
|
||||
|
||||
//总包单位接口地址
|
||||
var Url = BLL.UnitService.getUnitApiUrlByUnitId(project.SubjectUnit);
|
||||
//var Url = "http://localhost:14957/";
|
||||
var ApiUrl = "";
|
||||
var WebUrl = "";
|
||||
|
||||
@@ -475,6 +479,8 @@ namespace BLL
|
||||
return questionTypeId;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取专业ID(不存在则创建)
|
||||
/// </summary>
|
||||
@@ -512,7 +518,7 @@ namespace BLL
|
||||
}
|
||||
|
||||
return Id;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取单位ID(根据名称)
|
||||
|
||||
@@ -0,0 +1,441 @@
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net.Http;
|
||||
using System.Threading.Tasks;
|
||||
using Model;
|
||||
using Newtonsoft.Json;
|
||||
using RestSharp;
|
||||
using System.Net;
|
||||
using System.Web;
|
||||
|
||||
namespace BLL
|
||||
{
|
||||
/// <summary>
|
||||
/// 质量会议同步服务
|
||||
/// </summary>
|
||||
public class APICqmsMeetingSyncService
|
||||
{
|
||||
#region 根据项目、单位获取质量会议列表
|
||||
|
||||
/// <summary>
|
||||
/// 根据项目、单位获取质量会议列表
|
||||
/// </summary>
|
||||
/// <param name="projectId">项目ID</param>
|
||||
/// <param name="unitId">单位ID</param>
|
||||
/// <param name="dataId">数据ID(可选,用于单条数据同步)</param>
|
||||
/// <returns>质量会议数据列表</returns>
|
||||
public static List<Model.CqmsMeetingSyncItem> GetCqmsMeetingListsByProjectIdUnitIdPage(
|
||||
string projectId, string unitId, string dataId = "")
|
||||
{
|
||||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||
{
|
||||
var list = from x in db.CQMS_Meeting
|
||||
where x.ProjectId == projectId
|
||||
select x;
|
||||
|
||||
if (!string.IsNullOrEmpty(unitId))
|
||||
{
|
||||
list = list.Where(x => x.UnitId == unitId);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(dataId))
|
||||
{
|
||||
list = list.Where(x => x.MeetingId == dataId);
|
||||
}
|
||||
|
||||
var dataList = (from x in list
|
||||
join unit in db.Base_Unit on x.UnitId equals unit.UnitId into unitTemp
|
||||
from unit in unitTemp.DefaultIfEmpty()
|
||||
join u1 in db.Sys_User on x.CompileMan equals u1.UserId into u1Temp
|
||||
from u1 in u1Temp.DefaultIfEmpty()
|
||||
join u2 in db.Sys_User on x.MeetingHostMan equals u2.UserId into u2Temp
|
||||
from u2 in u2Temp.DefaultIfEmpty()
|
||||
join cr in db.Sys_CodeRecords on x.MeetingId equals cr.DataId into crTemp
|
||||
from cr in crTemp.DefaultIfEmpty()
|
||||
select new CqmsMeetingSyncItem
|
||||
{
|
||||
MeetingId = x.MeetingId,
|
||||
MeetingCode = cr.Code,
|
||||
MeetingName = x.MeetingName,
|
||||
ProjectId = x.ProjectId,
|
||||
UnitId = x.UnitId,
|
||||
UnitName = unit.UnitName,
|
||||
MeetingDate = x.MeetingDate,
|
||||
MeetingHours = x.MeetingHours,
|
||||
MeetingPlace = x.MeetingPlace,
|
||||
MeetingHostMan = x.MeetingHostMan,
|
||||
MeetingHostManName = u2.UserName,
|
||||
MeetingHostManOther = x.MeetingHostManOther,
|
||||
AttentPersonNum = x.AttentPersonNum,
|
||||
AttentPerson = x.AttentPerson,
|
||||
AttentPersonIds = x.AttentPersonIds,
|
||||
MeetingContents = x.MeetingContents,
|
||||
CompileMan = x.CompileMan,
|
||||
CompileManName = u1.UserName,
|
||||
CompileDate = x.CompileDate,
|
||||
States = x.States,
|
||||
DataSource = "1"
|
||||
}).ToList();
|
||||
|
||||
return dataList;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region 拉取质量会议数据
|
||||
|
||||
/// <summary>
|
||||
/// 拉取质量会议数据
|
||||
/// </summary>
|
||||
/// <returns>处理结果消息</returns>
|
||||
public static string getCqmsMeetingLists()
|
||||
{
|
||||
int code = 0;
|
||||
string message = "";
|
||||
try
|
||||
{
|
||||
string CollCropCode = string.Empty;
|
||||
string unitId = string.Empty;
|
||||
var thisUnit = CommonService.GetIsThisUnit(); //当前单位
|
||||
if (thisUnit != null)
|
||||
{
|
||||
CollCropCode = thisUnit.CollCropCode; //社会统一信用代码
|
||||
unitId = thisUnit.UnitId;
|
||||
}
|
||||
|
||||
var ProjectList = (from x in Funs.DB.Base_Project
|
||||
where (x.IsDelete == null || x.IsDelete == false) &&
|
||||
x.SubjectUnit != null && x.SubjectProject != null
|
||||
select x).ToList();
|
||||
|
||||
if (ProjectList.Count > 0)
|
||||
{
|
||||
foreach (var project in ProjectList)
|
||||
{
|
||||
string SubjectUnitId = project.SubjectUnit; //集团的单位id
|
||||
string SubjectProjectId = project.SubjectProject; //集团的项目id
|
||||
|
||||
//获取对应单位的apiurl地址
|
||||
var Url = BLL.UnitService.getUnitApiUrlByUnitId(SubjectUnitId);
|
||||
var ApiUrl = "";
|
||||
var WebUrl = "";
|
||||
if (!string.IsNullOrEmpty(Url))
|
||||
{
|
||||
var urls = Url.Split(',');
|
||||
ApiUrl = urls[0];
|
||||
if (urls.Length > 1)
|
||||
{
|
||||
WebUrl = urls[1];
|
||||
}
|
||||
}
|
||||
|
||||
string url = "/api/CqmsMeetingSync/getCqmsMeetingListByProjectIdAndCollCropCode?projectId=" +
|
||||
SubjectProjectId + "&collCropCode=" + CollCropCode;
|
||||
string baseurl = ApiUrl + url;
|
||||
string contenttype = "application/json;charset=unicode";
|
||||
var strJosn = APIGetHttpService.Http(baseurl, "GET", contenttype, null, null);
|
||||
|
||||
if (!string.IsNullOrEmpty(strJosn))
|
||||
{
|
||||
JObject obj = JObject.Parse(strJosn);
|
||||
code = Funs.GetNewIntOrZero(obj["code"].ToString());
|
||||
message = obj["message"].ToString();
|
||||
|
||||
if (code == 1)
|
||||
{
|
||||
var getData = JsonConvert.DeserializeObject<List<CqmsMeetingSyncItem>>(obj["data"].ToString());
|
||||
if (getData.Count() > 0)
|
||||
{
|
||||
ProcessCqmsMeetingData(getData, project.ProjectId, unitId, WebUrl);
|
||||
}
|
||||
message = "获取成功:同步质量会议数" + getData.Count().ToString() + "条";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
message = "获取失败:" + ex.Message;
|
||||
ErrLogInfo.WriteLog("质量会议获取!", ex);
|
||||
}
|
||||
|
||||
return message;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region 推送质量会议数据
|
||||
|
||||
/// <summary>
|
||||
/// 推送质量会议数据
|
||||
/// </summary>
|
||||
/// <param name="projectId">项目ID</param>
|
||||
/// <param name="dataId">数据ID(可选,用于单条数据推送)</param>
|
||||
/// <returns>推送结果</returns>
|
||||
public static ReturnData pushCqmsMeetingLists(string projectId, string dataId = "")
|
||||
{
|
||||
Model.ReturnData responeData = new Model.ReturnData();
|
||||
responeData.code = 0;
|
||||
responeData.message = string.Empty;
|
||||
var project = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectId == projectId);
|
||||
|
||||
try
|
||||
{
|
||||
if (project != null)
|
||||
{
|
||||
//获取质量会议数据
|
||||
var items = GetCqmsMeetingListsByProjectIdUnitIdPage(projectId, "", dataId);
|
||||
|
||||
if (items.Count() > 0)
|
||||
{
|
||||
var thisUnit = CommonService.GetIsThisUnit(); //当前单位
|
||||
var apiurl = "/api/CqmsMeetingSync/SaveCqmsMeetingSyncData";
|
||||
|
||||
//总包单位接口地址
|
||||
var Url = BLL.UnitService.getUnitApiUrlByUnitId(project.SubjectUnit);
|
||||
var ApiUrl = "";
|
||||
var WebUrl = "";
|
||||
|
||||
if (!string.IsNullOrEmpty(Url))
|
||||
{
|
||||
var urls = Url.Split(',');
|
||||
ApiUrl = urls[0];
|
||||
if (urls.Length > 1)
|
||||
{
|
||||
WebUrl = urls[1];
|
||||
}
|
||||
}
|
||||
|
||||
var pushData = new CqmsMeetingSyncData
|
||||
{
|
||||
CollCropCode = thisUnit.CollCropCode, //分包单位社会统一信用码
|
||||
ProjectId = project.SubjectProject, //主包项目Id
|
||||
UnitDomain = Funs.SGGLUrl, //分包单位域名地址【文件存储地址】
|
||||
Items = items //质量会议数据
|
||||
};
|
||||
|
||||
var pushContent = JsonConvert.SerializeObject(pushData);
|
||||
string baseurl = ApiUrl + apiurl;
|
||||
string contenttype = "application/json;charset=unicode";
|
||||
var returndata = APIGetHttpService.Http(baseurl, "Post", contenttype, null, pushContent);
|
||||
|
||||
if (!string.IsNullOrEmpty(returndata))
|
||||
{
|
||||
JObject obj = JObject.Parse(returndata);
|
||||
string code = obj["code"].ToString();
|
||||
string message = obj["message"].ToString();
|
||||
responeData.code = int.Parse(code);
|
||||
responeData.message = message;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
responeData.code = 0;
|
||||
responeData.message = "当前没有质量会议数据";
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
responeData.message = "同步到总包单位失败!";
|
||||
ErrLogInfo.WriteLog("【质量会议】同步到总包单位失败!", ex);
|
||||
}
|
||||
|
||||
return responeData;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region 接收保存质量会议数据
|
||||
|
||||
/// <summary>
|
||||
/// 接收保存质量会议数据
|
||||
/// </summary>
|
||||
/// <param name="items">质量会议同步数据</param>
|
||||
/// <returns>处理结果消息</returns>
|
||||
public static string SaveCqmsMeetingSyncData(Model.CqmsMeetingSyncData items)
|
||||
{
|
||||
int code = 0;
|
||||
string message = "";
|
||||
try
|
||||
{
|
||||
if (items.Items.Count > 0 || items.Items.Count > 0)
|
||||
{
|
||||
var CollCropCode = items.CollCropCode; //分包单位社会统一信用码
|
||||
var ProjectId = items.ProjectId; //总包项目Id
|
||||
var UnitDomain = items.UnitDomain; //分包单位域名地址【文件存储地址】
|
||||
|
||||
var unit = Funs.DB.Base_Unit.FirstOrDefault(x => x.CollCropCode == CollCropCode); //根据CollCropCode获取单位id
|
||||
if (unit == null)
|
||||
{
|
||||
message = "总包单位不存在本单位,请登录总包系统检查维护本单位信息!";
|
||||
}
|
||||
else
|
||||
{
|
||||
//判断主包项目是否存在
|
||||
var porject = BLL.ProjectService.GetProjectByProjectId(ProjectId);
|
||||
if (porject == null)
|
||||
{
|
||||
message = "总包单位不存在本项目,请检查总包项目关联是否正确!";
|
||||
}
|
||||
else
|
||||
{
|
||||
ProcessCqmsMeetingData(items.Items, ProjectId, unit.UnitId, UnitDomain);
|
||||
message = "数据推送成功!";
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
message = "暂无质量会议数据!";
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw ex;
|
||||
}
|
||||
|
||||
return message;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region 处理质量会议数据的新增或更新逻辑
|
||||
|
||||
/// <summary>
|
||||
/// 处理质量会议数据的新增或更新逻辑
|
||||
/// </summary>
|
||||
/// <param name="getData">质量会议数据列表</param>
|
||||
/// <param name="projectId">项目id</param>
|
||||
/// <param name="unitId">单位ID</param>
|
||||
/// <param name="WebUrl">Web地址</param>
|
||||
private static void ProcessCqmsMeetingData(
|
||||
List<Model.CqmsMeetingSyncItem> getData,
|
||||
string projectId,
|
||||
string unitId,
|
||||
string WebUrl)
|
||||
{
|
||||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||
{
|
||||
foreach (var item in getData)
|
||||
{
|
||||
Model.CQMS_Meeting model = db.CQMS_Meeting.FirstOrDefault(x => x.MeetingId == item.MeetingId);
|
||||
|
||||
//HTML解码会议内容
|
||||
string meetingContents = !string.IsNullOrEmpty(item.MeetingContents)
|
||||
? HttpUtility.HtmlDecode(item.MeetingContents)
|
||||
: item.MeetingContents;
|
||||
|
||||
if (model == null)
|
||||
{
|
||||
//新增
|
||||
Model.CQMS_Meeting newModel = new Model.CQMS_Meeting
|
||||
{
|
||||
MeetingId = item.MeetingId,
|
||||
ProjectId = projectId,
|
||||
UnitId = getUnitIdByUnitName(item.UnitName) ?? unitId,
|
||||
MeetingCode = item.MeetingCode,
|
||||
MeetingName = item.MeetingName,
|
||||
MeetingDate = item.MeetingDate,
|
||||
MeetingHours = item.MeetingHours,
|
||||
MeetingPlace = item.MeetingPlace,
|
||||
MeetingHostMan = APIDataShareSyncService.getUserId(item.MeetingHostManName),
|
||||
MeetingHostManOther = item.MeetingHostManOther,
|
||||
AttentPersonNum = item.AttentPersonNum,
|
||||
AttentPerson = item.AttentPerson,
|
||||
AttentPersonIds = item.AttentPersonIds,
|
||||
MeetingContents = meetingContents,
|
||||
CompileMan = APIDataShareSyncService.getUserId(item.CompileManName),
|
||||
CompileDate = item.CompileDate,
|
||||
States = item.States
|
||||
};
|
||||
|
||||
db.CQMS_Meeting.InsertOnSubmit(newModel);
|
||||
db.SubmitChanges();
|
||||
|
||||
//保存会议编码
|
||||
if (!string.IsNullOrEmpty(item.MeetingCode))
|
||||
{
|
||||
Model.Sys_CodeRecords codeRecords = new Model.Sys_CodeRecords
|
||||
{
|
||||
CodeRecordId = SQLHelper.GetNewID(typeof(Model.Sys_CodeRecords)),
|
||||
DataId = item.MeetingId,
|
||||
Code = item.MeetingCode
|
||||
};
|
||||
db.Sys_CodeRecords.InsertOnSubmit(codeRecords);
|
||||
db.SubmitChanges();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//更新
|
||||
model.ProjectId = projectId;
|
||||
model.UnitId = getUnitIdByUnitName(item.UnitName) ?? unitId;
|
||||
model.MeetingCode = item.MeetingCode;
|
||||
model.MeetingName = item.MeetingName;
|
||||
model.MeetingDate = item.MeetingDate;
|
||||
model.MeetingHours = item.MeetingHours;
|
||||
model.MeetingPlace = item.MeetingPlace;
|
||||
model.MeetingHostMan = APIDataShareSyncService.getUserId(item.MeetingHostManName);
|
||||
model.MeetingHostManOther = item.MeetingHostManOther;
|
||||
model.AttentPersonNum = item.AttentPersonNum;
|
||||
model.AttentPerson = item.AttentPerson;
|
||||
model.AttentPersonIds = item.AttentPersonIds;
|
||||
model.MeetingContents = meetingContents;
|
||||
model.CompileMan = APIDataShareSyncService.getUserId(item.CompileManName);
|
||||
model.CompileDate = item.CompileDate;
|
||||
model.States = item.States;
|
||||
db.SubmitChanges();
|
||||
|
||||
//更新会议编码
|
||||
if (!string.IsNullOrEmpty(item.MeetingCode))
|
||||
{
|
||||
var codeRecords = db.Sys_CodeRecords.FirstOrDefault(x => x.DataId == item.MeetingId);
|
||||
if (codeRecords != null)
|
||||
{
|
||||
codeRecords.Code = item.MeetingCode;
|
||||
db.SubmitChanges();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region 辅助映射方法
|
||||
|
||||
/// <summary>
|
||||
/// 获取单位ID(根据名称)
|
||||
/// </summary>
|
||||
/// <param name="unitName">单位名称</param>
|
||||
/// <returns>单位ID</returns>
|
||||
private static string getUnitIdByUnitName(string unitName)
|
||||
{
|
||||
string unitId = null;
|
||||
if (!string.IsNullOrEmpty(unitName))
|
||||
{
|
||||
var unit = Funs.DB.Base_Unit.FirstOrDefault(x => x.UnitName == unitName);
|
||||
if (unit != null)
|
||||
{
|
||||
unitId = unit.UnitId;
|
||||
}
|
||||
}
|
||||
return unitId;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,447 @@
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net.Http;
|
||||
using System.Threading.Tasks;
|
||||
using Model;
|
||||
using Newtonsoft.Json;
|
||||
using RestSharp;
|
||||
using System.Net;
|
||||
|
||||
namespace BLL
|
||||
{
|
||||
/// <summary>
|
||||
/// 质量计量器具同步服务
|
||||
/// </summary>
|
||||
public class APIInspectionMachineSyncService
|
||||
{
|
||||
#region 根据项目、单位获取质量计量器具列表
|
||||
|
||||
/// <summary>
|
||||
/// 根据项目、单位获取质量计量器具列表
|
||||
/// </summary>
|
||||
/// <param name="projectId">项目ID</param>
|
||||
/// <param name="unitId">单位ID</param>
|
||||
/// <param name="dataId">数据ID(可选,用于单条数据同步)</param>
|
||||
/// <returns>质量计量器具数据列表</returns>
|
||||
public static List<Model.InspectionMachineSyncItem> GetInspectionMachineListsByProjectIdUnitIdPage(
|
||||
string projectId, string unitId, string dataId = "")
|
||||
{
|
||||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||
{
|
||||
var list = from x in db.Comprehensive_InspectionMachine
|
||||
where x.ProjectId == projectId
|
||||
select x;
|
||||
|
||||
if (!string.IsNullOrEmpty(unitId))
|
||||
{
|
||||
list = list.Where(x => x.UnitId == unitId);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(dataId))
|
||||
{
|
||||
list = list.Where(x => x.InspectionMachineId == dataId);
|
||||
}
|
||||
|
||||
var dataList = (from x in list
|
||||
join unit in db.Base_Unit on x.UnitId equals unit.UnitId into unitTemp
|
||||
from unit in unitTemp.DefaultIfEmpty()
|
||||
join pro in db.Base_CNProfessional on x.CNProfessionalId equals pro.CNProfessionalId into proTemp
|
||||
from pro in proTemp.DefaultIfEmpty()
|
||||
join u1 in db.Sys_User on x.CompileMan equals u1.UserId into u1Temp
|
||||
from u1 in u1Temp.DefaultIfEmpty()
|
||||
select new InspectionMachineSyncItem
|
||||
{
|
||||
InspectionMachineId = x.InspectionMachineId,
|
||||
InspectionMachineCode = x.InspectionMachineCode,
|
||||
InspectionMachineName = x.InspectionMachineName,
|
||||
SpecificationModel = x.SpecificationModel,
|
||||
UnitsCount = x.UnitsCount,
|
||||
//SType = x.SType,
|
||||
InspectionType = x.InspectionType,
|
||||
InspectionDate = x.InspectionDate,
|
||||
NextTestDate = x.NextTestDate,
|
||||
TestCycle = x.TestCycle,
|
||||
IsCheckOK = x.IsCheckOK,
|
||||
IsVerification = x.IsVerification,
|
||||
Status = x.Status,
|
||||
IsOnSite = x.IsOnSite,
|
||||
LeaveDate = x.LeaveDate,
|
||||
UnitId = x.UnitId,
|
||||
UnitName = unit.UnitName,
|
||||
CNProfessionalId = x.CNProfessionalId,
|
||||
CNProfessionalName = pro.ProfessionalName,
|
||||
CompileMan = x.CompileMan,
|
||||
CompileManName = u1.UserName,
|
||||
CompileDate = x.CompileDate,
|
||||
AttachUrl = x.AttachUrl,
|
||||
ProjectId = x.ProjectId,
|
||||
DataSource = "1"
|
||||
}).ToList();
|
||||
|
||||
return dataList;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region 拉取质量计量器具数据
|
||||
|
||||
/// <summary>
|
||||
/// 拉取质量计量器具数据
|
||||
/// </summary>
|
||||
/// <returns>处理结果消息</returns>
|
||||
public static string getInspectionMachineLists()
|
||||
{
|
||||
int code = 0;
|
||||
string message = "";
|
||||
try
|
||||
{
|
||||
string CollCropCode = string.Empty;
|
||||
string unitId = string.Empty;
|
||||
var thisUnit = CommonService.GetIsThisUnit(); //当前单位
|
||||
if (thisUnit != null)
|
||||
{
|
||||
CollCropCode = thisUnit.CollCropCode; //社会统一信用代码
|
||||
unitId = thisUnit.UnitId;
|
||||
}
|
||||
|
||||
var ProjectList = (from x in Funs.DB.Base_Project
|
||||
where (x.IsDelete == null || x.IsDelete == false) &&
|
||||
x.SubjectUnit != null && x.SubjectProject != null
|
||||
select x).ToList();
|
||||
|
||||
if (ProjectList.Count > 0)
|
||||
{
|
||||
foreach (var project in ProjectList)
|
||||
{
|
||||
string SubjectUnitId = project.SubjectUnit; //集团的单位id
|
||||
string SubjectProjectId = project.SubjectProject; //集团的项目id
|
||||
|
||||
//获取对应单位的apiurl地址
|
||||
var Url = BLL.UnitService.getUnitApiUrlByUnitId(SubjectUnitId);
|
||||
var ApiUrl = "";
|
||||
var WebUrl = "";
|
||||
if (!string.IsNullOrEmpty(Url))
|
||||
{
|
||||
var urls = Url.Split(',');
|
||||
ApiUrl = urls[0];
|
||||
if (urls.Length > 1)
|
||||
{
|
||||
WebUrl = urls[1];
|
||||
}
|
||||
}
|
||||
|
||||
string url = "/api/InspectionMachineSync/getInspectionMachineListByProjectIdAndCollCropCode?projectId=" +
|
||||
SubjectProjectId + "&collCropCode=" + CollCropCode;
|
||||
string baseurl = ApiUrl + url;
|
||||
string contenttype = "application/json;charset=unicode";
|
||||
var strJosn = APIGetHttpService.Http(baseurl, "GET", contenttype, null, null);
|
||||
|
||||
if (!string.IsNullOrEmpty(strJosn))
|
||||
{
|
||||
JObject obj = JObject.Parse(strJosn);
|
||||
code = Funs.GetNewIntOrZero(obj["code"].ToString());
|
||||
message = obj["message"].ToString();
|
||||
|
||||
if (code == 1)
|
||||
{
|
||||
var getData = JsonConvert.DeserializeObject<List<InspectionMachineSyncItem>>(obj["data"].ToString());
|
||||
if (getData.Count() > 0)
|
||||
{
|
||||
ProcessInspectionMachineData(getData, project.ProjectId, unitId, WebUrl);
|
||||
}
|
||||
message = "获取成功:同步质量计量器具数" + getData.Count().ToString() + "条";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
message = "获取失败:" + ex.Message;
|
||||
ErrLogInfo.WriteLog("质量计量器具获取!", ex);
|
||||
}
|
||||
|
||||
return message;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region 推送质量计量器具数据
|
||||
|
||||
/// <summary>
|
||||
/// 推送质量计量器具数据
|
||||
/// </summary>
|
||||
/// <param name="projectId">项目ID</param>
|
||||
/// <param name="dataId">数据ID(可选,用于单条数据推送)</param>
|
||||
/// <returns>推送结果</returns>
|
||||
public static ReturnData pushInspectionMachineLists(string projectId, string dataId = "")
|
||||
{
|
||||
Model.ReturnData responeData = new Model.ReturnData();
|
||||
responeData.code = 0;
|
||||
responeData.message = string.Empty;
|
||||
var project = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectId == projectId);
|
||||
|
||||
try
|
||||
{
|
||||
if (project != null)
|
||||
{
|
||||
//获取质量计量器具数据
|
||||
var items = GetInspectionMachineListsByProjectIdUnitIdPage(projectId, "", dataId);
|
||||
|
||||
if (items.Count() > 0)
|
||||
{
|
||||
var thisUnit = CommonService.GetIsThisUnit(); //当前单位
|
||||
var apiurl = "/api/InspectionMachineSync/SaveInspectionMachineSyncData";
|
||||
|
||||
//总包单位接口地址
|
||||
var Url = BLL.UnitService.getUnitApiUrlByUnitId(project.SubjectUnit);
|
||||
var ApiUrl = "";
|
||||
var WebUrl = "";
|
||||
|
||||
if (!string.IsNullOrEmpty(Url))
|
||||
{
|
||||
var urls = Url.Split(',');
|
||||
ApiUrl = urls[0];
|
||||
if (urls.Length > 1)
|
||||
{
|
||||
WebUrl = urls[1];
|
||||
}
|
||||
}
|
||||
|
||||
var pushData = new InspectionMachineSyncData
|
||||
{
|
||||
CollCropCode = thisUnit.CollCropCode, //分包单位社会统一信用码
|
||||
ProjectId = project.SubjectProject, //主包项目Id
|
||||
UnitDomain = Funs.SGGLUrl, //分包单位域名地址【文件存储地址】
|
||||
Items = items //质量计量器具数据
|
||||
};
|
||||
|
||||
var pushContent = JsonConvert.SerializeObject(pushData);
|
||||
string baseurl = ApiUrl + apiurl;
|
||||
string contenttype = "application/json;charset=unicode";
|
||||
var returndata = APIGetHttpService.Http(baseurl, "Post", contenttype, null, pushContent);
|
||||
|
||||
if (!string.IsNullOrEmpty(returndata))
|
||||
{
|
||||
JObject obj = JObject.Parse(returndata);
|
||||
string code = obj["code"].ToString();
|
||||
string message = obj["message"].ToString();
|
||||
responeData.code = int.Parse(code);
|
||||
responeData.message = message;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
responeData.code = 0;
|
||||
responeData.message = "当前没有质量计量器具数据";
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
responeData.message = "同步到总包单位失败!";
|
||||
ErrLogInfo.WriteLog("【质量计量器具】同步到总包单位失败!", ex);
|
||||
}
|
||||
|
||||
return responeData;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region 接收保存质量计量器具数据
|
||||
|
||||
/// <summary>
|
||||
/// 接收保存质量计量器具数据
|
||||
/// </summary>
|
||||
/// <param name="items">质量计量器具同步数据</param>
|
||||
/// <returns>处理结果消息</returns>
|
||||
public static string SaveInspectionMachineSyncData(Model.InspectionMachineSyncData items)
|
||||
{
|
||||
int code = 0;
|
||||
string message = "";
|
||||
try
|
||||
{
|
||||
if (items.Items.Count > 0 || items.Items.Count > 0)
|
||||
{
|
||||
var CollCropCode = items.CollCropCode; //分包单位社会统一信用码
|
||||
var ProjectId = items.ProjectId; //总包项目Id
|
||||
var UnitDomain = items.UnitDomain; //分包单位域名地址【文件存储地址】
|
||||
|
||||
var unit = Funs.DB.Base_Unit.FirstOrDefault(x => x.CollCropCode == CollCropCode); //根据CollCropCode获取单位id
|
||||
if (unit == null)
|
||||
{
|
||||
message = "总包单位不存在本单位,请登录总包系统检查维护本单位信息!";
|
||||
}
|
||||
else
|
||||
{
|
||||
//判断主包项目是否存在
|
||||
var porject = BLL.ProjectService.GetProjectByProjectId(ProjectId);
|
||||
if (porject == null)
|
||||
{
|
||||
message = "总包单位不存在本项目,请检查总包项目关联是否正确!";
|
||||
}
|
||||
else
|
||||
{
|
||||
ProcessInspectionMachineData(items.Items, ProjectId, unit.UnitId, UnitDomain);
|
||||
message = "数据推送成功!";
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
message = "暂无质量计量器具数据!";
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw ex;
|
||||
}
|
||||
|
||||
return message;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region 处理质量计量器具数据的新增或更新逻辑
|
||||
|
||||
/// <summary>
|
||||
/// 处理质量计量器具数据的新增或更新逻辑
|
||||
/// </summary>
|
||||
/// <param name="getData">质量计量器具数据列表</param>
|
||||
/// <param name="projectId">项目id</param>
|
||||
/// <param name="unitId">单位ID</param>
|
||||
/// <param name="WebUrl">Web地址</param>
|
||||
private static void ProcessInspectionMachineData(
|
||||
List<Model.InspectionMachineSyncItem> getData,
|
||||
string projectId,
|
||||
string unitId,
|
||||
string WebUrl)
|
||||
{
|
||||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||
{
|
||||
foreach (var item in getData)
|
||||
{
|
||||
Model.Comprehensive_InspectionMachine model = db.Comprehensive_InspectionMachine.FirstOrDefault(x => x.InspectionMachineId == item.InspectionMachineId);
|
||||
|
||||
if (model == null)
|
||||
{
|
||||
//新增
|
||||
Model.Comprehensive_InspectionMachine newModel = new Model.Comprehensive_InspectionMachine
|
||||
{
|
||||
InspectionMachineId = item.InspectionMachineId,
|
||||
ProjectId = projectId,
|
||||
UnitId = getUnitIdByUnitName(item.UnitName) ?? unitId,
|
||||
InspectionMachineCode = item.InspectionMachineCode,
|
||||
InspectionMachineName = item.InspectionMachineName,
|
||||
SpecificationModel = item.SpecificationModel,
|
||||
UnitsCount = item.UnitsCount,
|
||||
//SType = item.SType,
|
||||
InspectionType = item.InspectionType,
|
||||
InspectionDate = item.InspectionDate,
|
||||
NextTestDate = item.NextTestDate,
|
||||
TestCycle = item.TestCycle,
|
||||
IsCheckOK = item.IsCheckOK,
|
||||
IsVerification = item.IsVerification,
|
||||
Status = item.Status,
|
||||
IsOnSite = item.IsOnSite,
|
||||
LeaveDate = item.LeaveDate,
|
||||
CNProfessionalId = getCNProfessionalId(item.CNProfessionalName),
|
||||
CompileMan = APIDataShareSyncService.getUserId(item.CompileManName),
|
||||
CompileDate = item.CompileDate,
|
||||
AttachUrl = item.AttachUrl
|
||||
};
|
||||
|
||||
db.Comprehensive_InspectionMachine.InsertOnSubmit(newModel);
|
||||
db.SubmitChanges();
|
||||
}
|
||||
else
|
||||
{
|
||||
//更新
|
||||
model.ProjectId = projectId;
|
||||
model.UnitId = getUnitIdByUnitName(item.UnitName) ?? unitId;
|
||||
model.InspectionMachineCode = item.InspectionMachineCode;
|
||||
model.InspectionMachineName = item.InspectionMachineName;
|
||||
model.SpecificationModel = item.SpecificationModel;
|
||||
model.UnitsCount = item.UnitsCount;
|
||||
//model.SType = item.SType;
|
||||
model.InspectionType = item.InspectionType;
|
||||
model.InspectionDate = item.InspectionDate;
|
||||
model.NextTestDate = item.NextTestDate;
|
||||
model.TestCycle = item.TestCycle;
|
||||
model.IsCheckOK = item.IsCheckOK;
|
||||
model.IsVerification = item.IsVerification;
|
||||
model.Status = item.Status;
|
||||
model.IsOnSite = item.IsOnSite;
|
||||
model.LeaveDate = item.LeaveDate;
|
||||
model.CNProfessionalId = getCNProfessionalId(item.CNProfessionalName);
|
||||
model.CompileMan = APIDataShareSyncService.getUserId(item.CompileManName);
|
||||
model.CompileDate = item.CompileDate;
|
||||
model.AttachUrl = item.AttachUrl;
|
||||
db.SubmitChanges();
|
||||
}
|
||||
|
||||
//处理附件
|
||||
if (!string.IsNullOrEmpty(item.AttachUrl))
|
||||
{
|
||||
APIDataShareSyncService.OperationAttachFile(WebUrl, item.InspectionMachineId,
|
||||
BLL.Const.InspectionMachineMenuId, item.AttachUrl);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region 辅助映射方法
|
||||
|
||||
/// <summary>
|
||||
/// 获取专业ID(根据名称)
|
||||
/// </summary>
|
||||
/// <param name="professionalName">专业名称</param>
|
||||
/// <returns>专业ID</returns>
|
||||
private static string getCNProfessionalId(string professionalName)
|
||||
{
|
||||
string professionalId = null;
|
||||
if (!string.IsNullOrEmpty(professionalName))
|
||||
{
|
||||
var pro = Funs.DB.Base_CNProfessional.FirstOrDefault(x => x.ProfessionalName == professionalName);
|
||||
if (pro != null)
|
||||
{
|
||||
professionalId = pro.CNProfessionalId;
|
||||
}
|
||||
}
|
||||
return professionalId;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取单位ID(根据名称)
|
||||
/// </summary>
|
||||
/// <param name="unitName">单位名称</param>
|
||||
/// <returns>单位ID</returns>
|
||||
private static string getUnitIdByUnitName(string unitName)
|
||||
{
|
||||
string unitId = null;
|
||||
if (!string.IsNullOrEmpty(unitName))
|
||||
{
|
||||
var unit = Funs.DB.Base_Unit.FirstOrDefault(x => x.UnitName == unitName);
|
||||
if (unit != null)
|
||||
{
|
||||
unitId = unit.UnitId;
|
||||
}
|
||||
}
|
||||
return unitId;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -13,447 +13,456 @@ using RestSharp;
|
||||
using System.Net;
|
||||
|
||||
|
||||
namespace BLL;
|
||||
|
||||
public class APIHazardRegisterSyncService
|
||||
namespace BLL
|
||||
{
|
||||
#region 根据项目、单位获取安全检查列表分页
|
||||
|
||||
public static List<Model.HazardRegisterSyncItem> GetHazardRegisterLitsByprojectIdUnitIdPage(string projectId,
|
||||
string unitId, string dataId = "")
|
||||
public class APIHazardRegisterSyncService
|
||||
{
|
||||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||
#region 根据项目、单位获取安全检查列表分页
|
||||
|
||||
public static List<Model.HazardRegisterSyncItem> GetHazardRegisterLitsByprojectIdUnitIdPage(string projectId,
|
||||
string unitId, string dataId = "")
|
||||
{
|
||||
var list = from x in db.HSSE_Hazard_HazardRegister where x.ProjectId == projectId select x;
|
||||
if (!string.IsNullOrEmpty(unitId))
|
||||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||
{
|
||||
list = list.Where(x => x.ResponsibleUnit == unitId);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(dataId))
|
||||
{
|
||||
list = list.Where(x => x.HazardRegisterId == dataId);
|
||||
}
|
||||
|
||||
var dataList = (from x in list
|
||||
join ht in db.HSSE_Hazard_HazardRegisterTypes on x.RegisterTypesId equals ht.RegisterTypesId into htTemp
|
||||
from ht in htTemp.DefaultIfEmpty()
|
||||
join uw in db.WBS_UnitWork on x.Place equals uw.UnitWorkId into uwTemp
|
||||
from uw in uwTemp.DefaultIfEmpty()
|
||||
join u1 in db.Sys_User on x.ResponsibleMan equals u1.UserId into u1Temp
|
||||
from u1 in u1Temp.DefaultIfEmpty()
|
||||
join u2 in db.Sys_User on x.CheckManId equals u2.UserId into u2Temp
|
||||
from u2 in u2Temp.DefaultIfEmpty()
|
||||
join u3 in db.Sys_User on x.ConfirmMan equals u3.UserId into u3Temp
|
||||
from u3 in u3Temp.DefaultIfEmpty()
|
||||
join u4 in db.Sys_User on x.ResponsibleMan2 equals u4.UserId into u4Temp
|
||||
from u4 in u4Temp.DefaultIfEmpty()
|
||||
select new HazardRegisterSyncItem
|
||||
var list = from x in db.HSSE_Hazard_HazardRegister where x.ProjectId == projectId select x;
|
||||
if (!string.IsNullOrEmpty(unitId))
|
||||
{
|
||||
HazardRegisterId = x.HazardRegisterId,
|
||||
HazardCode = x.HazardCode,
|
||||
RegisterDate = x.RegisterDate,
|
||||
RegisterDef = x.RegisterDef,
|
||||
Rectification = x.Rectification,
|
||||
Place = x.Place,
|
||||
PlaceName = uw.UnitWorkName,
|
||||
ResponsibleUnit = x.ResponsibleUnit,
|
||||
Observer = x.Observer,
|
||||
RectifiedDate = x.RectifiedDate,
|
||||
AttachUrl = x.AttachUrl,
|
||||
ProjectId = x.ProjectId,
|
||||
States = x.States,
|
||||
IsEffective = x.IsEffective,
|
||||
ResponsibleMan = x.ResponsibleMan,
|
||||
ResponsibleManName = u1.UserName,
|
||||
CheckManId = x.CheckManId,
|
||||
CheckManName = u2.UserName,
|
||||
CheckTime = x.CheckTime,
|
||||
RectificationPeriod = x.RectificationPeriod,
|
||||
ImageUrl = x.ImageUrl,
|
||||
RectificationImageUrl = x.RectificationImageUrl,
|
||||
RectificationTime = x.RectificationTime,
|
||||
ConfirmMan = x.ConfirmMan,
|
||||
ConfirmManName = u3.UserName,
|
||||
ConfirmDate = x.ConfirmDate,
|
||||
HandleIdea = x.HandleIdea,
|
||||
CutPayment = x.CutPayment,
|
||||
ProblemTypes = x.ProblemTypes,
|
||||
RegisterTypesId = x.RegisterTypesId,
|
||||
RegisterTypesName = ht.RegisterTypesName,
|
||||
CheckCycle = x.CheckCycle,
|
||||
CheckItemDetailId = x.CheckItemDetailId,
|
||||
SupCheckItemSetId = x.SupCheckItemSetId,
|
||||
CheckItemSetId = x.CheckItemSetId,
|
||||
CheckSpecialId = x.CheckSpecialId,
|
||||
InstallationId = x.InstallationId,
|
||||
SafeSupervisionId = x.SafeSupervisionId,
|
||||
ResponsibleMan2 = x.ResponsibleMan2,
|
||||
ResponsibleMan2Name = u4.UserName,
|
||||
SafeSupervisionIsOK = x.SafeSupervisionIsOK,
|
||||
GpsLocation = x.GpsLocation,
|
||||
IsWx = x.IsWx,
|
||||
DIC_ID = x.DIC_ID,
|
||||
CCManIds = x.CCManIds,
|
||||
ResultType = x.ResultType,
|
||||
ResultId = x.ResultId,
|
||||
Requirements = x.Requirements,
|
||||
Risk_Level = x.Risk_Level,
|
||||
//ControlId = x.ControlId,
|
||||
DataSource = "1",
|
||||
}).ToList();
|
||||
list = list.Where(x => x.ResponsibleUnit == unitId);
|
||||
}
|
||||
|
||||
return dataList;
|
||||
if (!string.IsNullOrEmpty(dataId))
|
||||
{
|
||||
list = list.Where(x => x.HazardRegisterId == dataId);
|
||||
}
|
||||
|
||||
var dataList = (from x in list
|
||||
join ht in db.HSSE_Hazard_HazardRegisterTypes on x.RegisterTypesId equals ht.RegisterTypesId into htTemp
|
||||
from ht in htTemp.DefaultIfEmpty()
|
||||
join uw in db.WBS_UnitWork on x.Place equals uw.UnitWorkId into uwTemp
|
||||
from uw in uwTemp.DefaultIfEmpty()
|
||||
join u1 in db.Sys_User on x.ResponsibleMan equals u1.UserId into u1Temp
|
||||
from u1 in u1Temp.DefaultIfEmpty()
|
||||
join u2 in db.Sys_User on x.CheckManId equals u2.UserId into u2Temp
|
||||
from u2 in u2Temp.DefaultIfEmpty()
|
||||
join u3 in db.Sys_User on x.ConfirmMan equals u3.UserId into u3Temp
|
||||
from u3 in u3Temp.DefaultIfEmpty()
|
||||
join u4 in db.Sys_User on x.ResponsibleMan2 equals u4.UserId into u4Temp
|
||||
from u4 in u4Temp.DefaultIfEmpty()
|
||||
join att1 in db.AttachFile on x.HazardRegisterId equals att1.ToKeyId into att1Temp
|
||||
from att1 in att1Temp.DefaultIfEmpty()
|
||||
join att2 in db.AttachFile on (x.HazardRegisterId + "-R") equals att2.ToKeyId into att2Temp
|
||||
from att2 in att2Temp.DefaultIfEmpty()
|
||||
select new HazardRegisterSyncItem
|
||||
{
|
||||
HazardRegisterId = x.HazardRegisterId,
|
||||
HazardCode = x.HazardCode,
|
||||
RegisterDate = x.RegisterDate,
|
||||
RegisterDef = x.RegisterDef,
|
||||
Rectification = x.Rectification,
|
||||
Place = x.Place,
|
||||
PlaceName = uw.UnitWorkName,
|
||||
ResponsibleUnit = x.ResponsibleUnit,
|
||||
Observer = x.Observer,
|
||||
RectifiedDate = x.RectifiedDate,
|
||||
AttachUrl = x.AttachUrl,
|
||||
ProjectId = x.ProjectId,
|
||||
States = x.States,
|
||||
IsEffective = x.IsEffective,
|
||||
ResponsibleMan = x.ResponsibleMan,
|
||||
ResponsibleManName = u1.UserName,
|
||||
CheckManId = x.CheckManId,
|
||||
CheckManName = u2.UserName,
|
||||
CheckTime = x.CheckTime,
|
||||
RectificationPeriod = x.RectificationPeriod,
|
||||
ImageUrl = x.ImageUrl,
|
||||
RectificationImageUrl = x.RectificationImageUrl,
|
||||
RectificationTime = x.RectificationTime,
|
||||
ConfirmMan = x.ConfirmMan,
|
||||
ConfirmManName = u3.UserName,
|
||||
ConfirmDate = x.ConfirmDate,
|
||||
HandleIdea = x.HandleIdea,
|
||||
CutPayment = x.CutPayment,
|
||||
ProblemTypes = x.ProblemTypes,
|
||||
RegisterTypesId = x.RegisterTypesId,
|
||||
RegisterTypesName = ht.RegisterTypesName,
|
||||
CheckCycle = x.CheckCycle,
|
||||
CheckItemDetailId = x.CheckItemDetailId,
|
||||
SupCheckItemSetId = x.SupCheckItemSetId,
|
||||
CheckItemSetId = x.CheckItemSetId,
|
||||
CheckSpecialId = x.CheckSpecialId,
|
||||
InstallationId = x.InstallationId,
|
||||
SafeSupervisionId = x.SafeSupervisionId,
|
||||
ResponsibleMan2 = x.ResponsibleMan2,
|
||||
ResponsibleMan2Name = u4.UserName,
|
||||
SafeSupervisionIsOK = x.SafeSupervisionIsOK,
|
||||
GpsLocation = x.GpsLocation,
|
||||
IsWx = x.IsWx,
|
||||
DIC_ID = x.DIC_ID,
|
||||
CCManIds = x.CCManIds,
|
||||
ResultType = x.ResultType,
|
||||
ResultId = x.ResultId,
|
||||
Requirements = x.Requirements,
|
||||
Risk_Level = x.Risk_Level,
|
||||
//ControlId = x.ControlId,
|
||||
AttachFileId1 = att1.AttachFileId,
|
||||
ToKeyId1 = att1.ToKeyId,
|
||||
AttachSource1 = att1.AttachSource,
|
||||
AttachUrl1 = att1.AttachUrl,
|
||||
AttachFileId2 = att2.AttachFileId,
|
||||
ToKeyId2 = att2.ToKeyId,
|
||||
AttachSource2 = att2.AttachSource,
|
||||
AttachUrl2 = att2.AttachUrl,
|
||||
DataSource = "1",
|
||||
}).ToList();
|
||||
|
||||
return dataList;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
|
||||
#region 拉取项目安全检查数据
|
||||
#region 拉取项目安全检查数据
|
||||
|
||||
public static string getHazardRegisterLists()
|
||||
{
|
||||
int code = 0;
|
||||
string message = "";
|
||||
try
|
||||
public static string getHazardRegisterLists(string projectId = "")
|
||||
{
|
||||
string CollCropCode = string.Empty;
|
||||
string unitId = string.Empty;
|
||||
var thisUnit = CommonService.GetIsThisUnit(); //当前单位
|
||||
if (thisUnit != null)
|
||||
int code = 0;
|
||||
string message = "";
|
||||
try
|
||||
{
|
||||
CollCropCode = thisUnit.CollCropCode; //社会统一信用代码
|
||||
unitId = thisUnit.UnitId;
|
||||
}
|
||||
|
||||
var ProjectList = (from x in Funs.DB.Base_Project
|
||||
where (x.IsDelete == null || x.IsDelete == false) && x.SubjectUnit != null &&
|
||||
x.SubjectProject != null
|
||||
select x).ToList();
|
||||
if (ProjectList.Count > 0)
|
||||
{
|
||||
foreach (var project in ProjectList)
|
||||
string CollCropCode = string.Empty;
|
||||
string unitId = string.Empty;
|
||||
var thisUnit = CommonService.GetIsThisUnit(); //当前单位
|
||||
if (thisUnit != null)
|
||||
{
|
||||
string SubjectUnitId = project.SubjectUnit; //集团的单位id
|
||||
string SubjectProjectId = project.SubjectProject; //集团的项目id
|
||||
//获取对应单位的apiurl地址
|
||||
var Url = BLL.UnitService.getUnitApiUrlByUnitId(SubjectUnitId);
|
||||
var ApiUrl = "";
|
||||
var WebUrl = "";
|
||||
if (!string.IsNullOrEmpty(Url))
|
||||
{
|
||||
var urls = Url.Split(',');
|
||||
ApiUrl = urls[0];
|
||||
if (urls.Length > 1)
|
||||
{
|
||||
WebUrl = urls[1];
|
||||
}
|
||||
}
|
||||
CollCropCode = thisUnit.CollCropCode; //社会统一信用代码
|
||||
unitId = thisUnit.UnitId;
|
||||
}
|
||||
|
||||
// CollCropCode = "913404001520228377Y"; //三化建 测试使用
|
||||
// SubjectProjectId = "B409A8D7-48C7-486E-84C7-E3E7B2C0E5B7";//测试使用
|
||||
var ProjectList = (from x in Funs.DB.Base_Project
|
||||
where (x.IsDelete == null || x.IsDelete == false) && x.SubjectUnit != null &&
|
||||
x.SubjectProject != null
|
||||
select x).ToList();
|
||||
|
||||
string url =
|
||||
"/api/HazardRegisterSync/getHazardRegisterListByProjectIdAndCollCropCode?projectId=" +
|
||||
SubjectProjectId + "&collCropCode=" + CollCropCode;
|
||||
string baseurl = ApiUrl + url;
|
||||
string contenttype = "application/json;charset=unicode";
|
||||
var strJosn = APIGetHttpService.Http(baseurl, "GET", contenttype, null, null);
|
||||
if (!string.IsNullOrEmpty(strJosn))
|
||||
if (!string.IsNullOrEmpty(projectId))
|
||||
{
|
||||
ProjectList = ProjectList.Where(x => x.ProjectId == projectId).ToList();
|
||||
}
|
||||
|
||||
if (ProjectList.Count > 0)
|
||||
{
|
||||
foreach (var project in ProjectList)
|
||||
{
|
||||
JObject obj = JObject.Parse(strJosn);
|
||||
code = Funs.GetNewIntOrZero(obj["code"].ToString());
|
||||
message = obj["message"].ToString();
|
||||
if (code == 1)
|
||||
string SubjectUnitId = project.SubjectUnit; //集团的单位id
|
||||
string SubjectProjectId = project.SubjectProject; //集团的项目id
|
||||
string ApiUrl = project.SubjectUnitApiUrl;
|
||||
string WebUrl = project.SubjectUnitWebUrl;
|
||||
|
||||
|
||||
// CollCropCode = "91420000177570439L"; //三化建 测试使用
|
||||
// SubjectProjectId = "c7ade79e-7646-4c59-a8fd-020a7e3138c6";//测试使用
|
||||
|
||||
string url =
|
||||
"/api/HazardRegisterSync/getHazardRegisterListByProjectIdAndCollCropCode?projectId=" +
|
||||
SubjectProjectId + "&collCropCode=" + CollCropCode;
|
||||
string baseurl = ApiUrl + url;
|
||||
string contenttype = "application/json;charset=unicode";
|
||||
var strJosn = APIGetHttpService.Http(baseurl, "GET", contenttype, null, null);
|
||||
if (!string.IsNullOrEmpty(strJosn))
|
||||
{
|
||||
var getData =
|
||||
JsonConvert.DeserializeObject<List<HazardRegisterSyncItem>>(obj["data"].ToString());
|
||||
if (getData.Count() > 0)
|
||||
JObject obj = JObject.Parse(strJosn);
|
||||
code = Funs.GetNewIntOrZero(obj["code"].ToString());
|
||||
message = obj["message"].ToString();
|
||||
if (code == 1)
|
||||
{
|
||||
ProcessHazardRegisterData(getData, project.ProjectId, unitId, WebUrl,"pull");
|
||||
var getData =
|
||||
JsonConvert.DeserializeObject<List<HazardRegisterSyncItem>>(obj["data"].ToString());
|
||||
if (getData.Count() > 0)
|
||||
{
|
||||
ProcessHazardRegisterData(getData, project.ProjectId, unitId, WebUrl, "pull");
|
||||
}
|
||||
message = "获取成功:同步安全检查数" + getData.Count().ToString() + "条";
|
||||
}
|
||||
message = "获取成功:同步安全检查数" + getData.Count().ToString() + "条";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
message = "获取失败:" + ex.Message;
|
||||
ErrLogInfo.WriteLog("安全检查获取!", ex);
|
||||
}
|
||||
|
||||
return message;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region 推送安全检查数据
|
||||
|
||||
public static ReturnData pushHazardRegisterLists(string projectId, string dataId = "")
|
||||
{
|
||||
Model.ReturnData responeData = new Model.ReturnData();
|
||||
responeData.code = 0;
|
||||
responeData.message = string.Empty;
|
||||
var project = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectId == projectId);
|
||||
try
|
||||
{
|
||||
if (project != null)
|
||||
catch (Exception ex)
|
||||
{
|
||||
//获取安全检查数据
|
||||
var items = GetHazardRegisterLitsByprojectIdUnitIdPage(projectId, "", dataId);
|
||||
//总包地址推送
|
||||
if (items.Count() > 0)
|
||||
message = "获取失败:" + ex.Message;
|
||||
ErrLogInfo.WriteLog("安全检查获取!", ex);
|
||||
}
|
||||
|
||||
return message;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region 推送安全检查数据
|
||||
|
||||
public static ReturnData pushHazardRegisterLists(string projectId, string dataId = "")
|
||||
{
|
||||
Model.ReturnData responeData = new Model.ReturnData();
|
||||
responeData.code = 0;
|
||||
responeData.message = string.Empty;
|
||||
var project = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectId == projectId);
|
||||
try
|
||||
{
|
||||
if (project != null)
|
||||
{
|
||||
var thisUnit = CommonService.GetIsThisUnit(); //当前单位
|
||||
var apiurl = "/api/HazardRegisterSync/SaveHazardRegisterSyncData";
|
||||
//总包单位接口地址
|
||||
var Url = BLL.UnitService.getUnitApiUrlByUnitId(project.SubjectUnit);
|
||||
var ApiUrl = "";
|
||||
var WebUrl = "";
|
||||
if (!string.IsNullOrEmpty(Url))
|
||||
//获取安全检查数据
|
||||
var items = GetHazardRegisterLitsByprojectIdUnitIdPage(projectId, "", dataId);
|
||||
//总包地址推送
|
||||
if (items.Count() > 0)
|
||||
{
|
||||
var urls = Url.Split(',');
|
||||
ApiUrl = urls[0];
|
||||
if (urls.Length > 1)
|
||||
var thisUnit = CommonService.GetIsThisUnit(); //当前单位
|
||||
var apiurl = "/api/HazardRegisterSync/SaveHazardRegisterSyncData";
|
||||
string ApiUrl = project.SubjectUnitApiUrl;
|
||||
string WebUrl = project.SubjectUnitWebUrl;
|
||||
// thisUnit.CollCropCode = "913404001520228377Y";//测试使用
|
||||
// project.SubjectProject = "B409A8D7-48C7-486E-84C7-E3E7B2C0E5B7";//测试使用
|
||||
|
||||
var pushData = new HazardRegisterSyncData
|
||||
{
|
||||
WebUrl = urls[1];
|
||||
CollCropCode = thisUnit.CollCropCode, //分包单位社会统一信用码
|
||||
// CollCropCode = "91420000177570439L", //分包单位社会统一信用码
|
||||
// ProjectId = "c7ade79e-7646-4c59-a8fd-020a7e3138c6", //主包项目Id
|
||||
ProjectId = project.SubjectProject, //主包项目Id
|
||||
UnitDomain = Funs.SGGLUrl, //分包单位域名地址【文件存储地址】
|
||||
Items = items //安全检查数据
|
||||
};
|
||||
var pushContent = JsonConvert.SerializeObject(pushData);
|
||||
string baseurl = ApiUrl + apiurl;
|
||||
string contenttype = "application/json;charset=unicode";
|
||||
var returndata = APIGetHttpService.Http(baseurl, "Post", contenttype, null, pushContent);
|
||||
if (!string.IsNullOrEmpty(returndata))
|
||||
{
|
||||
JObject obj = JObject.Parse(returndata);
|
||||
string code = obj["code"].ToString();
|
||||
string message = obj["message"].ToString();
|
||||
responeData.code = int.Parse(code);
|
||||
responeData.message = message;
|
||||
}
|
||||
}
|
||||
// thisUnit.CollCropCode = "913404001520228377Y";//测试使用
|
||||
// project.SubjectProject = "B409A8D7-48C7-486E-84C7-E3E7B2C0E5B7";//测试使用
|
||||
|
||||
var pushData = new HazardRegisterSyncData
|
||||
{
|
||||
CollCropCode = thisUnit.CollCropCode, //分包单位社会统一信用码
|
||||
ProjectId = project.SubjectProject, //主包项目Id
|
||||
UnitDomain = Funs.SGGLUrl, //分包单位域名地址【文件存储地址】
|
||||
Items = items //安全检查数据
|
||||
};
|
||||
var pushContent = JsonConvert.SerializeObject(pushData);
|
||||
string baseurl = ApiUrl + apiurl;
|
||||
string contenttype = "application/json;charset=unicode";
|
||||
var returndata = APIGetHttpService.Http(baseurl, "Post", contenttype, null, pushContent);
|
||||
if (!string.IsNullOrEmpty(returndata))
|
||||
{
|
||||
JObject obj = JObject.Parse(returndata);
|
||||
string code = obj["code"].ToString();
|
||||
string message = obj["message"].ToString();
|
||||
responeData.code = int.Parse(code);
|
||||
responeData.message = message;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
responeData.code = 0;
|
||||
responeData.message = "当前没有项目安全检查数据";
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
responeData.message = "同步到总包单位失败!";
|
||||
ErrLogInfo.WriteLog("【安全检查】同步到总包单位失败!", ex);
|
||||
}
|
||||
|
||||
return responeData;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region 接收保存项目安全检查数据
|
||||
|
||||
public static string SaveHazardRegisterSyncData(Model.HazardRegisterSyncData items)
|
||||
{
|
||||
int code = 0;
|
||||
string message = "";
|
||||
try
|
||||
{
|
||||
if (items.Items.Count > 0 || items.Items.Count > 0)
|
||||
{
|
||||
var CollCropCode = items.CollCropCode; //分包单位社会统一信用码
|
||||
var ProjectId = items.ProjectId; //总包项目Id
|
||||
var UnitDomain = items.UnitDomain; //分包单位域名地址【文件存储地址】
|
||||
var unit = Funs.DB.Base_Unit.FirstOrDefault(x => x.CollCropCode == CollCropCode); //根据CollCropCode获取单位id
|
||||
if (unit == null)
|
||||
{
|
||||
message = "总包单位不存在本单位,请登录总包系统检查维护本单位信息!";
|
||||
}
|
||||
else
|
||||
{
|
||||
//2、判断主包项目是否存在
|
||||
var porject = BLL.ProjectService.GetProjectByProjectId(ProjectId);
|
||||
if (porject == null)
|
||||
{
|
||||
message = "总包单位不存在本项目,请检查总包项目关联是否正确!";
|
||||
}
|
||||
else
|
||||
{
|
||||
ProcessHazardRegisterData(items.Items, ProjectId, unit.UnitId, UnitDomain,"push");
|
||||
message = "数据推送成功!";
|
||||
responeData.code = 0;
|
||||
responeData.message = "当前没有项目安全检查数据";
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
catch (Exception ex)
|
||||
{
|
||||
message = "暂无项目安全检查数据!";
|
||||
responeData.message = "同步到总包单位失败!";
|
||||
ErrLogInfo.WriteLog("【安全检查】同步到总包单位失败!", ex);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw ex;
|
||||
|
||||
return responeData;
|
||||
}
|
||||
|
||||
return message;
|
||||
}
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
|
||||
#region 处理单个安全检查数据的新增或更新逻辑
|
||||
#region 接收保存项目安全检查数据
|
||||
|
||||
/// <summary>
|
||||
/// 处理单个安全检查数据的新增或更新逻辑
|
||||
/// </summary>
|
||||
/// <param name="item">安全检查数据项</param>
|
||||
/// <param name="projectId">项目id</param>
|
||||
/// <param name="unitId">单位ID</param>
|
||||
/// <param name="WebUrl">Web地址</param>
|
||||
private static void ProcessHazardRegisterData(List<Model.HazardRegisterSyncItem> getData, string projectId,
|
||||
string unitId, string WebUrl, string type)
|
||||
{
|
||||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||
public static string SaveHazardRegisterSyncData(Model.HazardRegisterSyncData items)
|
||||
{
|
||||
foreach (var item in getData)
|
||||
int code = 0;
|
||||
string message = "";
|
||||
try
|
||||
{
|
||||
Model.HSSE_Hazard_HazardRegister model =
|
||||
db.HSSE_Hazard_HazardRegister.FirstOrDefault(x => x.HazardRegisterId == item.HazardRegisterId);
|
||||
if (model == null)
|
||||
if (items.Items.Count > 0 || items.Items.Count > 0)
|
||||
{
|
||||
Model.HSSE_Hazard_HazardRegister newModel = new Model.HSSE_Hazard_HazardRegister
|
||||
var CollCropCode = items.CollCropCode; //分包单位社会统一信用码
|
||||
var ProjectId = items.ProjectId; //总包项目Id
|
||||
var UnitDomain = items.UnitDomain; //分包单位域名地址【文件存储地址】
|
||||
var unit = Funs.DB.Base_Unit.FirstOrDefault(x => x.CollCropCode == CollCropCode); //根据CollCropCode获取单位id
|
||||
if (unit == null)
|
||||
{
|
||||
HazardRegisterId = item.HazardRegisterId,
|
||||
HazardCode = item.HazardCode,
|
||||
RegisterDate = item.RegisterDate,
|
||||
RegisterDef = item.RegisterDef,
|
||||
Rectification = item.Rectification,
|
||||
Place = APIDataShareSyncService.getUnitWorkId(item.PlaceName, projectId),
|
||||
ResponsibleUnit = unitId,
|
||||
Observer = item.Observer,
|
||||
AttachUrl = item.AttachUrl,
|
||||
ProjectId = projectId,
|
||||
States = item.States,
|
||||
IsEffective = item.IsEffective,
|
||||
ResponsibleMan = APIDataShareSyncService.getUserId(item.ResponsibleManName),
|
||||
CheckManId = APIDataShareSyncService.getUserId(item.CheckManName),
|
||||
CheckTime = item.CheckTime,
|
||||
RectificationPeriod = item.RectificationPeriod,
|
||||
ImageUrl = item.ImageUrl,
|
||||
RectificationImageUrl = item.RectificationImageUrl,
|
||||
RectificationTime = item.RectificationTime,
|
||||
ConfirmMan = APIDataShareSyncService.getUserId(item.ConfirmManName),
|
||||
ConfirmDate = item.ConfirmDate,
|
||||
HandleIdea = item.HandleIdea,
|
||||
CutPayment = item.CutPayment,
|
||||
ProblemTypes = item.ProblemTypes,
|
||||
RegisterTypesId = APIDataShareSyncService.getRegisterTypesId(item.RegisterTypesName),
|
||||
CheckCycle = item.CheckCycle,
|
||||
CheckItemDetailId = item.CheckItemDetailId,
|
||||
SupCheckItemSetId = item.SupCheckItemSetId,
|
||||
CheckItemSetId = item.CheckItemSetId,
|
||||
CheckSpecialId = item.CheckSpecialId,
|
||||
InstallationId = item.InstallationId,
|
||||
SafeSupervisionId = item.SafeSupervisionId,
|
||||
ResponsibleMan2 = APIDataShareSyncService.getUserId(item.ResponsibleMan2Name),
|
||||
SafeSupervisionIsOK = item.SafeSupervisionIsOK,
|
||||
GpsLocation = item.GpsLocation,
|
||||
IsWx = item.IsWx,
|
||||
DIC_ID = item.DIC_ID,
|
||||
CCManIds = item.CCManIds,
|
||||
ResultType = item.ResultType,
|
||||
ResultId = item.ResultId,
|
||||
Requirements = item.Requirements,
|
||||
Risk_Level = item.Risk_Level,
|
||||
//ControlId = item.ControlId,
|
||||
};
|
||||
if (type == "pull")
|
||||
{
|
||||
newModel.DataSource = item.DataSource;
|
||||
message = "总包单位不存在本单位,请登录总包系统检查维护本单位信息!";
|
||||
}
|
||||
else
|
||||
{
|
||||
//2、判断主包项目是否存在
|
||||
var porject = BLL.ProjectService.GetProjectByProjectId(ProjectId);
|
||||
if (porject == null)
|
||||
{
|
||||
message = "总包单位不存在本项目,请检查总包项目关联是否正确!";
|
||||
}
|
||||
else
|
||||
{
|
||||
ProcessHazardRegisterData(items.Items, ProjectId, unit.UnitId, UnitDomain, "push");
|
||||
message = "数据推送成功!";
|
||||
}
|
||||
}
|
||||
db.HSSE_Hazard_HazardRegister.InsertOnSubmit(newModel);
|
||||
db.SubmitChanges();
|
||||
}
|
||||
else
|
||||
{
|
||||
model.HazardRegisterId = item.HazardRegisterId;
|
||||
model.HazardCode = item.HazardCode;
|
||||
model.RegisterDate = item.RegisterDate;
|
||||
model.RegisterDef = item.RegisterDef;
|
||||
model.Rectification = item.Rectification;
|
||||
model.Place = APIDataShareSyncService.getUnitWorkId(item.PlaceName, projectId);
|
||||
model.ResponsibleUnit = unitId;
|
||||
model.Observer = item.Observer;
|
||||
model.AttachUrl = item.AttachUrl;
|
||||
model.ProjectId = projectId;
|
||||
model.States = item.States;
|
||||
model.IsEffective = item.IsEffective;
|
||||
model.ResponsibleMan = APIDataShareSyncService.getUserId(item.ResponsibleManName);
|
||||
model.CheckManId = APIDataShareSyncService.getUserId(item.CheckManName);
|
||||
model.CheckTime = item.CheckTime;
|
||||
model.RectificationPeriod = item.RectificationPeriod;
|
||||
model.ImageUrl = item.ImageUrl;
|
||||
model.RectificationImageUrl = item.RectificationImageUrl;
|
||||
model.RectificationTime = item.RectificationTime;
|
||||
model.ConfirmMan = APIDataShareSyncService.getUserId(item.ConfirmManName);
|
||||
model.ConfirmDate = item.ConfirmDate;
|
||||
model.HandleIdea = item.HandleIdea;
|
||||
model.CutPayment = item.CutPayment;
|
||||
model.ProblemTypes = item.ProblemTypes;
|
||||
model.RegisterTypesId = APIDataShareSyncService.getRegisterTypesId(item.RegisterTypesName);
|
||||
model.CheckCycle = item.CheckCycle;
|
||||
model.CheckItemDetailId = item.CheckItemDetailId;
|
||||
model.SupCheckItemSetId = item.SupCheckItemSetId;
|
||||
model.CheckItemSetId = item.CheckItemSetId;
|
||||
model.CheckSpecialId = item.CheckSpecialId;
|
||||
model.InstallationId = item.InstallationId;
|
||||
model.SafeSupervisionId = item.SafeSupervisionId;
|
||||
model.ResponsibleMan2 = APIDataShareSyncService.getUserId(item.ResponsibleMan2Name);
|
||||
model.SafeSupervisionIsOK = item.SafeSupervisionIsOK;
|
||||
model.GpsLocation = item.GpsLocation;
|
||||
model.IsWx = item.IsWx;
|
||||
model.DIC_ID = item.DIC_ID;
|
||||
model.CCManIds = item.CCManIds;
|
||||
model.ResultType = item.ResultType;
|
||||
model.ResultId = item.ResultId;
|
||||
model.Requirements = item.Requirements;
|
||||
model.Risk_Level = item.Risk_Level;
|
||||
//model.ControlId = item.ControlId;
|
||||
if (type == "pull")
|
||||
message = "暂无项目安全检查数据!";
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw ex;
|
||||
}
|
||||
|
||||
return message;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region 处理单个安全检查数据的新增或更新逻辑
|
||||
|
||||
/// <summary>
|
||||
/// 处理单个安全检查数据的新增或更新逻辑
|
||||
/// </summary>
|
||||
/// <param name="item">安全检查数据项</param>
|
||||
/// <param name="projectId">项目id</param>
|
||||
/// <param name="unitId">单位ID</param>
|
||||
/// <param name="WebUrl">Web地址</param>
|
||||
private static void ProcessHazardRegisterData(List<Model.HazardRegisterSyncItem> getData, string projectId,
|
||||
string unitId, string WebUrl, string type)
|
||||
{
|
||||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||
{
|
||||
foreach (var item in getData)
|
||||
{
|
||||
Model.HSSE_Hazard_HazardRegister model =
|
||||
db.HSSE_Hazard_HazardRegister.FirstOrDefault(x => x.HazardRegisterId == item.HazardRegisterId);
|
||||
if (model == null)
|
||||
{
|
||||
model.DataSource = item.DataSource;
|
||||
Model.HSSE_Hazard_HazardRegister newModel = new Model.HSSE_Hazard_HazardRegister
|
||||
{
|
||||
HazardRegisterId = item.HazardRegisterId,
|
||||
HazardCode = item.HazardCode,
|
||||
RegisterDate = item.RegisterDate,
|
||||
RegisterDef = item.RegisterDef,
|
||||
Rectification = item.Rectification,
|
||||
Place = APIDataShareSyncService.getUnitWorkId(item.PlaceName, projectId),
|
||||
ResponsibleUnit = unitId,
|
||||
Observer = item.Observer,
|
||||
AttachUrl = item.AttachUrl,
|
||||
ProjectId = projectId,
|
||||
States = item.States,
|
||||
IsEffective = item.IsEffective,
|
||||
ResponsibleMan = APIDataShareSyncService.getUserId(item.ResponsibleManName),
|
||||
CheckManId = APIDataShareSyncService.getUserId(item.CheckManName),
|
||||
CheckTime = item.CheckTime,
|
||||
RectificationPeriod = item.RectificationPeriod,
|
||||
ImageUrl = item.ImageUrl,
|
||||
RectificationImageUrl = item.RectificationImageUrl,
|
||||
RectificationTime = item.RectificationTime,
|
||||
ConfirmMan = APIDataShareSyncService.getUserId(item.ConfirmManName),
|
||||
ConfirmDate = item.ConfirmDate,
|
||||
HandleIdea = item.HandleIdea,
|
||||
CutPayment = item.CutPayment,
|
||||
ProblemTypes = item.ProblemTypes,
|
||||
RegisterTypesId = APIDataShareSyncService.getRegisterTypesId(item.RegisterTypesName),
|
||||
CheckCycle = item.CheckCycle,
|
||||
CheckItemDetailId = item.CheckItemDetailId,
|
||||
SupCheckItemSetId = item.SupCheckItemSetId,
|
||||
CheckItemSetId = item.CheckItemSetId,
|
||||
CheckSpecialId = item.CheckSpecialId,
|
||||
InstallationId = item.InstallationId,
|
||||
SafeSupervisionId = item.SafeSupervisionId,
|
||||
ResponsibleMan2 = APIDataShareSyncService.getUserId(item.ResponsibleMan2Name),
|
||||
SafeSupervisionIsOK = item.SafeSupervisionIsOK,
|
||||
GpsLocation = item.GpsLocation,
|
||||
IsWx = item.IsWx,
|
||||
DIC_ID = item.DIC_ID,
|
||||
CCManIds = item.CCManIds,
|
||||
ResultType = item.ResultType,
|
||||
ResultId = item.ResultId,
|
||||
Requirements = item.Requirements,
|
||||
Risk_Level = item.Risk_Level,
|
||||
//ControlId = item.ControlId,
|
||||
};
|
||||
if (type == "pull")
|
||||
{
|
||||
newModel.DataSource = item.DataSource;
|
||||
}
|
||||
db.HSSE_Hazard_HazardRegister.InsertOnSubmit(newModel);
|
||||
db.SubmitChanges();
|
||||
}
|
||||
else
|
||||
{
|
||||
// model.HazardRegisterId = item.HazardRegisterId;
|
||||
model.HazardCode = item.HazardCode;
|
||||
model.RegisterDate = item.RegisterDate;
|
||||
model.RegisterDef = item.RegisterDef;
|
||||
model.Rectification = item.Rectification;
|
||||
model.Place = APIDataShareSyncService.getUnitWorkId(item.PlaceName, projectId);
|
||||
model.ResponsibleUnit = unitId;
|
||||
model.Observer = item.Observer;
|
||||
model.AttachUrl = item.AttachUrl;
|
||||
model.ProjectId = projectId;
|
||||
model.States = item.States;
|
||||
model.IsEffective = item.IsEffective;
|
||||
model.ResponsibleMan = APIDataShareSyncService.getUserId(item.ResponsibleManName);
|
||||
model.CheckManId = APIDataShareSyncService.getUserId(item.CheckManName);
|
||||
model.CheckTime = item.CheckTime;
|
||||
model.RectificationPeriod = item.RectificationPeriod;
|
||||
model.ImageUrl = item.ImageUrl;
|
||||
model.RectificationImageUrl = item.RectificationImageUrl;
|
||||
model.RectificationTime = item.RectificationTime;
|
||||
model.ConfirmMan = APIDataShareSyncService.getUserId(item.ConfirmManName);
|
||||
model.ConfirmDate = item.ConfirmDate;
|
||||
model.HandleIdea = item.HandleIdea;
|
||||
model.CutPayment = item.CutPayment;
|
||||
model.ProblemTypes = item.ProblemTypes;
|
||||
model.RegisterTypesId = APIDataShareSyncService.getRegisterTypesId(item.RegisterTypesName);
|
||||
model.CheckCycle = item.CheckCycle;
|
||||
model.CheckItemDetailId = item.CheckItemDetailId;
|
||||
model.SupCheckItemSetId = item.SupCheckItemSetId;
|
||||
model.CheckItemSetId = item.CheckItemSetId;
|
||||
model.CheckSpecialId = item.CheckSpecialId;
|
||||
model.InstallationId = item.InstallationId;
|
||||
model.SafeSupervisionId = item.SafeSupervisionId;
|
||||
model.ResponsibleMan2 = APIDataShareSyncService.getUserId(item.ResponsibleMan2Name);
|
||||
model.SafeSupervisionIsOK = item.SafeSupervisionIsOK;
|
||||
model.GpsLocation = item.GpsLocation;
|
||||
model.IsWx = item.IsWx;
|
||||
model.DIC_ID = item.DIC_ID;
|
||||
model.CCManIds = item.CCManIds;
|
||||
model.ResultType = item.ResultType;
|
||||
model.ResultId = item.ResultId;
|
||||
model.Requirements = item.Requirements;
|
||||
model.Risk_Level = item.Risk_Level;
|
||||
//model.ControlId = item.ControlId;
|
||||
if (type == "pull")
|
||||
{
|
||||
model.DataSource = item.DataSource;
|
||||
}
|
||||
|
||||
db.SubmitChanges();
|
||||
}
|
||||
|
||||
db.SubmitChanges();
|
||||
}
|
||||
//附件处理
|
||||
if (!string.IsNullOrEmpty(item.AttachUrl1))
|
||||
{
|
||||
BLL.FileInsertService.SaveAttachFileRecords(WebUrl, item.AttachFileId1, item.ToKeyId1,
|
||||
item.AttachSource1, item.AttachUrl1);
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(item.ImageUrl))
|
||||
{
|
||||
APIDataShareSyncService.SafeDownloadHeadImageAsync(WebUrl, item.ImageUrl);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(item.ImageUrl))
|
||||
{
|
||||
APIDataShareSyncService.OperationAttachFile(WebUrl, item.HazardRegisterId,
|
||||
BLL.Const.HSSE_HiddenRectificationListMenuId, item.ImageUrl);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(item.RectificationImageUrl))
|
||||
{
|
||||
APIDataShareSyncService.OperationAttachFile(WebUrl, item.HazardRegisterId+"-R",
|
||||
BLL.Const.HSSE_HiddenRectificationListMenuId, item.RectificationImageUrl);
|
||||
if (!string.IsNullOrEmpty(item.AttachUrl2))
|
||||
{
|
||||
BLL.FileInsertService.SaveAttachFileRecords(WebUrl, item.AttachFileId2, item.ToKeyId2,
|
||||
item.AttachSource2, item.AttachUrl2);
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(item.RectificationImageUrl))
|
||||
{
|
||||
APIDataShareSyncService.SafeDownloadHeadImageAsync(WebUrl, item.RectificationImageUrl);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -2,9 +2,7 @@
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices.ComTypes;
|
||||
|
||||
namespace BLL
|
||||
{
|
||||
@@ -40,8 +38,8 @@ namespace BLL
|
||||
from blt in bltGroup.DefaultIfEmpty()
|
||||
join su in db.Sys_User on x.CompileMan equals su.UserId into sUser
|
||||
from su in sUser.DefaultIfEmpty()
|
||||
//join uw in db.WBS_UnitWork on x.WorkAreaId equals uw.UnitWorkId into uwGroup
|
||||
//from uw in uwGroup.DefaultIfEmpty()
|
||||
//join uw in db.WBS_UnitWork on x.WorkAreaId equals uw.UnitWorkId into uwGroup
|
||||
//from uw in uwGroup.DefaultIfEmpty()
|
||||
join att in db.AttachFile on x.LicenseManagerId equals att.ToKeyId into attTemp
|
||||
from att in attTemp.DefaultIfEmpty()
|
||||
join att1 in db.AttachFile on (x.LicenseManagerId + "_GB") equals att1.ToKeyId into att1Temp
|
||||
@@ -88,7 +86,7 @@ namespace BLL
|
||||
if (dataList.Count() > 0)
|
||||
{
|
||||
var thisUnit = CommonService.GetIsThisUnit();
|
||||
var porject = BLL.ProjectService.GetProjectByProjectId(projectId);
|
||||
var project = BLL.ProjectService.GetProjectByProjectId(projectId);
|
||||
var pushData = new LicenseManagerData
|
||||
{
|
||||
CollCropCode = thisUnit.CollCropCode,//分包单位社会统一信用码
|
||||
@@ -96,34 +94,41 @@ namespace BLL
|
||||
UnitName = thisUnit.UnitName,//分包单位名称
|
||||
ShortUnitName = thisUnit.ShortUnitName,//分包单位简称
|
||||
UnitDomain = Funs.SGGLUrl,//分包单位域名地址【文件存储地址】
|
||||
SubjectUnit = porject.SubjectUnit,//主包单位Id
|
||||
SubjectProject = porject.SubjectProject,//主包项目Id
|
||||
SubjectUnit = project.SubjectUnit,//主包单位Id
|
||||
SubjectProject = project.SubjectProject,//主包项目Id
|
||||
Items = dataList//数据
|
||||
};
|
||||
var pushContent = JsonConvert.SerializeObject(pushData);
|
||||
|
||||
//获取总包单位接口apiurl地址
|
||||
var Url = BLL.UnitService.getUnitApiUrlByUnitId(porject.SubjectUnit);
|
||||
var ApiUrl = string.Empty;
|
||||
var WebUrl = string.Empty;
|
||||
if (Url != null)
|
||||
{
|
||||
var urls = Url.Split(',');
|
||||
ApiUrl = urls[0];
|
||||
if (urls.Length > 1)
|
||||
{
|
||||
WebUrl = urls[1];
|
||||
}
|
||||
}
|
||||
////获取总包单位接口apiurl地址
|
||||
//var Url = BLL.UnitService.getUnitApiUrlByUnitId(project.SubjectUnit);
|
||||
//var ApiUrl = string.Empty;
|
||||
//var WebUrl = string.Empty;
|
||||
//if (Url != null)
|
||||
//{
|
||||
// var urls = Url.Split(',');
|
||||
// ApiUrl = urls[0];
|
||||
// if (urls.Length > 1)
|
||||
// {
|
||||
// WebUrl = urls[1];
|
||||
// }
|
||||
//}
|
||||
|
||||
//总包单位接口地址
|
||||
string ApiUrl = project.SubjectUnitApiUrl;
|
||||
string WebUrl = project.SubjectUnitWebUrl;
|
||||
var baseurl = $"{ApiUrl}/api/LicenseSync/ReceiveSaveProjectLicenseManagerData";
|
||||
string contenttype = "application/json;charset=unicode";
|
||||
//Hashtable newToken = new Hashtable
|
||||
//{
|
||||
// { "token", ServerService.GetToken().Token }
|
||||
//};
|
||||
|
||||
//ErrLogInfo.WriteLog($"【班前会推送数据】接口地址:{baseurl};{pushContent}");
|
||||
var returndata = APIGetHttpService.Http(baseurl, "Post", contenttype, null, pushContent);
|
||||
if (!string.IsNullOrEmpty(returndata))
|
||||
{
|
||||
//ErrLogInfo.WriteLog($"【作业票返回结果】接口地址:{baseurl};{returndata}");
|
||||
JObject obj = JObject.Parse(returndata);
|
||||
string mess = obj["message"].ToString();
|
||||
string code = obj["code"].ToString();
|
||||
@@ -183,7 +188,7 @@ namespace BLL
|
||||
{
|
||||
try
|
||||
{
|
||||
var model= db.License_LicenseManager.FirstOrDefault(e => e.LicenseManagerId == item.LicenseManagerId);
|
||||
var model = db.License_LicenseManager.FirstOrDefault(e => e.LicenseManagerId == item.LicenseManagerId);
|
||||
if (model != null)
|
||||
{//编辑
|
||||
model.ProjectId = data.SubjectProject;
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
using Model;
|
||||
using Model;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices.ComTypes;
|
||||
|
||||
namespace BLL
|
||||
{
|
||||
@@ -89,7 +87,7 @@ namespace BLL
|
||||
if (dataList.Count() > 0)
|
||||
{
|
||||
var thisUnit = CommonService.GetIsThisUnit();
|
||||
var porject = BLL.ProjectService.GetProjectByProjectId(projectId);
|
||||
var project = BLL.ProjectService.GetProjectByProjectId(projectId);
|
||||
var pushData = new ClassMeetingData
|
||||
{
|
||||
CollCropCode = thisUnit.CollCropCode,//分包单位社会统一信用码
|
||||
@@ -97,25 +95,28 @@ namespace BLL
|
||||
UnitName = thisUnit.UnitName,//分包单位名称
|
||||
ShortUnitName = thisUnit.ShortUnitName,//分包单位简称
|
||||
UnitDomain = Funs.SGGLUrl,//分包单位域名地址【文件存储地址】
|
||||
SubjectUnit = porject.SubjectUnit,//主包单位Id
|
||||
SubjectProject = porject.SubjectProject,//主包项目Id
|
||||
SubjectUnit = project.SubjectUnit,//主包单位Id
|
||||
SubjectProject = project.SubjectProject,//主包项目Id
|
||||
Items = dataList//会议数据
|
||||
};
|
||||
var pushContent = JsonConvert.SerializeObject(pushData);
|
||||
|
||||
//获取总包单位接口apiurl地址
|
||||
var Url = BLL.UnitService.getUnitApiUrlByUnitId(porject.SubjectUnit);
|
||||
var ApiUrl = string.Empty;
|
||||
var WebUrl = string.Empty;
|
||||
if (Url != null)
|
||||
{
|
||||
var urls = Url.Split(',');
|
||||
ApiUrl = urls[0];
|
||||
if (urls.Length > 1)
|
||||
{
|
||||
WebUrl = urls[1];
|
||||
}
|
||||
}
|
||||
////获取总包单位接口apiurl地址
|
||||
//var Url = BLL.UnitService.getUnitApiUrlByUnitId(porject.SubjectUnit);
|
||||
//var ApiUrl = string.Empty;
|
||||
//var WebUrl = string.Empty;
|
||||
//if (Url != null)
|
||||
//{
|
||||
// var urls = Url.Split(',');
|
||||
// ApiUrl = urls[0];
|
||||
// if (urls.Length > 1)
|
||||
// {
|
||||
// WebUrl = urls[1];
|
||||
// }
|
||||
//}
|
||||
//总包单位接口地址
|
||||
string ApiUrl = project.SubjectUnitApiUrl;
|
||||
string WebUrl = project.SubjectUnitWebUrl;
|
||||
var baseurl = $"{ApiUrl}/api/MeetingSync/ReceiveSaveProjectClassMeetingData";
|
||||
string contenttype = "application/json;charset=unicode";
|
||||
//Hashtable newToken = new Hashtable
|
||||
@@ -125,9 +126,12 @@ namespace BLL
|
||||
var returndata = APIGetHttpService.Http(baseurl, "Post", contenttype, null, pushContent);
|
||||
if (!string.IsNullOrEmpty(returndata))
|
||||
{
|
||||
// ErrLogInfo.WriteLog($"【班前会返回结果】接口地址:{baseurl};{returndata}");
|
||||
JObject obj = JObject.Parse(returndata);
|
||||
string mess = obj["message"].ToString();
|
||||
string code = obj["code"].ToString();
|
||||
string message = obj["message"].ToString();
|
||||
responeData.code = int.Parse(code);
|
||||
responeData.message = message;
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -160,8 +164,6 @@ namespace BLL
|
||||
string result = string.Empty;
|
||||
if (data.Items.Count() > 0)
|
||||
{
|
||||
//var jsonData = JsonConvert.SerializeObject(data);
|
||||
//ErrLogInfo.WriteLog($"【班前会接收数据】{jsonData}");
|
||||
//1、判断分包单位是否存在
|
||||
var unit = UnitService.getUnitByCollCropCodeUnitName(data.CollCropCode, data.UnitName);
|
||||
if (unit == null)
|
||||
@@ -209,7 +211,7 @@ namespace BLL
|
||||
//model.Remark = item.Remark;
|
||||
model.Remark = $"{(!string.IsNullOrWhiteSpace(data.ShortUnitName) ? data.ShortUnitName : data.UnitName)}#{item.CompileManName}";
|
||||
model.CompileDate = item.CompileDate;
|
||||
//newModel.CompileMan = item.CompileMan;
|
||||
model.CompileMan = item.CompileMan;
|
||||
|
||||
db.SubmitChanges();
|
||||
}
|
||||
@@ -239,14 +241,12 @@ namespace BLL
|
||||
//newModel.Remark = item.Remark;
|
||||
newModel.Remark = $"{(!string.IsNullOrWhiteSpace(data.ShortUnitName) ? data.ShortUnitName : data.UnitName)}#{item.CompileManName}";
|
||||
newModel.CompileDate = item.CompileDate;
|
||||
//newModel.CompileMan = item.CompileMan;
|
||||
newModel.CompileMan = item.CompileMan;
|
||||
|
||||
db.Meeting_ClassMeeting.InsertOnSubmit(newModel);
|
||||
db.SubmitChanges();
|
||||
}
|
||||
succ++;
|
||||
|
||||
//ErrLogInfo.WriteLog($"【班前会接收数据——内容附件】UnitDomain:{data.UnitDomain};AttachFileId:{item.AttachFileId};ToKeyId:{item.ToKeyId};AttachSource:{item.AttachSource};AttachUrl:{item.AttachUrl}");
|
||||
//附件处理:内容附件
|
||||
BLL.FileInsertService.SaveAttachFileRecords(data.UnitDomain, item.AttachFileId, item.ToKeyId, item.AttachSource, item.AttachUrl);
|
||||
//附件处理:签到表
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -75,7 +75,8 @@ namespace BLL
|
||||
newHazardRegister.DIC_ID = hazardRegister.DIC_ID;
|
||||
newHazardRegister.Risk_Level = hazardRegister.Risk_Level;
|
||||
newHazardRegister.Type=hazardRegister.Type;
|
||||
newHazardRegister.CheckSpecialId=hazardRegister.CheckSpecialId;
|
||||
newHazardRegister.CheckSpecialId=hazardRegister.CheckSpecialId;
|
||||
newHazardRegister.PunishPerson = hazardRegister.PunishPerson;
|
||||
|
||||
newHazardRegister.HiddenType = hazardRegister.HiddenType;
|
||||
db.HSSE_Hazard_HazardRegister.InsertOnSubmit(newHazardRegister);
|
||||
@@ -121,7 +122,8 @@ namespace BLL
|
||||
newHazardRegister.Type = hazardRegister.Type;
|
||||
newHazardRegister.Risk_Level = hazardRegister.Risk_Level;
|
||||
newHazardRegister.HiddenType = hazardRegister.HiddenType;
|
||||
newHazardRegister.CheckSpecialId = hazardRegister.CheckSpecialId;
|
||||
newHazardRegister.CheckSpecialId = hazardRegister.CheckSpecialId;
|
||||
newHazardRegister.PunishPerson = hazardRegister.PunishPerson;
|
||||
//把附件表的路径复制过来
|
||||
Model.AttachFile file = BLL.AttachFileService.GetAttachFile(hazardRegister.HazardRegisterId, Const.HSSE_HiddenRectificationListMenuId);
|
||||
if (file != null)
|
||||
|
||||
@@ -306,6 +306,27 @@ namespace BLL
|
||||
return personId;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据UserId主键获取人员信息
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
public static void UpdatePersonTypeByProjectIdAndIdentityCard(string projectId, string identityCard)
|
||||
{
|
||||
|
||||
var persons = Funs.DB.SitePerson_Person.Where(x => x.IdentityCard == identityCard).ToList();
|
||||
|
||||
foreach (var item in persons)
|
||||
{
|
||||
if (item.ProjectId != projectId && item.IsUsed == true)
|
||||
{
|
||||
item.IsUsed = false;
|
||||
item.OutTime = DateTime.Now;
|
||||
Funs.DB.SubmitChanges();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#region 根据多用户ID得到用户名称字符串
|
||||
/// <summary>
|
||||
/// 根据多用户ID得到用户名称字符串
|
||||
|
||||
@@ -151,6 +151,8 @@
|
||||
MasterSysId = project.MasterSysId,
|
||||
SubjectUnit = project.SubjectUnit,
|
||||
SubjectProject = project.SubjectProject,
|
||||
SubjectUnitApiUrl = project.SubjectUnitApiUrl,
|
||||
SubjectUnitWebUrl = project.SubjectUnitWebUrl,
|
||||
};
|
||||
db.Base_Project.InsertOnSubmit(newProject);
|
||||
db.SubmitChanges();
|
||||
@@ -207,9 +209,11 @@
|
||||
newProject.Progress = project.Progress;
|
||||
newProject.ProjType = project.ProjType;
|
||||
newProject.ProjPhase = project.ProjPhase;
|
||||
newProject.MasterSysId = project.MasterSysId;
|
||||
newProject.MasterSysId = project.MasterSysId;
|
||||
newProject.SubjectUnit = project.SubjectUnit;
|
||||
newProject.SubjectProject = project.SubjectProject;
|
||||
newProject.SubjectUnitApiUrl = project.SubjectUnitApiUrl;
|
||||
newProject.SubjectUnitWebUrl = project.SubjectUnitWebUrl;
|
||||
db.SubmitChanges();
|
||||
HSEDataCollectService.ProjectHSEDataCollectSubmission(newProject);
|
||||
}
|
||||
@@ -286,15 +290,15 @@
|
||||
{
|
||||
result = result.Where(e => pids.Contains(e.ProjectId)).ToList();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
var list = (from x in Funs.DB.Base_Project
|
||||
where x.ProjectState == Const.ProjectState_1 || x.ProjectState == null
|
||||
var list = (from x in Funs.DB.Base_Project
|
||||
where x.ProjectState == Const.ProjectState_1 || x.ProjectState == null
|
||||
orderby x.ProjectCode descending
|
||||
select x).ToList();
|
||||
select x).ToList();
|
||||
var policy = new CacheItemPolicy
|
||||
{
|
||||
AbsoluteExpiration = DateTimeOffset.Now.AddMinutes(Const.CacheMinutes),
|
||||
@@ -309,8 +313,8 @@
|
||||
{
|
||||
var result = list.Where(e => pids.Contains(e.ProjectId)).ToList();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -22,6 +22,29 @@ namespace BLL
|
||||
return Funs.DB.ProjectData_TeamGroup.FirstOrDefault(e => e.TeamGroupId == teamGroupId);
|
||||
}
|
||||
|
||||
#region 根据班组ID得到班组名称
|
||||
/// <summary>
|
||||
/// 根据班组ID得到班组名称
|
||||
/// </summary>
|
||||
/// <param name="TeamGroupId"></param>
|
||||
/// <returns></returns>
|
||||
public static string getTeamGroupNameById(string TeamGroupId)
|
||||
{
|
||||
string TeamGroupName = string.Empty;
|
||||
if (!string.IsNullOrEmpty(TeamGroupId))
|
||||
{
|
||||
var q = GetTeamGroupById(TeamGroupId);
|
||||
if (q != null)
|
||||
{
|
||||
TeamGroupName = q.TeamGroupName;
|
||||
}
|
||||
}
|
||||
|
||||
return TeamGroupName;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 添加班组信息
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user