using Competition.Common.Util; using CompetitionAPI.api.back; using CompetitionAPI.Util; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Hosting.Server; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; namespace CompetitionAPI.Controllers.back { [Route("api/[controller]")] [ApiController] public class InitCableNumberPlateController : Controller { private readonly IWebHostEnvironment _webHostEnvironment; Competition.Mysql.BLL.pow_exam_fault exam_fault_bll = new Competition.Mysql.BLL.pow_exam_fault(); Competition.Mysql.BLL.pow_exam exam_bll = new Competition.Mysql.BLL.pow_exam(); public InitCableNumberPlateController(IWebHostEnvironment webHostEnvironment) { _webHostEnvironment = webHostEnvironment; } /// /// 初始化出线电缆编号牌接口 /// /// 考试id /// [Authorize] [HttpPost] [APIFilter] public JsonResult Index([FromBody] InitCableNumberPlateRequest req) { try { var fault_list = exam_fault_bll.GetModelList(" ExamId='" + req.ExamId + "' and FaultDesc='出线电缆编号牌型号编写错误' "); if (fault_list.Count > 0) { foreach (var item in fault_list) { var name1 = "1#配变0.4kV411东线出线电缆"; var start1 = "1#配变低压综合配电箱411熔断器"; var end1 = "1#配变0.4kV411东线001#杆"; var name2 = "1#配变0.4kV412南线出线电缆"; var start2 = "1#配变低压综合配电箱412熔断器"; var end2 = "1#配变0.4kV412南线001#杆"; //411 if (item.DeviceId == "9d8da9360c0f11ed844e7cd30a92bb1c") { item.CableName = req.PlatformArea + name1; item.CableStart = req.PlatformArea + start1; item.CableEnd = req.PlatformArea + end1; item.ModelLength = req.IncomingLineModelLength; } //412 if (item.DeviceId == "a238da230c0f11ed844e7cd30a92bb1c") { item.CableName = req.PlatformArea + name2; item.CableStart = req.PlatformArea + start2; item.CableEnd = req.PlatformArea + end2; item.ModelLength = req.OutgoingLineModelLength; } var success = new List(); var dic_name = "/Upload/Cable/" + DateTime.Now.ToString("yyyy-MM-dd") + "/"; var dir_path = _webHostEnvironment.WebRootPath + dic_name; if (!Directory.Exists(dir_path)) Directory.CreateDirectory(dir_path); var path1 = dic_name + Guid.NewGuid().ToString("N") + ".jpg"; var result1 = Tool.GeneratePictures("台区一" + (item.DeviceId == "9d8da9360c0f11ed844e7cd30a92bb1c" ? name1 : name2), "台区一" + (item.DeviceId == "9d8da9360c0f11ed844e7cd30a92bb1c" ? start1 : start2), "台区一" + (item.DeviceId == "9d8da9360c0f11ed844e7cd30a92bb1c" ? end1 : end2), (item.DeviceId == "9d8da9360c0f11ed844e7cd30a92bb1c" ? req.IncomingLineModelLength : req.OutgoingLineModelLength), path1, _webHostEnvironment.WebRootPath); if (result1) { success.Add(path1); } var path2 = dic_name + Guid.NewGuid().ToString("N") + ".jpg"; var result2 = Tool.GeneratePictures("台区二" + (item.DeviceId == "9d8da9360c0f11ed844e7cd30a92bb1c" ? name1 : name2), "台区二" + (item.DeviceId == "9d8da9360c0f11ed844e7cd30a92bb1c" ? start1 : start2), "台区二" + (item.DeviceId == "9d8da9360c0f11ed844e7cd30a92bb1c" ? end1 : end2), (item.DeviceId == "9d8da9360c0f11ed844e7cd30a92bb1c" ? req.IncomingLineModelLength : req.OutgoingLineModelLength), path2, _webHostEnvironment.WebRootPath); if (result2) { success.Add(path2); } var path3 = dic_name + Guid.NewGuid().ToString("N") + ".jpg"; var result3 = Tool.GeneratePictures("台区三" + (item.DeviceId == "9d8da9360c0f11ed844e7cd30a92bb1c" ? name1 : name2), "台区三" + (item.DeviceId == "9d8da9360c0f11ed844e7cd30a92bb1c" ? start1 : start2), "台区三" + (item.DeviceId == "9d8da9360c0f11ed844e7cd30a92bb1c" ? end1 : end2), (item.DeviceId == "9d8da9360c0f11ed844e7cd30a92bb1c" ? req.IncomingLineModelLength : req.OutgoingLineModelLength), path3, _webHostEnvironment.WebRootPath); if (result3) { success.Add(path3); } var path4 = dic_name + Guid.NewGuid().ToString("N") + ".jpg"; var result4 = Tool.GeneratePictures("台区四" + (item.DeviceId == "9d8da9360c0f11ed844e7cd30a92bb1c" ? name1 : name2), "台区四" + (item.DeviceId == "9d8da9360c0f11ed844e7cd30a92bb1c" ? start1 : start2), "台区四" + (item.DeviceId == "9d8da9360c0f11ed844e7cd30a92bb1c" ? end1 : end2), (item.DeviceId == "9d8da9360c0f11ed844e7cd30a92bb1c" ? req.IncomingLineModelLength : req.OutgoingLineModelLength), path4, _webHostEnvironment.WebRootPath); if (result4) { success.Add(path4); } var path5 = dic_name + Guid.NewGuid().ToString("N") + ".jpg"; var result5 = Tool.GeneratePictures("台区五" + (item.DeviceId == "9d8da9360c0f11ed844e7cd30a92bb1c" ? name1 : name2), "台区五" + (item.DeviceId == "9d8da9360c0f11ed844e7cd30a92bb1c" ? start1 : start2), "台区五" + (item.DeviceId == "9d8da9360c0f11ed844e7cd30a92bb1c" ? end1 : end2), (item.DeviceId == "9d8da9360c0f11ed844e7cd30a92bb1c" ? req.IncomingLineModelLength : req.OutgoingLineModelLength), path5, _webHostEnvironment.WebRootPath); if (result5) { success.Add(path5); } if (success.Count != 5) { foreach (var pic in success) { string path = _webHostEnvironment.WebRootPath + pic; if (System.IO.File.Exists(path)) { System.IO.File.Delete(path); } } return Json(Tool.GetJsonWithCode(APICode.Fail, "初始化失败!")); } else { string delete_path1 = _webHostEnvironment.WebRootPath + item.SensitiveKnowledge; if (System.IO.File.Exists(delete_path1)) { System.IO.File.Delete(delete_path1); } string delete_path2 = _webHostEnvironment.WebRootPath + item.Minhui; if (System.IO.File.Exists(delete_path2)) { System.IO.File.Delete(delete_path2); } string delete_path3 = _webHostEnvironment.WebRootPath + item.SensitiveLine; if (System.IO.File.Exists(delete_path3)) { System.IO.File.Delete(delete_path3); } string delete_path4 = _webHostEnvironment.WebRootPath + item.Allergy; if (System.IO.File.Exists(delete_path4)) { System.IO.File.Delete(delete_path4); } string delete_path5 = _webHostEnvironment.WebRootPath + item.GracefulGraceful; if (System.IO.File.Exists(delete_path5)) { System.IO.File.Delete(delete_path5); } item.SensitiveKnowledge = path1; item.Minhui = path2; item.SensitiveLine = path3; item.Allergy = path4; item.GracefulGraceful = path5; } } } if (fault_list.Count > 0) { if (exam_bll.OperationUpdateData(fault_list) > 0) { return Json(Tool.GetJsonWithCode(APICode.Success, "初始化成功!")); } else { return Json(Tool.GetJsonWithCode(APICode.Fail, "初始化失败!")); } } else { return Json(Tool.GetJsonWithCode(APICode.Fail, "没有需要初始化的数据!")); } } catch (Exception ex) { LogHelper.WriteLog(ex.Message + ",行号:" + ex.StackTrace); return Json(Tool.GetJsonWithCode(APICode.Fail, "发生错误,请联系管理员。")); } } } }