소스 검색

【增加】考勤记录统计

中职版本
dyy 4 년 전
부모
커밋
74ad432f40
9개의 변경된 파일270개의 추가작업 그리고 15개의 파일을 삭제
  1. +38
    -7
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Controllers/ADR_RecordController.cs
  2. +38
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/ADR_Record/StatisticIndex.cshtml
  3. +81
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/ADR_Record/StatisticIndex.js
  4. +2
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj
  5. +0
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Web/Views/LR_Content/plugin/workflow/lr-workflow-ui.js
  6. +24
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/ADR_Record/ADR_RecordBLL.cs
  7. +21
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/ADR_Record/ADR_RecordEntity.cs
  8. +7
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/ADR_Record/ADR_RecordIBLL.cs
  9. +59
    -7
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/ADR_Record/ADR_RecordService.cs

+ 38
- 7
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Controllers/ADR_RecordController.cs 파일 보기

@@ -35,7 +35,7 @@ namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers
[HttpGet]
public ActionResult Index()
{
return View();
return View();
}
/// <summary>
/// 表单页
@@ -44,7 +44,7 @@ namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers
[HttpGet]
public ActionResult Form()
{
return View();
return View();
}

[HttpGet]
@@ -65,9 +65,18 @@ namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers
public ActionResult ViewerReport()
{
return StiMvcViewer.ViewerEventResult();
}

/// <summary>
/// 统计主页面
/// <summary>
/// <returns></returns>
[HttpGet]
public ActionResult StatisticIndex()
{
return View();
}
#endregion

#region 获取数据
@@ -113,12 +122,34 @@ namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers
[AjaxOnly]
public ActionResult GetFormData(string keyValue)
{
var ADR_RecordData = aDR_RecordIBLL.GetADR_RecordEntity( keyValue );
var jsonData = new {
var ADR_RecordData = aDR_RecordIBLL.GetADR_RecordEntity(keyValue);
var jsonData = new
{
ADR_Record = ADR_RecordData,
};
return Success(jsonData);
}
/// <summary>
/// 考勤记录统计
/// <summary>
/// <param name="queryJson">查询参数</param>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetStatisticList(string pagination, string queryJson)
{
Pagination paginationobj = pagination.ToObject<Pagination>();
var data = aDR_RecordIBLL.GetStatisticList(paginationobj, queryJson);
var jsonData = new
{
rows = data,
total = paginationobj.total,
page = paginationobj.page,
records = paginationobj.records
};
return Success(jsonData);
}

#endregion

#region 提交数据
@@ -147,10 +178,10 @@ namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers
{
UserInfo userInfo = LoginUserInfo.Get();
ADR_RecordEntity entity = strEntity.ToObject<ADR_RecordEntity>();
aDR_RecordIBLL.SaveEntity(keyValue,entity);
aDR_RecordIBLL.SaveEntity(keyValue, entity);
return Success("保存成功!");
}
#endregion
}
}

+ 38
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/ADR_Record/StatisticIndex.cshtml 파일 보기

@@ -0,0 +1,38 @@
@{
ViewBag.Title = "考勤记录统计";
Layout = "~/Views/Shared/_Index.cshtml";
}
<div class="lr-layout " >
<div class="lr-layout-center">
<div class="lr-layout-wrap lr-layout-wrap-notitle ">
<div class="lr-layout-tool">
<div class="lr-layout-tool-left">
<div class="lr-layout-tool-item">
<div id="datesearch"></div>
</div>
<div class="lr-layout-tool-item">
<div id="multiple_condition_query">
<div class="lr-query-formcontent">
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">职工编号</div>
<input id="UserNo" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">职工姓名</div>
<input id="UserName" type="text" class="form-control" />
</div>
</div>
</div>
</div>
</div>
<div class="lr-layout-tool-right">
<div class=" btn-group btn-group-sm">
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a>
</div>
</div>
</div>
<div class="lr-layout-body" id="gridtable"></div>
</div>
</div>
</div>
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/ADR_Record/StatisticIndex.js")

+ 81
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/ADR_Record/StatisticIndex.js 파일 보기

