This commit is contained in:
2025-04-07 17:43:30 +08:00
commit 8a2c192129
12175 changed files with 2742596 additions and 0 deletions
@@ -0,0 +1,343 @@
using BLL;
using Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Web;
using System.Web.Http;
using System.Web.Mvc;
namespace WebAPI.Controllers
{
/// <summary>
/// 上报集团数据接口
/// </summary>
public class CNCECServerController : ApiController
{
/// <summary>
/// 获取质量统计数据
/// </summary>
/// <returns></returns>
public Model.ReturnData PostGetCQMSData()
{
var returnData = new Model.ReturnData();
returnData.type = "CQMS";
returnData.time = DateTime.Now.ToString();
ServerService.GetToken();
returnData.token = BLL.SysConstSetService.CNCECToken;
returnData.expiryTime = BLL.SysConstSetService.CNCECTTokenExTime;
if (!string.IsNullOrEmpty(returnData.token) && !string.IsNullOrEmpty(returnData.expiryTime) && DateTime.Parse(returnData.expiryTime) > DateTime.Now)
{
returnData.data = CQMSDataService.GetTodayCQMSData_CQMS();
}
else
{
returnData.code = 500;
returnData.message = "token失效";
}
return returnData;
}
/// <summary>
/// 获取质量统计数据成功后,回调通知上报成功
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public Model.ReturnData PostGetCQMSData_CallBalk([FromBody] CQMSData data)
{
var returnData = new Model.ReturnData();
try
{
returnData.type = "CQMS_Back";
returnData.time = DateTime.Now.ToString();
foreach (var item in data.CQMSDataItems)
{
var cQMSData_CQMS = CQMSDataService.GetCQMSData_CQMSById(item.Id);
cQMSData_CQMS.State = Const.CNCEC_State_S;
CQMSDataService.UpdateCQMSData_CQMS(cQMSData_CQMS);
}
}
catch (Exception ex)
{
returnData.code = 404;
returnData.message = ex.ToString();
}
return returnData;
}
/// <summary>
/// 获取焊接统计数据
/// </summary>
/// <returns></returns>
public Model.ReturnData PostGetHJGLData()
{
var returnData = new Model.ReturnData();
returnData.type = "HJGL";
returnData.time = DateTime.Now.ToString();
ServerService.GetToken();
returnData.token = BLL.SysConstSetService.CNCECToken;
returnData.expiryTime = BLL.SysConstSetService.CNCECTTokenExTime;
if (!string.IsNullOrEmpty(returnData.token) && !string.IsNullOrEmpty(returnData.expiryTime) && DateTime.Parse(returnData.expiryTime) > DateTime.Now)
{
returnData.data = HJGLData_HJGLService.GetTodayHJGLData_HJGL();
}
else
{
returnData.code = 500;
returnData.message = "token失效";
}
return returnData;
}
/// <summary>
/// 获取焊接统计数据 成功后,回调通知上报成功
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public Model.ReturnData PostGetHJGLData_CallBalk([FromBody] Model.HJGLData data)
{
var returnData = new Model.ReturnData();
try
{
returnData.type = "HJGL_Back";
returnData.time = DateTime.Now.ToString();
foreach (var item in data.HJGLDataItems)
{
var hJGLData_HJGL = HJGLData_HJGLService.GetHJGLData_HJGLById(item.Id);
hJGLData_HJGL.State = Const.CNCEC_State_S;
HJGLData_HJGLService.UpdateHJGLData_HJGL(hJGLData_HJGL);
}
}
catch (Exception ex)
{
returnData.code = 404;
returnData.message = ex.ToString();
}
return returnData;
}
/// <summary>
/// 获取安全统计数据
/// </summary>
/// <returns></returns>
/*public Model.ReturnData PostGetHSSEData()
{
var returnData = new Model.ReturnData();
returnData.type = "HSSE";
returnData.time = DateTime.Now.ToString();
ServerService.GetToken();
returnData.token = BLL.SysConstSetService.CNCECToken;
returnData.expiryTime = BLL.SysConstSetService.CNCECTTokenExTime;
if (!string.IsNullOrEmpty(returnData.token) && !string.IsNullOrEmpty(returnData.expiryTime) && DateTime.Parse(returnData.expiryTime) > DateTime.Now)
{
try
{
returnData.data = HSSEData_HSSEService.StatisticalDataAsync().Result;
}
catch (Exception ex)
{
returnData.code = 0;
returnData.message = ex.ToString();
}
}
else
{
returnData.code = 500;
returnData.message = "token失效";
}
return returnData;
}*/
public async Task<Model.ReturnData> PostGetHSSEData()
{
var returnData = new Model.ReturnData();
returnData.type = "HSSE";
returnData.time = DateTime.Now.ToString();
ServerService.GetToken();
returnData.token = BLL.SysConstSetService.CNCECToken;
returnData.expiryTime = BLL.SysConstSetService.CNCECTTokenExTime;
if (!string.IsNullOrEmpty(returnData.token) && !string.IsNullOrEmpty(returnData.expiryTime) && DateTime.Parse(returnData.expiryTime) > DateTime.Now)
{
try
{
returnData.data = await HSSEData_HSSEService.GetTodayHSSEData_HSSE();
}
catch (Exception ex)
{
returnData.code = 0;
returnData.message = ex.ToString();
}
}
else
{
returnData.code = 500;
returnData.message = "token失效";
}
return returnData;
}
/// <summary>
/// 获取安全统计数据成功后,回调通知上报成功
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public Model.ReturnData PostGetHSSEData_CallBalk([FromBody] HSSEData data)
{
var returnData = new Model.ReturnData();
try
{
returnData.type = "HSSE_Back";
returnData.time = DateTime.Now.ToString();
foreach (var item in data.HSSEDataItems)
{
var hSSEData_HSSE = HSSEData_HSSEService.GetHSSEData_HSSEById(item.Id);
hSSEData_HSSE.State = Const.CNCEC_State_S;
HSSEData_HSSEService.UpdateHSSEData_HSSE(hSSEData_HSSE);
}
}
catch (Exception ex)
{
returnData.code = 404;
returnData.message = ex.ToString();
}
return returnData;
}
/// <summary>
/// 获取实业统计数据
/// </summary>
/// <returns></returns>
public Model.ReturnData PostGetSYHSEData()
{
var returnData = new Model.ReturnData();
returnData.type = "SYHSE";
returnData.time = DateTime.Now.ToString();
ServerService.GetToken();
returnData.token = BLL.SysConstSetService.CNCECToken;
returnData.expiryTime = BLL.SysConstSetService.CNCECTTokenExTime;
if (!string.IsNullOrEmpty(returnData.token) && !string.IsNullOrEmpty(returnData.expiryTime) && DateTime.Parse(returnData.expiryTime) > DateTime.Now)
{
returnData.data = SYHSEData_SYHSEService.GetTodaySYHSEData_SYHSE();
}
else
{
returnData.code = 500;
returnData.message = "token失效";
}
return returnData;
}
/// <summary>
/// 获取实业统计数据成功后,回调通知上报成功
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public Model.ReturnData PostGetSYHSEData_CallBalk([FromBody] SYHSEData data)
{
var returnData = new Model.ReturnData();
try
{
returnData.type = "SYHSE_Back";
returnData.time = DateTime.Now.ToString();
foreach (var item in data.SYHSEDataItems)
{
var sYHSEData_SYHSE = SYHSEData_SYHSEService.GetSYHSEData_SYHSEById(item.Id);
sYHSEData_SYHSE.State = Const.CNCEC_State_S;
SYHSEData_SYHSEService.UpdateSYHSEData_SYHSE(sYHSEData_SYHSE);
}
//SYHSEData_SYHSE data = _data;
//data.State = Const.CNCEC_State_S;
//SYHSEData_SYHSEService.UpdateSYHSEData_SYHSE(data);
}
catch (Exception ex)
{
returnData.code = 404;
returnData.message = ex.ToString();
}
return returnData;
}
#region 推送项目安全隐患风险数据
/// <summary>
/// 推送项目安全隐患风险数据
/// </summary>
/// <returns></returns>
//[HttpPost]
public Model.ResponeData PushProjectHSSEData()
{
var responeData = new Model.ResponeData();
try
{
var returndata = Project_HSSEData_HSSEService.PushProjectHSSEData();
responeData.code = returndata.code;
responeData.message = returndata.message;
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region 推送项目质量数据
/// <summary>
/// 推送项目质量数据
/// </summary>
/// <returns></returns>
//[HttpPost]
public Model.ResponeData PushProjectCQMSData()
{
var responeData = new Model.ResponeData();
try
{
var returndata = Project_CQMSDataService.PushProjectCQMSData();
responeData.code = returndata.code;
responeData.message = returndata.message;
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region 推送项目焊接数据数据
/// <summary>
/// 推送项目焊接数据数据
/// </summary>
/// <returns></returns>
//[HttpPost]
public Model.ResponeData PushProjectHJGLData()
{
var responeData = new Model.ResponeData();
try
{
var returndata = Project_HJGLData_HJGLService.PushProjectHJGLData();
responeData.code = returndata.code;
responeData.message = returndata.message;
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
}
}
@@ -0,0 +1,442 @@
using System.Configuration;
using System;
using System.Text.RegularExpressions;
using System.Web.Http;
using System.Web.Http.Description;
using BLL;
using Microsoft.Ajax.Utilities;
using Model;
using Newtonsoft.Json;
using System.IO;
using System.Linq;
namespace WebAPI.Controllers
{
/// <summary>
/// 质量管理数据同步
/// </summary>
public class CqmsController : ApiController
{
private string getUrlByType(string type)
{
string folderUrl = "FileUpLoad/" + type + "/" + DateTime.Now.ToString("yyyy-MM") + "/";
string localRoot = ConfigurationManager.AppSettings["localRoot"] + folderUrl; //物理路径
if (!Directory.Exists(localRoot))
{
Directory.CreateDirectory(localRoot);
}
string url = localRoot + string.Format("{0:yyyyMMddHHmmssffff}", DateTime.Now) + ".jpg";
return url;
}
private string getUnitIdByUnitCollCropCode(string unitname)
{
using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
{
var model = db.Base_Unit.FirstOrDefault(x => x.UnitName == unitname);
if (model != null)
{
return model.UnitId;
}
else
{
return "";
}
}
}
/// <summary>
/// 人员报验同步
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
[HttpPost]
public ResponeData InspectionPersonSync([FromBody]InspectionpersonDto dto)
{
var responeData = new Model.ResponeData();
try
{
using (var db = new Model.SUBQHSEDB(Funs.ConnString))
{
var mapper = EmitMapper.ObjectMapperManager.DefaultInstance.GetMapper<InspectionpersonDto, Model.Comprehensive_InspectionPerson>();
var model = mapper.Map(dto);
if (BLL.UnitService.getUnitByUnitName(model.UnitId) == null)
{
responeData.code = 0;
responeData.message = "单位名称(UnitId)未查询到数据,请检查是否正确。";
return responeData;
}
else
{
model.UnitId = BLL.UnitService.getUnitByUnitName(model.UnitId).UnitId;
}
if (BLL.ProjectService.GetProjectByProjectName(model.ProjectId) == null)
{
responeData.code = 0;
responeData.message = "当前项目名称(ProjectId)未查询到数据,请检查是否正确!";
return responeData;
}
else
{
model.ProjectId = BLL.ProjectService.GetProjectByProjectName(model.ProjectId).ProjectId;
}
if (!string.IsNullOrEmpty(model.CNProfessionalId)&& BLL.CNProfessionalService.GetCNProfessionalByName(model.CNProfessionalId)==null)
{
responeData.code = 0;
responeData.message = "专业名称(CNProfessionalId)未查询到数据,请检查是否正确!";
return responeData;
}
else
{
model.CNProfessionalId= (string.IsNullOrEmpty(model.CNProfessionalId) ? model.CNProfessionalId:BLL.CNProfessionalService
.GetCNProfessionalByName(model.CNProfessionalId).CNProfessionalId);
}
if (!string.IsNullOrEmpty(model.PostId) && BLL.PostService.GetPostByName(model.PostId) == null)
{
responeData.code = 0;
responeData.message = "工种名称(PostId)未查询到数据,请检查是否正确!";
return responeData;
}
else
{
model.PostId = (string.IsNullOrEmpty(model.PostId) ? model.PostId : BLL.PostService
.GetPostByName(model.PostId).PostId);
}
// 焊工部分
Model.BS_Welder welder = new Model.BS_Welder
{
WED_Unit = model.UnitId,
WED_Code = model.InspectionPersonCode,
WED_Name = model.PersonName,
LimitDate = model.ValidityDate,
LeaveDate = model.DepartureTime,
PostDate = model.ApprovalTime,
WED_WorkCode = model.CertificateNumber,
WED_Class = model.QualifiedProjectCode,
WED_IfOnGuard = model.IsOnSite,
WED_Remark = model.Remark,
ProjectId = model.ProjectId,
};
model.InspectionPersonId = SQLHelper.GetNewID(typeof(Model.Comprehensive_InspectionPerson));
//人员报验
BLL.InspectionPersonService.AddInspectionPerson(model);
if (BLL.PostService.GetPostById(model.PostId)?.PostName == "焊工")
{
// 焊工部分
BLL.PersonManageService.AddBSWelder(welder);
}
}
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
/// <summary>
/// NCR管理同步
/// </summary>
/// <returns></returns>
public Model.ResponeData NcrManagementSync(NcrmanagementDto dto)
{
var responeData = new Model.ResponeData();
try
{
using (var db = new Model.SUBQHSEDB(Funs.ConnString))
{
var mapper = EmitMapper.ObjectMapperManager.DefaultInstance.GetMapper<NcrmanagementDto, Model.Comprehensive_NCRManagement>();
var model = mapper.Map(dto);
if (BLL.UnitService.getUnitByUnitName(model.SendUnit) == null)
{
responeData.code = 0;
responeData.message = "单位名称(UnitId)未查询到数据,请检查是否正确。";
return responeData;
}
else
{
model.SendUnit = BLL.UnitService.getUnitByUnitName(model.SendUnit).UnitId;
}
if (BLL.ProjectService.GetProjectByProjectName(model.ProjectId) == null)
{
responeData.code = 0;
responeData.message = "当前项目名称(ProjectId)未查询到数据,请检查是否正确!";
return responeData;
}
else
{
model.ProjectId = BLL.ProjectService.GetProjectByProjectName(model.ProjectId).ProjectId;
}
if (!string.IsNullOrEmpty(model.CNProfessionalId) && BLL.CNProfessionalService.GetCNProfessionalByName(model.CNProfessionalId) == null)
{
responeData.code = 0;
responeData.message = "专业名称(CNProfessionalId)未查询到数据,请检查是否正确!";
return responeData;
}
else
{
model.CNProfessionalId = (string.IsNullOrEmpty(model.CNProfessionalId) ? model.CNProfessionalId : BLL.CNProfessionalService
.GetCNProfessionalByName(model.CNProfessionalId).CNProfessionalId);
}
if (!string.IsNullOrEmpty(model.UnitWorkId) && BLL.UnitWorkService.GetUnitWorkByUnitWorkName(model.ProjectId, model.UnitWorkId) == null)
{
responeData.code = 0;
responeData.message = "单位工程(UnitWorkId)未查询到数据,请检查是否正确!";
return responeData;
}
else
{
model.UnitWorkId = (string.IsNullOrEmpty(model.UnitWorkId) ? model.UnitWorkId : UnitWorkService.GetUnitWorkByUnitWorkName(model.ProjectId, model.UnitWorkId).UnitWorkId);
}
if (!string.IsNullOrEmpty(model.CompileMan))
{
if (BLL.UserService.GetUserByIdentityCard(model.CompileMan) == null)
{
responeData.code = 0;
responeData.message = "该编制人身份证号码未查询到相关人员请检查是否正确。";
return responeData;
}
else
{
model.CompileMan =
UserService.GetUserByIdentityCard(model.CompileMan).UserId;
}
}
else
{
model.CompileMan = null;
}
//if (!string.IsNullOrEmpty(model.ResponsibleMan))
//{
// if (BLL.UserService.GetUserByIdentityCard(model.ResponsibleMan) == null)
// {
// responeData.code = 0;
// responeData.message = "该责任人身份证号码未查询到相关人员请检查是否正确。";
// return responeData;
// }
// else
// {
// model.ResponsibleMan =
// UserService.GetUserByIdentityCard(model.ResponsibleMan).UserId;
// }
//}
//else
//{
// model.ResponsibleMan = null;
//}
if (!string.IsNullOrEmpty(model.ReceiveUnit))
{
var unitIds = "";
foreach (var item in model.ReceiveUnit.Split(','))
{
var uid = getUnitIdByUnitCollCropCode(item);
if (uid == "")
{
responeData.code = 0;
responeData.message = "单位名称UnitIds未查询到数据,请检查是否正确。";
return responeData;
}
else
{
unitIds += uid + ",";
}
}
model.ReceiveUnit = unitIds.Substring(0, unitIds.Length - 1);
var umodel = Funs.DB.Base_Unit.FirstOrDefault(x => model.ReceiveUnit.Split(',').Contains(x.UnitId));
if (umodel == null)
{
responeData.code = 0;
responeData.message = "单位名称UnitIds未查询到数据,请检查是否正确。";
return responeData;
}
}
if (string.IsNullOrEmpty(model.NCRCode))
{
responeData.code = 0;
responeData.message = "NCR编号不能为空!";
return responeData;
}
model.NCRManagementId= SQLHelper.GetNewID(typeof(Model.Comprehensive_NCRManagement));
try
{
if (!string.IsNullOrEmpty(model.AttachUrl))
{
string urlBefore = getUrlByType("nCRManagement");
System.IO.File.WriteAllBytes(urlBefore, Convert.FromBase64String(model.AttachUrl));
urlBefore = urlBefore.Replace(ConfigurationManager.AppSettings["localRoot"], "");
model.AttachUrl= urlBefore;
UploadFileService.SaveAttachUrl(UploadFileService.GetSourceByAttachUrl(urlBefore, 10, null), urlBefore, Const.NCRManagementMenuId, model.NCRManagementId);
}
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = "图片上传出错" + ex.Message;
return responeData;
}
BLL.NCRManagementService.AddNCRManagement(model);
}
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
/// <summary>
/// 质量巡检同步
/// </summary>
/// <returns></returns>
public Model.ResponeData CheckListSync(CheckCheckcontrolDto dto)
{
var responeData = new Model.ResponeData();
try
{
using (var db = new Model.SUBQHSEDB(Funs.ConnString))
{
var mapper = EmitMapper.ObjectMapperManager.DefaultInstance.GetMapper<CheckCheckcontrolDto, Model.Check_CheckControl>();
var model = mapper.Map(dto);
string urlBefore = "";
string urlAfter = "";
if (BLL.UnitService.getUnitByUnitName(model.UnitId) == null)
{
responeData.code = 0;
responeData.message = "单位名称(UnitId)未查询到数据,请检查是否正确。";
return responeData;
}
else
{
model.UnitId = BLL.UnitService.getUnitByUnitName(model.UnitId).UnitId;
}
if (BLL.ProjectService.GetProjectByProjectName(model.ProjectId) == null)
{
responeData.code = 0;
responeData.message = "当前项目名称(ProjectId)未查询到数据,请检查是否正确!";
return responeData;
}
else
{
model.ProjectId = BLL.ProjectService.GetProjectByProjectName(model.ProjectId).ProjectId;
}
if (BLL.UnitService.getUnitByUnitName(model.ProposeUnitId) == null)
{
responeData.code = 0;
responeData.message = "提出单位名称(UnitId)未查询到数据,请检查是否正确!";
return responeData;
}
else
{
model.ProposeUnitId = BLL.UnitService.getUnitByUnitName(model.ProposeUnitId).UnitId;
}
if (BLL.UnitWorkService.GetUnitWorkByUnitWorkName(model.ProjectId,model.UnitWorkId) == null)
{
responeData.code = 0;
responeData.message = "单位工程(UnitWorkId)未查询到数据,请检查是否正确!";
return responeData;
}
else
{
model.UnitWorkId = BLL.UnitWorkService
.GetUnitWorkByUnitWorkName(model.ProjectId, model.UnitWorkId).UnitWorkId;
}
if (BLL.QualityQuestionTypeService.GetQualityQuestionTypeByType(model.QuestionType) == null)
{
responeData.code = 0;
responeData.message = "问题类别(QuestionType)未查询到数据,请检查是否正确!";
return responeData;
}
else
{
model.QuestionType = BLL.QualityQuestionTypeService
.GetQualityQuestionTypeByType(model.QuestionType).QualityQuestionTypeId;
}
if (!string.IsNullOrEmpty(model.CNProfessionalCode) && BLL.CNProfessionalService.GetCNProfessionalByName(model.CNProfessionalCode) == null)
{
responeData.code = 0;
responeData.message = "专业名称(CNProfessionalId)未查询到数据,请检查是否正确!";
return responeData;
}
else
{
model.CNProfessionalCode = (string.IsNullOrEmpty(model.CNProfessionalCode) ? model.CNProfessionalCode : BLL.CNProfessionalService
.GetCNProfessionalByName(model.CNProfessionalCode).CNProfessionalId);
}
if (!string.IsNullOrEmpty(model.CheckMan))
{
if (BLL.UserService.GetUserByIdentityCard(model.CheckMan) == null)
{
responeData.code = 0;
responeData.message = "该检查人身份证号码未查询到相关人员请检查是否正确。";
return responeData;
}
else
{
model.CheckMan =
UserService.GetUserByIdentityCard(model.CheckMan).UserId;
}
}
else
{
model.CheckMan = null;
}
model.CheckControlCode = SQLHelper.GetNewID(typeof(Model.Check_CheckControl));
BLL.CheckControlService.AddCheckControl(model);
try
{
if (!string.IsNullOrEmpty(model.AttachUrl))
{
urlBefore = ConfigurationManager.AppSettings["localRoot"] + @"FileUpload\CheckControl\" + string.Format("{0:yyyyMMddHHmmssffff}", DateTime.Now) + ".jpg";
System.IO.File.WriteAllBytes(urlBefore, Convert.FromBase64String(model.AttachUrl));
urlBefore = urlBefore.Replace(ConfigurationManager.AppSettings["localRoot"], "");
UploadFileService.SaveAttachUrl(UploadFileService.GetSourceByAttachUrl(urlBefore, 10, null), urlBefore, Const.CheckListMenuId, model.CheckControlCode);
}
if (!string.IsNullOrEmpty(model.ReAttachUrl))
{
urlAfter = ConfigurationManager.AppSettings["localRoot"] + @"FileUpload\CheckControl\" + string.Format("{0:yyyyMMddHHmmssffff}", DateTime.Now) + "~r" + ".jpg";
System.IO.File.WriteAllBytes(urlAfter, Convert.FromBase64String(model.ReAttachUrl));
urlAfter = urlAfter.Replace(ConfigurationManager.AppSettings["localRoot"], "");
UploadFileService.SaveAttachUrl(UploadFileService.GetSourceByAttachUrl(urlAfter, 10, null), urlAfter, Const.CheckListMenuId, model.CheckControlCode + "r");
}
}
catch (Exception ex)
{
CheckControlService.DeleteCheckControl(model.CheckControlCode);
responeData.code = 0;
responeData.message = "图片上传出错"+ex.Message;
return responeData;
}
}
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
}
}
@@ -0,0 +1,73 @@
using BLL;
using Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
namespace WebAPI.Controllers
{
/// <summary>
/// 上报环保数据接口
/// </summary>
public class EnvironmentalController : ApiController
{
#region 推送环境监测数据
/// <summary>
/// 推送环境监测数据
/// </summary>
/// <returns></returns>
[HttpPost]
public Model.ResponeData PushEnvironmentalCheckData()
{
var responeData = new Model.ResponeData();
try
{
var returndata = EnvironmentalCheckService.PushEnvironmentalCheckData();
responeData.code = returndata.code;
responeData.message = returndata.message;
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
/// <summary>
/// 保存环境监测数据
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost]
public Model.ResponeData SaveEnvironmentData(Model.EnvironmentalCheckInput input)
{
var responeData = new Model.ResponeData();
try
{
if (BLL.APIProjectService.getProjectByProjectId(input.ProjectId) != null)
{
responeData.data = LotAPIService.saveEnvironmentCheck(input);
}
else
{
responeData.code = 0;
responeData.message = "此项目不存在!";
}
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,551 @@
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Security.Policy;
using System.Web.Http;
using BLL;
using Model;
namespace WebAPI.Controllers.DataSync
{
/// <summary>
/// 项目数据同步
/// </summary>
public class ProjectDataSyncController : ApiController
{
/// <summary>
/// 项目同步接口
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
[HttpPost]
public Model.ResponeData saveProject([FromBody] Base_ProjectDto dto)
{
using (var db = new Model.SUBQHSEDB(Funs.ConnString))
{
var responeData = new Model.ResponeData();
var mapper = EmitMapper.ObjectMapperManager.DefaultInstance.GetMapper<Base_ProjectDto, Model.Base_Project>();
var model = mapper.Map(dto);
#region 判断是否未填
if (string.IsNullOrEmpty(model.ProjectName))
{
responeData.code = 0;
responeData.message = "项目名称(ProjectName)不能为空";
return responeData;
}
if (string.IsNullOrEmpty(model.ProjectAttribute))
{
responeData.code = 0;
responeData.message = "项目属性(ProjectAttribute)不能为空";
return responeData;
}
if (string.IsNullOrEmpty(model.ProjectCode))
{
responeData.code = 0;
responeData.message = "项目编号(ProjectCode)不能为空";
return responeData;
}
if (string.IsNullOrEmpty(model.ShortName))
{
responeData.code = 0;
responeData.message = "项目简称(ShortName)不能为空";
return responeData;
}
if (string.IsNullOrEmpty(model.UnitId))
{
responeData.code = 0;
responeData.message = "所属单位(UnitId)不能为空";
return responeData;
}
else
{
//判断userid是否有数据
var umodel = Funs.DB.Base_Unit.FirstOrDefault(x => x.UnitName == model.UnitId);
if (umodel == null)
{
responeData.code = 0;
responeData.message = "所属单位名称未查询到数据,请检查是否正确。";
return responeData;
}
else
{
model.UnitId = umodel.UnitId;
}
}
if (string.IsNullOrEmpty(model.ProjectState))
{
responeData.code = 0;
responeData.message = "项目状态(ProjectState)不能为空";
return responeData;
}
var oldProject1 = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectId != (model.ProjectId ?? "") && x.ProjectCode == model.ProjectCode);
if (oldProject1 != null)
{
responeData.code = 0;
responeData.message = "项目编号已存在";
return responeData;
}
var oldProject2 = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectId != (model.ProjectId ?? "") && x.ProjectName == model.ProjectName);
if (oldProject2 != null)
{
responeData.code = 0;
responeData.message = "项目名称已存在";
return responeData;
}
#endregion
try
{
model.ProjectId = SQLHelper.GetNewID(); ;
ProjectService.AddProject(model);
// 初始化焊接环境变量设置
BLL.Project_SysSetService.InsertHjglInit(model.ProjectId);
responeData.message = "项目同步成功。";
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
}
/// <summary>
/// 保存单位工程
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
[HttpPost]
public Model.ResponeData saveUnitWork(WBS_UnitWorkDto dto)
{
var responeData = new Model.ResponeData();
try
{
var mapper = EmitMapper.ObjectMapperManager.DefaultInstance.GetMapper<WBS_UnitWorkDto, Model.WBS_UnitWork>();
var model = mapper.Map(dto);
#region 判断
if (string.IsNullOrEmpty(model.UnitWorkCode))
{
responeData.code = 0;
responeData.message = "单位工程编码不能为空";
return responeData;
}
if (string.IsNullOrEmpty(model.UnitWorkName))
{
responeData.code = 0;
responeData.message = "单位工程名称不能为空";
return responeData;
}
if (string.IsNullOrEmpty(model.ProjectId))
{
responeData.code = 0;
responeData.message = "项目名称不能为空";
return responeData;
}
else
{
//判断projectid是否有数据
var pmodel = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectName == model.ProjectId);
if (pmodel == null)
{
responeData.code = 0;
responeData.message = "项目名称未查询到数据,请检查是否正确。";
return responeData;
}
else {
model.ProjectId = pmodel.ProjectId;
}
}
#endregion
model.UnitWorkId = SQLHelper.GetNewID(typeof(Model.WBS_UnitWork));
BLL.UnitWorkService.AddUnitWork(model);
#region 拷贝WBS内容
//拷贝分部及子分部
var divisions1 = from x in Funs.DB.WBS_Division where x.SuperDivisionId == null select x;
foreach (var d1 in divisions1)
{
Model.WBS_DivisionProject newDivisionProject = new Model.WBS_DivisionProject();
newDivisionProject.DivisionProjectId = SQLHelper.GetNewID(typeof(Model.WBS_DivisionProject));
newDivisionProject.ProjectId = model.ProjectId;
newDivisionProject.DivisionCode = d1.DivisionCode;
newDivisionProject.DivisionName = d1.DivisionName;
newDivisionProject.SortIndex = d1.SortIndex;
newDivisionProject.SuperDivisionId = d1.SuperDivisionId;
newDivisionProject.CNProfessionalId = d1.CNProfessionalId;
newDivisionProject.UnitWorkId = model.UnitWorkId;
newDivisionProject.OldDivisionId = d1.DivisionId;
newDivisionProject.SubItemType = d1.SubItemType;
BLL.DivisionProjectService.AddDivisionProject(newDivisionProject); //分部
List<Model.WBS_Division> divisions2 = (from x in Funs.DB.WBS_Division where x.SuperDivisionId == d1.DivisionId select x).ToList();
if (divisions2.Count() > 0)
{
this.InsertDivisionDetail(divisions2, newDivisionProject.DivisionProjectId, model.UnitWorkId, model.ProjectId);
}
}
//拷贝分项
var breakdowns = from x in Funs.DB.WBS_Breakdown select x;
foreach (var b in breakdowns)
{
Model.WBS_BreakdownProject bp = new Model.WBS_BreakdownProject();
bp.BreakdownProjectId = SQLHelper.GetNewID(typeof(Model.WBS_BreakdownProject));
bp.ProjectId = model.ProjectId;
bp.BreakdownCode = b.BreakdownCode;
bp.BreakdownName = b.BreakdownName;
bp.DivisionProjectId = (from x in Funs.DB.WBS_DivisionProject where x.OldDivisionId == b.DivisionId && x.UnitWorkId == model.UnitWorkId select x.DivisionProjectId).FirstOrDefault();
bp.Basis = b.Basis;
bp.CheckPoints = b.CheckPoints;
bp.RecordAndCode = b.RecordAndCode;
bp.Class = b.Class;
bp.SortIndex = b.SortIndex;
bp.Remark = b.Remark;
bp.ModelURL = b.ModelURL;
bp.UnitWorkId = model.UnitWorkId;
bp.IsAcceptance = b.IsAcceptance;
bp.IsYellow = b.IsYellow;
bp.WuHuan = b.WuHuan;
bp.JianLi = b.JianLi;
bp.FenBao = b.FenBao;
bp.YeZhu = b.YeZhu;
bp.SourceBreakdownId = b.BreakdownId;
bp.CheckAcceptType = b.CheckAcceptType;
BLL.BreakdownProjectService.AddBreakdownProject(bp);
}
#endregion
#region 拷贝资料库内容
Model.DataBase_DataTypeProject dataTypeProject = BLL.DataTypeProjectService.GetDataTypeProjectBySourceDataTypeId(Const.DataTypeNewConstructId, model.ProjectId);
List<Model.DataBase_DataType> childDataTypes = BLL.DataTypeService.GetDataTypesBySuperDataTypeId(Const.DataTypeNewConstructId);
if (childDataTypes.Count > 0)
{
if (dataTypeProject != null)
{
InsertDataTypeDetail(childDataTypes, dataTypeProject.DataTypeProjectId, model.ProjectId, model.UnitWorkId);
}
}
#endregion
responeData.message = "单位工程同步成功。";
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#region 保存用户
/// <summary>
/// 保存用户
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
public ResponeData saveUser(Sys_UserDto dto)
{
var responeData = new Model.ResponeData();
try
{
var mapper = EmitMapper.ObjectMapperManager.DefaultInstance.GetMapper<Sys_UserDto, Model.Sys_User>();
var model = mapper.Map(dto);
#region 判断
if (string.IsNullOrEmpty(model.UnitId))
{
responeData.code = 0;
responeData.message = "单位名称不能为空。";
return responeData;
}
else
{
var umodel = Funs.DB.Base_Unit.FirstOrDefault(x => x.UnitName == model.UnitId);
if (umodel == null)
{
responeData.code = 0;
responeData.message = "单位名称未查询到数据,请检查是否正确。";
return responeData;
}
else {
model.UnitId = umodel.UnitId;
}
}
var q = Funs.DB.Sys_User.FirstOrDefault(x => x.Account == model.Account && (x.UserId != model.UserId || (model.UserId == null && x.UserId != null)));
if (q != null)
{
responeData.code = 0;
responeData.message = "输入的账号已存在。";
return responeData;
}
if (!string.IsNullOrEmpty(model.UserCode))
{
var q2 = Funs.DB.Sys_User.FirstOrDefault(x => x.UserCode == model.UserCode && (x.UserId != model.UserId || (model.UserId == null && x.UserId != null)));
if (q2 != null)
{
responeData.code = 0;
responeData.message = "输入的编号已存在。";
return responeData;
}
}
if (!string.IsNullOrEmpty(model.IdentityCard) && BLL.UserService.IsExistUserIdentityCard(model.UserId, model.IdentityCard) == true)
{
responeData.code = 0;
responeData.message = "输入的身份证号码已存在。";
return responeData;
}
if (string.IsNullOrEmpty(model.DataSources))
{
responeData.code = 0;
responeData.message = "项目名称不能为空";
return responeData;
}
else
{
//判断projectid是否有数据
var pmodel = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectName == model.DataSources);
if (pmodel == null)
{
responeData.code = 0;
responeData.message = "该项目名称未查询到数据,请检查是否正确。";
return responeData;
}
else {
model.DataSources = pmodel.ProjectId;
}
}
#endregion
model.RawPassword = UserService.getInitialPassword(model.UnitId, model.IdentityCard); ;
model.Password = Funs.EncryptionPassword(model.RawPassword);
model.UserId = SQLHelper.GetNewID(typeof(Model.Sys_User));
model.IsPost=true;
UserService.AddUser(model);
Model.Project_ProjectUser newProjectUser = new Model.Project_ProjectUser
{
ProjectUserId = SQLHelper.GetNewID(typeof(Model.Project_ProjectUser)),
ProjectId = model.DataSources,
UserId = model.UserId,
UnitId = model.UnitId,
IsPost = true,
MainCNProfessionalId = model.MainCNProfessionalId,
ViceCNProfessionalId = model.ViceCNProfessionalId
};
newProjectUser.RoleId = "";
BLL.ProjectUserService.AddProjectUser(newProjectUser);
this.SetWorkPost(newProjectUser);
responeData.message = "项目用户同步成功。";
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
/// <summary>
/// 更新用户的项目岗位
/// </summary>
/// <param name="projectUser"></param>
private void SetWorkPost(Model.Project_ProjectUser projectUser)
{
var user = BLL.UserService.GetUserByUserId(projectUser.UserId);
if (user != null && !string.IsNullOrEmpty(user.IdentityCard))
{
var sitePerson = BLL.PersonService.GetPersonByIdentityCard(projectUser.ProjectId, user.IdentityCard);
if (sitePerson != null)
{
sitePerson.WorkPostId = null;
sitePerson.MainCNProfessionalId = projectUser.MainCNProfessionalId;
sitePerson.ViceCNProfessionalId = projectUser.ViceCNProfessionalId;
BLL.PersonService.UpdatePerson(sitePerson);
}
else
{
Model.SitePerson_Person newPerson = new Model.SitePerson_Person
{
PersonId = SQLHelper.GetNewID(typeof(Model.SitePerson_Person)),
PersonName = user.UserName,
Sex = user.Sex,
IdentityCard = user.IdentityCard,
ProjectId = projectUser.ProjectId,
UnitId = user.UnitId,
IsUsed = true,
MainCNProfessionalId = projectUser.MainCNProfessionalId,
ViceCNProfessionalId = projectUser.ViceCNProfessionalId,
};
newPerson.WorkPostId = null;
BLL.PersonService.AddPerson(newPerson);
}
}
}
#endregion
/// <summary>
/// 保存项目单位
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
public ResponeData saveUnit(Base_UnitDto dto)
{
var responeData = new Model.ResponeData();
try
{
var mapper = EmitMapper.ObjectMapperManager.DefaultInstance.GetMapper<Base_UnitDto, Model.Base_Unit>();
var model = mapper.Map(dto);
#region 判断
if (string.IsNullOrEmpty(model.UnitCode))
{
responeData.code = 0;
responeData.message = "单位代码(UnitCode)不能为空。";
return responeData;
}
if (string.IsNullOrEmpty(model.UnitName))
{
responeData.code = 0;
responeData.message = "单位名称(UnitName)不能为空。";
return responeData;
}
if (string.IsNullOrEmpty(model.DataSources))
{
responeData.code = 0;
responeData.message = "项目名称(DataSources)不能为空。";
return responeData;
}
else
{
//判断projectid是否有数据
var pmodel = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectName == model.DataSources);
if (pmodel == null)
{
responeData.code = 0;
responeData.message = "项目id(DataSources)未查询到数据,请检查是否正确。";
return responeData;
}
else {
model.DataSources = pmodel.ProjectId;
}
}
//判断单位名称 或者 代码是否重复
var UnitModel = Funs.DB.Base_Unit.FirstOrDefault(x => x.UnitName == model.UnitName);
if (UnitModel!=null)
{
responeData.code = 0;
responeData.message = "单位名称重复,不允许添加重复数据。";
return responeData;
}
UnitModel = Funs.DB.Base_Unit.FirstOrDefault(x => x.UnitCode == model.UnitCode);
if (UnitModel != null)
{
responeData.code = 0;
responeData.message = "单位代码重复,不允许添加重复数据。";
return responeData;
}
#endregion
model.UnitId = SQLHelper.GetNewID(typeof(Model.Base_Unit));
BLL.UnitService.AddUnit(model);
Model.Project_ProjectUnit newProjectUnit = new Model.Project_ProjectUnit
{
ProjectId = model.DataSources,
UnitId = model.UnitId,
InTime = System.DateTime.Now
};
BLL.ProjectUnitService.AddProjectUnit(newProjectUnit);
responeData.message = "保存成功!";
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
/// <summary>
/// 循环拷贝子级分部
/// </summary>
/// <param name="divisions"></param>
/// <param name="superDivisionId"></param>
/// <param name="unitWorkId"></param>
/// <param name="projectid"></param>
private void InsertDivisionDetail(List<Model.WBS_Division> divisions, string superDivisionId, string unitWorkId, string projectid)
{
foreach (var d in divisions)
{
Model.WBS_DivisionProject newDivisionProject = new Model.WBS_DivisionProject();
newDivisionProject.DivisionProjectId = SQLHelper.GetNewID(typeof(Model.WBS_DivisionProject));
newDivisionProject.ProjectId = projectid;
newDivisionProject.DivisionCode = d.DivisionCode;
newDivisionProject.DivisionName = d.DivisionName;
newDivisionProject.SortIndex = d.SortIndex;
newDivisionProject.SuperDivisionId = superDivisionId;
newDivisionProject.CNProfessionalId = d.CNProfessionalId;
newDivisionProject.UnitWorkId = unitWorkId;
newDivisionProject.OldDivisionId = d.DivisionId;
newDivisionProject.SubItemType = d.SubItemType;
BLL.DivisionProjectService.AddDivisionProject(newDivisionProject); //子级分部
List<Model.WBS_Division> divisions2 = (from x in Funs.DB.WBS_Division where x.SuperDivisionId == d.DivisionId select x).ToList();
if (divisions2.Count() > 0)
{
this.InsertDivisionDetail(divisions2, newDivisionProject.DivisionProjectId, unitWorkId, projectid);
}
}
}
/// <summary>
/// 循环拷贝子级类别
/// </summary>
/// <param name="dataTypes"></param>
/// <param name="superDataTypeId"></param>
/// <param name="projectId"></param>
/// <param name="unitWorkId"></param>
private void InsertDataTypeDetail(List<Model.DataBase_DataType> dataTypes, string superDataTypeId, string projectId, string unitWorkId)
{
foreach (var d in dataTypes)
{
Model.DataBase_DataTypeProject newDataTypeProject = new Model.DataBase_DataTypeProject();
newDataTypeProject.DataTypeProjectId = SQLHelper.GetNewID(typeof(Model.DataBase_DataTypeProject));
newDataTypeProject.ProjectId = projectId;
newDataTypeProject.DataTypeCode = d.DataTypeCode;
newDataTypeProject.DataTypeName = d.DataTypeName;
newDataTypeProject.SuperDataTypeId = superDataTypeId;
newDataTypeProject.SortIndex = d.SortIndex;
newDataTypeProject.Pages = d.Pages;
newDataTypeProject.Remark = d.Remark;
newDataTypeProject.IsRelatedWBS = d.IsRelatedWBS;
newDataTypeProject.SourceDataTypeId = d.DataTypeId;
newDataTypeProject.UnitWorkId = unitWorkId;
BLL.DataTypeProjectService.AddDataTypeProject(newDataTypeProject);
List<Model.DataBase_DataType> childDataTypes = BLL.DataTypeService.GetDataTypesBySuperDataTypeId(d.DataTypeId);
if (childDataTypes.Count > 0)
{
InsertDataTypeDetail(childDataTypes, newDataTypeProject.DataTypeProjectId, projectId, unitWorkId);
}
}
}
}
}