using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using ESCG = CommercialApi.GeneralMethod;
using ESCM = CommercialApi.Model;
using HZQR.Common;
using System.Web.Http.Description;
using Newtonsoft.Json;
namespace CommercialApi.Controllers
{
///
/// 获取服务区考核数据相关接口
///
public class ExamineController : BaseController
{
#region 获取考核管理表列表
///
/// 获取考核管理表列表
///
/// 查询条件对象
///
[Route("Examine/GetEXAMINEList")]
[AcceptVerbs("POST")]
[ResponseType(typeof(Models.JsonMsg>))]
public IHttpActionResult GetEXAMINEList(ESCM.SearchModel searchModel)
{
string Parameter = "入参信息:" + JsonConvert.SerializeObject(searchModel);
try
{
int TotalCount = 0;
//获取考核管理表列表
List EXAMINEList = ESCG.EXAMINEHelper.GetEXAMINEList(
transaction, ref TotalCount, searchModel);
//转化json形式
Models.JsonList jsonList = Models.JsonList.Success(
EXAMINEList, TotalCount, searchModel.PageIndex, searchModel.PageSize);
return Ok(Models.JsonMsg>.Success(jsonList, 100, "查询成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_GetEXAMINEList");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
#region 获取考核管理表明细
///
/// 获取考核管理表明细
///
/// 考核管理表内码
///
[Route("Examine/GetEXAMINEDetail")]
[AcceptVerbs("GET")]
[ResponseType(typeof(Models.JsonMsg))]
public IHttpActionResult GetEXAMINEDetail(int EXAMINEId)
{
string Parameter = "入参信息:考核管理表内码【" + EXAMINEId + "】";
try
{
//获取考核管理表明细
ESCM.EXAMINEModel examineModel = ESCG.EXAMINEHelper.GetEXAMINEDetail(transaction, EXAMINEId);
return Ok(Models.JsonMsg.Success(examineModel, 100, "查询成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_GetEXAMINEDetail");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
#region 获取晨会管理表列表
///
/// 获取晨会管理表列表
///
/// 查询条件对象
///
[Route("Examine/GetMEETINGList")]
[AcceptVerbs("POST")]
[ResponseType(typeof(Models.JsonMsg>))]
public IHttpActionResult GetMEETINGList(ESCM.SearchModel searchModel)
{
string Parameter = "入参信息:" + JsonConvert.SerializeObject(searchModel);
try
{
int TotalCount = 0;
//获取晨会管理表列表
List MEETINGList = ESCG.MEETINGHelper.GetMEETINGList(
transaction, ref TotalCount, searchModel);
//转化json形式
Models.JsonList jsonList = Models.JsonList.Success(
MEETINGList, TotalCount, searchModel.PageIndex, searchModel.PageSize);
return Ok(Models.JsonMsg>.Success(jsonList, 100, "查询成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_GetMEETINGList");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
#region 获取晨会管理表明细
///
/// 获取晨会管理表明细
///
/// 晨会管理表内码
///
[Route("Examine/GetMEETINGDetail")]
[AcceptVerbs("GET")]
[ResponseType(typeof(Models.JsonMsg))]
public IHttpActionResult GetMEETINGDetail(int MEETINGId)
{
string Parameter = "入参信息:晨会管理表内码【" + MEETINGId + "】";
try
{
//获取晨会管理表明细
ESCM.MEETINGModel meetingModel = ESCG.MEETINGHelper.GetMEETINGDetail(transaction, MEETINGId);
return Ok(Models.JsonMsg.Success(meetingModel, 100, "查询成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_GetMEETINGDetail");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
#region 获取日常巡检表列表
///
/// 获取日常巡检表列表
///
/// 查询条件对象
///
[Route("Examine/GetPATROLList")]
[AcceptVerbs("POST")]
[ResponseType(typeof(Models.JsonMsg>))]
public IHttpActionResult GetPATROLList(ESCM.SearchModel searchModel)
{
string Parameter = "入参信息:" + JsonConvert.SerializeObject(searchModel);
try
{
int TotalCount = 0;
//获取日常巡检表列表
List PATROLList = ESCG.PATROLHelper.GetPATROLList(
transaction, ref TotalCount, searchModel);
//转化json形式
Models.JsonList jsonList = Models.JsonList.Success(
PATROLList, TotalCount, searchModel.PageIndex, searchModel.PageSize);
return Ok(Models.JsonMsg>.Success(jsonList, 100, "查询成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_GetPATROLList");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
#region 获取日常巡检表明细
///
/// 获取日常巡检表明细
///
/// 日常巡检表内码
///
[Route("Examine/GetPATROLDetail")]
[AcceptVerbs("GET")]
[ResponseType(typeof(Models.JsonMsg))]
public IHttpActionResult GetPATROLDetail(int PATROLId)
{
string Parameter = "入参信息:日常巡检表内码【" + PATROLId + "】";
try
{
//获取日常巡检表明细
ESCM.PATROLModel patrolModel = ESCG.PATROLHelper.GetPATROLDetail(transaction, PATROLId);
return Ok(Models.JsonMsg.Success(patrolModel, 100, "查询成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_GetPATROLDetail");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
#region 获取小程序考核列表
///
/// 获取小程序考核列表
///
/// 片区内码,多个片区用","隔开
/// 服务区内码,多个服务区用","隔开
/// 考核日期(开始时间)
/// 考核日期(结束时间)
///
[Route("Examine/WeChat_GetExamineList")]
[AcceptVerbs("GET")]
[ResponseType(typeof(Models.JsonMsg>>))]
public IHttpActionResult WeChat_GetExamineList(string SearchStartDate, string SearchEndDate,
string SPRegionType_ID = "", string Serverpart_ID = "")
{
string Parameter = "入参信息:片区内码【" + SPRegionType_ID + "】,服务区内码【" + Serverpart_ID + "】," +
"考核日期(开始时间)【" + SearchStartDate + "】,考核日期(结束时间)【" + SearchEndDate + "】";
try
{
//获取考核考评考核列表
List> patrolModel = ESCG.EXAMINEHelper.WeChat_GetExamineList(
transaction, SPRegionType_ID, Serverpart_ID, SearchStartDate, SearchEndDate);
return Ok(Models.JsonMsg>>.Success(patrolModel, 100, "查询成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_WeChat_GetExamineList");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
#region 获取小程序考核明细数据
///
/// 获取小程序考核明细数据
///
/// 考核内码
///
[Route("Examine/WeChat_GetExamineDetail")]
[AcceptVerbs("GET")]
[ResponseType(typeof(Models.JsonMsg>>))]
public IHttpActionResult WeChat_GetExamineDetail(int ExamineId)
{
string Parameter = "入参信息:考核内码【" + ExamineId + "】";
try
{
//获取考核考评考核列表
List> ExamineDetailList =
ESCG.EXAMINEHelper.GetExamineDetail(transaction, ExamineId);
Models.JsonList> jsonList =
Models.JsonList>.Success(ExamineDetailList);
return Ok(Models.JsonMsg>>.Success(jsonList, 100, "查询成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_GetExamineDetail");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
#region 获取小程序日常巡检列表
///
/// 获取小程序日常巡检列表
///
/// 片区内码,多个片区用","隔开
/// 服务区内码,多个服务区用","隔开
/// 巡检日期(开始时间)
/// 巡检日期(结束时间)
///
[Route("Examine/WeChat_GetPatrolList")]
[AcceptVerbs("GET")]
[ResponseType(typeof(Models.JsonMsg>>))]
public IHttpActionResult WeChat_GetPatrolList(string SearchStartDate, string SearchEndDate,
string SPRegionType_ID = "", string Serverpart_ID = "")
{
string Parameter = "入参信息:片区内码【" + SPRegionType_ID + "】,服务区内码【" + Serverpart_ID + "】," +
"巡检日期(开始时间)【" + SearchStartDate + "】,巡检日期(结束时间)【" + SearchEndDate + "】";
try
{
//获取考核考评日常巡检列表
List> patrolModel =
ESCG.PATROLHelper.WeChat_GetPatrolList(transaction, SPRegionType_ID, Serverpart_ID, SearchStartDate, SearchEndDate);
return Ok(Models.JsonMsg>>.Success(patrolModel, 100, "查询成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_WeChat_GetPatrolList");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
#region 获取小程序晨会列表
///
/// 获取小程序晨会列表
///
/// 片区内码,多个片区用","隔开
/// 服务区内码,多个服务区用","隔开
/// 晨会日期(开始时间)
/// 晨会日期(结束时间)
///
[Route("Examine/WeChat_GetMeetingList")]
[AcceptVerbs("GET")]
[ResponseType(typeof(Models.JsonMsg>>))]
public IHttpActionResult WeChat_GetMeetingList(string SearchStartDate, string SearchEndDate,
string SPRegionType_ID = "", string Serverpart_ID = "")
{
string Parameter = "入参信息:片区内码【" + SPRegionType_ID + "】,服务区内码【" + Serverpart_ID + "】," +
"晨会日期(开始时间)【" + SearchStartDate + "】,晨会日期(结束时间)【" + SearchEndDate + "】";
try
{
//获取考核考评晨会列表
List> patrolModel = ESCG.MEETINGHelper.WeChat_GetMeetingList(
transaction, SPRegionType_ID, Serverpart_ID, SearchStartDate, SearchEndDate);
return Ok(Models.JsonMsg>>.Success(patrolModel, 100, "查询成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_WeChat_GetMeetingList");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
#region 方法 -> 获取日常巡检分析数据
///
/// 获取日常巡检分析数据
///
/// 省份编码
/// 服务区内码
/// 片区内码
/// 统计开始日期
/// 统计结束日期
///
[Route("Examine/GetPatrolAnalysis")]
[AcceptVerbs("GET")]
[ResponseType(typeof(Models.JsonMsg))]
public IHttpActionResult GetPatrolAnalysis(string StartDate, string EndDate,
string provinceCode, int? ServerpartId = null, int? SPRegionType_ID = null)
{
string Parameter = "入参信息:省份编码【" + provinceCode + "】," +
"统计开始日期【" + StartDate + "】,统计结束日期【" + EndDate + "】," +
"服务区内码【" + ServerpartId + "】,片区内码【" + SPRegionType_ID + "】";
try
{
//获取日常巡检表明细
ESCM.PatrolAnalysisModel patrolAnalysisModel = ESCG.PATROLHelper.GetPatrolAnalysis(transaction,
provinceCode, ServerpartId, SPRegionType_ID, StartDate, EndDate);
if (patrolAnalysisModel == null)
{
return Ok(ESCG.Common.ReturnJson(200, "查询失败,无数据返回!"));
}
return Ok(Models.JsonMsg.Success(patrolAnalysisModel, 100, "查询成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_GetPATROLDetail");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
#region 方法 -> 获取月度考核结果
///
/// 获取月度考核结果
///
///
/// 考核类型:
/// 1【月度】
/// 2【季度】
///
/// 统计开始月份
/// 统计结束月份
/// 省份编码
/// 服务区内码
/// 片区内码
///
[Route("Examine/GetExamineAnalysis")]
[AcceptVerbs("GET")]
[ResponseType(typeof(Models.JsonMsg>))]
public IHttpActionResult GetExamineAnalysis(string StartMonth, string EndMonth, string provinceCode,
int? ServerpartId = null, int? SPRegionType_ID = null, int? DataType = null)
{
string Parameter = "入参信息:考核类型【" + DataType + "】,省份编码【" + provinceCode + "】," +
"统计开始月份【" + StartMonth + "】,统计结束月份【" + EndMonth + "】," +
"服务区内码【" + ServerpartId + "】,片区内码【" + SPRegionType_ID + "】";
try
{
//获取考核考评晨会列表
List ExamineAnalysis = ESCG.EXAMINEHelper.GetExamineAnalysis(
transaction, DataType, provinceCode, ServerpartId, SPRegionType_ID, StartMonth, EndMonth);
Models.JsonList jsonList = Models.JsonList.Success(ExamineAnalysis);
return Ok(Models.JsonMsg>.Success(jsonList, 100, "查询成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_WeChat_GetMeetingList");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
#region 方法 -> 获取驿达看板-首页考核列表
///
/// 获取驿达看板-首页考核列表,
/// 可以按照全省、片区、服务区查询结果
///
///
/// 业务逻辑:
/// 1、根据入参条件查询月度考核数据,包含考核明细信息(这里要注意考核明细不完整,要用左连接方式查询)
/// 2、依次按照服务区、方位、考核主体信息、检查位置进行分组,返回结果集
/// 3、服务区层次返参:服务区内码、服务区名称、考核等级(A/B/C三档,
/// 分别对应优秀[分数大于等于90]/良好[分数大于等于80]/一般[分数小于80])、方位集合
/// 4、方位层次返参:方位名称、考核分数、检查位置集合
/// 5、考核主体信息层次返参:考核内码、考核人员、考核分数、考核时间
/// 6、检查位置层次返参:检查位置、检查结果集合(因为一个位置可能有多个问题,所以这里是个数组)
/// 7、检查结果层次返参:检查位置、考核内容、扣减分数、扣分原因、备注说明、整改图片、整改后图片
///
///
/// 考核类型:
/// 1【月度】
/// 2【季度】
///
/// 统计开始月份
/// 统计结束月份
/// 省份编码
/// 服务区内码
/// 片区内码
///
[Route("Examine/GetExamineResultList")]
[AcceptVerbs("GET")]
[ResponseType(typeof(Models.JsonMsg>>))]
public IHttpActionResult GetExamineResultList(string StartMonth, string EndMonth, string provinceCode,
int? ServerpartId = null, int? SPRegionType_ID = null, int? DataType = null)
{
string Parameter = "入参信息:考核类型【" + DataType + "】,省份编码【" + provinceCode + "】," +
"统计开始月份【" + StartMonth + "】,统计结束月份【" + EndMonth + "】," +
"服务区内码【" + ServerpartId + "】,片区内码【" + SPRegionType_ID + "】";
try
{
//获取考核考评晨会列表
List> ExamineAnalysis = ESCG.EXAMINEHelper.GetExamineResultList(
transaction, DataType, provinceCode, ServerpartId, SPRegionType_ID, StartMonth, EndMonth);
Models.JsonList> jsonList =
Models.JsonList>.Success(ExamineAnalysis);
return Ok(Models.JsonMsg>>.Success(jsonList, 100, "查询成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_GetExamineResultList");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
#region 方法 -> 获取驿达看板-首页巡查列表
///
/// 获取驿达看板-首页巡查列表,
/// 可以按照全省、片区、服务区查询结果
///
///
/// 业务逻辑:
/// 1、根据入参按日期查询巡检结果,包含整改过和未整改的明细数据
/// 2、依次按照服务区、方位、巡查位置进行分组,返回结果集
/// 3、服务区层次返参:服务区内码、服务区名称、方位集合
/// 4、方位层次返参:方位名称、巡查位置集合
/// 5、巡查位置层次返参:巡查位置、巡查结果集合(因为一个位置可能有多个问题,所以这里是个数组)
/// 6、巡查结果层次返参:巡查时间、巡查人员、巡查问题、整改前图片、整改后图片
///
/// 省份编码
/// 服务区内码
/// 片区内码
/// 查询开始日期
/// 查询结束日期
///
[Route("Examine/GetPatrolResultList")]
[AcceptVerbs("GET")]
[ResponseType(typeof(Models.JsonMsg>>))]
public IHttpActionResult GetPatrolResultList(string StartDate, string EndDate,
string provinceCode, int? ServerpartId = null, int? SPRegionType_ID = null)
{
string Parameter = "入参信息:省份编码【" + provinceCode + "】," +
"查询开始日期【" + StartDate + "】,查询结束日期【" + EndDate + "】," +
"服务区内码【" + ServerpartId + "】,片区内码【" + SPRegionType_ID + "】";
try
{
//获取考核考评晨会列表
List> PatrolAnalysis = ESCG.PATROLHelper.GetPatrolResultList(
transaction, provinceCode, ServerpartId, SPRegionType_ID, StartDate, EndDate);
Models.JsonList> jsonList =
Models.JsonList>.Success(PatrolAnalysis);
return Ok(Models.JsonMsg>>.Success(jsonList, 100, "查询成功"));
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter,
DateTime.Now.ToString("yyyyMMdd") + "_GetPatrolResultList");
return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message));
}
}
#endregion
}
}