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