@@ -28,8 +28,8 @@ | |||
<input id="AdminPwd" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="ADR_Device" > | |||
<div class="lr-form-item-title">是否启用</div> | |||
<div id="F_EnabledMark"></div> | |||
<div class="lr-form-item-title">是否启用 <font face="宋体">*</font></div> | |||
<div id="F_EnabledMark" isvalid="yes" checkexpession="NotNull" ></div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/ADR_Device/Form.js") |
@@ -52,7 +52,7 @@ var bootstrap = function ($, learun) { | |||
if (learun.checkrow(keyValue)) { | |||
learun.layerConfirm('是否确认删除该项!', function (res) { | |||
if (res) { | |||
learun.deleteForm(top.$.rootUrl + '/EducationalAdministration/ADR_Device/DeleteForm', { keyValue: keyValue}, function () { | |||
learun.deleteForm(top.$.rootUrl + '/EducationalAdministration/ADR_Device/DeleteForm', { keyValue: keyValue }, function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
@@ -65,31 +65,40 @@ var bootstrap = function ($, learun) { | |||
$('#gridtable').lrAuthorizeJfGrid({ | |||
url: top.$.rootUrl + '/EducationalAdministration/ADR_Device/GetPageList', | |||
headData: [ | |||
{ label: "设备名称", name: "DName", width: 100, align: "left"}, | |||
{ label: "设备编号", name: "DCode", width: 100, align: "left"}, | |||
{ label: "Ip地址", name: "IpAddress", width: 200, align: "left"}, | |||
{ label: "端口号", name: "PortNumber", width: 50, align: "left"}, | |||
{ label: "管理员帐号", name: "AdminAccount", width: 100, align: "left"}, | |||
{ label: "管理员密码", name: "AdminPwd", width: 100, align: "left"}, | |||
{ label: "是否启用", name: "F_EnabledMark", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op,$cell) { | |||
learun.clientdata.getAsync('dataItem', { | |||
key: value, | |||
code: 'YesOrNoInt', | |||
callback: function (_data) { | |||
callback(_data.text); | |||
} | |||
}); | |||
}}, | |||
{ label: "设备名称", name: "DName", width: 100, align: "left" }, | |||
{ label: "设备编号", name: "DCode", width: 100, align: "left" }, | |||
{ label: "Ip地址", name: "IpAddress", width: 200, align: "left" }, | |||
{ label: "端口号", name: "PortNumber", width: 50, align: "left" }, | |||
{ label: "管理员帐号", name: "AdminAccount", width: 100, align: "left" }, | |||
{ label: "管理员密码", name: "AdminPwd", width: 100, align: "left" }, | |||
{ | |||
label: "是否启用", name: "F_EnabledMark", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('dataItem', { | |||
key: value, | |||
code: 'YesOrNoInt', | |||
callback: function (_data) { | |||
callback(_data.text); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "是否布防", name: "DOnlineStatus", width: 100, align: "left", | |||
formatter: function (cellvalue) { | |||
return cellvalue == true ? "<i class=\"fa fa-toggle-on\"></i>" : "<i class=\"fa fa-toggle-off\"></i>"; | |||
} | |||
}, | |||
{ label: "最后通讯时间", name: "DConnectDate", width: 100, align: "left" } | |||
], | |||
mainId:'Id', | |||
mainId: 'Id', | |||
isPage: true | |||
}); | |||
page.search(); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
$('#gridtable').jfGridSet('reload',{ queryJson: JSON.stringify(param) }); | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
refreshGirdData = function () { | |||
@@ -84,7 +84,7 @@ var bootstrap = function ($, learun) { | |||
if (learun.checkrow(keyValue)) { | |||
learun.layerConfirm('是否确认删除该项!', function (res) { | |||
if (res) { | |||
learun.deleteForm(top.$.rootUrl + '/EducationalAdministration/ADR_DeviceLog/DeleteForm', { keyValue: keyValue}, function () { | |||
learun.deleteForm(top.$.rootUrl + '/EducationalAdministration/ADR_DeviceLog/DeleteForm', { keyValue: keyValue }, function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
@@ -97,20 +97,32 @@ var bootstrap = function ($, learun) { | |||
$('#gridtable').lrAuthorizeJfGrid({ | |||
url: top.$.rootUrl + '/EducationalAdministration/ADR_DeviceLog/GetPageList', | |||
headData: [ | |||
{ label: "考勤设备", name: "DeviceId", width: 100, align: "left"}, | |||
{ label: "日志类型", name: "LogType", width: 100, align: "left"}, | |||
{ label: "日志内容", name: "LogData", width: 100, align: "left"}, | |||
{ label: "日志记录时间", name: "F_CreateDate", width: 100, align: "left"}, | |||
{ | |||
label: "考勤设备", name: "DeviceId", width: 100, align: "left", formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'ADR_Device', | |||
key: value, | |||
keyId: 'id', | |||
callback: function (_data) { | |||
callback(_data['dname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "日志类型", name: "LogType", width: 100, align: "left" }, | |||
{ label: "日志内容", name: "LogData", width: 100, align: "left" }, | |||
{ label: "日志记录时间", name: "F_CreateDate", width: 100, align: "left" } | |||
], | |||
mainId:'LogId', | |||
isPage: true | |||
mainId: 'LogId', | |||
isPage: true, | |||
sidx: 'F_CreateDate desc' | |||
}); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
param.StartTime = startTime; | |||
param.EndTime = endTime; | |||
$('#gridtable').jfGridSet('reload',{ queryJson: JSON.stringify(param) }); | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
refreshGirdData = function () { | |||
@@ -115,8 +115,9 @@ namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers | |||
[AjaxOnly] | |||
public ActionResult SaveForm(string keyValue, string strEntity) | |||
{ | |||
UserInfo userInfo = LoginUserInfo.Get(); ADR_RecordEntity entity = strEntity.ToObject<ADR_RecordEntity>(); | |||
aDR_RecordIBLL.SaveEntity(userInfo,keyValue,entity); | |||
UserInfo userInfo = LoginUserInfo.Get(); | |||
ADR_RecordEntity entity = strEntity.ToObject<ADR_RecordEntity>(); | |||
aDR_RecordIBLL.SaveEntity(keyValue,entity); | |||
return Success("保存成功!"); | |||
} | |||
#endregion | |||
@@ -12,8 +12,8 @@ | |||
<div id="Department" ></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="ADR_Record" > | |||
<div class="lr-form-item-title">考勤日期</div> | |||
<input id="ADDate" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd',onpicked: function () { $('#ADDate').trigger('change'); } })" /> | |||
<div class="lr-form-item-title">考勤类型</div> | |||
<div id="ADType"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="ADR_Record" > | |||
<div class="lr-form-item-title">考勤时间</div> | |||
@@ -21,9 +21,6 @@ | |||
<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> | |||
</div> | |||
</div> | |||
</div> | |||
@@ -36,7 +33,6 @@ | |||
<a id="lr_add" class="btn btn-default"><i class="fa fa-plus"></i> 新增</a> | |||
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i> 编辑</a> | |||
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i> 删除</a> | |||
<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i> 打印</a> | |||
</div> | |||
</div> | |||
</div> | |||
@@ -85,40 +85,39 @@ var bootstrap = function ($, learun) { | |||
if (learun.checkrow(keyValue)) { | |||
learun.layerConfirm('是否确认删除该项!', function (res) { | |||
if (res) { | |||
learun.deleteForm(top.$.rootUrl + '/LogisticsManagement/ADR_Record/DeleteForm', { keyValue: keyValue}, function () { | |||
learun.deleteForm(top.$.rootUrl + '/LogisticsManagement/ADR_Record/DeleteForm', { keyValue: keyValue }, function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
}); | |||
} | |||
}); | |||
// 打印 | |||
$('#lr_print').on('click', function () { | |||
$('#gridtable').jqprintTable(); | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#gridtable').lrAuthorizeJfGrid({ | |||
url: top.$.rootUrl + '/LogisticsManagement/ADR_Record/GetPageList', | |||
headData: [ | |||
{ label: "员工名字", name: "UserName", width: 100, align: "left"}, | |||
{ label: "部门", name: "Department", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op,$cell) { | |||
learun.clientdata.getAsync('department', { | |||
key: value, | |||
callback: function (_data) { | |||
callback(_data.name); | |||
} | |||
}); | |||
}}, | |||
{ label: "考勤日期", name: "ADDate", width: 100, align: "left"}, | |||
{ label: "考勤时间", name: "ADTime", width: 100, align: "left"}, | |||
{ label: "打卡时间", name: "ClockTime", width: 100, align: "left"}, | |||
{ label: "打卡状态", name: "ClockStatus", width: 100, align: "left"}, | |||
{ label: "打卡地点", name: "ClockPlace", width: 100, align: "left"}, | |||
{ label: "员工名字", name: "UserName", width: 100, align: "left" }, | |||
{ label: "员工编号", name: "UserNo", width: 100, align: "left" }, | |||
{ | |||
label: "部门", name: "Department", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('department', { | |||
key: value, | |||
callback: function (_data) { | |||
callback(_data.name); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "考勤类型", name: "ADType", width: 100, align: "left" }, | |||
{ label: "考勤时间", name: "ADTime", width: 100, align: "left" }, | |||
{ label: "打卡时间", name: "ClockTime", width: 100, align: "left" }, | |||
{ label: "打卡结果", name: "ClockStatus", width: 100, align: "left" }, | |||
{ label: "打卡地点", name: "ClockPlace", width: 100, align: "left" }, | |||
], | |||
mainId:'ID', | |||
mainId: 'ID', | |||
isPage: true | |||
}); | |||
}, | |||
@@ -126,7 +125,7 @@ var bootstrap = function ($, learun) { | |||
param = param || {}; | |||
param.StartTime = startTime; | |||
param.EndTime = endTime; | |||
$('#gridtable').jfGridSet('reload',{ queryJson: JSON.stringify(param) }); | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
refreshGirdData = function () { | |||
@@ -1,111 +0,0 @@ | |||
using Learun.Util; | |||
using System.Data; | |||
using Learun.Application.TwoDevelopment.PersonnelManagement; | |||
using System.Web.Mvc; | |||
using System.Collections.Generic; | |||
namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园 | |||
/// Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2020-08-26 15:16 | |||
/// 描 述:考勤记录 | |||
/// </summary> | |||
public class ADR_RecordController : MvcControllerBase | |||
{ | |||
private ADR_RecordIBLL aDR_RecordIBLL = new ADR_RecordBLL(); | |||
#region 视图功能 | |||
/// <summary> | |||
/// 主页面 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult Index() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 表单页 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult Form() | |||
{ | |||
return View(); | |||
} | |||
#endregion | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// <summary> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetPageList(string pagination, string queryJson) | |||
{ | |||
Pagination paginationobj = pagination.ToObject<Pagination>(); | |||
var data = aDR_RecordIBLL.GetPageList(paginationobj, queryJson); | |||
var jsonData = new | |||
{ | |||
rows = data, | |||
total = paginationobj.total, | |||
page = paginationobj.page, | |||
records = paginationobj.records | |||
}; | |||
return Success(jsonData); | |||
} | |||
/// <summary> | |||
/// 获取表单数据 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetFormData(string keyValue) | |||
{ | |||
var ADR_RecordData = aDR_RecordIBLL.GetADR_RecordEntity( keyValue ); | |||
var jsonData = new { | |||
ADR_Record = ADR_RecordData, | |||
}; | |||
return Success(jsonData); | |||
} | |||
#endregion | |||
#region 提交数据 | |||
/// <summary> | |||
/// 删除实体数据 | |||
/// <param name="keyValue">主键</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult DeleteForm(string keyValue) | |||
{ | |||
aDR_RecordIBLL.DeleteEntity(keyValue); | |||
return Success("删除成功!"); | |||
} | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// <param name="keyValue">主键</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[ValidateAntiForgeryToken] | |||
[AjaxOnly] | |||
public ActionResult SaveForm(string keyValue, string strEntity) | |||
{ | |||
ADR_RecordEntity entity = strEntity.ToObject<ADR_RecordEntity>(); | |||
aDR_RecordIBLL.SaveEntity(keyValue,entity); | |||
return Success("保存成功!"); | |||
} | |||
#endregion | |||
} | |||
} |
@@ -1,39 +0,0 @@ | |||
@{ | |||
ViewBag.Title = "考勤记录"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap"> | |||
<div class="col-xs-12 lr-form-item" data-table="ADR_Record" > | |||
<div class="lr-form-item-title">员工名字</div> | |||
<input id="UserName" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="ADR_Record" > | |||
<div class="lr-form-item-title">员工编号</div> | |||
<div id="UserNo" ></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="ADR_Record" > | |||
<div class="lr-form-item-title">部门</div> | |||
<input id="Department" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="ADR_Record" > | |||
<div class="lr-form-item-title">考勤日期</div> | |||
<input id="ADDate" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd',onpicked: function () { $('#ADDate').trigger('change'); } })" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="ADR_Record" > | |||
<div class="lr-form-item-title">考勤时间</div> | |||
<input id="ADTime" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd HH:mm',onpicked: function () { $('#ADTime').trigger('change'); } })" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="ADR_Record" > | |||
<div class="lr-form-item-title">打卡时间</div> | |||
<input id="ClockTime" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd',onpicked: function () { $('#ClockTime').trigger('change'); } })" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="ADR_Record" > | |||
<div class="lr-form-item-title">打卡状态</div> | |||
<input id="ClockStatus" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="ADR_Record" > | |||
<div class="lr-form-item-title">打卡地点</div> | |||
<input id="ClockPlace" type="text" class="form-control" /> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/PersonnelManagement/Views/ADR_Record/Form.js") |
@@ -1,56 +0,0 @@ | |||
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||
* Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2020-08-26 15:16 | |||
* 描 述:考勤记录 | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
$('.lr-form-wrap').lrscroll(); | |||
page.bind(); | |||
page.initData(); | |||
}, | |||
bind: function () { | |||
$('#UserNo').lrformselect({ | |||
layerUrl: top.$.rootUrl + '/LR_OrganizationModule/User/SelectOnlyForm', | |||
layerUrlW: 400, | |||
layerUrlH: 300, | |||
dataUrl: top.$.rootUrl + '/LR_OrganizationModule/User/GetListByUserIds' | |||
}); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/PersonnelManagement/ADR_Record/GetFormData?keyValue=' + keyValue, function (data) { | |||
for (var id in data) { | |||
if (!!data[id].length && data[id].length > 0) { | |||
$('#' + id ).jfGridSet('refreshdata', data[id]); | |||
} | |||
else { | |||
$('[data-table="' + id + '"]').lrSetFormData(data[id]); | |||
} | |||
} | |||
}); | |||
} | |||
} | |||
}; | |||
// 保存数据 | |||
acceptClick = function (callBack) { | |||
if (!$('body').lrValidform()) { | |||
return false; | |||
} | |||
var postData = { | |||
strEntity: JSON.stringify($('body').lrGetFormData()) | |||
}; | |||
$.lrSaveForm(top.$.rootUrl + '/PersonnelManagement/ADR_Record/SaveForm?keyValue=' + keyValue, postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
} |
@@ -1,39 +0,0 @@ | |||
@{ | |||
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> | |||
<div id="UserNo"></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 class=" btn-group btn-group-sm" learun-authorize="yes"> | |||
<a id="lr_add" class="btn btn-default"><i class="fa fa-plus"></i> 新增</a> | |||
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i> 编辑</a> | |||
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i> 删除</a> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/PersonnelManagement/Views/ADR_Record/Index.js") |
@@ -1,145 +0,0 @@ | |||
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||
* Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2020-08-26 15:16 | |||
* 描 述:考勤记录 | |||
*/ | |||
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); | |||
$('#UserNo').lrUserSelect(0); | |||
// 刷新 | |||
$('#lr_refresh').on('click', function () { | |||
location.reload(); | |||
}); | |||
// 新增 | |||
$('#lr_add').on('click', function () { | |||
learun.layerForm({ | |||
id: 'form', | |||
title: '新增', | |||
url: top.$.rootUrl + '/PersonnelManagement/ADR_Record/Form', | |||
width: 600, | |||
height: 400, | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData); | |||
} | |||
}); | |||
}); | |||
// 编辑 | |||
$('#lr_edit').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('ID'); | |||
if (learun.checkrow(keyValue)) { | |||
learun.layerForm({ | |||
id: 'form', | |||
title: '编辑', | |||
url: top.$.rootUrl + '/PersonnelManagement/ADR_Record/Form?keyValue=' + keyValue, | |||
width: 600, | |||
height: 400, | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData); | |||
} | |||
}); | |||
} | |||
}); | |||
// 删除 | |||
$('#lr_delete').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('ID'); | |||
if (learun.checkrow(keyValue)) { | |||
learun.layerConfirm('是否确认删除该项!', function (res) { | |||
if (res) { | |||
learun.deleteForm(top.$.rootUrl + '/PersonnelManagement/ADR_Record/DeleteForm', { keyValue: keyValue }, function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
}); | |||
} | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#gridtable').lrAuthorizeJfGrid({ | |||
url: top.$.rootUrl + '/PersonnelManagement/ADR_Record/GetPageList', | |||
headData: [ | |||
{ label: "员工名字", name: "UserName", width: 100, align: "left" }, | |||
{ | |||
label: "员工编号", name: "UserNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('user', { | |||
key: value, | |||
callback: function (_data) { | |||
callback(_data.name); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "部门", name: "Department", width: 100, align: "left" }, | |||
{ label: "考勤日期", name: "ADDate", width: 100, align: "left" }, | |||
{ label: "考勤时间", name: "ADTime", width: 100, align: "left" }, | |||
{ label: "打卡时间", name: "ClockTime", width: 100, align: "left" }, | |||
{ | |||
label: "打卡状态", name: "ClockStatus", width: 100, align: "left", formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('dataItem', { | |||
key: value, | |||
code: 'ADR_Status', | |||
callback: function (_data) { | |||
callback(_data.text); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "打卡地点", name: "ClockPlace", width: 100, align: "left" }, | |||
], | |||
mainId: 'ID', | |||
isPage: true | |||
}); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
param.StartTime = startTime; | |||
param.EndTime = endTime; | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
refreshGirdData = function () { | |||
page.search(); | |||
}; | |||
page.init(); | |||
} |
@@ -797,7 +797,6 @@ | |||
<Compile Include="Areas\EducationalAdministration\Controllers\BC_SupplyAndDemandMettingController.cs" /> | |||
<Compile Include="Areas\EducationalAdministration\Controllers\BC_SpecialDestinationController.cs" /> | |||
<Compile Include="Areas\EducationalAdministration\Controllers\BC_EPIController.cs" /> | |||
<Compile Include="Areas\PersonnelManagement\Controllers\ADR_RecordController.cs" /> | |||
<Compile Include="Areas\LogisticsManagement\Controllers\ADR_RecordController.cs" /> | |||
<Compile Include="Startup1.cs" /> | |||
<Compile Include="Areas\EducationalAdministration\Controllers\ADR_DeviceController.cs" /> | |||
@@ -6045,10 +6044,6 @@ | |||
<Content Include="Areas\EducationalAdministration\Views\BC_EPI\Index.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\BC_EPI\Form.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\BC_EPI\Form.js" /> | |||
<Content Include="Areas\PersonnelManagement\Views\ADR_Record\Index.cshtml" /> | |||
<Content Include="Areas\PersonnelManagement\Views\ADR_Record\Index.js" /> | |||
<Content Include="Areas\PersonnelManagement\Views\ADR_Record\Form.cshtml" /> | |||
<Content Include="Areas\PersonnelManagement\Views\ADR_Record\Form.js" /> | |||
<Content Include="Areas\LogisticsManagement\Views\ADR_Record\Index.cshtml" /> | |||
<Content Include="Areas\LogisticsManagement\Views\ADR_Record\Index.js" /> | |||
<Content Include="Areas\LogisticsManagement\Views\ADR_Record\Form.cshtml" /> | |||
@@ -96,7 +96,7 @@ namespace Learun.Application.WebApi | |||
{ | |||
ReqFormEntity parameter = this.GetReqData<ReqFormEntity>(); | |||
ADR_RecordEntity entity = parameter.strEntity.ToObject<ADR_RecordEntity>(); | |||
aDR_RecordIBLL.SaveEntity(this.userInfo,parameter.keyValue,entity); | |||
aDR_RecordIBLL.SaveEntity(parameter.keyValue,entity); | |||
return Success("保存成功!"); | |||
} | |||
#endregion | |||
@@ -1,5 +1,5 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<?PowerDesigner AppLocale="UTF16" ID="{88086B01-C9E1-11D4-9552-0090277716A9}" Label="" LastModificationDate="1599115543" Name="Physical Data Model 1" Objects="3245" Symbols="380" Target="Microsoft SQL Server 2008" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.5.0.3982"?> | |||
<?PowerDesigner AppLocale="UTF16" ID="{88086B01-C9E1-11D4-9552-0090277716A9}" Label="" LastModificationDate="1599202395" Name="Physical Data Model 1" Objects="3248" Symbols="378" Target="Microsoft SQL Server 2008" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.5.0.3982"?> | |||
<!-- do not edit this file --> | |||
<Model xmlns:a="attribute" xmlns:c="collection" xmlns:o="object"> | |||
@@ -11846,9 +11846,9 @@ LABL 0 新宋体,8,N</a:FontList> | |||
</o:TableSymbol> | |||
<o:TableSymbol Id="o619"> | |||
<a:CreationDate>1598423768</a:CreationDate> | |||
<a:ModificationDate>1599114136</a:ModificationDate> | |||
<a:ModificationDate>1599201856</a:ModificationDate> | |||
<a:IconMode>-1</a:IconMode> | |||
<a:Rect>((-121671,194471), (-110755,203319))</a:Rect> | |||
<a:Rect>((-140220,176396), (-109606,188544))</a:Rect> | |||
<a:LineColor>12615680</a:LineColor> | |||
<a:FillColor>16570034</a:FillColor> | |||
<a:ShadowColor>12632256</a:ShadowColor> | |||
@@ -11925,9 +11925,9 @@ LABL 0 新宋体,8,N</a:FontList> | |||
</o:TableSymbol> | |||
<o:TableSymbol Id="o625"> | |||
<a:CreationDate>1599114139</a:CreationDate> | |||
<a:ModificationDate>1599115543</a:ModificationDate> | |||
<a:ModificationDate>1599193158</a:ModificationDate> | |||
<a:IconMode>-1</a:IconMode> | |||
<a:Rect>((-109762,192885), (-97300,203383))</a:Rect> | |||
<a:Rect>((-118462,192473), (-106000,203795))</a:Rect> | |||
<a:LineColor>12615680</a:LineColor> | |||
<a:FillColor>16570034</a:FillColor> | |||
<a:ShadowColor>12632256</a:ShadowColor> | |||
@@ -47122,8 +47122,8 @@ B9AF | |||
<a:Code>ADR_Record</a:Code> | |||
<a:CreationDate>1598423768</a:CreationDate> | |||
<a:Creator>edz</a:Creator> | |||
<a:ModificationDate>1598424947</a:ModificationDate> | |||
<a:Modifier>edz</a:Modifier> | |||
<a:ModificationDate>1599193860</a:ModificationDate> | |||
<a:Modifier>Administrator</a:Modifier> | |||
<a:Comment>考情记录</a:Comment> | |||
<a:TotalSavingCurrency/> | |||
<c:Columns> | |||
@@ -47178,46 +47178,46 @@ B9AF | |||
</o:Column> | |||
<o:Column Id="o3131"> | |||
<a:ObjectID>6147E3D6-4E3F-4BA5-AF58-25F53CB8B8BD</a:ObjectID> | |||
<a:Name>考勤日期</a:Name> | |||
<a:Code>ADDate</a:Code> | |||
<a:Name>考勤类型0-未定义,1-上班,2-下班,3-开始休息,4-结束休息,5-开始加班,6-结束加班</a:Name> | |||
<a:Code>ADType</a:Code> | |||
<a:CreationDate>1598424586</a:CreationDate> | |||
<a:Creator>edz</a:Creator> | |||
<a:ModificationDate>1598424947</a:ModificationDate> | |||
<a:Modifier>edz</a:Modifier> | |||
<a:ModificationDate>1599193151</a:ModificationDate> | |||
<a:Modifier>Administrator</a:Modifier> | |||
<a:Comment>考勤日期</a:Comment> | |||
<a:DataType>nvarchar(50)</a:DataType> | |||
<a:Length>50</a:Length> | |||
</o:Column> | |||
<o:Column Id="o3132"> | |||
<a:ObjectID>80AC9656-F8DC-4B99-8953-80912F185017</a:ObjectID> | |||
<a:Name>考勤时间</a:Name> | |||
<a:Name>考勤时间(服务器时间)</a:Name> | |||
<a:Code>ADTime</a:Code> | |||
<a:CreationDate>1598423771</a:CreationDate> | |||
<a:Creator>edz</a:Creator> | |||
<a:ModificationDate>1598424582</a:ModificationDate> | |||
<a:Modifier>edz</a:Modifier> | |||
<a:ModificationDate>1599193860</a:ModificationDate> | |||
<a:Modifier>Administrator</a:Modifier> | |||
<a:Comment>考勤时间</a:Comment> | |||
<a:DataType>datetime</a:DataType> | |||
</o:Column> | |||
<o:Column Id="o3133"> | |||
<a:ObjectID>B34FD47D-8580-4F17-B8AF-E3703F691999</a:ObjectID> | |||
<a:Name>打卡时间</a:Name> | |||
<a:Name>打卡时间(考勤机时间)</a:Name> | |||
<a:Code>ClockTime</a:Code> | |||
<a:CreationDate>1598423771</a:CreationDate> | |||
<a:Creator>edz</a:Creator> | |||
<a:ModificationDate>1598424582</a:ModificationDate> | |||
<a:Modifier>edz</a:Modifier> | |||
<a:ModificationDate>1599193860</a:ModificationDate> | |||
<a:Modifier>Administrator</a:Modifier> | |||
<a:Comment>打卡时间</a:Comment> | |||
<a:DataType>datetime</a:DataType> | |||
</o:Column> | |||
<o:Column Id="o3134"> | |||
<a:ObjectID>4BD51C76-BEFE-4830-861B-61AB5EDD796F</a:ObjectID> | |||
<a:Name>打卡结果</a:Name> | |||
<a:Name>打卡结果1正常,2迟到,3早退,4上班补签,5下班补签</a:Name> | |||
<a:Code>ClockStatus</a:Code> | |||
<a:CreationDate>1598423771</a:CreationDate> | |||
<a:Creator>edz</a:Creator> | |||
<a:ModificationDate>1598424582</a:ModificationDate> | |||
<a:Modifier>edz</a:Modifier> | |||
<a:ModificationDate>1599201781</a:ModificationDate> | |||
<a:Modifier>Administrator</a:Modifier> | |||
<a:Comment>打卡</a:Comment> | |||
<a:DataType>nvarchar(50)</a:DataType> | |||
<a:Length>50</a:Length> | |||
@@ -47234,9 +47234,42 @@ B9AF | |||
<a:DataType>nvarchar(50)</a:DataType> | |||
<a:Length>50</a:Length> | |||
</o:Column> | |||
<o:Column Id="o3136"> | |||
<a:ObjectID>0E425B78-ADDD-4476-89D5-0AF3652B2BB9</a:ObjectID> | |||
<a:Name>考勤年</a:Name> | |||
<a:Code>ADYear</a:Code> | |||
<a:CreationDate>1599193179</a:CreationDate> | |||
<a:Creator>Administrator</a:Creator> | |||
<a:ModificationDate>1599193860</a:ModificationDate> | |||
<a:Modifier>Administrator</a:Modifier> | |||
<a:DataType>nvarchar(50)</a:DataType> | |||
<a:Length>50</a:Length> | |||
</o:Column> | |||
<o:Column Id="o3137"> | |||
<a:ObjectID>A65C1C9A-E08C-433F-A2F5-5951E08C311F</a:ObjectID> | |||
<a:Name>考勤月</a:Name> | |||
<a:Code>ADMonth</a:Code> | |||
<a:CreationDate>1599193179</a:CreationDate> | |||
<a:Creator>Administrator</a:Creator> | |||
<a:ModificationDate>1599193860</a:ModificationDate> | |||
<a:Modifier>Administrator</a:Modifier> | |||
<a:DataType>nvarchar(50)</a:DataType> | |||
<a:Length>50</a:Length> | |||
</o:Column> | |||
<o:Column Id="o3138"> | |||
<a:ObjectID>E7E08171-0365-4AD0-85AA-FC6975A5F506</a:ObjectID> | |||
<a:Name>考勤日</a:Name> | |||
<a:Code>ADDay</a:Code> | |||
<a:CreationDate>1599193179</a:CreationDate> | |||
<a:Creator>Administrator</a:Creator> | |||
<a:ModificationDate>1599193860</a:ModificationDate> | |||
<a:Modifier>Administrator</a:Modifier> | |||
<a:DataType>nvarchar(50)</a:DataType> | |||
<a:Length>50</a:Length> | |||
</o:Column> | |||
</c:Columns> | |||
<c:Keys> | |||
<o:Key Id="o3136"> | |||
<o:Key Id="o3139"> | |||
<a:ObjectID>99F727D3-CAB0-4E9A-A661-D3347EF8CD96</a:ObjectID> | |||
<a:Name>Key_1</a:Name> | |||
<a:Code>Key_1</a:Code> | |||
@@ -47250,10 +47283,10 @@ B9AF | |||
</o:Key> | |||
</c:Keys> | |||
<c:PrimaryKey> | |||
<o:Key Ref="o3136"/> | |||
<o:Key Ref="o3139"/> | |||
</c:PrimaryKey> | |||
<c:ClusterObject> | |||
<o:Key Ref="o3136"/> | |||
<o:Key Ref="o3139"/> | |||
</c:ClusterObject> | |||
</o:Table> | |||
<o:Table Id="o622"> | |||
@@ -47262,12 +47295,12 @@ B9AF | |||
<a:Code>ADR_Device</a:Code> | |||
<a:CreationDate>1599104676</a:CreationDate> | |||
<a:Creator>Administrator</a:Creator> | |||
<a:ModificationDate>1599106965</a:ModificationDate> | |||
<a:ModificationDate>1599128374</a:ModificationDate> | |||
<a:Modifier>Administrator</a:Modifier> | |||
<a:Comment>考勤设备管理</a:Comment> | |||
<a:TotalSavingCurrency/> | |||
<c:Columns> | |||
<o:Column Id="o3137"> | |||
<o:Column Id="o3140"> | |||
<a:ObjectID>9D249636-3C2D-4FC5-A874-DFE2F2155F8B</a:ObjectID> | |||
<a:Name>Id</a:Name> | |||
<a:Code>Id</a:Code> | |||
@@ -47279,7 +47312,7 @@ B9AF | |||
<a:Length>50</a:Length> | |||
<a:Column.Mandatory>1</a:Column.Mandatory> | |||
</o:Column> | |||
<o:Column Id="o3138"> | |||
<o:Column Id="o3141"> | |||
<a:ObjectID>12FB6C42-EF4F-4AED-90C3-7B5E9929E9FD</a:ObjectID> | |||
<a:Name>设备名称</a:Name> | |||
<a:Code>DName</a:Code> | |||
@@ -47290,7 +47323,7 @@ B9AF | |||
<a:DataType>nvarchar(50)</a:DataType> | |||
<a:Length>50</a:Length> | |||
</o:Column> | |||
<o:Column Id="o3139"> | |||
<o:Column Id="o3142"> | |||
<a:ObjectID>CFC854AC-7287-4EDA-AC5F-8D5E5B3B5338</a:ObjectID> | |||
<a:Name>设备编号</a:Name> | |||
<a:Code>DCode</a:Code> | |||
@@ -47301,7 +47334,7 @@ B9AF | |||
<a:DataType>nvarchar(50)</a:DataType> | |||
<a:Length>50</a:Length> | |||
</o:Column> | |||
<o:Column Id="o3140"> | |||
<o:Column Id="o3143"> | |||
<a:ObjectID>925DAAC4-4C87-4D50-B506-2B84B5D762B2</a:ObjectID> | |||
<a:Name>Ip地址</a:Name> | |||
<a:Code>IpAddress</a:Code> | |||
@@ -47312,7 +47345,7 @@ B9AF | |||
<a:DataType>nvarchar(50)</a:DataType> | |||
<a:Length>50</a:Length> | |||
</o:Column> | |||
<o:Column Id="o3141"> | |||
<o:Column Id="o3144"> | |||
<a:ObjectID>81D77744-A546-4C7C-87D2-1C6345B6C650</a:ObjectID> | |||
<a:Name>端口号</a:Name> | |||
<a:Code>PortNumber</a:Code> | |||
@@ -47322,7 +47355,7 @@ B9AF | |||
<a:Modifier>Administrator</a:Modifier> | |||
<a:DataType>int</a:DataType> | |||
</o:Column> | |||
<o:Column Id="o3142"> | |||
<o:Column Id="o3145"> | |||
<a:ObjectID>D693475B-44DD-43B6-8417-16D6E6CB9752</a:ObjectID> | |||
<a:Name>管理员帐号</a:Name> | |||
<a:Code>AdminAccount</a:Code> | |||
@@ -47333,7 +47366,7 @@ B9AF | |||
<a:DataType>nvarchar(50)</a:DataType> | |||
<a:Length>50</a:Length> | |||
</o:Column> | |||
<o:Column Id="o3143"> | |||
<o:Column Id="o3146"> | |||
<a:ObjectID>1C21FD25-CF5E-471F-BB1E-DAFFCB9622ED</a:ObjectID> | |||
<a:Name>管理员密码</a:Name> | |||
<a:Code>AdminPwd</a:Code> | |||
@@ -47344,7 +47377,7 @@ B9AF | |||
<a:DataType>nvarchar(50)</a:DataType> | |||
<a:Length>50</a:Length> | |||
</o:Column> | |||
<o:Column Id="o3144"> | |||
<o:Column Id="o3147"> | |||
<a:ObjectID>F4CB8471-DA6E-4739-A65E-F0B273A35B71</a:ObjectID> | |||
<a:Name>是否启用</a:Name> | |||
<a:Code>F_EnabledMark</a:Code> | |||
@@ -47354,7 +47387,7 @@ B9AF | |||
<a:Modifier>Administrator</a:Modifier> | |||
<a:DataType>int</a:DataType> | |||
</o:Column> | |||
<o:Column Id="o3145"> | |||
<o:Column Id="o3148"> | |||
<a:ObjectID>71354792-8DB0-44A7-98DC-D63D0DF97800</a:ObjectID> | |||
<a:Name>设备布防状态</a:Name> | |||
<a:Code>DOnlineStatus</a:Code> | |||
@@ -47364,7 +47397,7 @@ B9AF | |||
<a:Modifier>Administrator</a:Modifier> | |||
<a:DataType>bit</a:DataType> | |||
</o:Column> | |||
<o:Column Id="o3146"> | |||
<o:Column Id="o3149"> | |||
<a:ObjectID>601184F9-95FC-4887-B9E4-1DCEDBE8A26E</a:ObjectID> | |||
<a:Name>设备最后通讯时间</a:Name> | |||
<a:Code>DConnectDate</a:Code> | |||
@@ -47374,7 +47407,18 @@ B9AF | |||
<a:Modifier>Administrator</a:Modifier> | |||
<a:DataType>datetime</a:DataType> | |||
</o:Column> | |||
<o:Column Id="o3147"> | |||
<o:Column Id="o3150"> | |||
<a:ObjectID>9354AF58-F9F4-4B44-B43A-DAA0CCF27DF6</a:ObjectID> | |||
<a:Name>设备lUserID</a:Name> | |||
<a:Code>DlUserID</a:Code> | |||
<a:CreationDate>1599128322</a:CreationDate> | |||
<a:Creator>Administrator</a:Creator> | |||
<a:ModificationDate>1599128374</a:ModificationDate> | |||
<a:Modifier>Administrator</a:Modifier> | |||
<a:DataType>nvarchar(50)</a:DataType> | |||
<a:Length>50</a:Length> | |||
</o:Column> | |||
<o:Column Id="o3151"> | |||
<a:ObjectID>9FDC6101-5468-48DA-913E-0EDFA776E01E</a:ObjectID> | |||
<a:Name>F_CreateDate</a:Name> | |||
<a:Code>F_CreateDate</a:Code> | |||
@@ -47384,7 +47428,7 @@ B9AF | |||
<a:Modifier>Administrator</a:Modifier> | |||
<a:DataType>datetime</a:DataType> | |||
</o:Column> | |||
<o:Column Id="o3148"> | |||
<o:Column Id="o3152"> | |||
<a:ObjectID>ADE41F7A-D721-457A-8B2B-4C1F186344C5</a:ObjectID> | |||
<a:Name>F_CreateUserId</a:Name> | |||
<a:Code>F_CreateUserId</a:Code> | |||
@@ -47395,7 +47439,7 @@ B9AF | |||
<a:DataType>nvarchar(50)</a:DataType> | |||
<a:Length>50</a:Length> | |||
</o:Column> | |||
<o:Column Id="o3149"> | |||
<o:Column Id="o3153"> | |||
<a:ObjectID>9A968663-BAC9-4B8D-8F58-410E553E50B8</a:ObjectID> | |||
<a:Name>F_CreateUserName</a:Name> | |||
<a:Code>F_CreateUserName</a:Code> | |||
@@ -47406,7 +47450,7 @@ B9AF | |||
<a:DataType>nvarchar(50)</a:DataType> | |||
<a:Length>50</a:Length> | |||
</o:Column> | |||
<o:Column Id="o3150"> | |||
<o:Column Id="o3154"> | |||
<a:ObjectID>2D7B4825-D319-4740-AD74-2F707908FEEA</a:ObjectID> | |||
<a:Name>F_ModifyDate</a:Name> | |||
<a:Code>F_ModifyDate</a:Code> | |||
@@ -47416,7 +47460,7 @@ B9AF | |||
<a:Modifier>Administrator</a:Modifier> | |||
<a:DataType>datetime</a:DataType> | |||
</o:Column> | |||
<o:Column Id="o3151"> | |||
<o:Column Id="o3155"> | |||
<a:ObjectID>696D9EF8-31BB-47C5-8526-C322470A96AC</a:ObjectID> | |||
<a:Name>F_ModifyUserId</a:Name> | |||
<a:Code>F_ModifyUserId</a:Code> | |||
@@ -47427,7 +47471,7 @@ B9AF | |||
<a:DataType>nvarchar(50)</a:DataType> | |||
<a:Length>50</a:Length> | |||
</o:Column> | |||
<o:Column Id="o3152"> | |||
<o:Column Id="o3156"> | |||
<a:ObjectID>BD0F8981-431B-42EC-A515-F1A2CA46FCA1</a:ObjectID> | |||
<a:Name>F_ModifyUserName</a:Name> | |||
<a:Code>F_ModifyUserName</a:Code> | |||
@@ -47440,7 +47484,7 @@ B9AF | |||
</o:Column> | |||
</c:Columns> | |||
<c:Keys> | |||
<o:Key Id="o3153"> | |||
<o:Key Id="o3157"> | |||
<a:ObjectID>7D84A058-BAB4-4CA1-B262-896747D61705</a:ObjectID> | |||
<a:Name>Key_1</a:Name> | |||
<a:Code>Key_1</a:Code> | |||
@@ -47449,15 +47493,15 @@ B9AF | |||
<a:ModificationDate>1599104860</a:ModificationDate> | |||
<a:Modifier>Administrator</a:Modifier> | |||
<c:Key.Columns> | |||
<o:Column Ref="o3137"/> | |||
<o:Column Ref="o3140"/> | |||
</c:Key.Columns> | |||
</o:Key> | |||
</c:Keys> | |||
<c:PrimaryKey> | |||
<o:Key Ref="o3153"/> | |||
<o:Key Ref="o3157"/> | |||
</c:PrimaryKey> | |||
<c:ClusterObject> | |||
<o:Key Ref="o3153"/> | |||
<o:Key Ref="o3157"/> | |||
</c:ClusterObject> | |||
</o:Table> | |||
<o:Table Id="o624"> | |||
@@ -47471,7 +47515,7 @@ B9AF | |||
<a:Comment>考勤设备日志</a:Comment> | |||
<a:TotalSavingCurrency/> | |||
<c:Columns> | |||
<o:Column Id="o3154"> | |||
<o:Column Id="o3158"> | |||
<a:ObjectID>9CEE15F0-DD42-4FA4-B6E7-6D3561423F95</a:ObjectID> | |||
<a:Name>LogId</a:Name> | |||
<a:Code>LogId</a:Code> | |||
@@ -47483,7 +47527,7 @@ B9AF | |||
<a:Length>50</a:Length> | |||
<a:Column.Mandatory>1</a:Column.Mandatory> | |||
</o:Column> | |||
<o:Column Id="o3155"> | |||
<o:Column Id="o3159"> | |||
<a:ObjectID>FF4B4905-5EB3-4B23-931D-CF2C781C50E7</a:ObjectID> | |||
<a:Name>设备Id</a:Name> | |||
<a:Code>DeviceId</a:Code> | |||
@@ -47494,7 +47538,7 @@ B9AF | |||
<a:DataType>nvarchar(50)</a:DataType> | |||
<a:Length>50</a:Length> | |||
</o:Column> | |||
<o:Column Id="o3156"> | |||
<o:Column Id="o3160"> | |||
<a:ObjectID>18DA3B68-1424-4DAF-880F-B9FD2279728B</a:ObjectID> | |||
<a:Name>日志类型</a:Name> | |||
<a:Code>LogType</a:Code> | |||
@@ -47505,7 +47549,7 @@ B9AF | |||
<a:DataType>nvarchar(50)</a:DataType> | |||
<a:Length>50</a:Length> | |||
</o:Column> | |||
<o:Column Id="o3157"> | |||
<o:Column Id="o3161"> | |||
<a:ObjectID>0A812357-6E40-46E8-8A20-94C121AF3285</a:ObjectID> | |||
<a:Name>日志记录信息</a:Name> | |||
<a:Code>LogData</a:Code> | |||
@@ -47515,7 +47559,7 @@ B9AF | |||
<a:Modifier>Administrator</a:Modifier> | |||
<a:DataType>nvarchar(Max)</a:DataType> | |||
</o:Column> | |||
<o:Column Id="o3158"> | |||
<o:Column Id="o3162"> | |||
<a:ObjectID>2029F63E-0C33-4039-93BA-CBEA2E803082</a:ObjectID> | |||
<a:Name>F_CreateDate</a:Name> | |||
<a:Code>F_CreateDate</a:Code> | |||
@@ -47525,7 +47569,7 @@ B9AF | |||
<a:Modifier>Administrator</a:Modifier> | |||
<a:DataType>datetime</a:DataType> | |||
</o:Column> | |||
<o:Column Id="o3159"> | |||
<o:Column Id="o3163"> | |||
<a:ObjectID>40533AFD-66A4-4F4D-8343-27E5F6A79B56</a:ObjectID> | |||
<a:Name>F_CreateUserId</a:Name> | |||
<a:Code>F_CreateUserId</a:Code> | |||
@@ -47536,7 +47580,7 @@ B9AF | |||
<a:DataType>nvarchar(50)</a:DataType> | |||
<a:Length>50</a:Length> | |||
</o:Column> | |||
<o:Column Id="o3160"> | |||
<o:Column Id="o3164"> | |||
<a:ObjectID>7D493CA7-4AFD-4305-8681-6E9B382B9C07</a:ObjectID> | |||
<a:Name>F_CreateUserName</a:Name> | |||
<a:Code>F_CreateUserName</a:Code> | |||
@@ -47547,7 +47591,7 @@ B9AF | |||
<a:DataType>nvarchar(50)</a:DataType> | |||
<a:Length>50</a:Length> | |||
</o:Column> | |||
<o:Column Id="o3161"> | |||
<o:Column Id="o3165"> | |||
<a:ObjectID>C195B8D4-14D5-4CDE-9F7A-5B4C2DA8E689</a:ObjectID> | |||
<a:Name>F_ModifyDate</a:Name> | |||
<a:Code>F_ModifyDate</a:Code> | |||
@@ -47557,7 +47601,7 @@ B9AF | |||
<a:Modifier>Administrator</a:Modifier> | |||
<a:DataType>datetime</a:DataType> | |||
</o:Column> | |||
<o:Column Id="o3162"> | |||
<o:Column Id="o3166"> | |||
<a:ObjectID>1C8B2B07-C690-4888-A179-96F90198212E</a:ObjectID> | |||
<a:Name>F_ModifyUserId</a:Name> | |||
<a:Code>F_ModifyUserId</a:Code> | |||
@@ -47568,7 +47612,7 @@ B9AF | |||
<a:DataType>nvarchar(50)</a:DataType> | |||
<a:Length>50</a:Length> | |||
</o:Column> | |||
<o:Column Id="o3163"> | |||
<o:Column Id="o3167"> | |||
<a:ObjectID>CA128145-50F6-4266-809E-34FCDE435CF0</a:ObjectID> | |||
<a:Name>F_ModifyUserName</a:Name> | |||
<a:Code>F_ModifyUserName</a:Code> | |||
@@ -47581,7 +47625,7 @@ B9AF | |||
</o:Column> | |||
</c:Columns> | |||
<c:Keys> | |||
<o:Key Id="o3164"> | |||
<o:Key Id="o3168"> | |||
<a:ObjectID>C4CDBD69-2DFE-443B-B26A-CEB7655EEDEA</a:ObjectID> | |||
<a:Name>Key_1</a:Name> | |||
<a:Code>Key_1</a:Code> | |||
@@ -47590,15 +47634,15 @@ B9AF | |||
<a:ModificationDate>1599105066</a:ModificationDate> | |||
<a:Modifier>Administrator</a:Modifier> | |||
<c:Key.Columns> | |||
<o:Column Ref="o3154"/> | |||
<o:Column Ref="o3158"/> | |||
</c:Key.Columns> | |||
</o:Key> | |||
</c:Keys> | |||
<c:PrimaryKey> | |||
<o:Key Ref="o3164"/> | |||
<o:Key Ref="o3168"/> | |||
</c:PrimaryKey> | |||
<c:ClusterObject> | |||
<o:Key Ref="o3164"/> | |||
<o:Key Ref="o3168"/> | |||
</c:ClusterObject> | |||
</o:Table> | |||
<o:Table Id="o626"> | |||
@@ -47607,12 +47651,12 @@ B9AF | |||
<a:Code>ADR_Restriction</a:Code> | |||
<a:CreationDate>1599114139</a:CreationDate> | |||
<a:Creator>edz</a:Creator> | |||
<a:ModificationDate>1599115046</a:ModificationDate> | |||
<a:Modifier>edz</a:Modifier> | |||
<a:ModificationDate>1599202395</a:ModificationDate> | |||
<a:Modifier>Administrator</a:Modifier> | |||
<a:Comment>考勤限制</a:Comment> | |||
<a:TotalSavingCurrency/> | |||
<c:Columns> | |||
<o:Column Id="o3165"> | |||
<o:Column Id="o3169"> | |||
<a:ObjectID>3BFFB929-C500-4FA2-9A09-AF9BF59854F8</a:ObjectID> | |||
<a:Name>编号</a:Name> | |||
<a:Code>ID</a:Code> | |||
@@ -47625,7 +47669,7 @@ B9AF | |||
<a:Length>50</a:Length> | |||
<a:Column.Mandatory>1</a:Column.Mandatory> | |||
</o:Column> | |||
<o:Column Id="o3166"> | |||
<o:Column Id="o3170"> | |||
<a:ObjectID>93C88E0D-2759-4697-BE6C-43E0CAB2FE07</a:ObjectID> | |||
<a:Name>上班时间</a:Name> | |||
<a:Code>WorkTime</a:Code> | |||
@@ -47637,7 +47681,7 @@ B9AF | |||
<a:DataType>nvarchar(50)</a:DataType> | |||
<a:Length>50</a:Length> | |||
</o:Column> | |||
<o:Column Id="o3167"> | |||
<o:Column Id="o3171"> | |||
<a:ObjectID>4078D2EB-E5FF-43D3-8D13-3D8587D2AC49</a:ObjectID> | |||
<a:Name>下班时间</a:Name> | |||
<a:Code>CloseTime</a:Code> | |||
@@ -47649,7 +47693,7 @@ B9AF | |||
<a:DataType>nvarchar(50)</a:DataType> | |||
<a:Length>50</a:Length> | |||
</o:Column> | |||
<o:Column Id="o3168"> | |||
<o:Column Id="o3172"> | |||
<a:ObjectID>EE9B7C66-B13F-4559-ADDD-796DEDFCBB5B</a:ObjectID> | |||
<a:Name>签到时间开始</a:Name> | |||
<a:Code>SignInStartTime</a:Code> | |||
@@ -47661,7 +47705,7 @@ B9AF | |||
<a:DataType>nvarchar(50)</a:DataType> | |||
<a:Length>50</a:Length> | |||
</o:Column> | |||
<o:Column Id="o3169"> | |||
<o:Column Id="o3173"> | |||
<a:ObjectID>737642C0-24B3-46F2-BE53-2FA629EF6A2B</a:ObjectID> | |||
<a:Name>签到时间结束</a:Name> | |||
<a:Code>SignInEndTime</a:Code> | |||
@@ -47673,7 +47717,7 @@ B9AF | |||
<a:DataType>nvarchar(50)</a:DataType> | |||
<a:Length>50</a:Length> | |||
</o:Column> | |||
<o:Column Id="o3170"> | |||
<o:Column Id="o3174"> | |||
<a:ObjectID>C42C687A-FBB6-4D67-8EB6-04E112FC44AB</a:ObjectID> | |||
<a:Name>签退时间开始</a:Name> | |||
<a:Code>SignOutStartTime</a:Code> | |||
@@ -47685,7 +47729,7 @@ B9AF | |||
<a:DataType>nvarchar(50)</a:DataType> | |||
<a:Length>50</a:Length> | |||
</o:Column> | |||
<o:Column Id="o3171"> | |||
<o:Column Id="o3175"> | |||
<a:ObjectID>370EEA06-C637-466E-880C-03AFC80DE145</a:ObjectID> | |||
<a:Name>签退时间结束</a:Name> | |||
<a:Code>SignOutEndTime</a:Code> | |||
@@ -47697,7 +47741,7 @@ B9AF | |||
<a:DataType>nvarchar(50)</a:DataType> | |||
<a:Length>50</a:Length> | |||
</o:Column> | |||
<o:Column Id="o3172"> | |||
<o:Column Id="o3176"> | |||
<a:ObjectID>FDD05771-1B66-4DAC-B2B3-4330AC4F9036</a:ObjectID> | |||
<a:Name>迟到超时</a:Name> | |||
<a:Code>LateOvertime</a:Code> | |||
@@ -47708,7 +47752,7 @@ B9AF | |||
<a:Comment>迟到超时</a:Comment> | |||
<a:DataType>int</a:DataType> | |||
</o:Column> | |||
<o:Column Id="o3173"> | |||
<o:Column Id="o3177"> | |||
<a:ObjectID>FA1B8722-054D-4003-8BBF-4140509E5C74</a:ObjectID> | |||
<a:Name>早退超时</a:Name> | |||
<a:Code>LeaveOverTime</a:Code> | |||
@@ -47719,7 +47763,7 @@ B9AF | |||
<a:Comment>早退超时</a:Comment> | |||
<a:DataType>int</a:DataType> | |||
</o:Column> | |||
<o:Column Id="o3174"> | |||
<o:Column Id="o3178"> | |||
<a:ObjectID>A80CB89E-F4C9-476F-A175-314F31A11521</a:ObjectID> | |||
<a:Name>未签到,记为</a:Name> | |||
<a:Code>NoSignIn</a:Code> | |||
@@ -47730,7 +47774,7 @@ B9AF | |||
<a:Comment>未签到,记为</a:Comment> | |||
<a:DataType>int</a:DataType> | |||
</o:Column> | |||
<o:Column Id="o3175"> | |||
<o:Column Id="o3179"> | |||
<a:ObjectID>E8CC0680-7B0A-4513-B2BC-4125BE20D4B0</a:ObjectID> | |||
<a:Name>未签退,记为</a:Name> | |||
<a:Code>NoSignOut</a:Code> | |||
@@ -47741,9 +47785,19 @@ B9AF | |||
<a:Comment>未签退,记为</a:Comment> | |||
<a:DataType>int</a:DataType> | |||
</o:Column> | |||
<o:Column Id="o3180"> | |||
<a:ObjectID>6D306382-82C1-4B11-916A-759CED546B14</a:ObjectID> | |||
<a:Name>是否启用</a:Name> | |||
<a:Code>REnable</a:Code> | |||
<a:CreationDate>1599202203</a:CreationDate> | |||
<a:Creator>Administrator</a:Creator> | |||
<a:ModificationDate>1599202395</a:ModificationDate> | |||
<a:Modifier>Administrator</a:Modifier> | |||
<a:DataType>bit</a:DataType> | |||
</o:Column> | |||
</c:Columns> | |||
<c:Keys> | |||
<o:Key Id="o3176"> | |||
<o:Key Id="o3181"> | |||
<a:ObjectID>8ADE1FCB-0EC0-4C87-833F-EF8E53656C24</a:ObjectID> | |||
<a:Name>Key_1</a:Name> | |||
<a:Code>Key_1</a:Code> | |||
@@ -47752,15 +47806,15 @@ B9AF | |||
<a:ModificationDate>1599115046</a:ModificationDate> | |||
<a:Modifier>edz</a:Modifier> | |||
<c:Key.Columns> | |||
<o:Column Ref="o3165"/> | |||
<o:Column Ref="o3169"/> | |||
</c:Key.Columns> | |||
</o:Key> | |||
</c:Keys> | |||
<c:PrimaryKey> | |||
<o:Key Ref="o3176"/> | |||
<o:Key Ref="o3181"/> | |||
</c:PrimaryKey> | |||
<c:ClusterObject> | |||
<o:Key Ref="o3176"/> | |||
<o:Key Ref="o3181"/> | |||
</c:ClusterObject> | |||
</o:Table> | |||
</c:Tables> | |||
@@ -47785,7 +47839,7 @@ B9AF | |||
<o:Key Ref="o668"/> | |||
</c:ParentKey> | |||
<c:Joins> | |||
<o:ReferenceJoin Id="o3177"> | |||
<o:ReferenceJoin Id="o3182"> | |||
<a:ObjectID>14D78C43-17A2-48F0-83B4-3DF757D5ABE8</a:ObjectID> | |||
<a:CreationDate>1552635393</a:CreationDate> | |||
<a:Creator>l</a:Creator> | |||
@@ -47820,7 +47874,7 @@ B9AF | |||
<o:Key Ref="o763"/> | |||
</c:ParentKey> | |||
<c:Joins> | |||
<o:ReferenceJoin Id="o3178"> | |||
<o:ReferenceJoin Id="o3183"> | |||
<a:ObjectID>FEAECB7B-8E2A-4492-A530-B0062E1511B8</a:ObjectID> | |||
<a:CreationDate>1552635777</a:CreationDate> | |||
<a:Creator>l</a:Creator> | |||
@@ -47855,7 +47909,7 @@ B9AF | |||
<o:Key Ref="o791"/> | |||
</c:ParentKey> | |||
<c:Joins> | |||
<o:ReferenceJoin Id="o3179"> | |||
<o:ReferenceJoin Id="o3184"> | |||
<a:ObjectID>81527A47-E565-49C2-AAA7-F0555E81CE72</a:ObjectID> | |||
<a:CreationDate>1553245426</a:CreationDate> | |||
<a:Creator>l</a:Creator> | |||
@@ -47890,7 +47944,7 @@ B9AF | |||
<o:Key Ref="o802"/> | |||
</c:ParentKey> | |||
<c:Joins> | |||
<o:ReferenceJoin Id="o3180"> | |||
<o:ReferenceJoin Id="o3185"> | |||
<a:ObjectID>A3225D9D-069C-4A67-ABF0-43DC2FA55CF0</a:ObjectID> | |||
<a:CreationDate>1553247802</a:CreationDate> | |||
<a:Creator>l</a:Creator> | |||
@@ -47924,7 +47978,7 @@ B9AF | |||
<o:Key Ref="o700"/> | |||
</c:ParentKey> | |||
<c:Joins> | |||
<o:ReferenceJoin Id="o3181"> | |||
<o:ReferenceJoin Id="o3186"> | |||
<a:ObjectID>B458081F-CEE1-4251-9E7A-5E9CC93519D5</a:ObjectID> | |||
<a:CreationDate>1553248376</a:CreationDate> | |||
<a:Creator>l</a:Creator> | |||
@@ -47959,7 +48013,7 @@ B9AF | |||
<o:Key Ref="o780"/> | |||
</c:ParentKey> | |||
<c:Joins> | |||
<o:ReferenceJoin Id="o3182"> | |||
<o:ReferenceJoin Id="o3187"> | |||
<a:ObjectID>8397C4F6-A728-4D3F-B2F8-FAC56886462B</a:ObjectID> | |||
<a:CreationDate>1553248622</a:CreationDate> | |||
<a:Creator>l</a:Creator> | |||
@@ -47993,7 +48047,7 @@ B9AF | |||
<o:Key Ref="o840"/> | |||
</c:ParentKey> | |||
<c:Joins> | |||
<o:ReferenceJoin Id="o3183"> | |||
<o:ReferenceJoin Id="o3188"> | |||
<a:ObjectID>2F8BC700-F31E-41CC-9DA8-9505EAC5DA85</a:ObjectID> | |||
<a:CreationDate>1553483161</a:CreationDate> | |||
<a:Creator>l</a:Creator> | |||
@@ -48027,7 +48081,7 @@ B9AF | |||
<o:Key Ref="o873"/> | |||
</c:ParentKey> | |||
<c:Joins> | |||
<o:ReferenceJoin Id="o3184"> | |||
<o:ReferenceJoin Id="o3189"> | |||
<a:ObjectID>0E2D2049-564F-4247-9F5B-B0AA82F9BE96</a:ObjectID> | |||
<a:CreationDate>1555404296</a:CreationDate> | |||
<a:Creator>admin</a:Creator> | |||
@@ -48044,7 +48098,7 @@ B9AF | |||
</o:Reference> | |||
</c:References> | |||
<c:DefaultGroups> | |||
<o:Group Id="o3185"> | |||
<o:Group Id="o3190"> | |||
<a:ObjectID>46EC3E2A-6CBF-421A-9DA8-6BCCEDEC7DF5</a:ObjectID> | |||
<a:Name>PUBLIC</a:Name> | |||
<a:Code>PUBLIC</a:Code> | |||
@@ -48307,7 +48361,7 @@ B9AF | |||
</o:ExtendedDependency> | |||
</c:ChildTraceabilityLinks> | |||
<c:TargetModels> | |||
<o:TargetModel Id="o3186"> | |||
<o:TargetModel Id="o3191"> | |||
<a:ObjectID>B1BAD530-6C69-4A9D-BD41-F62F564CA348</a:ObjectID> | |||
<a:Name>Microsoft SQL Server 2008</a:Name> | |||
<a:Code>MSSQLSRV2008</a:Code> | |||
@@ -119,6 +119,44 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
} | |||
} | |||
public IEnumerable<ADR_DeviceEntity> GetAllUnconnectedList(bool isshowall) | |||
{ | |||
try | |||
{ | |||
return aDR_DeviceService.GetAllUnconnectedList(isshowall); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
public ADR_DeviceEntity GetADR_DeviceEntityBylUserID(string lUserId) | |||
{ | |||
try | |||
{ | |||
return aDR_DeviceService.GetADR_DeviceEntityBylUserID(lUserId); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
} | |||
@@ -65,6 +65,11 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
[Column("DCONNECTDATE")] | |||
public DateTime? DConnectDate { get; set; } | |||
/// <summary> | |||
/// 设备lUserID | |||
/// </summary> | |||
[Column("DLUSERID")] | |||
public string DlUserID { get; set; } | |||
/// <summary> | |||
/// F_CreateDate | |||
/// </summary> | |||
[Column("F_CREATEDATE")] | |||
@@ -44,5 +44,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
void SaveEntity(string keyValue, ADR_DeviceEntity entity); | |||
#endregion | |||
IEnumerable<ADR_DeviceEntity> GetAllUnconnectedList(bool isshowall); | |||
ADR_DeviceEntity GetADR_DeviceEntityBylUserID(string lUserId); | |||
} | |||
} |
@@ -30,23 +30,13 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
try | |||
{ | |||
var strSql = new StringBuilder(); | |||
strSql.Append("SELECT "); | |||
strSql.Append(@" | |||
t.Id, | |||
t.DName, | |||
t.DCode, | |||
t.IpAddress, | |||
t.PortNumber, | |||
t.AdminAccount, | |||
t.AdminPwd, | |||
t.F_EnabledMark | |||
"); | |||
strSql.Append("SELECT * "); | |||
strSql.Append(" FROM ADR_Device t "); | |||
strSql.Append(" WHERE 1=1 "); | |||
var queryParam = queryJson.ToJObject(); | |||
// 虚拟参数 | |||
var dp = new DynamicParameters(new { }); | |||
return this.BaseRepository("CollegeMIS").FindList<ADR_DeviceEntity>(strSql.ToString(),dp, pagination); | |||
return this.BaseRepository("CollegeMIS").FindList<ADR_DeviceEntity>(strSql.ToString(), dp, pagination); | |||
} | |||
catch (Exception ex) | |||
{ | |||
@@ -97,7 +87,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
{ | |||
try | |||
{ | |||
this.BaseRepository("CollegeMIS").Delete<ADR_DeviceEntity>(t=>t.Id == keyValue); | |||
this.BaseRepository("CollegeMIS").Delete<ADR_DeviceEntity>(t => t.Id == keyValue); | |||
} | |||
catch (Exception ex) | |||
{ | |||
@@ -147,5 +137,51 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
#endregion | |||
/// <summary> | |||
/// 获取离线设备 | |||
/// </summary> | |||
/// <param name="isshowall">是否忽略离线标志</param> | |||
/// <returns></returns> | |||
public IEnumerable<ADR_DeviceEntity> GetAllUnconnectedList(bool isshowall) | |||
{ | |||
try | |||
{ | |||
if (isshowall) | |||
{ | |||
return this.BaseRepository("CollegeMIS").FindList<ADR_DeviceEntity>(m => m.F_EnabledMark == 1); | |||
} | |||
return this.BaseRepository("CollegeMIS").FindList<ADR_DeviceEntity>(m => m.F_EnabledMark == 1 && m.DOnlineStatus == false); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
public ADR_DeviceEntity GetADR_DeviceEntityBylUserID(string lUserId) | |||
{ | |||
try | |||
{ | |||
return this.BaseRepository("CollegeMIS").FindEntity<ADR_DeviceEntity>(m => m.F_EnabledMark == 1 && m.DlUserID==lUserId); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
} | |||
} |
@@ -25,7 +25,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
[Column("DEVICEID")] | |||
public string DeviceId { get; set; } | |||
/// <summary> | |||
/// LogType | |||
/// 日志类型(0正常,1警告,2错误) | |||
/// </summary> | |||
[Column("LOGTYPE")] | |||
public string LogType { get; set; } | |||
@@ -1560,10 +1560,6 @@ | |||
<Compile Include="EducationalAdministration\BC_EPI\BC_EPIService.cs" /> | |||
<Compile Include="EducationalAdministration\BC_EPI\BC_EPIBLL.cs" /> | |||
<Compile Include="EducationalAdministration\BC_EPI\BC_EPIIBLL.cs" /> | |||
<Compile Include="PersonnelManagement\ADR_Record\ADR_RecordEntity.cs" /> | |||
<Compile Include="PersonnelManagement\ADR_Record\ADR_RecordService.cs" /> | |||
<Compile Include="PersonnelManagement\ADR_Record\ADR_RecordBLL.cs" /> | |||
<Compile Include="PersonnelManagement\ADR_Record\ADR_RecordIBLL.cs" /> | |||
<Compile Include="LogisticsManagement\ADR_Record\ADR_RecordEntity.cs" /> | |||
<Compile Include="LogisticsManagement\ADR_Record\ADR_RecordService.cs" /> | |||
<Compile Include="LogisticsManagement\ADR_Record\ADR_RecordBLL.cs" /> | |||
@@ -91,6 +91,24 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
} | |||
} | |||
public IEnumerable<ADR_RecordEntity> GetADR_RecordEntityByEmpNo(string year, string month, string day, string empno) | |||
{ | |||
try | |||
{ | |||
return aDR_RecordService.GetADR_RecordEntityByEmpNo(year,month,day,empno); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
#region 提交数据 | |||
@@ -124,11 +142,11 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
/// <param name="keyValue">主键</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
public void SaveEntity(UserInfo userInfo, string keyValue, ADR_RecordEntity entity) | |||
public void SaveEntity(string keyValue, ADR_RecordEntity entity) | |||
{ | |||
try | |||
{ | |||
aDR_RecordService.SaveEntity(userInfo, keyValue, entity); | |||
aDR_RecordService.SaveEntity(keyValue, entity); | |||
} | |||
catch (Exception ex) | |||
{ | |||
@@ -35,37 +35,52 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
[Column("DEPARTMENT")] | |||
public string Department { get; set; } | |||
/// <summary> | |||
/// 考勤日期 | |||
/// 考勤类型 0-未定义,1-上班,2-下班,3-开始休息,4-结束休息,5-开始加班,6-结束加班 | |||
/// </summary> | |||
[Column("ADDATE")] | |||
public string ADDate { get; set; } | |||
[Column("ADTYPE")] | |||
public string ADType { get; set; } | |||
/// <summary> | |||
/// 考勤时间 | |||
/// 考勤时间(服务器时间) | |||
/// </summary> | |||
[Column("ADTIME")] | |||
public DateTime? ADTime { get; set; } | |||
/// <summary> | |||
/// 打卡时间 | |||
/// 打卡时间(考勤机时间) | |||
/// </summary> | |||
[Column("CLOCKTIME")] | |||
public DateTime? ClockTime { get; set; } | |||
/// <summary> | |||
/// 打卡 | |||
/// 打卡结果 1正常,2迟到,3早退,4上班补签,5下班补签 | |||
/// </summary> | |||
[Column("CLOCKSTATUS")] | |||
public string ClockStatus { get; set; } | |||
/// <summary> | |||
/// 打卡地点 | |||
/// 打卡地点 | |||
/// </summary> | |||
[Column("CLOCKPLACE")] | |||
public string ClockPlace { get; set; } | |||
/// <summary> | |||
/// 考勤年 | |||
/// </summary> | |||
[Column("ADYEAR")] | |||
public string ADYear { get; set; } | |||
/// <summary> | |||
/// 考勤月 | |||
/// </summary> | |||
[Column("ADMONTH")] | |||
public string ADMonth { get; set; } | |||
/// <summary> | |||
/// 考勤日 | |||
/// </summary> | |||
[Column("ADDAY")] | |||
public string ADDay { get; set; } | |||
#endregion | |||
#region 扩展操作 | |||
/// <summary> | |||
/// 新增调用 | |||
/// </summary> | |||
public void Create(UserInfo userInfo) | |||
public void Create() | |||
{ | |||
this.ID = Guid.NewGuid().ToString(); | |||
} | |||
@@ -73,7 +88,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
/// 编辑调用 | |||
/// </summary> | |||
/// <param name="keyValue"></param> | |||
public void Modify(string keyValue, UserInfo userInfo) | |||
public void Modify(string keyValue) | |||
{ | |||
this.ID = keyValue; | |||
} | |||
@@ -34,6 +34,8 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
/// <summary> | |||
/// <returns></returns> | |||
ADR_RecordEntity GetADR_RecordEntity(string keyValue); | |||
IEnumerable<ADR_RecordEntity> GetADR_RecordEntityByEmpNo(string year, string month, string day, string empno); | |||
#endregion | |||
#region 提交数据 | |||
@@ -49,7 +51,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
/// <param name="keyValue">主键</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
void SaveEntity(UserInfo userInfo, string keyValue, ADR_RecordEntity entity); | |||
void SaveEntity(string keyValue, ADR_RecordEntity entity); | |||
#endregion | |||
} | |||
@@ -30,17 +30,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
try | |||
{ | |||
var strSql = new StringBuilder(); | |||
strSql.Append("SELECT "); | |||
strSql.Append(@" | |||
t.ID, | |||
t.UserName, | |||
t.Department, | |||
t.ADDate, | |||
t.ADTime, | |||
t.ClockTime, | |||
t.ClockStatus, | |||
t.ClockPlace | |||
"); | |||
strSql.Append("SELECT * "); | |||
strSql.Append(" FROM ADR_Record t "); | |||
strSql.Append(" WHERE 1=1 "); | |||
var queryParam = queryJson.ToJObject(); | |||
@@ -50,7 +40,7 @@ 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.ADDate >= @startTime AND t.ADDate <= @endTime ) "); | |||
strSql.Append(" AND ( t.ADTime >= @startTime AND t.ADTime <= @endTime ) "); | |||
} | |||
if (!queryParam["UserName"].IsEmpty()) | |||
{ | |||
@@ -62,11 +52,6 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
dp.Add("Department",queryParam["Department"].ToString(), DbType.String); | |||
strSql.Append(" AND t.Department = @Department "); | |||
} | |||
if (!queryParam["ADTime"].IsEmpty()) | |||
{ | |||
dp.Add("ADTime",queryParam["ADTime"].ToString(), DbType.String); | |||
strSql.Append(" AND t.ADTime = @ADTime "); | |||
} | |||
return this.BaseRepository("CollegeMIS").FindList<ADR_RecordEntity>(strSql.ToString(),dp, pagination); | |||
} | |||
catch (Exception ex) | |||
@@ -92,17 +77,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
try | |||
{ | |||
var strSql = new StringBuilder(); | |||
strSql.Append("SELECT "); | |||
strSql.Append(@" | |||
t.ID, | |||
t.UserName, | |||
t.Department, | |||
t.ADDate, | |||
t.ADTime, | |||
t.ClockTime, | |||
t.ClockStatus, | |||
t.ClockPlace | |||
"); | |||
strSql.Append("SELECT * "); | |||
strSql.Append(" FROM ADR_Record t "); | |||
strSql.Append(" WHERE 1=1 "); | |||
var queryParam = queryJson.ToJObject(); | |||
@@ -112,7 +87,7 @@ 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.ADDate >= @startTime AND t.ADDate <= @endTime ) "); | |||
strSql.Append(" AND ( t.ADTime >= @startTime AND t.ADTime <= @endTime ) "); | |||
} | |||
if (!queryParam["UserName"].IsEmpty()) | |||
{ | |||
@@ -124,11 +99,6 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
dp.Add("Department",queryParam["Department"].ToString(), DbType.String); | |||
strSql.Append(" AND t.Department = @Department "); | |||
} | |||
if (!queryParam["ADTime"].IsEmpty()) | |||
{ | |||
dp.Add("ADTime",queryParam["ADTime"].ToString(), DbType.String); | |||
strSql.Append(" AND t.ADTime = @ADTime "); | |||
} | |||
return this.BaseRepository("CollegeMIS").FindList<ADR_RecordEntity>(strSql.ToString(),dp); | |||
} | |||
catch (Exception ex) | |||
@@ -201,18 +171,18 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
/// <param name="keyValue">主键</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
public void SaveEntity( UserInfo userInfo, string keyValue, ADR_RecordEntity entity) | |||
public void SaveEntity(string keyValue, ADR_RecordEntity entity) | |||
{ | |||
try | |||
{ | |||
if (!string.IsNullOrEmpty(keyValue)) | |||
{ | |||
entity.Modify(keyValue,userInfo); | |||
entity.Modify(keyValue); | |||
this.BaseRepository("CollegeMIS").Update(entity); | |||
} | |||
else | |||
{ | |||
entity.Create(userInfo); | |||
entity.Create(); | |||
this.BaseRepository("CollegeMIS").Insert(entity); | |||
} | |||
} | |||
@@ -229,6 +199,32 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
} | |||
} | |||
/// <summary> | |||
/// 获取当日用户考勤记录 | |||
/// </summary> | |||
/// <param name="year"></param> | |||
/// <param name="month"></param> | |||
/// <param name="day"></param> | |||
/// <param name="empno"></param> | |||
/// <returns></returns> | |||
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); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
} | |||
@@ -1,124 +0,0 @@ | |||
using Learun.Util; | |||
using System; | |||
using System.Data; | |||
using System.Collections.Generic; | |||
namespace Learun.Application.TwoDevelopment.PersonnelManagement | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园 | |||
/// Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2020-08-26 15:16 | |||
/// 描 述:考勤记录 | |||
/// </summary> | |||
public class ADR_RecordBLL : ADR_RecordIBLL | |||
{ | |||
private ADR_RecordService aDR_RecordService = new ADR_RecordService(); | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// <summary> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
public IEnumerable<ADR_RecordEntity> GetPageList(Pagination pagination, string queryJson) | |||
{ | |||
try | |||
{ | |||
return aDR_RecordService.GetPageList(pagination, queryJson); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取ADR_Record表实体数据 | |||
/// <param name="keyValue">主键</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
public ADR_RecordEntity GetADR_RecordEntity(string keyValue) | |||
{ | |||
try | |||
{ | |||
return aDR_RecordService.GetADR_RecordEntity(keyValue); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
#region 提交数据 | |||
/// <summary> | |||
/// 删除实体数据 | |||
/// <param name="keyValue">主键</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
public void DeleteEntity(string keyValue) | |||
{ | |||
try | |||
{ | |||
aDR_RecordService.DeleteEntity(keyValue); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// <param name="keyValue">主键</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
public void SaveEntity(string keyValue, ADR_RecordEntity entity) | |||
{ | |||
try | |||
{ | |||
aDR_RecordService.SaveEntity(keyValue, entity); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
} | |||
} |
@@ -1,85 +0,0 @@ | |||
using Learun.Util; | |||
using System; | |||
using System.ComponentModel.DataAnnotations.Schema; | |||
namespace Learun.Application.TwoDevelopment.PersonnelManagement | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园 | |||
/// Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2020-08-26 15:16 | |||
/// 描 述:考勤记录 | |||
/// </summary> | |||
public class ADR_RecordEntity | |||
{ | |||
#region 实体成员 | |||
/// <summary> | |||
/// 编号 | |||
/// </summary> | |||
[Column("ID")] | |||
public string ID { get; set; } | |||
/// <summary> | |||
/// 员工名字 | |||
/// </summary> | |||
[Column("USERNAME")] | |||
public string UserName { get; set; } | |||
/// <summary> | |||
/// 员工编号 | |||
/// </summary> | |||
[Column("USERNO")] | |||
public string UserNo { get; set; } | |||
/// <summary> | |||
/// 部门 | |||
/// </summary> | |||
[Column("DEPARTMENT")] | |||
public string Department { get; set; } | |||
/// <summary> | |||
/// 考勤日期 | |||
/// </summary> | |||
[Column("ADDATE")] | |||
public string ADDate { get; set; } | |||
/// <summary> | |||
/// 考勤时间 | |||
/// </summary> | |||
[Column("ADTIME")] | |||
public DateTime? ADTime { get; set; } | |||
/// <summary> | |||
/// 打卡时间 | |||
/// </summary> | |||
[Column("CLOCKTIME")] | |||
public DateTime? ClockTime { get; set; } | |||
/// <summary> | |||
/// 打卡 | |||
/// </summary> | |||
[Column("CLOCKSTATUS")] | |||
public string ClockStatus { get; set; } | |||
/// <summary> | |||
/// 打卡地点 | |||
/// </summary> | |||
[Column("CLOCKPLACE")] | |||
public string ClockPlace { get; set; } | |||
#endregion | |||
#region 扩展操作 | |||
/// <summary> | |||
/// 新增调用 | |||
/// </summary> | |||
public void Create() | |||
{ | |||
this.ID = Guid.NewGuid().ToString(); | |||
} | |||
/// <summary> | |||
/// 编辑调用 | |||
/// </summary> | |||
/// <param name="keyValue"></param> | |||
public void Modify(string keyValue) | |||
{ | |||
this.ID = keyValue; | |||
} | |||
#endregion | |||
#region 扩展字段 | |||
#endregion | |||
} | |||
} | |||
@@ -1,49 +0,0 @@ | |||
using Learun.Util; | |||
using System.Data; | |||
using System.Collections.Generic; | |||
namespace Learun.Application.TwoDevelopment.PersonnelManagement | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园 | |||
/// Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2020-08-26 15:16 | |||
/// 描 述:考勤记录 | |||
/// </summary> | |||
public interface ADR_RecordIBLL | |||
{ | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// <summary> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
IEnumerable<ADR_RecordEntity> GetPageList(Pagination pagination, string queryJson); | |||
/// <summary> | |||
/// 获取ADR_Record表实体数据 | |||
/// <param name="keyValue">主键</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
ADR_RecordEntity GetADR_RecordEntity(string keyValue); | |||
#endregion | |||
#region 提交数据 | |||
/// <summary> | |||
/// 删除实体数据 | |||
/// <param name="keyValue">主键</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
void DeleteEntity(string keyValue); | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// <param name="keyValue">主键</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
void SaveEntity(string keyValue, ADR_RecordEntity entity); | |||
#endregion | |||
} | |||
} |
@@ -1,163 +0,0 @@ | |||
using Dapper; | |||
using Learun.DataBase.Repository; | |||
using Learun.Util; | |||
using System; | |||
using System.Collections.Generic; | |||
using System.Data; | |||
using System.Text; | |||
namespace Learun.Application.TwoDevelopment.PersonnelManagement | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园 | |||
/// Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2020-08-26 15:16 | |||
/// 描 述:考勤记录 | |||
/// </summary> | |||
public class ADR_RecordService : RepositoryFactory | |||
{ | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// <summary> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
public IEnumerable<ADR_RecordEntity> GetPageList(Pagination pagination, string queryJson) | |||
{ | |||
try | |||
{ | |||
var strSql = new StringBuilder(); | |||
strSql.Append("SELECT "); | |||
strSql.Append(@" | |||
t.ID, | |||
t.UserName, | |||
t.UserNo, | |||
t.Department, | |||
t.ADDate, | |||
t.ADTime, | |||
t.ClockTime, | |||
t.ClockStatus, | |||
t.ClockPlace | |||
"); | |||
strSql.Append(" FROM ADR_Record t "); | |||
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.ADDate >= @startTime AND t.ADDate <= @endTime ) "); | |||
} | |||
if (!queryParam["UserNo"].IsEmpty()) | |||
{ | |||
dp.Add("UserNo",queryParam["UserNo"].ToString(), DbType.String); | |||
strSql.Append(" AND t.UserNo = @UserNo "); | |||
} | |||
return this.BaseRepository("CollegeMIS").FindList<ADR_RecordEntity>(strSql.ToString(),dp, pagination); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取ADR_Record表实体数据 | |||
/// <param name="keyValue">主键</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
public ADR_RecordEntity GetADR_RecordEntity(string keyValue) | |||
{ | |||
try | |||
{ | |||
return this.BaseRepository("CollegeMIS").FindEntity<ADR_RecordEntity>(keyValue); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
#region 提交数据 | |||
/// <summary> | |||
/// 删除实体数据 | |||
/// <param name="keyValue">主键</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
public void DeleteEntity(string keyValue) | |||
{ | |||
try | |||
{ | |||
this.BaseRepository("CollegeMIS").Delete<ADR_RecordEntity>(t=>t.ID == keyValue); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// <param name="keyValue">主键</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
public void SaveEntity(string keyValue, ADR_RecordEntity entity) | |||
{ | |||
try | |||
{ | |||
if (!string.IsNullOrEmpty(keyValue)) | |||
{ | |||
entity.Modify(keyValue); | |||
this.BaseRepository("CollegeMIS").Update(entity); | |||
} | |||
else | |||
{ | |||
entity.Create(); | |||
this.BaseRepository("CollegeMIS").Insert(entity); | |||
} | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
} | |||
} |
@@ -119,6 +119,25 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement | |||
} | |||
} | |||
public ADR_RestrictionEntity GetADR_RestrictionEntityEnabled() | |||
{ | |||
try | |||
{ | |||
return aDR_RestrictionService.GetADR_RestrictionEntityEnabled(); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
} | |||
@@ -69,6 +69,11 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement | |||
/// </summary> | |||
[Column("NOSIGNOUT")] | |||
public int? NoSignOut { get; set; } | |||
/// <summary> | |||
/// 是否启用 | |||
/// </summary> | |||
[Column("RENABLE")] | |||
public bool? REnable { get; set; } | |||
#endregion | |||
#region 扩展操作 | |||
@@ -44,5 +44,6 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement | |||
void SaveEntity(string keyValue, ADR_RestrictionEntity entity); | |||
#endregion | |||
ADR_RestrictionEntity GetADR_RestrictionEntityEnabled(); | |||
} | |||
} |
@@ -150,5 +150,23 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement | |||
#endregion | |||
public ADR_RestrictionEntity GetADR_RestrictionEntityEnabled() | |||
{ | |||
try | |||
{ | |||
return this.BaseRepository("CollegeMIS").FindEntity<ADR_RestrictionEntity>(m=>m.REnable==true); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
} | |||
} |
@@ -1,53 +1,54 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<configuration> | |||
<configSections> | |||
<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection,Microsoft.Practices.Unity.Configuration" /> | |||
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> | |||
<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection,Microsoft.Practices.Unity.Configuration"/> | |||
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/> | |||
</configSections> | |||
<connectionStrings> | |||
<add name="ConnectionPfcMisDBString" connectionString="server=192.168.100.225;database=CollegeMIS;Max Pool Size=1000;Min Pool Size=5;UID=sa;Pwd=Jykj@2019;" providerName="System.Data.SqlClient" /> | |||
<add name="ConnectionPfcMisDBString2" connectionString="server=192.168.100.225;database=CollegeMIS_金隅;Max Pool Size=1000;Min Pool Size=5;UID=sa;Pwd=Jykj@2019;" providerName="System.Data.SqlClient" /> | |||
<add name="CoreDBString" connectionString="server=192.168.100.225;database=adms7ultimate2;Max Pool Size=1000;Min Pool Size=5;UID=sa;Pwd=Jykj@2019;" providerName="System.Data.SqlClient" /> | |||
<add name="CoreDBString2" connectionString="server=192.168.100.225;database=adms7ultimate2_金隅;Max Pool Size=1000;Min Pool Size=5;UID=sa;Pwd=Jykj@2019;" providerName="System.Data.SqlClient" /> | |||
<add name="HangfireConnString" connectionString="Server=192.168.100.225;Initial Catalog=Hangfire;User ID=sa;Password=Jykj@2019" providerName="System.Data.SqlClient" /> | |||
<add name="YKTDBString" connectionString="Data Source=xcykt;Persist Security Info=True;User ID=xcysdata;Password=xcysdata2019;Unicode=True" providerName="System.Data.OracleClient" /> | |||
<add name="mjDBString" connectionString="Server=112.45.152.8,17049;Initial Catalog=mjxtjh;User ID=mjxtjh;Password=s1RKFzJvIG7KfcNRtntZ" providerName="System.Data.SqlClient" /> | |||
<add name="tsDBString" connectionString="Server=112.45.152.8,17049;Initial Catalog=tsgxtjh;User ID=tsgxtjh;Password=Qs6cYOzFoQupbr12MFZm" providerName="System.Data.SqlClient" /> | |||
<add name="ConnectionPfcMisDBString" connectionString="server=192.168.100.225;database=CollegeMIS;Max Pool Size=1000;Min Pool Size=5;UID=sa;Pwd=Jykj@2019;" providerName="System.Data.SqlClient"/> | |||
<add name="ConnectionPfcMisDBString2" connectionString="server=192.168.100.225;database=CollegeMIS_金隅;Max Pool Size=1000;Min Pool Size=5;UID=sa;Pwd=Jykj@2019;" providerName="System.Data.SqlClient"/> | |||
<add name="CoreDBString" connectionString="server=192.168.100.225;database=adms7ultimate2;Max Pool Size=1000;Min Pool Size=5;UID=sa;Pwd=Jykj@2019;" providerName="System.Data.SqlClient"/> | |||
<add name="CoreDBString2" connectionString="server=192.168.100.225;database=adms7ultimate2_金隅;Max Pool Size=1000;Min Pool Size=5;UID=sa;Pwd=Jykj@2019;" providerName="System.Data.SqlClient"/> | |||
<add name="HangfireConnString" connectionString="Server=192.168.100.225;Initial Catalog=Hangfire;User ID=sa;Password=Jykj@2019" providerName="System.Data.SqlClient"/> | |||
<add name="YKTDBString" connectionString="Data Source=xcykt;Persist Security Info=True;User ID=xcysdata;Password=xcysdata2019;Unicode=True" providerName="System.Data.OracleClient"/> | |||
<add name="mjDBString" connectionString="Server=112.45.152.8,17049;Initial Catalog=mjxtjh;User ID=mjxtjh;Password=s1RKFzJvIG7KfcNRtntZ" providerName="System.Data.SqlClient"/> | |||
<add name="tsDBString" connectionString="Server=112.45.152.8,17049;Initial Catalog=tsgxtjh;User ID=tsgxtjh;Password=Qs6cYOzFoQupbr12MFZm" providerName="System.Data.SqlClient"/> | |||
</connectionStrings> | |||
<startup> | |||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /> | |||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/> | |||
</startup> | |||
<appSettings> | |||
<add key="dbbackuppath" value="D:\数字化校园\lr7test\Publish\Resource\DataBaseBackup" /> | |||
<add key="dbbackuppath" value="D:\数字化校园\lr7test\Publish\Resource\DataBaseBackup"/> | |||
<add key="AttendancePhotoPath" value="D:\数字化校园\lr7test\Publish\Resource\AttendancePhoto"/> | |||
</appSettings> | |||
<runtime> | |||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> | |||
<dependentAssembly> | |||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> | |||
<bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0" /> | |||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/> | |||
<bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0"/> | |||
</dependentAssembly> | |||
<dependentAssembly> | |||
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" /> | |||
<bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0" /> | |||
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral"/> | |||
<bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0"/> | |||
</dependentAssembly> | |||
<dependentAssembly> | |||
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> | |||
<bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" /> | |||
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/> | |||
<bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1"/> | |||
</dependentAssembly> | |||
<dependentAssembly> | |||
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> | |||
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" /> | |||
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/> | |||
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0"/> | |||
</dependentAssembly> | |||
<dependentAssembly> | |||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> | |||
<bindingRedirect oldVersion="0.0.0.0-4.0.6.0" newVersion="4.0.6.0" /> | |||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/> | |||
<bindingRedirect oldVersion="0.0.0.0-4.0.6.0" newVersion="4.0.6.0"/> | |||
</dependentAssembly> | |||
</assemblyBinding> | |||
</runtime> | |||
<unity> | |||
<typeAliases> | |||
<typeAlias alias="IDatabase" type="Learun.DataBase.IDatabase,Learun.DataBase" /> | |||
<typeAlias alias="SqlServer" type="Learun.DataBase.SqlServer.Database,Learun.DataBase.SqlServer" /> | |||
<typeAlias alias="IDatabase" type="Learun.DataBase.IDatabase,Learun.DataBase"/> | |||
<typeAlias alias="SqlServer" type="Learun.DataBase.SqlServer.Database,Learun.DataBase.SqlServer"/> | |||
</typeAliases> | |||
<containers> | |||
<container name="IOCcontainer"> | |||
@@ -58,21 +59,21 @@ | |||
<entityFramework> | |||
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> | |||
<parameters> | |||
<parameter value="v13.0" /> | |||
<parameter value="v13.0"/> | |||
</parameters> | |||
</defaultConnectionFactory> | |||
<providers> | |||
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> | |||
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/> | |||
</providers> | |||
</entityFramework> | |||
<system.serviceModel> | |||
<bindings> | |||
<basicHttpBinding> | |||
<binding name="SynServiceSoap" /> | |||
<binding name="SynServiceSoap"/> | |||
</basicHttpBinding> | |||
</bindings> | |||
<client> | |||
<endpoint address="http://192.168.100.27:801/SynService.asmx" binding="basicHttpBinding" bindingConfiguration="SynServiceSoap" contract="SynServiceReference.SynServiceSoap" name="SynServiceSoap" /> | |||
<endpoint address="http://192.168.100.27:801/SynService.asmx" binding="basicHttpBinding" bindingConfiguration="SynServiceSoap" contract="SynServiceReference.SynServiceSoap" name="SynServiceSoap"/> | |||
</client> | |||
</system.serviceModel> | |||
</configuration> |
@@ -8,7 +8,7 @@ | |||
<OutputType>WinExe</OutputType> | |||
<RootNamespace>Quanjiang.DigitalScholl.JobService</RootNamespace> | |||
<AssemblyName>Quanjiang.DigitalScholl.JobService</AssemblyName> | |||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> | |||
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion> | |||
<FileAlignment>512</FileAlignment> | |||
<Deterministic>true</Deterministic> | |||
<SccProjectName> | |||
@@ -75,6 +75,7 @@ | |||
<HintPath>..\packages\Owin.1.0\lib\net40\Owin.dll</HintPath> | |||
</Reference> | |||
<Reference Include="System" /> | |||
<Reference Include="System.Configuration" /> | |||
<Reference Include="System.Configuration.Install" /> | |||
<Reference Include="System.Core" /> | |||
<Reference Include="System.Data.OracleClient" /> | |||
@@ -104,12 +105,17 @@ | |||
</Compile> | |||
<Compile Include="Program.cs" /> | |||
<Compile Include="Properties\AssemblyInfo.cs" /> | |||
<Compile Include="海康考勤机必须文件\CHCNetSDK.cs" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<None Include="App.config"> | |||
<SubType>Designer</SubType> | |||
</None> | |||
<None Include="packages.config" /> | |||
<None Include="海康考勤机必须文件\HCNetSDKCom\HCAlarm.lib" /> | |||
<None Include="海康考勤机必须文件\HCNetSDKCom\HCGeneralCfgMgr.lib" /> | |||
<None Include="海康考勤机必须文件\HCNetSDKCom\HCPreview.lib" /> | |||
<None Include="海康考勤机必须文件\log4cxx.properties" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<EmbeddedResource Include="ProjectInstaller.resx"> | |||
@@ -121,6 +127,30 @@ | |||
</ItemGroup> | |||
<ItemGroup> | |||
<Content Include="installanduninstall.txt" /> | |||
<Content Include="海康考勤机必须文件\HCCore.dll" /> | |||
<Content Include="海康考勤机必须文件\HCNetSDK.dll" /> | |||
<Content Include="海康考勤机必须文件\HCNetSDKCom\AnalyzeData.dll" /> | |||
<Content Include="海康考勤机必须文件\HCNetSDKCom\AudioIntercom.dll" /> | |||
<Content Include="海康考勤机必须文件\HCNetSDKCom\HCAlarm.dll" /> | |||
<Content Include="海康考勤机必须文件\HCNetSDKCom\HCCoreDevCfg.dll" /> | |||
<Content Include="海康考勤机必须文件\HCNetSDKCom\HCDisplay.dll" /> | |||
<Content Include="海康考勤机必须文件\HCNetSDKCom\HCGeneralCfgMgr.dll" /> | |||
<Content Include="海康考勤机必须文件\HCNetSDKCom\HCIndustry.dll" /> | |||
<Content Include="海康考勤机必须文件\HCNetSDKCom\HCPlayBack.dll" /> | |||
<Content Include="海康考勤机必须文件\HCNetSDKCom\HCPreview.dll" /> | |||
<Content Include="海康考勤机必须文件\HCNetSDKCom\HCVoiceTalk.dll" /> | |||
<Content Include="海康考勤机必须文件\HCNetSDKCom\libiconv2.dll" /> | |||
<Content Include="海康考勤机必须文件\HCNetSDKCom\OpenAL32.dll" /> | |||
<Content Include="海康考勤机必须文件\HCNetSDKCom\StreamTransClient.dll" /> | |||
<Content Include="海康考勤机必须文件\HCNetSDKCom\SystemTransform.dll" /> | |||
<Content Include="海康考勤机必须文件\hlog.dll" /> | |||
<Content Include="海康考勤机必须文件\hpr.dll" /> | |||
<Content Include="海康考勤机必须文件\libeay32.dll" /> | |||
<Content Include="海康考勤机必须文件\Newtonsoft.Json.dll" /> | |||
<Content Include="海康考勤机必须文件\Newtonsoft.Json.xml" /> | |||
<Content Include="海康考勤机必须文件\ssleay32.dll" /> | |||
<Content Include="海康考勤机必须文件\zlib1.dll" /> | |||
<Content Include="海康考勤机必须文件\文件部署说明.txt" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ProjectReference Include="..\Learun.Framework.Module\Learun.Application.Module\Learun.Application.AppMagager\Learun.Application.AppMagager.csproj"> | |||
@@ -1,19 +1,37 @@ | |||
using System; | |||
using System.Collections.Generic; | |||
using System.ComponentModel; | |||
using System.Configuration; | |||
using System.Data; | |||
using System.Diagnostics; | |||
using System.IO; | |||
using System.Linq; | |||
using System.Runtime.InteropServices; | |||
using System.ServiceProcess; | |||
using System.Text; | |||
using System.Threading.Tasks; | |||
using AlarmCSharpDemo; | |||
using Hangfire; | |||
using Learun.Application.Base.SystemModule; | |||
using Learun.Application.TwoDevelopment.EducationalAdministration; | |||
using Learun.Application.TwoDevelopment.LogisticsManagement; | |||
using Learun.Application.TwoDevelopment.PersonnelManagement; | |||
namespace Quanjiang.DigitalScholl.JobService | |||
{ | |||
public partial class QuanjiangDigitalSchollJobService : ServiceBase | |||
{ | |||
private BackgroundJobServer _server; | |||
private ADR_DeviceIBLL adrDeviceIbll = new ADR_DeviceBLL(); | |||
private ADR_DeviceLogIBLL adrDeviceLogIbll = new ADR_DeviceLogBLL(); | |||
private ADR_RestrictionIBLL adrRestrictionIbll = new ADR_RestrictionBLL(); | |||
private ADR_RecordIBLL adrRecordIbll = new ADR_RecordBLL(); | |||
//海康考勤机回调 | |||
public CHCNetSDK.LOGINRESULTCALLBACK LoginCallBack = null; | |||
private CHCNetSDK.EXCEPYIONCALLBACK m_fExceptionCB = null; | |||
private CHCNetSDK.MSGCallBack_V31 m_falarmData_V31 = null; | |||
public QuanjiangDigitalSchollJobService() | |||
{ | |||
InitializeComponent(); | |||
@@ -27,6 +45,469 @@ namespace Quanjiang.DigitalScholl.JobService | |||
ServerName = "QuanjiangDigitalSchollJobService" | |||
}; | |||
_server = new BackgroundJobServer(options); | |||
//海康考勤机对接 | |||
#region 海康考勤机对接 | |||
//初始化SDK | |||
bool m_bInitSDK = CHCNetSDK.NET_DVR_Init(); | |||
if (m_bInitSDK) | |||
{ | |||
//保存SDK日志 To save the SDK log | |||
CHCNetSDK.NET_DVR_SetLogToFile(3, "C:\\HKSdkLog\\", true); | |||
//设置透传报警信息类型 | |||
CHCNetSDK.NET_DVR_LOCAL_GENERAL_CFG struLocalCfg = new CHCNetSDK.NET_DVR_LOCAL_GENERAL_CFG(); | |||
struLocalCfg.byAlarmJsonPictureSeparate = 1;//控制JSON透传报警数据和图片是否分离,0-不分离(COMM_VCA_ALARM返回),1-分离(分离后走COMM_ISAPI_ALARM回调返回) | |||
Int32 nSize = Marshal.SizeOf(struLocalCfg); | |||
IntPtr ptrLocalCfg = Marshal.AllocHGlobal(nSize); | |||
Marshal.StructureToPtr(struLocalCfg, ptrLocalCfg, false); | |||
if (!CHCNetSDK.NET_DVR_SetSDKLocalCfg(17, ptrLocalCfg)) //NET_DVR_LOCAL_CFG_TYPE_GENERAL | |||
{ | |||
string strErr = "海康NET_DVR_SetSDKLocalCfg 失败, error code= " + CHCNetSDK.NET_DVR_GetLastError(); | |||
ADR_DeviceLogEntity adrDeviceLogEntity = new ADR_DeviceLogEntity(); | |||
adrDeviceLogEntity.Create(); | |||
adrDeviceLogEntity.LogData = strErr; | |||
adrDeviceLogEntity.LogType = "2"; | |||
adrDeviceLogIbll.SaveEntity(null, adrDeviceLogEntity); | |||
} | |||
Marshal.FreeHGlobal(ptrLocalCfg); | |||
//设置异常消息回调函数 | |||
if (m_fExceptionCB == null) | |||
{ | |||
m_fExceptionCB = new CHCNetSDK.EXCEPYIONCALLBACK(cbExceptionCB); | |||
} | |||
CHCNetSDK.NET_DVR_SetExceptionCallBack_V30(0, IntPtr.Zero, m_fExceptionCB, IntPtr.Zero); | |||
//设置报警回调函数 | |||
if (m_falarmData_V31 == null) | |||
{ | |||
m_falarmData_V31 = new CHCNetSDK.MSGCallBack_V31(MsgCallback_V31); | |||
} | |||
CHCNetSDK.NET_DVR_SetDVRMessageCallBack_V31(m_falarmData_V31, IntPtr.Zero); | |||
//获取设备 | |||
var devicelist = adrDeviceIbll.GetAllUnconnectedList(true); | |||
//登录设备 | |||
foreach (var deviceEntity in devicelist) | |||
{ | |||
CHCNetSDK.NET_DVR_USER_LOGIN_INFO struLogInfo = new CHCNetSDK.NET_DVR_USER_LOGIN_INFO(); | |||
//设备IP地址或者域名 | |||
byte[] byIP = System.Text.Encoding.Default.GetBytes(deviceEntity.IpAddress); | |||
struLogInfo.sDeviceAddress = new byte[129]; | |||
byIP.CopyTo(struLogInfo.sDeviceAddress, 0); | |||
//设备用户名 | |||
byte[] byUserName = System.Text.Encoding.Default.GetBytes(deviceEntity.AdminAccount); | |||
struLogInfo.sUserName = new byte[64]; | |||
byUserName.CopyTo(struLogInfo.sUserName, 0); | |||
//设备密码 | |||
byte[] byPassword = System.Text.Encoding.Default.GetBytes(deviceEntity.AdminPwd); | |||
struLogInfo.sPassword = new byte[64]; | |||
byPassword.CopyTo(struLogInfo.sPassword, 0); | |||
struLogInfo.wPort = ushort.Parse(deviceEntity.PortNumber.ToString());//设备服务端口号 | |||
struLogInfo.cbLoginResult = LoginCallBack; | |||
struLogInfo.bUseAsynLogin = true; //是否异步登录:0- 否,1- 是 | |||
//用户数据,回调时可用 | |||
//获取大小 | |||
uint dwSize = (uint)Marshal.SizeOf(deviceEntity); | |||
//分配内存 | |||
IntPtr ptrCond = Marshal.AllocHGlobal((int)dwSize); | |||
//写入内存 | |||
Marshal.StructureToPtr(deviceEntity, ptrCond, false); | |||
//用户数据,回调时可用 | |||
struLogInfo.pUser = ptrCond; | |||
if ((struLogInfo.bUseAsynLogin == true) && (LoginCallBack == null)) | |||
{ | |||
LoginCallBack = new CHCNetSDK.LOGINRESULTCALLBACK(cbLoginCallBack);//注册回调函数 | |||
} | |||
struLogInfo.byLoginMode = 0; //0-Private, 1-ISAPI, 2-自适应 | |||
struLogInfo.byHttps = 0; //0-不适用tls,1-使用tls 2-自适应 | |||
CHCNetSDK.NET_DVR_DEVICEINFO_V40 DeviceInfo = new CHCNetSDK.NET_DVR_DEVICEINFO_V40(); | |||
//登录设备 Login the device | |||
CHCNetSDK.NET_DVR_Login_V40(ref struLogInfo, ref DeviceInfo); | |||
//释放内存 | |||
Marshal.FreeHGlobal(ptrCond); | |||
//同步登录方法 | |||
//if (m_lUserID < 0) | |||
//{ | |||
// iLastErr = CHCNetSDK.NET_DVR_GetLastError(); | |||
// strErr = "NET_DVR_Login_V30 failed, error code= " + iLastErr; //登录失败,输出错误号 Failed to login and output the error code | |||
// MessageBox.Show(strErr); | |||
//} | |||
//else | |||
//{ | |||
// //登录成功 | |||
// iDeviceNumber++; | |||
// string str1 = "" + m_lUserID; | |||
// listViewDevice.Items.Add(new ListViewItem(new string[] { str1, textBoxIP.Text, "未布防" }));//将已注册设备添加进列表 | |||
//} | |||
} | |||
} | |||
else//初始化失败 | |||
{ | |||
ADR_DeviceLogEntity adrDeviceLogEntity = new ADR_DeviceLogEntity(); | |||
adrDeviceLogEntity.Create(); | |||
adrDeviceLogEntity.LogData = "海康SDK初始化失败"; | |||
adrDeviceLogEntity.LogType = "2"; | |||
adrDeviceLogIbll.SaveEntity(null, adrDeviceLogEntity); | |||
} | |||
#endregion | |||
} | |||
/// <summary> | |||
/// 海康登录回调 | |||
/// </summary> | |||
/// <param name="lUserID"></param> | |||
/// <param name="dwResult"></param> | |||
/// <param name="lpDeviceInfo"></param> | |||
/// <param name="pUser"></param> | |||
public void cbLoginCallBack(int lUserID, int dwResult, IntPtr lpDeviceInfo, IntPtr pUser) | |||
{ | |||
try | |||
{ | |||
ADR_DeviceEntity deviceEntity = new ADR_DeviceEntity(); | |||
deviceEntity = (ADR_DeviceEntity)Marshal.PtrToStructure(pUser, typeof(ADR_DeviceEntity)); | |||
string strLoginCallBack = ""; | |||
//登录失败 | |||
if (dwResult == 0) | |||
{ | |||
uint iErrCode = CHCNetSDK.NET_DVR_GetLastError(); | |||
strLoginCallBack = "登录设备失败,lUserID:" + lUserID + ",错误号:" + iErrCode; | |||
ADR_DeviceLogEntity adrDeviceLogEntity = new ADR_DeviceLogEntity(); | |||
adrDeviceLogEntity.Create(); | |||
if (deviceEntity != null && !string.IsNullOrEmpty(deviceEntity.Id)) | |||
{ | |||
adrDeviceLogEntity.DeviceId = deviceEntity.Id; | |||
strLoginCallBack += ",设备IP:" + deviceEntity.IpAddress; | |||
} | |||
adrDeviceLogEntity.LogData = strLoginCallBack; | |||
adrDeviceLogEntity.LogType = "2"; | |||
adrDeviceLogIbll.SaveEntity(null, adrDeviceLogEntity); | |||
} | |||
else//登录成功 | |||
{ | |||
strLoginCallBack = "登录设备成功,lUserID:" + lUserID; | |||
ADR_DeviceLogEntity adrDeviceLogEntity = new ADR_DeviceLogEntity(); | |||
adrDeviceLogEntity.Create(); | |||
if (deviceEntity != null && !string.IsNullOrEmpty(deviceEntity.Id)) | |||
{ | |||
adrDeviceLogEntity.DeviceId = deviceEntity.Id; | |||
strLoginCallBack += ",设备IP:" + deviceEntity.IpAddress; | |||
} | |||
adrDeviceLogEntity.LogData = strLoginCallBack; | |||
adrDeviceLogEntity.LogType = "0"; | |||
adrDeviceLogIbll.SaveEntity(null, adrDeviceLogEntity); | |||
//设备布防 | |||
CHCNetSDK.NET_DVR_SETUPALARM_PARAM struAlarmParam = new CHCNetSDK.NET_DVR_SETUPALARM_PARAM(); | |||
struAlarmParam.dwSize = (uint)Marshal.SizeOf(struAlarmParam); | |||
struAlarmParam.byLevel = 1; //0- 一级布防,1- 二级布防 | |||
struAlarmParam.byAlarmInfoType = 1;//智能交通设备有效,新报警信息类型 | |||
struAlarmParam.byDeployType = 0; | |||
struAlarmParam.byFaceAlarmDetection = 1;//1-人脸侦测 | |||
var m_lUserID = CHCNetSDK.NET_DVR_SetupAlarmChan_V41(lUserID, ref struAlarmParam); | |||
if (m_lUserID < 0) | |||
{ | |||
string strErr = "布防失败,错误号:" + CHCNetSDK.NET_DVR_GetLastError(); //布防失败,输出错误号 | |||
adrDeviceLogEntity = new ADR_DeviceLogEntity(); | |||
adrDeviceLogEntity.Create(); | |||
if (deviceEntity != null && !string.IsNullOrEmpty(deviceEntity.Id)) | |||
{ | |||
adrDeviceLogEntity.DeviceId = deviceEntity.Id; | |||
strErr += ",设备IP:" + deviceEntity.IpAddress; | |||
} | |||
adrDeviceLogEntity.LogData = strErr; | |||
adrDeviceLogEntity.LogType = "2"; | |||
adrDeviceLogIbll.SaveEntity(null, adrDeviceLogEntity); | |||
} | |||
else | |||
{ | |||
adrDeviceLogEntity = new ADR_DeviceLogEntity(); | |||
adrDeviceLogEntity.Create(); | |||
string strNotice = "布防成功"; | |||
if (deviceEntity != null && !string.IsNullOrEmpty(deviceEntity.Id)) | |||
{ | |||
adrDeviceLogEntity.DeviceId = deviceEntity.Id; | |||
strNotice += ",设备IP:" + deviceEntity.IpAddress; | |||
} | |||
adrDeviceLogEntity.LogData = strNotice; | |||
adrDeviceLogEntity.LogType = "0"; | |||
adrDeviceLogIbll.SaveEntity(null, adrDeviceLogEntity); | |||
} | |||
} | |||
} | |||
catch (Exception e) | |||
{ | |||
LogEntity lrBaseLogoEntity = new LogEntity(); | |||
lrBaseLogoEntity.F_LogId = Guid.NewGuid().ToString(); | |||
lrBaseLogoEntity.F_CategoryId = 4; | |||
lrBaseLogoEntity.F_Module = "海康考勤机"; | |||
lrBaseLogoEntity.F_ExecuteResultJson = "操作海康考勤机异常" + e.Message + ",详细" + e.StackTrace; | |||
lrBaseLogoEntity.WriteLog(); | |||
} | |||
} | |||
/// <summary> | |||
/// 海康异常回调 | |||
/// </summary> | |||
/// <param name="dwType"></param> | |||
/// <param name="lUserID"></param> | |||
/// <param name="lHandle"></param> | |||
/// <param name="pUser"></param> | |||
public void cbExceptionCB(uint dwType, int lUserID, int lHandle, IntPtr pUser) | |||
{ | |||
//异常消息信息类型 | |||
string stringAlarm = "海康异常消息回调,信息类型:0x" + Convert.ToString(dwType, 16) + ", lUserID:" + lUserID + ", lHandle:" + lHandle; | |||
var deviceEntity = adrDeviceIbll.GetADR_DeviceEntityBylUserID(lUserID.ToString()); | |||
ADR_DeviceLogEntity adrDeviceLogEntity = new ADR_DeviceLogEntity(); | |||
adrDeviceLogEntity.Create(); | |||
if (deviceEntity != null && !string.IsNullOrEmpty(deviceEntity.Id)) | |||
{ | |||
adrDeviceLogEntity.DeviceId = deviceEntity.Id; | |||
stringAlarm += ",设备IP:" + deviceEntity.IpAddress; | |||
} | |||
adrDeviceLogEntity.LogData = stringAlarm; | |||
adrDeviceLogEntity.LogType = "2"; | |||
adrDeviceLogIbll.SaveEntity(null, adrDeviceLogEntity); | |||
} | |||
/// <summary> | |||
/// 海康报警事件回调 | |||
/// </summary> | |||
/// <param name="lCommand"></param> | |||
/// <param name="pAlarmer"></param> | |||
/// <param name="pAlarmInfo"></param> | |||
/// <param name="dwBufLen"></param> | |||
/// <param name="pUser"></param> | |||
/// <returns></returns> | |||
public bool MsgCallback_V31(int lCommand, ref CHCNetSDK.NET_DVR_ALARMER pAlarmer, IntPtr pAlarmInfo, uint dwBufLen, IntPtr pUser) | |||
{ | |||
try | |||
{ | |||
if (lCommand == 0x5002) //门禁主机报警上传 | |||
{ | |||
//通过lCommand来判断接收到的报警信息类型,不同的lCommand对应不同的pAlarmInfo内容 | |||
CHCNetSDK.NET_DVR_ACS_ALARM_INFO struAcsAlarm = new CHCNetSDK.NET_DVR_ACS_ALARM_INFO(); | |||
uint dwSize = (uint)Marshal.SizeOf(struAcsAlarm); | |||
struAcsAlarm = | |||
(CHCNetSDK.NET_DVR_ACS_ALARM_INFO)Marshal.PtrToStructure(pAlarmInfo, | |||
typeof(CHCNetSDK.NET_DVR_ACS_ALARM_INFO)); | |||
//这里判断是为了只获取刷脸的信息 | |||
if (struAcsAlarm.dwMajor == 0x5 && struAcsAlarm.dwMinor == 0x4b)//主事件0x5 代表EVENT,次事件0x4b 代表MINOR_FACE_VERIFY_PASS人脸认证通过 | |||
{ | |||
//报警设备IP地址 | |||
string strIP = System.Text.Encoding.UTF8.GetString(pAlarmer.sDeviceIP).TrimEnd('\0'); | |||
//抓拍图片路径 | |||
string str = ""; | |||
//保存抓拍图片 | |||
if ((struAcsAlarm.dwPicDataLen != 0) && (struAcsAlarm.pPicData != IntPtr.Zero)) | |||
{ | |||
string path = ConfigurationManager.AppSettings["AttendancePhotoPath"]; | |||
string datepath = DateTime.Now.ToString("yyyy-MM-dd"); | |||
if (!Directory.Exists(path + "\\" + datepath)) | |||
{ | |||
Directory.CreateDirectory(path + "\\" + datepath); | |||
} | |||
str = path + "\\Device_Acs_CapturePic_[" + strIP + "]_lUerID_[" + pAlarmer.lUserID + "]_" + | |||
Learun.Util.CommonHelper.CreateNo() + ".jpg"; | |||
FileStream fs = new FileStream(str, FileMode.Create); | |||
int iLen = (int)struAcsAlarm.dwPicDataLen; | |||
byte[] by = new byte[iLen]; | |||
Marshal.Copy(struAcsAlarm.pPicData, by, 0, iLen); | |||
fs.Write(by, 0, iLen); | |||
fs.Close(); | |||
} | |||
//报警时间:年月日时分秒 | |||
string strTimeYear = (struAcsAlarm.struTime.dwYear).ToString(); | |||
string strTimeMonth = (struAcsAlarm.struTime.dwMonth).ToString("d2"); | |||
string strTimeDay = (struAcsAlarm.struTime.dwDay).ToString("d2"); | |||
string strTimeHour = (struAcsAlarm.struTime.dwHour).ToString("d2"); | |||
string strTimeMinute = (struAcsAlarm.struTime.dwMinute).ToString("d2"); | |||
string strTimeSecond = (struAcsAlarm.struTime.dwSecond).ToString("d2"); | |||
string strTime = strTimeYear + "-" + strTimeMonth + "-" + strTimeDay + " " + strTimeHour + ":" + | |||
strTimeMinute + ":" + strTimeSecond; | |||
string stringAlarm = "门禁主机报警信息,dwMajor:0x" + Convert.ToString(struAcsAlarm.dwMajor, 16) + | |||
",dwMinor:0x" + | |||
Convert.ToString(struAcsAlarm.dwMinor, 16) + ",卡号:" + System.Text.Encoding.UTF8 | |||
.GetString(struAcsAlarm.struAcsEventInfo.byCardNo).TrimEnd('\0') | |||
+ ",读卡器编号:" + struAcsAlarm.struAcsEventInfo.dwCardReaderNo + ",报警触发时间:" + | |||
strTime + | |||
",事件流水号:" + struAcsAlarm.struAcsEventInfo.dwSerialNo; | |||
//如果能取到详细信息 | |||
if (struAcsAlarm.byAcsEventInfoExtend == 1) | |||
{ | |||
CHCNetSDK.NET_DVR_ACS_EVENT_INFO_EXTEND struInfoExtend = | |||
new CHCNetSDK.NET_DVR_ACS_EVENT_INFO_EXTEND(); | |||
uint dwSizeEx = (uint)Marshal.SizeOf(struInfoExtend); | |||
struInfoExtend = (CHCNetSDK.NET_DVR_ACS_EVENT_INFO_EXTEND)Marshal.PtrToStructure( | |||
struAcsAlarm.pAcsEventInfoExtend, typeof(CHCNetSDK.NET_DVR_ACS_EVENT_INFO_EXTEND)); | |||
stringAlarm = stringAlarm + ", 人员类型:" + struInfoExtend.byUserType; | |||
} | |||
//记录日志 | |||
ADR_DeviceLogEntity adrDeviceLogEntity = new ADR_DeviceLogEntity(); | |||
adrDeviceLogEntity.Create(); | |||
var deviceEntity = adrDeviceIbll.GetADR_DeviceEntityBylUserID(pAlarmer.lUserID.ToString()); | |||
if (deviceEntity != null && !string.IsNullOrEmpty(deviceEntity.Id)) | |||
{ | |||
adrDeviceLogEntity.DeviceId = deviceEntity.Id; | |||
stringAlarm += ",设备IP:" + deviceEntity.IpAddress; | |||
} | |||
adrDeviceLogEntity.LogData = stringAlarm; | |||
adrDeviceLogEntity.LogType = "0"; | |||
adrDeviceLogIbll.SaveEntity(null, adrDeviceLogEntity); | |||
//考勤记录 | |||
//首先获取考勤规则 | |||
var attendancerulEntity = adrRestrictionIbll.GetADR_RestrictionEntityEnabled(); | |||
if (attendancerulEntity != null) | |||
{ | |||
//员工卡号 | |||
string EmpNo = System.Text.Encoding.UTF8.GetString(struAcsAlarm.struAcsEventInfo.byCardNo).TrimEnd('\0'); | |||
//考勤状态 | |||
string ADType = "0"; | |||
//考勤结果 | |||
string ClockStatus = "1"; | |||
//当前服务器日期 | |||
var datenow = DateTime.Now.ToString("yyyy-MM-dd"); | |||
var datetimenow = DateTime.Now; | |||
//设备事件时间 | |||
DateTime devicetime = Convert.ToDateTime(strTime); | |||
//上班时间 | |||
DateTime workDateTime = Convert.ToDateTime(datenow + " " + attendancerulEntity.WorkTime); | |||
//下班时间 | |||
DateTime offworkDateTime = Convert.ToDateTime(datenow + " " + attendancerulEntity.CloseTime); | |||
//迟到判断 | |||
if (devicetime <= workDateTime)//正常 | |||
{ | |||
ADType = "1";//上班 | |||
ClockStatus = "1";//正常 | |||
} | |||
else//迟到 | |||
{ | |||
//签到与签退判断 | |||
if (devicetime>= offworkDateTime)//如果签到时间大于下班时间则为签退状态 | |||
{ | |||
ADType = "2";//下班 | |||
ClockStatus = "1";//正常 | |||
} | |||
else//小于下班时间 | |||
{ | |||
//首先判断是上班还是下班 | |||
//该用户当日有签到记录视为下班签退 | |||
var attendancerecord =adrRecordIbll.GetADR_RecordEntityByEmpNo(strTimeYear, strTimeMonth, strTimeDay,EmpNo).Where(m=>m.ADType=="1"); | |||
if (attendancerecord.Count()>0)//如果存在上班考勤记录 | |||
{ | |||
//判断为下班早退 | |||
if (attendancerulEntity.LeaveOverTime.HasValue && attendancerulEntity.LeaveOverTime != 0)//如果允许早退,获取范围 | |||
{ | |||
//最早签退时间 | |||
DateTime offworkDateTimeFree = offworkDateTime.AddMinutes(-Convert.ToDouble(attendancerulEntity.LeaveOverTime)); | |||
if (devicetime >= offworkDateTimeFree)//在允许早退范围内记为正常 | |||
{ | |||
ADType = "2";//下班 | |||
ClockStatus = "1";//正常 | |||
} | |||
else//超出早退范围视为早退 | |||
{ | |||
ADType = "2";//下班 | |||
ClockStatus = "3";//早退 | |||
} | |||
} | |||
else//不允许早退直接视为早退 | |||
{ | |||
ADType = "2";//下班 | |||
ClockStatus = "3";//早退 | |||
} | |||
} | |||
else//判断为上班迟到 | |||
{ | |||
if (attendancerulEntity.LateOvertime.HasValue && attendancerulEntity.LateOvertime != 0)//如果允许迟到,获取范围 | |||
{ | |||
//最晚签到时间 | |||
DateTime workDateTimeFree = workDateTime.AddMinutes(Convert.ToDouble(attendancerulEntity.LateOvertime)); | |||
if (devicetime <= workDateTimeFree)//在允许迟到范围内记为正常 | |||
{ | |||
ADType = "1";//上班 | |||
ClockStatus = "1";//正常 | |||
} | |||
} | |||
else | |||
{ | |||
ADType = "1";//上班 | |||
ClockStatus = "2";//迟到 | |||
} | |||
} | |||
} | |||
} | |||
ADR_RecordEntity adrRecordEntity = new ADR_RecordEntity(); | |||
adrRecordEntity.Create(); | |||
adrRecordEntity.UserNo = EmpNo; | |||
adrRecordEntity.ADType = ADType; | |||
adrRecordEntity.ADTime = datetimenow; | |||
adrRecordEntity.ClockTime = devicetime; | |||
adrRecordEntity.ClockStatus = ClockStatus; | |||
if (deviceEntity!=null&&!string.IsNullOrEmpty(deviceEntity.DName)) | |||
{ | |||
adrRecordEntity.ClockPlace = deviceEntity.DName; | |||
} | |||
else | |||
{ | |||
adrRecordEntity.ClockPlace = "未知"; | |||
} | |||
adrRecordEntity.ADYear = datetimenow.Year.ToString(); | |||
adrRecordEntity.ADMonth = datetimenow.Month.ToString(); | |||
adrRecordEntity.ADDay = datetimenow.Day.ToString(); | |||
//去重 | |||
//获取当日考勤记录 | |||
var attendancerecordlist = adrRecordIbll.GetADR_RecordEntityByEmpNo(strTimeYear, strTimeMonth, strTimeDay, EmpNo); | |||
//签到去重 | |||
if (adrRecordEntity.ADType == "1"&&attendancerecordlist.Count(m=>m.ADType=="1")==0)//签过到了 | |||
{ | |||
//每日保留第一次签到记录 | |||
return true; | |||
} | |||
//签退去重 | |||
if (adrRecordEntity.ADType == "2" && attendancerecordlist.Count(m => m.ADType == "2") > 0)//签过退了 | |||
{ | |||
//更新签退时间,签退状态 | |||
var firstoffworkentity = attendancerecordlist.FirstOrDefault(m => m.ADType == "2"); | |||
firstoffworkentity.ADTime = datetimenow; | |||
firstoffworkentity.ClockTime = devicetime; | |||
firstoffworkentity.ClockStatus = ClockStatus; | |||
adrRecordIbll.SaveEntity(firstoffworkentity.ID,firstoffworkentity); | |||
return true; | |||
} | |||
//考勤记录 | |||
adrRecordIbll.SaveEntity(null, adrRecordEntity); | |||
} | |||
} | |||
} | |||
return true; //回调函数需要有返回,表示正常接收到数据 | |||
} | |||
catch (Exception e) | |||
{ | |||
LogEntity lrBaseLogoEntity = new LogEntity(); | |||
lrBaseLogoEntity.F_LogId = Guid.NewGuid().ToString(); | |||
lrBaseLogoEntity.F_CategoryId = 4; | |||
lrBaseLogoEntity.F_Module = "海康考勤机"; | |||
lrBaseLogoEntity.F_ExecuteResultJson = "海康考勤机报警事件回调异常" + e.Message + ",详细" + e.StackTrace; | |||
lrBaseLogoEntity.WriteLog(); | |||
return true; | |||
} | |||
} | |||
protected override void OnStop() | |||
@@ -0,0 +1,26 @@ | |||
#缺省不输出日志到控制台 | |||
#FATAL、ERROR、WARN、INFO、DEBUG 优先级顺序 如果子模块和根模块都匹配,那么都会输出 | |||
log4j.rootLogger=DEBUG, stdout | |||
#log4j.rootLogger=DEBUG | |||
##hlog.async=false | |||
##hlog.secret.show=true | |||
##hlog.secret.encrypt=false | |||
#log4j.logger用于控制日志采集级别及采集内容,Threshold用于控制日志输出级别 | |||
#应用于控制台 | |||
log4j.appender.stdout=org.apache.log4j.ConsoleAppender | |||
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout | |||
log4j.appender.stdout.layout.ConversionPattern=[%d][%t][%-5p]- %m%n | |||
log4j.logger.NPQ=TRACE, NPQ | |||
log4j.appender.NPQ=org.apache.log4j.RollingFileAppender | |||
log4j.appender.NPQ.File=./NPQLog/NPQ.log | |||
log4j.appender.NPQ.MaxFileSize=80MB | |||
log4j.appender.NPQ.MaxBackupIndex=12 | |||
log4j.appender.NPQ.Append=false | |||
log4j.appender.NPQ.Threshold=TRACE | |||
log4j.appender.NPQ.layout=org.apache.log4j.PatternLayout | |||
log4j.appender.NPQ.layout.ConversionPattern=[%d][%t][%-5p]- %m%n | |||
log4j.additivity.NPQ = false | |||
#最后一位修改为true 既可以控制台输出又可以文件输出 | |||
@@ -0,0 +1,26 @@ | |||
#缺省不输出日志到控制台 | |||
#FATAL、ERROR、WARN、INFO、DEBUG 优先级顺序 如果子模块和根模块都匹配,那么都会输出 | |||
log4j.rootLogger=DEBUG, stdout | |||
#log4j.rootLogger=DEBUG | |||
##hlog.async=false | |||
##hlog.secret.show=true | |||
##hlog.secret.encrypt=false | |||
#log4j.logger用于控制日志采集级别及采集内容,Threshold用于控制日志输出级别 | |||
#应用于控制台 | |||
log4j.appender.stdout=org.apache.log4j.ConsoleAppender | |||
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout | |||
log4j.appender.stdout.layout.ConversionPattern=[%d][%t][%-5p]- %m%n | |||
log4j.logger.NPQ=TRACE, NPQ | |||
log4j.appender.NPQ=org.apache.log4j.RollingFileAppender | |||
log4j.appender.NPQ.File=./NPQLog/NPQ.log | |||
log4j.appender.NPQ.MaxFileSize=80MB | |||
log4j.appender.NPQ.MaxBackupIndex=12 | |||
log4j.appender.NPQ.Append=false | |||
log4j.appender.NPQ.Threshold=TRACE | |||
log4j.appender.NPQ.layout=org.apache.log4j.PatternLayout | |||
log4j.appender.NPQ.layout.ConversionPattern=[%d][%t][%-5p]- %m%n | |||
log4j.additivity.NPQ = false | |||
#最后一位修改为true 既可以控制台输出又可以文件输出 | |||
@@ -0,0 +1,3 @@ | |||
1.部署海康考勤机时,将此文件夹内所有文件(包括HCNetSDKCom文件夹)复制到exe目录内 | |||
2.务必保证考勤机与exe所在机器网络互通 | |||
3.配置App.config文件下的appSettings节AttendancePhotoPath,存储考勤刷脸图片路径到数字化校园网站Resource\AttendancePhoto目录下 |