Browse Source

【修改】课时费统计加打印;

黑艺新账号
dyy 1 year ago
parent
commit
6414c9dfa8
8 changed files with 248 additions and 65 deletions
  1. +27
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/ArrangeLessonTermController.cs
  2. +82
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/ArrangeLessonTerm/PrintCourseStatistic.cshtml
  3. +71
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/ArrangeLessonTerm/PrintCourseStatistic.css
  4. +1
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/ArrangeLessonTerm/PrintCourseStatistic.js
  5. +4
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/ArrangeLessonTerm/coursestatictis.cshtml
  6. +58
    -49
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/ArrangeLessonTerm/coursestatictis.js
  7. +3
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj
  8. +2
    -15
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTerm/ArrangeLessonTermService.cs

+ 27
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/ArrangeLessonTermController.cs View File

@@ -30,6 +30,7 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
private UserIBLL userIbll = new UserBLL();
private WeChatConfigIBLL weChatConfigIbll = new WeChatConfigBLL();
private WeChatTempletIBLL weChatTempletIbll = new WeChatTempletBLL();
private CdDeptIBLL cdDeptIBLL = new CdDeptBLL();

#region 视图功能

@@ -83,6 +84,32 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
{
return View();
}

/// <summary>
/// 课时统计打印
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult PrintCourseStatistic(string weeks, string deptNo, string StartTime, string EndTime)
{
Pagination paginationobj = new Pagination() { rows = 100000, page = 1, sidx = "empno ", sord = "asc" };
var queryJson = "{\"weeks\":\"" + weeks + "\",\"deptNo\":\"" + deptNo + "\",\"StartTime\":\"" + StartTime + "\",\"EndTime\":\"" + EndTime + "\"}";
var data = arrangeLessonTermIBLL.GetcoursestatictisList(paginationobj, queryJson);
ViewBag.data = data;
ViewBag.startTime = StartTime;
ViewBag.endTime = EndTime;
ViewBag.deptName = "";
if (!string.IsNullOrEmpty(deptNo))
{
var deptEntity = cdDeptIBLL.GetCdDeptEntityByNo(deptNo);
if (deptEntity != null)
{
ViewBag.deptName = deptEntity.DeptName;
}
}
return View();
}
#endregion

#region 获取数据


+ 82
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/ArrangeLessonTerm/PrintCourseStatistic.cshtml View File

@@ -0,0 +1,82 @@
@using Learun.Application.TwoDevelopment.EducationalAdministration
@{
ViewBag.Title = "打印课时费统计";
Layout = "~/Views/Shared/_Form.cshtml";
}

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
@Html.AppendCssFile("/Areas/EducationalAdministration/Views/ArrangeLessonTerm/PrintCourseStatistic.css")
<body>
<div>
<div class="tableTop">
2023年黑龙江艺术职业学院______<span>@ViewBag.deptName</span>______系(部)校内专任教师_____月份课时费报表(@ViewBag.startTime.Substring(0, 10)-@ViewBag.endTime.Substring(0, 10))
</div>
@{
var now = DateTime.Now;
}
<div class="makeTime">制表时间:@now.Year 年 @now.Month 月 @now.Day 日</div>
<table border="1">
<tr>
<td><div style="min-width: 36px;">序号</div></td>
<td><div style="min-width: 44px;">姓名</div></td>
<td>教师职务</td>
<td>周任务课时(节)</td>
<td>月课时(节)</td>
<td>折算后月课时(节)</td>
<td>课时费标准(元/节)</td>
<td>实发课时费(元)</td>
<td>备注</td>
</tr>
@{
List<LessonStatictisEntity> dataList = ViewBag.data;
}
@foreach (LessonStatictisEntity entity in dataList)
{
<tr>
<td>@(dataList.IndexOf(entity) + 1)</td>
<td><div>@entity.empname</div></td>
<td>@entity.zhiwu</td>
<td>@entity.weekcourses</td>
<td>@entity.monthactcourses</td>
<td>@entity.zhesuan_monthactcourses</td>
@if (string.IsNullOrEmpty(entity.feestandard))
{
<td>@entity.feestandard</td>
}
else
{
<td>¥@entity.feestandard</td>
}
<td>¥@entity.actfeestandard</td>
<td></td>
</tr>
}
</table>
<div class="tableBottom">
<ul>
<li>院长:</li>
<li>主管院长:</li>
<li>财务处长:</li>
<li>教务处长:</li>
<li>系主任:</li>
</ul>
</div>
<div class="btnBox noprint">
<button id="print" onclick="printFn()">打印</button>
</div>
</div>
<script>
function printFn() {
window.print()
}
</script>
</body>
</html>

