779 lines
40 KiB
C#
779 lines
40 KiB
C#
using Competition.Common.Util;
|
|
using CompetitionAPI.api.back;
|
|
using CompetitionAPI.Util;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Http;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using NPOI.XSSF.Model;
|
|
|
|
namespace CompetitionAPI.Controllers.back.score
|
|
{
|
|
[Route("api/[controller]")]
|
|
[ApiController]
|
|
public class GetAchievementDetailsController : Controller
|
|
{
|
|
Competition.Mysql.BLL.pow_achievement achievement_bll = new Competition.Mysql.BLL.pow_achievement();
|
|
|
|
Competition.Mysql.BLL.pow_achievement_details details_bll = new Competition.Mysql.BLL.pow_achievement_details();
|
|
|
|
Competition.Mysql.BLL.pow_config config_bll = new Competition.Mysql.BLL.pow_config();
|
|
|
|
Competition.Mysql.BLL.pow_user_exam user_exam_bll = new Competition.Mysql.BLL.pow_user_exam();
|
|
|
|
Competition.Mysql.BLL.pow_user_tool user_tool_bll = new Competition.Mysql.BLL.pow_user_tool();
|
|
|
|
Competition.Mysql.BLL.pow_user_operation_ticket user_operation_ticket_bll = new Competition.Mysql.BLL.pow_user_operation_ticket();
|
|
|
|
Competition.Mysql.BLL.pow_user_operation_proc_ticket user_operation_proc_ticket_bll = new Competition.Mysql.BLL.pow_user_operation_proc_ticket();
|
|
|
|
public GetAchievementDetailsController()
|
|
{
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取成绩详情接口
|
|
/// </summary>
|
|
/// <param name="AchievementId">成绩id</param>
|
|
/// <returns></returns>
|
|
[Authorize]
|
|
[HttpGet]
|
|
[APIFilter]
|
|
public JsonResult Index(string AchievementId)
|
|
{
|
|
try
|
|
{
|
|
var result = achievement_bll.GetModel(AchievementId);
|
|
if (null == result)
|
|
return Json(Tool.GetJsonWithCode(APICode.Fail, "成绩数据不存在"));
|
|
|
|
var config_model = config_bll.GetModelList("").FirstOrDefault();
|
|
if (config_model == null)
|
|
{
|
|
return Json(Tool.GetJsonWithCode(APICode.Fail, "配置信息不存在"));
|
|
}
|
|
|
|
var res = new GetAchievementDetailsResponse();
|
|
var user_exam_model = user_exam_bll.GetModelList(string.Format(" ExamId='{0}' and UserId='{1}' ", result.ExamId, result.UserId)).FirstOrDefault();
|
|
if (user_exam_model != null)
|
|
{
|
|
if (user_exam_model.Status == "已结束")
|
|
{
|
|
res.ExamName = user_exam_model.ExamName;
|
|
res.Time = int.Parse((user_exam_model.EndExamTime.Value - user_exam_model.StartExamTime.Value).TotalSeconds.ToString());
|
|
var item_data = new List<ItemData>();
|
|
|
|
var answer_info_model1 = new ItemData() { ItemName = "巡线工器具选择", Total = 3, Score = 0, TwoTotal = 0, TwoScore = 0, Data = new List<ContentData>() { } };
|
|
var answer_info_model2 = new ItemData() { ItemName = "排故工器具选择", Total = 3, Score = 0, TwoTotal = 0, TwoScore = 0, Data = new List<ContentData>() { } };
|
|
|
|
var answer_info_model3 = new ItemData() { ItemName = "停电操作票选择", Total = 5, Score = 0, TwoTotal = 0, TwoScore = 0, Data = new List<ContentData>() { } };
|
|
var answer_info_model4 = new ItemData() { ItemName = "送电操作票选择", Total = 5, Score = 0, TwoTotal = 0, TwoScore = 0, Data = new List<ContentData>() { } };
|
|
var answer_info_model5 = new ItemData() { ItemName = "停电操作票步骤", Total = 5, Score = 0, TwoTotal = 0, TwoScore = 0, Data = new List<ContentData>() { } };
|
|
var answer_info_model6 = new ItemData() { ItemName = "送电操作票步骤", Total = 5, Score = 0, TwoTotal = 0, TwoScore = 0, Data = new List<ContentData>() { } };
|
|
var answer_info_model7 = new ItemData() { ItemName = "围栏和验电", Total = 4, Score = 0, TwoTotal = 0, TwoScore = 0, Data = new List<ContentData>() { } };
|
|
var answer_info_model9 = new ItemData() { ItemName = "时间分", Total = 5, Score = 0, TwoTotal = 0, TwoScore = 0, Data = new List<ContentData>() { } };
|
|
var answer_info_model10 = new ItemData() { ItemName = "故障查询及设置故障", Total = 0, Score = 0, TwoTotal = 0, TwoScore = 0, Data = new List<ContentData>() { } };
|
|
var answer_info_model11 = new ItemData() { ItemName = "故障处理", Total = 0, Score = 0, TwoTotal = 0, TwoScore = 0, Data = new List<ContentData>() { } };
|
|
var answer_info_model12 = new ItemData() { ItemName = "其它扣分", Total = 0, Score = 0, TwoTotal = 0, TwoScore = 0, Data = new List<ContentData>() { } };
|
|
var data = details_bll.GetModelList(string.Format(" AchievementId='{0}' order by CreateTime asc ", AchievementId));
|
|
|
|
#region 巡检工器具
|
|
var all_line_tool_list = new List<ContentData>();
|
|
var line_tool_model = data.Where(a => a.Type == "巡线工器具").FirstOrDefault();
|
|
if (line_tool_model != null)
|
|
{
|
|
answer_info_model1.Total = decimal.Parse(line_tool_model.TotalScore.ToString());
|
|
answer_info_model1.Score = decimal.Parse(line_tool_model.ItemizedScore.ToString());
|
|
}
|
|
|
|
var user_tool_list = user_tool_bll.GetModelList(string.Format(" ExamId='{0}' and UserId='{1}' and IsScore=1 ", result.ExamId, result.UserId));
|
|
var line_tool_list = user_tool_list.Where(a => a.Purpose == "巡线").ToList();
|
|
for (int i = 0; i < line_tool_list.Count; i++)
|
|
{
|
|
decimal score = 0;
|
|
if (line_tool_list[i].IsSelect == "1")
|
|
{
|
|
score = decimal.Parse(config_model.LineMultipleScore);
|
|
}
|
|
else
|
|
{
|
|
score = decimal.Parse(config_model.LineMomentScore);
|
|
}
|
|
var tool_model = new ContentData() { Content = line_tool_list[i].ToolName, ItemScore = decimal.Parse((-score).ToString()) };
|
|
all_line_tool_list.Add(tool_model);
|
|
}
|
|
|
|
if (all_line_tool_list.Count() > 0)
|
|
{
|
|
answer_info_model1.Data = all_line_tool_list;
|
|
}
|
|
#endregion
|
|
|
|
#region 排故工器具
|
|
var all_trouble_tool_list = new List<ContentData>();
|
|
var trouble_tool_model = data.Where(a => a.Type == "排故工器具").FirstOrDefault();
|
|
if (trouble_tool_model != null)
|
|
{
|
|
answer_info_model2.Total = decimal.Parse(trouble_tool_model.TotalScore.ToString());
|
|
answer_info_model2.Score = decimal.Parse(trouble_tool_model.ItemizedScore.ToString());
|
|
}
|
|
|
|
var trouble_tool_list = user_tool_list.Where(a => a.Purpose == "排故").ToList();
|
|
for (int i = 0; i < trouble_tool_list.Count; i++)
|
|
{
|
|
decimal score = 0;
|
|
if (trouble_tool_list[i].IsSelect == "1")
|
|
{
|
|
score = decimal.Parse(config_model.LineMultipleScore);
|
|
}
|
|
else
|
|
{
|
|
score = decimal.Parse(config_model.LineMomentScore);
|
|
}
|
|
var tool_model = new ContentData() { Content = trouble_tool_list[i].ToolName, ItemScore = decimal.Parse((-score).ToString()) };
|
|
all_trouble_tool_list.Add(tool_model);
|
|
}
|
|
if (all_trouble_tool_list.Count() > 0)
|
|
{
|
|
answer_info_model2.Data = all_trouble_tool_list;
|
|
}
|
|
#endregion
|
|
|
|
#region 停电操作票
|
|
var all_stop_ticket_list = new List<ContentData>();
|
|
var power_failure_model = data.Where(a => a.Type == "停电操作票").FirstOrDefault();
|
|
if (power_failure_model != null)
|
|
{
|
|
answer_info_model3.Total = decimal.Parse(power_failure_model.TotalScore.ToString());
|
|
answer_info_model3.Score = decimal.Parse(power_failure_model.ItemizedScore.ToString());
|
|
}
|
|
|
|
var user_ticket_list = user_operation_ticket_bll.GetModelList(string.Format(" ExamId='{0}' and UserId='{1}' and IsScore='1' ", result.ExamId, result.UserId));
|
|
var stop_ticket_list = user_ticket_list.Where(a => a.Type == "停电").ToList();
|
|
for (int i = 0; i < stop_ticket_list.Count; i++)
|
|
{
|
|
decimal score = 1;
|
|
var ticket_model = new ContentData() { Content = stop_ticket_list[i].Content, ItemScore = decimal.Parse((-score).ToString()) };
|
|
all_stop_ticket_list.Add(ticket_model);
|
|
}
|
|
|
|
if (all_stop_ticket_list.Count() > 0)
|
|
{
|
|
answer_info_model3.Data = all_stop_ticket_list;
|
|
}
|
|
#endregion
|
|
|
|
#region 送电操作票
|
|
var all_give_ticket_list = new List<ContentData>();
|
|
var power_transmission_model = data.Where(a => a.Type == "送电操作票").FirstOrDefault();
|
|
if (power_transmission_model != null)
|
|
{
|
|
answer_info_model4.Total = decimal.Parse(power_transmission_model.TotalScore.ToString());
|
|
answer_info_model4.Score = decimal.Parse(power_transmission_model.ItemizedScore.ToString());
|
|
}
|
|
|
|
var give_ticket_list = user_ticket_list.Where(a => a.Type == "送电").ToList();
|
|
for (int i = 0; i < give_ticket_list.Count; i++)
|
|
{
|
|
decimal score = 1;
|
|
var ticket_model = new ContentData() { Content = give_ticket_list[i].Content, ItemScore = decimal.Parse((-score).ToString()) };
|
|
all_give_ticket_list.Add(ticket_model);
|
|
}
|
|
|
|
if (all_give_ticket_list.Count() > 0)
|
|
{
|
|
answer_info_model4.Data = all_give_ticket_list;
|
|
}
|
|
#endregion
|
|
|
|
#region 停电操作票步骤
|
|
var all_power_failure_step_list = new List<ContentData>();
|
|
var power_failure_step_model = data.Where(a => a.Type == "停电操作票步骤").FirstOrDefault();
|
|
if (power_failure_step_model != null)
|
|
{
|
|
answer_info_model5.Total = decimal.Parse(power_failure_step_model.TotalScore.ToString());
|
|
answer_info_model5.Score = decimal.Parse(power_failure_step_model.ItemizedScore.ToString());
|
|
}
|
|
|
|
var proc_ticket_list = user_operation_proc_ticket_bll.GetModelList(string.Format(" ExamId='{0}' and UserId='{1}' and IsScore='1' ", result.ExamId, result.UserId));
|
|
var power_failure_step_list = proc_ticket_list.Where(a => a.Type == "停电").OrderBy(a => a.SerialNumber).ToList();
|
|
for (int i = 0; i < power_failure_step_list.Count; i++)
|
|
{
|
|
var power_model = new ContentData() { Content = power_failure_step_list[i].Content, ItemScore = decimal.Parse((-power_failure_step_list[i].Score).ToString()) };
|
|
all_power_failure_step_list.Add(power_model);
|
|
}
|
|
if (all_power_failure_step_list.Count() > 0)
|
|
{
|
|
answer_info_model5.Data = all_power_failure_step_list;
|
|
}
|
|
#endregion
|
|
|
|
#region 送电操作票步骤
|
|
var all_power_transmission_step_list = new List<ContentData>();
|
|
var power_transmission_step_model = data.Where(a => a.Type == "送电操作票步骤").FirstOrDefault();
|
|
if (power_transmission_step_model != null)
|
|
{
|
|
answer_info_model6.Total = decimal.Parse(power_transmission_step_model.TotalScore.ToString());
|
|
answer_info_model6.Score = decimal.Parse(power_transmission_step_model.ItemizedScore.ToString());
|
|
}
|
|
|
|
var power_transmission_step_list = proc_ticket_list.Where(a => a.Type == "送电").OrderBy(a => a.SerialNumber).ToList();
|
|
for (int i = 0; i < power_transmission_step_list.Count; i++)
|
|
{
|
|
var power_model = new ContentData() { Content = power_transmission_step_list[i].Content, ItemScore = decimal.Parse((-power_transmission_step_list[i].Score).ToString()) };
|
|
all_power_transmission_step_list.Add(power_model);
|
|
}
|
|
if (all_power_transmission_step_list.Count() > 0)
|
|
{
|
|
answer_info_model6.Data = all_power_transmission_step_list;
|
|
}
|
|
#endregion
|
|
|
|
#region 围栏
|
|
var place_elec_list = new List<ContentData>();
|
|
var place_model = data.Where(a => a.Type == "围栏").FirstOrDefault();
|
|
if (place_model != null)
|
|
{
|
|
place_elec_list.Add(new ContentData() { Content = place_model.ItemName, ItemTotal = decimal.Parse(place_model.TotalScore.ToString()), ItemScore = decimal.Parse(place_model.ItemizedScore.ToString()) });
|
|
}
|
|
else
|
|
{
|
|
place_elec_list.Add(new ContentData() { Content = "不放置围栏分值", ItemTotal = 2, ItemScore = 0 });
|
|
}
|
|
#endregion
|
|
|
|
#region 验电
|
|
var electricity_model = data.Where(a => a.Type == "验电").FirstOrDefault();
|
|
if (electricity_model != null)
|
|
{
|
|
place_elec_list.Add(new ContentData() { Content = electricity_model.ItemName, ItemTotal = decimal.Parse(electricity_model.TotalScore.ToString()), ItemScore = decimal.Parse(electricity_model.ItemizedScore.ToString()) });
|
|
}
|
|
else
|
|
{
|
|
place_elec_list.Add(new ContentData() { Content = "箱门或插座未验电或验电顺序错误", ItemTotal = 2, ItemScore = 0 });
|
|
}
|
|
|
|
if (place_elec_list.Count() > 0)
|
|
{
|
|
answer_info_model7.Score = place_elec_list.Sum(a => a.ItemScore);
|
|
answer_info_model7.Data = place_elec_list;
|
|
}
|
|
#endregion
|
|
|
|
#region 时间分
|
|
var time_model = data.Where(a => a.Type == "时间分").FirstOrDefault();
|
|
if (time_model != null)
|
|
{
|
|
answer_info_model9.Total = decimal.Parse(time_model.TotalScore.ToString());
|
|
answer_info_model9.Score = decimal.Parse(time_model.ItemizedScore.ToString());
|
|
answer_info_model9.Data = new List<ContentData>() { new ContentData() { Content = time_model.ItemName, ItemScore = decimal.Parse(time_model.ItemizedScore.ToString()), ItemTotal = decimal.Parse(time_model.TotalScore.ToString()) } };
|
|
}
|
|
else
|
|
{
|
|
answer_info_model9.Data = new List<ContentData>() { new ContentData() { Content = "时间分", ItemScore = 0, ItemTotal = 5 } };
|
|
}
|
|
#endregion
|
|
|
|
#region 缺陷查找、缺陷处理
|
|
var all_fault_list = new List<ContentData>();
|
|
var fault_list = data.Where(a => a.Type == "故障记录选择" || a.Type == "故障选择题处理" || a.Type == "故障排故处理").OrderBy(a => a.CreateTime).ToList();
|
|
var fault_type_list = fault_list.GroupBy(a => a.FaultDesc).ToList();
|
|
for (int i = 0; i < fault_type_list.Count; i++)
|
|
{
|
|
var fault = fault_list.Where(a => a.FaultDesc == fault_type_list[i].Key).ToList();
|
|
var power_model = new ContentData() { Content = fault_type_list[i].Key, ItemTotal = 0, ItemScore = 0 };
|
|
|
|
var first = fault.Where(a => a.ScoreType == "缺陷查找分值").FirstOrDefault();
|
|
if (first != null)
|
|
{
|
|
power_model.ItemTotal = decimal.Parse(first.TotalScore.ToString());
|
|
power_model.ItemScore = decimal.Parse(first.ItemizedScore.ToString());
|
|
}
|
|
|
|
var second = fault.Where(a => a.ScoreType == "缺陷分类分值").FirstOrDefault();
|
|
if (second != null)
|
|
{
|
|
power_model.TwoItemTotal = decimal.Parse(second.TotalScore.ToString());
|
|
power_model.TwoItemScore = decimal.Parse(second.ItemizedScore.ToString());
|
|
}
|
|
|
|
all_fault_list.Add(power_model);
|
|
}
|
|
if (all_fault_list.Count() > 0)
|
|
{
|
|
answer_info_model10.Total = all_fault_list.Sum(a => a.ItemTotal);
|
|
answer_info_model10.Score = all_fault_list.Sum(a => a.ItemScore);
|
|
answer_info_model10.TwoTotal = all_fault_list.Sum(a => a.TwoItemTotal);
|
|
answer_info_model10.TwoScore = all_fault_list.Sum(a => a.TwoItemScore);
|
|
answer_info_model10.Data = all_fault_list;
|
|
}
|
|
#endregion
|
|
|
|
#region 缺陷分类分值
|
|
var all_fault_list2 = new List<ContentData>();
|
|
for (int i = 0; i < fault_type_list.Count; i++)
|
|
{
|
|
var fault = fault_list.Where(a => a.FaultDesc == fault_type_list[i].Key).ToList();
|
|
var power_model = new ContentData() { Content = fault_type_list[i].Key, ItemTotal = 0, ItemScore = 0 };
|
|
|
|
var third = fault.Where(a => a.ScoreType == "缺陷处理分值").FirstOrDefault();
|
|
if (third != null)
|
|
{
|
|
power_model.ItemTotal = decimal.Parse(third.TotalScore.ToString());
|
|
power_model.ItemScore = decimal.Parse(third.ItemizedScore.ToString());
|
|
}
|
|
|
|
all_fault_list2.Add(power_model);
|
|
}
|
|
if (all_fault_list2.Count() > 0)
|
|
{
|
|
answer_info_model11.Total = all_fault_list2.Sum(a => a.ItemTotal);
|
|
answer_info_model11.Score = all_fault_list2.Sum(a => a.ItemScore);
|
|
answer_info_model11.Data = all_fault_list2;
|
|
}
|
|
#endregion
|
|
|
|
#region 其它扣分项
|
|
var other_step_list = new List<ContentData>();
|
|
//巡检爬杆
|
|
var climbrod_model = data.Where(a => a.Type == "巡检爬杆").FirstOrDefault();
|
|
if (climbrod_model != null)
|
|
{
|
|
var power_model = new ContentData() { Content = climbrod_model.ItemName, ItemTotal = decimal.Parse(climbrod_model.TotalScore.ToString()), ItemScore = decimal.Parse(climbrod_model.ItemizedScore.ToString()) };
|
|
other_step_list.Add(power_model);
|
|
}
|
|
|
|
var platform_area_model = data.Where(a => a.Type == "台区选择").FirstOrDefault();
|
|
if (platform_area_model != null)
|
|
{
|
|
var power_model = new ContentData() { Content = platform_area_model.ItemName, ItemTotal = decimal.Parse(platform_area_model.TotalScore.ToString()), ItemScore = decimal.Parse(platform_area_model.ItemizedScore.ToString()) };
|
|
other_step_list.Add(power_model);
|
|
}
|
|
|
|
var fusible_core_model = data.Where(a => a.Type == "未分闸状态拉合熔芯").FirstOrDefault();
|
|
if (fusible_core_model != null)
|
|
{
|
|
var power_model = new ContentData() { Content = fusible_core_model.ItemName, ItemTotal = decimal.Parse(fusible_core_model.TotalScore.ToString()), ItemScore = decimal.Parse(fusible_core_model.ItemizedScore.ToString()) };
|
|
other_step_list.Add(power_model);
|
|
}
|
|
|
|
if (other_step_list.Count() > 0)
|
|
{
|
|
answer_info_model12.Score = other_step_list.Sum(a => a.ItemScore);
|
|
answer_info_model12.Data = other_step_list;
|
|
}
|
|
#endregion
|
|
|
|
item_data.Add(answer_info_model1);
|
|
item_data.Add(answer_info_model10);
|
|
item_data.Add(answer_info_model2);
|
|
item_data.Add(answer_info_model3);
|
|
item_data.Add(answer_info_model4);
|
|
item_data.Add(answer_info_model5);
|
|
item_data.Add(answer_info_model11);
|
|
item_data.Add(answer_info_model6);
|
|
item_data.Add(answer_info_model7);
|
|
item_data.Add(answer_info_model9);
|
|
item_data.Add(answer_info_model12);
|
|
res.Total = item_data.Sum(a => a.Total) + item_data.Sum(a => a.TwoTotal);
|
|
res.Sorce = item_data.Sum(a => a.Score) + item_data.Sum(a => a.TwoScore);
|
|
if (res.Sorce < 0)
|
|
{
|
|
res.Sorce = 0;
|
|
}
|
|
res.Data = item_data;
|
|
}
|
|
}
|
|
//var data = details_bll.GetModelList(" AchievementId='" + AchievementId + "' ").OrderBy(s => s.CreateTime).ToList();
|
|
//var fault_list = data.Where(a => a.Type == "故障记录选择" || a.Type == "故障选择题处理" || a.Type == "故障排故处理").OrderBy(a => a.CreateTime).ToList();
|
|
//var fault_type_list = fault_list.GroupBy(a => a.FaultDesc).ToList();
|
|
//List<DefectSearchData> list_Guzhang = new List<DefectSearchData>();
|
|
//for (int i = 0; i < fault_type_list.Count; i++)
|
|
//{
|
|
// var fault = fault_list.Where(a => a.FaultDesc == fault_type_list[i].Key).ToList();
|
|
// DefectSearchData info = new DefectSearchData();
|
|
// info.Xh = (i + 1);
|
|
// info.Gzxx = fault_type_list[i].Key;
|
|
|
|
// if (info.Gzxx == "杆塔2--拉线断股锈蚀-北侧拉线")
|
|
// {
|
|
// int x = 0;
|
|
// }
|
|
|
|
// var first = fault.Where(a => a.ScoreType == "缺陷查找分值").FirstOrDefault();
|
|
// if (first != null)
|
|
// {
|
|
// info.CzqxScore = first.TotalScore.ToString();
|
|
// info.CzqxSj = first.ItemizedScore.ToString();
|
|
// }
|
|
// else
|
|
// {
|
|
// info.CzqxScore = "0";
|
|
// info.CzqxSj = "0";
|
|
// }
|
|
|
|
// var second = fault.Where(a => a.ScoreType == "缺陷分类分值").FirstOrDefault();
|
|
// if (second != null)
|
|
// {
|
|
// info.GzqxScore = second.TotalScore.ToString();
|
|
// info.GzqxSj = second.ItemizedScore.ToString();
|
|
// }
|
|
// else
|
|
// {
|
|
// info.GzqxScore = "0";
|
|
// info.GzqxSj = "0";
|
|
// }
|
|
|
|
// var third = fault.Where(a => a.ScoreType == "缺陷处理分值").FirstOrDefault();
|
|
// if (third != null)
|
|
// {
|
|
// info.ClqxScore = third.TotalScore.ToString();
|
|
// info.ClqxSj = third.ItemizedScore.ToString();
|
|
|
|
// }
|
|
// else
|
|
// {
|
|
// info.ClqxScore = "0";
|
|
// info.ClqxSj = "0";
|
|
// }
|
|
|
|
// list_Guzhang.Add(info);
|
|
//}
|
|
|
|
//List<OperationData> list_result = new List<OperationData>();
|
|
//// 1 巡线工器具
|
|
//var line_tool_model = data.Where(a => a.Type == "巡线工器具").FirstOrDefault();
|
|
//var index = 1;
|
|
//OperationData op = new OperationData();
|
|
//op.Xh = index;
|
|
//if (line_tool_model != null)
|
|
//{
|
|
// op.Czxm = line_tool_model.Type;
|
|
// op.Cznr = line_tool_model.ItemName;
|
|
// op.Szfz = line_tool_model.TotalScore.ToString();
|
|
// op.Sjdf = line_tool_model.ItemizedScore.ToString();
|
|
//}
|
|
//else
|
|
//{
|
|
// op.Czxm = "巡线工器具";
|
|
// op.Cznr = "巡线工器具选择";
|
|
// op.Szfz = config_model.LineTotalScore;
|
|
// op.Sjdf = "0";
|
|
//}
|
|
//list_result.Add(op);
|
|
|
|
////增加巡线工器具 详情
|
|
////多选扣分值
|
|
//var LineMultipleScore = decimal.Parse(config_model.LineMultipleScore);
|
|
////少选扣分值
|
|
//var LineMomentScore = decimal.Parse(config_model.LineMomentScore);
|
|
//var user_tool_list = user_tool_bll.GetModelList(" ExamId='" + result.ExamId + "' and UserId='" + result.UserId + "' and IsScore='1' ");
|
|
|
|
//var line_tool_list = user_tool_list.Where(a => a.Purpose == "巡线").ToList();
|
|
//for (int i = 0; i < line_tool_list.Count; i++)
|
|
//{
|
|
// index++;
|
|
// op = new OperationData();
|
|
// op.Xh = index;
|
|
// op.Czxm = "巡线工器具";
|
|
// op.Cznr = line_tool_list[i].ToolName;
|
|
// op.Szfz = "";
|
|
|
|
// if (line_tool_list[i].IsSelect == "1")
|
|
// {
|
|
// op.Sjdf = (-LineMultipleScore).ToString();
|
|
// }
|
|
// else
|
|
// {
|
|
// op.Sjdf = (-LineMomentScore).ToString();
|
|
// }
|
|
// list_result.Add(op);
|
|
//}
|
|
|
|
////2 排故工器具
|
|
//var trouble_tool_model = data.Where(a => a.Type == "排故工器具").FirstOrDefault();
|
|
//index++;
|
|
//op = new OperationData();
|
|
//op.Xh = index;
|
|
|
|
//if (trouble_tool_model != null)
|
|
//{
|
|
// op.Czxm = trouble_tool_model.Type;
|
|
// op.Cznr = trouble_tool_model.ItemName;
|
|
// op.Szfz = trouble_tool_model.TotalScore.ToString();
|
|
// op.Sjdf = trouble_tool_model.ItemizedScore.ToString();
|
|
//}
|
|
//else
|
|
//{
|
|
// op.Czxm = "排故工器具";
|
|
// op.Cznr = "排故工器具选择";
|
|
// op.Szfz = config_model.LineTotalScore;
|
|
// op.Sjdf = "0";
|
|
//}
|
|
//list_result.Add(op);
|
|
|
|
////增加排故详情
|
|
//var trouble_tool_list = user_tool_list.Where(a => a.Purpose == "排故").ToList();
|
|
//for (int i = 0; i < trouble_tool_list.Count; i++)
|
|
//{
|
|
// index++;
|
|
// op = new OperationData();
|
|
// op.Xh = index;
|
|
// op.Czxm = "排故工器具";
|
|
// op.Cznr = trouble_tool_list[i].ToolName;
|
|
// op.Szfz = "";
|
|
|
|
// if (trouble_tool_list[i].IsSelect == "1")
|
|
// {
|
|
// op.Sjdf = (-LineMultipleScore).ToString();
|
|
// }
|
|
// else
|
|
// {
|
|
// op.Sjdf = (-LineMomentScore).ToString();
|
|
// }
|
|
// list_result.Add(op);
|
|
//}
|
|
|
|
////3 停电操作票
|
|
//var power_failure_model = data.Where(a => a.Type == "停电操作票").FirstOrDefault();
|
|
//index++;
|
|
//op = new OperationData();
|
|
//op.Xh = index;
|
|
|
|
//if (power_failure_model != null)
|
|
//{
|
|
// op.Czxm = power_failure_model.Type;
|
|
// op.Cznr = power_failure_model.ItemName;
|
|
// op.Szfz = power_failure_model.TotalScore.ToString();
|
|
// op.Sjdf = power_failure_model.ItemizedScore.ToString();
|
|
//}
|
|
//else
|
|
//{
|
|
// op.Czxm = "停电操作票";
|
|
// op.Cznr = "停电操作票选择";
|
|
// op.Szfz = "5";
|
|
// op.Sjdf = "0";
|
|
//}
|
|
//list_result.Add(op);
|
|
////4 送电操作票
|
|
//var power_transmission_model = data.Where(a => a.Type == "送电操作票").FirstOrDefault();
|
|
//index++;
|
|
//op = new OperationData();
|
|
//op.Xh = index;
|
|
|
|
//if (power_transmission_model != null)
|
|
//{
|
|
// op.Czxm = power_transmission_model.Type;
|
|
// op.Cznr = power_transmission_model.ItemName;
|
|
// op.Szfz = power_transmission_model.TotalScore.ToString();
|
|
// op.Sjdf = power_transmission_model.ItemizedScore.ToString();
|
|
//}
|
|
//else
|
|
//{
|
|
// op.Czxm = "送电操作票";
|
|
// op.Cznr = "送电操作票选择";
|
|
// op.Szfz = "5";
|
|
// op.Sjdf = "0";
|
|
//}
|
|
//list_result.Add(op);
|
|
//// 5 停电操作票步骤
|
|
//var power_failure_step_model = data.Where(a => a.Type == "停电操作票步骤").FirstOrDefault();
|
|
//index++;
|
|
//op = new OperationData();
|
|
//op.Xh = index;
|
|
|
|
//if (power_failure_step_model != null)
|
|
//{
|
|
// op.Czxm = power_failure_step_model.Type;
|
|
// op.Cznr = power_failure_step_model.ItemName;
|
|
// op.Szfz = power_failure_step_model.TotalScore.ToString();
|
|
// op.Sjdf = power_failure_step_model.ItemizedScore.ToString();
|
|
//}
|
|
//else
|
|
//{
|
|
// op.Czxm = "停电操作票步骤";
|
|
// op.Cznr = "停电操作票步骤";
|
|
// op.Szfz = "5";
|
|
// op.Sjdf = "0";
|
|
//}
|
|
//list_result.Add(op);
|
|
|
|
////增加停电操作票步骤 详情
|
|
//var proc_ticket_list = user_operation_proc_ticket_bll.GetModelList(" ExamId='" + result.ExamId + "' and UserId='" + result.UserId + "' and IsScore='1' ");
|
|
//var power_failure_step_list = proc_ticket_list.Where(a => a.Type == "停电").OrderBy(a => a.SerialNumber).ToList();
|
|
//for (int i = 0; i < power_failure_step_list.Count; i++)
|
|
//{
|
|
// index++;
|
|
// op = new OperationData();
|
|
// op.Xh = index;
|
|
// op.Czxm = "停电操作票步骤";
|
|
// op.Cznr = power_failure_step_list[i].Content;
|
|
// op.Szfz = "";
|
|
// op.Sjdf = (-power_failure_step_list[i].Score).ToString();
|
|
// list_result.Add(op);
|
|
//}
|
|
|
|
////6 送电操作票步骤
|
|
//var power_transmission_step_model = data.Where(a => a.Type == "送电操作票步骤").FirstOrDefault();
|
|
//index++;
|
|
//op = new OperationData();
|
|
//op.Xh = index;
|
|
|
|
//if (power_transmission_step_model != null)
|
|
//{
|
|
// op.Czxm = power_transmission_step_model.Type;
|
|
// op.Cznr = power_transmission_step_model.ItemName;
|
|
// op.Szfz = power_transmission_step_model.TotalScore.ToString();
|
|
// op.Sjdf = power_transmission_step_model.ItemizedScore.ToString();
|
|
//}
|
|
//else
|
|
//{
|
|
// op.Czxm = "送电操作票步骤";
|
|
// op.Cznr = "送电操作票步骤";
|
|
// op.Szfz = "5";
|
|
// op.Sjdf = "0";
|
|
//}
|
|
//list_result.Add(op);
|
|
|
|
////增加送电操作票步骤详情
|
|
//var power_transmission_step_list = proc_ticket_list.Where(a => a.Type == "送电").OrderBy(a => a.SerialNumber).ToList();
|
|
//for (int i = 0; i < power_transmission_step_list.Count; i++)
|
|
//{
|
|
// index++;
|
|
// op = new OperationData();
|
|
// op.Xh = index;
|
|
// op.Czxm = "送电操作票步骤";
|
|
// op.Cznr = power_transmission_step_list[i].Content;
|
|
// op.Szfz = "";
|
|
// op.Sjdf = (-power_transmission_step_list[i].Score).ToString();
|
|
// list_result.Add(op);
|
|
//}
|
|
|
|
//// 7 围栏
|
|
//var place_model = data.Where(a => a.Type == "围栏").FirstOrDefault();
|
|
//index++;
|
|
//op = new OperationData();
|
|
//op.Xh = index;
|
|
|
|
//if (place_model != null)
|
|
//{
|
|
// op.Czxm = place_model.Type;
|
|
// op.Cznr = place_model.ItemName;
|
|
// op.Szfz = place_model.TotalScore.ToString();
|
|
// op.Sjdf = place_model.ItemizedScore.ToString();
|
|
//}
|
|
//else
|
|
//{
|
|
// op.Czxm = "围栏";
|
|
// op.Cznr = "不放置围栏分值";
|
|
// op.Szfz = "2";
|
|
// op.Sjdf = "0";
|
|
//}
|
|
//list_result.Add(op);
|
|
|
|
//// 8 验电
|
|
//var electricity_model = data.Where(a => a.Type == "验电").FirstOrDefault();
|
|
//index++;
|
|
//op = new OperationData();
|
|
//op.Xh = index;
|
|
|
|
//if (electricity_model != null)
|
|
//{
|
|
// op.Czxm = electricity_model.Type;
|
|
// op.Cznr = electricity_model.ItemName;
|
|
// op.Szfz = electricity_model.TotalScore.ToString();
|
|
// op.Sjdf = electricity_model.ItemizedScore.ToString();
|
|
//}
|
|
//else
|
|
//{
|
|
// op.Czxm = "验电";
|
|
// op.Cznr = "箱门或插座未验电或验电顺序错误";
|
|
// op.Szfz = "2";
|
|
// op.Sjdf = "0";
|
|
//}
|
|
//list_result.Add(op);
|
|
|
|
////巡检爬杆
|
|
//var Climbrod_model = data.Where(a => a.Type == "巡检爬杆").FirstOrDefault();
|
|
//if (Climbrod_model != null)
|
|
//{
|
|
// index++;
|
|
// op = new OperationData();
|
|
// op.Xh = index;
|
|
// op.Czxm = Climbrod_model.Type;
|
|
// op.Cznr = Climbrod_model.ItemName;
|
|
// op.Szfz = Climbrod_model.TotalScore.ToString();
|
|
// op.Sjdf = Climbrod_model.ItemizedScore.ToString();
|
|
// list_result.Add(op);
|
|
//}
|
|
|
|
|
|
|
|
////9 时间分
|
|
//var time_score_model = data.Where(a => a.Type == "时间分").FirstOrDefault();
|
|
//index++;
|
|
//op = new OperationData();
|
|
//op.Xh = index;
|
|
|
|
//if (time_score_model != null)
|
|
//{
|
|
// op.Czxm = time_score_model.Type;
|
|
// op.Cznr = time_score_model.ItemName;
|
|
// op.Szfz = time_score_model.TotalScore.ToString();
|
|
// op.Sjdf = time_score_model.ItemizedScore.ToString();
|
|
//}
|
|
//else
|
|
//{
|
|
// op.Czxm = "时间分";
|
|
// op.Cznr = "时间分";
|
|
// op.Szfz = "5";
|
|
// op.Sjdf = "0";
|
|
//}
|
|
//list_result.Add(op);
|
|
|
|
//// 10 台区选择
|
|
|
|
//var platform_area_model = data.Where(a => a.Type == "台区选择").FirstOrDefault();
|
|
//if (platform_area_model != null)
|
|
//{
|
|
// index++;
|
|
// op = new OperationData();
|
|
// op.Xh = index;
|
|
// op.Czxm = platform_area_model.Type;
|
|
// op.Cznr = platform_area_model.ItemName;
|
|
// op.Szfz = platform_area_model.TotalScore.ToString();
|
|
// op.Sjdf = platform_area_model.ItemizedScore.ToString();
|
|
// list_result.Add(op);
|
|
//}
|
|
|
|
//// 11 未分闸状态拉合熔芯
|
|
//var fusible_core_model = data.Where(a => a.Type == "未分闸状态拉合熔芯").FirstOrDefault();
|
|
//if (fusible_core_model != null)
|
|
//{
|
|
// index++;
|
|
// op = new OperationData();
|
|
// op.Xh = index;
|
|
// op.Czxm = fusible_core_model.Type;
|
|
// op.Cznr = fusible_core_model.ItemName;
|
|
// op.Szfz = fusible_core_model.TotalScore.ToString();
|
|
// op.Sjdf = fusible_core_model.ItemizedScore.ToString();
|
|
// list_result.Add(op);
|
|
//}
|
|
|
|
//res.DefectSearch = list_Guzhang;
|
|
//res.Operation = list_result;
|
|
if (string.IsNullOrEmpty(res.ExamName))
|
|
{
|
|
res = null;
|
|
}
|
|
return Json(Tool.GetJsonWithCode(APICode.Success, res));
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.WriteLog(ex.Message + ",行号:" + ex.StackTrace);
|
|
return Json(Tool.GetJsonWithCode(APICode.Fail, "发生错误,请联系管理员。"));
|
|
}
|
|
}
|
|
}
|
|
}
|