@@ -2,23 +2,23 @@ | |||||
ViewBag.Title = "授课考勤明细统计"; | ViewBag.Title = "授课考勤明细统计"; | ||||
Layout = "~/Views/Shared/_Index.cshtml"; | Layout = "~/Views/Shared/_Index.cshtml"; | ||||
} | } | ||||
<style> | |||||
.lr-search-date{ | |||||
width:100%; | |||||
} | |||||
</style> | |||||
<div class="lr-layout " > | <div class="lr-layout " > | ||||
<div class="lr-layout-center"> | <div class="lr-layout-center"> | ||||
<div class="lr-layout-wrap lr-layout-wrap-notitle "> | <div class="lr-layout-wrap lr-layout-wrap-notitle "> | ||||
<div class="lr-layout-tool"> | <div class="lr-layout-tool"> | ||||
<div class="lr-layout-tool-left"> | <div class="lr-layout-tool-left"> | ||||
@*<div class="lr-layout-tool-item"> | |||||
<input id="date" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd',onpicked: function () { $('#date').trigger('change'); } })" placeholder="请选择日期" /> | |||||
</div> | |||||
<div class="lr-layout-tool-item"> | |||||
<a id="btn_Search" class="btn btn-primary btn-sm"><i class="fa fa-search"></i> <span class="lrlt">查询</span></a> | |||||
</div>*@ | |||||
<div class="lr-layout-tool-item"> | <div class="lr-layout-tool-item"> | ||||
<div id="multiple_condition_query"> | <div id="multiple_condition_query"> | ||||
<div class="lr-query-formcontent"> | <div class="lr-query-formcontent"> | ||||
<div class="col-xs-12 lr-form-item"> | <div class="col-xs-12 lr-form-item"> | ||||
<div class="lr-form-item-title">考勤时间</div> | <div class="lr-form-item-title">考勤时间</div> | ||||
<input id="Date" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd',onpicked: function () { $('#Date').trigger('change'); } })" placeholder="请选择日期" /> | |||||
@*<input id="Date" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd',onpicked: function () { $('#Date').trigger('change'); } })" placeholder="请选择日期" />*@ | |||||
<div id="datesearch"></div> | |||||
</div> | </div> | ||||
<div class="col-xs-12 lr-form-item"> | <div class="col-xs-12 lr-form-item"> | ||||
<div class="lr-form-item-title">职工编号</div> | <div class="lr-form-item-title">职工编号</div> | ||||
@@ -7,7 +7,8 @@ | |||||
var refreshGirdData; | var refreshGirdData; | ||||
var bootstrap = function ($, learun) { | var bootstrap = function ($, learun) { | ||||
"use strict"; | "use strict"; | ||||
//var date = ""; | |||||
var startTime; | |||||
var endTime; | |||||
var page = { | var page = { | ||||
init: function () { | init: function () { | ||||
page.initGird(); | page.initGird(); | ||||
@@ -17,22 +18,39 @@ var bootstrap = function ($, learun) { | |||||
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) { | $('#multiple_condition_query').lrMultipleQuery(function (queryJson) { | ||||
page.search(queryJson); | page.search(queryJson); | ||||
}, 250, 400); | }, 250, 400); | ||||
// 时间搜索框 | |||||
$('#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: '0', | |||||
selectfn: function (begin, end) { | |||||
startTime = begin; | |||||
endTime = end; | |||||
} | |||||
}); | |||||
//当前年 | //当前年 | ||||
var now = learun.formatDate(new Date(), 'yyyy-MM-dd'); | |||||
$('#Date').val(now); | |||||
//var now = learun.formatDate(new Date(), 'yyyy-MM-dd'); | |||||
//$('#Date').val(now); | |||||
// 刷新 | // 刷新 | ||||
$('#lr_refresh').on('click', function () { | $('#lr_refresh').on('click', function () { | ||||
location.reload(); | location.reload(); | ||||
}); | }); | ||||
//查询 | |||||
//$('#btn_Search').on('click', function () { | |||||
// date = $('#date').val(); | |||||
// if (date == null || date == undefined || date == "") { | |||||
// learun.alert.warning("请选择查询时间!"); | |||||
// return; | |||||
// } | |||||
// page.search(); | |||||
//}); | |||||
// 部门选择 | // 部门选择 | ||||
$('#F_DepartmentId').lrselect({ | $('#F_DepartmentId').lrselect({ | ||||
type: 'tree', | type: 'tree', | ||||
@@ -135,7 +153,8 @@ var bootstrap = function ($, learun) { | |||||
}, | }, | ||||
search: function (param) { | search: function (param) { | ||||
param = param || {}; | param = param || {}; | ||||
//param.Date = date; | |||||
param.startTime = startTime; | |||||
param.endTime = endTime; | |||||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | $('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | ||||
} | } | ||||
}; | }; | ||||
@@ -124,24 +124,29 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
try | try | ||||
{ | { | ||||
var queryParam = queryJson.ToJObject(); | var queryParam = queryJson.ToJObject(); | ||||
var date = DateTime.Now.ToDateString(); | |||||
if (!queryParam["Date"].IsEmpty()) | |||||
var datest = DateTime.Now.ToDateString(); | |||||
var dateet = datest; | |||||
if (!queryParam["startTime"].IsEmpty()) | |||||
{ | { | ||||
date = queryParam["Date"].ToDate().ToDateString(); | |||||
datest = queryParam["startTime"].ToDate().ToDateString(); | |||||
} | |||||
if (!queryParam["endTime"].IsEmpty()) | |||||
{ | |||||
dateet = queryParam["endTime"].ToDate().ToDateString(); | |||||
} | } | ||||
var strSql1 = $@"select a.ALTId as ALTIdInArrange,a.LessonDate,a.AcademicYearNo,a.Semester, a.LessonNo, a.LessonName, a.EmpNo as EmpNoInArrange, a.EmpName as EmpNameInArrange,a.ClassroomNo,a.LessonTime, | var strSql1 = $@"select a.ALTId as ALTIdInArrange,a.LessonDate,a.AcademicYearNo,a.Semester, a.LessonNo, a.LessonName, a.EmpNo as EmpNoInArrange, a.EmpName as EmpNameInArrange,a.ClassroomNo,a.LessonTime, | ||||
a.StartTime, a.EndTime,a.LessonSortNo as LessonSortNoInArrange,e.F_DepartmentId,t.* | a.StartTime, a.EndTime,a.LessonSortNo as LessonSortNoInArrange,e.F_DepartmentId,t.* | ||||
from ArrangeLessonTerm a | from ArrangeLessonTerm a | ||||
left join Teach_Attendance t on a.ALTId=t.ALTId and t.LessonSortNo='1' | left join Teach_Attendance t on a.ALTId=t.ALTId and t.LessonSortNo='1' | ||||
left join EmpInfo e on a.EmpNo=e.EmpNo | left join EmpInfo e on a.EmpNo=e.EmpNo | ||||
where a.LessonDate ='{date}'"; | |||||
where a.LessonDate >='{datest}' and a.LessonDate <= '{dateet}'"; | |||||
var strSql2 = $@"select a.Id as ALTIdInArrange,a.LessonDate,a.AcademicYearNo, a.Semester, a.LessonNo, a.LessonName,a.EmpNo as EmpNoInArrange, a.EmpName as EmpNameInArrange,a.ClassRoomNo as ClassroomNo,a.LessonSection as LessonTime, | var strSql2 = $@"select a.Id as ALTIdInArrange,a.LessonDate,a.AcademicYearNo, a.Semester, a.LessonNo, a.LessonName,a.EmpNo as EmpNoInArrange, a.EmpName as EmpNameInArrange,a.ClassRoomNo as ClassroomNo,a.LessonSection as LessonTime, | ||||
case when LEN(a.LessonTime)>0 then SUBSTRING(a.LessonTime,1,CHARINDEX('-',a.LessonTime)-1) else '' end as StartTime, | case when LEN(a.LessonTime)>0 then SUBSTRING(a.LessonTime,1,CHARINDEX('-',a.LessonTime)-1) else '' end as StartTime, | ||||
case when LEN(a.LessonTime)>0 then SUBSTRING(a.LessonTime,CHARINDEX('-',a.LessonTime)+1,LEN(a.LessonTime)-CHARINDEX('-',a.LessonTime)) else '' end as EndTime, | case when LEN(a.LessonTime)>0 then SUBSTRING(a.LessonTime,CHARINDEX('-',a.LessonTime)+1,LEN(a.LessonTime)-CHARINDEX('-',a.LessonTime)) else '' end as EndTime, | ||||
a.LessonSortNo as LessonSortNoInArrange,e.F_DepartmentId,t.* from ArrangeLessonTermOfElective a | a.LessonSortNo as LessonSortNoInArrange,e.F_DepartmentId,t.* from ArrangeLessonTermOfElective a | ||||
left join Teach_Attendance t on a.Id=t.ALTId and t.LessonSortNo='2' | left join Teach_Attendance t on a.Id=t.ALTId and t.LessonSortNo='2' | ||||
left join EmpInfo e on a.EmpNo=e.EmpNo | left join EmpInfo e on a.EmpNo=e.EmpNo | ||||
where a.LessonDate='{date}'"; | |||||
where a.LessonDate >='{datest}' and a.LessonDate <= '{dateet}'"; | |||||
// 虚拟参数 | // 虚拟参数 | ||||
var dp = new DynamicParameters(new { }); | var dp = new DynamicParameters(new { }); | ||||
if (!queryParam["EmpNo"].IsEmpty()) | if (!queryParam["EmpNo"].IsEmpty()) | ||||
@@ -220,15 +225,15 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
ClockTime = y.ClockTime, | ClockTime = y.ClockTime, | ||||
ClockStatus = y.ClockStatus | ClockStatus = y.ClockStatus | ||||
}).ToList() | }).ToList() | ||||
}).OrderBy(x => x.EmpNoInArrange).OrderBy(x => Convert.ToInt32(x.LessonTime.Substring(1))); | |||||
}).OrderBy(x => x.LessonDate).ThenBy(x => Convert.ToInt32(x.LessonTime.Substring(1))); | |||||
//结果列表 | //结果列表 | ||||
var result = new List<Teach_attendanceEntity>(); | var result = new List<Teach_attendanceEntity>(); | ||||
foreach (var item in data) | foreach (var item in data) | ||||
{ | { | ||||
//上课时间 | //上课时间 | ||||
var WorkTimeTemp = string.Format("{0} {1}", date, item.StartTime).ToDate(); | |||||
var WorkTimeTemp = string.Format("{0} {1}", item.LessonDate, item.StartTime).ToDate(); | |||||
//下课时间 | //下课时间 | ||||
var CloseTimeTemp = string.Format("{0} {1}", date, item.EndTime).ToDate(); | |||||
var CloseTimeTemp = string.Format("{0} {1}", item.LessonDate, item.EndTime).ToDate(); | |||||
//课程应工作分钟数 | //课程应工作分钟数 | ||||
var WholeMinutes = (CloseTimeTemp - WorkTimeTemp).TotalMinutes.ToInt(); | var WholeMinutes = (CloseTimeTemp - WorkTimeTemp).TotalMinutes.ToInt(); | ||||
//上课 | //上课 | ||||