@Html.AppendJsFile("/Areas/EducationalAdministration/Views/ArrangeLessonTerm/PrintCourseStatistic.js")

+ 71
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/ArrangeLessonTerm/PrintCourseStatistic.css View File

@@ -0,0 +1,71 @@
@media print {
.noprint {
display: none !important;
}
}
body{
padding:10px;
}
table {
text-align: center;
width: 100%;
font-size: 14px;
color: #464646;
background: #fff;
border: 1px solid #d0d9e8;
border-spacing: 0px;
border-collapse: collapse;
}

table td,
table th {
padding: 14px 6px;
border: 1px solid #d0d9e8;
}

table th {
color: #000;
font-weight: normal;
}

.btnBox {
display: flex;
justify-content: center;
margin-top: 20px;
}

.btnBox #print {
background-color: #d05051;
border: none;
color: #fff;
width: 80px;
line-height: 32px;
letter-spacing: 4px;
cursor: pointer;
}

.tableTop {
color: #464646;
font-size: 14px;
margin-bottom: 6px;
}

.makeTime {
text-align: right;
color: #666;
font-size: 14px;
line-height: 28px;
}

.tableBottom ul {
display: flex;
flex-wrap: nowrap;
list-style-type: none;
padding-left: 0;
color: #464646;
font-size: 14px;
}

.tableBottom ul li {
flex: 1;
}

+ 1
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/ArrangeLessonTerm/PrintCourseStatistic.js View File

@@ -0,0 +1 @@


+ 4
- 1
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/ArrangeLessonTerm/coursestatictis.cshtml View File

@@ -1,5 +1,5 @@
@{
ViewBag.Title = "课";
ViewBag.Title = "课时费统计";
Layout = "~/Views/Shared/_Index.cshtml";
}
<div class="lr-layout">
@@ -24,6 +24,9 @@
<div class=" btn-group btn-group-sm">
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a>
</div>
<div class=" btn-group btn-group-sm">
<a id="lr_print" class="btn btn-default"><i class="fa fa-refresh"></i>&nbsp;打印</a>
</div>
</div>
</div>
<div class="lr-layout-body" id="gridtable"></div>


+ 58
- 49
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/ArrangeLessonTerm/coursestatictis.js View File