@@ -0,0 +1,81 @@
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn)
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
* 创建人:超级管理员
* 日 期:2020-08-28 18:09
* 描 述:考勤记录统计
*/
var refreshGirdData;
var bootstrap = function ($, learun) {
"use strict";
var startTime;
var endTime;
var page = {
init: function () {
page.initGird();
page.bind();
},
bind: function () {
// 时间搜索框
$('#datesearch').lrdate({
dfdata: [
{ name: '今天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00') }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
{ name: '近7天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'd', -6) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
{ name: '近1个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -1) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
{ name: '近3个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -3) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }
],
// 月
mShow: false,
premShow: false,
// 季度
jShow: false,
prejShow: false,
// 年
ysShow: false,
yxShow: false,
preyShow: false,
yShow: false,
// 默认
dfvalue: '1',
selectfn: function (begin, end) {
startTime = begin;
endTime = end;
page.search();
}
});
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) {
page.search(queryJson);
}, 220, 400);
// 刷新
$('#lr_refresh').on('click', function () {
location.reload();
});
},
// 初始化列表
initGird: function () {
$('#gridtable').lrAuthorizeJfGrid({
url: top.$.rootUrl + '/LogisticsManagement/ADR_Record/GetStatisticList',
headData: [
{ label: "姓名", name: "UserName", width: 100, align: "left" },
{ label: "职工编号", name: "UserNo", width: 100, align: "left" },
{ label: "打卡时间", name: "ClockDate", width: 100, align: "left" },
{ label: "正常次数", name: "ZhengChangNum", width: 100, align: "left" },
{ label: "迟到次数", name: "ChiDaoNum", width: 100, align: "left" },
{ label: "早退次数", name: "ZaoTuiNum", width: 100, align: "left" },
],
mainId: '',
isPage: true,
sidx: "ClockDate desc,UserNo",
});
},
search: function (param) {
param = param || {};
param.StartTime = startTime;
param.EndTime = endTime;
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
}
};
refreshGirdData = function () {
$('#gridtable').jfGridSet('reload');
};
page.init();
}

+ 2
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj 파일 보기

@@ -1141,6 +1141,7 @@
<Content Include="Areas\LogisticsManagement\Views\Accommodation\Allocation.js" />
<Content Include="Areas\LogisticsManagement\Views\Accommodation\DormitoryAdd.js" />
<Content Include="Areas\LogisticsManagement\Views\ADR_Record\AttendanceReportByWeek.js" />
<Content Include="Areas\LogisticsManagement\Views\ADR_Record\StatisticIndex.js" />
<Content Include="Areas\LogisticsManagement\Views\APAppointmentPsychologist\Form.js" />
<Content Include="Areas\LogisticsManagement\Views\APAppointmentPsychologist\Index.js" />
<Content Include="Areas\LogisticsManagement\Views\CompanyNews\Form.js" />
@@ -6813,6 +6814,7 @@
<Content Include="Areas\LogisticsManagement\Views\ADR_Record\AttendanceReportByWeek.cshtml" />
<Content Include="Areas\LogisticsManagement\Views\ADR_Record\Report.mrt" />
<Content Include="Areas\EducationalAdministration\Views\EADateArrange\InitByConditionForm.cshtml" />
<Content Include="Areas\LogisticsManagement\Views\ADR_Record\StatisticIndex.cshtml" />
<None Include="Properties\PublishProfiles\FolderProfile.pubxml" />
<Content Include="Views\Login\Default-beifen.cshtml" />
<None Include="Properties\PublishProfiles\FolderProfile1.pubxml" />


+ 0
- 1
Learun.Framework.Ultimate V7/Learun.Application.Web/Views/LR_Content/plugin/workflow/lr-workflow-ui.js 파일 보기

@@ -808,7 +808,6 @@
path.setAttribute("stroke", "gray");
path.setAttribute("marker-end", "url(#arrow1)");
}
/
line.appendChild(hi);
line.appendChild(path);
line.style.cursor = "crosshair";


+ 24
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/ADR_Record/ADR_RecordBLL.cs 파일 보기

@@ -109,6 +109,30 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
}
}
}

/// <summary>
/// 考勤记录统计
/// <summary>
/// <param name="queryJson">查询参数</param>
/// <returns></returns>
public IEnumerable<ADR_RecordEntity> GetStatisticList(Pagination pagination, string queryJson)
{
try
{
return aDR_RecordService.GetStatisticList(pagination, queryJson);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}
#endregion

#region 提交数据


+ 21
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/ADR_Record/ADR_RecordEntity.cs 파일 보기

@@ -99,6 +99,27 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
}
#endregion
#region 扩展字段
/// <summary>
/// 打卡时间
/// </summary>
[NotMapped]
public string ClockDate { get; set; }
/// <summary>
/// 正常次数
/// </summary>
[NotMapped]
public string ZhengChangNum { get; set; }
/// <summary>
/// 迟到次数
/// </summary>
[NotMapped]
public string ChiDaoNum { get; set; }
/// <summary>
/// 早退次数
/// </summary>
[NotMapped]
public string ZaoTuiNum { get; set; }

#endregion
}
}


+ 7
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/ADR_Record/ADR_RecordIBLL.cs 파일 보기

@@ -36,6 +36,13 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
ADR_RecordEntity GetADR_RecordEntity(string keyValue);

IEnumerable<ADR_RecordEntity> GetADR_RecordEntityByEmpNo(string year, string month, string day, string empno);

/// <summary>
/// 考勤记录统计
/// <summary>
/// <param name="queryJson">查询参数</param>
/// <returns></returns>
IEnumerable<ADR_RecordEntity> GetStatisticList(Pagination pagination, string queryJson);
#endregion

#region 提交数据


