@@ -28,8 +28,8 @@ | |||||
<input id="AdminPwd" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | <input id="AdminPwd" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | ||||
</div> | </div> | ||||
<div class="col-xs-12 lr-form-item" data-table="ADR_Device" > | <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> | ||||
</div> | </div> | ||||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/ADR_Device/Form.js") | @Html.AppendJsFile("/Areas/EducationalAdministration/Views/ADR_Device/Form.js") |
@@ -52,7 +52,7 @@ var bootstrap = function ($, learun) { | |||||
if (learun.checkrow(keyValue)) { | if (learun.checkrow(keyValue)) { | ||||
learun.layerConfirm('是否确认删除该项!', function (res) { | learun.layerConfirm('是否确认删除该项!', function (res) { | ||||
if (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(); | refreshGirdData(); | ||||
}); | }); | ||||
} | } | ||||
@@ -65,31 +65,40 @@ var bootstrap = function ($, learun) { | |||||
$('#gridtable').lrAuthorizeJfGrid({ | $('#gridtable').lrAuthorizeJfGrid({ | ||||
url: top.$.rootUrl + '/EducationalAdministration/ADR_Device/GetPageList', | url: top.$.rootUrl + '/EducationalAdministration/ADR_Device/GetPageList', | ||||
headData: [ | 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 | isPage: true | ||||
}); | }); | ||||
page.search(); | page.search(); | ||||
}, | }, | ||||
search: function (param) { | search: function (param) { | ||||
param = param || {}; | param = param || {}; | ||||
$('#gridtable').jfGridSet('reload',{ queryJson: JSON.stringify(param) }); | |||||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||||
} | } | ||||
}; | }; | ||||
refreshGirdData = function () { | refreshGirdData = function () { | ||||
@@ -84,7 +84,7 @@ var bootstrap = function ($, learun) { | |||||
if (learun.checkrow(keyValue)) { | if (learun.checkrow(keyValue)) { | ||||
learun.layerConfirm('是否确认删除该项!', function (res) { | learun.layerConfirm('是否确认删除该项!', function (res) { | ||||
if (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(); | refreshGirdData(); | ||||
}); | }); | ||||
} | } | ||||
@@ -97,20 +97,32 @@ var bootstrap = function ($, learun) { | |||||
$('#gridtable').lrAuthorizeJfGrid({ | $('#gridtable').lrAuthorizeJfGrid({ | ||||
url: top.$.rootUrl + '/EducationalAdministration/ADR_DeviceLog/GetPageList', | url: top.$.rootUrl + '/EducationalAdministration/ADR_DeviceLog/GetPageList', | ||||
headData: [ | 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) { | search: function (param) { | ||||
param = param || {}; | param = param || {}; | ||||
param.StartTime = startTime; | param.StartTime = startTime; | ||||
param.EndTime = endTime; | param.EndTime = endTime; | ||||
$('#gridtable').jfGridSet('reload',{ queryJson: JSON.stringify(param) }); | |||||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||||
} | } | ||||
}; | }; | ||||
refreshGirdData = function () { | refreshGirdData = function () { | ||||
@@ -115,8 +115,9 @@ namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers | |||||
[AjaxOnly] | [AjaxOnly] | ||||
public ActionResult SaveForm(string keyValue, string strEntity) | 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("保存成功!"); | return Success("保存成功!"); | ||||
} | } | ||||
#endregion | #endregion | ||||
@@ -12,8 +12,8 @@ | |||||
<div id="Department" ></div> | <div id="Department" ></div> | ||||
</div> | </div> | ||||
<div class="col-xs-12 lr-form-item" data-table="ADR_Record" > | <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> | ||||
<div class="col-xs-12 lr-form-item" data-table="ADR_Record" > | <div class="col-xs-12 lr-form-item" data-table="ADR_Record" > | ||||
<div class="lr-form-item-title">考勤时间</div> | <div class="lr-form-item-title">考勤时间</div> | ||||
@@ -21,9 +21,6 @@ | |||||
<div class="lr-form-item-title">部门</div> | <div class="lr-form-item-title">部门</div> | ||||
<div id="Department"></div> | <div id="Department"></div> | ||||
</div> | </div> | ||||
<div class="col-xs-12 lr-form-item"> | |||||
<div class="lr-form-item-title">考勤时间</div> | |||||
</div> | |||||
</div> | </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_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_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_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> | </div> | ||||
</div> | </div> | ||||
@@ -85,40 +85,39 @@ var bootstrap = function ($, learun) { | |||||
if (learun.checkrow(keyValue)) { | if (learun.checkrow(keyValue)) { | ||||
learun.layerConfirm('是否确认删除该项!', function (res) { | learun.layerConfirm('是否确认删除该项!', function (res) { | ||||
if (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(); | refreshGirdData(); | ||||
}); | }); | ||||
} | } | ||||
}); | }); | ||||
} | } | ||||
}); | }); | ||||
// 打印 | |||||
$('#lr_print').on('click', function () { | |||||
$('#gridtable').jqprintTable(); | |||||
}); | |||||
}, | }, | ||||
// 初始化列表 | // 初始化列表 | ||||
initGird: function () { | initGird: function () { | ||||
$('#gridtable').lrAuthorizeJfGrid({ | $('#gridtable').lrAuthorizeJfGrid({ | ||||
url: top.$.rootUrl + '/LogisticsManagement/ADR_Record/GetPageList', | url: top.$.rootUrl + '/LogisticsManagement/ADR_Record/GetPageList', | ||||
headData: [ | 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 | isPage: true | ||||
}); | }); | ||||
}, | }, | ||||
@@ -126,7 +125,7 @@ var bootstrap = function ($, learun) { | |||||
param = param || {}; | param = param || {}; | ||||
param.StartTime = startTime; | param.StartTime = startTime; | ||||
param.EndTime = endTime; | param.EndTime = endTime; | ||||
$('#gridtable').jfGridSet('reload',{ queryJson: JSON.stringify(param) }); | |||||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||||
} | } | ||||
}; | }; | ||||
refreshGirdData = function () { | 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_SupplyAndDemandMettingController.cs" /> | ||||
<Compile Include="Areas\EducationalAdministration\Controllers\BC_SpecialDestinationController.cs" /> | <Compile Include="Areas\EducationalAdministration\Controllers\BC_SpecialDestinationController.cs" /> | ||||
<Compile Include="Areas\EducationalAdministration\Controllers\BC_EPIController.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="Areas\LogisticsManagement\Controllers\ADR_RecordController.cs" /> | ||||
<Compile Include="Startup1.cs" /> | <Compile Include="Startup1.cs" /> | ||||
<Compile Include="Areas\EducationalAdministration\Controllers\ADR_DeviceController.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\Index.js" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\BC_EPI\Form.cshtml" /> | <Content Include="Areas\EducationalAdministration\Views\BC_EPI\Form.cshtml" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\BC_EPI\Form.js" /> | <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.cshtml" /> | ||||
<Content Include="Areas\LogisticsManagement\Views\ADR_Record\Index.js" /> | <Content Include="Areas\LogisticsManagement\Views\ADR_Record\Index.js" /> | ||||
<Content Include="Areas\LogisticsManagement\Views\ADR_Record\Form.cshtml" /> | <Content Include="Areas\LogisticsManagement\Views\ADR_Record\Form.cshtml" /> | ||||
@@ -96,7 +96,7 @@ namespace Learun.Application.WebApi | |||||
{ | { | ||||
ReqFormEntity parameter = this.GetReqData<ReqFormEntity>(); | ReqFormEntity parameter = this.GetReqData<ReqFormEntity>(); | ||||
ADR_RecordEntity entity = parameter.strEntity.ToObject<ADR_RecordEntity>(); | ADR_RecordEntity entity = parameter.strEntity.ToObject<ADR_RecordEntity>(); | ||||
aDR_RecordIBLL.SaveEntity(this.userInfo,parameter.keyValue,entity); | |||||
aDR_RecordIBLL.SaveEntity(parameter.keyValue,entity); | |||||
return Success("保存成功!"); | return Success("保存成功!"); | ||||
} | } | ||||
#endregion | #endregion | ||||
@@ -1,5 +1,5 @@ | |||||
<?xml version="1.0" encoding="UTF-8"?> | <?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 --> | <!-- do not edit this file --> | ||||
<Model xmlns:a="attribute" xmlns:c="collection" xmlns:o="object"> | <Model xmlns:a="attribute" xmlns:c="collection" xmlns:o="object"> | ||||
@@ -11846,9 +11846,9 @@ LABL 0 新宋体,8,N</a:FontList> | |||||
</o:TableSymbol> | </o:TableSymbol> | ||||
<o:TableSymbol Id="o619"> | <o:TableSymbol Id="o619"> | ||||
<a:CreationDate>1598423768</a:CreationDate> | <a:CreationDate>1598423768</a:CreationDate> | ||||
<a:ModificationDate>1599114136</a:ModificationDate> | |||||
<a:ModificationDate>1599201856</a:ModificationDate> | |||||
<a:IconMode>-1</a:IconMode> | <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:LineColor>12615680</a:LineColor> | ||||
<a:FillColor>16570034</a:FillColor> | <a:FillColor>16570034</a:FillColor> | ||||
<a:ShadowColor>12632256</a:ShadowColor> | <a:ShadowColor>12632256</a:ShadowColor> | ||||
@@ -11925,9 +11925,9 @@ LABL 0 新宋体,8,N</a:FontList> | |||||
</o:TableSymbol> | </o:TableSymbol> | ||||
<o:TableSymbol Id="o625"> | <o:TableSymbol Id="o625"> | ||||
<a:CreationDate>1599114139</a:CreationDate> | <a:CreationDate>1599114139</a:CreationDate> | ||||
<a:ModificationDate>1599115543</a:ModificationDate> | |||||
<a:ModificationDate>1599193158</a:ModificationDate> | |||||
<a:IconMode>-1</a:IconMode> | <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:LineColor>12615680</a:LineColor> | ||||
<a:FillColor>16570034</a:FillColor> | <a:FillColor>16570034</a:FillColor> | ||||
<a:ShadowColor>12632256</a:ShadowColor> | <a:ShadowColor>12632256</a:ShadowColor> | ||||
@@ -47122,8 +47122,8 @@ B9AF | |||||
<a:Code>ADR_Record</a:Code> | <a:Code>ADR_Record</a:Code> | ||||
<a:CreationDate>1598423768</a:CreationDate> | <a:CreationDate>1598423768</a:CreationDate> | ||||
<a:Creator>edz</a:Creator> | <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:Comment>考情记录</a:Comment> | ||||
<a:TotalSavingCurrency/> | <a:TotalSavingCurrency/> | ||||
<c:Columns> | <c:Columns> | ||||
@@ -47178,46 +47178,46 @@ B9AF | |||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3131"> | <o:Column Id="o3131"> | ||||
<a:ObjectID>6147E3D6-4E3F-4BA5-AF58-25F53CB8B8BD</a:ObjectID> | <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:CreationDate>1598424586</a:CreationDate> | ||||
<a:Creator>edz</a:Creator> | <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:Comment>考勤日期</a:Comment> | ||||
<a:DataType>nvarchar(50)</a:DataType> | <a:DataType>nvarchar(50)</a:DataType> | ||||
<a:Length>50</a:Length> | <a:Length>50</a:Length> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3132"> | <o:Column Id="o3132"> | ||||
<a:ObjectID>80AC9656-F8DC-4B99-8953-80912F185017</a:ObjectID> | <a:ObjectID>80AC9656-F8DC-4B99-8953-80912F185017</a:ObjectID> | ||||
<a:Name>考勤时间</a:Name> | |||||
<a:Name>考勤时间(服务器时间)</a:Name> | |||||
<a:Code>ADTime</a:Code> | <a:Code>ADTime</a:Code> | ||||
<a:CreationDate>1598423771</a:CreationDate> | <a:CreationDate>1598423771</a:CreationDate> | ||||
<a:Creator>edz</a:Creator> | <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:Comment>考勤时间</a:Comment> | ||||
<a:DataType>datetime</a:DataType> | <a:DataType>datetime</a:DataType> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3133"> | <o:Column Id="o3133"> | ||||
<a:ObjectID>B34FD47D-8580-4F17-B8AF-E3703F691999</a:ObjectID> | <a:ObjectID>B34FD47D-8580-4F17-B8AF-E3703F691999</a:ObjectID> | ||||
<a:Name>打卡时间</a:Name> | |||||
<a:Name>打卡时间(考勤机时间)</a:Name> | |||||
<a:Code>ClockTime</a:Code> | <a:Code>ClockTime</a:Code> | ||||
<a:CreationDate>1598423771</a:CreationDate> | <a:CreationDate>1598423771</a:CreationDate> | ||||
<a:Creator>edz</a:Creator> | <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:Comment>打卡时间</a:Comment> | ||||
<a:DataType>datetime</a:DataType> | <a:DataType>datetime</a:DataType> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3134"> | <o:Column Id="o3134"> | ||||
<a:ObjectID>4BD51C76-BEFE-4830-861B-61AB5EDD796F</a:ObjectID> | <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:Code>ClockStatus</a:Code> | ||||
<a:CreationDate>1598423771</a:CreationDate> | <a:CreationDate>1598423771</a:CreationDate> | ||||
<a:Creator>edz</a:Creator> | <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:Comment>打卡</a:Comment> | ||||
<a:DataType>nvarchar(50)</a:DataType> | <a:DataType>nvarchar(50)</a:DataType> | ||||
<a:Length>50</a:Length> | <a:Length>50</a:Length> | ||||
@@ -47234,9 +47234,42 @@ B9AF | |||||
<a:DataType>nvarchar(50)</a:DataType> | <a:DataType>nvarchar(50)</a:DataType> | ||||
<a:Length>50</a:Length> | <a:Length>50</a:Length> | ||||
</o:Column> | </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:Columns> | ||||
<c:Keys> | <c:Keys> | ||||
<o:Key Id="o3136"> | |||||
<o:Key Id="o3139"> | |||||
<a:ObjectID>99F727D3-CAB0-4E9A-A661-D3347EF8CD96</a:ObjectID> | <a:ObjectID>99F727D3-CAB0-4E9A-A661-D3347EF8CD96</a:ObjectID> | ||||
<a:Name>Key_1</a:Name> | <a:Name>Key_1</a:Name> | ||||
<a:Code>Key_1</a:Code> | <a:Code>Key_1</a:Code> | ||||
@@ -47250,10 +47283,10 @@ B9AF | |||||
</o:Key> | </o:Key> | ||||
</c:Keys> | </c:Keys> | ||||
<c:PrimaryKey> | <c:PrimaryKey> | ||||
<o:Key Ref="o3136"/> | |||||
<o:Key Ref="o3139"/> | |||||
</c:PrimaryKey> | </c:PrimaryKey> | ||||
<c:ClusterObject> | <c:ClusterObject> | ||||
<o:Key Ref="o3136"/> | |||||
<o:Key Ref="o3139"/> | |||||
</c:ClusterObject> | </c:ClusterObject> | ||||
</o:Table> | </o:Table> | ||||
<o:Table Id="o622"> | <o:Table Id="o622"> | ||||
@@ -47262,12 +47295,12 @@ B9AF | |||||
<a:Code>ADR_Device</a:Code> | <a:Code>ADR_Device</a:Code> | ||||
<a:CreationDate>1599104676</a:CreationDate> | <a:CreationDate>1599104676</a:CreationDate> | ||||
<a:Creator>Administrator</a:Creator> | <a:Creator>Administrator</a:Creator> | ||||
<a:ModificationDate>1599106965</a:ModificationDate> | |||||
<a:ModificationDate>1599128374</a:ModificationDate> | |||||
<a:Modifier>Administrator</a:Modifier> | <a:Modifier>Administrator</a:Modifier> | ||||
<a:Comment>考勤设备管理</a:Comment> | <a:Comment>考勤设备管理</a:Comment> | ||||
<a:TotalSavingCurrency/> | <a:TotalSavingCurrency/> | ||||
<c:Columns> | <c:Columns> | ||||
<o:Column Id="o3137"> | |||||
<o:Column Id="o3140"> | |||||
<a:ObjectID>9D249636-3C2D-4FC5-A874-DFE2F2155F8B</a:ObjectID> | <a:ObjectID>9D249636-3C2D-4FC5-A874-DFE2F2155F8B</a:ObjectID> | ||||
<a:Name>Id</a:Name> | <a:Name>Id</a:Name> | ||||
<a:Code>Id</a:Code> | <a:Code>Id</a:Code> | ||||
@@ -47279,7 +47312,7 @@ B9AF | |||||
<a:Length>50</a:Length> | <a:Length>50</a:Length> | ||||
<a:Column.Mandatory>1</a:Column.Mandatory> | <a:Column.Mandatory>1</a:Column.Mandatory> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3138"> | |||||
<o:Column Id="o3141"> | |||||
<a:ObjectID>12FB6C42-EF4F-4AED-90C3-7B5E9929E9FD</a:ObjectID> | <a:ObjectID>12FB6C42-EF4F-4AED-90C3-7B5E9929E9FD</a:ObjectID> | ||||
<a:Name>设备名称</a:Name> | <a:Name>设备名称</a:Name> | ||||
<a:Code>DName</a:Code> | <a:Code>DName</a:Code> | ||||
@@ -47290,7 +47323,7 @@ B9AF | |||||
<a:DataType>nvarchar(50)</a:DataType> | <a:DataType>nvarchar(50)</a:DataType> | ||||
<a:Length>50</a:Length> | <a:Length>50</a:Length> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3139"> | |||||
<o:Column Id="o3142"> | |||||
<a:ObjectID>CFC854AC-7287-4EDA-AC5F-8D5E5B3B5338</a:ObjectID> | <a:ObjectID>CFC854AC-7287-4EDA-AC5F-8D5E5B3B5338</a:ObjectID> | ||||
<a:Name>设备编号</a:Name> | <a:Name>设备编号</a:Name> | ||||
<a:Code>DCode</a:Code> | <a:Code>DCode</a:Code> | ||||
@@ -47301,7 +47334,7 @@ B9AF | |||||
<a:DataType>nvarchar(50)</a:DataType> | <a:DataType>nvarchar(50)</a:DataType> | ||||
<a:Length>50</a:Length> | <a:Length>50</a:Length> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3140"> | |||||
<o:Column Id="o3143"> | |||||
<a:ObjectID>925DAAC4-4C87-4D50-B506-2B84B5D762B2</a:ObjectID> | <a:ObjectID>925DAAC4-4C87-4D50-B506-2B84B5D762B2</a:ObjectID> | ||||
<a:Name>Ip地址</a:Name> | <a:Name>Ip地址</a:Name> | ||||
<a:Code>IpAddress</a:Code> | <a:Code>IpAddress</a:Code> | ||||
@@ -47312,7 +47345,7 @@ B9AF | |||||
<a:DataType>nvarchar(50)</a:DataType> | <a:DataType>nvarchar(50)</a:DataType> | ||||
<a:Length>50</a:Length> | <a:Length>50</a:Length> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3141"> | |||||
<o:Column Id="o3144"> | |||||
<a:ObjectID>81D77744-A546-4C7C-87D2-1C6345B6C650</a:ObjectID> | <a:ObjectID>81D77744-A546-4C7C-87D2-1C6345B6C650</a:ObjectID> | ||||
<a:Name>端口号</a:Name> | <a:Name>端口号</a:Name> | ||||
<a:Code>PortNumber</a:Code> | <a:Code>PortNumber</a:Code> | ||||
@@ -47322,7 +47355,7 @@ B9AF | |||||
<a:Modifier>Administrator</a:Modifier> | <a:Modifier>Administrator</a:Modifier> | ||||
<a:DataType>int</a:DataType> | <a:DataType>int</a:DataType> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3142"> | |||||
<o:Column Id="o3145"> | |||||
<a:ObjectID>D693475B-44DD-43B6-8417-16D6E6CB9752</a:ObjectID> | <a:ObjectID>D693475B-44DD-43B6-8417-16D6E6CB9752</a:ObjectID> | ||||
<a:Name>管理员帐号</a:Name> | <a:Name>管理员帐号</a:Name> | ||||
<a:Code>AdminAccount</a:Code> | <a:Code>AdminAccount</a:Code> | ||||
@@ -47333,7 +47366,7 @@ B9AF | |||||
<a:DataType>nvarchar(50)</a:DataType> | <a:DataType>nvarchar(50)</a:DataType> | ||||
<a:Length>50</a:Length> | <a:Length>50</a:Length> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3143"> | |||||
<o:Column Id="o3146"> | |||||
<a:ObjectID>1C21FD25-CF5E-471F-BB1E-DAFFCB9622ED</a:ObjectID> | <a:ObjectID>1C21FD25-CF5E-471F-BB1E-DAFFCB9622ED</a:ObjectID> | ||||
<a:Name>管理员密码</a:Name> | <a:Name>管理员密码</a:Name> | ||||
<a:Code>AdminPwd</a:Code> | <a:Code>AdminPwd</a:Code> | ||||
@@ -47344,7 +47377,7 @@ B9AF | |||||
<a:DataType>nvarchar(50)</a:DataType> | <a:DataType>nvarchar(50)</a:DataType> | ||||
<a:Length>50</a:Length> | <a:Length>50</a:Length> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3144"> | |||||
<o:Column Id="o3147"> | |||||
<a:ObjectID>F4CB8471-DA6E-4739-A65E-F0B273A35B71</a:ObjectID> | <a:ObjectID>F4CB8471-DA6E-4739-A65E-F0B273A35B71</a:ObjectID> | ||||
<a:Name>是否启用</a:Name> | <a:Name>是否启用</a:Name> | ||||
<a:Code>F_EnabledMark</a:Code> | <a:Code>F_EnabledMark</a:Code> | ||||
@@ -47354,7 +47387,7 @@ B9AF | |||||
<a:Modifier>Administrator</a:Modifier> | <a:Modifier>Administrator</a:Modifier> | ||||
<a:DataType>int</a:DataType> | <a:DataType>int</a:DataType> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3145"> | |||||
<o:Column Id="o3148"> | |||||
<a:ObjectID>71354792-8DB0-44A7-98DC-D63D0DF97800</a:ObjectID> | <a:ObjectID>71354792-8DB0-44A7-98DC-D63D0DF97800</a:ObjectID> | ||||
<a:Name>设备布防状态</a:Name> | <a:Name>设备布防状态</a:Name> | ||||
<a:Code>DOnlineStatus</a:Code> | <a:Code>DOnlineStatus</a:Code> | ||||
@@ -47364,7 +47397,7 @@ B9AF | |||||
<a:Modifier>Administrator</a:Modifier> | <a:Modifier>Administrator</a:Modifier> | ||||
<a:DataType>bit</a:DataType> | <a:DataType>bit</a:DataType> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3146"> | |||||
<o:Column Id="o3149"> | |||||
<a:ObjectID>601184F9-95FC-4887-B9E4-1DCEDBE8A26E</a:ObjectID> | <a:ObjectID>601184F9-95FC-4887-B9E4-1DCEDBE8A26E</a:ObjectID> | ||||
<a:Name>设备最后通讯时间</a:Name> | <a:Name>设备最后通讯时间</a:Name> | ||||
<a:Code>DConnectDate</a:Code> | <a:Code>DConnectDate</a:Code> | ||||
@@ -47374,7 +47407,18 @@ B9AF | |||||
<a:Modifier>Administrator</a:Modifier> | <a:Modifier>Administrator</a:Modifier> | ||||
<a:DataType>datetime</a:DataType> | <a:DataType>datetime</a:DataType> | ||||
</o:Column> | </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:ObjectID>9FDC6101-5468-48DA-913E-0EDFA776E01E</a:ObjectID> | ||||
<a:Name>F_CreateDate</a:Name> | <a:Name>F_CreateDate</a:Name> | ||||
<a:Code>F_CreateDate</a:Code> | <a:Code>F_CreateDate</a:Code> | ||||
@@ -47384,7 +47428,7 @@ B9AF | |||||
<a:Modifier>Administrator</a:Modifier> | <a:Modifier>Administrator</a:Modifier> | ||||
<a:DataType>datetime</a:DataType> | <a:DataType>datetime</a:DataType> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3148"> | |||||
<o:Column Id="o3152"> | |||||
<a:ObjectID>ADE41F7A-D721-457A-8B2B-4C1F186344C5</a:ObjectID> | <a:ObjectID>ADE41F7A-D721-457A-8B2B-4C1F186344C5</a:ObjectID> | ||||
<a:Name>F_CreateUserId</a:Name> | <a:Name>F_CreateUserId</a:Name> | ||||
<a:Code>F_CreateUserId</a:Code> | <a:Code>F_CreateUserId</a:Code> | ||||
@@ -47395,7 +47439,7 @@ B9AF | |||||
<a:DataType>nvarchar(50)</a:DataType> | <a:DataType>nvarchar(50)</a:DataType> | ||||
<a:Length>50</a:Length> | <a:Length>50</a:Length> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3149"> | |||||
<o:Column Id="o3153"> | |||||
<a:ObjectID>9A968663-BAC9-4B8D-8F58-410E553E50B8</a:ObjectID> | <a:ObjectID>9A968663-BAC9-4B8D-8F58-410E553E50B8</a:ObjectID> | ||||
<a:Name>F_CreateUserName</a:Name> | <a:Name>F_CreateUserName</a:Name> | ||||
<a:Code>F_CreateUserName</a:Code> | <a:Code>F_CreateUserName</a:Code> | ||||
@@ -47406,7 +47450,7 @@ B9AF | |||||
<a:DataType>nvarchar(50)</a:DataType> | <a:DataType>nvarchar(50)</a:DataType> | ||||
<a:Length>50</a:Length> | <a:Length>50</a:Length> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3150"> | |||||
<o:Column Id="o3154"> | |||||
<a:ObjectID>2D7B4825-D319-4740-AD74-2F707908FEEA</a:ObjectID> | <a:ObjectID>2D7B4825-D319-4740-AD74-2F707908FEEA</a:ObjectID> | ||||
<a:Name>F_ModifyDate</a:Name> | <a:Name>F_ModifyDate</a:Name> | ||||
<a:Code>F_ModifyDate</a:Code> | <a:Code>F_ModifyDate</a:Code> | ||||
@@ -47416,7 +47460,7 @@ B9AF | |||||
<a:Modifier>Administrator</a:Modifier> | <a:Modifier>Administrator</a:Modifier> | ||||
<a:DataType>datetime</a:DataType> | <a:DataType>datetime</a:DataType> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3151"> | |||||
<o:Column Id="o3155"> | |||||
<a:ObjectID>696D9EF8-31BB-47C5-8526-C322470A96AC</a:ObjectID> | <a:ObjectID>696D9EF8-31BB-47C5-8526-C322470A96AC</a:ObjectID> | ||||
<a:Name>F_ModifyUserId</a:Name> | <a:Name>F_ModifyUserId</a:Name> | ||||
<a:Code>F_ModifyUserId</a:Code> | <a:Code>F_ModifyUserId</a:Code> | ||||
@@ -47427,7 +47471,7 @@ B9AF | |||||
<a:DataType>nvarchar(50)</a:DataType> | <a:DataType>nvarchar(50)</a:DataType> | ||||
<a:Length>50</a:Length> | <a:Length>50</a:Length> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3152"> | |||||
<o:Column Id="o3156"> | |||||
<a:ObjectID>BD0F8981-431B-42EC-A515-F1A2CA46FCA1</a:ObjectID> | <a:ObjectID>BD0F8981-431B-42EC-A515-F1A2CA46FCA1</a:ObjectID> | ||||
<a:Name>F_ModifyUserName</a:Name> | <a:Name>F_ModifyUserName</a:Name> | ||||
<a:Code>F_ModifyUserName</a:Code> | <a:Code>F_ModifyUserName</a:Code> | ||||
@@ -47440,7 +47484,7 @@ B9AF | |||||
</o:Column> | </o:Column> | ||||
</c:Columns> | </c:Columns> | ||||
<c:Keys> | <c:Keys> | ||||
<o:Key Id="o3153"> | |||||
<o:Key Id="o3157"> | |||||
<a:ObjectID>7D84A058-BAB4-4CA1-B262-896747D61705</a:ObjectID> | <a:ObjectID>7D84A058-BAB4-4CA1-B262-896747D61705</a:ObjectID> | ||||
<a:Name>Key_1</a:Name> | <a:Name>Key_1</a:Name> | ||||
<a:Code>Key_1</a:Code> | <a:Code>Key_1</a:Code> | ||||
@@ -47449,15 +47493,15 @@ B9AF | |||||
<a:ModificationDate>1599104860</a:ModificationDate> | <a:ModificationDate>1599104860</a:ModificationDate> | ||||
<a:Modifier>Administrator</a:Modifier> | <a:Modifier>Administrator</a:Modifier> | ||||
<c:Key.Columns> | <c:Key.Columns> | ||||
<o:Column Ref="o3137"/> | |||||
<o:Column Ref="o3140"/> | |||||
</c:Key.Columns> | </c:Key.Columns> | ||||
</o:Key> | </o:Key> | ||||
</c:Keys> | </c:Keys> | ||||
<c:PrimaryKey> | <c:PrimaryKey> | ||||
<o:Key Ref="o3153"/> | |||||
<o:Key Ref="o3157"/> | |||||
</c:PrimaryKey> | </c:PrimaryKey> | ||||
<c:ClusterObject> | <c:ClusterObject> | ||||
<o:Key Ref="o3153"/> | |||||
<o:Key Ref="o3157"/> | |||||
</c:ClusterObject> | </c:ClusterObject> | ||||
</o:Table> | </o:Table> | ||||
<o:Table Id="o624"> | <o:Table Id="o624"> | ||||
@@ -47471,7 +47515,7 @@ B9AF | |||||
<a:Comment>考勤设备日志</a:Comment> | <a:Comment>考勤设备日志</a:Comment> | ||||
<a:TotalSavingCurrency/> | <a:TotalSavingCurrency/> | ||||
<c:Columns> | <c:Columns> | ||||
<o:Column Id="o3154"> | |||||
<o:Column Id="o3158"> | |||||
<a:ObjectID>9CEE15F0-DD42-4FA4-B6E7-6D3561423F95</a:ObjectID> | <a:ObjectID>9CEE15F0-DD42-4FA4-B6E7-6D3561423F95</a:ObjectID> | ||||
<a:Name>LogId</a:Name> | <a:Name>LogId</a:Name> | ||||
<a:Code>LogId</a:Code> | <a:Code>LogId</a:Code> | ||||
@@ -47483,7 +47527,7 @@ B9AF | |||||
<a:Length>50</a:Length> | <a:Length>50</a:Length> | ||||
<a:Column.Mandatory>1</a:Column.Mandatory> | <a:Column.Mandatory>1</a:Column.Mandatory> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3155"> | |||||
<o:Column Id="o3159"> | |||||
<a:ObjectID>FF4B4905-5EB3-4B23-931D-CF2C781C50E7</a:ObjectID> | <a:ObjectID>FF4B4905-5EB3-4B23-931D-CF2C781C50E7</a:ObjectID> | ||||
<a:Name>设备Id</a:Name> | <a:Name>设备Id</a:Name> | ||||
<a:Code>DeviceId</a:Code> | <a:Code>DeviceId</a:Code> | ||||
@@ -47494,7 +47538,7 @@ B9AF | |||||
<a:DataType>nvarchar(50)</a:DataType> | <a:DataType>nvarchar(50)</a:DataType> | ||||
<a:Length>50</a:Length> | <a:Length>50</a:Length> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3156"> | |||||
<o:Column Id="o3160"> | |||||
<a:ObjectID>18DA3B68-1424-4DAF-880F-B9FD2279728B</a:ObjectID> | <a:ObjectID>18DA3B68-1424-4DAF-880F-B9FD2279728B</a:ObjectID> | ||||
<a:Name>日志类型</a:Name> | <a:Name>日志类型</a:Name> | ||||
<a:Code>LogType</a:Code> | <a:Code>LogType</a:Code> | ||||
@@ -47505,7 +47549,7 @@ B9AF | |||||
<a:DataType>nvarchar(50)</a:DataType> | <a:DataType>nvarchar(50)</a:DataType> | ||||
<a:Length>50</a:Length> | <a:Length>50</a:Length> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3157"> | |||||
<o:Column Id="o3161"> | |||||
<a:ObjectID>0A812357-6E40-46E8-8A20-94C121AF3285</a:ObjectID> | <a:ObjectID>0A812357-6E40-46E8-8A20-94C121AF3285</a:ObjectID> | ||||
<a:Name>日志记录信息</a:Name> | <a:Name>日志记录信息</a:Name> | ||||
<a:Code>LogData</a:Code> | <a:Code>LogData</a:Code> | ||||
@@ -47515,7 +47559,7 @@ B9AF | |||||
<a:Modifier>Administrator</a:Modifier> | <a:Modifier>Administrator</a:Modifier> | ||||
<a:DataType>nvarchar(Max)</a:DataType> | <a:DataType>nvarchar(Max)</a:DataType> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3158"> | |||||
<o:Column Id="o3162"> | |||||
<a:ObjectID>2029F63E-0C33-4039-93BA-CBEA2E803082</a:ObjectID> | <a:ObjectID>2029F63E-0C33-4039-93BA-CBEA2E803082</a:ObjectID> | ||||
<a:Name>F_CreateDate</a:Name> | <a:Name>F_CreateDate</a:Name> | ||||
<a:Code>F_CreateDate</a:Code> | <a:Code>F_CreateDate</a:Code> | ||||
@@ -47525,7 +47569,7 @@ B9AF | |||||
<a:Modifier>Administrator</a:Modifier> | <a:Modifier>Administrator</a:Modifier> | ||||
<a:DataType>datetime</a:DataType> | <a:DataType>datetime</a:DataType> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3159"> | |||||
<o:Column Id="o3163"> | |||||
<a:ObjectID>40533AFD-66A4-4F4D-8343-27E5F6A79B56</a:ObjectID> | <a:ObjectID>40533AFD-66A4-4F4D-8343-27E5F6A79B56</a:ObjectID> | ||||
<a:Name>F_CreateUserId</a:Name> | <a:Name>F_CreateUserId</a:Name> | ||||
<a:Code>F_CreateUserId</a:Code> | <a:Code>F_CreateUserId</a:Code> | ||||
@@ -47536,7 +47580,7 @@ B9AF | |||||
<a:DataType>nvarchar(50)</a:DataType> | <a:DataType>nvarchar(50)</a:DataType> | ||||
<a:Length>50</a:Length> | <a:Length>50</a:Length> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3160"> | |||||
<o:Column Id="o3164"> | |||||
<a:ObjectID>7D493CA7-4AFD-4305-8681-6E9B382B9C07</a:ObjectID> | <a:ObjectID>7D493CA7-4AFD-4305-8681-6E9B382B9C07</a:ObjectID> | ||||
<a:Name>F_CreateUserName</a:Name> | <a:Name>F_CreateUserName</a:Name> | ||||
<a:Code>F_CreateUserName</a:Code> | <a:Code>F_CreateUserName</a:Code> | ||||
@@ -47547,7 +47591,7 @@ B9AF | |||||
<a:DataType>nvarchar(50)</a:DataType> | <a:DataType>nvarchar(50)</a:DataType> | ||||
<a:Length>50</a:Length> | <a:Length>50</a:Length> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3161"> | |||||
<o:Column Id="o3165"> | |||||
<a:ObjectID>C195B8D4-14D5-4CDE-9F7A-5B4C2DA8E689</a:ObjectID> | <a:ObjectID>C195B8D4-14D5-4CDE-9F7A-5B4C2DA8E689</a:ObjectID> | ||||
<a:Name>F_ModifyDate</a:Name> | <a:Name>F_ModifyDate</a:Name> | ||||
<a:Code>F_ModifyDate</a:Code> | <a:Code>F_ModifyDate</a:Code> | ||||
@@ -47557,7 +47601,7 @@ B9AF | |||||
<a:Modifier>Administrator</a:Modifier> | <a:Modifier>Administrator</a:Modifier> | ||||
<a:DataType>datetime</a:DataType> | <a:DataType>datetime</a:DataType> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3162"> | |||||
<o:Column Id="o3166"> | |||||
<a:ObjectID>1C8B2B07-C690-4888-A179-96F90198212E</a:ObjectID> | <a:ObjectID>1C8B2B07-C690-4888-A179-96F90198212E</a:ObjectID> | ||||
<a:Name>F_ModifyUserId</a:Name> | <a:Name>F_ModifyUserId</a:Name> | ||||
<a:Code>F_ModifyUserId</a:Code> | <a:Code>F_ModifyUserId</a:Code> | ||||
@@ -47568,7 +47612,7 @@ B9AF | |||||
<a:DataType>nvarchar(50)</a:DataType> | <a:DataType>nvarchar(50)</a:DataType> | ||||
<a:Length>50</a:Length> | <a:Length>50</a:Length> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3163"> | |||||
<o:Column Id="o3167"> | |||||
<a:ObjectID>CA128145-50F6-4266-809E-34FCDE435CF0</a:ObjectID> | <a:ObjectID>CA128145-50F6-4266-809E-34FCDE435CF0</a:ObjectID> | ||||
<a:Name>F_ModifyUserName</a:Name> | <a:Name>F_ModifyUserName</a:Name> | ||||
<a:Code>F_ModifyUserName</a:Code> | <a:Code>F_ModifyUserName</a:Code> | ||||
@@ -47581,7 +47625,7 @@ B9AF | |||||
</o:Column> | </o:Column> | ||||
</c:Columns> | </c:Columns> | ||||
<c:Keys> | <c:Keys> | ||||
<o:Key Id="o3164"> | |||||
<o:Key Id="o3168"> | |||||
<a:ObjectID>C4CDBD69-2DFE-443B-B26A-CEB7655EEDEA</a:ObjectID> | <a:ObjectID>C4CDBD69-2DFE-443B-B26A-CEB7655EEDEA</a:ObjectID> | ||||
<a:Name>Key_1</a:Name> | <a:Name>Key_1</a:Name> | ||||
<a:Code>Key_1</a:Code> | <a:Code>Key_1</a:Code> | ||||
@@ -47590,15 +47634,15 @@ B9AF | |||||
<a:ModificationDate>1599105066</a:ModificationDate> | <a:ModificationDate>1599105066</a:ModificationDate> | ||||
<a:Modifier>Administrator</a:Modifier> | <a:Modifier>Administrator</a:Modifier> | ||||
<c:Key.Columns> | <c:Key.Columns> | ||||
<o:Column Ref="o3154"/> | |||||
<o:Column Ref="o3158"/> | |||||
</c:Key.Columns> | </c:Key.Columns> | ||||
</o:Key> | </o:Key> | ||||
</c:Keys> | </c:Keys> | ||||
<c:PrimaryKey> | <c:PrimaryKey> | ||||
<o:Key Ref="o3164"/> | |||||
<o:Key Ref="o3168"/> | |||||
</c:PrimaryKey> | </c:PrimaryKey> | ||||
<c:ClusterObject> | <c:ClusterObject> | ||||
<o:Key Ref="o3164"/> | |||||
<o:Key Ref="o3168"/> | |||||
</c:ClusterObject> | </c:ClusterObject> | ||||
</o:Table> | </o:Table> | ||||
<o:Table Id="o626"> | <o:Table Id="o626"> | ||||
@@ -47607,12 +47651,12 @@ B9AF | |||||
<a:Code>ADR_Restriction</a:Code> | <a:Code>ADR_Restriction</a:Code> | ||||
<a:CreationDate>1599114139</a:CreationDate> | <a:CreationDate>1599114139</a:CreationDate> | ||||
<a:Creator>edz</a:Creator> | <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:Comment>考勤限制</a:Comment> | ||||
<a:TotalSavingCurrency/> | <a:TotalSavingCurrency/> | ||||
<c:Columns> | <c:Columns> | ||||
<o:Column Id="o3165"> | |||||
<o:Column Id="o3169"> | |||||
<a:ObjectID>3BFFB929-C500-4FA2-9A09-AF9BF59854F8</a:ObjectID> | <a:ObjectID>3BFFB929-C500-4FA2-9A09-AF9BF59854F8</a:ObjectID> | ||||
<a:Name>编号</a:Name> | <a:Name>编号</a:Name> | ||||
<a:Code>ID</a:Code> | <a:Code>ID</a:Code> | ||||
@@ -47625,7 +47669,7 @@ B9AF | |||||
<a:Length>50</a:Length> | <a:Length>50</a:Length> | ||||
<a:Column.Mandatory>1</a:Column.Mandatory> | <a:Column.Mandatory>1</a:Column.Mandatory> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3166"> | |||||
<o:Column Id="o3170"> | |||||
<a:ObjectID>93C88E0D-2759-4697-BE6C-43E0CAB2FE07</a:ObjectID> | <a:ObjectID>93C88E0D-2759-4697-BE6C-43E0CAB2FE07</a:ObjectID> | ||||
<a:Name>上班时间</a:Name> | <a:Name>上班时间</a:Name> | ||||
<a:Code>WorkTime</a:Code> | <a:Code>WorkTime</a:Code> | ||||
@@ -47637,7 +47681,7 @@ B9AF | |||||
<a:DataType>nvarchar(50)</a:DataType> | <a:DataType>nvarchar(50)</a:DataType> | ||||
<a:Length>50</a:Length> | <a:Length>50</a:Length> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3167"> | |||||
<o:Column Id="o3171"> | |||||
<a:ObjectID>4078D2EB-E5FF-43D3-8D13-3D8587D2AC49</a:ObjectID> | <a:ObjectID>4078D2EB-E5FF-43D3-8D13-3D8587D2AC49</a:ObjectID> | ||||
<a:Name>下班时间</a:Name> | <a:Name>下班时间</a:Name> | ||||
<a:Code>CloseTime</a:Code> | <a:Code>CloseTime</a:Code> | ||||
@@ -47649,7 +47693,7 @@ B9AF | |||||
<a:DataType>nvarchar(50)</a:DataType> | <a:DataType>nvarchar(50)</a:DataType> | ||||
<a:Length>50</a:Length> | <a:Length>50</a:Length> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3168"> | |||||
<o:Column Id="o3172"> | |||||
<a:ObjectID>EE9B7C66-B13F-4559-ADDD-796DEDFCBB5B</a:ObjectID> | <a:ObjectID>EE9B7C66-B13F-4559-ADDD-796DEDFCBB5B</a:ObjectID> | ||||
<a:Name>签到时间开始</a:Name> | <a:Name>签到时间开始</a:Name> | ||||
<a:Code>SignInStartTime</a:Code> | <a:Code>SignInStartTime</a:Code> | ||||
@@ -47661,7 +47705,7 @@ B9AF | |||||
<a:DataType>nvarchar(50)</a:DataType> | <a:DataType>nvarchar(50)</a:DataType> | ||||
<a:Length>50</a:Length> | <a:Length>50</a:Length> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3169"> | |||||
<o:Column Id="o3173"> | |||||
<a:ObjectID>737642C0-24B3-46F2-BE53-2FA629EF6A2B</a:ObjectID> | <a:ObjectID>737642C0-24B3-46F2-BE53-2FA629EF6A2B</a:ObjectID> | ||||
<a:Name>签到时间结束</a:Name> | <a:Name>签到时间结束</a:Name> | ||||
<a:Code>SignInEndTime</a:Code> | <a:Code>SignInEndTime</a:Code> | ||||
@@ -47673,7 +47717,7 @@ B9AF | |||||
<a:DataType>nvarchar(50)</a:DataType> | <a:DataType>nvarchar(50)</a:DataType> | ||||
<a:Length>50</a:Length> | <a:Length>50</a:Length> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3170"> | |||||
<o:Column Id="o3174"> | |||||
<a:ObjectID>C42C687A-FBB6-4D67-8EB6-04E112FC44AB</a:ObjectID> | <a:ObjectID>C42C687A-FBB6-4D67-8EB6-04E112FC44AB</a:ObjectID> | ||||
<a:Name>签退时间开始</a:Name> | <a:Name>签退时间开始</a:Name> | ||||
<a:Code>SignOutStartTime</a:Code> | <a:Code>SignOutStartTime</a:Code> | ||||
@@ -47685,7 +47729,7 @@ B9AF | |||||
<a:DataType>nvarchar(50)</a:DataType> | <a:DataType>nvarchar(50)</a:DataType> | ||||
<a:Length>50</a:Length> | <a:Length>50</a:Length> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3171"> | |||||
<o:Column Id="o3175"> | |||||
<a:ObjectID>370EEA06-C637-466E-880C-03AFC80DE145</a:ObjectID> | <a:ObjectID>370EEA06-C637-466E-880C-03AFC80DE145</a:ObjectID> | ||||
<a:Name>签退时间结束</a:Name> | <a:Name>签退时间结束</a:Name> | ||||
<a:Code>SignOutEndTime</a:Code> | <a:Code>SignOutEndTime</a:Code> | ||||
@@ -47697,7 +47741,7 @@ B9AF | |||||
<a:DataType>nvarchar(50)</a:DataType> | <a:DataType>nvarchar(50)</a:DataType> | ||||
<a:Length>50</a:Length> | <a:Length>50</a:Length> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3172"> | |||||
<o:Column Id="o3176"> | |||||
<a:ObjectID>FDD05771-1B66-4DAC-B2B3-4330AC4F9036</a:ObjectID> | <a:ObjectID>FDD05771-1B66-4DAC-B2B3-4330AC4F9036</a:ObjectID> | ||||
<a:Name>迟到超时</a:Name> | <a:Name>迟到超时</a:Name> | ||||
<a:Code>LateOvertime</a:Code> | <a:Code>LateOvertime</a:Code> | ||||
@@ -47708,7 +47752,7 @@ B9AF | |||||
<a:Comment>迟到超时</a:Comment> | <a:Comment>迟到超时</a:Comment> | ||||
<a:DataType>int</a:DataType> | <a:DataType>int</a:DataType> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3173"> | |||||
<o:Column Id="o3177"> | |||||
<a:ObjectID>FA1B8722-054D-4003-8BBF-4140509E5C74</a:ObjectID> | <a:ObjectID>FA1B8722-054D-4003-8BBF-4140509E5C74</a:ObjectID> | ||||
<a:Name>早退超时</a:Name> | <a:Name>早退超时</a:Name> | ||||
<a:Code>LeaveOverTime</a:Code> | <a:Code>LeaveOverTime</a:Code> | ||||
@@ -47719,7 +47763,7 @@ B9AF | |||||
<a:Comment>早退超时</a:Comment> | <a:Comment>早退超时</a:Comment> | ||||
<a:DataType>int</a:DataType> | <a:DataType>int</a:DataType> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3174"> | |||||
<o:Column Id="o3178"> | |||||
<a:ObjectID>A80CB89E-F4C9-476F-A175-314F31A11521</a:ObjectID> | <a:ObjectID>A80CB89E-F4C9-476F-A175-314F31A11521</a:ObjectID> | ||||
<a:Name>未签到,记为</a:Name> | <a:Name>未签到,记为</a:Name> | ||||
<a:Code>NoSignIn</a:Code> | <a:Code>NoSignIn</a:Code> | ||||
@@ -47730,7 +47774,7 @@ B9AF | |||||
<a:Comment>未签到,记为</a:Comment> | <a:Comment>未签到,记为</a:Comment> | ||||
<a:DataType>int</a:DataType> | <a:DataType>int</a:DataType> | ||||
</o:Column> | </o:Column> | ||||
<o:Column Id="o3175"> | |||||
<o:Column Id="o3179"> | |||||
<a:ObjectID>E8CC0680-7B0A-4513-B2BC-4125BE20D4B0</a:ObjectID> | <a:ObjectID>E8CC0680-7B0A-4513-B2BC-4125BE20D4B0</a:ObjectID> | ||||
<a:Name>未签退,记为</a:Name> | <a:Name>未签退,记为</a:Name> | ||||
<a:Code>NoSignOut</a:Code> | <a:Code>NoSignOut</a:Code> | ||||
@@ -47741,9 +47785,19 @@ B9AF | |||||
<a:Comment>未签退,记为</a:Comment> | <a:Comment>未签退,记为</a:Comment> | ||||
<a:DataType>int</a:DataType> | <a:DataType>int</a:DataType> | ||||
</o:Column> | </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:Columns> | ||||
<c:Keys> | <c:Keys> | ||||
<o:Key Id="o3176"> | |||||
<o:Key Id="o3181"> | |||||
<a:ObjectID>8ADE1FCB-0EC0-4C87-833F-EF8E53656C24</a:ObjectID> | <a:ObjectID>8ADE1FCB-0EC0-4C87-833F-EF8E53656C24</a:ObjectID> | ||||
<a:Name>Key_1</a:Name> | <a:Name>Key_1</a:Name> | ||||
<a:Code>Key_1</a:Code> | <a:Code>Key_1</a:Code> | ||||
@@ -47752,15 +47806,15 @@ B9AF | |||||
<a:ModificationDate>1599115046</a:ModificationDate> | <a:ModificationDate>1599115046</a:ModificationDate> | ||||
<a:Modifier>edz</a:Modifier> | <a:Modifier>edz</a:Modifier> | ||||
<c:Key.Columns> | <c:Key.Columns> | ||||
<o:Column Ref="o3165"/> | |||||
<o:Column Ref="o3169"/> | |||||
</c:Key.Columns> | </c:Key.Columns> | ||||
</o:Key> | </o:Key> | ||||
</c:Keys> | </c:Keys> | ||||
<c:PrimaryKey> | <c:PrimaryKey> | ||||
<o:Key Ref="o3176"/> | |||||
<o:Key Ref="o3181"/> | |||||
</c:PrimaryKey> | </c:PrimaryKey> | ||||
<c:ClusterObject> | <c:ClusterObject> | ||||
<o:Key Ref="o3176"/> | |||||
<o:Key Ref="o3181"/> | |||||
</c:ClusterObject> | </c:ClusterObject> | ||||
</o:Table> | </o:Table> | ||||
</c:Tables> | </c:Tables> | ||||
@@ -47785,7 +47839,7 @@ B9AF | |||||
<o:Key Ref="o668"/> | <o:Key Ref="o668"/> | ||||
</c:ParentKey> | </c:ParentKey> | ||||
<c:Joins> | <c:Joins> | ||||
<o:ReferenceJoin Id="o3177"> | |||||
<o:ReferenceJoin Id="o3182"> | |||||
<a:ObjectID>14D78C43-17A2-48F0-83B4-3DF757D5ABE8</a:ObjectID> | <a:ObjectID>14D78C43-17A2-48F0-83B4-3DF757D5ABE8</a:ObjectID> | ||||
<a:CreationDate>1552635393</a:CreationDate> | <a:CreationDate>1552635393</a:CreationDate> | ||||
<a:Creator>l</a:Creator> | <a:Creator>l</a:Creator> | ||||
@@ -47820,7 +47874,7 @@ B9AF | |||||
<o:Key Ref="o763"/> | <o:Key Ref="o763"/> | ||||
</c:ParentKey> | </c:ParentKey> | ||||
<c:Joins> | <c:Joins> | ||||
<o:ReferenceJoin Id="o3178"> | |||||
<o:ReferenceJoin Id="o3183"> | |||||
<a:ObjectID>FEAECB7B-8E2A-4492-A530-B0062E1511B8</a:ObjectID> | <a:ObjectID>FEAECB7B-8E2A-4492-A530-B0062E1511B8</a:ObjectID> | ||||
<a:CreationDate>1552635777</a:CreationDate> | <a:CreationDate>1552635777</a:CreationDate> | ||||
<a:Creator>l</a:Creator> | <a:Creator>l</a:Creator> | ||||
@@ -47855,7 +47909,7 @@ B9AF | |||||
<o:Key Ref="o791"/> | <o:Key Ref="o791"/> | ||||
</c:ParentKey> | </c:ParentKey> | ||||
<c:Joins> | <c:Joins> | ||||
<o:ReferenceJoin Id="o3179"> | |||||
<o:ReferenceJoin Id="o3184"> | |||||
<a:ObjectID>81527A47-E565-49C2-AAA7-F0555E81CE72</a:ObjectID> | <a:ObjectID>81527A47-E565-49C2-AAA7-F0555E81CE72</a:ObjectID> | ||||
<a:CreationDate>1553245426</a:CreationDate> | <a:CreationDate>1553245426</a:CreationDate> | ||||
<a:Creator>l</a:Creator> | <a:Creator>l</a:Creator> | ||||
@@ -47890,7 +47944,7 @@ B9AF | |||||
<o:Key Ref="o802"/> | <o:Key Ref="o802"/> | ||||
</c:ParentKey> | </c:ParentKey> | ||||
<c:Joins> | <c:Joins> | ||||
<o:ReferenceJoin Id="o3180"> | |||||
<o:ReferenceJoin Id="o3185"> | |||||
<a:ObjectID>A3225D9D-069C-4A67-ABF0-43DC2FA55CF0</a:ObjectID> | <a:ObjectID>A3225D9D-069C-4A67-ABF0-43DC2FA55CF0</a:ObjectID> | ||||
<a:CreationDate>1553247802</a:CreationDate> | <a:CreationDate>1553247802</a:CreationDate> | ||||
<a:Creator>l</a:Creator> | <a:Creator>l</a:Creator> | ||||
@@ -47924,7 +47978,7 @@ B9AF | |||||
<o:Key Ref="o700"/> | <o:Key Ref="o700"/> | ||||
</c:ParentKey> | </c:ParentKey> | ||||
<c:Joins> | <c:Joins> | ||||
<o:ReferenceJoin Id="o3181"> | |||||
<o:ReferenceJoin Id="o3186"> | |||||
<a:ObjectID>B458081F-CEE1-4251-9E7A-5E9CC93519D5</a:ObjectID> | <a:ObjectID>B458081F-CEE1-4251-9E7A-5E9CC93519D5</a:ObjectID> | ||||
<a:CreationDate>1553248376</a:CreationDate> | <a:CreationDate>1553248376</a:CreationDate> | ||||
<a:Creator>l</a:Creator> | <a:Creator>l</a:Creator> | ||||
@@ -47959,7 +48013,7 @@ B9AF | |||||
<o:Key Ref="o780"/> | <o:Key Ref="o780"/> | ||||
</c:ParentKey> | </c:ParentKey> | ||||
<c:Joins> | <c:Joins> | ||||
<o:ReferenceJoin Id="o3182"> | |||||
<o:ReferenceJoin Id="o3187"> | |||||
<a:ObjectID>8397C4F6-A728-4D3F-B2F8-FAC56886462B</a:ObjectID> | <a:ObjectID>8397C4F6-A728-4D3F-B2F8-FAC56886462B</a:ObjectID> | ||||
<a:CreationDate>1553248622</a:CreationDate> | <a:CreationDate>1553248622</a:CreationDate> | ||||
<a:Creator>l</a:Creator> | <a:Creator>l</a:Creator> | ||||
@@ -47993,7 +48047,7 @@ B9AF | |||||
<o:Key Ref="o840"/> | <o:Key Ref="o840"/> | ||||
</c:ParentKey> | </c:ParentKey> | ||||
<c:Joins> | <c:Joins> | ||||
<o:ReferenceJoin Id="o3183"> | |||||
<o:ReferenceJoin Id="o3188"> | |||||
<a:ObjectID>2F8BC700-F31E-41CC-9DA8-9505EAC5DA85</a:ObjectID> | <a:ObjectID>2F8BC700-F31E-41CC-9DA8-9505EAC5DA85</a:ObjectID> | ||||
<a:CreationDate>1553483161</a:CreationDate> | <a:CreationDate>1553483161</a:CreationDate> | ||||
<a:Creator>l</a:Creator> | <a:Creator>l</a:Creator> | ||||
@@ -48027,7 +48081,7 @@ B9AF | |||||
<o:Key Ref="o873"/> | <o:Key Ref="o873"/> | ||||
</c:ParentKey> | </c:ParentKey> | ||||
<c:Joins> | <c:Joins> | ||||
<o:ReferenceJoin Id="o3184"> | |||||
<o:ReferenceJoin Id="o3189"> | |||||
<a:ObjectID>0E2D2049-564F-4247-9F5B-B0AA82F9BE96</a:ObjectID> | <a:ObjectID>0E2D2049-564F-4247-9F5B-B0AA82F9BE96</a:ObjectID> | ||||
<a:CreationDate>1555404296</a:CreationDate> | <a:CreationDate>1555404296</a:CreationDate> | ||||
<a:Creator>admin</a:Creator> | <a:Creator>admin</a:Creator> | ||||
@@ -48044,7 +48098,7 @@ B9AF | |||||
</o:Reference> | </o:Reference> | ||||
</c:References> | </c:References> | ||||
<c:DefaultGroups> | <c:DefaultGroups> | ||||
<o:Group Id="o3185"> | |||||
<o:Group Id="o3190"> | |||||
<a:ObjectID>46EC3E2A-6CBF-421A-9DA8-6BCCEDEC7DF5</a:ObjectID> | <a:ObjectID>46EC3E2A-6CBF-421A-9DA8-6BCCEDEC7DF5</a:ObjectID> | ||||
<a:Name>PUBLIC</a:Name> | <a:Name>PUBLIC</a:Name> | ||||
<a:Code>PUBLIC</a:Code> | <a:Code>PUBLIC</a:Code> | ||||
@@ -48307,7 +48361,7 @@ B9AF | |||||
</o:ExtendedDependency> | </o:ExtendedDependency> | ||||
</c:ChildTraceabilityLinks> | </c:ChildTraceabilityLinks> | ||||
<c:TargetModels> | <c:TargetModels> | ||||
<o:TargetModel Id="o3186"> | |||||
<o:TargetModel Id="o3191"> | |||||
<a:ObjectID>B1BAD530-6C69-4A9D-BD41-F62F564CA348</a:ObjectID> | <a:ObjectID>B1BAD530-6C69-4A9D-BD41-F62F564CA348</a:ObjectID> | ||||
<a:Name>Microsoft SQL Server 2008</a:Name> | <a:Name>Microsoft SQL Server 2008</a:Name> | ||||
<a:Code>MSSQLSRV2008</a:Code> | <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 | #endregion | ||||
} | } | ||||
@@ -65,6 +65,11 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
[Column("DCONNECTDATE")] | [Column("DCONNECTDATE")] | ||||
public DateTime? DConnectDate { get; set; } | public DateTime? DConnectDate { get; set; } | ||||
/// <summary> | /// <summary> | ||||
/// 设备lUserID | |||||
/// </summary> | |||||
[Column("DLUSERID")] | |||||
public string DlUserID { get; set; } | |||||
/// <summary> | |||||
/// F_CreateDate | /// F_CreateDate | ||||
/// </summary> | /// </summary> | ||||
[Column("F_CREATEDATE")] | [Column("F_CREATEDATE")] | ||||
@@ -44,5 +44,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
void SaveEntity(string keyValue, ADR_DeviceEntity entity); | void SaveEntity(string keyValue, ADR_DeviceEntity entity); | ||||
#endregion | #endregion | ||||
IEnumerable<ADR_DeviceEntity> GetAllUnconnectedList(bool isshowall); | |||||
ADR_DeviceEntity GetADR_DeviceEntityBylUserID(string lUserId); | |||||
} | } | ||||
} | } |
@@ -30,23 +30,13 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
try | try | ||||
{ | { | ||||
var strSql = new StringBuilder(); | 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(" FROM ADR_Device t "); | ||||
strSql.Append(" WHERE 1=1 "); | strSql.Append(" WHERE 1=1 "); | ||||
var queryParam = queryJson.ToJObject(); | var queryParam = queryJson.ToJObject(); | ||||
// 虚拟参数 | // 虚拟参数 | ||||
var dp = new DynamicParameters(new { }); | 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) | catch (Exception ex) | ||||
{ | { | ||||
@@ -97,7 +87,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
{ | { | ||||
try | try | ||||
{ | { | ||||
this.BaseRepository("CollegeMIS").Delete<ADR_DeviceEntity>(t=>t.Id == keyValue); | |||||
this.BaseRepository("CollegeMIS").Delete<ADR_DeviceEntity>(t => t.Id == keyValue); | |||||
} | } | ||||
catch (Exception ex) | catch (Exception ex) | ||||
{ | { | ||||
@@ -147,5 +137,51 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
#endregion | #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")] | [Column("DEVICEID")] | ||||
public string DeviceId { get; set; } | public string DeviceId { get; set; } | ||||
/// <summary> | /// <summary> | ||||
/// LogType | |||||
/// 日志类型(0正常,1警告,2错误) | |||||
/// </summary> | /// </summary> | ||||
[Column("LOGTYPE")] | [Column("LOGTYPE")] | ||||
public string LogType { get; set; } | public string LogType { get; set; } | ||||
@@ -1560,10 +1560,6 @@ | |||||
<Compile Include="EducationalAdministration\BC_EPI\BC_EPIService.cs" /> | <Compile Include="EducationalAdministration\BC_EPI\BC_EPIService.cs" /> | ||||
<Compile Include="EducationalAdministration\BC_EPI\BC_EPIBLL.cs" /> | <Compile Include="EducationalAdministration\BC_EPI\BC_EPIBLL.cs" /> | ||||
<Compile Include="EducationalAdministration\BC_EPI\BC_EPIIBLL.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_RecordEntity.cs" /> | ||||
<Compile Include="LogisticsManagement\ADR_Record\ADR_RecordService.cs" /> | <Compile Include="LogisticsManagement\ADR_Record\ADR_RecordService.cs" /> | ||||
<Compile Include="LogisticsManagement\ADR_Record\ADR_RecordBLL.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 | #endregion | ||||
#region 提交数据 | #region 提交数据 | ||||
@@ -124,11 +142,11 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||||
/// <param name="keyValue">主键</param> | /// <param name="keyValue">主键</param> | ||||
/// <summary> | /// <summary> | ||||
/// <returns></returns> | /// <returns></returns> | ||||
public void SaveEntity(UserInfo userInfo, string keyValue, ADR_RecordEntity entity) | |||||
public void SaveEntity(string keyValue, ADR_RecordEntity entity) | |||||
{ | { | ||||
try | try | ||||
{ | { | ||||
aDR_RecordService.SaveEntity(userInfo, keyValue, entity); | |||||
aDR_RecordService.SaveEntity(keyValue, entity); | |||||
} | } | ||||
catch (Exception ex) | catch (Exception ex) | ||||
{ | { | ||||
@@ -35,37 +35,52 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||||
[Column("DEPARTMENT")] | [Column("DEPARTMENT")] | ||||
public string Department { get; set; } | public string Department { get; set; } | ||||
/// <summary> | /// <summary> | ||||
/// 考勤日期 | |||||
/// 考勤类型 0-未定义,1-上班,2-下班,3-开始休息,4-结束休息,5-开始加班,6-结束加班 | |||||
/// </summary> | /// </summary> | ||||
[Column("ADDATE")] | |||||
public string ADDate { get; set; } | |||||
[Column("ADTYPE")] | |||||
public string ADType { get; set; } | |||||
/// <summary> | /// <summary> | ||||
/// 考勤时间 | |||||
/// 考勤时间(服务器时间) | |||||
/// </summary> | /// </summary> | ||||
[Column("ADTIME")] | [Column("ADTIME")] | ||||
public DateTime? ADTime { get; set; } | public DateTime? ADTime { get; set; } | ||||
/// <summary> | /// <summary> | ||||
/// 打卡时间 | |||||
/// 打卡时间(考勤机时间) | |||||
/// </summary> | /// </summary> | ||||
[Column("CLOCKTIME")] | [Column("CLOCKTIME")] | ||||
public DateTime? ClockTime { get; set; } | public DateTime? ClockTime { get; set; } | ||||
/// <summary> | /// <summary> | ||||
/// 打卡 | |||||
/// 打卡结果 1正常,2迟到,3早退,4上班补签,5下班补签 | |||||
/// </summary> | /// </summary> | ||||
[Column("CLOCKSTATUS")] | [Column("CLOCKSTATUS")] | ||||
public string ClockStatus { get; set; } | public string ClockStatus { get; set; } | ||||
/// <summary> | /// <summary> | ||||
/// 打卡地点 | |||||
/// 打卡地点 | |||||
/// </summary> | /// </summary> | ||||
[Column("CLOCKPLACE")] | [Column("CLOCKPLACE")] | ||||
public string ClockPlace { get; set; } | 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 | #endregion | ||||
#region 扩展操作 | #region 扩展操作 | ||||
/// <summary> | /// <summary> | ||||
/// 新增调用 | /// 新增调用 | ||||
/// </summary> | /// </summary> | ||||
public void Create(UserInfo userInfo) | |||||
public void Create() | |||||
{ | { | ||||
this.ID = Guid.NewGuid().ToString(); | this.ID = Guid.NewGuid().ToString(); | ||||
} | } | ||||
@@ -73,7 +88,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||||
/// 编辑调用 | /// 编辑调用 | ||||
/// </summary> | /// </summary> | ||||
/// <param name="keyValue"></param> | /// <param name="keyValue"></param> | ||||
public void Modify(string keyValue, UserInfo userInfo) | |||||
public void Modify(string keyValue) | |||||
{ | { | ||||
this.ID = keyValue; | this.ID = keyValue; | ||||
} | } | ||||
@@ -34,6 +34,8 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||||
/// <summary> | /// <summary> | ||||
/// <returns></returns> | /// <returns></returns> | ||||
ADR_RecordEntity GetADR_RecordEntity(string keyValue); | ADR_RecordEntity GetADR_RecordEntity(string keyValue); | ||||
IEnumerable<ADR_RecordEntity> GetADR_RecordEntityByEmpNo(string year, string month, string day, string empno); | |||||
#endregion | #endregion | ||||
#region 提交数据 | #region 提交数据 | ||||
@@ -49,7 +51,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||||
/// <param name="keyValue">主键</param> | /// <param name="keyValue">主键</param> | ||||
/// <summary> | /// <summary> | ||||
/// <returns></returns> | /// <returns></returns> | ||||
void SaveEntity(UserInfo userInfo, string keyValue, ADR_RecordEntity entity); | |||||
void SaveEntity(string keyValue, ADR_RecordEntity entity); | |||||
#endregion | #endregion | ||||
} | } | ||||
@@ -30,17 +30,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||||
try | try | ||||
{ | { | ||||
var strSql = new StringBuilder(); | 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(" FROM ADR_Record t "); | ||||
strSql.Append(" WHERE 1=1 "); | strSql.Append(" WHERE 1=1 "); | ||||
var queryParam = queryJson.ToJObject(); | var queryParam = queryJson.ToJObject(); | ||||
@@ -50,7 +40,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||||
{ | { | ||||
dp.Add("startTime", queryParam["StartTime"].ToDate(), DbType.DateTime); | dp.Add("startTime", queryParam["StartTime"].ToDate(), DbType.DateTime); | ||||
dp.Add("endTime", queryParam["EndTime"].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()) | if (!queryParam["UserName"].IsEmpty()) | ||||
{ | { | ||||
@@ -62,11 +52,6 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||||
dp.Add("Department",queryParam["Department"].ToString(), DbType.String); | dp.Add("Department",queryParam["Department"].ToString(), DbType.String); | ||||
strSql.Append(" AND t.Department = @Department "); | 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); | return this.BaseRepository("CollegeMIS").FindList<ADR_RecordEntity>(strSql.ToString(),dp, pagination); | ||||
} | } | ||||
catch (Exception ex) | catch (Exception ex) | ||||
@@ -92,17 +77,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||||
try | try | ||||
{ | { | ||||
var strSql = new StringBuilder(); | 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(" FROM ADR_Record t "); | ||||
strSql.Append(" WHERE 1=1 "); | strSql.Append(" WHERE 1=1 "); | ||||
var queryParam = queryJson.ToJObject(); | var queryParam = queryJson.ToJObject(); | ||||
@@ -112,7 +87,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||||
{ | { | ||||
dp.Add("startTime", queryParam["StartTime"].ToDate(), DbType.DateTime); | dp.Add("startTime", queryParam["StartTime"].ToDate(), DbType.DateTime); | ||||
dp.Add("endTime", queryParam["EndTime"].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()) | if (!queryParam["UserName"].IsEmpty()) | ||||
{ | { | ||||
@@ -124,11 +99,6 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||||
dp.Add("Department",queryParam["Department"].ToString(), DbType.String); | dp.Add("Department",queryParam["Department"].ToString(), DbType.String); | ||||
strSql.Append(" AND t.Department = @Department "); | 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); | return this.BaseRepository("CollegeMIS").FindList<ADR_RecordEntity>(strSql.ToString(),dp); | ||||
} | } | ||||
catch (Exception ex) | catch (Exception ex) | ||||
@@ -201,18 +171,18 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||||
/// <param name="keyValue">主键</param> | /// <param name="keyValue">主键</param> | ||||
/// <summary> | /// <summary> | ||||
/// <returns></returns> | /// <returns></returns> | ||||
public void SaveEntity( UserInfo userInfo, string keyValue, ADR_RecordEntity entity) | |||||
public void SaveEntity(string keyValue, ADR_RecordEntity entity) | |||||
{ | { | ||||
try | try | ||||
{ | { | ||||
if (!string.IsNullOrEmpty(keyValue)) | if (!string.IsNullOrEmpty(keyValue)) | ||||
{ | { | ||||
entity.Modify(keyValue,userInfo); | |||||
entity.Modify(keyValue); | |||||
this.BaseRepository("CollegeMIS").Update(entity); | this.BaseRepository("CollegeMIS").Update(entity); | ||||
} | } | ||||
else | else | ||||
{ | { | ||||
entity.Create(userInfo); | |||||
entity.Create(); | |||||
this.BaseRepository("CollegeMIS").Insert(entity); | 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 | #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 | #endregion | ||||
} | } | ||||
@@ -69,6 +69,11 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement | |||||
/// </summary> | /// </summary> | ||||
[Column("NOSIGNOUT")] | [Column("NOSIGNOUT")] | ||||
public int? NoSignOut { get; set; } | public int? NoSignOut { get; set; } | ||||
/// <summary> | |||||
/// 是否启用 | |||||
/// </summary> | |||||
[Column("RENABLE")] | |||||
public bool? REnable { get; set; } | |||||
#endregion | #endregion | ||||
#region 扩展操作 | #region 扩展操作 | ||||
@@ -44,5 +44,6 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement | |||||
void SaveEntity(string keyValue, ADR_RestrictionEntity entity); | void SaveEntity(string keyValue, ADR_RestrictionEntity entity); | ||||
#endregion | #endregion | ||||
ADR_RestrictionEntity GetADR_RestrictionEntityEnabled(); | |||||
} | } | ||||
} | } |
@@ -150,5 +150,23 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement | |||||
#endregion | #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> | <configuration> | ||||
<configSections> | <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> | </configSections> | ||||
<connectionStrings> | <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> | </connectionStrings> | ||||
<startup> | <startup> | ||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /> | |||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/> | |||||
</startup> | </startup> | ||||
<appSettings> | <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> | </appSettings> | ||||
<runtime> | <runtime> | ||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> | <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> | ||||
<dependentAssembly> | <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> | ||||
<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> | ||||
<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> | ||||
<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> | ||||
<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> | </dependentAssembly> | ||||
</assemblyBinding> | </assemblyBinding> | ||||
</runtime> | </runtime> | ||||
<unity> | <unity> | ||||
<typeAliases> | <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> | </typeAliases> | ||||
<containers> | <containers> | ||||
<container name="IOCcontainer"> | <container name="IOCcontainer"> | ||||
@@ -58,21 +59,21 @@ | |||||
<entityFramework> | <entityFramework> | ||||
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> | <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> | ||||
<parameters> | <parameters> | ||||
<parameter value="v13.0" /> | |||||
<parameter value="v13.0"/> | |||||
</parameters> | </parameters> | ||||
</defaultConnectionFactory> | </defaultConnectionFactory> | ||||
<providers> | <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> | </providers> | ||||
</entityFramework> | </entityFramework> | ||||
<system.serviceModel> | <system.serviceModel> | ||||
<bindings> | <bindings> | ||||
<basicHttpBinding> | <basicHttpBinding> | ||||
<binding name="SynServiceSoap" /> | |||||
<binding name="SynServiceSoap"/> | |||||
</basicHttpBinding> | </basicHttpBinding> | ||||
</bindings> | </bindings> | ||||
<client> | <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> | </client> | ||||
</system.serviceModel> | </system.serviceModel> | ||||
</configuration> | </configuration> |
@@ -8,7 +8,7 @@ | |||||
<OutputType>WinExe</OutputType> | <OutputType>WinExe</OutputType> | ||||
<RootNamespace>Quanjiang.DigitalScholl.JobService</RootNamespace> | <RootNamespace>Quanjiang.DigitalScholl.JobService</RootNamespace> | ||||
<AssemblyName>Quanjiang.DigitalScholl.JobService</AssemblyName> | <AssemblyName>Quanjiang.DigitalScholl.JobService</AssemblyName> | ||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> | |||||
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion> | |||||
<FileAlignment>512</FileAlignment> | <FileAlignment>512</FileAlignment> | ||||
<Deterministic>true</Deterministic> | <Deterministic>true</Deterministic> | ||||
<SccProjectName> | <SccProjectName> | ||||
@@ -75,6 +75,7 @@ | |||||
<HintPath>..\packages\Owin.1.0\lib\net40\Owin.dll</HintPath> | <HintPath>..\packages\Owin.1.0\lib\net40\Owin.dll</HintPath> | ||||
</Reference> | </Reference> | ||||
<Reference Include="System" /> | <Reference Include="System" /> | ||||
<Reference Include="System.Configuration" /> | |||||
<Reference Include="System.Configuration.Install" /> | <Reference Include="System.Configuration.Install" /> | ||||
<Reference Include="System.Core" /> | <Reference Include="System.Core" /> | ||||
<Reference Include="System.Data.OracleClient" /> | <Reference Include="System.Data.OracleClient" /> | ||||
@@ -104,12 +105,17 @@ | |||||
</Compile> | </Compile> | ||||
<Compile Include="Program.cs" /> | <Compile Include="Program.cs" /> | ||||
<Compile Include="Properties\AssemblyInfo.cs" /> | <Compile Include="Properties\AssemblyInfo.cs" /> | ||||
<Compile Include="海康考勤机必须文件\CHCNetSDK.cs" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<None Include="App.config"> | <None Include="App.config"> | ||||
<SubType>Designer</SubType> | <SubType>Designer</SubType> | ||||
</None> | </None> | ||||
<None Include="packages.config" /> | <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> | ||||
<ItemGroup> | <ItemGroup> | ||||
<EmbeddedResource Include="ProjectInstaller.resx"> | <EmbeddedResource Include="ProjectInstaller.resx"> | ||||
@@ -121,6 +127,30 @@ | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<Content Include="installanduninstall.txt" /> | <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> | ||||
<ItemGroup> | <ItemGroup> | ||||
<ProjectReference Include="..\Learun.Framework.Module\Learun.Application.Module\Learun.Application.AppMagager\Learun.Application.AppMagager.csproj"> | <ProjectReference Include="..\Learun.Framework.Module\Learun.Application.Module\Learun.Application.AppMagager\Learun.Application.AppMagager.csproj"> | ||||
@@ -1,19 +1,37 @@ | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.ComponentModel; | using System.ComponentModel; | ||||
using System.Configuration; | |||||
using System.Data; | using System.Data; | ||||
using System.Diagnostics; | using System.Diagnostics; | ||||
using System.IO; | |||||
using System.Linq; | using System.Linq; | ||||
using System.Runtime.InteropServices; | |||||
using System.ServiceProcess; | using System.ServiceProcess; | ||||
using System.Text; | using System.Text; | ||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
using AlarmCSharpDemo; | |||||
using Hangfire; | 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 | namespace Quanjiang.DigitalScholl.JobService | ||||
{ | { | ||||
public partial class QuanjiangDigitalSchollJobService : ServiceBase | public partial class QuanjiangDigitalSchollJobService : ServiceBase | ||||
{ | { | ||||
private BackgroundJobServer _server; | 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() | public QuanjiangDigitalSchollJobService() | ||||
{ | { | ||||
InitializeComponent(); | InitializeComponent(); | ||||
@@ -27,6 +45,469 @@ namespace Quanjiang.DigitalScholl.JobService | |||||
ServerName = "QuanjiangDigitalSchollJobService" | ServerName = "QuanjiangDigitalSchollJobService" | ||||
}; | }; | ||||
_server = new BackgroundJobServer(options); | _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() | 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目录下 |