@@ -2,7 +2,7 @@
* Copyright (c) 2013-2018 北京泉江科技有限公司
* 创建人:超级管理员
* 日 期:2019-02-27 11:05
* 描 述:
* 描 述:课时费统计
*/
var selectedRow;
var refreshGirdData;
@@ -16,69 +16,77 @@ var bootstrap = function ($, learun) {
page.bind();
},
bind: function () {
// 时间搜索框
$('#weeks').lrselect({
placeholder:"请选择本月周数",
data: [{ text: "1周", value: "1" },{ text: "2周", value: "2" },{ text: "3周", value: "3" }, { text: "4周", value: "4" }],
text: "text",
value: "value",
})
var monthdata = []
for (var i = 1; i <= 12; i++) {
monthdata.push({ text: i+"月", value: i })
}
$('#datesearch').lrselect({
data: monthdata,
placeholder: "请选择本月周数",
data: [{ text: "1周", value: "1" }, { text: "2周", value: "2" }, { text: "3周", value: "3" }, { text: "4周", value: "4" }, { text: "5周", value: "5" }],
text: "text",
value: "value",
})
$('#DeptNo').lrDataSourceSelect({ code: 'CdDeptInfo', value: 'deptno', text: 'deptname' });
//$('#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: '3',
// selectfn: function (begin, end) {
// startTime = begin;
// endTime = end;
// //page.search();
// }
//});
$('#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;
}
});
// 查询
$('#btn_Search').on('click', function () {
var month = $('#datesearch').lrselectGet();
var weeks = $('#weeks').lrselectGet();
if (weeks == null || weeks == "" || weeks == undefined) {
learun.alert.warning("请选择本月周数!");
return false;
}
var deptNo = $('#DeptNo').lrselectGet();
page.search({ month: month, weeks: weeks, deptNo: deptNo });
page.search({ weeks: weeks, deptNo: deptNo });
});
// 刷新
$('#lr_refresh').on('click', function () {
location.reload();
});
// 打印
$('#lr_print').on('click', function () {
var weeks = $('#weeks').lrselectGet();
if (weeks == null || weeks == "" || weeks == undefined) {
learun.alert.warning("请选择本月周数!");
return false;
}
learun.layerForm({
id: 'PrintCourseStatistic',
title: '打印',
url: top.$.rootUrl + '/EducationalAdministration/ArrangeLessonTerm/PrintCourseStatistic?weeks=' + weeks + '&deptNo=' + $('#DeptNo').lrselectGet() + '&StartTime=' + startTime + '&EndTime=' + endTime,
width: 1200,
height: 800,
btn: null
});
});
},
initGird: function () {
$('#gridtable').jfGrid({
url: top.$.rootUrl + '/EducationalAdministration/ArrangeLessonTerm/GetcoursestatictisList',
headData: [
//{ label: '序号', name: 'ALTId', width: 200, align: "left" },
{ label: '姓名', name: 'empname', width: 200, align: "left" },
{ label: '姓名', name: 'empname', width: 100, align: "left" },
{
label: '教师职务', name: 'zhiwu', width: 200, align: "left",
label: '教师职务', name: 'zhiwu', width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('dataItem', {
key: value,
@@ -90,7 +98,7 @@ var bootstrap = function ($, learun) {
}
},
{
label: '部门', name: 'dept', width: 200, align: "left",
label: '部门', name: 'dept', width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'classdata',
@@ -100,7 +108,8 @@ var bootstrap = function ($, learun) {
callback(_data['name']);
}
});
} },
}
},
{ label: '周任务课时(节)', name: 'weekcourses', width: 200, align: "left" },
{ label: '实际月课时量(节)', name: 'monthactcourses', width: 200, align: "left" },
{ label: '折算后月课时量(节)', name: 'zhesuan_monthactcourses', width: 200, align: "left" },
@@ -108,14 +117,14 @@ var bootstrap = function ($, learun) {
{ label: '实发课时费(元)', name: 'actfeestandard', width: 200, align: "left" },
],
mainId: 'ALTId',
isPage: true
isPage: true,
sidx: 'empno'
});
page.search();
},
search: function (param) {
param = param || {};
//param.StartTime = startTime;
//param.EndTime = endTime;
param.StartTime = startTime;
param.EndTime = endTime;
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
}
};


+ 3
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj View File