+ 59
- 7
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/ADR_Record/ADR_RecordService.cs 파일 보기

@@ -63,7 +63,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
}
if (!queryParam["Department"].IsEmpty())
{
dp.Add("Department",queryParam["Department"].ToString(), DbType.String);
dp.Add("Department", queryParam["Department"].ToString(), DbType.String);
strSql.Append(" AND emp.F_DepartmentId = @Department ");
}
if (!queryParam["ADR_Device"].IsEmpty())
@@ -76,7 +76,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
dp.Add("ADStatus", queryParam["ADStatus"].ToString(), DbType.String);
strSql.Append(" AND t.ClockStatus = @ADStatus ");
}
return this.BaseRepository("CollegeMIS").FindList<ADR_RecordEntity>(strSql.ToString(),dp, pagination);
return this.BaseRepository("CollegeMIS").FindList<ADR_RecordEntity>(strSql.ToString(), dp, pagination);
}
catch (Exception ex)
{
@@ -120,10 +120,10 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
}
if (!queryParam["Department"].IsEmpty())
{
dp.Add("Department",queryParam["Department"].ToString(), DbType.String);
dp.Add("Department", queryParam["Department"].ToString(), DbType.String);
strSql.Append(" AND t.Department = @Department ");
}
return this.BaseRepository("CollegeMIS").FindList<ADR_RecordEntity>(strSql.ToString(),dp);
return this.BaseRepository("CollegeMIS").FindList<ADR_RecordEntity>(strSql.ToString(), dp);
}
catch (Exception ex)
{
@@ -162,6 +162,58 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
}
}

/// <summary>
/// 考勤记录统计
/// <summary>
/// <param name="queryJson">查询参数</param>
/// <returns></returns>
public IEnumerable<ADR_RecordEntity> GetStatisticList(Pagination pagination, string queryJson)
{
try
{
var basedbname = BaseRepository().getDbConnection().Database;

var strSql = new StringBuilder();
strSql.Append("select t.UserNo,u.F_RealName as UserName,CONVERT(varchar(100), t.ClockTime, 23) as ClockDate,sum(case when t.ClockStatus='1' then 1 else 0 end) as ZhengChangNum,sum(case when t.ClockStatus='2' then 1 else 0 end) as ChiDaoNum,sum(case when t.ClockStatus='3' then 1 else 0 end) as ZaoTuiNum ");
strSql.Append(" from ADR_Record t ");
strSql.Append(" left join " + basedbname + ".dbo.LR_Base_User u on u. F_EnCode=T.UserNo ");
strSql.Append(" where 1=1 ");
var queryParam = queryJson.ToJObject();
// 虚拟参数
var dp = new DynamicParameters(new { });
if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty())
{
dp.Add("startTime", queryParam["StartTime"].ToDate(), DbType.DateTime);
dp.Add("endTime", queryParam["EndTime"].ToDate(), DbType.DateTime);
strSql.Append(" AND ( t.ClockTime >= @startTime AND t.ClockTime <= @endTime ) ");
}
if (!queryParam["UserNo"].IsEmpty())
{
dp.Add("UserNo", queryParam["UserNo"].ToString(), DbType.String);
strSql.Append(" AND t.UserNo = @UserNo ");
}
if (!queryParam["UserName"].IsEmpty())
{
dp.Add("UserName", "%" + queryParam["UserName"].ToString() + "%", DbType.String);
strSql.Append(" AND u.F_RealName Like @UserName ");
}
strSql.Append(" group by t.UserNo,u.F_RealName,CONVERT(varchar(100), t.ClockTime, 23) ");

return this.BaseRepository("CollegeMIS").FindList<ADR_RecordEntity>(strSql.ToString(), dp, pagination);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

#endregion

#region 提交数据
@@ -175,7 +227,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
{
try
{
this.BaseRepository("CollegeMIS").Delete<ADR_RecordEntity>(t=>t.ID == keyValue);
this.BaseRepository("CollegeMIS").Delete<ADR_RecordEntity>(t => t.ID == keyValue);
}
catch (Exception ex)
{
@@ -231,11 +283,11 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
/// <param name="day"></param>
/// <param name="empno"></param>
/// <returns></returns>
public IEnumerable<ADR_RecordEntity> GetADR_RecordEntityByEmpNo(string year,string month,string day,string empno)
public IEnumerable<ADR_RecordEntity> GetADR_RecordEntityByEmpNo(string year, string month, string day, string empno)
{
try
{
return this.BaseRepository("CollegeMIS").FindList<ADR_RecordEntity>(m=>m.ADYear==year&&m.ADMonth==month&&m.ADDay==day&&m.UserNo==empno);
return this.BaseRepository("CollegeMIS").FindList<ADR_RecordEntity>(m => m.ADYear == year && m.ADMonth == month && m.ADDay == day && m.UserNo == empno);
}
catch (Exception ex)
{


불러오는 중...
취소
저장