442 lines
20 KiB
C#
442 lines
20 KiB
C#
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;
|
||
}
|
||
|
||
}
|
||
} |