@@ -29,10 +29,10 @@ | |||
</containers> | |||
</unity>--> | |||
<!--数据库--> | |||
<connectionStrings> | |||
<!--<connectionStrings> | |||
<add name="BaseDb" connectionString="Server=192.168.2.126;Initial Catalog=adms7ultimate2;User ID=sa;Password=bjqj@2015!" providerName="System.Data.SqlClient" /> | |||
</connectionStrings> | |||
</connectionStrings>--> | |||
<!--系统设置--> | |||
<appSettings> | |||
<!-- ================== 1:开发系统相关配置 ================== --> | |||
@@ -51,7 +51,7 @@ namespace Learun.Application.IMServer | |||
} | |||
catch (TargetInvocationException exception) | |||
{ | |||
Console.WriteLine("服务开启失败. 已经有一个服务运行在{0}", SignalRURI); | |||
Console.WriteLine("服务开启失败. 已经有一个服务运行在{0}. 异常信息:{1}", SignalRURI, exception.ToString()); | |||
Console.ReadLine(); | |||
} | |||
} | |||
@@ -1,15 +1,15 @@ | |||
var config = { | |||
webapi: 'http://localhost:8088/', | |||
web: "http://localhost:8087/"//web地址,用于配置logo | |||
}; | |||
//var config = { | |||
// webapi: 'http://localhost:8088/', | |||
// web: "http://localhost:8087/"//web地址,用于配置logo | |||
//}; | |||
//var config = { | |||
// webapi: 'http://112.230.201.53:31173/', | |||
// web:"http://112.230.201.53/:8081/"//web地址,用于配置logo | |||
//}; | |||
//var config = { | |||
// webapi: 'http://localhost:31173/', | |||
// web: "http://localhost:20472/"//web地址,用于配置logo | |||
//}; | |||
var config = { | |||
webapi: 'http://localhost:31173/', | |||
web: "http://localhost:20472/"//web地址,用于配置logo | |||
}; | |||
//var config = { | |||
@@ -46,6 +46,7 @@ | |||
$desktop.append(_html); | |||
learun.httpget(config.webapi + "learun/adms/desktop/data", { type: 'list', id: _item.F_Id }, function (data) { | |||
console.log(data); | |||
if (data) { | |||
var $list = $('[data-desktop="' + data.Id + '"]'); | |||
//待办 | |||
@@ -27,10 +27,6 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||
[HttpGet] | |||
public ActionResult Index() | |||
{ | |||
//获取学生成绩录入初始化地址 | |||
var url = ConfigurationManager.AppSettings["DigitalschoolMisLoginurl"]; | |||
ViewBag.InitScoreUrl = url.Substring(0, url.LastIndexOf('/')) + "/PfcEduAdmMIS/StuScore/InitScoreInput.aspx"; | |||
return View(); | |||
} | |||
/// <summary> | |||
@@ -42,6 +38,11 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||
{ | |||
return View(); | |||
} | |||
[HttpGet] | |||
public ActionResult InitByConditionForm() | |||
{ | |||
return View(); | |||
} | |||
#endregion | |||
#region 获取数据 | |||
@@ -105,6 +106,14 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||
[HttpPost] | |||
[ValidateAntiForgeryToken] | |||
[AjaxOnly] | |||
public ActionResult SaveInitByConditionForm(ArrangeLessonTermEntity entity) | |||
{ | |||
eADateArrangeIBLL.InitByCondition(entity); | |||
return Success("操作成功"); | |||
} | |||
[HttpPost] | |||
[ValidateAntiForgeryToken] | |||
[AjaxOnly] | |||
public ActionResult SaveForm(string keyValue, string strEntity) | |||
{ | |||
EADateArrangeEntity entity = strEntity.ToObject<EADateArrangeEntity>(); | |||
@@ -2,9 +2,6 @@ | |||
ViewBag.Title = "教学工作安排"; | |||
Layout = "~/Views/Shared/_Index.cshtml"; | |||
} | |||
<script> | |||
var initScoreUrl = "@ViewBag.InitScoreUrl"; | |||
</script> | |||
<div class="lr-layout "> | |||
<div class="lr-layout-center"> | |||
<div class="lr-layout-wrap lr-layout-wrap-notitle "> | |||
@@ -93,7 +93,16 @@ var bootstrap = function ($, learun) { | |||
}); | |||
// 学生成绩录入初始化 | |||
$('#lr_initScore').on('click', function () { | |||
location.href = initScoreUrl; | |||
learun.layerForm({ | |||
id: 'InitByConditionForm', | |||
title: '按条件初始化成绩数据', | |||
url: top.$.rootUrl + '/EducationalAdministration/EADateArrange/InitByConditionForm', | |||
width: 600, | |||
height: 400, | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData); | |||
} | |||
}); | |||
}); | |||
}, | |||
// 初始化列表 | |||
@@ -0,0 +1,23 @@ | |||
@{ | |||
ViewBag.Title = "按条件初始化成绩数据"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap" id="form"> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">校区<font face="宋体">*</font></div> | |||
<div id="F_SchoolId" isvalid="yes" checkexpession="NotNull"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">学年<font face="宋体">*</font></div> | |||
<div id="AcademicYearNo" isvalid="yes" checkexpession="NotNull"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">学期<font face="宋体">*</font></div> | |||
<div id="Semester" isvalid="yes" checkexpession="NotNull"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="LessonInfo"> | |||
<div class="lr-form-item-title">课程分类</div> | |||
<div id="LessonSortNo"></div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/EADateArrange/InitByConditionForm.js") |
@@ -0,0 +1,56 @@ | |||
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||
* Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2019-02-27 11:05 | |||
* 描 述:按条件初始化成绩数据 | |||
*/ | |||
var acceptClick; | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
page.bind(); | |||
//page.initData(); | |||
}, | |||
bind: function () { | |||
$('#F_SchoolId').lrDataSourceSelect({ code: 'company', value: 'f_companyid', text: 'f_fullname' }); | |||
//学年 | |||
$('#AcademicYearNo').lrselect({ | |||
placeholder: "请选择学年", | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/EducationalAdministration/EADateArrange/GetAcademicYearNo', | |||
value: 'value', | |||
text: 'text' | |||
}); | |||
//学期 | |||
$('#Semester').lrselect({ | |||
placeholder: "请选择学期", | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/EducationalAdministration/StuScore/GetSemesterData', | |||
value: 'value', | |||
text: 'text' | |||
}); | |||
$('#LessonSortNo').lrDataSourceSelect({ code: 'CdLessonSort', value: 'lessonsortno', text: 'lessonsortname' }); | |||
}, | |||
initData: function () { | |||
//if (!!selectedRow) { | |||
// $('#form').lrSetFormData(selectedRow); | |||
//} | |||
} | |||
}; | |||
// 保存数据 | |||
acceptClick = function (callBack) { | |||
if (!$('#form').lrValidform()) { | |||
return false; | |||
} | |||
var postData = $('#form').lrGetFormData(); | |||
$.lrSaveForm(top.$.rootUrl + '/EducationalAdministration/EADateArrange/SaveInitByConditionForm', postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
} |
@@ -1,9 +1,12 @@ | |||
using Learun.Util; | |||
using System; | |||
using Learun.Util; | |||
using System.Data; | |||
using Learun.Application.TwoDevelopment.LogisticsManagement; | |||
using System.Web.Mvc; | |||
using Learun.Application.Base.SystemModule; | |||
using System.Collections.Generic; | |||
using System.IO; | |||
using System.Linq; | |||
namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers | |||
{ | |||
@@ -27,7 +30,7 @@ namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers | |||
[HttpGet] | |||
public ActionResult Index() | |||
{ | |||
return View(); | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 表单页 | |||
@@ -36,7 +39,28 @@ namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers | |||
[HttpGet] | |||
public ActionResult Form() | |||
{ | |||
return View(); | |||
return View(); | |||
} | |||
[HttpGet] | |||
public ActionResult AttendanceReportByWeek() | |||
{ | |||
return View(); | |||
} | |||
public ActionResult GetReport() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 统计主页面 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult StatisticIndex() | |||
{ | |||
return View(); | |||
} | |||
#endregion | |||
@@ -83,12 +107,37 @@ 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(null, queryJson).GroupBy(x => new { x.UserNo, x.UserName }) | |||
.Select(x => new ADR_RecordEntity() | |||
{ | |||
UserNo = x.Key.UserNo, | |||
UserName = x.Key.UserName, | |||
ZhengChangNum = x.Where(y => y.ClockStatus == "1").Count().ToString(), | |||
ChiDaoNum = x.Where(y => y.ClockStatus == "2").Count().ToString(), | |||
ZaoTuiNum = x.Where(y => y.ClockStatus == "3").Count().ToString() | |||
}).OrderBy(x => x.UserNo); | |||
return Success(data); | |||
} | |||
#endregion | |||
#region 提交数据 | |||
@@ -117,7 +166,7 @@ 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 | |||
@@ -0,0 +1,45 @@ | |||
@{ | |||
ViewBag.Title = "考勤记录"; | |||
Layout = "~/Views/Shared/_Index.cshtml"; | |||
} | |||
@using Stimulsoft.Report.Mvc | |||
<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> | |||
<div id="Department"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">打卡地点</div> | |||
<div id="ADR_Device"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">打卡结果</div> | |||
<div id="ADStatus"></div> | |||
</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/AttendanceReportByWeek.js") |
@@ -0,0 +1,72 @@ | |||
/* * 版 本 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); | |||
$('#Department').lrDepartmentSelect(); | |||
$('#ADR_Device').lrDataSourceSelect({ code: 'ADR_Device', value: 'dname', text: 'dname' }); | |||
$('#ADStatus').lrDataItemSelect({ code: 'ADStatus'}); | |||
// 刷新 | |||
$('#lr_refresh').on('click', function () { | |||
location.reload(); | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
param.StartTime = startTime; | |||
param.EndTime = endTime; | |||
} | |||
}; | |||
refreshGirdData = function () { | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,618 @@ | |||
<?xml version="1.0" encoding="utf-8" standalone="yes"?> | |||
<StiSerializer version="1.02" type="Net" application="StiReport"> | |||
<Dictionary Ref="1" type="Dictionary" isKey="true"> | |||
<BusinessObjects isList="true" count="0" /> | |||
<Databases isList="true" count="0" /> | |||
<DataSources isList="true" count="1"> | |||
<数据源1 Ref="2" type="DataTableSource" isKey="true"> | |||
<Alias>数据源1</Alias> | |||
<Columns isList="true" count="7"> | |||
<value>UserName,System.String</value> | |||
<value>Department,System.String</value> | |||
<value>ADType,System.String</value> | |||
<value>ADTime,System.DateTime</value> | |||
<value>ClockTime,System.DateTime</value> | |||
<value>ClockStatus,System.String</value> | |||
<value>ClockPlace,System.String</value> | |||
</Columns> | |||
<Dictionary isRef="1" /> | |||
<Key>7291a4d177ac43eeba3521446487f520</Key> | |||
<Name>数据源1</Name> | |||
<NameInSource>ADR_Record</NameInSource> | |||
</数据源1> | |||
</DataSources> | |||
<Relations isList="true" count="0" /> | |||
<Report isRef="0" /> | |||
<Resources isList="true" count="0" /> | |||
<Variables isList="true" count="2"> | |||
<value>,Monday,Monday,Monday,System.String,,False,False,False,False</value> | |||
<value>,MondayDate,MondayDate,MondayDate,System.String,,False,False,False,False</value> | |||
</Variables> | |||
</Dictionary> | |||
<EngineVersion>EngineV2</EngineVersion> | |||
<GlobalizationStrings isList="true" count="0" /> | |||
<Key>60b550cbd9f1400a90a18ac579ad7cd0</Key> | |||
<MetaTags isList="true" count="0" /> | |||
<Pages isList="true" count="1"> | |||
<Page1 Ref="3" type="Page" isKey="true"> | |||
<Border>None;Black;2;Solid;False;4;Black</Border> | |||
<Brush>Transparent</Brush> | |||
<Components isList="true" count="11"> | |||
<PageHeaderBand1 Ref="4" type="PageHeaderBand" isKey="true"> | |||
<Border>All;Black;1;Solid;False;4;Black</Border> | |||
<Brush>Transparent</Brush> | |||
<ClientRectangle>0,0.4,19,2</ClientRectangle> | |||
<Components isList="true" count="19"> | |||
<Image1 Ref="5" type="Image" isKey="true"> | |||
<Brush>Transparent</Brush> | |||
<ClientRectangle>0.01,0.01,5,2</ClientRectangle> | |||
<Conditions isList="true" count="0" /> | |||
<ImageBytes>/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABkAAD/4QMqaHR0cDov | |||
L25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENl | |||
aGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4 | |||
OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzE0MiA3OS4xNjA5MjQsIDIwMTcvMDcvMTMtMDE6 | |||
MDY6MzkgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5 | |||
OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHht | |||
bG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6 | |||
Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUu | |||
Y29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBo | |||
b3Rvc2hvcCBDQyAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QkUxQjdBRkNG | |||
NjQyMTFFQUJBN0FENDBDQjE5N0FBOUUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QkUxQjdB | |||
RkRGNjQyMTFFQUJBN0FENDBDQjE5N0FBOUUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5z | |||
dGFuY2VJRD0ieG1wLmlpZDpCRTFCN0FGQUY2NDIxMUVBQkE3QUQ0MENCMTk3QUE5RSIgc3RSZWY6 | |||
ZG9jdW1lbnRJRD0ieG1wLmRpZDpCRTFCN0FGQkY2NDIxMUVBQkE3QUQ0MENCMTk3QUE5RSIvPiA8 | |||
L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0i | |||
ciI/Pv/uAA5BZG9iZQBkwAAAAAH/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB | |||
AQEBAQEBAQEBAQECAgICAgICAgICAgMDAwMDAwMDAwMBAQEBAQEBAgEBAgICAQICAwMDAwMDAwMD | |||
AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA//AABEIADAAjwMBEQACEQED | |||
EQH/xABsAAABBAIDAQAAAAAAAAAAAAAABQYHCAQJAQIDCgEBAAAAAAAAAAAAAAAAAAAAABAAAQUA | |||
AQMEAwADAQADAQAABAECAwUGBwARCCESExUiFBYyIxcxNCU1CREBAAAAAAAAAAAAAAAAAAAAAP/a | |||
AAwDAQACEQMRAD8A+/joDoDoDoI9dx4BWOcRiDzMIT3WT9GlZDNkin9/kWM7GltfRxRFkNa4qeub | |||
XWc7UVqGM9yr0HH9Lqs/+GuzUtmEz8V02EGNuYFa38EnscZ2J1ldKVM5jY4K5L5saK5808bGq7oH | |||
bS31Jow/saG2rrgFJXjuJrS4DIoiYkaswszoHv8AgLg96JJE/wBskar2ciL0Ct0B0Dd191Lm8nqN | |||
FA/Oxz0Gdu7qGTX6J2QybJautJOjfqNaypv35fOtfAim2KAGqEN75kgm9nxuDXZwNz15T848aePv | |||
JIG38bKCt5cvyMvYBgcZ8pcsBvdVYzc7YnT5zkZ3I3AlVe112LkGjQMDzswIz53SMPOSJzFDZr0D | |||
c0+ch0YDIWlTVdqBP9hQXwkcTz6G4jhmghsRGzNdFK10M8kJED0WEsWWWCVHRSPaoYWW0s1q86ju | |||
oYK/YUEYn31bB8qDTQG/O2v0FKs6rKTnbtwc368ndyxSwzDSL848rWg8OggzVeQGSy21t+P0zHKW | |||
p0VBT0F5dMw3GWu11dWhaeS3jpWlW1PWz17TC/oiXLCkiyxsYjnIiPb3CQ+P9zn+TMVmOQMrIdLn | |||
ddTh3lO+zrDqax/SNj+SJp9TZwDWFaZH6tkhmjZLG9Fa5EVOgeHQHQHQHQfPNpPNDz8rvI3+XzdN | |||
gTsJqG8awAF6rlmvxeRlh2ew5IzwlJxCvIfiNx1u99t723lowKk2OtOpZ4ZISUmtpHj15QbTea/M | |||
ul4H5Aw3Gmq4j5W02i3i8Zh1Vjx2BnNDlluuRN2mHJrEtLfQ5m0azINiIuD5yABmJSCTFInthnbE | |||
E08Hc5Ynn7CDb3FfciBKVBW2lRpqO2zd9RWxFTUX0FZaVlyGCQyeel0AJUb2I+GWEqNzHu7+gPCz | |||
yWW0Rn3MSIHfsSUOPUZs99Vft+sIlHeATZ1kscloBXWLV+SvNQkBSI0SaB6t9vQJ/fkLOf5NF5Fq | |||
mf8Aix/X5rcRRp6NRY5HCYvSlTyy93O9+diHhiXs0iRyJ0CxSbXPXpbqocuQG+igeTPmrsUmk0cI | |||
0T44pTW01nGMYXVsIk+Jpw7ZgZZEVI5n9u/QLdsDJZ1VnWxHlVUthXmAx2gENYQdWyFjSDsPDguq | |||
+2p5yg3SJJGwsQkZz2oksUjFcxQgnN+PIWWZwGDW8n8mvz/AIpTa7MlJxo+r5DtycRqcL/R8iFw8 | |||
bQaF1rADryy2Q0B1BW/u/G5wroWfAoVB8pdfypSeQfCJNmTpcJSwcReSss0/EvIGptaeWih3Xi/F | |||
NseTkF8edvZ58XLyzjRQyj0tgEJBanEG2VeKK5xYbAa7eZqtqiRL/TUjLrIceZ7ebaMe7S8ZT5q2 | |||
GvohdMRasq6d51JaF463QU5QhENSvne2CP2OjYCtq85PcxiWVMZHT62jWeXPXT4FIhjQhYHH0tuO | |||
10b7DM3zRYozhvc1yrHERC6IsYWeEPfMaWDRDFteO+tuqcpK3RUc8iSFU1okMRHwukRkSFhFDzMn | |||
EJa1IyhpGSNRO6taFQdvxnymvP3JO3o+ObTVZfU4riyqrLSq8md5wwrbLLS7z7gQnN4v3xHrCy8G | |||
c0wlGyPR6sb3bH0E4+M2M0nHfAPEuI2FclRqMziqiqvatt6/UJX2Q8S/sCf0kjny3ywPd7VMeqyE | |||
Knvd+Tl6Cc+gYH96onb77Fb+gST/AOMv883XfsK31kRW8bnbZ4PxoqepSDtf3/BXqjuwZIfJGBNK | |||
Hr49dQD2xMzBo6KzsR6fRMLkcjGBkZ22cFeCHPcqIkMo7JV7p+PqnQPboIy1/EGH3mmzOr1cOnsz | |||
cibT2dNTN5C5BrsI+1z11DpM9cXnGlXqAuOtTc5/QiwHAmWlWYSGYKPNC9kg8DowpL5YeKfNnLXN | |||
2I5V4uM4nbT5+ro67W5/cHmU9ptq3PUvMwImYmuK/jDayCUk0/K5EbFlUhBWmGTNic5WxPBsmcOa | |||
PgHxK50zvKN5xKF/0PQ4oe8tCtDWR4OTOV3BfCfBV7baCDkC24SpjSdWvGJlsXQOugo3ssFEjspX | |||
p8rgizwYOs6zmClE18vNdZr7pvLwlGD5Qs4jzPJWq4zs93uOQ6HbcbC5HlA2z0eH1sNgBZWVfFmk | |||
swbCRFuix5QBwYQ7Ged/lxTFcrXer4Wo8bxjlQ9abmd3ts/gMVRsAqOaNdxVUH2l+3y+2pN3LapR | |||
CJXxAUaJclnjyDOaMWGs4bboaoDaZSg/saQA+cmuqbYgI8FP/rrqSvY+QkJhCOJrLAKUiRIpWOaR | |||
Aq/i9HevQJn87rc/+WU0jrgBnq3M7wguya1rf8YKzbxMJ1ACzSyPkmmtGaBy9mRwtgY3t0HePkKu | |||
AewXZgm4Qx72wsnv1gXNGyud8Uf1uwDlnzz3GztegwpcwdrKxnvcHGionQOmagpCb6t1M9UBNo6e | |||
ou6CqvJBon2ldSaUzP2OgqgzFas8AFyflKyYmJqoyaQCBzkVY29g1C+TfC+2uObOabJ2N0V9g+ZD | |||
uPcW+5scNoOWcnkPl48raHVW9PhjZdzZw2ejqamAUkzMZ4cANA4pP3a+yktltgsDjOfRfHLgDOm7 | |||
TjDk3XW3fn7QWNXxFwgDkz0zfEu+sKUjUG8cl13GBGaDvKSetIHknBY2b9lr5JlZJFLIE94XkN3N | |||
MOm2uKxXIHG20421rMFbUHLObiyBWyCTK5TdvqDQh7C4n/nya7cRfWWjkYVWW0c7mRShvLHPCeM7 | |||
oq7T1qWNcs8fxkEAngGRoPZVFoFJ8J9TaCo+T9Y8KZPa5Ec+N7VbJG98T2PcGjDzF8kPIXJ+S++4 | |||
ywPJOwEx0dxLIANndfjWHD2s/iJyZdCccVeMpeILzktkZ27ErbSG1FuSiW2roRYgJpZIeg2JeLum | |||
1uw8TNNZ6g/YWuhE3Xl/lBprC75BftIqjD+RPNmJyFVHoSMJXcoJaU2Zz4QQpaZ51034I3sFnIRr | |||
ZAu10GMYGHYikA2AoxwRcT4CgzIIiRSYJE9skJA8zXwzRPavZWuRUVP/AHoGT/y7CQ91qqCPLud6 | |||
TyYg+1wcpjU/wYfNjDqKWxZEqqsbZ1kSNVVWoiqvcD+Nuw+30vImuEhg9Qau2jzulrI1b6sgsDLa | |||
jfs7QVX/AOfvuWkuaqo2dnoqAduUgPy+TAav5PT4vi0XH36ft9fk+f5uTfsvl79vZ8Yvx9u/uf37 | |||
IHnJqL+D2x3vGmhkQWSOYqxojcto6WF0TkkQyujnuanXWCDp+SIymYUrkVI4nL7fcHLuTMIxY33F | |||
pJmWxv8AeKRuaO9wsE0yskie2tL2lXRQGlMhkcj2DvfIyN3dyI13qFQbP/8An74y8j6p/KxgGP1t | |||
5c/1RBWkdwp4h6GK/K2FzV3OhtrSwI8ebB2huCrWlY9TipSC0e+fvIrppVcF+A4JRhBRpjCLCYce | |||
CCU8xojCzpYomxyGFMAFBBYQS5qvekMMMSOcvsYxvZqBkdB0kjjmjfFKxksUrHRyRyNa+OSN7Va9 | |||
j2ORWvY9qqioqdlToI//AOfw0/8AtwdsXiXM9W0okTbLESq38mQyY4qSMOpFdK58k30stOQTLI58 | |||
sz3evQH9XoqH/XssuVIMz8U02KhO01XM1v8ArjlOzo4ztfTFFyNdI6CEa0DEjc35D3KjlQKW+bfi | |||
Dn/PLDAUomgyxGcCzWyiq9KMcFqCPvzBXiCVeaBPqr3EUaWp0DBra7ngszIK9kowwkRMkR4YSh4h | |||
eKVZ4lVm+xeYWinx+huqnRVlnVQSUFpc2kQJFMdZbLHVwcOOH2DaOtqhiruqUaO6YNGxa6vhBGie | |||
Fh9DT2lXZ/2eUg/YPRkcepzbFhibsakeNWRODlmfDAHsaeP1Ankc2AyJHBFOjY8cwAGenEfCPIky | |||
b6TKVWjsbzU5neR6Y2S3dewaPES1EefZAWYTFcZ0fOm5uFslKz9UOEyMhCBfnmK+QHrm+OMlkMYR | |||
gc0HZ1GcLk1RJKDaXTrfS2O3urjR6u6dsJriTX/0V3ob8w6WyQ9D0MIdM2ZsnZyA+egwLW1q6Krs | |||
ru7sgKelpwDLW3t7Uwevq6qrrx5Cz7KyPLkhEBABEhfLNNK9scUbVc5URFXoKHeNXkJcXui5lbyK | |||
yzrSuSjtD5H+OFHcGXkJmt8ZwKqh4/ppqCq0csf092KTkRtBc0gIoyUou4p5j4WWNiU54VK4f3XN | |||
VVq+GqPScrUWt0OAI8Z7TlTPU3KfOd9yxtc7zzHXce11zoeN9NyHZ4ivGrLjag6PT+2taHVCQK4R | |||
OzoVQN2vQHQHQM6y49wtubPaWGQzk9wSqPkvEqAYb5szGtZEVBejwxW4pkCMb8c0UzJYlaiscioi | |||
oGD/AAEYnZ1DsN/Qyu9CJf6krW/sRp6tjUfkeLbBiex3r7xooJXf+OerfToD6rkcH8QdhnbgWBfd | |||
DHpcjPHdHNT83Dm3ud0NRTjPld3Y2eGk7RN7KsMrkX3hz9/vQfztePhrCJ6e2JmJ2QFwYyRO6ucb | |||
Dsq3joSEZW+jXQkESK70WNE/LoOP+i1I3aO7pdpniWepcR+N0B4Nez/JZjdLmwr7HsGZEvvfM2xf | |||
FE3v8jmK1yIC3SbLH6WaYbOavN6AgeNJiIKS9q7WaCJXIxJZogCp3xRq9e3uciJ39OgwrfDUNofL | |||
dDsLoNJK2P36bNkuqLmdw8bYw/tXwtcDpBgUY34hbWA4JO3ZYVTuigm/scg538SQhOQqtn4sJqnA | |||
5zZsjT/VC0qssihclelOVEkJKiMpY0RXfCEqo1iguUWyzmjnmCrbD22osX7BlDZiG0mjCHV7Y2FG | |||
525HAuxBJnPb8cz4GxSo5FY5yKiqDeuQzcdZla+kgIMoTFeRt80ALKWY5zWMauyzoQrJCC7gKCPt | |||
YAQsfNZCtR47XmwsHNB6feUv0v8AS/b1f879X959/wDvifS/S/qfv/b/AGny/o/V/o/7v2Pf8Xxf | |||
n7vb69AqdA2tdjcjv6AzKbrMUGyy9hPWk2Gc1FQBfUZ89PaBXdVIbU2cBIJa19xXDkxfJG5GTwse | |||
n5NRegwthx5heQGU7drkqDTSZw421zRlvWjFWWXuLCit8wZd5e0fH9jm72XO3xoX7oMo5TRypWNk | |||
RHuRQawvAfCQObqciFxPx+JnKLRS7CmrB8rTwx1myIJeaXtApoxGlD7I46R85Fs16WJE8j5JZnve | |||
5yhLfQHQHQHQHQHQHQHQIt3ms7pYIRtHQUugHHlWYce7qgbWCCZWqxZYYj4J44pVYqp7moi9vToG | |||
1/zTLQf/AJP3+bYz1FDzGt1GfpQZU9UlEzNZbj5eNfk/N7HBOilf3WRj/c7uB/N7UH/ZV8kGWEzv | |||
wkj2uXzlwAyP/wB94sGOG47OiK9yInulKmi9vdPj93ZyAh3tJsbeCELQ5Hj7aw18qmCXEN5d5G5F | |||
K9jkQ3O1ktFppaC8FY5WjkxX0UnyIj0mg7/gDY++3mU7SC0e4mpk/Ael3dcPqyUci+yEKv13FR3I | |||
OsBgghcsr57mqt5CXRpGpcTn+7oI8j59wmMuZa8xlpQQacr9VvFGnqnVWsh2F4WsNbHjquZXx3kG | |||
9sy2sdUwK4+KeX979Zo8hckQf//Z</ImageBytes> | |||
<Margins>0,0,0,0</Margins> | |||
<Name>Image1</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="4" /> | |||
<Stretch>True</Stretch> | |||
</Image1> | |||
<Text1 Ref="6" type="Text" isKey="true"> | |||
<Brush>Transparent</Brush> | |||
<ClientRectangle>5.2,1.2,1.6,0.4</ClientRectangle> | |||
<Conditions isList="true" count="0" /> | |||
<Font>Arial,8</Font> | |||
<Margins>0,0,0,0</Margins> | |||
<Name>Text1</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="4" /> | |||
<Text>{Monday}</Text> | |||
<TextBrush>Black</TextBrush> | |||
</Text1> | |||
<Text2 Ref="7" type="Text" isKey="true"> | |||
<Brush>Transparent</Brush> | |||
<ClientRectangle>5.2,0.2,1.6,0.6</ClientRectangle> | |||
<Conditions isList="true" count="0" /> | |||
<Font>Arial,8</Font> | |||
<Margins>0,0,0,0</Margins> | |||
<Name>Text2</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="4" /> | |||
<Text>{MondayDate}</Text> | |||
<TextBrush>Black</TextBrush> | |||
</Text2> | |||
<StartPointPrimitive1 Ref="8" type="Stimulsoft.Report.Components.StiStartPointPrimitive" isKey="true"> | |||
<ClientRectangle>5,0,0,0</ClientRectangle> | |||
<Conditions isList="true" count="0" /> | |||
<Name>StartPointPrimitive1</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="4" /> | |||
<ReferenceToGuid>6f1bc255e6204946825c21d6e7a14efa</ReferenceToGuid> | |||
</StartPointPrimitive1> | |||
<EndPointPrimitive1 Ref="9" type="Stimulsoft.Report.Components.StiEndPointPrimitive" isKey="true"> | |||
<ClientRectangle>5,2,0,0</ClientRectangle> | |||
<Conditions isList="true" count="0" /> | |||
<Name>EndPointPrimitive1</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="4" /> | |||
<ReferenceToGuid>6f1bc255e6204946825c21d6e7a14efa</ReferenceToGuid> | |||
</EndPointPrimitive1> | |||
<StartPointPrimitive8 Ref="10" type="Stimulsoft.Report.Components.StiStartPointPrimitive" isKey="true"> | |||
<ClientRectangle>17,0,0,0</ClientRectangle> | |||
<Conditions isList="true" count="0" /> | |||
<Name>StartPointPrimitive8</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="4" /> | |||
<ReferenceToGuid>ef3e0b0ec7af4e37bfe8a43076b7cd30</ReferenceToGuid> | |||
</StartPointPrimitive8> | |||
<EndPointPrimitive8 Ref="11" type="Stimulsoft.Report.Components.StiEndPointPrimitive" isKey="true"> | |||
<ClientRectangle>19,2,0,0</ClientRectangle> | |||
<Conditions isList="true" count="0" /> | |||
<Name>EndPointPrimitive8</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="4" /> | |||
<ReferenceToGuid>ef3e0b0ec7af4e37bfe8a43076b7cd30</ReferenceToGuid> | |||
</EndPointPrimitive8> | |||
<StartPointPrimitive7 Ref="12" type="Stimulsoft.Report.Components.StiStartPointPrimitive" isKey="true"> | |||
<ClientRectangle>15,0,0,0</ClientRectangle> | |||
<Conditions isList="true" count="0" /> | |||
<Name>StartPointPrimitive7</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="4" /> | |||
<ReferenceToGuid>2d746f4748134ce0a58f133581ce35de</ReferenceToGuid> | |||
</StartPointPrimitive7> | |||
<EndPointPrimitive7 Ref="13" type="Stimulsoft.Report.Components.StiEndPointPrimitive" isKey="true"> | |||
<ClientRectangle>17,2,0,0</ClientRectangle> | |||
<Conditions isList="true" count="0" /> | |||
<Name>EndPointPrimitive7</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="4" /> | |||
<ReferenceToGuid>2d746f4748134ce0a58f133581ce35de</ReferenceToGuid> | |||
</EndPointPrimitive7> | |||
<StartPointPrimitive6 Ref="14" type="Stimulsoft.Report.Components.StiStartPointPrimitive" isKey="true"> | |||
<ClientRectangle>13,0,0,0</ClientRectangle> | |||
<Conditions isList="true" count="0" /> | |||
<Name>StartPointPrimitive6</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="4" /> | |||
<ReferenceToGuid>3ea18cee2e5845f2bffa9729b80e5f29</ReferenceToGuid> | |||
</StartPointPrimitive6> | |||
<EndPointPrimitive6 Ref="15" type="Stimulsoft.Report.Components.StiEndPointPrimitive" isKey="true"> | |||
<ClientRectangle>15,2,0,0</ClientRectangle> | |||
<Conditions isList="true" count="0" /> | |||
<Name>EndPointPrimitive6</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="4" /> | |||
<ReferenceToGuid>3ea18cee2e5845f2bffa9729b80e5f29</ReferenceToGuid> | |||
</EndPointPrimitive6> | |||
<StartPointPrimitive5 Ref="16" type="Stimulsoft.Report.Components.StiStartPointPrimitive" isKey="true"> | |||
<ClientRectangle>11,0,0,0</ClientRectangle> | |||
<Conditions isList="true" count="0" /> | |||
<Name>StartPointPrimitive5</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="4" /> | |||
<ReferenceToGuid>d1cab23d65cb4cbf87889dc2f5fb4900</ReferenceToGuid> | |||
</StartPointPrimitive5> | |||
<EndPointPrimitive5 Ref="17" type="Stimulsoft.Report.Components.StiEndPointPrimitive" isKey="true"> | |||
<ClientRectangle>13,2,0,0</ClientRectangle> | |||
<Conditions isList="true" count="0" /> | |||
<Name>EndPointPrimitive5</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="4" /> | |||
<ReferenceToGuid>d1cab23d65cb4cbf87889dc2f5fb4900</ReferenceToGuid> | |||
</EndPointPrimitive5> | |||
<StartPointPrimitive4 Ref="18" type="Stimulsoft.Report.Components.StiStartPointPrimitive" isKey="true"> | |||
<ClientRectangle>9,0,0,0</ClientRectangle> | |||
<Conditions isList="true" count="0" /> | |||
<Name>StartPointPrimitive4</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="4" /> | |||
<ReferenceToGuid>82a36abe322c4390958d192e59591218</ReferenceToGuid> | |||
</StartPointPrimitive4> | |||
<EndPointPrimitive4 Ref="19" type="Stimulsoft.Report.Components.StiEndPointPrimitive" isKey="true"> | |||
<ClientRectangle>11,2,0,0</ClientRectangle> | |||
<Conditions isList="true" count="0" /> | |||
<Name>EndPointPrimitive4</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="4" /> | |||
<ReferenceToGuid>82a36abe322c4390958d192e59591218</ReferenceToGuid> | |||
</EndPointPrimitive4> | |||
<StartPointPrimitive3 Ref="20" type="Stimulsoft.Report.Components.StiStartPointPrimitive" isKey="true"> | |||
<ClientRectangle>7,0,0,0</ClientRectangle> | |||
<Conditions isList="true" count="0" /> | |||
<Name>StartPointPrimitive3</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="4" /> | |||
<ReferenceToGuid>3b9fa7de8f11436484b1a16553af09c9</ReferenceToGuid> | |||
</StartPointPrimitive3> | |||
<EndPointPrimitive3 Ref="21" type="Stimulsoft.Report.Components.StiEndPointPrimitive" isKey="true"> | |||
<ClientRectangle>9,2,0,0</ClientRectangle> | |||
<Conditions isList="true" count="0" /> | |||
<Name>EndPointPrimitive3</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="4" /> | |||
<ReferenceToGuid>3b9fa7de8f11436484b1a16553af09c9</ReferenceToGuid> | |||
</EndPointPrimitive3> | |||
<StartPointPrimitive2 Ref="22" type="Stimulsoft.Report.Components.StiStartPointPrimitive" isKey="true"> | |||
<ClientRectangle>5,0,0,0</ClientRectangle> | |||
<Conditions isList="true" count="0" /> | |||
<Name>StartPointPrimitive2</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="4" /> | |||
<ReferenceToGuid>85559f8f8dd547cf9f94f6bcba15184e</ReferenceToGuid> | |||
</StartPointPrimitive2> | |||
<EndPointPrimitive2 Ref="23" type="Stimulsoft.Report.Components.StiEndPointPrimitive" isKey="true"> | |||
<ClientRectangle>7,2,0,0</ClientRectangle> | |||
<Conditions isList="true" count="0" /> | |||
<Name>EndPointPrimitive2</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="4" /> | |||
<ReferenceToGuid>85559f8f8dd547cf9f94f6bcba15184e</ReferenceToGuid> | |||
</EndPointPrimitive2> | |||
</Components> | |||
<Conditions isList="true" count="0" /> | |||
<Name>PageHeaderBand1</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="3" /> | |||
</PageHeaderBand1> | |||
<DataBand1 Ref="24" type="DataBand" isKey="true"> | |||
<Brush>Transparent</Brush> | |||
<BusinessObjectGuid isNull="true" /> | |||
<ClientRectangle>0,3.2,19,2</ClientRectangle> | |||
<Components isList="true" count="3"> | |||
<Text5 Ref="25" type="Text" isKey="true"> | |||
<Brush>Transparent</Brush> | |||
<ClientRectangle>0,0.4,2.4,0.6</ClientRectangle> | |||
<Conditions isList="true" count="0" /> | |||
<Font>Arial,8</Font> | |||
<Margins>0,0,0,0</Margins> | |||
<Name>Text5</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="24" /> | |||
<Text>{数据源1.UserName}</Text> | |||
<TextBrush>Black</TextBrush> | |||
</Text5> | |||
<Text6 Ref="26" type="Text" isKey="true"> | |||
<Brush>Transparent</Brush> | |||
<ClientRectangle>0,1.2,2.4,0.6</ClientRectangle> | |||
<Conditions isList="true" count="0" /> | |||
<Font>Arial,8</Font> | |||
<Margins>0,0,0,0</Margins> | |||
<Name>Text6</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="24" /> | |||
<Text>{数据源1.Department}</Text> | |||
<TextBrush>Black</TextBrush> | |||
</Text6> | |||
<Text7 Ref="27" type="Text" isKey="true"> | |||
<Brush>Transparent</Brush> | |||
<ClientRectangle>3.2,0.4,1.6,0.6</ClientRectangle> | |||
<Conditions isList="true" count="0" /> | |||
<Font>Arial,8</Font> | |||
<Margins>0,0,0,0</Margins> | |||
<Name>Text7</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="24" /> | |||
<Text>{数据源1.ADType}</Text> | |||
<TextBrush>Black</TextBrush> | |||
</Text7> | |||
</Components> | |||
<Conditions isList="true" count="0" /> | |||
<DataRelationName isNull="true" /> | |||
<DataSourceName>数据源1</DataSourceName> | |||
<Filters isList="true" count="0" /> | |||
<Name>DataBand1</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="3" /> | |||
<Sort isList="true" count="0" /> | |||
</DataBand1> | |||
<VerticalLinePrimitive1 Ref="28" type="VerticalLinePrimitive" isKey="true"> | |||
<ClientRectangle>5,0.4,0.0254,2</ClientRectangle> | |||
<Color>Black</Color> | |||
<Conditions isList="true" count="0" /> | |||
<EndCap Ref="29" type="Cap" isKey="true"> | |||
<Color>Black</Color> | |||
</EndCap> | |||
<Guid>6f1bc255e6204946825c21d6e7a14efa</Guid> | |||
<Name>VerticalLinePrimitive1</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="3" /> | |||
<StartCap Ref="30" type="Cap" isKey="true"> | |||
<Color>Black</Color> | |||
</StartCap> | |||
</VerticalLinePrimitive1> | |||
<RectanglePrimitive7 Ref="31" type="RectanglePrimitive" isKey="true"> | |||
<ClientRectangle>17,0.4,2,2</ClientRectangle> | |||
<Color>Black</Color> | |||
<Conditions isList="true" count="0" /> | |||
<Guid>ef3e0b0ec7af4e37bfe8a43076b7cd30</Guid> | |||
<Name>RectanglePrimitive7</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="3" /> | |||
</RectanglePrimitive7> | |||
<RectanglePrimitive6 Ref="32" type="RectanglePrimitive" isKey="true"> | |||
<ClientRectangle>15,0.4,2,2</ClientRectangle> | |||
<Color>Black</Color> | |||
<Conditions isList="true" count="0" /> | |||
<Guid>2d746f4748134ce0a58f133581ce35de</Guid> | |||
<Name>RectanglePrimitive6</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="3" /> | |||
</RectanglePrimitive6> | |||
<RectanglePrimitive5 Ref="33" type="RectanglePrimitive" isKey="true"> | |||
<ClientRectangle>13,0.4,2,2</ClientRectangle> | |||
<Color>Black</Color> | |||
<Conditions isList="true" count="0" /> | |||
<Guid>3ea18cee2e5845f2bffa9729b80e5f29</Guid> | |||
<Name>RectanglePrimitive5</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="3" /> | |||
</RectanglePrimitive5> | |||
<RectanglePrimitive4 Ref="34" type="RectanglePrimitive" isKey="true"> | |||
<ClientRectangle>11,0.4,2,2</ClientRectangle> | |||
<Color>Black</Color> | |||
<Conditions isList="true" count="0" /> | |||
<Guid>d1cab23d65cb4cbf87889dc2f5fb4900</Guid> | |||
<Name>RectanglePrimitive4</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="3" /> | |||
</RectanglePrimitive4> | |||
<RectanglePrimitive3 Ref="35" type="RectanglePrimitive" isKey="true"> | |||
<ClientRectangle>9,0.4,2,2</ClientRectangle> | |||
<Color>Black</Color> | |||
<Conditions isList="true" count="0" /> | |||
<Guid>82a36abe322c4390958d192e59591218</Guid> | |||
<Name>RectanglePrimitive3</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="3" /> | |||
</RectanglePrimitive3> | |||
<RectanglePrimitive2 Ref="36" type="RectanglePrimitive" isKey="true"> | |||
<ClientRectangle>7,0.4,2,2</ClientRectangle> | |||
<Color>Black</Color> | |||
<Conditions isList="true" count="0" /> | |||
<Guid>3b9fa7de8f11436484b1a16553af09c9</Guid> | |||
<Name>RectanglePrimitive2</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="3" /> | |||
</RectanglePrimitive2> | |||
<RectanglePrimitive1 Ref="37" type="RectanglePrimitive" isKey="true"> | |||
<ClientRectangle>5,0.4,2,2</ClientRectangle> | |||
<Color>Black</Color> | |||
<Conditions isList="true" count="0" /> | |||
<Guid>85559f8f8dd547cf9f94f6bcba15184e</Guid> | |||
<Name>RectanglePrimitive1</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="3" /> | |||
</RectanglePrimitive1> | |||
<CrossTab1 Ref="38" type="Stimulsoft.Report.CrossTab.StiCrossTab" isKey="true"> | |||
<Brush>Transparent</Brush> | |||
<ClientRectangle>0.2,6.4,10.4,3.2</ClientRectangle> | |||
<Components isList="true" count="7"> | |||
<CrossTab1_RowTotal1 Ref="39" type="CrossRowTotal" isKey="true"> | |||
<Border>All;[155:155:155];1;Solid;False;4;Black</Border> | |||
<Brush>[255:255:255]</Brush> | |||
<ClientRectangle>0,1.3,1.6,0.4</ClientRectangle> | |||
<Conditions isList="true" count="0" /> | |||
<Font>Arial,8</Font> | |||
<Guid>088261aeb6754baa8051a32ddf350bba</Guid> | |||
<Margins>0,0,0,0</Margins> | |||
<Name>CrossTab1_RowTotal1</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="38" /> | |||
<Restrictions>AllowMove, AllowResize, AllowSelect, AllowChange</Restrictions> | |||
<Text>Total</Text> | |||
<TextBrush>Black</TextBrush> | |||
</CrossTab1_RowTotal1> | |||
<CrossTab1_Row1_Title Ref="40" type="CrossTitle" isKey="true"> | |||
<Border>All;[155:155:155];1;Solid;False;4;Black</Border> | |||
<Brush>White</Brush> | |||
<ClientRectangle>0,0.45,1.6,0.4</ClientRectangle> | |||
<Font>Arial,8</Font> | |||
<Guid>565eb2dfdfaf401c9318ea775028f75e</Guid> | |||
<Margins>0,0,0,0</Margins> | |||
<Name>CrossTab1_Row1_Title</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="38" /> | |||
<Restrictions>AllowMove, AllowResize, AllowSelect, AllowChange</Restrictions> | |||
<Text>UserName</Text> | |||
<TextBrush>[105:105:105]</TextBrush> | |||
<TypeOfComponent>Row:CrossTab1_Row1</TypeOfComponent> | |||
</CrossTab1_Row1_Title> | |||
<CrossTab1_ColTotal1 Ref="41" type="CrossColumnTotal" isKey="true"> | |||
<Border>All;[155:155:155];1;Solid;False;4;Black</Border> | |||
<Brush>[255:255:255]</Brush> | |||
<ClientRectangle>3.25,0.45,0.8,0.4</ClientRectangle> | |||
<Conditions isList="true" count="0" /> | |||
<Font>Arial,8</Font> | |||
<Guid>6f4f22da318548889f03c823399cb0a6</Guid> | |||
<Margins>0,0,0,0</Margins> | |||
<Name>CrossTab1_ColTotal1</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="38" /> | |||
<Restrictions>AllowMove, AllowResize, AllowSelect, AllowChange</Restrictions> | |||
<Text>Total</Text> | |||
<TextBrush>Black</TextBrush> | |||
</CrossTab1_ColTotal1> | |||
<CrossTab1_LeftTitle Ref="42" type="CrossTitle" isKey="true"> | |||
<Border>All;[155:155:155];1;Solid;False;4;Black</Border> | |||
<Brush>White</Brush> | |||
<ClientRectangle>0,0,1.6,0.4</ClientRectangle> | |||
<Font>Arial,8</Font> | |||
<Guid>9650f906446e4e3e8026497cded9f471</Guid> | |||
<Margins>0,0,0,0</Margins> | |||
<Name>CrossTab1_LeftTitle</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="38" /> | |||
<Restrictions>AllowMove, AllowResize, AllowSelect, AllowChange</Restrictions> | |||
<Text>数据源1</Text> | |||
<TextBrush>[105:105:105]</TextBrush> | |||
<TypeOfComponent>LeftTitle</TypeOfComponent> | |||
</CrossTab1_LeftTitle> | |||
<CrossTab1_RightTitle Ref="43" type="CrossTitle" isKey="true"> | |||
<Border>All;[155:155:155];1;Solid;False;4;Black</Border> | |||
<Brush>White</Brush> | |||
<ClientRectangle>1.65,0,2.4,0.4</ClientRectangle> | |||
<Font>Arial,8</Font> | |||
<Guid>4f0b5274279f4cba9007f5ee40ac306e</Guid> | |||
<Margins>0,0,0,0</Margins> | |||
<Name>CrossTab1_RightTitle</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="38" /> | |||
<Restrictions>AllowMove, AllowResize, AllowSelect, AllowChange</Restrictions> | |||
<Text>ClockTime</Text> | |||
<TextBrush>[105:105:105]</TextBrush> | |||
<TypeOfComponent>RightTitle</TypeOfComponent> | |||
</CrossTab1_RightTitle> | |||
<CrossTab1_Row1 Ref="44" type="CrossRow" isKey="true"> | |||
<Alias>UserName</Alias> | |||
<Border>All;[155:155:155];1;Solid;False;4;Black</Border> | |||
<Brush>White</Brush> | |||
<ClientRectangle>0,0.9,1.6,0.4</ClientRectangle> | |||
<Conditions isList="true" count="0" /> | |||
<DisplayValue>{数据源1.UserName}</DisplayValue> | |||
<Font>Arial,8</Font> | |||
<Guid>59b5d26bd453438d937c49938f2708d0</Guid> | |||
<Margins>0,0,0,0</Margins> | |||
<Name>CrossTab1_Row1</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="38" /> | |||
<Restrictions>AllowMove, AllowResize, AllowSelect, AllowChange</Restrictions> | |||
<Text>UserName</Text> | |||
<TextBrush>[105:105:105]</TextBrush> | |||
<TotalGuid>088261aeb6754baa8051a32ddf350bba</TotalGuid> | |||
<Value>{数据源1.UserName}</Value> | |||
</CrossTab1_Row1> | |||
<CrossTab1_Column1 Ref="45" type="CrossColumn" isKey="true"> | |||
<Alias>ClockTime</Alias> | |||
<Border>All;[155:155:155];1;Solid;False;4;Black</Border> | |||
<Brush>White</Brush> | |||
<ClientRectangle>1.65,0.45,1.6,0.4</ClientRectangle> | |||
<Conditions isList="true" count="0" /> | |||
<DisplayValue>{数据源1.ClockTime}</DisplayValue> | |||
<Font>Arial,8</Font> | |||
<Guid>75b732277ab94168b2782c3e24028eff</Guid> | |||
<Margins>0,0,0,0</Margins> | |||
<Name>CrossTab1_Column1</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="38" /> | |||
<Restrictions>AllowMove, AllowResize, AllowSelect, AllowChange</Restrictions> | |||
<Text>ClockTime</Text> | |||
<TextBrush>[105:105:105]</TextBrush> | |||
<TotalGuid>6f4f22da318548889f03c823399cb0a6</TotalGuid> | |||
<Value>{数据源1.ClockTime}</Value> | |||
</CrossTab1_Column1> | |||
</Components> | |||
<Conditions isList="true" count="0" /> | |||
<DataSourceName>数据源1</DataSourceName> | |||
<EmptyValue /> | |||
<Filters isList="true" count="0" /> | |||
<Name>CrossTab1</Name> | |||
<Page isRef="3" /> | |||
<Parent isRef="3" /> | |||
<Sort isList="true" count="0" /> | |||
</CrossTab1> | |||
</Components> | |||
<Conditions isList="true" count="0" /> | |||
<Guid>403b1f2049dd4a979599f69c93987a2d</Guid> | |||
<Margins>1,1,1,1</Margins> | |||
<Name>Page1</Name> | |||
<PageHeight>29.7</PageHeight> | |||
<PageWidth>21</PageWidth> | |||
<PaperSize>A4</PaperSize> | |||
<Report isRef="0" /> | |||
</Page1> | |||
</Pages> | |||
<ReferencedAssemblies isList="true" count="8"> | |||
<value>System.Dll</value> | |||
<value>System.Drawing.Dll</value> | |||
<value>System.Windows.Forms.Dll</value> | |||
<value>System.Data.Dll</value> | |||
<value>System.Xml.Dll</value> | |||
<value>Stimulsoft.Controls.Dll</value> | |||
<value>Stimulsoft.Base.Dll</value> | |||
<value>Stimulsoft.Report.Dll</value> | |||
</ReferencedAssemblies> | |||
<ReportAlias>Report</ReportAlias> | |||
<ReportChanged>9/16/2020 6:05:56 PM</ReportChanged> | |||
<ReportCreated>9/15/2020 2:53:21 PM</ReportCreated> | |||
<ReportFile>C:\Users\Administrator\AppData\Local\Stimulsoft\Report.mrt</ReportFile> | |||
<ReportGuid>1b6710c8297141e6a9d07f145eae800f</ReportGuid> | |||
<ReportName>Report</ReportName> | |||
<ReportUnit>Centimeters</ReportUnit> | |||
<ReportVersion>2020.2.1.0</ReportVersion> | |||
<Script>using System; | |||
using System.Drawing; | |||
using System.Windows.Forms; | |||
using System.Data; | |||
using Stimulsoft.Controls; | |||
using Stimulsoft.Base.Drawing; | |||
using Stimulsoft.Report; | |||
using Stimulsoft.Report.Dialogs; | |||
using Stimulsoft.Report.Components; | |||
namespace Reports | |||
{ | |||
public class Report : Stimulsoft.Report.StiReport | |||
{ | |||
public Report() { | |||
this.InitializeComponent(); | |||
} | |||
#region StiReport Designer generated code - do not modify | |||
#endregion StiReport Designer generated code - do not modify | |||
} | |||
} | |||
</Script> | |||
<ScriptLanguage>CSharp</ScriptLanguage> | |||
<Styles isList="true" count="0" /> | |||
</StiSerializer> |
@@ -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") |
@@ -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: false, | |||
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(); | |||
} |
@@ -0,0 +1,554 @@ | |||
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */ | |||
/** | |||
* 1. Change the default font family in all browsers (opinionated). | |||
* 2. Correct the line height in all browsers. | |||
* 3. Prevent adjustments of font size after orientation changes in | |||
* IE on Windows Phone and in iOS. | |||
*/ | |||
/* Document | |||
========================================================================== */ | |||
html { | |||
font-family: sans-serif; /* 1 */ | |||
line-height: 1.15; /* 2 */ | |||
-ms-text-size-adjust: 100%; /* 3 */ | |||
-webkit-text-size-adjust: 100%; /* 3 */ | |||
} | |||
/* Sections | |||
========================================================================== */ | |||
/** | |||
* Remove the margin in all browsers (opinionated). | |||
*/ | |||
body { | |||
margin: 0; | |||
} | |||
/** | |||
* Add the correct display in IE 9-. | |||
*/ | |||
article, | |||
aside, | |||
footer, | |||
header, | |||
nav, | |||
section { | |||
display: block; | |||
} | |||
/** | |||
* Correct the font size and margin on `h1` elements within `section` and | |||
* `article` contexts in Chrome, Firefox, and Safari. | |||
*/ | |||
h1 { | |||
font-size: 2em; | |||
margin: 0.67em 0; | |||
} | |||
/* Grouping content | |||
========================================================================== */ | |||
/** | |||
* Add the correct display in IE 9-. | |||
* 1. Add the correct display in IE. | |||
*/ | |||
figcaption, | |||
figure, | |||
main { /* 1 */ | |||
display: block; | |||
} | |||
/** | |||
* Add the correct margin in IE 8. | |||
*/ | |||
figure { | |||
margin: 1em 40px; | |||
} | |||
/** | |||
* 1. Add the correct box sizing in Firefox. | |||
* 2. Show the overflow in Edge and IE. | |||
*/ | |||
hr { | |||
box-sizing: content-box; /* 1 */ | |||
height: 0; /* 1 */ | |||
overflow: visible; /* 2 */ | |||
} | |||
/** | |||
* 1. Correct the inheritance and scaling of font size in all browsers. | |||
* 2. Correct the odd `em` font sizing in all browsers. | |||
*/ | |||
pre { | |||
font-family: monospace, monospace; /* 1 */ | |||
font-size: 1em; /* 2 */ | |||
} | |||
/* Text-level semantics | |||
========================================================================== */ | |||
/** | |||
* 1. Remove the gray background on active links in IE 10. | |||
* 2. Remove gaps in links underline in iOS 8+ and Safari 8+. | |||
*/ | |||
a { | |||
background-color: transparent; /* 1 */ | |||
-webkit-text-decoration-skip: objects; /* 2 */ | |||
} | |||
/** | |||
* Remove the outline on focused links when they are also active or hovered | |||
* in all browsers (opinionated). | |||
*/ | |||
a:active, | |||
a:hover { | |||
outline-width: 0; | |||
} | |||
/** | |||
* 1. Remove the bottom border in Firefox 39-. | |||
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. | |||
*/ | |||
abbr[title] { | |||
border-bottom: none; /* 1 */ | |||
text-decoration: underline; /* 2 */ | |||
text-decoration: underline dotted; /* 2 */ | |||
} | |||
/** | |||
* Prevent the duplicate application of `bolder` by the next rule in Safari 6. | |||
*/ | |||
b, | |||
strong { | |||
font-weight: inherit; | |||
} | |||
/** | |||
* Add the correct font weight in Chrome, Edge, and Safari. | |||
*/ | |||
b, | |||
strong { | |||
font-weight: bolder; | |||
} | |||
/** | |||
* 1. Correct the inheritance and scaling of font size in all browsers. | |||
* 2. Correct the odd `em` font sizing in all browsers. | |||
*/ | |||
code, | |||
kbd, | |||
samp { | |||
font-family: monospace, monospace; /* 1 */ | |||
font-size: 1em; /* 2 */ | |||
} | |||
/** | |||
* Add the correct font style in Android 4.3-. | |||
*/ | |||
dfn { | |||
font-style: italic; | |||
} | |||
/** | |||
* Add the correct background and color in IE 9-. | |||
*/ | |||
mark { | |||
background-color: #ff0; | |||
color: #000; | |||
} | |||
/** | |||
* Add the correct font size in all browsers. | |||
*/ | |||
small { | |||
font-size: 80%; | |||
} | |||
/** | |||
* Prevent `sub` and `sup` elements from affecting the line height in | |||
* all browsers. | |||
*/ | |||
sub, | |||
sup { | |||
font-size: 75%; | |||
line-height: 0; | |||
position: relative; | |||
vertical-align: baseline; | |||
} | |||
sub { | |||
bottom: -0.25em; | |||
} | |||
sup { | |||
top: -0.5em; | |||
} | |||
/* Embedded content | |||
========================================================================== */ | |||
/** | |||
* Add the correct display in IE 9-. | |||
*/ | |||
audio, | |||
video { | |||
display: inline-block; | |||
} | |||
/** | |||
* Add the correct display in iOS 4-7. | |||
*/ | |||
audio:not([controls]) { | |||
display: none; | |||
height: 0; | |||
} | |||
/** | |||
* Remove the border on images inside links in IE 10-. | |||
*/ | |||
img { | |||
border-style: none; | |||
} | |||
/** | |||
* Hide the overflow in IE. | |||
*/ | |||
svg:not(:root) { | |||
overflow: hidden; | |||
} | |||
/* Forms | |||
========================================================================== */ | |||
/** | |||
* 1. Change the font styles in all browsers (opinionated). | |||
* 2. Remove the margin in Firefox and Safari. | |||
*/ | |||
button, | |||
input, | |||
optgroup, | |||
select, | |||
textarea { | |||
font-family: sans-serif; /* 1 */ | |||
font-size: 100%; /* 1 */ | |||
line-height: 1.15; /* 1 */ | |||
margin: 0; /* 2 */ | |||
} | |||
/** | |||
* Show the overflow in IE. | |||
* 1. Show the overflow in Edge. | |||
*/ | |||
button, | |||
input { /* 1 */ | |||
overflow: visible; | |||
} | |||
/** | |||
* Remove the inheritance of text transform in Edge, Firefox, and IE. | |||
* 1. Remove the inheritance of text transform in Firefox. | |||
*/ | |||
button, | |||
select { /* 1 */ | |||
text-transform: none; | |||
} | |||
/** | |||
* 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` | |||
* controls in Android 4. | |||
* 2. Correct the inability to style clickable types in iOS and Safari. | |||
*/ | |||
button, | |||
html [type="button"], /* 1 */ | |||
[type="reset"], | |||
[type="submit"] { | |||
-webkit-appearance: button; /* 2 */ | |||
} | |||
/** | |||
* Remove the inner border and padding in Firefox. | |||
*/ | |||
button::-moz-focus-inner, | |||
[type="button"]::-moz-focus-inner, | |||
[type="reset"]::-moz-focus-inner, | |||
[type="submit"]::-moz-focus-inner { | |||
border-style: none; | |||
padding: 0; | |||
} | |||
/** | |||
* Restore the focus styles unset by the previous rule. | |||
*/ | |||
button:-moz-focusring, | |||
[type="button"]:-moz-focusring, | |||
[type="reset"]:-moz-focusring, | |||
[type="submit"]:-moz-focusring { | |||
outline: 1px dotted ButtonText; | |||
} | |||
/** | |||
* Change the border, margin, and padding in all browsers (opinionated). | |||
*/ | |||
fieldset { | |||
border: 1px solid #c0c0c0; | |||
margin: 0 2px; | |||
padding: 0.35em 0.625em 0.75em; | |||
} | |||
/** | |||
* 1. Correct the text wrapping in Edge and IE. | |||
* 2. Correct the color inheritance from `fieldset` elements in IE. | |||
* 3. Remove the padding so developers are not caught out when they zero out | |||
* `fieldset` elements in all browsers. | |||
*/ | |||
legend { | |||
box-sizing: border-box; /* 1 */ | |||
color: inherit; /* 2 */ | |||
display: table; /* 1 */ | |||
max-width: 100%; /* 1 */ | |||
padding: 0; /* 3 */ | |||
white-space: normal; /* 1 */ | |||
} | |||
/** | |||
* 1. Add the correct display in IE 9-. | |||
* 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. | |||
*/ | |||
progress { | |||
display: inline-block; /* 1 */ | |||
vertical-align: baseline; /* 2 */ | |||
} | |||
/** | |||
* Remove the default vertical scrollbar in IE. | |||
*/ | |||
textarea { | |||
overflow: auto; | |||
resize: vertical; | |||
} | |||
/** | |||
* 1. Add the correct box sizing in IE 10-. | |||
* 2. Remove the padding in IE 10-. | |||
*/ | |||
[type="checkbox"], | |||
[type="radio"] { | |||
box-sizing: border-box; /* 1 */ | |||
padding: 0; /* 2 */ | |||
} | |||
/** | |||
* Correct the cursor style of increment and decrement buttons in Chrome. | |||
*/ | |||
[type="number"]::-webkit-inner-spin-button, | |||
[type="number"]::-webkit-outer-spin-button { | |||
height: auto; | |||
} | |||
/** | |||
* 1. Correct the odd appearance in Chrome and Safari. | |||
* 2. Correct the outline style in Safari. | |||
*/ | |||
[type="search"] { | |||
-webkit-appearance: textfield; /* 1 */ | |||
outline-offset: -2px; /* 2 */ | |||
} | |||
/** | |||
* Remove the inner padding and cancel buttons in Chrome and Safari on macOS. | |||
*/ | |||
[type="search"]::-webkit-search-cancel-button, | |||
[type="search"]::-webkit-search-decoration { | |||
-webkit-appearance: none; | |||
} | |||
/** | |||
* 1. Correct the inability to style clickable types in iOS and Safari. | |||
* 2. Change font properties to `inherit` in Safari. | |||
*/ | |||
::-webkit-file-upload-button { | |||
-webkit-appearance: button; /* 1 */ | |||
font: inherit; /* 2 */ | |||
} | |||
/* Interactive | |||
========================================================================== */ | |||
/* | |||
* Add the correct display in IE 9-. | |||
* 1. Add the correct display in Edge, IE, and Firefox. | |||
*/ | |||
details, /* 1 */ | |||
menu { | |||
display: block; | |||
} | |||
/* | |||
* Add the correct display in all browsers. | |||
*/ | |||
summary { | |||
display: list-item; | |||
} | |||
/* Scripting | |||
========================================================================== */ | |||
/** | |||
* Add the correct display in IE 9-. | |||
*/ | |||
canvas { | |||
display: inline-block; | |||
} | |||
/** | |||
* Add the correct display in IE. | |||
*/ | |||
template { | |||
display: none; | |||
} | |||
/* Hidden | |||
========================================================================== */ | |||
/** | |||
* Add the correct display in IE 10-. | |||
*/ | |||
[hidden] { | |||
display: none; | |||
} | |||
@import "./common/normalize.less"; | |||
@import "./variables.less"; | |||
* { | |||
box-sizing: border-box; | |||
-webkit-tap-highlight-color: rgba(0, 0, 0, 0); | |||
} | |||
*:before, | |||
*:after { | |||
box-sizing: border-box; | |||
} | |||
body { | |||
font-family: "Chinese Quote", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; | |||
font-size: 14px; | |||
line-height: 1.5; | |||
color: #333; | |||
background-color: #fff; | |||
-webkit-font-smoothing: antialiased; | |||
-moz-osx-font-smoothing: grayscale; | |||
} | |||
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, legend, input, textarea, p, blockquote, th, td, hr, button, article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { | |||
margin: 0; | |||
padding: 0; | |||
} | |||
button, input, select, textarea { | |||
font-family: inherit; | |||
font-size: inherit; | |||
line-height: inherit; | |||
} | |||
input::-ms-clear, input::-ms-reveal { | |||
display: none; | |||
} | |||
a { | |||
color: #4285f4; | |||
background: transparent; | |||
text-decoration: none; | |||
outline: none; | |||
cursor: pointer; | |||
} | |||
body { | |||
padding: 15px; | |||
color: #333; | |||
} | |||
table { | |||
border: 0; | |||
width: 100%; | |||
margin: 0; | |||
padding: 0; | |||
border-collapse: collapse; | |||
} | |||
td,th { | |||
border:1px solid #ccc; | |||
padding:5px; | |||
} | |||
.titletd { | |||
border:none!important; | |||
} | |||
.inputname { | |||
text-align: right; | |||
} | |||
.anodeinfod { | |||
position:relative; | |||
width:100%; | |||
height:120px; | |||
padding:10px; | |||
} | |||
.anodeinfod .tuser, .anodeinfod .tdate { | |||
position: absolute; | |||
right: 10px; | |||
bottom: 30px; | |||
} | |||
.anodeinfod .tdate { | |||
bottom: 10px; | |||
} | |||
.anodeinfod img { | |||
height:100px; | |||
position:absolute; | |||
top:10px; | |||
right:100px; | |||
} |
@@ -72,24 +72,6 @@ | |||
<Reference Include="FastMember.Signed, Version=1.3.0.0, Culture=neutral, PublicKeyToken=9e8f22703bef9a29, processorArchitecture=MSIL"> | |||
<HintPath>..\packages\FastMember.Signed.1.3.0\lib\net45\FastMember.Signed.dll</HintPath> | |||
</Reference> | |||
<Reference Include="Gcef.Data.ExpressionInfo"> | |||
<HintPath>..\packages\Gcef.Data.ExpressionInfo.2.0.184\lib\net40\Gcef.Data.ExpressionInfo.dll</HintPath> | |||
</Reference> | |||
<Reference Include="GrapeCity.ActiveReports"> | |||
<HintPath>..\packages\GrapeCity.ActiveReports.14.0.19484\lib\net462\GrapeCity.ActiveReports.dll</HintPath> | |||
</Reference> | |||
<Reference Include="GrapeCity.ActiveReports.Aspnet.Viewer"> | |||
<HintPath>..\packages\GrapeCity.ActiveReports.Aspnet.Viewer.14.0.1778\lib\net462\GrapeCity.ActiveReports.Aspnet.Viewer.dll</HintPath> | |||
</Reference> | |||
<Reference Include="GrapeCity.ActiveReports.Core.Rdl"> | |||
<HintPath>..\packages\GrapeCity.ActiveReports.Core.Rdl.1.5.3300\lib\net462\GrapeCity.ActiveReports.Core.Rdl.dll</HintPath> | |||
</Reference> | |||
<Reference Include="GrapeCity.ActiveReports.Core.Rendering"> | |||
<HintPath>..\packages\GrapeCity.ActiveReports.Core.Rendering.1.5.3300\lib\net462\GrapeCity.ActiveReports.Core.Rendering.dll</HintPath> | |||
</Reference> | |||
<Reference Include="GrapeCity.ActiveReports.Web.Viewer"> | |||
<HintPath>..\packages\GrapeCity.ActiveReports.Web.Viewer.14.0.1778\lib\net462\GrapeCity.ActiveReports.Web.Viewer.dll</HintPath> | |||
</Reference> | |||
<Reference Include="Hangfire.Core, Version=1.7.3.0, Culture=neutral, processorArchitecture=MSIL"> | |||
<HintPath>..\packages\Hangfire.Core.1.7.3\lib\net45\Hangfire.Core.dll</HintPath> | |||
</Reference> | |||
@@ -206,8 +188,8 @@ | |||
<HintPath>..\packages\System.IO.Packaging.4.4.0\lib\net46\System.IO.Packaging.dll</HintPath> | |||
</Reference> | |||
<Reference Include="System.Management" /> | |||
<Reference Include="System.Net.Http, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> | |||
<HintPath>..\packages\System.Net.Http.4.3.0\lib\net46\System.Net.Http.dll</HintPath> | |||
<Reference Include="System.Net.Http, Version=4.1.1.3, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> | |||
<HintPath>..\packages\System.Net.Http.4.3.4\lib\net46\System.Net.Http.dll</HintPath> | |||
</Reference> | |||
<Reference Include="System.Net.Sockets, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> | |||
<HintPath>..\packages\System.Net.Sockets.4.3.0\lib\net46\System.Net.Sockets.dll</HintPath> | |||
@@ -229,6 +211,7 @@ | |||
<HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath> | |||
</Reference> | |||
<Reference Include="System.Runtime.Serialization" /> | |||
<Reference Include="System.Security" /> | |||
<Reference Include="System.Security.Cryptography.Algorithms, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> | |||
<HintPath>..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net461\System.Security.Cryptography.Algorithms.dll</HintPath> | |||
</Reference> | |||
@@ -913,6 +896,7 @@ | |||
<Content Include="Areas\EducationalAdministration\Views\CertificateResult\Form.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\CertificateResult\Index.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\ClassInfo\FormType.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\EADateArrange\InitByConditionForm.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\EmpInfo\FormModify.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\EmpInfo\FormEdit.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\EmpInfo\IndexOfDC.js" /> | |||
@@ -1132,6 +1116,8 @@ | |||
<Content Include="Areas\EducationalAdministration\Views\TeachSwitch\Index.js" /> | |||
<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" /> | |||
@@ -1958,6 +1944,7 @@ | |||
<Content Include="Content\images\SsoSystem\noLogin.png" /> | |||
<Content Include="Content\images\SsoSystem\search.png" /> | |||
<Content Include="Content\images\SsoSystem\user.jpg" /> | |||
<Content Include="Content\jquery\plugin\jqprint\jqprint.css" /> | |||
<Content Include="Content\jquery\plugin\jSignature.min.js" /> | |||
<Content Include="Content\jquery\plugin\swiper\swiper-4.3.3.min.css" /> | |||
<Content Include="Content\jquery\plugin\swiper\swiper-4.3.3.min.js" /> | |||
@@ -6801,6 +6788,10 @@ | |||
<Content Include="Areas\LR_SystemModule\Views\Files\FolderIndex.cshtml" /> | |||
<Content Include="Areas\LR_SystemModule\Views\Files\Form.cshtml" /> | |||
<Content Include="Areas\LR_SystemModule\Views\Files\Index.cshtml" /> | |||
<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" /> | |||
@@ -6868,6 +6859,10 @@ | |||
<Analyzer Include="..\packages\Microsoft.DependencyValidation.Analyzers.0.10.0\analyzers\dotnet\cs\Microsoft.DependencyValidation.Analyzers.resources.dll" /> | |||
<Analyzer Include="..\packages\Microsoft.DependencyValidation.Analyzers.0.10.0\analyzers\dotnet\Microsoft.DependencyValidation.Analyzers.dll" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" /> | |||
<Service Include="{C0C07587-41A7-46C8-8FBD-3F9C8EBE2DDC}" /> | |||
</ItemGroup> | |||
<PropertyGroup> | |||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> | |||
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> | |||
@@ -1,8 +1,4 @@ | |||
using GrapeCity.ActiveReports; | |||
using GrapeCity.ActiveReports.Aspnet.Viewer; | |||
using GrapeCity.ActiveReports.PageReportModel; | |||
using GrapeCity.ActiveReports.Rendering; | |||
using Microsoft.Owin; | |||
using Microsoft.Owin; | |||
using Owin; | |||
using System.Collections.Generic; | |||
using System.Data; | |||
@@ -20,103 +16,8 @@ namespace Learun.Application.Web | |||
public void Configuration(IAppBuilder app) | |||
{ | |||
app.UseReporting(settings => | |||
{ | |||
settings.UseCompression = true; | |||
settings.UseCustomStore(GetReport);//使用UseCustomStore来自定义一些需要的值 | |||
//settings.UseFileStore(new DirectoryInfo(String.Format(@"{0}.\Reports\", HttpRuntime.AppDomainAppPath))); | |||
//settings.LocateDataSource = GetData; | |||
}); | |||
} | |||
public object GetReport(string P)//获取报表名称和报表参数,进行一个对应的报表名称和参数的分割 | |||
{ | |||
var plist = P.Split('|'); | |||
string reportName = plist[0];//报表名称; | |||
PageReport rep = new PageReport(); | |||
string path = Assembly.GetExecutingAssembly().CodeBase.Replace("bin/Learun.Application.Web.DLL", "Reports/").Replace("file:///", ""); | |||
//string path = System.Web.Hosting.HostingEnvironment.MapPath("~/"); | |||
rep.Load(new FileInfo(path + reportName)); | |||
int num = 0; | |||
foreach (var item in plist) | |||
{ | |||
if (num > 0) | |||
{ | |||
AddReportPara("param" + num, item, rep); | |||
} | |||
num++; | |||
} | |||
return rep.Report; | |||
} | |||
/// <summary> | |||
/// 报表参数添加 | |||
/// </summary> | |||
/// <param name="name">参数名</param> | |||
/// <param name="value">参数值</param> | |||
/// <param name="rp">报表体</param> | |||
private void AddReportPara(string name, string value, PageReport rep) | |||
{ | |||
//如果没有值,报表不会自动运行,所以不能加 | |||
if (string.IsNullOrEmpty(value.Trim())) | |||
{ | |||
return; | |||
} | |||
Dictionary<string, string> dicParas = new Dictionary<string, string>(); | |||
foreach (var item in rep.Report.ReportParameters) | |||
{ | |||
if (!dicParas.ContainsKey(item.Name)) | |||
{ | |||
dicParas.Add(item.Name, item.DefaultValue.Values[0].Expression); | |||
} | |||
} | |||
if (!dicParas.ContainsKey(name)) | |||
{ | |||
ReportParameter para = new ReportParameter(); | |||
para.Name = name; | |||
para.Prompt = name; | |||
para.UsedInQuery = ReportParameterUsedInQuery.True; | |||
para.DataType = ReportParameterDataType.String; | |||
para.DefaultValue.Values.Add(value.Trim()); | |||
rep.Report.ReportParameters.Add(para); | |||
} | |||
} | |||
/// <summary> | |||
/// 自定义数据源 | |||
/// </summary> | |||
/// <param name="args">报表数据参数</param> | |||
/// <returns></returns> | |||
//public object GetData(LocateDataSourceArgs args) | |||
//{ | |||
// Dictionary<string, string> dcFilter = new Dictionary<string, string>(); | |||
// DataTable dtData = new DataTable(); | |||
// string name = args.Report.Name.ToString(); | |||
// string dataSource = args.DataSet.Query.DataSourceName; | |||
// string dataSet = args.DataSet.Name; | |||
// switch (name) | |||
// { | |||
// case "制程工单.rdlx": | |||
// if (args.Report.ReportParameters.Count > 0) | |||
// { | |||
// var id = args.Report.ReportParameters[0].DefaultValue.Values[0].Expression; | |||
// WorkOrderIBLL workOrderIBLL = new WorkOrderBLL(); | |||
// dtData = workOrderIBLL.GetPrintItem(id); | |||
// } | |||
// break; | |||
// } | |||
// return dtData; | |||
//} | |||
} | |||
} |
@@ -808,7 +808,6 @@ | |||
path.setAttribute("stroke", "gray"); | |||
path.setAttribute("marker-end", "url(#arrow1)"); | |||
} | |||
/ | |||
line.appendChild(hi); | |||
line.appendChild(path); | |||
line.style.cursor = "crosshair"; | |||
@@ -798,7 +798,6 @@ | |||
path.setAttribute("stroke", "gray"); | |||
path.setAttribute("marker-end", "url(#arrow1)"); | |||
} | |||
/ | |||
line.appendChild(hi); | |||
line.appendChild(path); | |||
line.style.cursor = "crosshair"; | |||
@@ -13,7 +13,8 @@ | |||
<section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342" /> | |||
</configSections> | |||
<unity configSource="XmlConfig\ioc.config" /> | |||
<connectionStrings configSource="XmlConfig\database.config" /> | |||
<connectionStrings configSource="XmlConfig\database.config"> | |||
</connectionStrings> | |||
<appSettings configSource="XmlConfig\system.config" /> | |||
<log4net configSource="XmlConfig\log4net.config" /> | |||
<!-- | |||
@@ -81,7 +82,7 @@ | |||
</dependentAssembly> | |||
<dependentAssembly> | |||
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> | |||
<bindingRedirect oldVersion="1.0.0.0-5.2.4.0" newVersion="5.2.4.0" /> | |||
<bindingRedirect oldVersion="0.0.0.0-5.2.4.0" newVersion="5.2.4.0" /> | |||
</dependentAssembly> | |||
<dependentAssembly> | |||
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" /> | |||
@@ -137,7 +138,7 @@ | |||
</dependentAssembly> | |||
<dependentAssembly> | |||
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> | |||
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" /> | |||
<bindingRedirect oldVersion="0.0.0.0-4.1.1.3" newVersion="4.1.1.3" /> | |||
</dependentAssembly> | |||
<dependentAssembly> | |||
<assemblyIdentity name="Microsoft.Owin.Host.SystemWeb" publicKeyToken="31bf3856ad364e35" culture="neutral" /> | |||
@@ -19,6 +19,7 @@ | |||
<add name="BaseDb" connectionString="Server=123.57.209.16;Initial Catalog=adms7ultimate2_西昌;User ID=sa;Password=bjqjkj@2014~2015!" providerName="System.Data.SqlClient" /> | |||
<add name="CollegeMIS" connectionString="Server=123.57.209.16;Initial Catalog=CollegeMIS_西昌;User ID=sa;Password=bjqjkj@2014~2015!" providerName="System.Data.SqlClient" /> | |||
<add name="hangfireString" connectionString="Server=123.57.209.16;Initial Catalog=Hangfire;User ID=sa;Password=bjqjkj@2014~2015!" providerName="System.Data.SqlClient" /> | |||
<!--<add name="BaseDb" connectionString="Server=123.57.209.16;Initial Catalog=adms7ultimate2_20200403test;User ID=sa;Password=bjqjkj@2014~2015!" providerName="System.Data.SqlClient" /> | |||
<add name="CollegeMIS" connectionString="Server=123.57.209.16;Initial Catalog=CollegeMIS_20200403test;User ID=sa;Password=bjqjkj@2014~2015!" providerName="System.Data.SqlClient" /> | |||
<add name="hangfireString" connectionString="Server=123.57.209.16;Initial Catalog=Hangfire;User ID=sa;Password=bjqjkj@2014~2015!" providerName="System.Data.SqlClient" />--> | |||
@@ -60,19 +60,19 @@ | |||
<add key="MPRoleName" value="内控材料上传员" /> | |||
<!-- ================== 6:即时通信参数 ================== --> | |||
<!-- SignalR服务接口--> | |||
<add key="IMUrl" value="http://192.168.2.126:8012/signalr" /> | |||
<add key="IMOpen" value="false" /> | |||
<add key="IMUrl" value="http://localhost:8012/signalr" /> | |||
<add key="IMOpen" value="true" /> | |||
<add key="userKey" value="14B417B0-463D-4F2B-8075-0A20EEDB773A" /> | |||
<!-- ==================注意附件上传地址 修改到部署目录下的Resource要不然飞星会报错================== --> | |||
<add key="AnnexesFile" value="D:\gitLocalRepositories\DigitalScholl\Learun.Framework.Ultimate V7\Learun.Application.Web\Resource" /> | |||
<!-- ================== 8:流程服务地址 ================== --> | |||
<add key="workflowapi" value="http://localhost:8013" /> | |||
<!--Redis 缓存前缀 --> | |||
<add key="RedisPrev" value="LRADMS" /> | |||
<!--Redis 缓存前缀 --><!-- | |||
<add key="RedisPrev" value="adms706" />--> | |||
<!--Redis 缓存前缀 --> | |||
<!--<add key="RedisPrev" value="adms706" />--> | |||
<!--缓存链接配置--> | |||
<add key="RedisExchangeHosts" value="127.0.0.1:6379,allowadmin=true"/> | |||
@@ -0,0 +1,6 @@ | |||
2 | |||
2 | |||
1 | |||
1 | |||
1 | |||
@@ -49,7 +49,7 @@ | |||
<package id="System.IO.Packaging" version="4.4.0" targetFramework="net462" /> | |||
<package id="System.Linq" version="4.3.0" targetFramework="net462" /> | |||
<package id="System.Linq.Expressions" version="4.3.0" targetFramework="net462" /> | |||
<package id="System.Net.Http" version="4.3.0" targetFramework="net462" /> | |||
<package id="System.Net.Http" version="4.3.4" targetFramework="net462" /> | |||
<package id="System.Net.Primitives" version="4.3.0" targetFramework="net462" /> | |||
<package id="System.Net.Sockets" version="4.3.0" targetFramework="net462" /> | |||
<package id="System.ObjectModel" version="4.3.0" targetFramework="net462" /> | |||
@@ -161,7 +161,6 @@ namespace Learun.Application.WebApi.Modules | |||
{ | |||
Id = param.id, | |||
value = dtnew | |||
}; | |||
} | |||
else | |||
@@ -61,6 +61,8 @@ | |||
<!-- ================== 6:即时通信参数 ================== --> | |||
<!-- SignalR服务接口--> | |||
<add key="IMUrl" value="http://localhost:8012/signalr" /> | |||
<add key="IMOpen" value="true" /> | |||
<add key="userKey" value="14B417B0-463D-4F2B-8075-0A20EEDB773A" /> | |||
<!-- ==================注意附件上传地址 修改到主网站部署目录下的Resource要不然飞星会报错================== --> | |||
<add key="AnnexesFile" value="D:\leiprojects\西昌单校区\Learun.Application.Web\Resource" /> | |||
@@ -191,6 +191,30 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 初始化成绩录入数据 | |||
/// </summary> | |||
/// <param name="entity"></param> | |||
public void InitByCondition(ArrangeLessonTermEntity entity) | |||
{ | |||
try | |||
{ | |||
eADateArrangeService.InitByCondition(entity); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
} | |||
@@ -67,5 +67,6 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
void InitStuRegisterInfo(); | |||
#endregion | |||
void InitByCondition(ArrangeLessonTermEntity entity); | |||
} | |||
} |
@@ -259,5 +259,96 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
} | |||
#endregion | |||
/// <summary> | |||
/// 成绩录入前初始化数据 | |||
/// </summary> | |||
/// <param name="entity"></param> | |||
public void InitByCondition(ArrangeLessonTermEntity entity) | |||
{ | |||
try | |||
{ | |||
//成绩录入前初始化数据 | |||
//必修课 | |||
if (string.IsNullOrEmpty(entity.LessonSortNo) ||entity.LessonSortNo=="1") | |||
{ | |||
//dyy:20190429 | |||
string sql = @"insert into stuscore(NoticeBookNo,StuNo,DeptNo,MajorNo,ClassNo,StuName,GenderNo,AcademicYearNo,Semester,OpenLessonDeptNo,OpenLessonMajorNo,LessonNo,LessonName,LessonNameEn,TeachClassNo,LessonSortNo,StuSortNo,Grade,StudyScore,TotalStudyHour,OrdinaryScore,TermInScore,TermEndScore,OtherScore,IsInEffect,Remark,ConflictLessonNo,IsPitchOn,CheckMark,TechPlanNo,EmpNo,PartCode,ScoreRecordStyleNo,TestModeNo,zysx,TestKindNo,IsEditable,F_SchoolId) | |||
select NoticeBookNo,StuNo,DeptNo,MajorNo,ClassNo,StuName,GenderNo,AcademicYearNo,Semester,OpenLessonDeptNo,OpenLessonMajorNo,LessonNo,LessonName,LessonNameEng as LessionNameEn,TeachClassNo,LessonSortNo,StuSortNo,Grade,StudyScore,TotalStudyHour,'0','0','0','0',IsInEffect,Remark,ConflictLessonNo,IsPitchOn,0,TeachPlanNo as TechPlanNo,EmpNo,PartCode,ScoreRecordStyleNo,TestModeNo,zysx=1,TestKindNo=1,IsEditable=1,F_SchoolId from | |||
(select s.NoticeBookNo,s.StuNo,s.DeptNo,s.MajorNo,s.ClassNo,s.StuName,s.GenderNo,s.AcademicYearNo,s.Semester,s.OpenLessonDeptNo,s.OpenLessonMajorNo,s.LessonNo,s.LessonName,s.LessonNameEng,s.TeachClassNo,s.LessonSortNo,s.StuSortNo,s.Grade,s.StudyScore,s.TotalStudyHour,s.IsInEffect,s.Remark,s.ConflictLessonNo,s.IsPitchOn,s.CheckMark,s.TeachPlanNo,s.EmpNo,s.PartCode,o.ScoreRecordStyleNo,cs.ScoreRecordName,bc.TestModeNo,bc.TestMode,s.F_SchoolId | |||
from StuSelectLessonList s | |||
left join OpenLessonPlan o on s.AcademicYearNo=o.AcademicYearNo and s.Semester=o.Semester and s.LessonNo=o.LessonNo and s.PartCode=o.PartCode and s.OpenLessonMajorNo=o.MajorNo and s.Grade=o.Grade | |||
left join CdScoreRecordStyle cs on o.ScoreRecordStyleNo=cs.ScoreRecordStyleNo | |||
left join BCdTestMode bc on o.CheckStyleNo=bc.TestModeNo | |||
where s.CheckMark='1' | |||
) as sl | |||
where StuNo not in(Select StuNo from stuscore s where s.Academicyearno=sl.Academicyearno | |||
and s.Semester=sl.Semester and s.lessonno=sl.lessonno and s.teachclassno=sl.teachclassno and s.LessonSortNo='1' | |||
and s.Academicyearno='"+entity.AcademicYearNo+ "' and s.Semester='"+entity.Semester+ "') and sl.AcademicYearNo='"+entity.AcademicYearNo+ "' and sl.Semester='"+entity.Semester+"'"; | |||
BaseRepository("CollegeMIS").ExecuteBySql(sql); | |||
//dyy:20190722 | |||
//初始化教师成绩单提交表 | |||
string sql3 = @"insert into EmpReportCard | |||
(Id, LessonNo, LessonName, ClassNo, ClassName, EmpNo, EmpName, AcademicYearNo, Semester,LessonSortNo, CreateTime, ElectronicStatus, ElectronicTime, PaperStatus, PaperTime) | |||
select NEWID(),LessonNo,LessonName,ClassNo,ClassName,EmpNo,EmpName,AcademicYearNo,Semester,LessonSortNo,GETDATE(),0,null,0,null from | |||
( | |||
select distinct s.LessonNo,s.LessonName,s.TeachClassNo as ClassNo,c.ClassName,s.EmpNo,e.EmpName,s.AcademicYearNo,s.Semester,s.LessonSortNo | |||
from stuscore s | |||
left join classinfo c on s.teachclassno=c.classno | |||
left join empinfo e on s.empno=e.empno | |||
where s.lessonsortno='1' | |||
) as bb | |||
where bb.EmpNo not in | |||
(select a.EmpNo from EmpReportCard a where a.AcademicYearNo=bb.AcademicYearNo and a.Semester=bb.Semester and a.LessonNo=bb.LessonNo and a.ClassNo=bb.ClassNo and a.LessonSortNo=bb.LessonSortNo and a.LessonSortNo='1' | |||
and a.Academicyearno='" + entity.AcademicYearNo + "' and a.Semester='" + entity.Semester+ "') and bb.AcademicYearNo='" + entity.AcademicYearNo + "' and bb.Semester='" + entity.Semester + "' order by bb.EmpNo"; | |||
BaseRepository("CollegeMIS").ExecuteBySql(sql3); | |||
} | |||
//选修课 | |||
if (string.IsNullOrEmpty(entity.LessonSortNo) || entity.LessonSortNo == "2") | |||
{ | |||
//dyy:20190516 | |||
//初始化学生成绩【选修课】 | |||
string sqlOfElective = @"insert into stuscore(NoticeBookNo,StuNo,DeptNo,MajorNo,ClassNo,StuName,GenderNo,AcademicYearNo,Semester,LessonNo,LessonName,LessonSortNo,Grade,StudyScore,OrdinaryScore,TermInScore,TermEndScore,OtherScore,CheckMark,EmpNo,PartCode,ScoreRecordStyleNo,TestModeNo,zysx,TestKindNo,IsEditable,LessonSection, ClassRoomNo, ClassRoomName,F_SchoolId) | |||
select NoticeBookNo,StuNo,DeptNo,MajorNo,ClassNo,StuName,GenderNo,AcademicYearNo,Semester,LessonNo,LessonName,LessonSortNo,Grade,StudyScore,'0','0','0','0',CheckMark=0,EmpNo,PartCode,ScoreRecordStyleNo,TestModeNo,zysx=1,TestKindNo=1,IsEditable=1, LessonSection, ClassRoomNo, ClassRoomName,F_SchoolId from | |||
( | |||
select s.NoticeBookNo,s.StuNo,s.DeptNo,s.MajorNo,s.ClassNo,s.StuName,s.GenderNo,s.AcademicYearNo,s.Semester,s.LessonNo,s.LessonName,s.LessonSortNo,s.Grade,s.StudyScore,s.EmpNo,o.PartCode,o.ScoreRecordStyleNo,cs.ScoreRecordName,bc.TestModeNo,bc.TestMode,s.LessonSection,s.ClassRoomNo,s.ClassRoomName,s.F_SchoolId | |||
from StuSelectLessonListOfElective s | |||
left join OpenLessonPlanOfElective o on s.OLPEId=o.Id | |||
left join CdScoreRecordStyle cs on o.ScoreRecordStyleNo=cs.ScoreRecordStyleNo | |||
left join BCdTestMode bc on o.CheckStyleNo=bc.TestModeNo | |||
where s.Status=2 | |||
) as sl | |||
where StuNo not in(Select StuNo from stuscore s where s.Academicyearno=sl.Academicyearno | |||
and s.Semester=sl.Semester and s.lessonno=sl.lessonno and s.ClassRoomNo=sl.ClassRoomNo and s.LessonSection=sl.LessonSection and s.LessonSortNo='2' | |||
and s.Academicyearno='" + entity.AcademicYearNo + "' and s.Semester='" + entity.Semester + "') and sl.AcademicYearNo='" + entity.AcademicYearNo + "' and sl.Semester='" + entity.Semester + "'"; | |||
BaseRepository("CollegeMIS").ExecuteBySql(sqlOfElective); | |||
//初始化教师成绩单提交表【选修课】 | |||
string sql3OfElective = @"insert into EmpReportCard | |||
(Id, LessonNo, LessonName, EmpNo, EmpName, AcademicYearNo, Semester,LessonSortNo, LessonSection, ClassRoomNo, ClassRoomName, CreateTime, ElectronicStatus, ElectronicTime, PaperStatus, PaperTime) | |||
select NEWID(),LessonNo,LessonName,EmpNo,EmpName,AcademicYearNo,Semester,LessonSortNo, LessonSection, ClassRoomNo, ClassRoomName,GETDATE(),0,null,0,null from | |||
( | |||
select distinct s.LessonNo,s.LessonName,s.EmpNo,e.EmpName,s.AcademicYearNo,s.Semester,s.LessonSortNo,s.LessonSection,s.ClassRoomNo,s.ClassRoomName | |||
from stuscore s | |||
left join empinfo e on s.empno=e.empno | |||
where s.lessonsortno='2' | |||
) as bb | |||
where bb.EmpNo not in | |||
(select a.EmpNo from EmpReportCard a where a.AcademicYearNo=bb.AcademicYearNo and a.Semester=bb.Semester and a.LessonNo=bb.LessonNo and a.LessonSection=bb.LessonSection and a.ClassRoomNo=bb.ClassRoomNo and a.LessonSortNo=bb.LessonSortNo and a.LessonSortNo='2' | |||
and a.Academicyearno='" + entity.AcademicYearNo + "' and a.Semester='" + entity.Semester + "') and bb.AcademicYearNo='" + entity.AcademicYearNo + "' and bb.Semester='" + entity.Semester + "' order by bb.EmpNo"; | |||
BaseRepository("CollegeMIS").ExecuteBySql(sql3OfElective); | |||
} | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
} | |||
} |
@@ -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 提交数据 | |||
@@ -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 | |||
} | |||
} | |||
@@ -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 提交数据 | |||
@@ -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) | |||
{ | |||
@@ -100,9 +100,25 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
{ | |||
try | |||
{ | |||
var baseDataName = this.BaseRepository().getDbConnection().Database; | |||
var strSql = new StringBuilder(); | |||
strSql.Append("SELECT * "); | |||
strSql.Append(" FROM ADR_Record t "); | |||
strSql.Append(@"SELECT t.ID, | |||
emp.F_RealName as UserName, | |||
t.UserNo, | |||
d.F_FullName as Department , | |||
c.F_ItemName as ADType, | |||
t.ADTime, | |||
t.ClockTime, | |||
t.ClockStatus, | |||
t.ClockPlace, | |||
t.ADYear, | |||
t.ADMonth, | |||
t.ADDay, | |||
t.ADPhoto | |||
"); | |||
strSql.Append($" FROM ADR_Record t left JOIN {baseDataName}.dbo.LR_Base_User emp ON t.UserNo=emp.F_Account "); | |||
strSql.Append($" left join {baseDataName}.dbo.LR_Base_Department d ON t.UserNo=emp.F_DepartmentId "); | |||
strSql.Append($" left join (select b.F_ItemValue,b.F_ItemName,b.F_SortCode from {baseDataName}.[dbo].[LR_Base_DataItem] a left join {baseDataName}.[dbo].[LR_Base_DataItemDetail] b on a.F_ItemId=b.F_ItemId where a.F_ItemCode='ADType') c on t.ADType=c.F_ItemValue "); | |||
strSql.Append(" WHERE 1=1 "); | |||
var queryParam = queryJson.ToJObject(); | |||
// 虚拟参数 | |||
@@ -111,19 +127,21 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
{ | |||
dp.Add("startTime", queryParam["StartTime"].ToDate(), DbType.DateTime); | |||
dp.Add("endTime", queryParam["EndTime"].ToDate(), DbType.DateTime); | |||
strSql.Append(" AND ( t.ADTime >= @startTime AND t.ADTime <= @endTime ) "); | |||
strSql.Append(" AND ( t.ClockTime >= @startTime AND t.ClockTime <= @endTime ) "); | |||
} | |||
if (!queryParam["UserName"].IsEmpty()) | |||
{ | |||
dp.Add("UserName", "%" + queryParam["UserName"].ToString() + "%", DbType.String); | |||
strSql.Append(" AND t.UserName Like @UserName "); | |||
strSql.Append(" AND emp.F_RealName Like @UserName "); | |||
} | |||
if (!queryParam["Department"].IsEmpty()) | |||
{ | |||
dp.Add("Department",queryParam["Department"].ToString(), DbType.String); | |||
strSql.Append(" AND t.Department = @Department "); | |||
dp.Add("Department", queryParam["Department"].ToString(), DbType.String); | |||
strSql.Append(" AND emp.F_DepartmentId = @Department "); | |||
} | |||
return this.BaseRepository("CollegeMIS").FindList<ADR_RecordEntity>(strSql.ToString(),dp); | |||
strSql.Append(" order by t.UserNo,c.F_SortCode,t.ClockTime "); | |||
return this.BaseRepository("CollegeMIS").FindList<ADR_RecordEntity>(strSql.ToString(), dp); | |||
} | |||
catch (Exception ex) | |||
{ | |||
@@ -162,6 +180,57 @@ 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.*,u.F_RealName as UserName "); | |||
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 "); | |||
} | |||
return this.BaseRepository("CollegeMIS").FindList<ADR_RecordEntity>(strSql.ToString(), dp); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
#region 提交数据 | |||
@@ -175,7 +244,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 +300,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) | |||
{ | |||
@@ -0,0 +1,92 @@ | |||
using System; | |||
using System.Collections.Generic; | |||
using System.Data; | |||
using System.Linq; | |||
using System.Reflection; | |||
using System.Text; | |||
using System.Threading.Tasks; | |||
namespace Learun.Util.DataBase | |||
{ | |||
public static class DataConvert | |||
{ | |||
public static DataTable ToDataTable<T>(this IEnumerable<T> varlist) | |||
{ | |||
DataTable dtReturn = new DataTable(); | |||
// column names | |||
PropertyInfo[] oProps = null; | |||
// Could add a check to verify that there is an element 0 | |||
foreach (T rec in varlist) | |||
{ | |||
if (oProps == null) | |||
{ | |||
oProps = ((Type)rec.GetType()).GetProperties(); | |||
foreach (PropertyInfo pi in oProps) | |||
{ | |||
Type colType = pi.PropertyType; if ((colType.IsGenericType) && (colType.GetGenericTypeDefinition() == typeof(Nullable<>))) | |||
{ | |||
colType = colType.GetGenericArguments()[0]; | |||
} | |||
dtReturn.Columns.Add(new DataColumn(pi.Name, colType)); | |||
} | |||
} | |||
DataRow dr = dtReturn.NewRow(); foreach (PropertyInfo pi in oProps) | |||
{ | |||
dr[pi.Name] = pi.GetValue(rec, null) == null ? DBNull.Value : pi.GetValue(rec, null); | |||
} | |||
dtReturn.Rows.Add(dr); | |||
} | |||
return (dtReturn); | |||
} | |||
public static DataSet ConvertToDataSet<T>(IList<T> list) | |||
{ | |||
if (list == null || list.Count <= 0) | |||
return null; | |||
DataSet ds = new DataSet(); | |||
DataTable dt = new DataTable(typeof(T).Name); | |||
DataColumn column; | |||
DataRow row; | |||
System.Reflection.PropertyInfo[] myPropertyInfo = | |||
typeof(T).GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance); | |||
foreach (T t in list) | |||
{ | |||
if (t == null) continue; | |||
row = dt.NewRow(); | |||
for (int i = 0, j = myPropertyInfo.Length; i < j; i++) | |||
{ | |||
System.Reflection.PropertyInfo pi = myPropertyInfo[i]; | |||
String name = pi.Name; | |||
if (dt.Columns[name] == null) | |||
{ | |||
if (pi.PropertyType.UnderlyingSystemType.ToString() == "System.Nullable`1[System.Int32]") | |||
{ | |||
column = new DataColumn(name, typeof(Int32)); | |||
dt.Columns.Add(column); | |||
//row[name] = pi.GetValue(t, new object[] {i});//PropertyInfo.GetValue(object,object[]) | |||
if (pi.GetValue(t, null) != null) | |||
row[name] = pi.GetValue(t, null); | |||
else | |||
row[name] = System.DBNull.Value; | |||
} | |||
else | |||
{ | |||
column = new DataColumn(name, pi.PropertyType); | |||
dt.Columns.Add(column); | |||
row[name] = pi.GetValue(t, null); | |||
} | |||
} | |||
} | |||
dt.Rows.Add(row); | |||
} | |||
ds.Tables.Add(dt); | |||
return ds; | |||
} | |||
} | |||
} |
@@ -89,6 +89,7 @@ | |||
<Compile Include="Attributes\EnumAttribute.cs" /> | |||
<Compile Include="Common\CommonHelper.cs" /> | |||
<Compile Include="Config\Config.cs" /> | |||
<Compile Include="DataBase\DataConvert.cs" /> | |||
<Compile Include="DataBase\FieldTypeHepler.cs" /> | |||
<Compile Include="DataBase\FieldValueParam.cs" /> | |||
<Compile Include="DataBase\DbWhere.cs" /> | |||
@@ -1,13 +1,13 @@ | |||
export default { | |||
// 登录页显示的公司名称 | |||
"company": "力软信息技术(苏州)有限公司", | |||
"company": "数字化智慧校园", | |||
// App 版本号 | |||
"appVersion": "2.2.0", | |||
"appVersion": "2.0", | |||
// 是否允许用户注册 | |||
"enableSignUp": true, | |||
// 请求数据的接口地址;可以配置多个,开发环境下登录页会出现选择菜单供您选择 | |||
"apiHost": [ | |||
"http://localhost:8088/learun/adms" | |||
"http://123.57.209.16:31173/learun/adms" | |||
], | |||
// "apiHost": [ | |||
// "http://192.168.2.94:31173/learun/adms" | |||
@@ -1,7 +1,7 @@ | |||
{ | |||
"name" : "力软框架", | |||
"name" : "数字化智慧校园", | |||
"appid" : "__UNI__E4958C9", | |||
"description" : "力软敏捷开发框架移动端", | |||
"description" : "数字化智慧校园移动端", | |||
"versionName" : "2.1.0", | |||
"versionCode" : 20100, | |||
"transformPx" : false, | |||
@@ -119,7 +119,7 @@ | |||
"quickapp" : {}, | |||
/* 小程序特有相关 */ | |||
"mp-weixin" : { | |||
"appid" : "", | |||
"appid" : "wxa68adccec10b45dd", | |||
"setting" : { | |||
"urlCheck" : false, | |||
"es6" : true, | |||
@@ -8,7 +8,7 @@ | |||
{ | |||
"path": "pages/home", | |||
"style": { | |||
"navigationBarTitleText": "首页 · 力软框架", | |||
"navigationBarTitleText": "数字化智慧校园", | |||
// #ifndef MP-ALIPAY | |||
"navigationBarBackgroundColor": "#0c86d8", | |||
"navigationBarTextStyle": "white", | |||
@@ -55,7 +55,7 @@ | |||
{ | |||
"path": "pages/my/learun", | |||
"style": { | |||
"navigationBarTitleText": "关于力软", | |||
"navigationBarTitleText": "关于泉江", | |||
// #ifndef MP-ALIPAY | |||
"navigationBarBackgroundColor": "#0c86d8", | |||
"navigationBarTextStyle": "white", | |||
@@ -66,7 +66,7 @@ | |||
{ | |||
"path": "pages/my/framework", | |||
"style": { | |||
"navigationBarTitleText": "力软敏捷框架", | |||
"navigationBarTitleText": "数字化智慧校园", | |||
// #ifndef MP-ALIPAY | |||
"navigationBarBackgroundColor": "#0c86d8", | |||
"navigationBarTextStyle": "white", | |||
@@ -4,8 +4,8 @@ | |||
<view class="head-banner"> | |||
<!-- 标题文字 --> | |||
<view class="main-title"> | |||
力软敏捷开发框架 | |||
<text v-if="DEV" class="margin-left-sm text-red">(开发模式)</text> | |||
数字化智慧校园 | |||
<!-- <text v-if="DEV" class="margin-left-sm text-red">(开发模式)</text> --> | |||
<text class="text-gray margin-left-sm" style="font-size: 0.7em;">{{ APP_VERSION }}</text> | |||
</view> | |||
@@ -13,11 +13,11 @@ | |||
<view mode="aspectFit" class="logo"></view> | |||
<!-- 【仅生产环境】使用账号的原因,无此项则微信审核通不过 --> | |||
<view v-if="!DEV" class="intro"> | |||
<view class="intro">注册登录力软账号后,您将可以体验力软框架产品中的所有功能与业务</view> | |||
<view v-if="DEV" class="intro"> | |||
<view class="intro">注册登录智慧校园账号后,您将可以体验力软框架产品中的所有功能与业务</view> | |||
<view class="intro">OA · 进销存 · 工作流审批 · 数据可视化</view> | |||
<view class="intro text-gray" style="font-size: 0.9em;"> | |||
如果您之前已在力软框架 PC 端中注册过体验账号,可以直接使用原账号登录,无需另行注册 | |||
如果您之前已在智慧校园 PC 端中注册过体验账号,可以直接使用原账号登录,无需另行注册 | |||
</view> | |||
</view> | |||
</view> | |||
@@ -31,7 +31,7 @@ | |||
</l-input> | |||
<l-button @click="login(null)" size="lg" color="blue" class="margin-top-sm block" block>登 录</l-button> | |||
<l-button v-if="enableSignUp" @click="signUp" size="lg" line="blue" class="margin-top-sm block" block> | |||
新用户注册 | |||
教师注册 | |||
</l-button> | |||
<!-- 【仅小程序】一键登录按钮 --> | |||
@@ -42,10 +42,10 @@ | |||
<!-- #endif --> | |||
<!-- 【仅开发模式】显示,后台地址切换 --> | |||
<view v-if="DEV" class="more"> | |||
<!-- <view v-if="DEV" class="more"> | |||
<view @click="showApiRootSelector = true" class="morebtn">后台地址(点击切换):</view> | |||
<view class="morebtn">{{ currentApiRoot }}</view> | |||
</view> | |||
</view> --> | |||
<!-- 【仅开发模式】选择 API 地址的弹层 --> | |||
<l-modal | |||
@@ -25,10 +25,10 @@ | |||
<l-icon type="phone" color="blue" /> | |||
联系方式 | |||
</l-list-item> | |||
<l-list-item @click="goTo('qrcode')" arrow> | |||
<!-- <l-list-item @click="goTo('qrcode')" arrow> | |||
<l-icon type="qrcode" color="blue" /> | |||
我的二维码 | |||
</l-list-item> | |||
</l-list-item> --> | |||
<l-list-item @click="goTo('password')" arrow> | |||
<l-icon type="edit" color="blue" /> | |||
修改密码 | |||
@@ -36,16 +36,16 @@ | |||
</l-list> | |||
<!-- 关于菜单 --> | |||
<l-list border card> | |||
<!-- <l-list border card> | |||
<l-list-item @click="goTo('learun')" arrow> | |||
<l-icon type="home" color="blue" /> | |||
关于力软 | |||
关于泉江 | |||
</l-list-item> | |||
<l-list-item @click="goTo('framework')" arrow> | |||
<l-icon type="info" color="blue" /> | |||
力软敏捷框架 | |||
数字化智慧校园 | |||
</l-list-item> | |||
</l-list> | |||
</l-list> --> | |||
<view class="padding" style="padding-top: 0;"> | |||
<!-- 小程序账号绑定/解除按钮 --> | |||
@@ -98,7 +98,7 @@ export default { | |||
const type = this.PLATFORM | |||
const confirm = await this.CONFIRM( | |||
'绑定确认', | |||
`确定要将力软账号与当前登录的${this.PLATFORM_TEXT}账号绑定吗?\n(绑定后可以使用一键登录功能)`, | |||
`确定要将智慧校园账号与当前登录的${this.PLATFORM_TEXT}账号绑定吗?\n(绑定后可以使用一键登录功能)`, | |||
true | |||
) | |||
if (!confirm) { | |||
@@ -2,7 +2,7 @@ | |||
<view class="page padding"> | |||
<view> | |||
<view class="text-center text-lg"> | |||
关注力软微信公众号 | |||
关注智慧校园微信公众号 | |||
<br /> | |||
获取更多框架信息 | |||
</view> | |||
@@ -11,7 +11,7 @@ | |||
<view> | |||
<text class="text-lg" style="line-height: 1.3em;"> | |||
力软移动端框架是一款简单好用的移动端开发框架,实现了用开发网页的方式来开发接近原生体验的应用的功能。 | |||
智慧校园移动端框架是一款简单好用的移动端开发框架,实现了用开发网页的方式来开发接近原生体验的应用的功能。 | |||
</text> | |||
</view> | |||
</view> | |||
@@ -1,4 +1,5 @@ | |||
using System.ServiceProcess; | |||
using System; | |||
using System.ServiceProcess; | |||
using Hangfire; | |||
namespace Quanjiang.DigitalScholl.JobService | |||
@@ -21,9 +21,9 @@ namespace Quanjiang.DigitalScholl.WebLicense | |||
{ | |||
public static string GenerateMachineId() | |||
{ | |||
string cpuid = LicenseManager.GetCPUSerialNumber(); | |||
string cpuid = ""; LicenseManager.GetCPUSerialNumber(); | |||
string hd = LicenseManager.GetHardDriverNumber(); | |||
string bios = LicenseManager.GetBoisNumber(); | |||
string bios = ""; LicenseManager.GetBoisNumber(); | |||
string uid = LicenseManager.GetMachineName(); | |||
return DESEncrypt.Encrypt(cpuid + hd + bios + uid, "bjquanjiang@2020!"); | |||
} | |||