using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Text.RegularExpressions;
using System.Web;
using VRS.Util;
using static Telerik.Web.UI.OrgChartStyles;
namespace VRS.Handler
{
///
/// ResultDetail 的摘要说明
///
public class ResultDetail : BaseHandler, IHttpHandler
{
DataService.BLL.admin_user bll = new DataService.BLL.admin_user();
DataService.BLL.admin_user bll_user = new DataService.BLL.admin_user();
DataService.BLL.pro_subject bll_subject = new DataService.BLL.pro_subject();
DataService.BLL.admin_log bll_log = new DataService.BLL.admin_log();
DataService.BLL.pro_result bll_pro_result = new DataService.BLL.pro_result();
DataService.BLL.pro_result_detail bll_pro_result_detail = new DataService.BLL.pro_result_detail();
DataService.BLL.pro_subject_proc bll_subject_proc = new DataService.BLL.pro_subject_proc();
DataService.BLL.exam_result bll_exam_result = new DataService.BLL.exam_result();
DataService.BLL.exam_result_detail bll_exam_result_detail = new DataService.BLL.exam_result_detail();
DataService.BLL.exam_result_detail_shixun bll_exam_result_detail_shixun = new DataService.BLL.exam_result_detail_shixun();
DataService.BLL.exam_result_detail_config bll_exam_result_detail_config = new DataService.BLL.exam_result_detail_config();
DataService.BLL.exam_result_match bll_exam_result_match = new DataService.BLL.exam_result_match();
DataService.BLL.exam_config_answer bll_config_answer = new DataService.BLL.exam_config_answer();
DataService.BLL.exam_config_cache bll_config_cache = new DataService.BLL.exam_config_cache();
DataService.BLL.subsubject bll_subsubject = new DataService.BLL.subsubject();
DataService.BLL.subsubjectstep bll_subsubjectstep = new DataService.BLL.subsubjectstep();
public void ProcessRequest(HttpContext context)
{
baseContext = context;
context.Response.ContentType = "application/json";
CrossDomain();
//context.Response.ContentType = "text/plain";
if (null == context.Request["action"])
{
var result = GetResult(false, "缺少参数:action");
context.Response.Write(result);
context.Response.End();
}
string action = context.Request["action"];
switch (action)
{
//保存竞赛考试--智能制造工厂 配置得分
//case "saveconfig":
// saveMatchConfig(context);
// break;
//保存竞赛考试 平阴华玫或智能制造工厂、炭黑生产制造
case "savemathch":
saveMatch(context);
break;
//保存考试考核、实训考核(包含子科目) 【sjms 考试模式: 0 考试考核、 1 实训考核】
case "saveresult":
SaveExam(context);
break;
//保存带子科目的实训成绩---弃用
//case "saveresultsub":
//SaveExamSub(context);
//break;
//用户注册
case "reg":
RegUser(context);
break;
//用户登录
case "login":
LoginUser(context);
break;
//用户查询
case "queryUser":
QueryUser(context);
break;
//查询部门
case "querydepart":
QueryDepart(context);
break;
default:
var result = GetResult(false, "方法名不存在:" + action);
context.Response.Write(result);
break;
}
}
///
/// 智能制造工厂 配置得分 user_id
///
//public void saveMatchConfig(HttpContext context)
//{
// var user_id = context.Request.Params["user_id"];
// var ret = string.Empty;
// string sql_config = " 1=1 ";
// string sql_config_o = " 1=1 ";
// if (string.IsNullOrEmpty(user_id))
// {
// ret = GetResult(false, "user_id参数不能为空");
// context.Response.Write(ret);
// context.Response.End();
// }
// else
// {
// sql_config_o += " and user_id='" + user_id + "'";
// }
// var mark = context.Request.Params["mark"];
// if (string.IsNullOrEmpty(mark))
// {
// ret = GetResult(false, "user_id参数不能为空");
// context.Response.Write(ret);
// context.Response.End();
// }
// else
// {
// DateTime datetime = DateTime.Now;
// sql_config += " and mark='" + mark + "'";
// sql_config_o += " and user_id='" + user_id + "' or ( start_time<'" + datetime + "' and expire_time>'" + datetime + "' ) ";
// }
// List listConfig = new List();
// try
// {
// //listConfig = JsonConvert.DeserializeObject>(data);
// var config_list = bll_config_answer.GetModelList(sql_config);
// var config_cache_list = bll_config_cache.GetModelList(sql_config_o).ToList();
// dxgl_list dt = new dxgl_list();
// foreach (var config in config_list)
// {
// string answer = config.answer;
// mark = config.mark;
// var cc = config_cache_list.Where(x => x.mark == mark).FirstOrDefault();
// if (config.mark == "DB-IotLite_yx")
// {
// ConfigItem item = new ConfigItem();
// DBIotLiteYx og = JsonConvert.DeserializeObject(config.answer);
// DBIotLiteYx nw = JsonConvert.DeserializeObject(cc.mark_value);
// if (CompareObject.IsConsistent(og, nw, dt, out string field, out string field_yes, out string field_no))
// {
// listConfig.Add(GetConfigItem("DB-IotLite_yx", "DB-IotLite网关有线", 4, 4, field, field_yes, field_no));
// }
// else
// {
// listConfig.Add(GetConfigItem("DB-IotLite_yx", "DB-IotLite网关有线", 4, 0, field, field_yes, field_no));
// }
// }
// if (config.mark == "DB-IotLite_wx")
// {
// DBIotLiteWx og = JsonConvert.DeserializeObject(config.answer);
// DBIotLiteWx nw = JsonConvert.DeserializeObject(cc.mark_value);
// if (CompareObject.IsConsistent(og, nw, dt, out string field, out string field_yes, out string field_no))
// {
// listConfig.Add(GetConfigItem("DB-IotLite_wx", "DB-IotLite网关无线", 3, 3, field, field_yes, field_no));
// }
// else
// {
// listConfig.Add(GetConfigItem("DB-IotLite_wx", "DB-IotLite网关无线", 3, 0, field, field_yes, field_no));
// }
// }
// if (config.mark == "CHGYWG_yx")
// {
// CHGYWGYx og = JsonConvert.DeserializeObject(config.answer);
// CHGYWGYx nw = JsonConvert.DeserializeObject(cc.mark_value);
// if (CompareObject.IsConsistent(og, nw, dt, out string field, out string field_yes, out string field_no))
// {
// listConfig.Add(GetConfigItem("CHGYWG_yx", "斥候工业网关有线", 3, 3, field, field_yes, field_no));
// }
// else
// {
// listConfig.Add(GetConfigItem("CHGYWG_yx", "斥候工业网关有线", 3, 0, field, field_yes, field_no));
// }
// }
// if (config.mark == "CHGYWG_wx")
// {
// CHGYWGWx og = JsonConvert.DeserializeObject(config.answer);
// CHGYWGWx nw = JsonConvert.DeserializeObject(cc.mark_value);
// if (CompareObject.IsConsistent(og, nw, dt, out string field, out string field_yes, out string field_no))
// {
// listConfig.Add(GetConfigItem("CHGYWG_wx", "斥候工业网关无线", 3, 3, field, field_yes, field_no));
// }
// else
// {
// listConfig.Add(GetConfigItem("CHGYWG_wx", "斥候工业网关无线", 3, 0, field, field_yes, field_no));
// }
// }
// if (config.mark == "CKFWQ_yx")
// {
// CKFWQyx og = JsonConvert.DeserializeObject(config.answer);
// CKFWQyx nw = JsonConvert.DeserializeObject(cc.mark_value);
// if (CompareObject.IsConsistent(og, nw, dt, out string field, out string field_yes, out string field_no))
// {
// listConfig.Add(GetConfigItem("CKFWQ_yx", "串口服务器有线", 2, 2, field, field_yes, field_no));
// }
// else
// {
// listConfig.Add(GetConfigItem("CKFWQ_yx", "串口服务器有线", 2, 0, field, field_yes, field_no));
// }
// }
// if (config.mark == "CKFWQ_wx")
// {
// CKFWQWx og = JsonConvert.DeserializeObject(config.answer);
// CKFWQWx nw = JsonConvert.DeserializeObject(cc.mark_value);
// if (CompareObject.IsConsistent(og, nw, dt, out string field, out string field_yes, out string field_no))
// {
// listConfig.Add(GetConfigItem("CKFWQ_wx", "串口服务器无线", 2, 2, field, field_yes, field_no));
// }
// else
// {
// listConfig.Add(GetConfigItem("CKFWQ_wx", "串口服务器无线", 2, 0, field, field_yes, field_no));
// }
// }
// if (config.mark == "GYWZ_yx")
// {
// GYWZyx og = JsonConvert.DeserializeObject(config.answer);
// GYWZyx nw = JsonConvert.DeserializeObject(cc.mark_value);
// if (CompareObject.IsConsistent(og, nw, dt, out string field, out string field_yes, out string field_no))
// {
// listConfig.Add(GetConfigItem("GYWZ_yx", "工业网闸有线", 3, 3, field, field_yes, field_no));
// }
// else
// {
// listConfig.Add(GetConfigItem("GYWZ_yx", "工业网闸有线", 3, 0, field, field_yes, field_no));
// }
// }
// if (config.mark == "GYWZ_wx")
// {
// GYWZWx og = JsonConvert.DeserializeObject(config.answer);
// GYWZWx nw = JsonConvert.DeserializeObject(cc.mark_value);
// if (CompareObject.IsConsistent(og, nw, dt, out string field, out string field_yes, out string field_no))
// {
// listConfig.Add(GetConfigItem("GYWZ_wx", "工业网闸无线", 3, 3, field, field_yes, field_no));
// }
// else
// {
// listConfig.Add(GetConfigItem("GYWZ_wx", "工业网闸无线", 3, 0, field, field_yes, field_no));
// }
// }
// if (config.mark == "YDPZYM_wgpz")
// {
// YDPZYMWgpz og = JsonConvert.DeserializeObject(config.answer);
// YDPZYMWgpz nw = JsonConvert.DeserializeObject(cc.mark_value);
// if (CompareObject.IsConsistent(og, nw, dt, out string field, out string field_yes, out string field_no))
// {
// listConfig.Add(GetConfigItem("YDPZYM_wgpz", "云端配置页面网关配置", 2, 2, field, field_yes, field_no));
// }
// else
// {
// listConfig.Add(GetConfigItem("YDPZYM_wgpz", "云端配置页面网关配置", 2, 0, field, field_yes, field_no));
// }
// }
// if (config.mark == "YDPZYM_wgwh")
// {
// YDPZYMWgwh og = JsonConvert.DeserializeObject(config.answer);
// YDPZYMWgwh nw = JsonConvert.DeserializeObject(cc.mark_value);
// if (CompareObject.IsConsistent(og, nw, dt, out string field, out string field_yes, out string field_no))
// {
// listConfig.Add(GetConfigItem("YDPZYM_wgwh", "云端配置页面网关维护", 2, 2, field, field_yes, field_no));
// }
// else
// {
// listConfig.Add(GetConfigItem("YDPZYM_wgwh", "云端配置页面网关维护", 2, 0, field, field_yes, field_no));
// }
// }
// }
// }
// catch (Exception ex)
// {
// ret = GetResult(false, "data考试详情异常:" + ex.Message);
// context.Response.Write(ret);
// context.Response.End();
// }
// //配置得分
// var pic_score = listConfig.Select(s => s.score).Sum();
// var now = DateTime.Now;
// var subject = "智能制造工厂";
// var sjms = "竞赛模式";
// //exam_result_match: {"user_id":"USER202307301109254198","subject":"平阴华玫","score":88.0,"sjms":"实践模式"}
// var result_exists = bll_exam_result_match.GetModelList(string.Format("user_id='{0}' and subject='智能制造工厂' ", user_id)).FirstOrDefault();
// if (null == result_exists)
// {
// var result_item = new DataService.Model.exam_result_match();
// var result_id = BasePage.GetId();
// result_item.id = result_id;
// result_item.user_id = user_id;
// result_item.subject = subject;
// result_item.sjms = sjms;
// result_item.create_time = now;
// result_item.pic_score = pic_score;
// result_item.sum_score = pic_score; //总分 =配置得分
// if (bll_exam_result_match.Add(result_item))
// {
// int postion = 1;
// foreach (var item in listConfig)
// {
// var config = new DataService.Model.exam_result_detail_config();
// config.id = BasePage.GetNextId(result_id, postion++);
// config.result_id = result_id;
// config.create_time = now;
// config.mark = item.mark;
// config.topic = item.topic;
// config.total = item.total;
// config.score = item.score;
// config.field = item.field;
// config.field_yes = item.field_yes;
// config.field_no = item.field_no;
// config.other = item.other;
// bll_exam_result_detail_config.Add(config);
// }
// ret = GetResult(true, result_item);
// context.Response.Write(ret);
// context.Response.End();
// }
// }
// else
// {
// //总分 =原有三维分+配置分数
// var result_id = result_exists.id;
// var listDelete = bll_exam_result_detail_config.GetModelList("result_id='" + result_id + "'").ToList();
// if (mark == null)
// {
// var array = listDelete.Select(s => s.id).ToArray();
// List list = new List();
// foreach (var item in array)
// {
// list.Add("'" + item + "'");
// }
// if (list.Count > 0)
// {
// var id_list = string.Join(",", list.ToArray());
// bll_exam_result_detail_config.DeleteList(id_list);
// }
// int postion = 1;
// foreach (var item in listConfig)
// {
// var config = new DataService.Model.exam_result_detail_config();
// config.id = BasePage.GetLongId();
// config.result_id = result_id;
// config.create_time = now;
// config.mark = item.mark;
// config.topic = item.topic;
// config.total = item.total;
// config.score = item.score;
// config.field = item.field;
// config.field_yes = item.field_yes;
// config.field_no = item.field_no;
// config.other = item.other;
// bll_exam_result_detail_config.Add(config);
// }
// }
// else
// {
// var model = listDelete.Where(x => x.mark == mark)?.FirstOrDefault();
// if (model != null)
// {
// var item = listConfig.FirstOrDefault();
// var config = new DataService.Model.exam_result_detail_config();
// config.id = model.id;
// config.result_id = result_id;
// config.create_time = now;
// config.mark = item.mark;
// config.topic = item.topic;
// config.total = item.total;
// config.score = item.score;
// config.field = item.field;
// config.field_yes = item.field_yes;
// config.field_no = item.field_no;
// config.other = item.other;
// bll_exam_result_detail_config.Update(config);
// }
// else
// {
// var item = listConfig.FirstOrDefault();
// var config = new DataService.Model.exam_result_detail_config();
// config.id = BasePage.GetLongId();
// config.result_id = result_id;
// config.create_time = now;
// config.mark = item.mark;
// config.topic = item.topic;
// config.total = item.total;
// config.score = item.score;
// config.field = item.field;
// config.field_yes = item.field_yes;
// config.field_no = item.field_no;
// config.other = item.other;
// bll_exam_result_detail_config.Add(config);
// }
// }
// var score = bll_exam_result_detail_config.GetModelList("result_id='" + result_id + "'").Sum(x => x.score);
// result_exists.pic_score = score;
// result_exists.sum_score = result_exists.score + score;
// bll_exam_result_match.Update(result_exists);
// ret = GetResult(true, result_exists);
// context.Response.Write(ret);
// context.Response.End();
// }
//}
public ConfigItem GetConfigItem(string mark, string topic, decimal total, decimal score, string field, string field_yes, string field_no)
{
ConfigItem item = new ConfigItem();
item.mark = mark;
item.topic = topic;
item.total = total;
item.score = score;
item.field = field;
item.field_yes = field_yes;
item.field_no = field_no;
return item;
}
//保存竞赛考试
public void saveMatch(HttpContext context)
{
var data = context.Request.Params["data"];
var ret = string.Empty;
if (string.IsNullOrEmpty(data))
{
ret = GetResult(false, "data参数不能为空");
context.Response.Write(ret);
context.Response.End();
}
DataService.Model.exam_result_match result_item = null;
try
{
result_item = JsonConvert.DeserializeObject(data);
}
catch (Exception ex)
{
ret = GetResult(false, "考试科目:data 异常:" + ex.Message);
context.Response.Write(ret);
context.Response.End();
}
var user_id = result_item.user_id;
string sql_config = " 1=1 ";
string sql_config_o = " 1=1 ";
if (string.IsNullOrEmpty(user_id))
{
ret = GetResult(false, "user_id参数不能为空");
context.Response.Write(ret);
context.Response.End();
}
else
{
DateTime datetime = DateTime.Now;
sql_config_o += " and user_id='" + user_id + "' or ( start_time<'" + datetime + "' and expire_time>'" + datetime + "' ) ";
}
#region 三维端上传 智能制造工厂
//三维端上传 智能制造工厂
if (result_item.subject == "智能制造工厂")
{
var lang = context.Request.Params["lang"];
var result_exists = bll_exam_result_match.GetModelList(string.Format("user_id='{0}' and subject='智能制造工厂' ", result_item.user_id)).FirstOrDefault();
if (null == result_exists)
{
var result_id = BasePage.GetId();
result_item.id = result_id;
result_item.sum_score = result_item.score; //总分 =三维得分
result_item.create_time = DateTime.Now;
result_item.r1 = "lang:" + lang;
if (!bll_exam_result_match.Add(result_item))
{
ret = GetResult(false, result_item);
context.Response.Write(ret);
context.Response.End();
}
}
else
{
result_exists.score = result_item.score;//三维得分
result_exists.sjms = result_item.sjms; //模式:竞赛模式
result_exists.sum_score = result_item.score + (result_exists.pic_score.HasValue ? result_exists.pic_score.Value : 0); //总分 =三维分+配置分数
result_exists.r2 = "updatetime:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
result_exists.r1 = "lang:" + lang;
if (!bll_exam_result_match.Update(result_exists))
{
ret = GetResult(false, result_exists);
context.Response.Write(ret);
context.Response.End();
}
}
#region 配置得分
var config_list = bll_config_answer.GetModelList(sql_config);
//更改 标准答案 $$$$$
var systemName = ConfigurationManager.AppSettings["SystemName"];
//老版本 直接读取obj.answer ,不用处理
if (systemName == "00")
{
;
}
else //新版本导入 excel配置,用r2 当作判分标准
{
foreach (var obj in config_list)
{
if (obj.mark != "Path" && obj.mark != "wlghjs1" && obj.mark != "wlghjs2")
{
obj.answer = obj.r2; //默认中文版
//$$$英文版
if (lang=="1")
{
obj.answer = obj.r2_en_answer;
}
}
}
}
var config_cache_list = bll_config_cache.GetModelList(sql_config_o).ToList();
dxgl_list dt = new dxgl_list();
List listConfig = new List();
if (config_cache_list.Count > 0)
{
foreach (var config in config_list)
{
string answer = config.answer;
var mark = config.mark;
var cc = config_cache_list.Where(x => x.mark == mark).FirstOrDefault();
if (cc != null)
{
if (config.mark == "DB-IotLite_yx")
{
if (cc != null)
{
ConfigItem item = new ConfigItem();
DBIotLiteYx og = JsonConvert.DeserializeObject(config.answer);
DBIotLiteYx nw = JsonConvert.DeserializeObject(cc.mark_value);
if (CompareObject.IsConsistent(og, nw, dt, out string field, out string field_yes, out string field_no))
{
listConfig.Add(GetConfigItem("DB-IotLite_yx", "DB-IotLite网关有线", 4, 4, field, field_yes, field_no));
}
else
{
listConfig.Add(GetConfigItem("DB-IotLite_yx", "DB-IotLite网关有线", 4, 0, field, field_yes, field_no));
}
}
else
{
listConfig.Add(GetConfigItem("DB-IotLite_yx", "DB-IotLite网关有线", 4, 0, "", "", ""));
}
}
if (config.mark == "DB-IotLite_wx")
{
if (cc != null)
{
DBIotLiteWx og = JsonConvert.DeserializeObject(config.answer);
DBIotLiteWx nw = JsonConvert.DeserializeObject(cc.mark_value);
if (CompareObject.IsConsistent(og, nw, dt, out string field, out string field_yes, out string field_no, "1"))
{
listConfig.Add(GetConfigItem("DB-IotLite_wx", "DB-IotLite网关无线", 3, 3, field, field_yes, field_no));
}
else
{
listConfig.Add(GetConfigItem("DB-IotLite_wx", "DB-IotLite网关无线", 3, 0, field, field_yes, field_no));
}
}
else
{
listConfig.Add(GetConfigItem("DB-IotLite_wx", "DB-IotLite网关无线", 3, 0, "", "", ""));
}
}
if (config.mark == "CHGYWG_yx")
{
if (cc != null)
{
CHGYWGYx og = JsonConvert.DeserializeObject(config.answer);
CHGYWGYx nw = JsonConvert.DeserializeObject(cc.mark_value);
if (CompareObject.IsConsistent(og, nw, dt, out string field, out string field_yes, out string field_no))
{
listConfig.Add(GetConfigItem("CHGYWG_yx", "斥候工业网关有线", 3, 3, field, field_yes, field_no));
}
else
{
listConfig.Add(GetConfigItem("CHGYWG_yx", "斥候工业网关有线", 3, 0, field, field_yes, field_no));
}
}
else
{
listConfig.Add(GetConfigItem("CHGYWG_yx", "斥候工业网关有线", 3, 0, "", "", ""));
}
}
if (config.mark == "CHGYWG_wx")
{
if (cc != null)
{
CHGYWGWx og = JsonConvert.DeserializeObject(config.answer);
CHGYWGWx nw = JsonConvert.DeserializeObject(cc.mark_value);
if (CompareObject.IsConsistent(og, nw, dt, out string field, out string field_yes, out string field_no))
{
listConfig.Add(GetConfigItem("CHGYWG_wx", "斥候工业网关无线", 3, 3, field, field_yes, field_no));
}
else
{
listConfig.Add(GetConfigItem("CHGYWG_wx", "斥候工业网关无线", 3, 0, field, field_yes, field_no));
}
}
else
{
listConfig.Add(GetConfigItem("CHGYWG_wx", "斥候工业网关无线", 3, 0, "", "", ""));
}
}
if (config.mark == "CKFWQ_yx")
{
if (cc != null)
{
CKFWQyx og = JsonConvert.DeserializeObject(config.answer);
CKFWQyx nw = JsonConvert.DeserializeObject(cc.mark_value);
if (CompareObject.IsConsistent(og, nw, dt, out string field, out string field_yes, out string field_no))
{
listConfig.Add(GetConfigItem("CKFWQ_yx", "串口服务器有线", 2, 2, field, field_yes, field_no));
}
else
{
listConfig.Add(GetConfigItem("CKFWQ_yx", "串口服务器有线", 2, 0, field, field_yes, field_no));
}
}
else
{
listConfig.Add(GetConfigItem("CKFWQ_yx", "串口服务器有线", 2, 0, "", "", ""));
}
}
if (config.mark == "CKFWQ_wx")
{
if (cc != null)
{
CKFWQWx og = JsonConvert.DeserializeObject(config.answer);
CKFWQWx nw = JsonConvert.DeserializeObject(cc.mark_value);
if (CompareObject.IsConsistent(og, nw, dt, out string field, out string field_yes, out string field_no))
{
listConfig.Add(GetConfigItem("CKFWQ_wx", "串口服务器无线", 2, 2, field, field_yes, field_no));
}
else
{
listConfig.Add(GetConfigItem("CKFWQ_wx", "串口服务器无线", 2, 0, field, field_yes, field_no));
}
}
else
{
listConfig.Add(GetConfigItem("CKFWQ_wx", "串口服务器无线", 2, 0, "", "", ""));
}
}
if (config.mark == "GYWZ_yx")
{
if (cc != null)
{
GYWZyx og = JsonConvert.DeserializeObject(config.answer);
GYWZyx nw = JsonConvert.DeserializeObject(cc.mark_value);
if (null==nw.dxgl )
{
nw.dxgl = new List();
}
if (CompareObject.IsConsistent(og, nw, dt, out string field, out string field_yes, out string field_no))
{
listConfig.Add(GetConfigItem("GYWZ_yx", "工业网闸有线", 3, 3, field, field_yes, field_no));
}
else
{
listConfig.Add(GetConfigItem("GYWZ_yx", "工业网闸有线", 3, 0, field, field_yes, field_no));
}
}
else
{
listConfig.Add(GetConfigItem("GYWZ_yx", "工业网闸有线", 3, 0, "", "", ""));
}
}
if (config.mark == "GYWZ_wx")
{
if (cc != null)
{
GYWZWx og = JsonConvert.DeserializeObject(config.answer);
GYWZWx nw = JsonConvert.DeserializeObject(cc.mark_value);
if (null == nw.dxgl)
{
nw.dxgl = new List();
}
if (CompareObject.IsConsistent(og, nw, dt, out string field, out string field_yes, out string field_no))
{
listConfig.Add(GetConfigItem("GYWZ_wx", "工业网闸无线", 3, 3, field, field_yes, field_no));
}
else
{
listConfig.Add(GetConfigItem("GYWZ_wx", "工业网闸无线", 3, 0, field, field_yes, field_no));
}
}
else
{
listConfig.Add(GetConfigItem("GYWZ_wx", "工业网闸无线", 3, 0, "", "", ""));
}
}
if (config.mark == "YDPZYM_wgpz")
{
if (cc != null)
{
YDPZYMWgpz m = new YDPZYMWgpz();
List og = JsonConvert.DeserializeObject>(config.answer);
List nw = JsonConvert.DeserializeObject>(cc.mark_value);
if (CompareObject.IsConsistentList(og, nw, dt, out string field, out string field_yes, out string field_no))
{
listConfig.Add(GetConfigItem("YDPZYM_wgpz", "云端配置页面网关配置", 2, 2, field, field_yes, field_no));
}
else
{
listConfig.Add(GetConfigItem("YDPZYM_wgpz", "云端配置页面网关配置", 2, 0, field, field_yes, field_no));
}
}
else
{
listConfig.Add(GetConfigItem("YDPZYM_wgpz", "云端配置页面网关配置", 2, 0, "", "", ""));
}
}
if (config.mark == "YDPZYM_wgwh")
{
if (cc != null)
{
YDPZYMWgwh m = new YDPZYMWgwh();
List og = JsonConvert.DeserializeObject>(config.answer);
List nw = JsonConvert.DeserializeObject>(cc.mark_value);
if (CompareObject.IsConsistentList(og, nw, dt, out string field, out string field_yes, out string field_no))
{
listConfig.Add(GetConfigItem("YDPZYM_wgwh", "云端配置页面网关维护", 2, 2, field, field_yes, field_no));
}
else
{
listConfig.Add(GetConfigItem("YDPZYM_wgwh", "云端配置页面网关维护", 2, 0, field, field_yes, field_no));
}
}
else
{
listConfig.Add(GetConfigItem("YDPZYM_wgwh", "云端配置页面网关维护", 2, 0, "", "", ""));
}
}
}
}
if (listConfig.Count > 0)
{
//配置得分
var pic_score = listConfig.Select(s => s.score).Sum();
var now = DateTime.Now;
var subject = "智能制造工厂";
result_exists = bll_exam_result_match.GetModelList(string.Format("user_id='{0}' and subject='智能制造工厂' ", user_id)).FirstOrDefault();
if (null != result_exists)
{
//总分 =原有三维分+配置分数
var result_id = result_exists.id;
var listDelete = bll_exam_result_detail_config.GetModelList("result_id='" + result_id + "'").ToList();
var array = listDelete.Select(s => s.id).ToArray();
List list = new List();
foreach (var item in array)
{
list.Add("'" + item + "'");
}
if (list.Count > 0)
{
var id_list = string.Join(",", list.ToArray());
bll_exam_result_detail_config.DeleteList(id_list);
}
foreach (var item in listConfig)
{
var config = new DataService.Model.exam_result_detail_config();
config.id = BasePage.GetLongId();
config.result_id = result_id;
config.create_time = now;
config.mark = item.mark;
config.topic = item.topic;
config.total = item.total;
config.score = item.score;
config.field = item.field;
config.field_yes = item.field_yes;
config.field_no = item.field_no;
config.other = item.other;
bll_exam_result_detail_config.Add(config);
}
result_exists.pic_score = pic_score;
result_exists.sum_score = result_exists.score + pic_score;
if (bll_exam_result_match.Update(result_exists))
{
ret = GetResult(true, result_exists);
context.Response.Write(ret);
context.Response.End();
}
else
{
ret = GetResult(false, result_exists);
context.Response.Write(ret);
context.Response.End();
}
}
}
}
else
{
result_exists = bll_exam_result_match.GetModelList(string.Format("user_id='{0}' and subject='智能制造工厂' ", result_item.user_id)).FirstOrDefault();
ret = GetResult(true, result_exists);
context.Response.Write(ret);
context.Response.End();
}
#endregion
}
#endregion
//三维端上传 平阴华玫
#region 三维端上传 平阴华玫
if (result_item.subject == "平阴华玫")
{
if (context.Request.Files.Count <= 0)
{
ret = GetResult(false, "文件不能为空");
context.Response.Write(ret);
context.Response.End();
}
var lang = context.Request.Params["lang"];
var file = context.Request.Files[0];
var extension = file.FileName.Substring(file.FileName.LastIndexOf("."));
var file_name = file.FileName;
string uploadPath = "Upload/";
var newid = BasePage.GetLongId();
var prefix = file.FileName.Substring(0, file.FileName.LastIndexOf("."));
string NewfileName = prefix + "_" + newid + extension;
var directory = context.Server.MapPath("~/" + uploadPath);
if (!Directory.Exists(directory))
Directory.CreateDirectory(directory);
string serverPath = directory + NewfileName;
file.SaveAs(serverPath);
result_item.pic_url = "~/" + uploadPath + NewfileName; //文件路径-相对路径
var result_exists = bll_exam_result_match.GetModelList(string.Format("user_id='{0}' and subject='平阴华玫' ", result_item.user_id)).FirstOrDefault();
if (result_exists != null)
{
var now = DateTime.Now;
result_exists.create_time = now;
result_exists.score = result_item.score; ////三维分值赋值给总分 $$$$
result_exists.sum_score = result_item.score; //三维分值赋值给总分 $$$$
result_exists.pic_url = result_item.pic_url;
result_exists.r1 = "lang:"+ lang;
if (bll_exam_result_match.Update(result_exists))
{
ret = GetResult(true, result_exists);
context.Response.Write(ret);
context.Response.End();
}
}
else
{
var now = DateTime.Now;
var result_id = BasePage.GetId();
result_item.id = result_id;
result_item.create_time = now;
result_item.r1 = "lang:" + lang;
result_item.sum_score = result_item.score; //三维分值赋值给总分 $$$$
if (bll_exam_result_match.Add(result_item))
{
ret = GetResult(true, result_item);
context.Response.Write(ret);
context.Response.End();
}
}
}
#endregion
//三维端上传 炭黑生产制造
#region 三维端上传 炭黑生产制造
if (result_item.subject == "炭黑生产制造")
{
var lang = context.Request.Params["lang"];
var pic = context.Request.Params["pic"];
if (pic == "1")
{
if (context.Request.Files.Count <= 0)
{
ret = GetResult(false, "文件不能为空");
context.Response.Write(ret);
context.Response.End();
}
var file = context.Request.Files[0];
var extension = file.FileName.Substring(file.FileName.LastIndexOf("."));
var file_name = file.FileName;
string uploadPath = "Upload/";
var newid = BasePage.GetLongId();
var prefix = file.FileName.Substring(0, file.FileName.LastIndexOf("."));
string NewfileName = prefix + "_" + newid + extension;
var directory = context.Server.MapPath("~/" + uploadPath);
if (!Directory.Exists(directory))
Directory.CreateDirectory(directory);
string serverPath = directory + NewfileName;
file.SaveAs(serverPath);
result_item.pic_url = "~/" + uploadPath + NewfileName; //文件路径-相对路径
}
#region 炭黑制造各模块得分列表
var configlist = context.Request.Params["configlist"];
if (string.IsNullOrEmpty(configlist))
{
/*
ret = GetResult(false, "configlist参数不能为空");
context.Response.Write(ret);
context.Response.End();
*/
configlist = "[]";
}
List detail_list = null;
try
{
detail_list = JsonConvert.DeserializeObject>(configlist);
}
catch (Exception ex)
{
ret = GetResult(false, "炭黑制造模块得分列表转换错误:" + ex.Message);
context.Response.Write(ret);
context.Response.End();
}
#endregion
var result_exists = bll_exam_result_match.GetModelList(string.Format("user_id='{0}' and subject='炭黑生产制造' ", result_item.user_id)).FirstOrDefault();
if (result_exists != null)
{
var now = DateTime.Now;
result_exists.create_time = now;
#region old score update
/*
result_exists.score = result_item.score; ////三维分值赋值给总分 $$$$
result_exists.sum_score = result_item.score; //三维分值赋值给总分 $$$$
*/
#endregion
result_exists.score = result_item.score;
result_exists.pic_score = result_item.pic_score;
result_exists.sum_score = result_item.score + result_item.pic_score;
result_exists.pic_url = result_item.pic_url;
result_exists.r1 = "lang:" + lang;
if (bll_exam_result_match.Update(result_exists))
{
addTHConfigDetails(detail_list, result_exists.id);
//ret = GetResult(true, result_exists);
ret = GetResult(success(), result_exists);
context.Response.Write(ret);
context.Response.End();
}
}
else
{
var now = DateTime.Now;
var result_id = BasePage.GetId();
result_item.id = result_id;
result_item.create_time = now;
result_item.r1 = "lang:" + lang;
#region old score add
//result_item.sum_score = result_item.score; //三维分值赋值给总分 $$$$
#endregion
#region new
result_item.sum_score = result_item.score + result_item.pic_score;
#endregion
if (bll_exam_result_match.Add(result_item))
{
addTHConfigDetails(detail_list, result_id);
//ret = GetResult(true, result_item);
ret = GetResult(success(), result_item);
context.Response.Write(ret);
context.Response.End();
}
}
}
#endregion
}
private bool success()
{
return true;
/*
if (DateTime.Now.Millisecond % 2 == 0)
return true ;
else
{
return false ;
}
*/
}
///
/// 添加炭黑制造各模块得分列表
///
///
///
private int addTHConfigDetails(List detail_list, string result_id)
{
string id = BasePage.GetId();
int index = 1;
var now = DateTime.Now;
var list_add = new List();
for (int i = 0; i < detail_list.Count; i++)
{
var info = detail_list[i];
var item = new DataService.Model.exam_result_detail_config();
item.id = BasePage.GetNextId(id, index++);
item.result_id = result_id;
item.mark = info.mark;
item.topic = info.topic;
item.total = info.total;
item.score = info.score;
item.field = info.field;
item.field_yes = info.field_yes;
item.field_no = info.field_no;
item.other = info.other;
item.create_time = now;
list_add.Add(item);
}
var count = bll_exam_result_detail_config.BatchAdd_Update(list_add, result_id);
return count;
}
///
/// 保存考试考核、实训考核
///
///
public void SaveExam(HttpContext context)
{
var exam_result = context.Request.Params["exam_result"];
var ret = string.Empty;
if (string.IsNullOrEmpty(exam_result))
{
ret = GetResult(false, "exam_result参数不能为空");
context.Response.Write(ret);
context.Response.End();
}
DataService.Model.exam_result result_item = null;
try
{
result_item = JsonConvert.DeserializeObject(exam_result);
}
catch (Exception ex)
{
ret = GetResult(false, "考试科目:exam_result 异常:" + ex.Message);
context.Response.Write(ret);
context.Response.End();
}
//实训考核模式
if (result_item.sjms == "1")
{
var exam_result_detail = context.Request.Params["exam_result_detail"];
if (string.IsNullOrEmpty(exam_result_detail))
{
ret = GetResult(false, "exam_result_detail参数不能为空");
context.Response.Write(ret);
context.Response.End();
}
List result_detail_list_shixun = null;
try
{
result_detail_list_shixun = JsonConvert.DeserializeObject>(exam_result_detail);
}
catch (Exception ex)
{
ret = GetResult(false, "考试详情异常:" + ex.Message);
context.Response.Write(ret);
context.Response.End();
}
var now = DateTime.Now;
var result_id = BasePage.GetId();
result_item.id = result_id;
//result_item.sjms = "1"; 实训模式
result_item.create_time = now;
if (bll_exam_result.Add(result_item))
{
var index = 1;
foreach (var item in result_detail_list_shixun)
{
// item.id = BasePage.GetNextId(result_id, index++); //$$$ old
var detail_id = BasePage.GetNextId(result_id, index++);
item.id = detail_id;
item.result_id = result_id;
item.create_time = now;
if(bll_exam_result_detail_shixun.Add(item))
{
#region 刘玉新增子科目
if (null != item.subSubjectInfos)
{
var subject_index = 1;
foreach (var subject in item.subSubjectInfos)
{
//`no` varchar(50) '题号',
//`subSubjectName` varchar(255) '子科目名称',
//`totalScore` '总分',
//`score` '得分',
var subsubject = subject;
var subject_id = BasePage.GetNextId(detail_id, subject_index++);
subsubject.id = subject_id;
subsubject.detail_id = detail_id;
subsubject.create_time = now.AddSeconds(index);
if (bll_subsubject.Add(subsubject))
{
if (null != subject.subSubjectStepInfos)
{
var step_index = 1;
foreach (var step in subject.subSubjectStepInfos)
{
//`no` varchar(50) '题号',
// `description` varchar(255) '步骤描述',
//`total` decimal(11, 3) '总分',
//`score` decimal(11, 3) '得分',
var substep = step;
var step_id = BasePage.GetNextId(subject_id, step_index++);
substep.id = step_id;
substep.subsubject_id = subject_id;
substep.create_time = now.AddSeconds(index);
bll_subsubjectstep.Add(substep);
}
}
}
}
}
#endregion
}
}
ret = GetResult(true, result_item);
context.Response.Write(ret);
context.Response.End();
}
}
else //考试考核模式
{
var result_id = BasePage.GetId();
var exam_result_detail = context.Request.Params["exam_result_detail"];
if (string.IsNullOrEmpty(exam_result_detail))
{
ret = GetResult(false, "exam_result_detail参数不能为空");
context.Response.Write(ret);
context.Response.End();
}
#region 添加多张填空题图片测试
/*
var qq_file = context.Request.Files["3"];
for (int i = 0; i < context.Request.Files.Count; i++)
{
var file = context.Request.Files[i];
var extension = file.FileName.Substring(file.FileName.LastIndexOf("."));
var file_name = file.FileName;
string uploadPath = "Upload/";
var newid = BasePage.GetNextId(result_id, (i + 1));
var prefix = file.FileName.Substring(0, file.FileName.LastIndexOf("."));
string NewfileName = prefix + "_" + newid + extension;
var directory = context.Server.MapPath("~/" + uploadPath);
if (!Directory.Exists(directory))
Directory.CreateDirectory(directory);
string serverPath = directory + NewfileName;
file.SaveAs(serverPath);
var pic_url = "~/" + uploadPath + NewfileName; //文件路径-相对路径
}
*/
#endregion
List result_detail_list = null;
try
{
result_detail_list = JsonConvert.DeserializeObject>(exam_result_detail);
}
catch (Exception ex)
{
ret = GetResult(false, "考试详情异常:" + ex.Message);
context.Response.Write(ret);
context.Response.End();
}
var now = DateTime.Now;
result_item.id = result_id;
result_item.sjms = "0";
result_item.create_time = now;
if (bll_exam_result.Add(result_item))
{
var index = 1;
var temp = "";
foreach (var item in result_detail_list)
{
var sb = new StringBuilder();
item.id = BasePage.GetNextId(result_id, index++);
item.result_id = result_id;
item.create_time = now;
#region 图片
//考生答案 no.jpg
var no_string = item.no.ToString();
var file = context.Request.Files[no_string];
if (null != file && item.questionType == "简答题" && file.ContentLength > 0)
{
var file_name = file.FileName;
sb.Append(no_string + ":" + file_name + ";");
var type = file.ContentType;
var extension = GetFileExtension(file_name, item.yourAnswer);
string uploadPath = "Upload/";
var newid = item.id;
string NewfileName = newid + extension;
var directory = context.Server.MapPath("~/" + uploadPath);
if (!Directory.Exists(directory))
Directory.CreateDirectory(directory);
string serverPath = directory + NewfileName;
file.SaveAs(serverPath);
var pic_url = "~/" + uploadPath + NewfileName; //文件路径-相对路径
item.r1 = pic_url;
item.r3 = "1";
}
//正确答案 no_2.jpg
no_string = item.no.ToString() + "_2";
var file2 = context.Request.Files[no_string];
if (null != file2 && item.questionType == "简答题" && file2.ContentLength > 0)
{
var file_name = file2.FileName;
sb.Append(no_string + ":" + file_name + "(path is " + item.path + ");");
var extension = GetFileExtension(file_name, item.path);
string uploadPath = "Upload/";
var newid = item.id + "_2";
string NewfileName = newid + extension;
var directory = context.Server.MapPath("~/" + uploadPath);
if (!Directory.Exists(directory))
Directory.CreateDirectory(directory);
string serverPath = directory + NewfileName;
file2.SaveAs(serverPath);
var pic_url = "~/" + uploadPath + NewfileName; //文件路径-相对路径
item.r2 = pic_url;
item.r3 = "1";
}
item.r5 = sb.ToString();
temp = temp + sb.ToString();
#endregion
bll_exam_result_detail.Add(item); //$$$$
}
ret = GetResult(true, result_item, temp);
context.Response.Write(ret);
context.Response.End();
}
}
}
///
/// 保存实训考核带子科目
///
///
public void SaveExamSub(HttpContext context)
{
var exam_result = context.Request.Params["exam_result"];
var ret = string.Empty;
if (string.IsNullOrEmpty(exam_result))
{
ret = GetResult(false, "exam_result参数不能为空");
context.Response.Write(ret);
context.Response.End();
}
DataService.Model.exam_result result_item = null;
try
{
result_item = JsonConvert.DeserializeObject(exam_result);
}
catch (Exception ex)
{
ret = GetResult(false, "考试科目:exam_result 异常:" + ex.Message);
context.Response.Write(ret);
context.Response.End();
}
//实训考核模式 带子科目
//if (result_item.sjms == "1")
//{
var exam_result_detail = context.Request.Params["exam_result_detail"];
if (string.IsNullOrEmpty(exam_result_detail))
{
ret = GetResult(false, "exam_result_detail参数不能为空");
context.Response.Write(ret);
context.Response.End();
}
//old exam_result_detail_shixun
List result_detail_list_sub = null;
try
{
result_detail_list_sub = JsonConvert.DeserializeObject>(exam_result_detail);
}
catch (Exception ex)
{
ret = GetResult(false, "考试详情异常:" + ex.Message);
context.Response.Write(ret);
context.Response.End();
}
var now = DateTime.Now;
var result_id = BasePage.GetId();
result_item.id = result_id;
result_item.sjms = "1"; //实训模式
result_item.create_time = now;
if (bll_exam_result.Add(result_item))
{
var index = 1;
foreach (var item in result_detail_list_sub)
{
/*
item.id = BasePage.GetNextId(result_id, index++);
item.result_id = result_id;
item.create_time = now;
bll_exam_result_detail_shixun.Add(item);
*/
var detail_shixun = new DataService.Model.exam_result_detail_shixun();
var detail_id = BasePage.GetNextId(result_id, index++);
detail_shixun.id = detail_id;
detail_shixun.result_id = result_id;
detail_shixun.create_time = now.AddSeconds(index);
detail_shixun.r1 = item.no;
//detail_shixun.no = 0;
detail_shixun.description = item.description;
detail_shixun.total = item.total;
detail_shixun.score = item.score;
if (bll_exam_result_detail_shixun.Add(detail_shixun))
{
if (null != item.subSubjectInfos)
{
var subject_index = 1;
foreach (var subject in item.subSubjectInfos)
{
//`no` varchar(50) '题号',
//`subSubjectName` varchar(255) '子科目名称',
//`totalScore` '总分',
//`score` '得分',
var subsubject = subject;
var subject_id = BasePage.GetNextId(detail_id, subject_index++);
subsubject.id = subject_id;
subsubject.detail_id = detail_id;
subsubject.create_time = now.AddSeconds(index);
if (bll_subsubject.Add(subsubject))
{
if (null != subject.subSubjectStepInfos)
{
var step_index = 1;
foreach (var step in subject.subSubjectStepInfos)
{
//`no` varchar(50) '题号',
// `description` varchar(255) '步骤描述',
//`total` decimal(11, 3) '总分',
//`score` decimal(11, 3) '得分',
var substep = step;
var step_id = BasePage.GetNextId(subject_id, step_index++);
substep.id = step_id;
substep.subsubject_id = subject_id;
substep.create_time = now.AddSeconds(index);
bll_subsubjectstep.Add(substep);
}
}
}
}
}
}
}
ret = GetResult(true, result_item);
context.Response.Write(ret);
context.Response.End();
}
//}
}
public string GetFileExtension(string FileName, string yourAnswer)
{
var temp = Path.GetExtension(FileName);
if (temp == ".dat" || string.IsNullOrEmpty(temp))
{
temp = Path.GetExtension(yourAnswer);
}
if (temp == ".dat" || string.IsNullOrEmpty(temp))
{
temp = ".jpeg";
}
return temp;
}
public void SaveResult(HttpContext context)
{
//?subjectid = 10002 & loginname = xy1001 & totalresult = 27 & content = 备注 & mode = 0 & time = 2020-1-1
//参数 subject_id 科目id
//参数 user_id (id_card)
//参数 totalresult 总分值
//参数 sjms 模式:训练、考核
//参数 sign_boat 船型
//参数 examine_type 考核类型: 0 测验 ,1 考试
//参数 sjms 实践模式 训练、考核
/*
b1 sign_boat 内河1000吨以上油船
b2 sign_boat 内河1000吨以下油船
b3 sign_boat 内河1000吨以上危化品船
b4 sign_boat 内河1000吨以下危化品船
*/
var ret = string.Empty;
var sign_boat = context.Request.Params["sign_boat"];
if (string.IsNullOrEmpty(sign_boat))
{
ret = GetResult(false, "sign_boat参数不能为空");
context.Response.Write(ret);
context.Response.End();
}
var boat = BasePage.list_sign_boat.FirstOrDefault(s => s.type_id == sign_boat);
if (null == boat)
{
ret = GetResult(false, "船型不能为空,参数sign_boat:" + sign_boat);
context.Response.Write(ret);
context.Response.End();
}
var subject_id = context.Request.Params["subject_id"];
if (string.IsNullOrEmpty(subject_id))
{
ret = GetResult(false, "subject_id参数不能为空");
context.Response.Write(ret);
context.Response.End();
}
var subject = bll_subject.GetModel(subject_id);
if (null == subject)
{
ret = GetResult(false, "科目不能为空,参数 subject_id:" + subject_id);
context.Response.Write(ret);
context.Response.End();
}
var user_id = context.Request.Params["user_id"];
if (string.IsNullOrEmpty(user_id))
{
ret = GetResult(false, "user_id参数不能为空");
context.Response.Write(ret);
context.Response.End();
}
var user = bll_user.GetModel(user_id);
if (null == user)
{
ret = GetResult(false, "学员不能为空,参数 user_id:" + user_id);
context.Response.Write(ret);
context.Response.End();
}
var totalresult = context.Request.Params["totalresult"];
if (string.IsNullOrEmpty(totalresult))
{
ret = GetResult(false, "totalresult参数不能为空");
context.Response.Write(ret);
context.Response.End();
}
Decimal d_total_result = 0;
if (!Decimal.TryParse(totalresult, out d_total_result))
{
ret = GetResult(false, "总分值不合法,参数totalresult:" + totalresult);
context.Response.Write(ret);
context.Response.End();
}
var sjms = context.Request.Params["sjms"];
var data = context.Request.Params["data"];
if (string.IsNullOrEmpty(data))
{
ret = GetResult(false, "data参数不能为空");
context.Response.Write(ret);
context.Response.End();
}
List detail_list = null;
try
{
detail_list = JsonConvert.DeserializeObject>(data);
}
catch (Exception ex)
{
ret = GetResult(false, "考核步骤列表转换错误:" + ex.Message);
context.Response.Write(ret);
context.Response.End();
}
var examine_time = DateTime.Now;
DataService.Model.pro_result resultModel = new DataService.Model.pro_result();
var result_id = BasePage.GetLongId();
resultModel.result_id = result_id;
resultModel.subject_id = subject_id;
resultModel.subject_name = subject.subject_name;
resultModel.user_id = user_id;
resultModel.real_name = user.real_name;
resultModel.major = user.sex; //性别
resultModel.examine_term = user.id_card; //考试身份证号
resultModel.sjms = sjms;
resultModel.examine_time = DateTime.Now;
resultModel.total_result = d_total_result;
resultModel.examine_kind = boat.type_id; //考试船型
resultModel.exam_year = DateTime.Today.Year;
resultModel.exam_month = DateTime.Today.Month;
resultModel.batch_id = "";
resultModel.batch_name = "";
resultModel.fault_code = "";
resultModel.fault_name = "";
resultModel.practice_content = "";
/*
resultModel.province_id = user.province_id;
resultModel.city_id = user.city_id;
resultModel.unit_id = user.unit_id;
*/
//resultModel.examine_type = 1; //考核类型: 0 测验 ,1 考试
/*
`batch_id` varchar(255) COLLATE gbk_bin DEFAULT NULL COMMENT '批次id',
`batch_name` varchar(255) COLLATE gbk_bin DEFAULT NULL COMMENT '批次名称',
`fault_code` varchar(255) COLLATE gbk_bin DEFAULT NULL COMMENT '故障点编码',
`fault_name` varchar(255) COLLATE gbk_bin DEFAULT NULL COMMENT '故障点名称',
`practice_content` text COLLATE gbk_bin COMMENT '实习内容',
*/
if (bll_pro_result.Add(resultModel))
{
var insert_count = 0;
for (int i = 0; i < detail_list.Count; i++)
{
var info = detail_list[i];
var item = new DataService.Model.pro_result_detail();
item.detail_id = BasePage.GetLongId();
item.result_id = result_id;
item.tip = info.tip;
item.name = info.name;
item.step = info.step;
item.score = info.score;
item.r1 = info.r1; //步骤备注
item.subject_id = subject.subject_id;
item.subject_name = subject.subject_name;
item.user_id = user.user_id;
item.real_name = user.real_name;
item.major = user.sex;
item.sjms = sjms; //实践模式 训练、考核
item.examine_kind = boat.type_id; //考试船型
item.examine_term = user.id_card; //考试身份证号
item.examine_time = examine_time; //考试时间
if (bll_pro_result_detail.Add(item))
{
insert_count++;
}
}
ret = GetResult(true, resultModel);
context.Response.Write(ret);
context.Response.End();
}
else
{
ret = GetResult(false, null, "添加考试内容失败!");
context.Response.Write(ret);
context.Response.End();
}
/*
var data = context.Request.Params["data"];
if (string.IsNullOrEmpty(data))
{
ret = GetResult(false, "data参数不能为空");
context.Response.Write(ret);
context.Response.End();
}
var model = JsonConvert.DeserializeObject(data);
*/
}
///
/// 炭黑制造模块得分
///
public class ResultConfigInfo_TH
{
///
/// 题目(模块)标记
///
public string mark { get; set; }
///
/// 题目(模块)中文描述
///
public string topic { get; set; }
///
/// 总分(最多三位小数)
///
public decimal total { get; set; }
///
/// 得分(最多三位小数)
///
public decimal score { get; set; }
///
/// 字段
///
public string field { get; set; }
///
/// 字段正确值
///
public string field_yes { get; set; }
///
/// 字段错误值
///
public string field_no { get; set; }
///
/// 其他原因
///
public string other { get; set; }
}
///
/// 步骤详情信息
///
private class ResultDetailInfo
{
///
/// 提示
///
public string tip { get; set; }
///
/// 顺序号
///
public int step { get; set; }
///
/// 设备名称、流程名称
///
public string name { get; set; }
///
/// 得分
///
public decimal score { get; set; }
///
/// 备注
///
public string r1 { get; set; }
}
///
/// 配置项分值信息
///
public class ConfigItem
{
///
/// 标记
///
public string mark { get; set; }
///
/// 题目
///
public string topic { get; set; }
///
/// 分值
///
public decimal total { get; set; }
///
/// 得分
///
public decimal score { get; set; }
///
/// 字段
///
public string field { get; set; }
///
/// 字段正确值
///
public string field_yes { get; set; }
///
/// 字段错误值
///
public string field_no { get; set; }
///
/// 其他原因
///
public string other { get; set; }
}
///
/// 查询部门
///
///
public void QueryDepart(HttpContext context)
{
DataService.BLL.pro_type_manage bll = new DataService.BLL.pro_type_manage();
var majors = bll.GetModelList(string.Format(" parent_id = 'sign_dep' "));
List list_result = new List();
if (majors.Count > 0)
{
majors.ForEach(s => { list_result.Add(s.type_name); });
}
var result = GetResult(true, list_result.ToArray());
context.Response.Write(result);
context.Response.End();
/*
DataService.BLL.admin_user bll_sysuser = new DataService.BLL.admin_user();
var array = bll_sysuser.GetFieldValues("dep_name");
var result = GetResult(true, array.ToArray());
context.Response.Write(result);
context.Response.End();
*/
}
///
///
///
///
public void QueryUser(HttpContext context)
{
var ret = string.Empty;
var id_card = context.Request.Params["id_card"];
if (string.IsNullOrEmpty(id_card))
{
ret = GetResult(false, "身份证号码不能为空");
context.Response.Write(ret);
context.Response.End();
}
var userModel = bll.GetModelList(string.Format(" id_card = '{0}' ", id_card)).FirstOrDefault();
if (null != userModel)
{
userModel.password = "";
var result = GetResult(true, userModel);
context.Response.Write(result);
context.Response.End();
}
else
{
var result = GetResult(false, "身份证号码错误!");
context.Response.Write(result);
context.Response.End();
}
}
///
/// 用户登录
///
///
public void LoginUser(HttpContext context)
{
var ret = string.Empty;
var id_card = context.Request.Params["id_card"];
if (string.IsNullOrEmpty(id_card))
{
ret = GetResult(false, "身份证号码不能为空");
context.Response.Write(ret);
context.Response.End();
}
var password = context.Request.Params["password"];
if (string.IsNullOrEmpty(password))
{
ret = GetResult(false, "密码不能为空");
context.Response.Write(ret);
context.Response.End();
}
var pwd = BasePage.GetMD5(password);
var userModel = bll.GetModelList(string.Format(" id_card = '{0}' and password= '{1}' ", id_card, pwd)).FirstOrDefault();
if (null != userModel)
{
var result = GetResult(true, userModel);
context.Response.Write(result);
context.Response.End();
}
else
{
var result = GetResult(false, "用户名或密码错误!");
context.Response.Write(result);
context.Response.End();
}
}
///
/// 注册用户
///
///
public void RegUser(HttpContext context)
{
var data = context.Request.Params["data"];
var ret = string.Empty;
if (string.IsNullOrEmpty(data))
{
ret = GetResult(false, "data参数不能为空");
context.Response.Write(ret);
context.Response.End();
}
var model = JsonConvert.DeserializeObject(data);
if (string.IsNullOrEmpty(model.id_card))
{
ret = GetResult(false, "身份证号不能为空");
context.Response.Write(ret);
context.Response.End();
}
if (string.IsNullOrEmpty(model.real_name))
{
ret = GetResult(false, "姓名不能为空");
context.Response.Write(ret);
context.Response.End();
}
if (string.IsNullOrEmpty(model.password))
{
ret = GetResult(false, "密码不能为空");
context.Response.Write(ret);
context.Response.End();
}
if (!BasePage.IsIdcard(model.id_card))
{
ret = GetResult(false, "身份证号码格式错误");
context.Response.Write(ret);
context.Response.End();
}
if (model.id_card.Length == 18 && !BasePage.Is_valid_idcard18(model.id_card))
{
ret = GetResult(false, "18位身份证号码格式错误");
context.Response.Write(ret);
context.Response.End();
}
var userModel = bll.GetModelList(string.Format(" id_card = '{0}' ", model.id_card)).FirstOrDefault();
if (null != userModel)
{
var result = GetResult(false, "身份证号码已经存在!");
context.Response.Write(result);
context.Response.End();
}
//获取性别
var sex_str = model.id_card.Substring(model.id_card.Length - 2, 1);
string[] woman = new string[] { "0", "2", "4", "6", "8" };
model.sex = "男";
if (woman.Contains(sex_str))
{
model.sex = "女";
}
model.user_id = "USER" + GetNewId();
model.create_time = DateTime.Now;
model.password = GetMD5(model.password);
var flag = bll.Add(model);
if (flag)
{
var result = GetResult(true, model);
context.Response.Write(result);
}
else
{
var result = GetResult(false, model, "添加失败");
context.Response.Write(result);
}
}
public bool IsReusable
{
get
{
return false;
}
}
}
}