@@ -1022,6 +1022,8 @@
<Content Include="Areas\AssetManagementSystem\Views\Ass_Warning\Index.js" />
<Content Include="Areas\EducationalAdministration\Views\Acc_DormitoryChange\FormView.js" />
<Content Include="Areas\EducationalAdministration\Views\ArrangeLessonTerm\coursestatictis.js" />
<Content Include="Areas\EducationalAdministration\Views\ArrangeLessonTerm\PrintCourseStatistic.css" />
<Content Include="Areas\EducationalAdministration\Views\ArrangeLessonTerm\PrintCourseStatistic.js" />
<Content Include="Areas\EducationalAdministration\Views\CdMajor\FormProvince.js" />
<Content Include="Areas\EducationalAdministration\Views\CdMajor\IndexOfElectiveOnline.js" />
<Content Include="Areas\EducationalAdministration\Views\CdMajor\IndexProvince.js" />
@@ -8350,6 +8352,7 @@
<Content Include="Areas\EducationalAdministration\Views\SchoolLevelScholarship\IndexInStuScoreOfStudent.cshtml" />
<Content Include="Content\excel\ArrangeLessonTermImport.xls" />
<Content Include="Areas\PersonnelManagement\Views\TimeTable\ImportForm.cshtml" />
<Content Include="Areas\EducationalAdministration\Views\ArrangeLessonTerm\PrintCourseStatistic.cshtml" />
<None Include="Properties\PublishProfiles\CustomProfile.pubxml" />
<None Include="Properties\PublishProfiles\FolderProfile.pubxml" />
<Content Include="Views\Login\Default-beifen.cshtml" />


+ 2
- 15
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTerm/ArrangeLessonTermService.cs View File

@@ -2225,13 +2225,11 @@ group by AcademicYearNo,Semester,DeptNo,MajorNo,LessonNo,TeachClassNo,EmpNo,Les
{
var strSql = new StringBuilder();
var queryParam = queryJson.ToJObject();
int month = queryParam["month"] == null ? DateTime.Now.Month : queryParam["month"].ToInt();
if (month < 1 || month > 12) month = DateTime.Now.Month;
int weeks = queryParam["weeks"] == null ? 4 : queryParam["weeks"].ToInt();
if (weeks < 1 || weeks > 4) weeks = 4;
var deptNo = queryParam["deptNo"] == null ? string.Empty : queryParam["deptNo"].ToString();
string starttime = DateTime.Now.Year.ToString() + "-" + month + "-1 00:00:00";
string endtime = DateTime.Now.Year.ToString() + "-" + month + "-" + DateTime.DaysInMonth(DateTime.Now.Year, month) + " 23:59:59";
string starttime = queryParam["StartTime"].IsEmpty() ? DateTime.Now.Date.ToString() : queryParam["StartTime"].ToString();
string endtime = queryParam["EndTime"].IsEmpty() ? DateTime.Now.Date.ToString() : queryParam["EndTime"].ToString();
strSql.Append("select a.*,b.jobrank as zhiwu,b.F_DepartmentId as dept,b.feestandard,b.Weekcourses,ta.actcourses as monthactcourses,ta.actcourses-(" + weeks + "*b.Weekcourses) as zhesuan_monthactcourses, ");
strSql.Append(" case when b.jobrank in(5,6) then (ta.actcourses-" + weeks + "*b.Weekcourses)*b.feestandard ");
strSql.Append(" when b.jobrank in(1,2,3,4) then (case when ta.actcourses<=(" + weeks + "*b.weekcourses)/2 then ta.actcourses*b.feestandard else " + weeks + "*b.weekcourses*b.feestandard/2 end) ");
@@ -2250,17 +2248,6 @@ group by AcademicYearNo,Semester,DeptNo,MajorNo,LessonNo,TeachClassNo,EmpNo,Les
strSql.Append("where a.empno is not null ");
return this.BaseRepository("CollegeMIS").FindList<LessonStatictisEntity>(strSql.ToString(), pagination);

//todo:获取当前时间所在月的周数,待使用???
DateTime date = new DateTime(2021, 9, 3); // 设置为想要查询的日期

int firstDayOfWeekIndex = (int)date.Date.DayOfWeek; // 获取当前日期对应的星期索引(从0开始)
int daysInMonth = DateTime.DaysInMonth(date.Year, date.Month); // 获取指定月份的天数

int weeksCount = Math.DivRem(daysInMonth + firstDayOfWeekIndex - 1, 7, out int remainingDays); // 计算总共的周数及剩余的天数

if (remainingDays > 0 && firstDayOfWeekIndex != 6) // 若最后一周不完整或者起始日为星期六则加上一周
weeksCount++;

}
catch (Exception ex)
{


Loading…
Cancel
Save