using Learun.Util;
using System.Data;
using Learun.Application.TwoDevelopment.PersonnelManagement;
using System.Web.Mvc;
using System.Collections.Generic;
using System.Linq;
using Learun.Application.Base.SystemModule;
using Learun.Application.TwoDevelopment.EducationalAdministration;
namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers
{
///
/// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
/// Copyright (c) 2013-2018 北京泉江科技有限公司
/// 创 建:超级管理员
/// 日 期:2020-02-03 14:37
/// 描 述:疫情记录
///
public class EpidemicSituationCopyController : MvcControllerBase
{
private EpidemicSituationIBLL epidemicSituationIBLL = new EpidemicSituationBLL();
private DataItemIBLL dataItemIbll = new DataItemBLL();
private CdDeptIBLL cdDeptIbll = new CdDeptBLL();
private CdMajorIBLL cdMajorIbll = new CdMajorBLL();
private ClassInfoIBLL classInfoIbll = new ClassInfoBLL();
private StuInfoBasicIBLL stuInfoBasicIbll = new StuInfoBasicBLL();
private EmpInfoIBLL empInfoIBLL = new EmpInfoBLL();
#region 视图功能
///
/// 主页面
///
///
[HttpGet]
public ActionResult Index()
{
return View();
}
///
/// 统计
///
///
[HttpGet]
public ActionResult IndexReport()
{
return View();
}
///
/// 表单页
///
///
[HttpGet]
public ActionResult Form()
{
return View();
}
///
/// 外出原因统计
///
///
[HttpGet]
public ActionResult OutReasonReport()
{
return View();
}
///
/// 人员类别统计
///
///
[HttpGet]
public ActionResult PersonnelCategoryReport()
{
return View();
}
///
/// 各省份人数统计
///
///
[HttpGet]
public ActionResult ProviceReport()
{
return View();
}
///
/// 交通工具人数统计
///
///
[HttpGet]
public ActionResult VehicleReport()
{
return View();
}
#endregion
#region 获取数据
public ActionResult GetStudentSource(string studentId)
{
var res = "";
var stuEntity = stuInfoBasicIbll.GetStuInfoBasicEntityByStuNo(studentId);
if (stuEntity != null)
{
var detptName = cdDeptIbll.GetCdDeptEntityByNo(stuEntity.DeptNo)?.DeptName;
var majorName = cdMajorIbll.GetCdMajorEntityByMajorNo(stuEntity.MajorNo)?.MajorName;
var className = classInfoIbll.GetClassInfoEntityByClassNo(stuEntity.ClassNo)?.ClassName;
res = $"{detptName} {majorName} {className}";
}
return Success(new { res, Address = stuEntity?.MailAddress });
}
public ActionResult GetEmpSource(string empId)
{
var stuEntity = empInfoIBLL.GetEmpInfoEntity(empId);
return Success(new { Address = stuEntity?.Homeaddress });
}
public ActionResult OutReasonReportList()
{
var dataItemList = dataItemIbll.GetDetailList("OutReason");
var data = epidemicSituationIBLL.GetList("{}");
var list = data.GroupBy(a => a.OutReason).Select(a => new
{
name = dataItemList.FirstOrDefault(b => b.F_ItemValue == a.Key.ToString()).F_ItemName,
value = a.Count()
});
return Success(list);
}
public ActionResult OutReasonReportData()
{
var dataItemList = dataItemIbll.GetDetailList("OutReason");
var data = epidemicSituationIBLL.GetList("{}");
var list = data.GroupBy(a => a.OutReason).Select(a => new
{
name = dataItemList.FirstOrDefault(b => b.F_ItemValue == a.Key.ToString()).F_ItemName,
value = a.Count()
});
var rdata = new
{
name = list.Select(a => a.name),
value = list.Select(a => a.value)
};
return Success(new { list, data });
}
///
/// 获取页面显示列表分页数据
///
/// 分页参数
/// 查询参数
///
[HttpGet]
[AjaxOnly]
public ActionResult GetPageList(string pagination, string queryJson)
{
Pagination paginationobj = pagination.ToObject();
var data = epidemicSituationIBLL.GetPageList(paginationobj, queryJson);
var jsonData = new
{
rows = data,
total = paginationobj.total,
page = paginationobj.page,
records = paginationobj.records
};
return Success(jsonData);
}
///
/// 获取页面显示列表分页数据
///
/// 分页参数
/// 查询参数
///
[HttpGet]
[AjaxOnly]
public ActionResult GetReportPageList(string pagination, string queryJson)
{
Pagination paginationobj = pagination.ToObject();
var data = epidemicSituationIBLL.GetReportPageList(paginationobj, queryJson);
var jsonData = new
{
rows = data,
total = paginationobj.total,
page = paginationobj.page,
records = paginationobj.records
};
return Success(jsonData);
}
///
/// 获取页面显示列表数据
///
/// 查询参数
///
[HttpGet]
[AjaxOnly]
public ActionResult GetList(string queryJson)
{
var data = epidemicSituationIBLL.GetList(queryJson);
return Success(data);
}
///
/// 获取表单数据
///
///
[HttpGet]
[AjaxOnly]
public ActionResult GetFormData(string keyValue)
{
var EpidemicSituationData = epidemicSituationIBLL.GetEpidemicSituationEntity(keyValue);
var ContactsDetailsData = epidemicSituationIBLL.GetContactsDetailsList(EpidemicSituationData.ID);
var PassPlaceData = epidemicSituationIBLL.GetPassPlaceList(EpidemicSituationData.ID);
var PeopleDetailData = epidemicSituationIBLL.GetPeopleDetailslist(EpidemicSituationData.ID);
var jsonData = new
{
EpidemicSituation = EpidemicSituationData,
ContactsDetails = ContactsDetailsData,
PassPlaces = PassPlaceData,
PeopleDetails = PeopleDetailData
};
return Success(jsonData);
}
#endregion
#region 提交数据
///
/// 删除实体数据
/// 主键
///
///
[HttpPost]
[AjaxOnly]
public ActionResult DeleteForm(string keyValue)
{
epidemicSituationIBLL.DeleteEntity(keyValue);
return Success("删除成功!");
}
///
/// 保存实体数据(新增、修改)
/// 主键
///
///
[HttpPost]
[ValidateAntiForgeryToken]
[AjaxOnly]
public ActionResult SaveForm(string keyValue, string strEntity, string strcontactsDetailsList, string passPlaceDetailsList, string strpeopleDetailsList)
{
UserInfo userInfo = LoginUserInfo.Get();
EpidemicSituationEntity entity = strEntity.ToObject();
if (string.IsNullOrEmpty(keyValue))
{
var userId = entity.Creater;
if (epidemicSituationIBLL.HasTodayValue(userId))
{
return Success("不能重复提交");
}
}
List passDetailsList = passPlaceDetailsList.ToObject>();
List contactsDetailsList = strcontactsDetailsList.ToObject>();
List peopleDetailsList = strpeopleDetailsList.ToObject>();
epidemicSituationIBLL.SaveEntity(userInfo, keyValue, entity, contactsDetailsList, passDetailsList, peopleDetailsList);
return Success("保存成功!");
}
#endregion
}
}