葛恒:奖惩

This commit is contained in:
2026-03-16 20:12:55 +08:00
parent 13364fcbf7
commit ab33ffa365
53 changed files with 6455 additions and 1032 deletions
+3
View File
@@ -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();
}
}
}
}
+21
View File
@@ -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 /
+46 -6
View File
@@ -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)
+21
View File
@@ -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得到用户名称字符串
+11 -7
View File
@@ -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;
}
}
}
}
}
+23
View File
@@ -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>