@@ -0,0 +1,117 @@ | |||||
using Learun.Util; | |||||
using System.Data; | |||||
using Learun.Application.TwoDevelopment.EducationalAdministration; | |||||
using System.Web.Mvc; | |||||
using System.Collections.Generic; | |||||
namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||||
{ | |||||
/// <summary> | |||||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||||
/// 创 建:超级管理员 | |||||
/// 日 期:2022-08-30 10:49 | |||||
/// 描 述:实训设备管理 | |||||
/// </summary> | |||||
public class TrainEquipmentManageController : MvcControllerBase | |||||
{ | |||||
private TrainEquipmentManageIBLL trainEquipmentManageIBLL = new TrainEquipmentManageBLL(); | |||||
#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="pagination">分页参数</param> | |||||
/// <param name="queryJson">查询参数</param> | |||||
/// <returns></returns> | |||||
[HttpGet] | |||||
[AjaxOnly] | |||||
public ActionResult GetPageList(string pagination, string queryJson) | |||||
{ | |||||
Pagination paginationobj = pagination.ToObject<Pagination>(); | |||||
var data = trainEquipmentManageIBLL.GetPageList(paginationobj, queryJson); | |||||
var jsonData = new | |||||
{ | |||||
rows = data, | |||||
total = paginationobj.total, | |||||
page = paginationobj.page, | |||||
records = paginationobj.records | |||||
}; | |||||
return Success(jsonData); | |||||
} | |||||
/// <summary> | |||||
/// 获取表单数据 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <returns></returns> | |||||
[HttpGet] | |||||
[AjaxOnly] | |||||
public ActionResult GetFormData(string keyValue) | |||||
{ | |||||
var TrainEquipmentManageData = trainEquipmentManageIBLL.GetTrainEquipmentManageEntity( keyValue ); | |||||
var jsonData = new { | |||||
TrainEquipmentManage = TrainEquipmentManageData, | |||||
}; | |||||
return Success(jsonData); | |||||
} | |||||
#endregion | |||||
#region 提交数据 | |||||
/// <summary> | |||||
/// 删除实体数据 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <returns></returns> | |||||
[HttpPost] | |||||
[AjaxOnly] | |||||
public ActionResult DeleteForm(string keyValue) | |||||
{ | |||||
trainEquipmentManageIBLL.DeleteEntity(keyValue); | |||||
return Success("删除成功!"); | |||||
} | |||||
/// <summary> | |||||
/// 保存实体数据(新增、修改) | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <param name="strEntity">实体</param> | |||||
/// <returns></returns> | |||||
[HttpPost] | |||||
[ValidateAntiForgeryToken] | |||||
[AjaxOnly] | |||||
public ActionResult SaveForm(string keyValue, string strEntity) | |||||
{ | |||||
TrainEquipmentManageEntity entity = strEntity.ToObject<TrainEquipmentManageEntity>(); | |||||
trainEquipmentManageIBLL.SaveEntity(keyValue,entity); | |||||
if (string.IsNullOrEmpty(keyValue)) | |||||
{ | |||||
} | |||||
return Success("保存成功!"); | |||||
} | |||||
#endregion | |||||
} | |||||
} |
@@ -0,0 +1,39 @@ | |||||
@{ | |||||
ViewBag.Title = "实训设备管理"; | |||||
Layout = "~/Views/Shared/_Form.cshtml"; | |||||
} | |||||
<div class="lr-form-wrap" id="form"> | |||||
<div class="col-xs-12 lr-form-item" data-table="TrainEquipmentManage" > | |||||
<div class="lr-form-item-title">专业部<font face="宋体">*</font></div> | |||||
<div id="DeptNo" isvalid="yes" checkexpession="NotNull" ></div> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item" data-table="TrainEquipmentManage" > | |||||
<div class="lr-form-item-title">实训室名称<font face="宋体">*</font></div> | |||||
<input id="TrainName" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item" data-table="TrainEquipmentManage" > | |||||
<div class="lr-form-item-title">设备名称<font face="宋体">*</font></div> | |||||
<input id="EquipmentName" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item" data-table="TrainEquipmentManage" > | |||||
<div class="lr-form-item-title">设备型号</div> | |||||
<input id="EquipmentModel" type="text" class="form-control" /> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item" data-table="TrainEquipmentManage" > | |||||
<div class="lr-form-item-title">新增</div> | |||||
<input id="AddNum" type="text" class="form-control" /> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item" data-table="TrainEquipmentManage" > | |||||
<div class="lr-form-item-title">损耗</div> | |||||
<input id="LossNum" type="text" class="form-control" /> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item" data-table="TrainEquipmentManage" > | |||||
<div class="lr-form-item-title">现存</div> | |||||
<input id="ExistNum" type="text" class="form-control" /> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item" data-table="TrainEquipmentManage" > | |||||
<div class="lr-form-item-title">设备金额</div> | |||||
<input id="EquipmentMoney" type="text" class="form-control" /> | |||||
</div> | |||||
</div> | |||||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/TrainEquipmentManage/Form.js") |
@@ -0,0 +1,51 @@ | |||||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||||
* 创建人:超级管理员 | |||||
* 日 期:2022-08-30 10:49 | |||||
* 描 述:实训设备管理 | |||||
*/ | |||||
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 () { | |||||
$('#DeptNo').lrDataSourceSelect({ code: 'CdMajorInfo',value: 'majorno',text: 'majorname' }); | |||||
}, | |||||
initData: function () { | |||||
if (!!keyValue) { | |||||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/TrainEquipmentManage/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 + '/EducationalAdministration/TrainEquipmentManage/SaveForm?keyValue=' + keyValue, postData, function (res) { | |||||
// 保存成功后才回调 | |||||
if (!!callBack) { | |||||
callBack(); | |||||
} | |||||
}); | |||||
}; | |||||
page.init(); | |||||
} |
@@ -0,0 +1,44 @@ | |||||
@{ | |||||
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="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="DeptNo"></div> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item"> | |||||
<div class="lr-form-item-title">实训室名称</div> | |||||
<input id="TrainName" type="text" class="form-control" /> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item"> | |||||
<div class="lr-form-item-title">设备名称</div> | |||||
<input id="EquipmentName" type="text" class="form-control" /> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div class="lr-layout-tool-right"> | |||||
<div class=" btn-group btn-group-sm"> | |||||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||||
</div> | |||||
<div 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/EducationalAdministration/Views/TrainEquipmentManage/Index.js") |
@@ -0,0 +1,105 @@ | |||||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||||
* 创建人:超级管理员 | |||||
* 日 期:2022-08-30 10:49 | |||||
* 描 述:实训设备管理 | |||||
*/ | |||||
var refreshGirdData; | |||||
var bootstrap = function ($, learun) { | |||||
"use strict"; | |||||
var page = { | |||||
init: function () { | |||||
page.initGird(); | |||||
page.bind(); | |||||
}, | |||||
bind: function () { | |||||
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) { | |||||
page.search(queryJson); | |||||
}, 220, 400); | |||||
$('#DeptNo').lrDataSourceSelect({ code: 'CdMajorInfo',value: 'majorno',text: 'majorname' }); | |||||
// 刷新 | |||||
$('#lr_refresh').on('click', function () { | |||||
location.reload(); | |||||
}); | |||||
// 新增 | |||||
$('#lr_add').on('click', function () { | |||||
learun.layerForm({ | |||||
id: 'form', | |||||
title: '新增', | |||||
url: top.$.rootUrl + '/EducationalAdministration/TrainEquipmentManage/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 + '/EducationalAdministration/TrainEquipmentManage/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 + '/EducationalAdministration/TrainEquipmentManage/DeleteForm', { keyValue: keyValue}, function () { | |||||
refreshGirdData(); | |||||
}); | |||||
} | |||||
}); | |||||
} | |||||
}); | |||||
}, | |||||
// 初始化列表 | |||||
initGird: function () { | |||||
$('#gridtable').lrAuthorizeJfGrid({ | |||||
url: top.$.rootUrl + '/EducationalAdministration/TrainEquipmentManage/GetPageList', | |||||
headData: [ | |||||
{ label: "专业部", name: "DeptNo", width: 100, align: "left", | |||||
formatterAsync: function (callback, value, row, op,$cell) { | |||||
learun.clientdata.getAsync('custmerData', { | |||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo', | |||||
key: value, | |||||
keyId: 'majorno', | |||||
callback: function (_data) { | |||||
callback(_data['majorname']); | |||||
} | |||||
}); | |||||
}}, | |||||
{ label: "实训室名称", name: "TrainName", width: 100, align: "left"}, | |||||
{ label: "设备名称", name: "EquipmentName", width: 100, align: "left"}, | |||||
{ label: "设备型号", name: "EquipmentModel", width: 100, align: "left"}, | |||||
{ label: "新增", name: "AddNum", width: 100, align: "left"}, | |||||
{ label: "损耗", name: "LossNum", width: 100, align: "left"}, | |||||
{ label: "现存", name: "ExistNum", width: 100, align: "left"}, | |||||
{ label: "设备金额", name: "EquipmentMoney", width: 100, align: "left"}, | |||||
], | |||||
mainId:'Id', | |||||
isPage: true | |||||
}); | |||||
page.search(); | |||||
}, | |||||
search: function (param) { | |||||
param = param || {}; | |||||
$('#gridtable').jfGridSet('reload',{ queryJson: JSON.stringify(param) }); | |||||
} | |||||
}; | |||||
refreshGirdData = function () { | |||||
$('#gridtable').jfGridSet('reload'); | |||||
}; | |||||
page.init(); | |||||
} |
@@ -44,9 +44,9 @@ | |||||
<div class="lr-form-item-title">联系电话<font face="宋体">*</font></div> | <div class="lr-form-item-title">联系电话<font face="宋体">*</font></div> | ||||
<input id="LinkPhone" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" readonly="readonly" /> | <input id="LinkPhone" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" readonly="readonly" /> | ||||
</div> | </div> | ||||
@*<div class="col-xs-12 lr-form-item" data-table="MeetingManagement"> | |||||
<div class="col-xs-12 lr-form-item" data-table="MeetingManagement"> | |||||
<div class="lr-form-item-title">扫码签到</div> | <div class="lr-form-item-title">扫码签到</div> | ||||
<div id="qrCode"></div> | <div id="qrCode"></div> | ||||
</div>*@ | |||||
</div> | |||||
</div> | </div> | ||||
@Html.AppendJsFile("/Areas/PersonnelManagement/Views/MeetingManagement/FormView.js") | @Html.AppendJsFile("/Areas/PersonnelManagement/Views/MeetingManagement/FormView.js") |
@@ -63,7 +63,7 @@ var bootstrap = function ($, learun) { | |||||
$('[data-table="' + id + '"]').lrSetFormData(data[id]); | $('[data-table="' + id + '"]').lrSetFormData(data[id]); | ||||
} | } | ||||
//扫码签到 | //扫码签到 | ||||
//makeCode(data[id].Id); | |||||
makeCode(data[id].Id); | |||||
} | } | ||||
}); | }); | ||||
} | } | ||||
@@ -864,6 +864,7 @@ | |||||
<Compile Include="Areas\PersonnelManagement\Controllers\EvaluateTeachLearnController.cs" /> | <Compile Include="Areas\PersonnelManagement\Controllers\EvaluateTeachLearnController.cs" /> | ||||
<Compile Include="Areas\PersonnelManagement\Controllers\ClassPatrolController.cs" /> | <Compile Include="Areas\PersonnelManagement\Controllers\ClassPatrolController.cs" /> | ||||
<Compile Include="Areas\EducationalAdministration\Controllers\StuGraduateStatisticController.cs" /> | <Compile Include="Areas\EducationalAdministration\Controllers\StuGraduateStatisticController.cs" /> | ||||
<Compile Include="Areas\EducationalAdministration\Controllers\TrainEquipmentManageController.cs" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<Content Include="Areas\AdmissionsPlatform\Views\AP_OnlineUserInfo\DropOutIndex.js" /> | <Content Include="Areas\AdmissionsPlatform\Views\AP_OnlineUserInfo\DropOutIndex.js" /> | ||||
@@ -6860,6 +6861,10 @@ | |||||
<Content Include="Areas\PersonnelManagement\Views\ClassPatrol\Form.cshtml" /> | <Content Include="Areas\PersonnelManagement\Views\ClassPatrol\Form.cshtml" /> | ||||
<Content Include="Areas\PersonnelManagement\Views\ClassPatrol\Form.js" /> | <Content Include="Areas\PersonnelManagement\Views\ClassPatrol\Form.js" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\StuGraduateStatistic\Index.cshtml" /> | <Content Include="Areas\EducationalAdministration\Views\StuGraduateStatistic\Index.cshtml" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\TrainEquipmentManage\Index.cshtml" /> | |||||
<Content Include="Areas\EducationalAdministration\Views\TrainEquipmentManage\Index.js" /> | |||||
<Content Include="Areas\EducationalAdministration\Views\TrainEquipmentManage\Form.cshtml" /> | |||||
<Content Include="Areas\EducationalAdministration\Views\TrainEquipmentManage\Form.js" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<Folder Include="Areas\EducationalAdministration\Views\OpenLessonPlanOfElectivePre\" /> | <Folder Include="Areas\EducationalAdministration\Views\OpenLessonPlanOfElectivePre\" /> | ||||
@@ -29,7 +29,7 @@ namespace Learun.Application.WebApi | |||||
Post["/delete"] = DeleteForm; | Post["/delete"] = DeleteForm; | ||||
Post["/save"] = SaveForm; | Post["/save"] = SaveForm; | ||||
Post["/read"] = NewsRead; | Post["/read"] = NewsRead; | ||||
} | } | ||||
#region 获取数据 | #region 获取数据 | ||||
@@ -71,6 +71,7 @@ namespace Learun.Application.WebApi | |||||
{ | { | ||||
string keyValue = this.GetReqData(); | string keyValue = this.GetReqData(); | ||||
var Sys_ReceiveFileData = sys_ReceiveFileIBLL.GetSys_ReceiveFileEntity(keyValue); | var Sys_ReceiveFileData = sys_ReceiveFileIBLL.GetSys_ReceiveFileEntity(keyValue); | ||||
Sys_ReceiveFileData.FilePath = Sys_ReceiveFileData.Url; | |||||
if (Sys_ReceiveFileData != null) | if (Sys_ReceiveFileData != null) | ||||
{ | { | ||||
var result = annexesFileIBLL.GetEntityByFolderId(Sys_ReceiveFileData.Url)?.F_FilePath; | var result = annexesFileIBLL.GetEntityByFolderId(Sys_ReceiveFileData.Url)?.F_FilePath; | ||||
@@ -0,0 +1,29 @@ | |||||
using Learun.Application.TwoDevelopment.EducationalAdministration; | |||||
using System.Data.Entity.ModelConfiguration; | |||||
namespace Learun.Application.Mapping | |||||
{ | |||||
/// <summary> | |||||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||||
/// 创 建:超级管理员 | |||||
/// 日 期:2022-08-30 10:49 | |||||
/// 描 述:实训设备管理 | |||||
/// </summary> | |||||
public class TrainEquipmentManageMap : EntityTypeConfiguration<TrainEquipmentManageEntity> | |||||
{ | |||||
public TrainEquipmentManageMap() | |||||
{ | |||||
#region 表、主键 | |||||
//表 | |||||
this.ToTable("TRAINEQUIPMENTMANAGE"); | |||||
//主键 | |||||
this.HasKey(t => t.Id); | |||||
#endregion | |||||
#region 配置关系 | |||||
#endregion | |||||
} | |||||
} | |||||
} | |||||
@@ -621,6 +621,7 @@ | |||||
<Compile Include="PersonnelManagement\EvaluateTeachLearnMap.cs" /> | <Compile Include="PersonnelManagement\EvaluateTeachLearnMap.cs" /> | ||||
<Compile Include="PersonnelManagement\ClassPatrolMap.cs" /> | <Compile Include="PersonnelManagement\ClassPatrolMap.cs" /> | ||||
<Compile Include="EducationalAdministration\StuGraduateStatisticMap.cs" /> | <Compile Include="EducationalAdministration\StuGraduateStatisticMap.cs" /> | ||||
<Compile Include="EducationalAdministration\TrainEquipmentManageMap.cs" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<ProjectReference Include="..\..\..\Learun.Application.Organization\Learun.Application.Organization.csproj"> | <ProjectReference Include="..\..\..\Learun.Application.Organization\Learun.Application.Organization.csproj"> | ||||
@@ -149,6 +149,11 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
[Column("SLASTDATE")] | [Column("SLASTDATE")] | ||||
public DateTime? SLastDate { get; set; } | public DateTime? SLastDate { get; set; } | ||||
/// <summary> | |||||
/// 路径 | |||||
/// </summary> | |||||
[NotMapped] | |||||
public string FilePath { get; set; } | |||||
#endregion | #endregion | ||||
} | } | ||||
@@ -0,0 +1,125 @@ | |||||
using Learun.Util; | |||||
using System; | |||||
using System.Data; | |||||
using System.Collections.Generic; | |||||
namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
{ | |||||
/// <summary> | |||||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||||
/// 创 建:超级管理员 | |||||
/// 日 期:2022-08-30 10:49 | |||||
/// 描 述:实训设备管理 | |||||
/// </summary> | |||||
public class TrainEquipmentManageBLL : TrainEquipmentManageIBLL | |||||
{ | |||||
private TrainEquipmentManageService trainEquipmentManageService = new TrainEquipmentManageService(); | |||||
#region 获取数据 | |||||
/// <summary> | |||||
/// 获取页面显示列表数据 | |||||
/// </summary> | |||||
/// <param name="pagination">分页参数</param> | |||||
/// <param name="queryJson">查询参数</param> | |||||
/// <returns></returns> | |||||
public IEnumerable<TrainEquipmentManageEntity> GetPageList(Pagination pagination, string queryJson) | |||||
{ | |||||
try | |||||
{ | |||||
return trainEquipmentManageService.GetPageList(pagination, queryJson); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowBusinessException(ex); | |||||
} | |||||
} | |||||
} | |||||
/// <summary> | |||||
/// 获取TrainEquipmentManage表实体数据 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <returns></returns> | |||||
public TrainEquipmentManageEntity GetTrainEquipmentManageEntity(string keyValue) | |||||
{ | |||||
try | |||||
{ | |||||
return trainEquipmentManageService.GetTrainEquipmentManageEntity(keyValue); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowBusinessException(ex); | |||||
} | |||||
} | |||||
} | |||||
#endregion | |||||
#region 提交数据 | |||||
/// <summary> | |||||
/// 删除实体数据 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
public void DeleteEntity(string keyValue) | |||||
{ | |||||
try | |||||
{ | |||||
trainEquipmentManageService.DeleteEntity(keyValue); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowBusinessException(ex); | |||||
} | |||||
} | |||||
} | |||||
/// <summary> | |||||
/// 保存实体数据(新增、修改) | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <param name="entity">实体</param> | |||||
/// <returns></returns> | |||||
public void SaveEntity(string keyValue, TrainEquipmentManageEntity entity) | |||||
{ | |||||
try | |||||
{ | |||||
trainEquipmentManageService.SaveEntity(keyValue, entity); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowBusinessException(ex); | |||||
} | |||||
} | |||||
} | |||||
#endregion | |||||
} | |||||
} |
@@ -0,0 +1,85 @@ | |||||
using Learun.Util; | |||||
using System; | |||||
using System.ComponentModel.DataAnnotations.Schema; | |||||
namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
{ | |||||
/// <summary> | |||||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||||
/// 创 建:超级管理员 | |||||
/// 日 期:2022-08-30 10:49 | |||||
/// 描 述:实训设备管理 | |||||
/// </summary> | |||||
public class TrainEquipmentManageEntity | |||||
{ | |||||
#region 实体成员 | |||||
/// <summary> | |||||
/// Id | |||||
/// </summary> | |||||
[Column("ID")] | |||||
public string Id { get; set; } | |||||
/// <summary> | |||||
/// 专业部 | |||||
/// </summary> | |||||
[Column("DEPTNO")] | |||||
public string DeptNo { get; set; } | |||||
/// <summary> | |||||
/// 实训室名称 | |||||
/// </summary> | |||||
[Column("TRAINNAME")] | |||||
public string TrainName { get; set; } | |||||
/// <summary> | |||||
/// 设备名称 | |||||
/// </summary> | |||||
[Column("EQUIPMENTNAME")] | |||||
public string EquipmentName { get; set; } | |||||
/// <summary> | |||||
/// 设备型号 | |||||
/// </summary> | |||||
[Column("EQUIPMENTMODEL")] | |||||
public string EquipmentModel { get; set; } | |||||
/// <summary> | |||||
/// 新增 | |||||
/// </summary> | |||||
[Column("ADDNUM")] | |||||
public string AddNum { get; set; } | |||||
/// <summary> | |||||
/// 损耗 | |||||
/// </summary> | |||||
[Column("LOSSNUM")] | |||||
public string LossNum { get; set; } | |||||
/// <summary> | |||||
/// 现存 | |||||
/// </summary> | |||||
[Column("EXISTNUM")] | |||||
public string ExistNum { get; set; } | |||||
/// <summary> | |||||
/// 设备金额 | |||||
/// </summary> | |||||
[Column("EQUIPMENTMONEY")] | |||||
public decimal? EquipmentMoney { 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 | |||||
} | |||||
} | |||||
@@ -0,0 +1,48 @@ | |||||
using Learun.Util; | |||||
using System.Data; | |||||
using System.Collections.Generic; | |||||
namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
{ | |||||
/// <summary> | |||||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||||
/// 创 建:超级管理员 | |||||
/// 日 期:2022-08-30 10:49 | |||||
/// 描 述:实训设备管理 | |||||
/// </summary> | |||||
public interface TrainEquipmentManageIBLL | |||||
{ | |||||
#region 获取数据 | |||||
/// <summary> | |||||
/// 获取页面显示列表数据 | |||||
/// </summary> | |||||
/// <param name="queryJson">查询参数</param> | |||||
/// <returns></returns> | |||||
IEnumerable<TrainEquipmentManageEntity> GetPageList(Pagination pagination, string queryJson); | |||||
/// <summary> | |||||
/// 获取TrainEquipmentManage表实体数据 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <returns></returns> | |||||
TrainEquipmentManageEntity GetTrainEquipmentManageEntity(string keyValue); | |||||
#endregion | |||||
#region 提交数据 | |||||
/// <summary> | |||||
/// 删除实体数据 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
void DeleteEntity(string keyValue); | |||||
/// <summary> | |||||
/// 保存实体数据(新增、修改) | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <param name="entity">实体</param> | |||||
void SaveEntity(string keyValue, TrainEquipmentManageEntity entity); | |||||
#endregion | |||||
} | |||||
} |
@@ -0,0 +1,156 @@ | |||||
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.EducationalAdministration | |||||
{ | |||||
/// <summary> | |||||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||||
/// 创 建:超级管理员 | |||||
/// 日 期:2022-08-30 10:49 | |||||
/// 描 述:实训设备管理 | |||||
/// </summary> | |||||
public class TrainEquipmentManageService : RepositoryFactory | |||||
{ | |||||
#region 获取数据 | |||||
/// <summary> | |||||
/// 获取页面显示列表数据 | |||||
/// </summary> | |||||
/// <param name="pagination">查询参数</param> | |||||
/// <param name="queryJson">查询参数</param> | |||||
/// <returns></returns> | |||||
public IEnumerable<TrainEquipmentManageEntity> GetPageList(Pagination pagination, string queryJson) | |||||
{ | |||||
try | |||||
{ | |||||
var strSql = new StringBuilder(); | |||||
strSql.Append("SELECT t.* "); | |||||
strSql.Append(" FROM TrainEquipmentManage t "); | |||||
strSql.Append(" WHERE 1=1 "); | |||||
var queryParam = queryJson.ToJObject(); | |||||
// 虚拟参数 | |||||
var dp = new DynamicParameters(new { }); | |||||
if (!queryParam["DeptNo"].IsEmpty()) | |||||
{ | |||||
dp.Add("DeptNo",queryParam["DeptNo"].ToString(), DbType.String); | |||||
strSql.Append(" AND t.DeptNo = @DeptNo "); | |||||
} | |||||
if (!queryParam["TrainName"].IsEmpty()) | |||||
{ | |||||
dp.Add("TrainName", "%" + queryParam["TrainName"].ToString() + "%", DbType.String); | |||||
strSql.Append(" AND t.TrainName Like @TrainName "); | |||||
} | |||||
if (!queryParam["EquipmentName"].IsEmpty()) | |||||
{ | |||||
dp.Add("EquipmentName", "%" + queryParam["EquipmentName"].ToString() + "%", DbType.String); | |||||
strSql.Append(" AND t.EquipmentName Like @EquipmentName "); | |||||
} | |||||
return this.BaseRepository("CollegeMIS").FindList<TrainEquipmentManageEntity>(strSql.ToString(),dp, pagination); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowServiceException(ex); | |||||
} | |||||
} | |||||
} | |||||
/// <summary> | |||||
/// 获取TrainEquipmentManage表实体数据 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <returns></returns> | |||||
public TrainEquipmentManageEntity GetTrainEquipmentManageEntity(string keyValue) | |||||
{ | |||||
try | |||||
{ | |||||
return this.BaseRepository("CollegeMIS").FindEntity<TrainEquipmentManageEntity>(keyValue); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowServiceException(ex); | |||||
} | |||||
} | |||||
} | |||||
#endregion | |||||
#region 提交数据 | |||||
/// <summary> | |||||
/// 删除实体数据 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
public void DeleteEntity(string keyValue) | |||||
{ | |||||
try | |||||
{ | |||||
this.BaseRepository("CollegeMIS").Delete<TrainEquipmentManageEntity>(t=>t.Id == keyValue); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowServiceException(ex); | |||||
} | |||||
} | |||||
} | |||||
/// <summary> | |||||
/// 保存实体数据(新增、修改) | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <param name="entity">实体</param> | |||||
public void SaveEntity(string keyValue, TrainEquipmentManageEntity 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 | |||||
} | |||||
} |
@@ -1910,6 +1910,10 @@ | |||||
<Compile Include="EducationalAdministration\StuGraduateStatistic\StuGraduateStatisticService.cs" /> | <Compile Include="EducationalAdministration\StuGraduateStatistic\StuGraduateStatisticService.cs" /> | ||||
<Compile Include="EducationalAdministration\StuGraduateStatistic\StuGraduateStatisticBLL.cs" /> | <Compile Include="EducationalAdministration\StuGraduateStatistic\StuGraduateStatisticBLL.cs" /> | ||||
<Compile Include="EducationalAdministration\StuGraduateStatistic\StuGraduateStatisticIBLL.cs" /> | <Compile Include="EducationalAdministration\StuGraduateStatistic\StuGraduateStatisticIBLL.cs" /> | ||||
<Compile Include="EducationalAdministration\TrainEquipmentManage\TrainEquipmentManageEntity.cs" /> | |||||
<Compile Include="EducationalAdministration\TrainEquipmentManage\TrainEquipmentManageService.cs" /> | |||||
<Compile Include="EducationalAdministration\TrainEquipmentManage\TrainEquipmentManageBLL.cs" /> | |||||
<Compile Include="EducationalAdministration\TrainEquipmentManage\TrainEquipmentManageIBLL.cs" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<ProjectReference Include="..\..\..\Learun.Application.Organization\Learun.Application.Organization.csproj"> | <ProjectReference Include="..\..\..\Learun.Application.Organization\Learun.Application.Organization.csproj"> | ||||
@@ -237,6 +237,25 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement | |||||
} | } | ||||
} | } | ||||
} | } | ||||
public void ReceivedList(string processId) | |||||
{ | |||||
try | |||||
{ | |||||
meetingManagementService.ReceivedList(processId); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowBusinessException(ex); | |||||
} | |||||
} | |||||
} | |||||
#endregion | #endregion | ||||
} | } | ||||
@@ -76,6 +76,9 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement | |||||
/// <summary> | /// <summary> | ||||
/// <returns></returns> | /// <returns></returns> | ||||
void ChangeStatusByProcessId(string processId, string status, string userId); | void ChangeStatusByProcessId(string processId, string status, string userId); | ||||
void ReceivedList(string processId); | |||||
#endregion | #endregion | ||||
} | } | ||||
@@ -1,11 +1,19 @@ | |||||
using Dapper; | using Dapper; | ||||
using Learun.Application.Organization; | using Learun.Application.Organization; | ||||
using Learun.Application.TwoDevelopment.EducationalAdministration; | |||||
using Learun.Application.TwoDevelopment.LR_Desktop; | |||||
using Learun.DataBase.Repository; | using Learun.DataBase.Repository; | ||||
using Learun.Util; | using Learun.Util; | ||||
using Microsoft.AspNet.SignalR.Client; | |||||
using Newtonsoft.Json; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Configuration; | |||||
using System.Data; | using System.Data; | ||||
using System.Linq; | |||||
using System.Text; | using System.Text; | ||||
using System.Threading.Tasks; | |||||
using System.Web; | |||||
namespace Learun.Application.TwoDevelopment.PersonnelManagement | namespace Learun.Application.TwoDevelopment.PersonnelManagement | ||||
{ | { | ||||
@@ -467,7 +475,101 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement | |||||
} | } | ||||
} | } | ||||
public void ReceivedList(string processId) | |||||
{ | |||||
var Received = GetMeetingManagementEntityByProcessId(processId); | |||||
List<UserEntity> userInfos = new List<UserEntity>(); | |||||
foreach (var rid in Received.InternalParticipants.Split(',')) | |||||
{ | |||||
var user = this.BaseRepository().FindEntity<UserEntity>(m => m.F_UserId == rid); | |||||
if (!userInfos.Contains(user)) | |||||
{ | |||||
userInfos.Add(user); | |||||
} | |||||
} | |||||
//foreach (var uitem in userInfos) | |||||
//{ | |||||
// SYS_ReceiveMessageEntity receiveMessageEntity = new SYS_ReceiveMessageEntity(); | |||||
// receiveMessageEntity.Create(); | |||||
// receiveMessageEntity.SENDERID = Received.SENDERID; | |||||
// receiveMessageEntity.SENDER = messageentity.SENDER; | |||||
// receiveMessageEntity.RECEIVERID = uitem.F_UserId; | |||||
// receiveMessageEntity.RECEIVER = uitem.F_RealName; | |||||
// receiveMessageEntity.TITLE = messageentity.TITLE; | |||||
// receiveMessageEntity.CONTENTS = messageentity.CONTENTS; | |||||
// receiveMessageEntity.URL = messageentity.URL; | |||||
// receiveMessageEntity.READFLAG = 0; | |||||
// receiveMessageEntity.SENDTIME = DateTime.Now; | |||||
// receiveMessageEntity.DelFlag = false; | |||||
// this.BaseRepository().Insert(receiveMessageEntity); | |||||
//} | |||||
//读取信息推送管理-会议申请推送(03)的配置 | |||||
var informationPushEntity = this.BaseRepository().FindEntity<Sys_InformationPushEntity>(x => x.PushItem == "03"); | |||||
if (informationPushEntity != null && informationPushEntity.Status == true) | |||||
{ | |||||
//微信推送 | |||||
try | |||||
{ | |||||
PushWeixin(userInfos, Received.MeetingTitle); | |||||
} | |||||
catch (Exception e) | |||||
{ | |||||
} | |||||
//飞星推送 | |||||
Task.Run(async () => | |||||
{ | |||||
using (var hubConnection = new HubConnection(ConfigurationManager.AppSettings["CommunicationServeraddress"])) | |||||
{ | |||||
var hubProxy = hubConnection.CreateHubProxy("SignalRHub"); | |||||
await hubConnection.Start(); | |||||
await hubProxy.Invoke("PushAnnouncement", Received.InternalParticipants, Received.MeetingTitle, Util.Str.ReplaceHtml(HttpUtility.HtmlDecode(Received.Content)).Length < 20 ? Util.Str.ReplaceHtml(HttpUtility.HtmlDecode(Received.Content)) : Util.Str.ReplaceHtml(HttpUtility.HtmlDecode(Received.Content)).Substring(0, 20), "mail", string.Join(",", userInfos.Select(m => m.F_UserId)), ""); | |||||
} | |||||
}); | |||||
} | |||||
} | |||||
public void PushWeixin(List<UserEntity> needpostuserlist, string title) | |||||
{ | |||||
var WeChatConfigentity = BaseRepository().FindEntity<WeChatConfigEntity>(m => m.IsEnable == true); | |||||
string appid = WeChatConfigentity.APPId; | |||||
string secret = WeChatConfigentity.secret; | |||||
var wechatemplete = BaseRepository() | |||||
.FindEntity<WeChatTemplateEntity>(m => m.WeID == WeChatConfigentity.ID && m.TCode == "task"); | |||||
string weixintaskurl = wechatemplete.TUrl; | |||||
string weixintasktempid = wechatemplete.TempId; | |||||
var responsejson = Util.HttpMethods.HttpGet("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appid + "&secret=" + secret); | |||||
foreach (UserEntity userinfo in needpostuserlist) | |||||
{ | |||||
if (userinfo != null && !string.IsNullOrEmpty(userinfo.OpenIdForWeixin)) | |||||
{ | |||||
//执行推送任务 | |||||
if (!string.IsNullOrEmpty(appid) && !string.IsNullOrEmpty(secret) && !string.IsNullOrEmpty(weixintaskurl) && !string.IsNullOrEmpty(weixintasktempid)) | |||||
{ | |||||
if (!string.IsNullOrEmpty(responsejson)) | |||||
{ | |||||
var weixintokenobj = JsonConvert.DeserializeObject<dynamic>(responsejson); | |||||
if (string.IsNullOrEmpty(weixintokenobj.errcode)) | |||||
{ | |||||
string access_token = weixintokenobj.access_token; | |||||
string jsondata = "{\"touser\":\"" + userinfo.OpenIdForWeixin + "\"," + | |||||
"\"template_id\":\"" + weixintasktempid + "\"," + | |||||
"\"url\":\"" + weixintaskurl + "/#/?page=mail\"," + | |||||
"\"data\":{" + | |||||
"\"first\": {\"value\":\"您有新的会议消息\",\"color\":\"#173177\"}," + | |||||
"\"keyword1\":{\"value\":\"未读邮件\",\"color\":\"#173177\"}," + | |||||
"\"keyword2\": {\"value\":\"" + title + "\",\"color\":\"#173177\"}," + | |||||
"\"keyword3\": {\"value\":\"待查看\",\"color\":\"#173177\"}," + | |||||
"\"keyword4\": {\"value\":\"您有新的未读会议【" + title + "】\",\"color\":\"#173177\"}" + | |||||
"}" + | |||||
"}"; | |||||
string pushresult = Util.HttpMethods.HttpPost("https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + access_token, jsondata); | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
#endregion | #endregion | ||||
} | } | ||||
@@ -222,6 +222,7 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement | |||||
if (meetEntity != null) | if (meetEntity != null) | ||||
{ | { | ||||
meetEntity.IsSignIn = true; | meetEntity.IsSignIn = true; | ||||
meetEntity.SignInTime = DateTime.Now; | |||||
this.BaseRepository("CollegeMIS").Update(meetEntity); | this.BaseRepository("CollegeMIS").Update(meetEntity); | ||||
result = true; | result = true; | ||||
@@ -1,9 +1,4 @@ | |||||
using Learun.Application.TwoDevelopment.PersonnelManagement; | using Learun.Application.TwoDevelopment.PersonnelManagement; | ||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Linq; | |||||
using System.Text; | |||||
using System.Threading.Tasks; | |||||
namespace Learun.Application.WorkFlow | namespace Learun.Application.WorkFlow | ||||
{ | { | ||||
@@ -17,6 +12,7 @@ namespace Learun.Application.WorkFlow | |||||
if (parameter.code == "agree") | if (parameter.code == "agree") | ||||
{ | { | ||||
meetingManagementIBLL.ChangeStatusByProcessId(parameter.processId, "1", parameter.userId); | meetingManagementIBLL.ChangeStatusByProcessId(parameter.processId, "1", parameter.userId); | ||||
meetingManagementIBLL.ReceivedList(parameter.processId); | |||||
} | } | ||||
else | else | ||||
{ | { | ||||
@@ -1,6 +1,6 @@ | |||||
{ | { | ||||
"name" : "智慧校园", | "name" : "智慧校园", | ||||
"appid" : "__UNI__0CE0195", | |||||
"appid" : "__UNI__3039520", | |||||
"description" : "智慧校园移动端", | "description" : "智慧校园移动端", | ||||
"versionName" : "2.1.0", | "versionName" : "2.1.0", | ||||
"versionCode" : 20100, | "versionCode" : 20100, | ||||