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
{
///
/// 质量管理数据同步
///
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 "";
}
}
}
///
/// 人员报验同步
///
///
///
[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();
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;
}
///
/// NCR管理同步
///
///
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();
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;
}
///
/// 质量巡检同步
///
///
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();
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;
}
}
}