SGGL_JT/SUBQHSE/WebAPI/Controllers/DataSync/CqmsController.cs

442 lines
20 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;
}
}
}