Browse Source

学生宿舍管理

新疆影视学院高职
zhangli 2 years ago
parent
commit
07a0b1d376
60 changed files with 5853 additions and 459 deletions
  1. +141
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Controllers/Acc_DormitoryRuleController.cs
  2. +184
    -21
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Controllers/AccommodationController.cs
  3. +245
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Controllers/DormitoryReturnController.cs
  4. +27
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Acc_DormitoryRule/Form.cshtml
  5. +62
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Acc_DormitoryRule/Form.js
  6. +27
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Acc_DormitoryRule/Index.cshtml
  7. +139
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Acc_DormitoryRule/Index.js
  8. +10
    -12
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/Corridor.cshtml
  9. +13
    -163
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/Dormitory.cshtml
  10. +4
    -4
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/DormitoryAdd.cshtml
  11. +19
    -13
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/Floor.cshtml
  12. +44
    -32
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/Form.cshtml
  13. +1
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/Form.js
  14. +12
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/FormBed.cshtml
  15. +52
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/FormBed.js
  16. +19
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/FormClass.cshtml
  17. +82
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/FormClass.js
  18. +97
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/FormClassify.cshtml
  19. +167
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/FormClassify.js
  20. +15
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/FormDept.cshtml
  21. +56
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/FormDept.js
  22. +26
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/FormRoom.cshtml
  23. +128
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/FormRoom.js
  24. +43
    -39
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/Index.cshtml
  25. +408
    -139
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/Index.js
  26. +61
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/IndexBed.cshtml
  27. +110
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/IndexBed.js
  28. +69
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/IndexClassify.cshtml
  29. +187
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/IndexClassify.js
  30. +92
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/IndexDistribution.cshtml
  31. +625
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/IndexDistribution.js
  32. +6
    -6
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/Room.cshtml
  33. +12
    -9
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/Unit.cshtml
  34. +23
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/DormitoryReturn/Form.cshtml
  35. +59
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/DormitoryReturn/Form.js
  36. +19
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/DormitoryReturn/FormOut.cshtml
  37. +61
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/DormitoryReturn/FormOut.js
  38. +19
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/DormitoryReturn/FormReturn.cshtml
  39. +61
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/DormitoryReturn/FormReturn.js
  40. +49
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/DormitoryReturn/Index.cshtml
  41. +159
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/DormitoryReturn/Index.js
  42. +49
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/DormitoryReturn/IndexReport.cshtml
  43. +131
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/DormitoryReturn/IndexReport.js
  44. +32
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj
  45. +2
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/Learun.Application.Mapping.csproj
  46. +29
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/LogisticsManagement/Acc_DormitoryReturnMap.cs
  47. +29
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/LogisticsManagement/Acc_DormitoryRuleMap.cs
  48. +8
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/Learun.Application.TwoDevelopment.csproj
  49. +148
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/Acc_DormitoryRule/Acc_DormitoryRuleBLL.cs
  50. +90
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/Acc_DormitoryRule/Acc_DormitoryRuleEntity.cs
  51. +49
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/Acc_DormitoryRule/Acc_DormitoryRuleIBLL.cs
  52. +168
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/Acc_DormitoryRule/Acc_DormitoryRuleService.cs
  53. +51
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/Accommodation/Acc_DormitoryBuildEntity.cs
  54. +254
    -6
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/Accommodation/AccommodationBLL.cs
  55. +11
    -1
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/Accommodation/AccommodationIBLL.cs
  56. +532
    -14
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/Accommodation/AccommodationService.cs
  57. +104
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/DormitoryReturn/Acc_DormitoryReturnEntity.cs
  58. +210
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/DormitoryReturn/DormitoryReturnBLL.cs
  59. +50
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/DormitoryReturn/DormitoryReturnIBLL.cs
  60. +273
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/DormitoryReturn/DormitoryReturnService.cs

+ 141
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Controllers/Acc_DormitoryRuleController.cs View File

@@ -0,0 +1,141 @@
using Learun.Util;
using System.Data;
using Learun.Application.TwoDevelopment.LogisticsManagement;
using System.Web.Mvc;
using System.Collections.Generic;
using System;

namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers
{
/// <summary>
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
/// 创 建:超级管理员
/// 日 期:2022-03-14 12:05
/// 描 述:宿舍晚归规则
/// </summary>
public class Acc_DormitoryRuleController : MvcControllerBase
{
private Acc_DormitoryRuleIBLL acc_DormitoryRuleIBLL = new Acc_DormitoryRuleBLL();

#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 = acc_DormitoryRuleIBLL.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 Acc_DormitoryRuleData = acc_DormitoryRuleIBLL.GetAcc_DormitoryRuleEntity(keyValue);
var jsonData = new
{
Acc_DormitoryRule = Acc_DormitoryRuleData,
};
return Success(jsonData);
}
#endregion

#region 提交数据

/// <summary>
/// 删除实体数据
/// </summary>
/// <param name="keyValue">主键</param>
/// <returns></returns>
[HttpPost]
[AjaxOnly]
public ActionResult DeleteForm(string keyValue)
{
acc_DormitoryRuleIBLL.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)
{
Acc_DormitoryRuleEntity entity = strEntity.ToObject<Acc_DormitoryRuleEntity>();
DateTime time;
bool flag = DateTime.TryParse(entity.LateReturnTime, out time);
if (!flag)
{
return Fail("晚归时间格式不正确!");
}

if (!(entity.PushHour >= 0 && entity.PushHour <= 23))
{
return Fail("推送时间点填写不正确!");
}

var model = acc_DormitoryRuleIBLL.GetEnableEntity();
if (entity.IsEnable == 1)
{
if (string.IsNullOrEmpty(keyValue) && model != null)
{
return Fail("只能有一个启用的规则!");
}
else if (!string.IsNullOrEmpty(keyValue) && model != null && model.Id != keyValue)
{
return Fail("只能有一个启用的规则!");
}
}
acc_DormitoryRuleIBLL.SaveEntity(keyValue, entity);

return Success("保存成功!");
}
#endregion

}
}

+ 184
- 21
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Controllers/AccommodationController.cs View File

@@ -7,6 +7,7 @@ using System.Web.Helpers;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Linq;

namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers
{
@@ -32,26 +33,31 @@ namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers
{
return View();
}
///// <summary>
///// 表单页
///// <summary>
///// <returns></returns>
//[HttpGet]
//public ActionResult Form()
//{
// return View();
//}
/// <summary>
/// 分配宿舍
/// <summary>
/// <returns></returns>
[HttpGet]
public ActionResult IndexDistribution()
{
return View();
}

/// <summary>
/// 带参数的表单页
/// <summary>
/// <returns></returns>
[HttpGet]
public ActionResult Form(string ParentID = null, string ParentName = null)
public ActionResult Form(string ParentID = null, string ParentName = null, string keyValue = null)
{
ViewBag.ParentID = ParentID;
ViewBag.ParentName = ParentName;
ViewBag.BuildType = accommodationIBLL.GetBuildType(ParentID);
if (!string.IsNullOrEmpty(keyValue))
{
ViewBag.BuildType = accommodationIBLL.GetParentBuildType(keyValue);
}

return View();
}

@@ -137,9 +143,70 @@ namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers
return View();
}

/// <summary>
/// 分配系
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult FormDept()
{
return View();
}



/// <summary>
/// 分配专业和班级
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult FormClass()
{
return View();
}
/// <summary>
/// 分配宿舍
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult FormRoom()
{
return View();
}
/// <summary>
/// 床位管理
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult IndexBed()
{
return View();
}
/// <summary>
/// 床位管理
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult FormBed()
{
return View();
}
/// <summary>
/// 分类管理
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult FormClassify()
{
return View();
}
/// <summary>
/// 分类管理
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult IndexClassify()
{
return View();
}


#endregion
@@ -167,6 +234,38 @@ namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers
return Success(jsonData);
}

/// <summary>
/// 获取床位数据
/// <summary>
/// <param name="RoomId">查询参数</param>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetBedListByRoomId(string RoomId)
{
var data = accommodationIBLL.GetBedListByRoomId(RoomId).OrderBy(x => x.DNo);
return Success(data);
}
/// <summary>
/// 获取分类数据
/// <summary>
/// <param name="queryJson"></param>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetClassifyList(string pagination, string queryJson)
{
Pagination paginationobj = pagination.ToObject<Pagination>();
var data = accommodationIBLL.GetClassifyList(paginationobj, queryJson).OrderBy(x => x.DNo);
//var jsonData = new
//{
// rows = data,
// total = paginationobj.total,
// page = paginationobj.page,
// records = paginationobj.records
//};
return Success(data);
}

/// <summary>
/// 获取宿舍楼数据
@@ -269,6 +368,19 @@ namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers
var data = accommodationIBLL.GetTreeNew();
return Success(data);
}
/// <summary>
/// 获取上级树形数据
/// <summary>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetClassifyTree()
{
var data = accommodationIBLL.GetClassifyTree();
return Success(data);
}


#endregion

#region 提交数据
@@ -286,6 +398,18 @@ namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers
return Success("删除成功!");
}
/// <summary>
/// 删除
/// <param name="keyValue">主键</param>
/// <summary>
/// <returns></returns>
[HttpPost]
[AjaxOnly]
public ActionResult DeleteBed(string keyValue, string ParentID)
{
accommodationIBLL.DeleteBed(keyValue, ParentID);
return Success("删除成功!");
}
/// <summary>
/// 保存实体数据(新增、修改)
/// <param name="keyValue">主键</param>
/// <summary>
@@ -299,7 +423,54 @@ namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers
accommodationIBLL.SaveEntity(keyValue, entity);
return Success("保存成功!");
}
/// <summary>
/// 保存实体数据(新增、修改)
/// <param name="keyValue">主键</param>
/// <summary>
/// <returns></returns>
[HttpPost]
[ValidateAntiForgeryToken]
[AjaxOnly]
public ActionResult SaveBedForm(string keyValue, string ParentID, string strEntity)
{
Acc_DormitoryBuildEntity entity = strEntity.ToObject<Acc_DormitoryBuildEntity>();
accommodationIBLL.SaveBedEntity(keyValue, ParentID, entity);
return Success("保存成功!");
}

/// <summary>
/// 寝室分配系
/// <param name="keyValue">主键</param>
/// <summary>
/// <returns></returns>
[HttpPost]
[ValidateAntiForgeryToken]
[AjaxOnly]
public ActionResult SaveDeptClass(string keyValue, string strEntity, int type)
{
Acc_DormitoryBuildEntity entity = strEntity.ToObject<Acc_DormitoryBuildEntity>();
accommodationIBLL.SaveDeptClass(keyValue, entity, type);
return Success("保存成功!");
}

/// <summary>
/// 寝室分配床位
/// <summary>
/// <returns></returns>
[HttpPost]
[ValidateAntiForgeryToken]
[AjaxOnly]
public ActionResult SaveRoom(string RoomId, List<Acc_DormitoryBuildEntity> list)
{
//List<Acc_DormitoryBuildEntity> list = strEntity.ToObject<List<Acc_DormitoryBuildEntity>>();
string res = accommodationIBLL.SaveRoom(RoomId, list);
if (!string.IsNullOrEmpty(res))
{
return Fail(res);
}

return Success("保存成功!");
}

/// <summary>
/// 学生宿舍的单元、楼层、房间、床位添加
@@ -312,11 +483,6 @@ namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers
[AjaxOnly]
public ActionResult DormitoryAdd(string keyValue, string strEntity)
{
//dynamic entity = JsonConvert.DeserializeObject(strEntity);
//var ElementNum = entity.ElementNum;
//var FloorNum = entity.FloorNum;
//var RoomNum = entity.RoomNUm;
//var BedNum = entity.BedNum;
JObject jsonEntity = JObject.Parse(strEntity);

var elementNum = int.Parse(jsonEntity["ElementNum"].ToString());
@@ -344,7 +510,7 @@ namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers


}
/// <summary>
/// 同步宿舍信息数据
/// </summary>
@@ -353,10 +519,7 @@ namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers
{
accommodationIBLL.SyncData();
return Success("同步成功");


}
//public ActionResult DormitoryAdd(string a,string )

#endregion



+ 245
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Controllers/DormitoryReturnController.cs View File

@@ -0,0 +1,245 @@
using Learun.Util;
using System.Data;
using Learun.Application.TwoDevelopment.LogisticsManagement;
using System.Web.Mvc;
using System.Collections.Generic;
using System.Linq;
using System;

namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers
{
/// <summary>
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
/// 创 建:超级管理员
/// 日 期:2022-03-10 10:06
/// 描 述:学生归宿管理
/// </summary>
public class DormitoryReturnController : MvcControllerBase
{
private DormitoryReturnIBLL dormitoryReturnIBLL = new DormitoryReturnBLL();
private AccommodationIBLL accommodationIBLL = new AccommodationBLL();

#region 视图功能

/// <summary>
/// 主页面
/// <summary>
/// <returns></returns>
[HttpGet]
public ActionResult Index()
{
return View();
}
/// <summary>
/// 表单页
/// <summary>
/// <returns></returns>
[HttpGet]
public ActionResult Form()
{
return View();
}
/// <summary>
/// 表单页
/// <summary>
/// <returns></returns>
[HttpGet]
public ActionResult FormOut()
{
return View();
}

/// <summary>
/// 表单页
/// <summary>
/// <returns></returns>
[HttpGet]
public ActionResult FormReturn()
{
return View();
}
/// <summary>
/// 表单页
/// <summary>
/// <returns></returns>
[HttpGet]
public ActionResult IndexReport()
{
return View();
}

#endregion

#region 获取数据
/// <summary>
/// 获取左侧树形数据
/// <summary>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetTree()
{
var data = dormitoryReturnIBLL.GetTree();
return Success(data);
}
/// <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 = dormitoryReturnIBLL.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 Acc_DormitoryReturnData = dormitoryReturnIBLL.GetAcc_DormitoryReturnEntity(keyValue);
var jsonData = new
{
Acc_DormitoryReturn = Acc_DormitoryReturnData,
};
return Success(jsonData);
}
/// <summary>
/// 获取下拉框数据
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult GetDept()
{
var data = accommodationIBLL.GetDept();
return Success(data);
}
/// <summary>
/// 获取下拉框数据
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult GetMajor(string strWhere)
{
var data = accommodationIBLL.GetMajor(strWhere);

return Success(data);
}
/// <summary>
/// 获取下拉框数据
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult GetClass(string strWhere)
{
var data = accommodationIBLL.GetClass(strWhere);

return Success(data);
}

[HttpGet]
public ActionResult GetReportList(string queryJson)
{
List<Acc_DormitoryBuildEntity> data = dormitoryReturnIBLL.GetReportList(queryJson).ToList();
var list = data.GroupBy(a => a.IsReturn).Select(a => new { a.Key, num = a.Count() }).ToList();
List<object> list2 = new List<object>();
foreach (var item in list)
{
var name = item.Key == 1 ? "已归宿" : "未归宿";
list2.Add(new { name = name, value = item.num });

}
return JsonResult(list2);
}
/// <summary>
///
/// </summary>
/// <returns></returns>
public ActionResult GetReportData(string queryJson)
{
List<Acc_DormitoryBuildEntity> data = dormitoryReturnIBLL.GetReportList(queryJson).ToList();
var list = data.GroupBy(a => a.IsReturn).Select(a => new { a.Key, num = a.Count() }).ToList();
List<object> list2 = new List<object>();
List<String> list1 = new List<String>();
foreach (var item in list)
{
var name = item.Key == 1 ? "已归宿" : "未归宿";
list2.Add(new { name = name, value = item.num });
list1.Add(name);

}
return Success(new { list1, list2 });
}
#endregion

#region 提交数据

/// <summary>
/// 删除实体数据
/// </summary>
/// <param name="keyValue">主键</param>
/// <returns></returns>
[HttpPost]
[AjaxOnly]
public ActionResult DeleteForm(string keyValue)
{
dormitoryReturnIBLL.DeleteEntity(keyValue);
return Success("删除成功!");
}
/// <summary>
/// 保存实体数据(新增、修改)
/// </summary>
/// <param name="keyValue">主键</param>
/// <param name="strEntity">实体</param>
/// <returns></returns>
[HttpPost]
[ValidateAntiForgeryToken]
[AjaxOnly]
public ActionResult SaveData(string keyValue, string strEntity)
{
Acc_DormitoryReturnEntity entity = strEntity.ToObject<Acc_DormitoryReturnEntity>();
dormitoryReturnIBLL.SaveData(keyValue, entity);

return Success("保存成功!");
}
/// <summary>
/// 保存实体数据(新增、修改)
/// </summary>
/// <param name="keyValue">主键</param>
/// <param name="strEntity">实体</param>
/// <returns></returns>
[HttpPost]
[ValidateAntiForgeryToken]
[AjaxOnly]
public ActionResult SaveForm(string type, string strEntity)
{
Acc_DormitoryReturnEntity entity = strEntity.ToObject<Acc_DormitoryReturnEntity>();
dormitoryReturnIBLL.SaveEntity(type, entity);

return Success("保存成功!");
}


#endregion

}
}

+ 27
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Acc_DormitoryRule/Form.cshtml View File

@@ -0,0 +1,27 @@
@{
ViewBag.Title = "宿舍晚归规则";
Layout = "~/Views/Shared/_Form.cshtml";
}
<div class="lr-form-wrap" id="form">
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryRule">
<div class="lr-form-item-title">晚归时间<font face="宋体">*</font></div>
<input id="LateReturnTime" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" placeholder="请填写时分,例如:22:00" />
</div>
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryRule">
<div class="lr-form-item-title">推送人<font face="宋体">*</font></div>
<div id="PushUser" isvalid="yes" checkexpession="NotNull"></div>
</div>
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryRule">
<div class="lr-form-item-title">推送班主任<font face="宋体">*</font></div>
<div id="ClassDiredctor"></div>
</div>
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryRule">
<div class="lr-form-item-title">推送时间点<font face="宋体">*</font></div>
<input id="PushHour" type="number" class="form-control" isvalid="yes" checkexpession="NotNull" placeholder="请填写0-23数字" />
</div>
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryRule">
<div class="lr-form-item-title">启用<font face="宋体">*</font></div>
<div id="IsEnable"></div>
</div>
</div>
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/Acc_DormitoryRule/Form.js")

+ 62
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Acc_DormitoryRule/Form.js View File

@@ -0,0 +1,62 @@
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn)
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
* 创建人:超级管理员
* 日 期:2022-03-14 12:05
* 描 述:宿舍晚归规则
*/
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 () {
$('#PushUser').lrDataSourceSelect({
code: 'teacheruserdata', value: 'f_userid', text: 'f_realname', type: 'multiple'
});

$('#ClassDiredctor').lrRadioCheckbox({
type: 'radio',
code: 'YesOrNoInt',
});
$('#IsEnable').lrRadioCheckbox({
type: 'radio',
code: 'YesOrNoInt',
});
},
initData: function () {
if (!!keyValue) {
$.lrSetForm(top.$.rootUrl + '/LogisticsManagement/Acc_DormitoryRule/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 + '/LogisticsManagement/Acc_DormitoryRule/SaveForm?keyValue=' + keyValue, postData, function (res) {
// 保存成功后才回调
if (!!callBack) {
callBack();
}
});
};
page.init();
}

+ 27
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Acc_DormitoryRule/Index.cshtml View File

@@ -0,0 +1,27 @@
@{
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>
<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>&nbsp;新增</a>
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i>&nbsp;编辑</a>
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i>&nbsp;删除</a>
<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i>&nbsp;打印</a>
</div>
</div>
</div>
<div class="lr-layout-body" id="gridtable"></div>
</div>
</div>
</div>
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/Acc_DormitoryRule/Index.js")

+ 139
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Acc_DormitoryRule/Index.js View File

@@ -0,0 +1,139 @@
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn)
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
* 创建人:超级管理员
* 日 期:2022-03-14 12:05
* 描 述:宿舍晚归规则
*/
var refreshGirdData;
var bootstrap = function ($, learun) {
"use strict";
var page = {
init: function () {
page.initGird();
page.bind();
},
bind: function () {
// 刷新
$('#lr_refresh').on('click', function () {
location.reload();
});
// 新增
$('#lr_add').on('click', function () {
learun.layerForm({
id: 'form',
title: '新增',
url: top.$.rootUrl + '/LogisticsManagement/Acc_DormitoryRule/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 + '/LogisticsManagement/Acc_DormitoryRule/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 + '/LogisticsManagement/Acc_DormitoryRule/DeleteForm', { keyValue: keyValue }, function () {
refreshGirdData();
});
}
});
}
});
// 打印
$('#lr_print').on('click', function () {
$('#gridtable').jqprintTable();
});
},
// 初始化列表
initGird: function () {
$('#gridtable').jfGrid({
url: top.$.rootUrl + '/LogisticsManagement/Acc_DormitoryRule/GetPageList',
headData: [
{ label: "晚归时间", name: "LateReturnTime", width: 100, align: "left" },
{
label: "推送人", name: "PushUser", width: 200, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
if (value.indexOf(',') != -1) {
var content = '';
var timearr = value.split(',');
for (var i = 0; i < timearr.length; i++) {
learun.clientdata.getAsync('custmerData',
{
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'teacheruserdata',
key: timearr[i],
keyId: 'f_userid',
callback: function (_data) {
content += _data['f_realname'];
}
});
}
content = content.substring(0, content.length - 1);
callback(content);
} else {
learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'teacheruserdata',
key: value,
keyId: 'f_userid',
callback: function (_data) {
callback(_data['f_realname']);
}
});
}
}
},
{
label: "推送班主任", name: "ClassDiredctor", 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: "PushHour", width: 100, align: "left" },
{
label: "启用", name: "IsEnable", width: 100, align: "left",
formatter: function (cellvalue, rowObject) {
return cellvalue == 1 ? "<i class=\"fa fa-toggle-on\"></i>" : "<i class=\"fa fa-toggle-off\"></i>";
}

},
],
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();
}

+ 10
- 12
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/Corridor.cshtml View File

@@ -58,11 +58,7 @@
<div class="indSec1T">
<a :href="'/LogisticsManagement/Accommodation/Floor'">{{dormitoryName}}</a><a :href="'/LogisticsManagement/Accommodation/Unit?ID='+dormitoryID">{{unitName}}</a>
<ul class="indSec1List">
@*<li><a href="#"><img src="/Content/images/floor/inSec1-5.png" alt="" />多条件查找宿舍楼</a></li>
<li><a href="#"><img src="/Content/images/floor/inSec1-6.png" alt="" />自动分配宿舍</a></li>*@
<li><a href="#" @@click="addFloor()"><img src="/Content/images/floor/inSec1-7.png" alt="" />添加楼层</a></li>
@*<li><a href="#"><img src="/Content/images/floor/inSec1-8.png" alt="" />批量删除</a></li>
<li><a href="#"><img src="/Content/images/floor/inSec1-9.png" alt="" />打印宿舍数据</a></li>*@
</ul>
</div>
<div class="inSec1Row">
@@ -76,7 +72,9 @@
<div class="inSec1Con inSec1Con1">
<img class="inSec1Horn" src="/Content/images/floor/inSec1-11.png" alt="" />
<div class="inSec1Con2">
<div class="inSec1ConT">{{floor.dormitory.Name}} <div class="inSec1Sex" :style="floor.dormitory.Sex | filter_style"><img :src="floor.dormitory.Sex | filter_sexImg" alt="" />{{floor.dormitory.Sex | filter_sex}}</div></div>
<div class="inSec1ConT">{{floor.dormitory.Name}}
@*<div class="inSec1Sex" :style="floor.dormitory.Sex | filter_style"><img :src="floor.dormitory.Sex | filter_sexImg" alt="" />{{floor.dormitory.Sex | filter_sex}}</div>*@
</div>
<div class="inSec1ConTxt">
<span>{{floor.RoomNum}}</span>间 <span>{{floor.BedNum}}</span>床
</div>
@@ -344,7 +342,7 @@
},
addFloor: function () {
var url = "";
url = top.$.rootUrl + '/LogisticsManagement/Accommodation/Form?ParentID=' + this.unitID + '&ParentName=' + this.unitName;
url = top.$.rootUrl + '/LogisticsManagement/Accommodation/FormClassify?ParentID=' + this.unitID + '&ParentName=' + this.unitName;
top.learun.layerForm({
id: 'form',
title: '新增',
@@ -361,7 +359,7 @@
top.learun.layerForm({
id: 'form',
title: '编辑',
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/Form?keyValue=' + id,
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/FormClassify?keyValue=' + id,
width: 600,
height: 400,
callBack: function (id) {
@@ -393,7 +391,7 @@
'<div class="laySec1L">' +
'<div class="laySec1ConTitle">' + this.dormitoryName + '&nbsp;&nbsp;' + this.unitName + '</div> ' +
'<div class="laySec1ConT">' + floor.dormitory.Name +
this.filter_sex(floor.dormitory.Sex) +
'<span style="display:none">' + this.filter_sex(floor.dormitory.Sex) + '</span>' +
'</div>' +
'<div class="laySec1R">' +
'<div><div class="laySec1Txt"><span>负&nbsp;责&nbsp;人</span>' + floor.dormitory.Functionary + '</div> <div class="laySec1Txt"><span>负责人电话</span>' + floor.dormitory.Phone + '</div></div>' +
@@ -403,14 +401,14 @@
'</div>' +
'<div class="layer_sec layer_sec2">' +
'<ul class="laySec2List">' +
'<li><span>编&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号</span>' + floor.dormitory.Name + '</li>' +
'<li><span>价&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;格</span>' + floor.dormitory.Price + ' <i>元</i></li>' +
'<li><span>编&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号</span>' + floor.dormitory.DNo + '</li>' +
'<li><span>价&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;格</span>' + (floor.dormitory.Price == null ? '' : floor.dormitory.Price) + ' <i>元</i></li>' +
'<li><span>房&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;间</span>' + floor.RoomNum + ' <i>间</i></li>' +
'<li><span>入&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;住</span>' + floor.HasStudentNum + ' <i>人</i></li>' +
'<li><span>空&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;床</span>' + floor.NoStudentNum + ' <i>床</i></li>' +
'<li><span>床&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;位</span>' + floor.BedNum + ' <i>个</i></li>' +
'<li><span>涉及院系</span>' + this.filter_Dept(floor.dormitory.Dept) + '</li>' +
'<li><span>涉及专业</span>' + this.filter_Major(floor.dormitory.Major) + '</li>' +
//'<li><span>涉及院系</span>' + this.filter_Dept(floor.dormitory.Dept) + '</li>' +
//'<li><span>涉及专业</span>' + this.filter_Major(floor.dormitory.Major) + '</li>' +
'</ul>' +
'<div class="laySec2Btn">' +
//'<a href="#"><img src="/Content/images/floor/inSec1-1.png" alt="" /></a>' +


+ 13
- 163
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/Dormitory.cshtml View File

@@ -62,11 +62,7 @@
<div class="crumbsList3"></div>
</div>
<ul class="indSec1List">
@*<li><a href="#"><img src="/Content/images/floor/inSec1-5.png" alt="" />多条件查找宿舍楼</a></li>
<li><a href="#"><img src="/Content/images/floor/inSec1-6.png" alt="" />自动分配宿舍</a></li>*@
<li><a href="#" @@click="addFloor()"><img src="/Content/images/floor/inSec1-7.png" alt="" />添加房间</a></li>
@*<li><a href="#"><img src="/Content/images/floor/inSec1-8.png" alt="" />批量删除</a></li>
<li><a href="#"><img src="/Content/images/floor/inSec1-9.png" alt="" />打印宿舍数据</a></li>*@
</ul>
</div>
<div class="inSec1Row">
@@ -118,155 +114,6 @@

<script>



//var data = {
// "rows": [
// {
// "ID": "289fb13a-8e91-4c5d-bd6b-7b7de344dc17",
// "Name": "101室",
// "Functionary": '负责人',
// "Leader": '舍长',
// "BuildType": "宿舍楼-类型",
// "CreateBy": '创建人',
// "CreateTime": '创建时间',
// "UpdateBy": '更新人',
// "UpdateTime": '更新时间',
// "Price": '价格',
// "Remark": '备注说明',
// "Phone": '负责人电话',
// "Address": '地址',
// "Campus": '校区',
// "Dept": '系',
// "Major": '专业',
// "Class": '班级',
// "Sex": "0",//性别
// "StudentID": '学生id',
// "ParentID": "父ID",
// "StuName": 'null'
// }, {
// "ID": "289fb13a-8e91-4c5d-bd6b-7b7de344dc17",
// "Name": "202室",
// "Functionary": '张丽梅',
// "Leader": '舍长',
// "BuildType": "宿舍楼-类型",
// "CreateBy": '薛礼根',
// "CreateTime": '2019-05-14',
// "UpdateBy": '薛礼根',
// "UpdateTime": '2019-05-14',
// "Price": '800~1200',
// "Remark": '备注说明',
// "Phone": '15735806069',
// "Address": '山西省小店区南中环街高新区23号',
// "Campus": '山西省小店区高新校区',
// "Dept": '数学系',
// "Major": '数学与应用数学',
// "Class": '班级',
// "Sex": "0",//性别
// "StudentID": '学生id',
// "ParentID": "父ID",
// "StuName": 'null'
// }
// ],
// "total": 1,
// "page": 1,
// "records": 10
//}
//var html = '';
//$.each(data.rows, function (i, n) {
// var floor = floorName(n.Name, 1);
// html += '<div class="inSec1Col3">' +
// '<div class="inSec1Box">' +
// '<div class="inSec1Top">' +
// '<span><span>' + floor + '</span> 室</span>' +
// '<ul class="inSec1TopList">' +
// '<li>' +
// '<a href="javascript:;"><img src="/Content/images/floor/inSec1-2.png" alt="" /></a>' +
// '<div class="inSec1Con inSec1Con1">' +
// '<img class="inSec1Horn" src="/Content/images/floor/inSec1-11.png" alt="" />' +
// '<div class="inSec1Con2">' +
// '<div class="inSec1ConT"><span>' + floor + '</span>室 <div class="inSec1Sex"><img src="/Content/images/floor/inSec1-10.png" alt="" />女生宿舍</div></div>' +
// '<div class="inSec1ConTxt">' +
// '舍长 <span>' + n.Functionary + '</span> <span>4</span>床' +
// '</div>' +
// '<div class="inSec1ConTxt">' +
// '入住 <span>4</span>人 &nbsp;&nbsp;&nbsp;&nbsp; 空闲<span>0</span>床位' +
// '</div>' +
// '<div class="inSec1Btn" index="' + i + '">查看更多信息 <i class="fa fa-angle-right"></i></div>' +
// '</div>' +
// '</div>' +
// '</li>' +
// '<li><a href="#"><img src="/Content/images/floor/inSec1-1.png" alt="" /></a></li>' +
// '<li><a href="javascript:;"><img src="/Content/images/floor/inSec1-3.png" alt="" /></a></li>' +
// '</ul>' +
// '<div class="clear"></div>' +
// '</div>' +
// '<div class="inSec1Imgs">101</div>' +
// '<div class="inSec1Img">' +
// '<a href="room"><img src="/Content/images/floor/dorm1-1.png" alt="" /></a>' +
// '<div class="inSec1ImgCon">' +
// '<div class="inSec1ImgCon1"><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i></div>' +
// '<div class="inSec1ImgCon2"><img src="/Content/images/floor/dorm1-3.png" alt="" /> 独卫</div>' +
// '<div class="inSec1ImgCon3">满</div>' +
// '</div>' +
// '</div></div></div>';
//})

//$('.inSec1Row').html(html).on('click', '.inSec1Btn', function () {
// var ind = $(this).attr('index');
// var datas = data.rows[ind];
// var floor = floorName(datas.Name, 1);
// layer.open({
// type: 1,
// closeBtn: 2,
// area: ['888px', '80%'],
// content: '<div class="layerBox unitLayer dormitoryLayer">' +
// '<div class="layer_sec1 layer_sec">' +
// '<div class="laySec1L">' +
// '<div class="laySec1ConTitle"><span>1</span>号楼&nbsp;&nbsp;<span>1</span>单元&nbsp;&nbsp;<span>1</span>层</div> ' +
// '<div class="laySec1ConT"><span>' + floor + '</span>室 ' +
// '<div class="laySec1Sex"><img src="/Content/images/floor/inSec1-10.png" alt="" />女生宿舍</div></div>' +
// '</div>' +
// '<div class="laySec1R">' +
// '<div><div class="laySec1Txt"><span>负&nbsp;责&nbsp;人</span>' + datas.Functionary + '</div> <div class="laySec1Txt"><span>负责人电话</span>' + datas.Phone + '</div></div>' +
// '<div class="laySec1Txt"><span>校&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;区</span>' + datas.Campus + '</div>' +
// '<div class="laySec1Txt"><span>地&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;址</span>' + datas.Address + '</div>' +
// '</div>' +
// '</div>' +
// '<div class="layer_sec layer_sec2">' +
// '<ul class="laySec2List">' +
// '<li><span>编&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号</span>001</li>' +
// '<li><span>价&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;格</span>' + datas.Price + ' <i>元</i></li>' +
// '<li><span>舍&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;长</span>' + datas.Leader + '</li>' +
// '<li><span>入&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;住</span>4 <i>人</i></li>' +
// '<li><span>床&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;位</span>4 <i>个</i></li>' +
// '<li><span>空&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;床</span>0 <i>床</i></li>' +
// '<li><span>涉及院系</span>' + datas.Dept + '</li>' +
// '<li><span>涉及专业</span>' + datas.Major + '</li>' +
// '<li><span>卫生等级</span><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i></li>' +
// '<li><span>卫&nbsp;生&nbsp;间</span>0 <i>床</i></li>' +
// '</ul>' +
// '<div class="laySec2Btn">' +
// '<a href="#"><img src="/Content/images/floor/inSec1-1.png" alt="" /></a>' +
// '<a href="#"><img src="/Content/images/floor/inSec1-3.png" alt="" /></a>' +
// '<a href="#"><img src="/Content/images/floor/inSec1-12.png" alt="" /></a>' +
// '</div>' +
// '</div>' +
// '<div class="layer_sec layer_sec2 layer_sec4">' +
// '<ul class="laySec2List">' +
// '<li><span>创 建 人 </span>' + datas.CreateBy + '</li>' +
// '<li><span>创建时间 </span>' + datas.CreateTime + '</li>' +
// '<li><span>更 新 人</span>' + datas.UpdateBy + ' </li>' +
// '<li><span>更新时间</span>' + datas.UpdateTime + ' </li>' +
// '</ul>' +
// '</div>' +
// '<img class="layerImg" src="/Content/images/floor/dorm1-2.png" alt="" />' +
// '<div class="inSec1Imgs">' + datas.Name + '</div>' +
// '</div>'
// })
//})


var parentID='@ViewBag.ParentID';
var vm = new Vue({
el: "#app",
@@ -302,7 +149,8 @@
}.bind(this), 1000);
},
filter_Dept: function (value) {
var result;
var result = '';
if (!!value) {
top.learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo',
key: value,
@@ -310,20 +158,22 @@
callback: function (_data) {
result = _data.deptname;
}
});
});
}
return result;
},
filter_Major: function (value) {
var result;
var result = '';
if (!!value) {
top.learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo',
key: value,
keyId: 'id',
keyId: 'majorno',
callback: function (_data) {
result = _data.majorname;

}
});
});}
return result;

},
@@ -384,8 +234,8 @@
id: 'form',
title: '新增',
url: url,
width: 600,
height: 400,
width: 900,
height: 500,
callBack: function (id) {
return top[id].acceptClick(this.laterGetData());
}.bind(this)
@@ -397,8 +247,8 @@
id: 'form',
title: '编辑',
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/Form?keyValue=' + id,
width: 600,
height: 400,
width: 900,
height: 500,
callBack: function (id) {
return top[id].acceptClick(this.laterGetData());
}.bind(this)
@@ -439,7 +289,7 @@
'<div class="layer_sec layer_sec2">' +
'<ul class="laySec2List">' +
'<li><span>编&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号</span>' + floor.dormitory.Name + '</li>' +
'<li><span>价&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;格</span>' + floor.dormitory.Price + ' <i>元</i></li>' +
'<li><span>价&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;格</span>' + (floor.dormitory.Price == null ? '' : floor.dormitory.Price) + ' <i>元</i></li>' +
'<li><span>舍&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;长</span>' + floor.dormitory.Leader + '</li>' +
'<li><span>入&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;住</span>' + floor.HasStudentNum + ' <i>人</i></li>' +
'<li><span>空&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;床</span>' + floor.NoStudentNum + ' <i>床</i></li>' +


+ 4
- 4
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/DormitoryAdd.cshtml View File

@@ -8,19 +8,19 @@
<div class="lr-form-wrap">
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">每栋楼单元数量</div>
<input id="ElementNum" type="text" class="form-control" />
<input id="ElementNum" type="number" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">每单元楼层数量</div>
<input id="FloorNum" type="text" class="form-control" />
<input id="FloorNum" type="number" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">每楼层房间数量</div>
<input id="RoomNum" type="text" class="form-control" />
<input id="RoomNum" type="number" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">每房间床位数量</div>
<input id="BedNum" type="text" class="form-control" />
<input id="BedNum" type="number" class="form-control" />
</div>
</div>
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/Accommodation/DormitoryAdd.js")


+ 19
- 13
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/Floor.cshtml View File

@@ -57,8 +57,7 @@
@*山西省小店区高新校区*@

<ul class="indSec1List">
@*<li><a href="#"><img src="/Content/images/floor/inSec1-5.png" alt="" />多条件查找宿舍楼</a></li>*@
<li><a href="#" @@click="allocation()"><img src="/Content/images/floor/inSec1-6.png" alt="" />自动分配宿舍</a></li>
@*<li><a href="#" @@click="allocation()"><img src="/Content/images/floor/inSec1-6.png" alt="" />自动分配宿舍</a></li>*@
<li><a href="#" @@click="addFloor()"><img src="/Content/images/floor/inSec1-7.png" alt="" />添加宿舍楼</a></li>
@*<li><a href="#"><img src="/Content/images/floor/inSec1-8.png" alt="" />批量删除</a></li>*@
@*<li><a href="#"><img src="/Content/images/floor/inSec1-9.png" alt="" />打印宿舍数据</a></li>*@
@@ -75,7 +74,10 @@
<div class="inSec1Con inSec1Con1">
<img class="inSec1Horn" src="/Content/images/floor/inSec1-11.png" alt="" />
<div class="inSec1Con2">
<div class="inSec1ConT">{{floor.dormitory.Name}} <div class="inSec1Sex" :style="floor.dormitory.Sex | filter_style"><img :src="floor.dormitory.Sex | filter_sexImg" alt="" />{{floor.dormitory.Sex | filter_sex}}</div></div>
<div class="inSec1ConT">
{{floor.dormitory.Name}}
@*<div class="inSec1Sex" :style="floor.dormitory.Sex | filter_style"><img :src="floor.dormitory.Sex | filter_sexImg" alt="" />{{floor.dormitory.Sex | filter_sex}}</div>*@
</div>
<div class="inSec1ConTxt">
<span>{{floor.UnitNum}}</span>单元 <span>{{floor.floorNum}}</span>层 <span>{{floor.RoomNum}}</span>间
</div>
@@ -131,7 +133,7 @@
}.bind(this), 1000);
},
filter_Dept: function (value) {
var result;
var result = '';
top.learun.clientdata.getAsync('custmerData', {
sync: true,
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo',
@@ -144,7 +146,7 @@
return result;
},
filter_Major: function (value) {
var result;
var result = '';
top.learun.clientdata.getAsync('custmerData', {
sync: true,
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo',
@@ -195,7 +197,7 @@
},
addFloor: function () {
var url = "";
url = top.$.rootUrl + '/LogisticsManagement/Accommodation/Form';
url = top.$.rootUrl + '/LogisticsManagement/Accommodation/FormClassify';
top.learun.layerForm({
id: 'form',
title: '新增',
@@ -212,7 +214,7 @@
top.learun.layerForm({
id: 'form',
title: '编辑',
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/Form?keyValue=' + id,
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/FormClassify?keyValue=' + id,
width: 600,
height: 400,
callBack: function (id) {
@@ -234,7 +236,10 @@
var echarts1;
//圆形图
var i = 0;
var g = (floor.HasStudentNum / floor.BedNum) * 100 + "%";
var g = "0%";
if (!!floor.HasStudentNum && !!floor.BedNum && floor.HasStudentNum != 0 && floor.BedNum != 0) {
g = ((floor.HasStudentNum / floor.BedNum) * 100).toFixed(2) + "%";
}
layer.open({
type: 1,
closeBtn: 2,
@@ -243,7 +248,8 @@
'<img class="layerImg" src="/Content/images/floor/inSec1-4.png" alt="" />' +
'<div class="layer_sec1 layer_sec">' +
'<div class="laySec1L">' +
'<div class="laySec1ConT">' + floor.dormitory.Name + this.filter_sex(floor.dormitory.Sex) +
'<div class="laySec1ConT">' + floor.dormitory.Name +
'<span style="display:none">' + this.filter_sex(floor.dormitory.Sex) + '</span>' +
'</div>' +
'<div class="laySec1R">' +
'<div><div class="laySec1Txt"><span>负&nbsp;责&nbsp;人</span>' + floor.dormitory.Functionary + '</div> <div class="laySec1Txt"><span>负责人电话</span>' + floor.dormitory.Phone + '</div></div>' +
@@ -253,16 +259,16 @@
'</div>' +
'<div class="layer_sec layer_sec2">' +
'<ul class="laySec2List">' +
'<li><span>编&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号</span>' + floor.dormitory.Name + '</li>' +
'<li><span>价&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;格</span>' + floor.dormitory.Price + ' <i>元</i></li>' +
'<li><span>编&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号</span>' + floor.dormitory.DNo + '</li>' +
'<li><span>价&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;格</span>' + (floor.dormitory.Price == null ? '' : floor.dormitory.Price) + ' <i>元</i></li>' +
'<li><span>单&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;元</span>' + floor.UnitNum + ' <i>个</i></li>' +
'<li><span>入&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;住</span>' + floor.HasStudentNum + ' <i>人</i></li>' +
'<li><span>楼&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;层</span>' + floor.floorNum + ' <i>层</i></li>' +
'<li><span>空&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;床</span>' + floor.NoStudentNum + ' <i>床</i></li>' +
'<li><span>房&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;间</span>' + floor.RoomNum + ' <i>间</i></li>' +
'<li><span>涉及院系</span>' + this.filter_Dept(floor.dormitory.Dept) + '</li>' +
//'<li><span>涉及院系</span>' + this.filter_Dept(floor.dormitory.Dept) + '</li>' +
'<li><span>床&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;位</span>' + floor.UnitNum + ' <i>个</i></li>' +
'<li><span>涉及专业</span>' + this.filter_Major(floor.dormitory.Major) + '</li>' +
// '<li><span>涉及专业</span>' + this.filter_Major(floor.dormitory.Major) + '</li>' +
'</ul>' +
'<div class="laySec2Btn">' +
//'<a href="#"><img @@click="update(floor.dormitory.ID)" src="/Content/images/floor/inSec1-1.png" alt="" /></a>' +


+ 44
- 32
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/Form.cshtml View File

@@ -3,13 +3,23 @@
Layout = "~/Views/Shared/_Form.cshtml";
}
<div class="lr-form-wrap">
@*<input value="@ViewBag.BuildType"/>*@
@if (ViewBag.ParentID != null)
{
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">上级</div>
<input id="ParentID" type="hidden" value="@ViewBag.ParentID" />
<input type="text" class="form-control" value="@ViewBag.ParentName" readonly="readonly" />
</div>

}
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">名称</div>
<input id="Name" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">学生</div>
<div id="StudentID"></div>
<div class="lr-form-item-title">编号<font face="宋体">*</font></div>
<input id="DNo" type="number" class="form-control" isvalid="yes" checkexpession="NotNull" />
</div>

<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
@@ -20,36 +30,23 @@
<div class="lr-form-item-title">类别<font face="宋体">*</font></div>
<div id="BuildType" isvalid="yes" checkexpession="NotNull"></div>
</div>
@if (ViewBag.ParentID != null)
{
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">父单位</div>
<input id="ParentID" type="hidden" value="@ViewBag.ParentID" />
<label class="form-control">@ViewBag.ParentName</label>
</div>

}

<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">校区</div>
<div id="Campus"></div>
</div>
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">系</div>
<div id="Dept"></div>
</div>
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">专业</div>
<div id="Major"></div>
</div>
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">班级</div>
<div id="Class"></div>
</div>
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">性别</div>
<div id="Sex"></div>
</div>
@*<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">系</div>
<div id="Dept"></div>
</div>
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">专业</div>
<div id="Major"></div>
</div>
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">班级</div>
<div id="Class"></div>
</div>*@
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">负责人</div>
<input id="Functionary" type="text" class="form-control" />
@@ -62,16 +59,25 @@
<div class="lr-form-item-title">价格</div>
<input id="Price" type="text" class="form-control" />
</div>
@*<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">顺序</div>
<input id="sort" type="number" class="form-control"/>
</div>*@

@if (ViewBag.BuildType == "4")
@if (ViewBag.BuildType == "3")
{
//寝室信息
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">性别</div>
<div id="Sex"></div>
</div>
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">舍长</div>
<input id="Leader" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">学生名字</div>
<input id="StudentID" type="text" class="form-control" />
<div class="lr-form-item-title">几人寝<font face="宋体">*</font></div>
<input id="RoomType" type="number" class="form-control" isvalid="yes" checkexpession="NotNull"/>
</div>
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">星级</div>
@@ -82,10 +88,16 @@
<div id="HasToilet"></div>
</div>
}

@if (ViewBag.BuildType == "4")
{
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">学生名字</div>
<input id="StudentID" type="text" class="form-control" />
</div>
}
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">备注</div>
<textarea id="Remark" class="form-control" style="height:100px;"></textarea>
<textarea id="Remark" class="form-control" style="height: 100px;"></textarea>
</div>
</div>
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/Accommodation/Form.js")

+ 1
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/Form.js View File

@@ -25,6 +25,7 @@ var bootstrap = function ($, learun) {
code: 'HasToilet',
})
$('#BuildType').lrDataItemSelect({ code: 'BuildType' });
//$('#StudentID').lrDataSourceSelect({ code: 'StuInfoBasic', value: 'stuid', text: 'stuname' });
//$('#StudentID').lrDataSourceSelect({ code: 'StuInfoTwo', value: 'stuid', text: 'stuname' });
$('#StudentID').lrselect({


+ 12
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/FormBed.cshtml View File

@@ -0,0 +1,12 @@
@{
ViewBag.Title = "学生宿舍管理";
Layout = "~/Views/Shared/_Form.cshtml";
}
<div class="lr-form-wrap">
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">名称</div>
<input id="Name" type="text" class="form-control" />
</div>
</div>
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/Accommodation/FormBed.js")

+ 52
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/FormBed.js View File

@@ -0,0 +1,52 @@
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
* Copyright (c) 2013-2018 北京泉江科技有限公司
* 创建人:超级管理员
* 日 期:2019-04-26 15:02
* 描 述:学生宿舍管理
*/
var acceptClick;
var keyValue = request('keyValue');
var ParentID = request('ParentID');
var bootstrap = function ($, learun) {
"use strict";
var page = {
init: function () {
$('.lr-form-wrap').lrscroll();
page.bind();
page.initData();
},
bind: function () {

},
initData: function () {
if (!!keyValue) {
$.lrSetForm(top.$.rootUrl + '/LogisticsManagement/Accommodation/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 + '/LogisticsManagement/Accommodation/SaveBedForm?keyValue=' + keyValue + '&ParentID=' + ParentID, postData, function (res) {
// 保存成功后才回调
if (!!callBack) {
callBack();
}
});
};
page.init();
}

+ 19
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/FormClass.cshtml View File

@@ -0,0 +1,19 @@

@{
ViewBag.Title = "FormClass";
Layout = "~/Views/Shared/_Form.cshtml";
}

<div class="lr-form-wrap">
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">专业<font face="宋体">*</font></div>
<div id="Major" isvalid="yes" checkexpession="NotNull"></div>
</div>
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">班级<font face="宋体">*</font></div>
<div id="Class" isvalid="yes" checkexpession="NotNull"></div>
</div>
</div>
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/Accommodation/FormClass.js")



+ 82
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/FormClass.js View File

@@ -0,0 +1,82 @@
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
* Copyright (c) 2013-2018 北京泉江科技有限公司
* 创建人:超级管理员
* 日 期:2019-04-26 15:02
* 描 述:学生宿舍管理
*/
var acceptClick;
var Dept = request('Dept');
var keyValue = request('keyValue');
var bootstrap = function ($, learun) {
"use strict";
var page = {
init: function () {
$('.lr-form-wrap').lrscroll();
page.bind();
page.initData();
},
bind: function () {

$('#Class').lrselect({
value: "classno",
text: "classname"
});

$('#Major').lrselect({
value: "majorno",
text: "majorname",
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable',
param: { code: "CdMajorInfo", strWhere: "DeptNo='" + Dept + "'" },
select: function (item) {
if (item) {
$('#Class').lrselectRefresh({
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable',
param: { code: "bjsj", strWhere: "DeptNo='" + item.deptno + "' and majorno='" + item.majorno + "'" }
});
}

}
});


$('#Class').on("click",
function () {
//var data1 = $('#Dept').lrselectGet();
var data2 = $('#Major').lrselectGet();
if (!data2) {
learun.alert.error('请先选择专业');
}
});
},
initData: function () {
if (!!keyValue) {
$.lrSetForm(top.$.rootUrl + '/LogisticsManagement/Accommodation/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 + '/LogisticsManagement/Accommodation/SaveDeptClass?type=2&keyValue=' + keyValue, postData, function (res) {
// 保存成功后才回调
if (!!callBack) {
callBack();
}
});
};
page.init();
}

+ 97
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/FormClassify.cshtml View File

@@ -0,0 +1,97 @@
@{
ViewBag.Title = "学生宿舍管理";
Layout = "~/Views/Shared/_Form.cshtml";
}
<div class="lr-form-wrap">
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">上级</div>
<div id="ParentID" ></div>
</div>
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">名称<font face="宋体">*</font></div>
<input id="Name" type="text" class="form-control" isvalid="yes" checkexpession="NotNull"/>
</div>
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">编号<font face="宋体">*</font></div>
<input id="DNo" type="number" class="form-control" isvalid="yes" checkexpession="NotNull" />
</div>

<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">位置</div>
<input id="Address" type="text" class="form-control"/>
</div>
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">类别<font face="宋体">*</font></div>
<div id="BuildType" isvalid="yes" checkexpession="NotNull" ></div>
</div>

<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">校区</div>
<div id="Campus"></div>
</div>
@*<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">系</div>
<div id="Dept"></div>
</div>
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">专业</div>
<div id="Major"></div>
</div>
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">班级</div>
<div id="Class"></div>
</div>*@
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">负责人</div>
<input id="Functionary" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">负责人电话</div>
<input id="Phone" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">价格</div>
<input id="Price" type="text" class="form-control" />
</div>
@*<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">顺序</div>
<input id="sort" type="number" class="form-control"/>
</div>*@

@if (ViewBag.BuildType == "3")
{
//寝室信息
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">性别</div>
<div id="Sex"></div>
</div>
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">舍长</div>
<input id="Leader" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">几人寝<font face="宋体">*</font></div>
<input id="RoomType" type="number" class="form-control" isvalid="yes" checkexpession="NotNull"/>
</div>
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">星级</div>
<input id="Starred" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">是否独卫</div>
<div id="HasToilet"></div>
</div>
}
@if (ViewBag.BuildType == "4")
{
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">学生名字</div>
<input id="StudentID" type="text" class="form-control" />
</div>
}
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">备注</div>
<textarea id="Remark" class="form-control" style="height: 100px;"></textarea>
</div>
</div>
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/Accommodation/FormClassify.js")

+ 167
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/FormClassify.js View File

@@ -0,0 +1,167 @@
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
* Copyright (c) 2013-2018 北京泉江科技有限公司
* 创建人:超级管理员
* 日 期:2019-04-26 15:02
* 描 述:学生宿舍管理
*/
var acceptClick;
var keyValue = request('keyValue');
var ParentID = request('ParentID');
var bootstrap = function ($, learun) {
"use strict";
var page = {
init: function () {
$('.lr-form-wrap').lrscroll();
page.bind();
page.initData();
page.initSelect();
},
bind: function () {
$('#BuildType').lrDataItemSelect({ code: 'BuildType' });
// 上级
$('#ParentID').lrselect({
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/GetClassifyTree',
type: 'tree',
allowSearch: true,
maxHeight: 225,
select: function (item) {
if (item&&item.id!='-1') {
$('#BuildType').lrselectSet(item.title);
$('#BuildType').attr('readonly', 'readonly');
} else {
$('#BuildType').lrselectSet('1');
$('#BuildType').removeAttr('readonly');
}
}
});

$('#Sex').lrRadioCheckbox({
type: 'radio',
code: 'usersex',
});
$("#HasToilet").lrRadioCheckbox({
type: 'radio',
code: 'HasToilet',
})
//$('#StudentID').lrDataSourceSelect({ code: 'StuInfoBasic', value: 'stuid', text: 'stuname' });
//$('#StudentID').lrDataSourceSelect({ code: 'StuInfoTwo', value: 'stuid', text: 'stuname' });
$('#StudentID').lrselect({
value: "stuid",
text: "stuname",
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=StuInfoBasic'
});
$('#Class').lrselect({
value: "classno",
text: "classname"
});

$('#Dept').lrselect({
value: "deptno",
text: "deptname",
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=CdDeptInfo',
select: function (item) {
if (item) {
$('#Major').lrselectRefresh({
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable',
param: { code: "CdMajorInfo", strWhere: "DeptNo='" + item.deptno + "'" }
});
}
else {
$('#Major').lrselectRefresh({
url: "",
data: []
});
}
$('#Class').lrselectRefresh({
url: "",
data: []
});
}
});
$('#Major').lrselect({
value: "majorno",
text: "majorname",
select: function (item) {
if (item) {
$('#Class').lrselectRefresh({
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable',
param: { code: "bjsj", strWhere: "DeptNo='" + item.deptno + "' and majorno='" + item.majorno + "'" }
});
}

}
});


$('#Major').on("click",
function () {
var data = $('#Dept').lrselectGet();
if (!data) {
learun.alert.error('请先选择系');
}
});
$('#Class').on("click",
function () {
var data1 = $('#Dept').lrselectGet();
var data2 = $('#Major').lrselectGet();
if (!data1 || !data2) {
learun.alert.error('请先选择系和专业');
}
});
},
initData: function () {

if (!!keyValue) {
$.lrSetForm(top.$.rootUrl + '/LogisticsManagement/Accommodation/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]);
}
}
});
} else {
$('#ParentID').lrselectSet(ParentID);
}
},
initSelect: function () {
var dfop = {
type: 'tree',
// 展开最大高度
maxHeight: 200,
// 是否允许搜索
allowSearch: true,
// 访问数据接口地址
url: top.$.rootUrl + '/LR_OrganizationModule/Company/GetTree',
// 访问数据接口参数
param: { parentId: '0' },
}
$('#Campus').lrselect(dfop);

}
};
// 保存数据
acceptClick = function (callBack) {
if (!$('body').lrValidform()) {
return false;
}
var strEntity = $('body').lrGetFormData();
if (!strEntity.ParentID && strEntity.BuildType != '1') {
return learun.alert.warning("请选择上级!");
}
var postData = {
strEntity: JSON.stringify(strEntity)
};
$.lrSaveForm(top.$.rootUrl + '/LogisticsManagement/Accommodation/SaveForm?keyValue=' + keyValue, postData, function (res) {
// 保存成功后才回调
if (!!callBack) {
callBack();
}
});
};
page.init();
}

+ 15
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/FormDept.cshtml View File

@@ -0,0 +1,15 @@

@{
ViewBag.Title = "Allocation";
Layout = "~/Views/Shared/_Form.cshtml";
}

<div class="lr-form-wrap">
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryBuild">
<div class="lr-form-item-title">系部<font face="宋体">*</font></div>
<div id="Dept" isvalid="yes" checkexpession="NotNull"></div>
</div>
</div>
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/Accommodation/FormDept.js")



+ 56
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/FormDept.js View File

@@ -0,0 +1,56 @@
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
* Copyright (c) 2013-2018 北京泉江科技有限公司
* 创建人:超级管理员
* 日 期:2019-04-26 15:02
* 描 述:学生宿舍管理
*/
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 () {
$('#Dept').lrselect({
value: "deptno",
text: "deptname",
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=CdDeptInfo',
allowSearch:true
});
},
initData: function () {
if (!!keyValue) {
$.lrSetForm(top.$.rootUrl + '/LogisticsManagement/Accommodation/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 + '/LogisticsManagement/Accommodation/SaveDeptClass?type=1&keyValue=' + keyValue, postData, function (res) {
// 保存成功后才回调
if (!!callBack) {
callBack();
}
});
};
page.init();
}

+ 26
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/FormRoom.cshtml View File

@@ -0,0 +1,26 @@

@{
ViewBag.Title = "FormClass";
Layout = "~/Views/Shared/_Form.cshtml";
}
<style>
.div12 {
padding-left: 5px;
}
</style>
<div class="lr-form-wrap" id="content">
@*<div class="col-xs-12 lr-form-item div12">
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">床位</div>
<input id="Name" readonly="readonly" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">学生</div>
<div class="Student" id="1"></div>
</div>
</div>*@

</div>
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/Accommodation/FormRoom.js")



+ 128
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/FormRoom.js View File

@@ -0,0 +1,128 @@
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
* Copyright (c) 2013-2018 北京泉江科技有限公司
* 创建人:超级管理员
* 日 期:2019-04-26 15:02
* 描 述:学生宿舍管理
*/
var acceptClick;
var Class = request('Class');
var keyValue = request('keyValue');
var Sex = request('Sex');
var arr = [];
var bootstrap = function ($, learun) {
"use strict";
var page = {
init: function () {
$('.lr-form-wrap').lrscroll();
page.bind();
page.initData();
},
bind: function () {

},
initData: function () {
if (!!keyValue) {
$.lrSetForm(top.$.rootUrl + '/LogisticsManagement/Accommodation/GetBedListByRoomId?RoomId=' + keyValue, function (data) {
$('#content').html('');
var strWhere = " ClassNo='" + Class + "'";
if (Sex == '0') {
strWhere += " and GenderNo=0";
}
else if (Sex == '1') {
strWhere += " and GenderNo=1";
}
for (var i = 0; i < data.length; i++) {
var html = '';
html += '<div class="col-xs-12 lr-form-item div12">';
html += '<div class="col-xs-6 lr-form-item">';
html += '<div class="lr-form-item-title">床位</div>';
html += '<input id="Name" readonly="readonly" type="text" class="form-control" value="' +
data[i].Name +
'" />';
html += '</div>';
html += '<div class="col-xs-6 lr-form-item" style="padding-right: 20px;">';
html += '<div class="lr-form-item-title">学生</div>';
html += '<div class="Student" id="' + data[i].ID + '"></div>';
html += '</div>';
html += '</div>';
$('#content').append(html);

$('#' + data[i].ID).lrselect({
value: "stuno",
text: "stuname",
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable',
param: { code: "StuInfoBasic", strWhere: strWhere },
// 是否允许搜索
allowSearch: true,
select: function (item) {
// console.log(item);
var stuid = '';
if (item) {
stuid = item.stuno;

}
var id = $(this).attr('id');
//console.log('id', id);
//console.log('item',item);
arr.forEach(item => {
if (item.ID == id) {
//如果存在删除
removeByValue(arr, 'ID', id);

}
});
arr.push({ ID: id, StudentID: stuid });
}
});
$('#' + data[i].ID).lrselectSet(data[i].StudentID);

//arr.push({ ID: data[i].ID, StudentID: data[i].StudentID });
}



});
}
},
};
// 保存数据
acceptClick = function (callBack) {
//if (!$('body').lrValidform()) {
// return false;
//}
//var postData = {
// strEntity: JSON.stringify($('body').lrGetFormData())
//};
//console.log('arr', arr);
for (var i = 0; i < arr.length - 1; i++) {
for (var j = i + 1; j < arr.length; j++) {
if (!!arr[i].StudentID && arr[i].StudentID === arr[j].StudentID) {
return learun.alert.warning('学生不可重复!');
}
}
}
var postData = {
list: arr
};

$.lrSaveForm(top.$.rootUrl + '/LogisticsManagement/Accommodation/SaveRoom?RoomId=' + keyValue, postData, function (res) {
// 保存成功后才回调
if (!!callBack) {
callBack();
}
});
};
page.init();
//删除数组元素
function removeByValue(arr, attr, value) {
var index = 0;
for (var i in arr) {
if (arr[i][attr] == value) {
index = i;
break;
}
}
arr.splice(index, 1);
}

}

+ 43
- 39
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/Index.cshtml View File

@@ -21,44 +21,44 @@
<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>
<input id="Name" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-query-formcontent">
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">名称</div>
<input id="Name" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">宿舍楼</div>
<div id="ApartmentId"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">单元</div>
<div id="UnitId"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">楼层</div>
<div id="FloorId"></div>
</div>
@*<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">类别</div>
<input id="BuildType" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">学校</div>
<input id="School" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">系</div>
<input id="DeptName" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">班级</div>
<input id="Class" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">专业</div>
<input id="MajorName" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">性别</div>
<div id="Sex"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">负责人</div>
<input id="Functionary" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">舍长</div>
<input id="Leader" type="text" class="form-control" />
</div>
</div>*@
</div>*@
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">系</div>
<div id="Dept"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">专业</div>
<div id="Major"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">班级</div>
<div id="Class"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">性别</div>
<div id="Sex"></div>
</div>
</div>
</div>
</div>
</div>
@@ -66,15 +66,19 @@
<div class=" btn-group btn-group-sm">
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a>
<a id="lr_dormitoryAdd" class="btn btn-default"><i class="fa fa-pencil-square"></i>&nbsp;批量添加宿舍</a>
<a id="lr_allocation" class="btn btn-default"><i class="fa fa-pencil-square"></i>&nbsp;自动分配宿舍</a>
<a id="lr_syncdata" class="btn btn-default"><i class="fa fa-pencil-square"></i>&nbsp;同步宿舍信息</a>
<a id="lr_bedManage" class="btn btn-default"><i class="fa fa-pencil-square"></i>&nbsp;床位管理</a>
@*<a id="lr_allocation" class="btn btn-default"><i class="fa fa-pencil-square"></i>&nbsp;自动分配宿舍</a>
<a id="lr_syncdata" class="btn btn-default"><i class="fa fa-pencil-square"></i>&nbsp;同步宿舍信息</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>&nbsp;录入</a>
<a id="lr_add" class="btn btn-default"><i class="fa fa-plus"></i>&nbsp;新增宿舍</a>
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i>&nbsp;修改</a>
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i>&nbsp;删除</a>
<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i>&nbsp;打印</a>
</div>
<div class=" btn-group btn-group-sm" learun-authorize="yes">
<a id="lr_Classify" class="btn btn-default"><i class="fa fa-tags"></i>&nbsp;<span class="lrlt">分类管理</span></a>
</div>
</div>
</div>
<div class="lr-layout-body" id="gridtable"></div>


+ 408
- 139
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/Index.js View File

@@ -11,36 +11,138 @@ var bootstrap = function ($, learun) {
var page = {
init: function () {
page.initTree();
//page.initGird();
page.initGird();
page.search({ ParentID: '' });
page.bind();

},
bind: function () {

$('#multiple_condition_query').lrMultipleQuery(function (queryJson) {
page.search(queryJson);
}, 220, 400);
$('#Sex').lrRadioCheckbox({
type: 'radio',
code: 'usersex',
}, 420, 400);
//宿舍楼
$('#ApartmentId').lrselect({
allowSearch: true,
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=DormitoryInfo',
param: { strWhere: " BuildType='1' " },
value: "id",
text: "name",
select: function (item) {
if (!!item) {
//单元
$('#UnitId').lrselectRefresh({
allowSearch: true,
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=DormitoryInfo',
param: { strWhere: " BuildType='2' and ApartmentId='" + item.id + "'" },
value: "id",
text: "name",
select: function (item) {
if (!!item) {
//楼层
$('#FloorId').lrselectRefresh({
allowSearch: true,
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=DormitoryInfo',
param: { strWhere: " BuildType='3' and UnitId='" + item.id + "'" },
value: "id",
text: "name"
});
}
}
});
}
}
});
$('#UnitId').lrselect({ allowSearch: true });
$('#FloorId').lrselect({ allowSearch: true });

$('#Sex').lrDataItemSelect({ code: 'usersex' });
//.lrRadioCheckbox({
// type: 'radio',
// code: 'usersex',
//});

$('#Class').lrselect({
value: "classno",
text: "classname"
});

$('#Dept').lrselect({
value: "deptno",
text: "deptname",
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=CdDeptInfo',
select: function (item) {
if (item) {
$('#Major').lrselectRefresh({
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable',
param: { code: "CdMajorInfo", strWhere: "DeptNo='" + item.deptno + "'" }
});
}
else {
$('#Major').lrselectRefresh({
url: "",
data: []
});
}
$('#Class').lrselectRefresh({
url: "",
data: []
});
}
});
$('#Major').lrselect({
value: "majorno",
text: "majorname",
select: function (item) {
if (item) {
$('#Class').lrselectRefresh({
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable',
param: { code: "bjsj", strWhere: "DeptNo='" + item.deptno + "' and majorno='" + item.majorno + "'" }
});
}

}
});


$('#Major').on("click",
function () {
var data = $('#Dept').lrselectGet();
if (!data) {
learun.alert.error('请先选择系');
}
});
$('#Class').on("click",
function () {
var data1 = $('#Dept').lrselectGet();
var data2 = $('#Major').lrselectGet();
if (!data1 || !data2) {
learun.alert.error('请先选择系和专业');
}
});

// 刷新
$('#lr_refresh').on('click', function () {
location.reload();
});
// 新增
$('#lr_add').on('click', function () {
if (selectedParent.BuildType != '3') {
return learun.alert.warning("请选择楼层!");
}
var url = "";
if (selectedParent.ID != null) {
url = top.$.rootUrl + '/LogisticsManagement/Accommodation/Form?ParentID=' + selectedParent.ID + '&ParentName=' + selectedParent.Name;
} else {
url = top.$.rootUrl + '/LogisticsManagement/Accommodation/Form';
return learun.alert.warning("请选择上级!");
//url = top.$.rootUrl + '/LogisticsManagement/Accommodation/Form';
}
learun.layerForm({
id: 'form',
title: '新增',
url: url,
width: 600,
height: 400,
width: 900,
height: 550,
callBack: function (id) {
return top[id].acceptClick(refreshGirdData);
}
@@ -58,8 +160,8 @@ var bootstrap = function ($, learun) {
id: 'form',
title: '编辑',
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/Form?keyValue=' + keyValue,
width: 600,
height: 400,
width: 900,
height: 550,
callBack: function (id) {
return top[id].acceptClick(refreshGirdData);
}
@@ -82,7 +184,8 @@ var bootstrap = function ($, learun) {
//批量添加宿舍
$("#lr_dormitoryAdd").on("click", function () {
var keyvalue1 = $("#gridtable").jfGridValue("ID");
if (selectedParent.ChildType == "2") {
//console.log(selectedParent.ChildType);
if (selectedParent.BuildType == "1") {
var keyValue = selectedParent.ID;
learun.layerForm({
id: 'form',
@@ -138,7 +241,45 @@ var bootstrap = function ($, learun) {
});
}
});


//床位管理
$("#lr_bedManage").on("click", function () {
var keyValue = $('#gridtable').jfGridValue('ID');
if (learun.checkrow(keyValue)) {
if (keyValue.indexOf(',') != -1) {
learun.alert.warning("只能选择一条记录!");
return false;
}
learun.layerForm({
id: 'indexBed',
title: '床位管理',
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/IndexBed?ParentID=' + keyValue,
width: 700,
height: 500,
callBack: function (id) {
return top[id].acceptClick(refreshGirdData);
}
});
}

});
//分类管理
$("#lr_Classify").on("click", function () {
learun.layerForm({
id: 'indexClassify',
title: '分类管理',
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/IndexClassify',
width: 1200,
height: 780,
//btn:null,
callBack: function (id) {
return top[id].acceptClick(refreshGirdData);
}
});
});
},
//初始化左侧树
initTree: function () {
@@ -148,7 +289,7 @@ var bootstrap = function ($, learun) {
nodeClick: function (item) {
selectedParent.ID = item.value;
selectedParent.Name = item.text;
selectedParent.BuildType = item.title;
if (item.parent) {
if (!item.parent.parentId) {
selectedParent.ChildType = "2";
@@ -162,155 +303,283 @@ var bootstrap = function ($, learun) {
if (item.text.indexOf("室") > -1) {
selectedParent.ChildType = "5";
}
page.initGird();
page.search({ ParentID: item.value });
var param = {};
if (item.title == '1')
param.ApartmentId = item.value;
else if (item.title == '2')
param.UnitId = item.value;
else if (item.title == '3')
param.FloorId = item.value;
//page.initGird();
//page.search({ ParentID: item.value });
page.search(param);
}
});
},
// 初始化列表
initGird: function () {
//$("#gridtable").removeClass("jfgrid-layout");
//$("#gridtable").removeAttr("style");
//$("#gridtable").empty();
//宿舍数据
$('#gridtable').jfGrid({
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/GetPageList',
headData: [
{ label: "名称", name: "Name", width: 100, align: "left" },
{
label: "宿舍楼", name: "ApartmentName", width: 100, align: "left"
},
{
label: "单元", name: "UnitName", width: 100, align: "left"
},
{
label: "楼层", name: "FloorName", width: 100, align: "left"
},
//{
// label: "学生", name: "StudentID", width: 100, align: "left",
// formatterAsync: function (callback, value, row, op, $cell) {

//$("#gridtable")[0].dfop = undefined;
if (selectedParent.ChildType == "5") {
$('#gridtable').lrAuthorizeJfGridLei({
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/GetPageList',
headData: [
{ label: "名称", name: "Name", width: 100, align: "left" },
{ label: "学生名字", name: "StuName", width: 100, align: "left" },
// learun.clientdata.getAsync('custmerData', {
// url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'StuInfoBasic',
// key: value,
// keyId: 'stuid',
// callback: function (_data) {
// callback(_data['stuname']);
// }
// });
// }
//},
{ label: "位置", name: "Address", width: 100, align: "left" },
{
label: "校区", name: "Campus", width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {

{ label: "班级", name: "Class", width: 100, align: "left" },
{
label: "性别", name: "Sex", width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('dataItem', {
key: value,
code: 'usersex',
callback: function (_data) {
callback(_data.text);
}
});
}
},
{ label: "负责人", name: "Functionary", width: 100, align: "left" },
{ label: "负责人电话", name: "Phone", width: 100, align: "left" },
{ label: "价格", name: "Price", width: 100, align: "left" },
{ label: "星级", name: "Starred", width: 100, align: "left" },
{
label: "是否独卫", name: "HasToilet", width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('dataItem', {
key: value,
code: 'HasToilet',
callback: function (_data) {
callback(_data.text);
}
});
learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'company',
key: value,
keyId: 'f_companyid',
callback: function (_data) {
callback(_data['f_fullname']);
}
});
}
},
{
label: "系", name: "Dept", width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo',
key: value,
keyId: 'deptno',
callback: function (_data) {
callback(_data['deptname']);
}
});
}
},
{
label: "专业", name: "Major", 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: "Class", width: 100, align: "left", formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'bjsj',
key: value,
keyId: 'classno',
callback: function (_data) {
callback(_data['classname']);
}
});
}
},
{
label: "寝室类型", name: "RoomType", width: 100, align: "left",
formatter: function (value, row) {
if (value) {
return value + '人寝';
} else {
return '';
}
},
{ label: "舍长", name: "Leader", width: 100, align: "left" },
{ label: "备注", name: "Remark", width: 100, align: "left" },
],
mainId: 'ID',
isPage: true,
isMultiselect:true
});
} else {
$('#gridtable').lrAuthorizeJfGridLei({
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/GetPageList',
headData: [
{ label: "名称", name: "Name", width: 100, align: "left" },
{ label: "学生", name: "StudentID", width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
}
},
{ label: "入住人数", name: "CheckInStu", width: 100, align: "left" },
{
label: "性别", name: "Sex", width: 100, align: "left",
formatter: function (value, row) {
if (value == '0')
return '女';
else if (value == '1')
return '男';
else
return '';
}
},
{ label: "负责人", name: "Functionary", width: 100, align: "left" },
{ label: "负责人电话", name: "Phone", width: 100, align: "left" },
{ label: "备注", name: "Remark", width: 100, align: "left" },
],
mainId: 'ID',
isPage: true,
isMultiselect: true,
sidx: 'ApartmentId asc,UnitId asc ,FloorId asc ',
//sord: 'ASC',
isSubGrid: true, // 是否有子表
subGridExpanded: function (subContentId, rowItem) {
$('#' + subContentId).jfGrid({
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/GetBedListByRoomId?RoomId=' + rowItem.ID,
headData: [
{ label: "名称", name: "Name", width: 100, align: "left" },
{
label: "学生", name: "StudentID", width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'StuInfoBasic',
key: value,
keyId: 'stuno',
callback: function (_data) {
callback(_data['stuname']);
}
});
}
},
],
mainId: 'ID',
isPage: false,
//sidx: 'DNo',
//sord: 'ASC',
});
//var param;
//param = param || {};
//param.ParentID = rowItem.Id;
$('#' + subContentId).jfGridSet('reload');
},
subGridHeight: 250,
});
//$("#gridtable").empty();
//$("#gridtable")[0].dfop = undefined;
//if (selectedParent.BuildType == undefined || selectedParent.BuildType === "3") {
//} else {
// //lrAuthorizeJfGridLei
// $('#gridtable').jfGrid({
// url: top.$.rootUrl + '/LogisticsManagement/Accommodation/GetPageList',
// headData: [
// { label: "名称", name: "Name", width: 100, align: "left" },
// {
// label: "宿舍楼", name: "ApartmentName", width: 100, align: "left"
// },
// {
// label: "单元", name: "UnitName", width: 100, align: "left"
// },
// {
// label: "楼层", name: "FloorName", width: 100, align: "left"
// },
// //{
// // label: "学生", name: "StudentID", width: 100, align: "left",
// // formatterAsync: function (callback, value, row, op, $cell) {

learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'StuInfoBasic',
key: value,
keyId: 'stuid',
callback: function (_data) {
callback(_data['stuname']);
}
});
} },
{ label: "位置", name: "Address", width: 100, align: "left" },
{
label: "校区", name: "Campus", width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
// // learun.clientdata.getAsync('custmerData', {
// // url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'StuInfoBasic',
// // key: value,
// // keyId: 'stuid',
// // callback: function (_data) {
// // callback(_data['stuname']);
// // }
// // });
// // }
// //},
// { label: "位置", name: "Address", width: 100, align: "left" },
// {
// label: "校区", name: "Campus", width: 100, align: "left",
// formatterAsync: function (callback, value, row, op, $cell) {

learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'company',
key: value,
keyId: 'f_companyid',
callback: function (_data) {
callback(_data['f_fullname']);
}
});
}
},
{
label: "系", name: "Dept", width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo',
key: value,
keyId: 'deptno',
callback: function (_data) {
callback(_data['deptname']);
}
});
}
},
{
label: "专业", name: "Major", 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: 'id',
callback: function (_data) {
callback(_data['majorname']);
}
});
}
},
{ label: "班级", name: "Class", width: 100, align: "left" },
{
label: "性别", name: "Sex", width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('dataItem', {
key: value,
code: 'usersex',
callback: function (_data) {
callback(_data.text);
}
});
}
},
{ label: "负责人", name: "Functionary", width: 100, align: "left" },
{ label: "负责人电话", name: "Phone", width: 100, align: "left" },
{ label: "备注", name: "Remark", width: 100, align: "left" },
],
mainId: 'ID',
isPage: true,
isMultiselect:true
});
}
// learun.clientdata.getAsync('custmerData', {
// url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'company',
// key: value,
// keyId: 'f_companyid',
// callback: function (_data) {
// callback(_data['f_fullname']);
// }
// });
// }
// },
// //{
// // label: "系", name: "Dept", width: 100, align: "left",
// // formatterAsync: function (callback, value, row, op, $cell) {
// // learun.clientdata.getAsync('custmerData', {
// // url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo',
// // key: value,
// // keyId: 'deptno',
// // callback: function (_data) {
// // callback(_data['deptname']);
// // }
// // });
// // }
// //},
// //{
// // label: "专业", name: "Major", 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: 'id',
// // callback: function (_data) {
// // callback(_data['majorname']);
// // }
// // });
// // }
// //},
// //{ label: "班级", name: "Class", width: 100, align: "left" },
// //{
// // label: "性别", name: "Sex", width: 100, align: "left",
// // formatterAsync: function (callback, value, row, op, $cell) {
// // learun.clientdata.getAsync('dataItem', {
// // key: value,
// // code: 'usersex',
// // callback: function (_data) {
// // callback(_data.text);
// // }
// // });
// // }
// //},
// { label: "负责人", name: "Functionary", width: 100, align: "left" },
// { label: "负责人电话", name: "Phone", width: 100, align: "left" },
// { label: "备注", name: "Remark", width: 100, align: "left" },
// ],
// mainId: 'ID',
// isPage: true,
// //isMultiselect: true
// //sidx: 'ApartmentId asc,UnitId asc ,FloorId asc ',
// //sord: 'ASC',
// });
//}

//page.search();
},
search: function (param) {
param = param || {};
param.SqlParameter = " AND t.BuildType ='4' ";
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
}
};
refreshGirdData = function () {
//page.initTree();
if (!!selectedParent.ID) {

//var param = { ParentID: selectedParent.ID };
//$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
page.initTree();
page.search({ ParentID: selectedParent.ID });
} else {
page.initTree();
page.search();
}
};


+ 61
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/IndexBed.cshtml View File

@@ -0,0 +1,61 @@
@{
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>
<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>&nbsp;录入</a>
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i>&nbsp;修改</a>
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i>&nbsp;删除</a>
</div>
</div>
</div>
<div class="lr-layout-body" id="gridtable"></div>
</div>
</div>
</div>



@*<div class="lr-layout lr-layout-left-center" id="lr_layout">
<div class="lr-layout-left">
<div class="lr-layout-wrap">
<div class="lr-layout-title lrlt ">
树形列表
<a id="tree_refresh" onmouseover="this.style.cursor='hand'">刷新</a>
</div>
<div id="dataTree" class="lr-layout-body"></div>
</div>
</div>
<div class="lr-layout-center">
<div class="lr-layout-wrap ">
<div class="lr-layout-tool">
<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>&nbsp;录入</a>
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i>&nbsp;修改</a>
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i>&nbsp;删除</a>
</div>
</div>
</div>
<div class="lr-layout-body" id="gridtable"></div>
</div>
</div>
</div>*@

@Html.AppendJsFile("/Areas/LogisticsManagement/Views/Accommodation/IndexBed.js")

+ 110
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/IndexBed.js View File

@@ -0,0 +1,110 @@
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
* Copyright (c) 2013-2018 北京泉江科技有限公司
* 创建人:超级管理员
* 日 期:2019-04-26 15:02
* 描 述:学生宿舍管理
*/
var refreshGirdData;
var acceptClick;
var selectedParent = {};
var ParentID = request('ParentID');
var bootstrap = function ($, learun) {
"use strict";
var page = {
init: function () {
page.initGird();
page.bind();

},
bind: function () {
// 刷新
$('#lr_refresh').on('click', function () {
location.reload();
});
// 新增
$('#lr_add').on('click', function () {
learun.layerForm({
id: 'form',
title: '新增',
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/FormBed?ParentID=' + ParentID,
width: 400,
height: 300,
callBack: function (id) {
return top[id].acceptClick(refreshGirdData);
}
});
});
// 编辑
$('#lr_edit').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('ID');
if (learun.checkrow(keyValue)) {
if (keyValue.indexOf(',') != -1) {
learun.alert.warning("只能选择一条记录进行编辑!");
return false;
}
learun.layerForm({
id: 'form',
title: '编辑',
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/FormBed?keyValue=' + keyValue + '&ParentID=' + ParentID,
width: 400,
height: 300,
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 + '/LogisticsManagement/Accommodation/DeleteBed', { keyValue: keyValue, ParentID: ParentID }, function () {
refreshGirdData();
});
}
});
}
});

// 打印
$('#lr_print').on('click', function () {
$('#gridtable').jqprintTable();
});


},
// 初始化列表
initGird: function () {
$('#gridtable').jfGrid({
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/GetBedListByRoomId?RoomId=' + ParentID,
headData: [
{ label: "名称", name: "Name", width: 100, align: "left" },

],
mainId: 'ID',
isPage: false,
//isMultiselect: true,
//sidx: 'ApartmentId asc,UnitId asc ,FloorId asc ',
//sord: 'ASC',

});
page.search();
},
search: function (param) {
param = param || {};
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
}
};
refreshGirdData = function () {
page.search();
};
// 保存数据
acceptClick = function (callBack) {
if (!!callBack) {
callBack();
}
};
page.init();
}

+ 69
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/IndexClassify.cshtml View File

@@ -0,0 +1,69 @@
@{
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>
<input id="Name" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">宿舍楼</div>
<div id="ApartmentId"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">单元</div>
<div id="UnitId"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">楼层</div>
<div id="FloorId"></div>
</div>
@*<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">类别</div>
<input id="BuildType" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">系</div>
<div id="Dept"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">专业</div>
<div id="Major"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">班级</div>
<div id="Class"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">性别</div>
<div id="Sex"></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>&nbsp;录入</a>
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i>&nbsp;修改</a>
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i>&nbsp;删除</a>
</div>
</div>
</div>
<div class="lr-layout-body" id="gridtable"></div>
</div>
</div>
</div>

@Html.AppendJsFile("/Areas/LogisticsManagement/Views/Accommodation/IndexClassify.js")

+ 187
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/IndexClassify.js View File

@@ -0,0 +1,187 @@
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
* Copyright (c) 2013-2018 北京泉江科技有限公司
* 创建人:超级管理员
* 日 期:2019-04-26 15:02
* 描 述:学生宿舍管理
*/
var refreshGirdData;
var acceptClick;
var selectedParent = {};
//var ParentID = request('ParentID');
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);

// 刷新
$('#lr_refresh').on('click', function () {
location.reload();
});
//宿舍楼
$('#ApartmentId').lrselect({
allowSearch: true,
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=DormitoryInfo',
param: { strWhere: " BuildType='1' " },
value: "id",
text: "name",
select: function (item) {
if (!!item) {
//单元
$('#UnitId').lrselectRefresh({
allowSearch: true,
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=DormitoryInfo',
param: { strWhere: " BuildType='2' and ApartmentId='" + item.id + "'" },
value: "id",
text: "name",
select: function (item) {
if (!!item) {
//楼层
$('#FloorId').lrselectRefresh({
allowSearch: true,
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=DormitoryInfo',
param: { strWhere: " BuildType='3' and UnitId='" + item.id + "'" },
value: "id",
text: "name"
});
}
}
});
}
}
});
$('#UnitId').lrselect({ allowSearch: true });
$('#FloorId').lrselect({ allowSearch: true });

// 新增
$('#lr_add').on('click', function () {
learun.layerForm({
id: 'form',
title: '新增',
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/FormClassify',
width: 700,
height: 400,
callBack: function (id) {
return top[id].acceptClick(refreshGirdData);
}
});
});
// 编辑
$('#lr_edit').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('ID');
if (learun.checkrow(keyValue)) {
if (keyValue.indexOf(',') != -1) {
learun.alert.warning("只能选择一条记录进行编辑!");
return false;
}
learun.layerForm({
id: 'form',
title: '编辑',
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/FormClassify?keyValue=' + keyValue,
width: 700,
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 + '/LogisticsManagement/Accommodation/DeleteForm', { keyValue: keyValue }, function () {
refreshGirdData();
});
}
});
}
});

// 打印
$('#lr_print').on('click', function () {
$('#gridtable').jqprintTable();
});


},
// 初始化列表
initGird: function () {
$('#gridtable').jfGrid({
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/GetClassifyList',
headData: [
{ label: "名称", name: "Name", width: 150, align: "left" },
{
label: "宿舍楼", name: "ApartmentName", width: 100, align: "left"
},
{
label: "单元", name: "UnitName", width: 100, align: "left"
},
{
label: "楼层", name: "FloorName", width: 100, align: "left"
},
{
label: "类型", name: "BuildType", width: 100, align: "left",
formatter: function (value, row) {
if (value == '1') return '宿舍楼';
else if (value == '2') return '单元';
else if (value == '3') return '楼层';
else if (value == '4') return '房间';
}
},
{ label: "位置", name: "Address", width: 100, align: "left" },
{
label: "校区", name: "Campus", width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'company',
key: value,
keyId: 'f_companyid',
callback: function (_data) {
callback(_data['f_fullname']);
}
});
}
},
{ label: "负责人", name: "Functionary", width: 100, align: "left" },
{ label: "负责人电话", name: "Phone", width: 100, align: "left" },
{ label: "备注", name: "Remark", width: 100, align: "left" },
],
mainId: 'ID',
isPage: false,
//isMultiselect: true,
//sidx: 'ApartmentId asc,UnitId asc ,FloorId asc ',
isTree: true,
parentId: 'ParentID',
});
page.search();
},
search: function (param) {
param = param || {};
//param.SqlParameter = " AND t.BuildType <>'5' ";
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
}
};
refreshGirdData = function () {
page.search();
};
// 保存数据
acceptClick = function (callBack) {
learun.layerClose('indexClassify', '');
if (!!callBack) {
callBack();
}
};
page.init();
}

+ 92
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/IndexDistribution.cshtml View File

@@ -0,0 +1,92 @@
@{
ViewBag.Title = "学生宿舍管理";
Layout = "~/Views/Shared/_Index.cshtml";
}
<div class="lr-layout lr-layout-left-center" id="lr_layout">
<div class="lr-layout-left">
<div class="lr-layout-wrap">
<div class="lr-layout-title lrlt ">
树形列表
<a id="tree_refresh" onmouseover="this.style.cursor='hand'">刷新</a>
</div>
<div id="dataTree" class="lr-layout-body"></div>
</div>
</div>
<div class="lr-layout-center">
<div class="lr-layout-wrap ">
<div class="lr-layout-title">
<span id="titleinfo" class="lrlt">列表信息</span>
</div>
<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>
<input id="Name" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">宿舍楼</div>
<div id="ApartmentId"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">单元</div>
<div id="UnitId"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">楼层</div>
<div id="FloorId"></div>
</div>
@*<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">类别</div>
<input id="BuildType" type="text" class="form-control" />
</div>*@
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">系</div>
<div id="Dept"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">专业</div>
<div id="Major"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">班级</div>
<div id="Class"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">性别</div>
<div id="Sex"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">未分配</div>
<div id="NoDistribution"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">已分配</div>
<div id="Distribution"></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>
@*<a id="lr_dormitoryAdd" class="btn btn-default"><i class="fa fa-pencil-square"></i>&nbsp;批量添加宿舍</a>
<a id="lr_allocation" class="btn btn-default"><i class="fa fa-pencil-square"></i>&nbsp;自动分配宿舍</a>*@
</div>
<div class=" btn-group btn-group-sm" learun-authorize="yes">
<a id="lr_Dept" class="btn btn-default"><i class="fa fa-pencil-square"></i>&nbsp;分配系</a>
<a id="lr_Class" class="btn btn-default"><i class="fa fa-pencil-square"></i>&nbsp;分配专业班级</a>
<a id="lr_Bed" class="btn btn-default"><i class="fa fa-pencil-square"></i>&nbsp;分配宿舍</a>
<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i>&nbsp;打印</a>
</div>
</div>
</div>
<div class="lr-layout-body" id="gridtable"></div>
</div>
</div>
</div>

@Html.AppendJsFile("/Areas/LogisticsManagement/Views/Accommodation/IndexDistribution.js")

+ 625
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/IndexDistribution.js View File

@@ -0,0 +1,625 @@
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
* Copyright (c) 2013-2018 北京泉江科技有限公司
* 创建人:超级管理员
* 日 期:2019-04-26 15:02
* 描 述:学生宿舍管理
*/
var refreshGirdData;
var selectedParent = {};
var bootstrap = function ($, learun) {
"use strict";
var page = {
init: function () {
page.initTree();
page.initGird();
page.search({ ParentID: '' });
page.bind();

},
bind: function () {
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) {
page.search(queryJson);
}, 420, 400);
//宿舍楼
$('#ApartmentId').lrselect({
allowSearch: true,
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=DormitoryInfo',
param: { strWhere: " BuildType='1' " },
value: "id",
text: "name",
select: function (item) {
if (!!item) {
//单元
$('#UnitId').lrselectRefresh({
allowSearch: true,
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=DormitoryInfo',
param: { strWhere: " BuildType='2' and ApartmentId='" + item.id + "'" },
value: "id",
text: "name",
select: function (item) {
if (!!item) {
//楼层
$('#FloorId').lrselectRefresh({
allowSearch: true,
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=DormitoryInfo',
param: { strWhere: " BuildType='3' and UnitId='" + item.id + "'" },
value: "id",
text: "name"
});
}
}
});
}
}
});
$('#UnitId').lrselect({ allowSearch: true });
$('#FloorId').lrselect({ allowSearch: true });

$('#Sex').lrDataItemSelect({ code: 'usersex' });
//.lrRadioCheckbox({
// type: 'radio',
// code: 'usersex',
//});

$('#NoDistribution').lrRadioCheckbox({
type: 'checkbox',
code: 'NoDistribution'
});

$('#Distribution').lrRadioCheckbox({
type: 'checkbox',
code: 'NoDistribution'
});


$('#Class').lrselect({
value: "classno",
text: "classname"
});

$('#Dept').lrselect({
value: "deptno",
text: "deptname",
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=CdDeptInfo',
select: function (item) {
if (item) {
$('#Major').lrselectRefresh({
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable',
param: { code: "CdMajorInfo", strWhere: "DeptNo='" + item.deptno + "'" }
});
}
else {
$('#Major').lrselectRefresh({
url: "",
data: []
});
}
$('#Class').lrselectRefresh({
url: "",
data: []
});
}
});
$('#Major').lrselect({
value: "majorno",
text: "majorname",
select: function (item) {
if (item) {
$('#Class').lrselectRefresh({
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable',
param: { code: "bjsj", strWhere: "DeptNo='" + item.deptno + "' and majorno='" + item.majorno + "'" }
});
}

}
});


$('#Major').on("click",
function () {
var data = $('#Dept').lrselectGet();
if (!data) {
learun.alert.error('请先选择系');
}
});
$('#Class').on("click",
function () {
var data1 = $('#Dept').lrselectGet();
var data2 = $('#Major').lrselectGet();
if (!data1 || !data2) {
learun.alert.error('请先选择系和专业');
}
});

// 刷新
$('#lr_refresh').on('click', function () {
location.reload();
});
// 新增
$('#lr_add').on('click', function () {
var url = "";
if (selectedParent.ID != null) {
url = top.$.rootUrl + '/LogisticsManagement/Accommodation/Form?ParentID=' + selectedParent.ID + '&ParentName=' + selectedParent.Name;
} else {
return learun.alert.warning("请选择上级!");
//url = top.$.rootUrl + '/LogisticsManagement/Accommodation/Form';
}
learun.layerForm({
id: 'form',
title: '新增',
url: url,
width: 900,
height: 550,
callBack: function (id) {
return top[id].acceptClick(refreshGirdData);
}
});
});
// 编辑
$('#lr_edit').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('ID');
if (learun.checkrow(keyValue)) {
if (keyValue.indexOf(',') != -1) {
learun.alert.warning("只能选择一条记录进行编辑!");
return false;
}
learun.layerForm({
id: 'form',
title: '编辑',
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/Form?keyValue=' + keyValue,
width: 900,
height: 550,
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 + '/LogisticsManagement/Accommodation/DeleteForm', { keyValue: keyValue }, function () {
refreshGirdData();
});
}
});
}
});
//批量添加宿舍
$("#lr_dormitoryAdd").on("click", function () {
var keyvalue1 = $("#gridtable").jfGridValue("ID");
if (selectedParent.ChildType == "2") {
var keyValue = selectedParent.ID;
learun.layerForm({
id: 'form',
title: '批量添加宿舍',
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/DormitoryAdd?keyValue=' + keyValue,
width: 600,
height: 400,
callBack: function (id) {
return top[id].acceptClick(refreshGirdData);
}
});


}
else {
learun.alert.warning("请选择楼");

}

});
// 打印
$('#lr_print').on('click', function () {
$('#gridtable').jqprintTable();
});
//刷新左侧的树
$("#tree_refresh").on("click", function () {
page.initTree();

});
//分配系
$("#lr_Dept").on("click", function () {
var keyValue = $('#gridtable').jfGridValue('ID');
var BuildType = $('#gridtable').jfGridValue('BuildType');
var Dept = $('#gridtable').jfGridValue('Dept');
var arr = BuildType.split(',');
if (arr.some(x => x != '4')) {
return learun.alert.warning("只能选择宿舍进行分配!");
}
if (keyValue.indexOf(',') > 0) {
var arrDept = Dept.split(',');
for (var i = 0; i < arrDept.length; i++) {
if (arrDept[i].length >= 1) {
learun.alert.warning("选中记录包含已分配的数据!");
return false;
}
}
}
learun.layerForm({
id: 'formDept',
title: '分配系部',
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/FormDept?keyValue=' + keyValue,
width: 400,
height: 300,
callBack: function (id) {
return top[id].acceptClick(refreshGirdData);
}
});
});

//分配专业和班级
$("#lr_Class").on("click", function () {
var keyValue = $('#gridtable').jfGridValue('ID');
var BuildType = $('#gridtable').jfGridValue('BuildType');
var Dept = $('#gridtable').jfGridValue('Dept');
var arr = BuildType.split(',');
if (arr.some(x => x != '4')) {
return learun.alert.warning("只能选择宿舍进行分配!");
}
var arrDept = Dept.split(',');
if (arrDept.some(function (value, index) {
return value.length === 0;
})) {
return learun.alert.warning("选中记录包含未分配系的数据!");
}

if (keyValue.indexOf(',') > 0) {
if (arrDept.some(function (value, index) {
return value != arrDept[0];
})) {
return learun.alert.warning("选中记录包含多种专业的数据,不可批量分配班级!");
}
}
learun.layerForm({
id: 'formClass',
title: '分配专业班级',
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/FormClass?keyValue=' + keyValue + '&Dept=' + arrDept[0],
width: 400,
height: 300,
callBack: function (id) {
return top[id].acceptClick(refreshGirdData);
}
});
});


//分配宿舍
$("#lr_Bed").on("click", function () {
var keyValue = $('#gridtable').jfGridValue('ID');
var Sex = $('#gridtable').jfGridValue('Sex');
var BuildType = $('#gridtable').jfGridValue('BuildType');
var Name = $('#gridtable').jfGridValue('Name');
var Class = $('#gridtable').jfGridValue('Class');
var arr = BuildType.split(',');
if (arr.some(x => x != '4')) {
return learun.alert.warning("只能选择宿舍进行分配!");
}
if (keyValue.indexOf(',') != -1) {
return learun.alert.warning("只能选择一条记录进行分配!");
}
if (Class.length == 0) {
return learun.alert.warning("请先分配班级!");
}
learun.layerForm({
id: 'formRoom',
title: '分配宿舍--' + Name,
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/FormRoom?keyValue=' + keyValue + '&Class=' + Class + '&Sex=' + Sex,
width: 600,
height: 400,
callBack: function (id) {
return top[id].acceptClick(refreshGirdData);
}
});
});

},
//初始化左侧树
initTree: function () {
// 初始化左侧树形数据
$('#dataTree').lrtree({
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/GetTree',
nodeClick: function (item) {
selectedParent.ID = item.value;
selectedParent.Name = item.text;
selectedParent.BuildType = item.title;
if (item.parent) {
if (!item.parent.parentId) {
selectedParent.ChildType = "2";
} else {
selectedParent.ChildType = "0";
}
}
else {
selectedParent.ChildType = "1";
}
if (item.text.indexOf("室") > -1) {
selectedParent.ChildType = "5";
}
var param = {};

if (item.title == '1')
param.ApartmentId = item.value;
else if (item.title == '2')
param.UnitId = item.value;
else if (item.title == '3')
param.FloorId = item.value;

//page.initGird();
//page.search({ ParentID: item.value });
page.search(param);
}
});
},
// 初始化列表
initGird: function () {
//宿舍数据
$('#gridtable').jfGrid({
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/GetPageList',
headData: [
{ label: "名称", name: "Name", width: 100, align: "left" },
{
label: "宿舍楼", name: "ApartmentName", width: 100, align: "left"
},
{
label: "单元", name: "UnitName", width: 100, align: "left"
},
{
label: "楼层", name: "FloorName", width: 100, align: "left"
},
//{
// label: "学生", name: "StudentID", width: 100, align: "left",
// formatterAsync: function (callback, value, row, op, $cell) {

// learun.clientdata.getAsync('custmerData', {
// url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'StuInfoBasic',
// key: value,
// keyId: 'stuid',
// callback: function (_data) {
// callback(_data['stuname']);
// }
// });
// }
//},
{ label: "位置", name: "Address", width: 100, align: "left" },
{
label: "校区", name: "Campus", width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {

learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'company',
key: value,
keyId: 'f_companyid',
callback: function (_data) {
callback(_data['f_fullname']);
}
});
}
},
{
label: "系", name: "Dept", width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo',
key: value,
keyId: 'deptno',
callback: function (_data) {
callback(_data['deptname']);
}
});
}
},
{
label: "专业", name: "Major", 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: "Class", width: 100, align: "left", formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'bjsj',
key: value,
keyId: 'classno',
callback: function (_data) {
callback(_data['classname']);
}
});
}
},
{
label: "寝室类型", name: "RoomType", width: 100, align: "left",
formatter: function (value, row) {
if (value) {
return value + '人寝';
} else {
return '';
}
}
},
{ label: "入住人数", name: "CheckInStu", width: 100, align: "left" },
{
label: "性别", name: "Sex", width: 100, align: "left",
formatter: function (value, row) {
if (value == '0')
return '女';
else if (value == '1')
return '男';
else
return '';
}
},
{ label: "负责人", name: "Functionary", width: 100, align: "left" },
{ label: "负责人电话", name: "Phone", width: 100, align: "left" },
{ label: "备注", name: "Remark", width: 100, align: "left" },
],
mainId: 'ID',
isPage: true,
isMultiselect: true,
sidx: 'CheckInStu asc,ApartmentId asc,UnitId asc ,FloorId asc ',
//sord: 'ASC',
isSubGrid: true, // 是否有子表
subGridExpanded: function (subContentId, rowItem) {
$('#' + subContentId).jfGrid({
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/GetBedListByRoomId?RoomId=' + rowItem.ID,
headData: [
{ label: "名称", name: "Name", width: 100, align: "left" },
{
label: "学生", name: "StudentID", width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'StuInfoBasic',
key: value,
keyId: 'stuno',
callback: function (_data) {
callback(_data['stuname']);
}
});
}
},
],
mainId: 'ID',
isPage: false,
//sidx: 'DNo',
//sord: 'ASC',
});
//var param;
//param = param || {};
//param.ParentID = rowItem.Id;
$('#' + subContentId).jfGridSet('reload');
},
subGridHeight: 250,
});


//$("#gridtable").empty();
//$("#gridtable")[0].dfop = undefined;
//if (selectedParent.BuildType == undefined || selectedParent.BuildType === "3") {

//} else {
// //lrAuthorizeJfGridLei
// $('#gridtable').jfGrid({
// url: top.$.rootUrl + '/LogisticsManagement/Accommodation/GetPageList',
// headData: [
// { label: "名称", name: "Name", width: 100, align: "left" },
// {
// label: "宿舍楼", name: "ApartmentName", width: 100, align: "left"
// },
// {
// label: "单元", name: "UnitName", width: 100, align: "left"
// },
// {
// label: "楼层", name: "FloorName", width: 100, align: "left"
// },
// //{
// // label: "学生", name: "StudentID", width: 100, align: "left",
// // formatterAsync: function (callback, value, row, op, $cell) {

// // learun.clientdata.getAsync('custmerData', {
// // url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'StuInfoBasic',
// // key: value,
// // keyId: 'stuid',
// // callback: function (_data) {
// // callback(_data['stuname']);
// // }
// // });
// // }
// //},
// { label: "位置", name: "Address", width: 100, align: "left" },
// {
// label: "校区", name: "Campus", width: 100, align: "left",
// formatterAsync: function (callback, value, row, op, $cell) {

// learun.clientdata.getAsync('custmerData', {
// url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'company',
// key: value,
// keyId: 'f_companyid',
// callback: function (_data) {
// callback(_data['f_fullname']);
// }
// });
// }
// },
// //{
// // label: "系", name: "Dept", width: 100, align: "left",
// // formatterAsync: function (callback, value, row, op, $cell) {
// // learun.clientdata.getAsync('custmerData', {
// // url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo',
// // key: value,
// // keyId: 'deptno',
// // callback: function (_data) {
// // callback(_data['deptname']);
// // }
// // });
// // }
// //},
// //{
// // label: "专业", name: "Major", 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: 'id',
// // callback: function (_data) {
// // callback(_data['majorname']);
// // }
// // });
// // }
// //},
// //{ label: "班级", name: "Class", width: 100, align: "left" },
// //{
// // label: "性别", name: "Sex", width: 100, align: "left",
// // formatterAsync: function (callback, value, row, op, $cell) {
// // learun.clientdata.getAsync('dataItem', {
// // key: value,
// // code: 'usersex',
// // callback: function (_data) {
// // callback(_data.text);
// // }
// // });
// // }
// //},
// { label: "负责人", name: "Functionary", width: 100, align: "left" },
// { label: "负责人电话", name: "Phone", width: 100, align: "left" },
// { label: "备注", name: "Remark", width: 100, align: "left" },
// ],
// mainId: 'ID',
// isPage: true,
// //isMultiselect: true
// //sidx: 'ApartmentId asc,UnitId asc ,FloorId asc ',
// //sord: 'ASC',
// });
//}


},
search: function (param) {
param = param || {};
param.SqlParameter = " AND t.BuildType ='4' ";
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
}
};
refreshGirdData = function () {
//page.initTree();
if (!!selectedParent.ID) {
//var param = { ParentID: selectedParent.ID };
//$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
page.initTree();
page.search({ ParentID: selectedParent.ID });
} else {
page.initTree();
page.search();
}
};
page.init();
}

+ 6
- 6
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/Room.cshtml View File

@@ -79,10 +79,10 @@
<div class="inSec1ConTxt">
姓名 <span :title="floor.stuInfo.StuName" class="inSec1ConSpan1">{{floor.stuInfo.StuName}}</span> &nbsp;&nbsp;&nbsp;&nbsp; 学号 <span :title="floor.stuInfo.StuNo" class="inSec1ConSpan2" style="margin-left:0">{{floor.stuInfo.StuNo}}</span>
</div>
<div class="inSec1ConTxt">
@*<div class="inSec1ConTxt">
院系 <span :title="floor.stuInfo.DeptNo | filter_Dept" class="inSec1ConSpan1">{{floor.stuInfo.DeptNo | filter_Dept}}</span> &nbsp;&nbsp;&nbsp;&nbsp; 专业 <span :title="floor.stuInfo.MajorNo | filter_Major" style="margin-left:0" class="inSec1ConSpan2">{{floor.stuInfo.MajorNo | filter_Major}}</span>
</div>
<div @@click="checkDetail(floor)" class="inSec1Btn">查看更多信息 <i class="fa fa-angle-right"></i></div>
<div @@click="checkDetail(floor)" class="inSec1Btn">查看更多信息 <i class="fa fa-angle-right"></i></div>*@
</div>
</div>
</li>
@@ -237,7 +237,7 @@
top.learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo',
key: value,
keyId: 'id',
keyId: 'majorno',
callback: function (_data) {
result = _data.majorname;

@@ -398,7 +398,7 @@
},
addFloor: function () {
var url = "";
url = top.$.rootUrl + '/LogisticsManagement/Accommodation/Form?ParentID=' + this.roomID + '&ParentName=' + this.roomName;
url = top.$.rootUrl + '/LogisticsManagement/Accommodation/FormBed?ParentID=' + this.roomID + '&ParentName=' + this.roomName;
top.learun.layerForm({
id: 'form',
title: '新增',
@@ -415,7 +415,7 @@
top.learun.layerForm({
id: 'form',
title: '编辑',
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/Form?keyValue=' + id,
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/FormBed?keyValue=' + id,
width: 600,
height: 400,
callBack: function (id) {
@@ -542,7 +542,7 @@
top.learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo',
key: value,
keyId: 'id',
keyId: 'majorno',
callback: function (_data) {
result = _data.majorname;



+ 12
- 9
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/Accommodation/Unit.cshtml View File

@@ -76,7 +76,9 @@
<div class="inSec1Con inSec1Con1">
<img class="inSec1Horn" src="/Content/images/floor/inSec1-11.png" alt="" />
<div class="inSec1Con2">
<div class="inSec1ConT">{{floor.dormitory.Name}} <div class="inSec1Sex" :style="floor.dormitory.Sex | filter_style"><img :src="floor.dormitory.Sex | filter_sexImg" alt="" />{{floor.dormitory.Sex | filter_sex}}</div></div>
<div class="inSec1ConT">{{floor.dormitory.Name}}
@*<div class="inSec1Sex" :style="floor.dormitory.Sex | filter_style"><img :src="floor.dormitory.Sex | filter_sexImg" alt="" />{{floor.dormitory.Sex | filter_sex}}</div>*@
</div>
<div class="inSec1ConTxt">
<span>{{floor.floorNum}}</span>层 <span>{{floor.RoomNum}}</span>间 <span>{{floor.BedNum}}</span>床
</div>
@@ -255,7 +257,7 @@
floors: "",
sexImgUrl: "/Content/images/floor/inSec1-10.png",
dormitoryName: "",
dormitoryID:""
dormitoryID: ""
},
methods: {
getData: function () {
@@ -338,7 +340,7 @@
},
addFloor: function () {
var url = "";
url = top.$.rootUrl + '/LogisticsManagement/Accommodation/Form?ParentID=' + this.dormitoryID + '&ParentName=' + this.dormitoryName;
url = top.$.rootUrl + '/LogisticsManagement/Accommodation/FormClassify?ParentID=' + this.dormitoryID;
top.learun.layerForm({
id: 'form',
title: '新增',
@@ -355,7 +357,7 @@
top.learun.layerForm({
id: 'form',
title: '编辑',
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/Form?keyValue=' + id,
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/FormClassify?keyValue=' + id,
width: 600,
height: 400,
callBack: function (id) {
@@ -385,7 +387,8 @@
content: '<div class="layerBox unitLayer">' +
'<div class="layer_sec1 layer_sec">' +
'<div class="laySec1L">' +
'<div class="laySec1ConT">' + floor.dormitory.Name + this.filter_sex(floor.dormitory.Sex) +
'<div class="laySec1ConT">' + floor.dormitory.Name+
'<span style="display:none">' + this.filter_sex(floor.dormitory.Sex) + '</span>' +
'</div>' +
'<div class="laySec1R">' +
'<div><div class="laySec1Txt"><span>负&nbsp;责&nbsp;人</span>' + floor.dormitory.Functionary + '</div> <div class="laySec1Txt"><span>负责人电话</span>' + floor.dormitory.Phone + '</div></div>' +
@@ -395,15 +398,15 @@
'</div>' +
'<div class="layer_sec layer_sec2">' +
'<ul class="laySec2List">' +
'<li><span>编&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号</span>' + floor.dormitory.Name + '</li>' +
'<li><span>价&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;格</span>' + floor.dormitory.Price + ' <i>元</i></li>' +
'<li><span>编&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号</span>' + floor.dormitory.DNo + '</li>' +
'<li><span>价&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;格</span>' + (floor.dormitory.Price == null ? '' : floor.dormitory.Price) + ' <i>元</i></li>' +
'<li><span>楼&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;层</span>' + floor.floorNum + ' <i>层</i></li>' +
'<li><span>入&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;住</span>' + floor.HasStudentNum + ' <i>人</i></li>' +
'<li><span>房&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;间</span>' + floor.RoomNum + ' <i>间</i></li>' +
'<li><span>空&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;床</span>' + floor.NoStudentNum + ' <i>床</i></li>' +
'<li><span>床&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;位</span>' + floor.BedNum + ' <i>个</i></li>' +
'<li><span>涉及院系</span>' + this.filter_Dept(floor.dormitory.Dept) + '</li>' +
'<li><span>涉及专业</span>' + this.filter_Major(floor.dormitory.Major) + '</li>' +
//'<li><span>涉及院系</span>' + this.filter_Dept(floor.dormitory.Dept) + '</li>' +
//'<li><span>涉及专业</span>' + this.filter_Major(floor.dormitory.Major) + '</li>' +
'</ul>' +
'<div class="laySec2Btn">' +
//'<a href="#"><img src="/Content/images/floor/inSec1-1.png" alt="" /></a>' +


+ 23
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/DormitoryReturn/Form.cshtml View File

@@ -0,0 +1,23 @@
@{
ViewBag.Title = "学生归宿管理";
Layout = "~/Views/Shared/_Form.cshtml";
}
<div class="lr-form-wrap" id="form">
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryReturn">
<div class="lr-form-item-title">床位</div>
<div id="DormitoryBuildId"></div>
</div>
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryReturn">
<div class="lr-form-item-title">出宿时间</div>
<input id="OutTime" type="text" class="form-control lr-input-wdatepicker" data-dateFmt="yyyy-MM-dd HH:mm:ss" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd HH:mm:ss',onpicked: function () { $('#OutTime').trigger('change'); } })" />
</div>
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryReturn">
<div class="lr-form-item-title">归宿时间</div>
<input id="ReturnTime" type="text" class="form-control lr-input-wdatepicker" data-dateFmt="yyyy-MM-dd HH:mm:ss" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd HH:mm:ss',onpicked: function () { $('#ReturnTime').trigger('change'); } })" />
</div>
@*<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryReturn">
<div class="lr-form-item-title">检查日期</div>
<input id="CheckDate" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd',onpicked: function () { $('#CheckDate').trigger('change'); } })" />
</div>*@
</div>
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/DormitoryReturn/Form.js")

+ 59
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/DormitoryReturn/Form.js View File

@@ -0,0 +1,59 @@
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn)
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
* 创建人:超级管理员
* 日 期:2022-03-10 10:06
* 描 述:学生归宿管理
*/
var acceptClick;
var keyValue = request('keyValue');
var ParentId = request('ParentId');
var bootstrap = function ($, learun) {
"use strict";
var page = {
init: function () {
$('.lr-form-wrap').lrscroll();
page.bind();
page.initData();
},
bind: function () {
$('#DormitoryBuildId').lrselect({
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable',
param: { code: 'DormitoryInfo', strWhere: "ParentID='" + ParentId + "' and BuildType='5' and (StudentID is not null and len(StudentID)>0) order by name" },
text: 'name',
value: 'id',
allowSearch: true
});
},
initData: function () {
if (!!keyValue) {
$.lrSetForm(top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/GetFormData?keyValue=' + keyValue, function (data) {
console.log('data', 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 + '/LogisticsManagement/DormitoryReturn/SaveData?keyValue=' + keyValue, postData, function (res) {
// 保存成功后才回调
if (!!callBack) {
callBack();
}
});
};
page.init();
}

+ 19
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/DormitoryReturn/FormOut.cshtml View File

@@ -0,0 +1,19 @@
@{
ViewBag.Title = "学生出宿";
Layout = "~/Views/Shared/_Form.cshtml";
}
<div class="lr-form-wrap" id="form">
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryReturn">
<div class="lr-form-item-title">床位<font face="宋体">*</font></div>
<div id="DormitoryBuildId"></div>
</div>
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryReturn">
<div class="lr-form-item-title">出宿时间<font face="宋体">*</font></div>
<input id="OutTime" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd HH:mm:ss',onpicked: function () { $('#OutTime').trigger('change'); } })" isvalid="yes" checkexpession="NotNull" />
</div>
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryReturn">
<div class="lr-form-item-title">备注</div>
<textarea id="Remark" class="form-control" style="height: 100px;"></textarea>
</div>
</div>
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/DormitoryReturn/FormOut.js")

+ 61
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/DormitoryReturn/FormOut.js View File

@@ -0,0 +1,61 @@
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn)
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
* 创建人:超级管理员
* 日 期:2022-03-10 10:06
* 描 述:学生归宿管理
*/
var acceptClick;
var keyValue = request('keyValue');
var ParentId = request('ParentId');
var bootstrap = function ($, learun) {
"use strict";
var page = {
init: function () {
$('.lr-form-wrap').lrscroll();
page.bind();
page.initData();
},
bind: function () {
$('#DormitoryBuildId').lrselect({
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable',
param: { code: 'DormitoryInfo', strWhere: "ParentID='" + ParentId + "' and BuildType='5' and (StudentID is not null and len(StudentID)>0) order by name" },
text: 'name',
value: 'id',
allowSearch: true
});

},
initData: function () {
if (!!keyValue) {
$.lrSetForm(top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/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 strEntity = $('body').lrGetFormData();
strEntity.ParentId = ParentId;
var postData = {
strEntity: JSON.stringify(strEntity)
};
$.lrSaveForm(top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/SaveForm?type=1', postData, function (res) {
// 保存成功后才回调
if (!!callBack) {
callBack();
}
});
};
page.init();
}

+ 19
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/DormitoryReturn/FormReturn.cshtml View File

@@ -0,0 +1,19 @@
@{
ViewBag.Title = "学生出宿";
Layout = "~/Views/Shared/_Form.cshtml";
}
<div class="lr-form-wrap" id="form">
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryReturn">
<div class="lr-form-item-title">床位<font face="宋体">*</font></div>
<div id="DormitoryBuildId"></div>
</div>
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryReturn">
<div class="lr-form-item-title">归宿时间<font face="宋体">*</font></div>
<input id="ReturnTime" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd HH:mm:ss',onpicked: function () { $('#ReturnTime').trigger('change'); } })" isvalid="yes" checkexpession="NotNull" />
</div>
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryReturn">
<div class="lr-form-item-title">备注</div>
<textarea id="Remark" class="form-control" style="height: 100px;"></textarea>
</div>
</div>
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/DormitoryReturn/FormReturn.js")

+ 61
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/DormitoryReturn/FormReturn.js View File

@@ -0,0 +1,61 @@
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn)
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
* 创建人:超级管理员
* 日 期:2022-03-10 10:06
* 描 述:学生归宿管理
*/
var acceptClick;
var keyValue = request('keyValue');
var ParentId = request('ParentId');
var bootstrap = function ($, learun) {
"use strict";
var page = {
init: function () {
$('.lr-form-wrap').lrscroll();
page.bind();
page.initData();
},
bind: function () {
$('#DormitoryBuildId').lrselect({
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable',
param: { code: 'DormitoryInfo', strWhere: "ParentID='" + ParentId + "' and BuildType='5' and (StudentID is not null and len(StudentID)>0) order by name" },
text: 'name',
value: 'id',
allowSearch: true
});

},
initData: function () {
if (!!keyValue) {
$.lrSetForm(top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/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 strEntity = $('body').lrGetFormData();
strEntity.ParentId = ParentId;
var postData = {
strEntity: JSON.stringify(strEntity)
};
$.lrSaveForm(top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/SaveForm?type=2', postData, function (res) {
// 保存成功后才回调
if (!!callBack) {
callBack();
}
});
};
page.init();
}

+ 49
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/DormitoryReturn/Index.cshtml View File

@@ -0,0 +1,49 @@
@{
ViewBag.Title = "学生归宿管理";
Layout = "~/Views/Shared/_Index.cshtml";
}
<div class="lr-layout lr-layout-left-center" id="lr_layout" >
<div class="lr-layout-left">
<div class="lr-layout-wrap">
<div class="lr-layout-title lrlg ">树形列表</div>
<div id="dataTree" class="lr-layout-body"></div>
</div>
</div>
<div class="lr-layout-center">
<div class="lr-layout-wrap ">
<div class="lr-layout-title">
<span id="titleinfo" class="lrlg">列表信息</span>
</div>
<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>
</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_out" class="btn btn-default"><i class="fa fa-plus"></i>&nbsp;学生出宿</a>
<a id="lr_return" class="btn btn-default"><i class="fa fa-plus"></i>&nbsp;学生归宿</a>
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i>&nbsp;编辑</a>
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i>&nbsp;删除</a>
<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i>&nbsp;打印</a>
</div>
</div>
</div>
<div class="lr-layout-body" id="gridtable"></div>
</div>
</div>
</div>
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/DormitoryReturn/Index.js")

+ 159
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/DormitoryReturn/Index.js View File

@@ -0,0 +1,159 @@
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn)
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
* 创建人:超级管理员
* 日 期:2022-03-10 10:06
* 描 述:学生归宿管理
*/
var refreshGirdData;
var ParentId = '';
var bootstrap = function ($, learun) {
"use strict";
var startTime;
var endTime;
var page = {
init: function () {
page.initGird();
page.bind();
},
bind: function () {
// 初始化左侧树形数据
$('#dataTree').lrtree({
url: top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/GetTree',
nodeClick: function (item) {
if (item.title == '4') {
ParentId = item.value;
page.search({ ParentId: item.value });
}
}
});
// 时间搜索框
$('#datesearch').lrdate({
dfdata: [
{ name: '今天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00') }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
{ name: '近7天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'd', -6) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
{ name: '近1个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -1) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
{ name: '近3个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -3) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }
],
// 月
mShow: false,
premShow: false,
// 季度
jShow: false,
prejShow: false,
// 年
ysShow: false,
yxShow: false,
preyShow: false,
yShow: false,
// 默认
dfvalue: '1',
selectfn: function (begin, end) {
startTime = begin;
endTime = end;
page.search();
}
});
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) {
page.search(queryJson);
}, 220, 400);
// 刷新
$('#lr_refresh').on('click', function () {
location.reload();
});
// 学生出宿
$('#lr_out').on('click', function () {
if (!!ParentId) {
learun.layerForm({
id: 'formout',
title: '学生出宿',
url: top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/FormOut?ParentId=' + ParentId,
width: 600,
height: 400,
callBack: function (id) {
return top[id].acceptClick(refreshGirdData);
}
});
} else {
return learun.alert.warning('请选择宿舍!');
}
});

// 学生出宿
$('#lr_return').on('click', function () {
if (!!ParentId) {
learun.layerForm({
id: 'formreturn',
title: '学生归宿',
url: top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/FormReturn?ParentId=' + ParentId,
width: 600,
height: 400,
callBack: function (id) {
return top[id].acceptClick(refreshGirdData);
}
});
} else {
return learun.alert.warning('请选择宿舍!');
}
});
// 编辑
$('#lr_edit').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('Id');
if (learun.checkrow(keyValue)) {
learun.layerForm({
id: 'form',
title: '编辑',
url: top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/Form?keyValue=' + keyValue + '&ParentId=' + ParentId,
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 + '/LogisticsManagement/DormitoryReturn/DeleteForm', { keyValue: keyValue }, function () {
refreshGirdData();
});
}
});
}
});
// 打印
$('#lr_print').on('click', function () {
$('#gridtable').jqprintTable();
});
},
// 初始化列表
initGird: function () {
$('#gridtable').jfGrid({
url: top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/GetPageList',
headData: [
{ label: "床位", name: "Name", width: 100, align: "left" },
{ label: "出宿时间", name: "OutTime", width: 200, align: "left" },
{ label: "归宿时间", name: "ReturnTime", width: 200, align: "left" },
],
mainId: 'Id',
isPage: true,
sidx: 'OutTime desc',
});
},
search: function (param) {
param = param || {};
if (!!ParentId) {
param.StartTime = startTime;
param.EndTime = endTime;
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
}
}
};
refreshGirdData = function () {
$('#gridtable').jfGridSet('reload');
};
page.init();
}

+ 49
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/DormitoryReturn/IndexReport.cshtml View File

@@ -0,0 +1,49 @@

@{
ViewBag.Title = "学生归宿统计";
Layout = "~/Views/Shared/_ReportTemplate.cshtml";
}
<style>
.lr-select {
width: 150px;
}
</style>
<div class="lr-layout ui-report">
<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="Dept" type="lrselect" class="lr-select"></div>
</div>
<div class="lr-layout-tool-item">
<div id="Major" type="lrselect" class="lr-select"></div>
</div>
<div class="lr-layout-tool-item">
<div id="Class" type="lrselect" class="lr-select"></div>
</div>
<div class="lr-layout-tool-item">
<a id="btn_Search" class="btn btn-primary btn-sm"><i class="fa fa-search"></i>&nbsp;查询</a>
</div>

</div>
<div class="lr-layout-tool-right">
<div class="btn-group btn-group-sm">
@*<a id="lr-replace" class="btn btn-default"><i class="fa fa-refresh"></i>&nbsp;<span class="lrlt">刷新</span></a>*@
</div>
</div>
</div>
<div class="lr-layout-grid" style="overflow:auto;">
<div class="grid-title">
<div style="overflow: hidden; padding-bottom: 20px; text-align: center; margin-left: auto; margin-right: auto;">
<div id="main" style="float: left; margin-right: 20px; width: 650px; height: 350px;border: 1px solid #ccc;">
</div>
</div>
</div>
<div class="lr-layout-body" id="gridtable"></div>
</div>
</div>
</div>
</div>
<script src="~/Content/echarts/echarts.js"></script>
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/DormitoryReturn/IndexReport.js")

+ 131
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/DormitoryReturn/IndexReport.js View File

@@ -0,0 +1,131 @@
var bootstrap = function ($, learun) {
"use strict";
var year = "";
var page = {
init: function () {
page.bind();
page.initGrid();
page.initChart();
},
bind: function () {
$('#Dept').lrselect({
width: '150px',
placeholder: "请选择系部",
allowSearch: true,
url: top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/GetDept',
value: 'Dept',
text: 'DeptName',
select: function (item) {
if (item) {
$('#Major').lrselectRefresh({
url: top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/GetMajor',
param: { strWhere: "m.deptno='" + item.Dept + "'" }
});
$('#Class').lrselectRefresh({
//url: top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/GetClass',
//param: { strWhere: "c.majorno=''" }
});
}
}
});
$('#Major').lrselect({
width: '150px',
placeholder: "请选择专业",
allowSearch: true,
//url: top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/GetMajor',
value: 'Major',
text: 'MajorName',
select: function (item) {
if (item) {
$('#Class').lrselectRefresh({
url: top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/GetClass',
param: { strWhere: "c.majorno='" + item.Major + "'" }
});
}
}
});
$('#Class').lrselect({
width: '150px',
placeholder: "请选择班级",
allowSearch: true,
value: 'Class',
text: 'ClassName'
});

//查询
$('#btn_Search').on('click', function () {
page.search({ Dept: $('#Dept').lrselectGet(), Major: $('#Major').lrselectGet(), Class: $('#Class').lrselectGet() });
});

},
initGrid: function () {
$(".lr-layout-grid").height($(window).height() - 110);
$('#gridtable').jfGrid({
url: top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/GetReportList',
headData: [
{ name: "name", label: "状态", width: 100, align: "center" },
{ name: "value", label: "人数", width: 150, align: "center" }

]
});
page.search();
},
initChart: function (queryJson) {
var myChart1 = echarts.init(document.getElementById('main'));
//var myChart2 = echarts.init(document.getElementById('main1'));
queryJson = {
Dept: $('#Dept').lrselectGet(),
Major: $('#Major').lrselectGet(),
Class: $('#Class').lrselectGet()
};
//console.log('queryJson', queryJson);
learun.httpAsyncPost(top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/GetReportData', { queryJson: JSON.stringify(queryJson) }, function (res) {
if (res.code == 200) {
var option = {
title: {
text: '学生归宿统计',
x: 'center'
},
tooltip: {
trigger: 'item',
formatter: "{a} <br/>{b} : {c} ({d}%)"
},
legend: {
orient: 'vertical',
left: 'left',
data: res.data.list1
},
series: [
{
name: '学生归宿',
type: 'pie',
radius: '55%',
center: ['50%', '60%'],
data: res.data.list2,
itemStyle: {
emphasis: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
};

myChart1.setOption(option);

}
});

},
search: function (param) {
param = param || {};
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
page.initChart(param);
}
};
page.init();
}



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

@@ -361,8 +361,10 @@
<Compile Include="Areas\EducationalAdministration\Controllers\TeachPlanController.cs" />
<Compile Include="Areas\EducationalAdministration\Controllers\TeachSwitchController.cs" />
<Compile Include="Areas\EducationalAdministration\EducationalAdministrationAreaRegistration.cs" />
<Compile Include="Areas\LogisticsManagement\Controllers\Acc_DormitoryRuleController.cs" />
<Compile Include="Areas\LogisticsManagement\Controllers\APAppointmentPsychologistController.cs" />
<Compile Include="Areas\LogisticsManagement\Controllers\CompanyNewsController.cs" />
<Compile Include="Areas\LogisticsManagement\Controllers\DormitoryReturnController.cs" />
<Compile Include="Areas\LogisticsManagement\LogisticsManagementAreaRegistration.cs" />
<Compile Include="Areas\LR_AuthorizeModule\Controllers\AuthorizeController.cs" />
<Compile Include="Areas\LR_AuthorizeModule\Controllers\FilterIPController.cs" />
@@ -1220,6 +1222,16 @@
<Content Include="Areas\EducationalAdministration\Views\TeachSwitch\Index.js" />
<Content Include="Areas\LogisticsManagement\Views\Accommodation\Allocation.js" />
<Content Include="Areas\LogisticsManagement\Views\Accommodation\DormitoryAdd.js" />
<Content Include="Areas\LogisticsManagement\Views\Accommodation\FormBed.js" />
<Content Include="Areas\LogisticsManagement\Views\Accommodation\FormClass.js" />
<Content Include="Areas\LogisticsManagement\Views\Accommodation\FormClassify.js" />
<Content Include="Areas\LogisticsManagement\Views\Accommodation\FormDept.js" />
<Content Include="Areas\LogisticsManagement\Views\Accommodation\FormRoom.js" />
<Content Include="Areas\LogisticsManagement\Views\Accommodation\IndexBed.js" />
<Content Include="Areas\LogisticsManagement\Views\Accommodation\IndexClassify.js" />
<Content Include="Areas\LogisticsManagement\Views\Accommodation\IndexDistribution.js" />
<Content Include="Areas\LogisticsManagement\Views\Acc_DormitoryRule\Form.js" />
<Content Include="Areas\LogisticsManagement\Views\Acc_DormitoryRule\Index.js" />
<Content Include="Areas\LogisticsManagement\Views\ADR_Record\AttendanceReportByWeek.js" />
<Content Include="Areas\LogisticsManagement\Views\ADR_Record\StatisticDetailIndex.js" />
<Content Include="Areas\LogisticsManagement\Views\ADR_Record\StatisticIndex.js" />
@@ -1227,6 +1239,11 @@
<Content Include="Areas\LogisticsManagement\Views\APAppointmentPsychologist\Index.js" />
<Content Include="Areas\LogisticsManagement\Views\CompanyNews\Form.js" />
<Content Include="Areas\LogisticsManagement\Views\CompanyNews\Index.js" />
<Content Include="Areas\LogisticsManagement\Views\DormitoryReturn\Form.js" />
<Content Include="Areas\LogisticsManagement\Views\DormitoryReturn\FormOut.js" />
<Content Include="Areas\LogisticsManagement\Views\DormitoryReturn\FormReturn.js" />
<Content Include="Areas\LogisticsManagement\Views\DormitoryReturn\Index.js" />
<Content Include="Areas\LogisticsManagement\Views\DormitoryReturn\IndexReport.js" />
<Content Include="Areas\LR_AuthorizeModule\Views\Authorize\AppForm.js" />
<Content Include="Areas\LR_AuthorizeModule\Views\Authorize\Form.css" />
<Content Include="Areas\LR_AuthorizeModule\Views\Authorize\Form.js" />
@@ -7645,6 +7662,21 @@
<Content Include="Areas\EducationalAdministration\Views\ArrangeExamTermNew\IndexStudent.cshtml" />
<Content Include="Areas\EducationalAdministration\Views\StuScoreNotPass\IndexUnpass.cshtml" />
<Content Include="Areas\EducationalAdministration\Views\StuScoreNotPassTwo\IndexUnpassTwo.cshtml" />
<Content Include="Areas\LogisticsManagement\Views\Accommodation\FormBed.cshtml" />
<Content Include="Areas\LogisticsManagement\Views\Accommodation\FormClass.cshtml" />
<Content Include="Areas\LogisticsManagement\Views\Accommodation\FormClassify.cshtml" />
<Content Include="Areas\LogisticsManagement\Views\Accommodation\FormDept.cshtml" />
<Content Include="Areas\LogisticsManagement\Views\Accommodation\FormRoom.cshtml" />
<Content Include="Areas\LogisticsManagement\Views\Accommodation\IndexBed.cshtml" />
<Content Include="Areas\LogisticsManagement\Views\Accommodation\IndexClassify.cshtml" />
<Content Include="Areas\LogisticsManagement\Views\Accommodation\IndexDistribution.cshtml" />
<Content Include="Areas\LogisticsManagement\Views\Acc_DormitoryRule\Form.cshtml" />
<Content Include="Areas\LogisticsManagement\Views\Acc_DormitoryRule\Index.cshtml" />
<Content Include="Areas\LogisticsManagement\Views\DormitoryReturn\Form.cshtml" />
<Content Include="Areas\LogisticsManagement\Views\DormitoryReturn\FormOut.cshtml" />
<Content Include="Areas\LogisticsManagement\Views\DormitoryReturn\FormReturn.cshtml" />
<Content Include="Areas\LogisticsManagement\Views\DormitoryReturn\Index.cshtml" />
<Content Include="Areas\LogisticsManagement\Views\DormitoryReturn\IndexReport.cshtml" />
<None Include="Properties\PublishProfiles\CustomProfile.pubxml" />
<None Include="Properties\PublishProfiles\FolderProfile.pubxml" />
<Content Include="Views\Login\Default-beifen.cshtml" />


+ 2
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/Learun.Application.Mapping.csproj View File

@@ -102,6 +102,8 @@
<Compile Include="EvaluationTeach\Eval_QuestionItemsMap.cs" />
<Compile Include="EvaluationTeach\Eval_QuestionMap.cs" />
<Compile Include="EvaluationTeach\Eval_QuestionResultMap.cs" />
<Compile Include="LogisticsManagement\Acc_DormitoryReturnMap.cs" />
<Compile Include="LogisticsManagement\Acc_DormitoryRuleMap.cs" />
<Compile Include="LR_App\DTImgMap.cs" />
<Compile Include="LR_App\FunctionMap.cs" />
<Compile Include="LR_App\FunctionSchemeMap.cs" />


+ 29
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/LogisticsManagement/Acc_DormitoryReturnMap.cs View File

@@ -0,0 +1,29 @@
using Learun.Application.TwoDevelopment.LogisticsManagement;
using System.Data.Entity.ModelConfiguration;

namespace Learun.Application.Mapping
{
/// <summary>
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
/// 创 建:超级管理员
/// 日 期:2022-03-10 10:06
/// 描 述:学生归宿管理
/// </summary>
public class Acc_DormitoryReturnMap : EntityTypeConfiguration<Acc_DormitoryReturnEntity>
{
public Acc_DormitoryReturnMap()
{
#region 表、主键
//表
this.ToTable("ACC_DORMITORYRETURN");
//主键
this.HasKey(t => t.Id);
#endregion

#region 配置关系
#endregion
}
}
}


+ 29
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/LogisticsManagement/Acc_DormitoryRuleMap.cs View File

@@ -0,0 +1,29 @@
using Learun.Application.TwoDevelopment.LogisticsManagement;
using System.Data.Entity.ModelConfiguration;

namespace Learun.Application.Mapping
{
/// <summary>
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
/// 创 建:超级管理员
/// 日 期:2022-03-14 12:05
/// 描 述:宿舍晚归规则
/// </summary>
public class Acc_DormitoryRuleMap : EntityTypeConfiguration<Acc_DormitoryRuleEntity>
{
public Acc_DormitoryRuleMap()
{
#region 表、主键
//表
this.ToTable("ACC_DORMITORYRULE");
//主键
this.HasKey(t => t.Id);
#endregion

#region 配置关系
#endregion
}
}
}


+ 8
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/Learun.Application.TwoDevelopment.csproj View File

@@ -275,8 +275,16 @@
<Compile Include="Feixing\SysDictDetailApiViewModel.cs" />
<Compile Include="Feixing\SystemInfoViewModel.cs" />
<Compile Include="Feixing\UserModel.cs" />
<Compile Include="LogisticsManagement\Acc_DormitoryRule\Acc_DormitoryRuleBLL.cs" />
<Compile Include="LogisticsManagement\Acc_DormitoryRule\Acc_DormitoryRuleEntity.cs" />
<Compile Include="LogisticsManagement\Acc_DormitoryRule\Acc_DormitoryRuleIBLL.cs" />
<Compile Include="LogisticsManagement\Acc_DormitoryRule\Acc_DormitoryRuleService.cs" />
<Compile Include="LogisticsManagement\APAppointmentPsychologist\APAppointmentPsychologistEntity.cs" />
<Compile Include="LogisticsManagement\CompanyNews\CompanyNewsEntity.cs" />
<Compile Include="LogisticsManagement\DormitoryReturn\Acc_DormitoryReturnEntity.cs" />
<Compile Include="LogisticsManagement\DormitoryReturn\DormitoryReturnBLL.cs" />
<Compile Include="LogisticsManagement\DormitoryReturn\DormitoryReturnIBLL.cs" />
<Compile Include="LogisticsManagement\DormitoryReturn\DormitoryReturnService.cs" />
<Compile Include="LR_CodeDemo\GantProject\GantProjectBLL.cs" />
<Compile Include="LR_CodeDemo\GantProject\GantProjectIBLL.cs" />
<Compile Include="LR_CodeDemo\GantProject\GantProjectService.cs" />


+ 148
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/Acc_DormitoryRule/Acc_DormitoryRuleBLL.cs View File

@@ -0,0 +1,148 @@
using Learun.Util;
using System;
using System.Data;
using System.Collections.Generic;

namespace Learun.Application.TwoDevelopment.LogisticsManagement
{
/// <summary>
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
/// 创 建:超级管理员
/// 日 期:2022-03-14 12:05
/// 描 述:宿舍晚归规则
/// </summary>
public class Acc_DormitoryRuleBLL : Acc_DormitoryRuleIBLL
{
private Acc_DormitoryRuleService acc_DormitoryRuleService = new Acc_DormitoryRuleService();

#region 获取数据

/// <summary>
/// 获取页面显示列表数据
/// </summary>
/// <param name="pagination">分页参数</param>
/// <param name="queryJson">查询参数</param>
/// <returns></returns>
public IEnumerable<Acc_DormitoryRuleEntity> GetPageList(Pagination pagination, string queryJson)
{
try
{
return acc_DormitoryRuleService.GetPageList(pagination, queryJson);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

/// <summary>
/// 获取Acc_DormitoryRule表实体数据
/// </summary>
/// <param name="keyValue">主键</param>
/// <returns></returns>
public Acc_DormitoryRuleEntity GetAcc_DormitoryRuleEntity(string keyValue)
{
try
{
return acc_DormitoryRuleService.GetAcc_DormitoryRuleEntity(keyValue);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

/// <summary>
/// 获取Acc_DormitoryRule表实体数据
/// </summary>
/// <returns></returns>
public Acc_DormitoryRuleEntity GetEnableEntity()
{
try
{
return acc_DormitoryRuleService.GetEnableEntity();
}
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
{
acc_DormitoryRuleService.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, Acc_DormitoryRuleEntity entity)
{
try
{
acc_DormitoryRuleService.SaveEntity(keyValue, entity);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

#endregion

}
}

+ 90
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/Acc_DormitoryRule/Acc_DormitoryRuleEntity.cs View File

@@ -0,0 +1,90 @@
using Learun.Util;
using System;
using System.ComponentModel.DataAnnotations.Schema;

namespace Learun.Application.TwoDevelopment.LogisticsManagement
{
/// <summary>
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
/// 创 建:超级管理员
/// 日 期:2022-03-14 12:05
/// 描 述:宿舍晚归规则
/// </summary>
public class Acc_DormitoryRuleEntity
{
#region 实体成员
/// <summary>
/// Id
/// </summary>
[Column("ID")]
public string Id { get; set; }
/// <summary>
/// 晚归时间
/// </summary>
[Column("LATERETURNTIME")]
public string LateReturnTime { get; set; }
/// <summary>
/// 推送人员
/// </summary>
[Column("PUSHUSER")]
public string PushUser { get; set; }
/// <summary>
/// 是否推送班主任
/// </summary>
[Column("CLASSDIREDCTOR")]
public int? ClassDiredctor { get; set; }
/// <summary>
/// 推送时间点
/// </summary>
[Column("PUSHHOUR")]
public int? PushHour { get; set; }
/// <summary>
/// 是否启用
/// </summary>
[Column("ISENABLE")]
public int? IsEnable { get; set; }
/// <summary>
/// CreateTime
/// </summary>
[Column("CREATETIME")]
public DateTime? CreateTime { get; set; }
/// <summary>
/// CreateUserId
/// </summary>
[Column("CREATEUSERID")]
public string CreateUserId { get; set; }
/// <summary>
/// UpdateTime
/// </summary>
[Column("UPDATETIME")]
public DateTime? UpdateTime { get; set; }
/// <summary>
/// UpdateUserId
/// </summary>
[Column("UPDATEUSERID")]
public string UpdateUserId { 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
}
}


+ 49
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/Acc_DormitoryRule/Acc_DormitoryRuleIBLL.cs View File

@@ -0,0 +1,49 @@
using Learun.Util;
using System.Data;
using System.Collections.Generic;

namespace Learun.Application.TwoDevelopment.LogisticsManagement
{
/// <summary>
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
/// 创 建:超级管理员
/// 日 期:2022-03-14 12:05
/// 描 述:宿舍晚归规则
/// </summary>
public interface Acc_DormitoryRuleIBLL
{
#region 获取数据

/// <summary>
/// 获取页面显示列表数据
/// </summary>
/// <param name="queryJson">查询参数</param>
/// <returns></returns>
IEnumerable<Acc_DormitoryRuleEntity> GetPageList(Pagination pagination, string queryJson);
/// <summary>
/// 获取Acc_DormitoryRule表实体数据
/// </summary>
/// <param name="keyValue">主键</param>
/// <returns></returns>
Acc_DormitoryRuleEntity GetAcc_DormitoryRuleEntity(string keyValue);
Acc_DormitoryRuleEntity GetEnableEntity();
#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, Acc_DormitoryRuleEntity entity);
#endregion

}
}

+ 168
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/Acc_DormitoryRule/Acc_DormitoryRuleService.cs View File

@@ -0,0 +1,168 @@
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.LogisticsManagement
{
/// <summary>
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
/// 创 建:超级管理员
/// 日 期:2022-03-14 12:05
/// 描 述:宿舍晚归规则
/// </summary>
public class Acc_DormitoryRuleService : RepositoryFactory
{
#region 获取数据

/// <summary>
/// 获取页面显示列表数据
/// </summary>
/// <param name="pagination">查询参数</param>
/// <param name="queryJson">查询参数</param>
/// <returns></returns>
public IEnumerable<Acc_DormitoryRuleEntity> GetPageList(Pagination pagination, string queryJson)
{
try
{
var strSql = new StringBuilder();
strSql.Append("SELECT ");
strSql.Append(@"
t.*
");
strSql.Append(" FROM Acc_DormitoryRule t ");
strSql.Append(" WHERE 1=1 ");
var queryParam = queryJson.ToJObject();
// 虚拟参数
var dp = new DynamicParameters(new { });
return this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryRuleEntity>(strSql.ToString(), dp, pagination);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

/// <summary>
/// 获取Acc_DormitoryRule表实体数据
/// </summary>
/// <param name="keyValue">主键</param>
/// <returns></returns>
public Acc_DormitoryRuleEntity GetAcc_DormitoryRuleEntity(string keyValue)
{
try
{
return this.BaseRepository("CollegeMIS").FindEntity<Acc_DormitoryRuleEntity>(keyValue);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}


/// <summary>
/// 获取Acc_DormitoryRule表实体数据
/// </summary>
/// <param name="keyValue">主键</param>
/// <returns></returns>
public Acc_DormitoryRuleEntity GetEnableEntity()
{
try
{
return this.BaseRepository("CollegeMIS").FindEntity<Acc_DormitoryRuleEntity>(x => x.IsEnable == 1);
}
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<Acc_DormitoryRuleEntity>(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, Acc_DormitoryRuleEntity 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

}
}

+ 51
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/Accommodation/Acc_DormitoryBuildEntity.cs View File

@@ -19,12 +19,33 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
/// </summary>
[Column("ID")]
public string ID { get; set; }
/// <summary>
/// 编号
/// </summary>
[Column("DNO")]
public string DNo { get; set; }

/// <summary>
/// 名称
/// </summary>
[Column("NAME")]
public string Name { get; set; }
/// <summary>
/// 宿舍楼
/// </summary>
[Column("APARTMENTID")]
public string ApartmentId { get; set; }
/// <summary>
/// 单元
/// </summary>
[Column("UNITID")]
public string UnitId { get; set; }
/// <summary>
/// 楼层
/// </summary>
[Column("FLOORID")]
public string FloorId { get; set; }
/// <summary>
/// 负责人
/// </summary>
[Column("FUNCTIONARY")]
@@ -145,9 +166,32 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
/// </summary>
[Column("PLANBEDNUM")]
public int? PlanBedNum { get; set; }
/// <summary>
/// 寝室类型(几人寝)
/// </summary>
[Column("ROOMTYPE")]
public int? RoomType { get; set; }
/// <summary>
/// 入住人数
/// </summary>
[Column("CHECKINSTU")]
public int? CheckInStu { get; set; }
/// <summary>
/// 是否归宿
/// </summary>
[Column("ISRETURN")]
public int? IsReturn { get; set; }
#endregion

#region 扩展字段

[NotMapped]
public string ApartmentName { get; set; }
[NotMapped]
public string UnitName { get; set; }
[NotMapped]
public string FloorName { get; set; }
/// <summary>
/// 学生名字
/// </summary>
@@ -176,6 +220,13 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
[NotMapped]
public string bedId { get; set; }

[NotMapped]
public string DeptName { get; set; }
[NotMapped]
public string MajorName { get; set; }
[NotMapped]
public string ClassName { get; set; }
#endregion

#region 扩展操作


+ 254
- 6
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/Accommodation/AccommodationBLL.cs View File

@@ -42,6 +42,26 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
}
}
}

public IEnumerable<Acc_DormitoryBuildEntity> GetBedListByRoomId(string RoomId)
{
try
{
return accommodationService.GetBedListByRoomId(RoomId);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

public IEnumerable<Acc_DormitoryBuildEntity> GetAllList()
{
try
@@ -61,6 +81,25 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
}
}

public IEnumerable<Acc_DormitoryBuildEntity> GetClassifyList(Pagination paginationobj, string queryJson)
{
try
{
return accommodationService.GetClassifyList(paginationobj, queryJson);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

public object GetDormitoryList()
{
try
@@ -179,6 +218,27 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement

}

public string GetParentBuildType(string keyValue)
{
try
{
return accommodationService.GetParentBuildType(keyValue);

}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}

}

/// <summary>
/// 获取Acc_DormitoryBuild表实体数据
/// <param name="keyValue">主键</param>
@@ -251,6 +311,61 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
}
}

public List<Acc_DormitoryBuildEntity> GetDept()
{
try
{
return accommodationService.GetSelectData("").Select(x => new Acc_DormitoryBuildEntity { Dept = x.Dept, DeptName = x.DeptName }).Distinct().ToList();
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}
public List<Acc_DormitoryBuildEntity> GetMajor(string strWhere)
{
try
{
return accommodationService.GetSelectData(strWhere).Select(x => new Acc_DormitoryBuildEntity { Major = x.Major, MajorName = x.MajorName }).Distinct().ToList();
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}
public List<Acc_DormitoryBuildEntity> GetClass(string strWhere)
{
try
{
return accommodationService.GetSelectData(strWhere).Select(x => new Acc_DormitoryBuildEntity { Class = x.Class, ClassName = x.ClassName }).Distinct().ToList();
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

/// <summary>
/// 获取左侧树形数据
/// <summary>
@@ -270,8 +385,9 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
value = item.ID.ToString(),
showcheck = false,
checkstate = 0,
isexpand = false,
parentId = item.ParentID == null ? "" : item.ParentID
isexpand = true,
parentId = item.ParentID == null ? "" : item.ParentID,
title = item.BuildType

};

@@ -339,9 +455,49 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
}
}
}
public List<TreeModel> GetClassifyTree()
{
try
{
List<Acc_DormitoryBuildEntity> list = accommodationService.GetClassifyTree();
List<TreeModel> treeList = new List<TreeModel>();
foreach (Acc_DormitoryBuildEntity item in list)
{
TreeModel node = new TreeModel
{
id = item.ID.ToString(),
text = item.Name.ToString(),
value = item.ID.ToString(),
showcheck = false,
checkstate = 0,
isexpand = false,
parentId = item.ParentID == null ? "" : item.ParentID,
title = string.IsNullOrEmpty(item.BuildType) ? "" : (Convert.ToInt32(item.BuildType) + 1).ToString(),

};


treeList.Add(node);


}


return treeList.ToTree();
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}


/// <summary>
/// 根据父id 获取树形数据
@@ -386,7 +542,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
}
}

/// <summary>
/// <summary>
/// 根据父id 获取树形数据
/// </summary>
/// <param name="parentID"></param>
@@ -431,11 +587,11 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement

}
}
public bool MatchDormitoryInfo(string stuNo,string dormitory,string unit,string floor,string room,string bed ,List<Acc_DormitoryBuildEntity> data)
public bool MatchDormitoryInfo(string stuNo, string dormitory, string unit, string floor, string room, string bed, List<Acc_DormitoryBuildEntity> data)
{
try
{
return accommodationService.MatchDormitoryInfo(stuNo,dormitory,unit,floor,room,bed,data);
return accommodationService.MatchDormitoryInfo(stuNo, dormitory, unit, floor, room, bed, data);

}
catch (Exception ex)
@@ -481,6 +637,31 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
}
}


/// <summary>
/// 删除实体数据
/// <param name="keyValue">主键</param>
/// <summary>
/// <returns></returns>
public void DeleteBed(string keyValue, string ParentID)
{
try
{
accommodationService.DeleteBed(keyValue, ParentID);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

/// <summary>
/// 保存实体数据(新增、修改)
/// <param name="keyValue">主键</param>
@@ -505,6 +686,74 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
}
}

/// <summary>
/// 保存实体数据(新增、修改)
/// <param name="keyValue">主键</param>
/// <summary>
/// <returns></returns>
public void SaveBedEntity(string keyValue, string ParentID, Acc_DormitoryBuildEntity entity)
{
try
{
accommodationService.SaveBedEntity(keyValue, ParentID, entity);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}



/// <summary>
/// 分配系
/// </summary>
/// <param name="keyValue"></param>
/// <param name="entity"></param>
public void SaveDeptClass(string keyValue, Acc_DormitoryBuildEntity entity, int type)
{
try
{
accommodationService.SaveDeptClass(keyValue, entity, type);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

public string SaveRoom(string RoomId, List<Acc_DormitoryBuildEntity> list)
{
try
{
return accommodationService.SaveRoom(RoomId, list);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

/// <summary>
/// 批量添加单元、楼层、宿舍、床位
@@ -581,7 +830,6 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement

}
}

#endregion

}


+ 11
- 1
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/Accommodation/AccommodationIBLL.cs View File

@@ -21,7 +21,9 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
/// <param name="queryJson">查询参数</param>
/// <returns></returns>
IEnumerable<Acc_DormitoryBuildEntity> GetPageList(Pagination pagination, string queryJson);
IEnumerable<Acc_DormitoryBuildEntity> GetBedListByRoomId(string RoomId);
IEnumerable<Acc_DormitoryBuildEntity> GetAllList();
IEnumerable<Acc_DormitoryBuildEntity> GetClassifyList(Pagination paginationobj,string queryJson);
/// <summary>
/// 获取Acc_DormitoryBuild表实体数据
/// <param name="keyValue">主键</param>
@@ -42,6 +44,9 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
/// <summary>
/// <returns></returns>
List<Acc_DormitoryBuildEntity> GetList();
List<Acc_DormitoryBuildEntity> GetDept();
List<Acc_DormitoryBuildEntity> GetMajor(string strWhere);
List<Acc_DormitoryBuildEntity> GetClass(string strWhere);
/// <summary>
/// 获取左侧树形数据
/// <summary>
@@ -50,6 +55,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
string GetDormitoryInfoByStuNo(string val);
List<TreeModel> GetTree();
List<TreeModel> GetTreeNew();
List<TreeModel> GetClassifyTree();

bool MatchDormitoryInfo(string stuNo, string dormitory, string unit, string floor, string room, string bed,List<Acc_DormitoryBuildEntity> data);

@@ -68,7 +74,9 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
/// <summary>
/// <returns></returns>
void DeleteEntity(string keyValue);
void DeleteBed(string keyValue, string ParentID);
string GetBuildType(string parentID);
string GetParentBuildType(string keyValue);

/// <summary>
/// 保存实体数据(新增、修改)
@@ -76,7 +84,9 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
/// <summary>
/// <returns></returns>
void SaveEntity(string keyValue, Acc_DormitoryBuildEntity entity);

void SaveBedEntity(string keyValue,string ParentID, Acc_DormitoryBuildEntity entity);
void SaveDeptClass(string keyValue, Acc_DormitoryBuildEntity entity,int type);
string SaveRoom(string RoomId, List<Acc_DormitoryBuildEntity> list);

/// <summary>
/// 批量添加单元、楼层、房间、床位


+ 532
- 14
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/Accommodation/AccommodationService.cs View File

@@ -51,10 +51,14 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
t.ParentID,
t.Remark,
t.Starred,
t.HasToilet,
stb.StuName
t.HasToilet,t.RoomType,
t.ApartmentId,t.UnitId,t.FloorId,t.CheckInStu,
a.name as ApartmentName,b.name as UnitName,c.Name as FloorName
");
strSql.Append(" FROM Acc_DormitoryBuild t LEFT JOIN dbo.StuInfoBasic stb ON t.StudentID=stb.StuId");
strSql.Append(" FROM Acc_DormitoryBuild t ");
strSql.Append(@" left join (select * FROM Acc_DormitoryBuild where BuildType='1') a on t.ApartmentId=a.ID
left join(select * FROM Acc_DormitoryBuild where BuildType = '2') b on t.UnitId = b.ID
left join(select * FROM Acc_DormitoryBuild where BuildType = '3') c on t.FloorId = c.ID ");
strSql.Append(" WHERE 1=1 ");
var queryParam = queryJson.ToJObject();
// 虚拟参数
@@ -64,6 +68,27 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
dp.Add("ParentID", queryParam["ParentID"].ToString(), DbType.String);
strSql.Append(" AND t.ParentID =@ParentID ");
}
//else
//{
// strSql.Append(" AND t.BuildType ='4' ");
//}

if (!queryParam["ApartmentId"].IsEmpty())
{
dp.Add("ApartmentId", queryParam["ApartmentId"].ToString(), DbType.String);
strSql.Append(" AND t.ApartmentId =@ApartmentId ");
}
if (!queryParam["UnitId"].IsEmpty())
{
dp.Add("UnitId", queryParam["UnitId"].ToString(), DbType.String);
strSql.Append(" AND t.UnitId =@UnitId ");
}
if (!queryParam["FloorId"].IsEmpty())
{
dp.Add("FloorId", queryParam["FloorId"].ToString(), DbType.String);
strSql.Append(" AND t.FloorId =@FloorId ");
}

if (!queryParam["Name"].IsEmpty())
{
dp.Add("Name", "%" + queryParam["Name"].ToString() + "%", DbType.String);
@@ -76,18 +101,18 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
}
if (!queryParam["Dept"].IsEmpty())
{
dp.Add("Dept", "%" + queryParam["Dept"].ToString() + "%", DbType.String);
strSql.Append(" AND t.Dept Like @Dept ");
dp.Add("Dept", queryParam["Dept"].ToString(), DbType.String);
strSql.Append(" AND t.Dept=@Dept ");
}
if (!queryParam["Class"].IsEmpty())
{
dp.Add("Class", "%" + queryParam["Class"].ToString() + "%", DbType.String);
strSql.Append(" AND t.Class Like @Class ");
dp.Add("Class", queryParam["Class"].ToString(), DbType.String);
strSql.Append(" AND t.Class=@Class ");
}
if (!queryParam["Major"].IsEmpty())
{
dp.Add("Major", "%" + queryParam["Major"].ToString() + "%", DbType.String);
strSql.Append(" AND t.Major Like @Major ");
dp.Add("Major", queryParam["Major"].ToString(), DbType.String);
strSql.Append(" AND t.Major=@Major ");
}
if (!queryParam["Sex"].IsEmpty())
{
@@ -104,6 +129,53 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
dp.Add("Leader", "%" + queryParam["Leader"].ToString() + "%", DbType.String);
strSql.Append(" AND t.Leader Like @Leader ");
}

if (!queryParam["NoDistribution"].IsEmpty())
{
var noDistribution = queryParam["NoDistribution"].ToString();
if (noDistribution.Contains("dept"))
{
strSql.Append(" AND (t.Dept is null or len(t.Dept)=0) ");
}
if (noDistribution.Contains("major"))
{
strSql.Append(" AND (t.Major is null or len(t.Major)=0) ");
}
if (noDistribution.Contains("class"))
{
strSql.Append(" AND (t.Class is null or len(t.Class)=0) ");
}
if (noDistribution.Contains("room"))
{
strSql.Append(" AND (t.CheckInStu is null or len(t.CheckInStu)=0 or t.CheckInStu=0) ");
}
}
if (!queryParam["Distribution"].IsEmpty())
{
var distribution = queryParam["Distribution"].ToString();
if (distribution.Contains("dept"))
{
strSql.Append(" AND len(t.Dept)>0 ");
}
if (distribution.Contains("major"))
{
strSql.Append(" AND len(t.Major)>0 ");
}
if (distribution.Contains("class"))
{
strSql.Append(" AND len(t.Class)>0 ");
}
if (distribution.Contains("room"))
{
strSql.Append(" AND t.CheckInStu>0 ");
}
}

if (!queryParam["SqlParameter"].IsEmpty())
{
strSql.Append(queryParam["SqlParameter"].ToString());
}

return this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>(strSql.ToString(), dp, pagination).OrderBy(a => a.Name).ThenBy(a => a.Name).ToList();
}
catch (Exception ex)
@@ -118,6 +190,27 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
}
}
}

public IEnumerable<Acc_DormitoryBuildEntity> GetBedListByRoomId(string RoomId)
{
try
{
string sql = $"select ID,Name,DNo,StudentID from Acc_DormitoryBuild where BuildType='5' and ParentID='{RoomId}'";
return this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>(sql);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

public IEnumerable<Acc_DormitoryBuildEntity> GetAllList()
{
try
@@ -137,11 +230,95 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
}
}


public IEnumerable<Acc_DormitoryBuildEntity> GetClassifyList(Pagination pagination, string queryJson)
{
try
{
var strSql = new StringBuilder();
strSql.Append("SELECT ");
strSql.Append(@"
t.ID,
t.Name,
t.Address,
t.Campus,
t.Dept,
t.BuildType,
t.Major,
t.Class,
t.Sex,
t.Functionary,
t.Phone,
t.Price,
t.Leader,
t.StudentID,
t.PlanStudentID,
t.ParentID,
t.Remark,
t.Starred,
t.HasToilet,t.RoomType,
t.ApartmentId,t.UnitId,t.FloorId,t.CheckInStu,
a.name as ApartmentName,b.name as UnitName,c.Name as FloorName
");
strSql.Append(" FROM Acc_DormitoryBuild t ");
strSql.Append(@" left join (select * FROM Acc_DormitoryBuild where BuildType='1') a on t.ApartmentId=a.ID
left join(select * FROM Acc_DormitoryBuild where BuildType = '2') b on t.UnitId = b.ID
left join(select * FROM Acc_DormitoryBuild where BuildType = '3') c on t.FloorId = c.ID ");
strSql.Append(" WHERE 1=1 and (t.BuildType<>'5' and t.BuildType<>'4') ");
var queryParam = queryJson.ToJObject();
// 虚拟参数
var dp = new DynamicParameters(new { });
if (!queryParam["ParentID"].IsEmpty())
{
dp.Add("ParentID", queryParam["ParentID"].ToString(), DbType.String);
strSql.Append(" AND t.ParentID =@ParentID ");
}
if (!queryParam["keyword"].IsEmpty())
{
strSql.Append($" AND t.Name like '%{queryParam["keyword"].ToString()}%' ");
}
if (!queryParam["ApartmentId"].IsEmpty())
{
dp.Add("ApartmentId", queryParam["ApartmentId"].ToString(), DbType.String);
strSql.Append(" AND t.ApartmentId =@ApartmentId ");
}
if (!queryParam["UnitId"].IsEmpty())
{
dp.Add("UnitId", queryParam["UnitId"].ToString(), DbType.String);
strSql.Append(" AND t.UnitId =@UnitId ");
}
if (!queryParam["FloorId"].IsEmpty())
{
dp.Add("FloorId", queryParam["FloorId"].ToString(), DbType.String);
strSql.Append(" AND t.FloorId =@FloorId ");
}

if (!queryParam["Name"].IsEmpty())
{
dp.Add("Name", "%" + queryParam["Name"].ToString() + "%", DbType.String);
strSql.Append(" AND t.Name Like @Name ");
}
return this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>(strSql.ToString(), dp).ToList();
//return this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>(strSql.ToString(), dp, pagination).ToList();
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

internal string GetBuildType(string parentID)
{
try
{
var entity = this.BaseRepository("CollegeMIS").FindEntity<Acc_DormitoryBuildEntity>(a => a.ParentID == parentID);
var entity = this.BaseRepository("CollegeMIS").FindEntity<Acc_DormitoryBuildEntity>(a => a.ID == parentID);
if (null != entity)
{
return entity.BuildType;
@@ -164,6 +341,35 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
}
}

public string GetParentBuildType(string keyValue)
{
try
{
string sql = $@" select BuildType from [dbo].[Acc_DormitoryBuild] where Id=(
select parentid from [dbo].[Acc_DormitoryBuild] where id='{keyValue}')";
var data = this.BaseRepository("CollegeMIS").FindObject(sql);
if (data == null)
{
return "";
}
else
{
return data.ToString();
}
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

internal object GetRoomList(string parentID)
{
try
@@ -418,7 +624,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
floorInfo.dormitory = bed;
if (!string.IsNullOrEmpty(bed.StudentID))
{
floorInfo.stuInfo = this.BaseRepository("CollegeMIS").FindEntity<StuInfoBasicEntity>(a => a.StuId == bed.StudentID);
floorInfo.stuInfo = this.BaseRepository("CollegeMIS").FindEntity<StuInfoBasicEntity>(a => a.StuNo == bed.StudentID);
}
list.Add(floorInfo);
}
@@ -510,6 +716,25 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
}
}

public List<Acc_DormitoryBuildEntity> GetClassifyTree()
{
try
{
return this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>(x => (x.BuildType == "2" || x.BuildType == "1")).ToList();
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

/// <summary>
/// 获取Acc_DormitoryBuild表实体数据
/// <param name="keyValue">主键</param>
@@ -582,7 +807,44 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
{
try
{
return this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>(a => a.BuildType != "5").OrderBy(a => a.sort).ThenBy(a => a.Name).ToList();
return this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>(a => a.BuildType != "5" && a.BuildType != "4").OrderBy(a => a.sort).ThenBy(a => a.Name).ToList();

}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

/// <summary>
/// 获取非空床的系部专业 班级
/// </summary>
/// <returns></returns>
public List<Acc_DormitoryBuildEntity> GetSelectData(string strWhere)
{
try
{
string sql =
@"select distinct dept,d.DeptName,major,m.MajorName,class,c.ClassName from [dbo].[Acc_DormitoryBuild] t
join CdDept d on t.dept=d.deptno
join CdMajor m on t.major=m.majorno
join ClassInfo c on t.class=c.classno
where t.ID in (
select parentid from [dbo].[Acc_DormitoryBuild] where BuildType='5' and (studentid is not null and len(studentid)>0)
)";
if (!string.IsNullOrEmpty(strWhere))
{
sql += " and " + strWhere;
}

return this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>(sql).ToList();

}
catch (Exception ex)
@@ -598,6 +860,41 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
}
}

/// <summary>
/// 获取树形数据(学生归宿)
/// </summary>
/// <returns></returns>
public List<Acc_DormitoryBuildEntity> GetSqlTreeForReturn()
{
try
{
List<Acc_DormitoryBuildEntity> list = new List<Acc_DormitoryBuildEntity>();
var roomSql = @"select * from [dbo].[Acc_DormitoryBuild] where ID in (
select parentid from [dbo].[Acc_DormitoryBuild] where BuildType='5' and (studentid is not null and len(studentid)>0)
)";
List<Acc_DormitoryBuildEntity> roomList = this.BaseRepository("CollegeMIS")
.FindList<Acc_DormitoryBuildEntity>(roomSql).ToList();
list = roomList.Union(list).ToList();
var apartIds = roomList.Select(x => x.ApartmentId).Distinct().ToList();
var unitIds = roomList.Select(x => x.UnitId).Distinct().ToList();
var floorIds = roomList.Select(x => x.FloorId).Distinct().ToList();
var otherList = this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>(x =>
apartIds.Contains(x.ID) || unitIds.Contains(x.ID) || floorIds.Contains(x.ID)).ToList();
list = list.Union(otherList).ToList();
return list.OrderBy(x => x.DNo).OrderBy(x => x.Name).ToList();
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}
/// <summary>
/// 根据父id获取数据
/// </summary>
@@ -734,6 +1031,10 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
}
bedInfo.StudentID = stuInfo.StuId;
bedInfo.StuName = stuInfo.StuName;
bedInfo.Dept = stuInfo.DeptNo;
bedInfo.Major = stuInfo.MajorNo;
bedInfo.Class = stuInfo.ClassNo;
bedInfo.Sex = Convert.ToString(stuInfo.GenderNo);
this.BaseRepository("CollegeMIS").Update(bedInfo);
return true;
}
@@ -799,6 +1100,27 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
}
}


public void DeleteBed(string keyValue, string ParentID)
{
try
{
this.BaseRepository("CollegeMIS").Delete<Acc_DormitoryBuildEntity>(t => t.ID == keyValue);
UpdateCheckInNum(ParentID);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

public void DeleteAll(string parentid)
{
var list = this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>(a => a.ParentID == parentid).ToList();
@@ -842,7 +1164,9 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
var elementEntity = new Acc_DormitoryBuildEntity
{
ParentID = keyValue,
ApartmentId = keyValue,
Name = i.ToString() + "单元",
DNo = i.ToString(),
BuildType = "2",//单元类型
Sex = dormitory.Sex,
Address = dormitory.Address,
@@ -859,6 +1183,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
UpdateTime = DateTime.Now
};
elementEntity.Create();
elementEntity.UnitId = elementEntity.ID;
list.Add(elementEntity);

//添加楼层
@@ -869,7 +1194,10 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
var floorEntity = new Acc_DormitoryBuildEntity
{
ParentID = elementEntity.ID,
ApartmentId = keyValue,
UnitId = elementEntity.ID,
Name = j.ToString() + "层",
DNo = j.ToString(),
BuildType = "3",//楼层类型,
Sex = dormitory.Sex,
Address = dormitory.Address,
@@ -886,6 +1214,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
UpdateTime = DateTime.Now
};
floorEntity.Create();
floorEntity.FloorId = floorEntity.ID;
list.Add(floorEntity);

//添加房间
@@ -896,7 +1225,11 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
var roomEntity = new Acc_DormitoryBuildEntity
{
ParentID = floorEntity.ID,
ApartmentId = keyValue,
UnitId = elementEntity.ID,
FloorId = floorEntity.ID,
Name = j.ToString() + (n < 10 ? "0" + n.ToString() : n.ToString()) + "室",
DNo = j.ToString() + (n < 10 ? "0" + n.ToString() : n.ToString()),
BuildType = "4",//房间类型
Sex = dormitory.Sex,
Address = dormitory.Address,
@@ -909,6 +1242,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
Major = dormitory.Major,
Phone = dormitory.Phone,
Price = dormitory.Price,
RoomType = bedNum,
UpdateBy = currentUser.realName,
UpdateTime = DateTime.Now,
Starred = "3",
@@ -925,7 +1259,11 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
var bedEntity = new Acc_DormitoryBuildEntity
{
ParentID = roomEntity.ID,
ApartmentId = keyValue,
UnitId = elementEntity.ID,
FloorId = floorEntity.ID,
Name = m.ToString() + "床",
DNo = m.ToString(),
BuildType = "5",
Sex = dormitory.Sex,
Address = dormitory.Address,
@@ -1275,9 +1613,11 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
}
else
{
entity.Create();
if (entity.BuildType == "1")
{
if (string.IsNullOrEmpty(entity.ParentID))
entity.ApartmentId = entity.ID;
if (string.IsNullOrEmpty(entity.ParentID) || entity.ParentID == "-1")
{
var rootNode = this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>().FirstOrDefault(a => a.ParentID == null);
if (rootNode == null)
@@ -1291,6 +1631,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
rootEntity.CreateTime = DateTime.Now;
rootEntity.UpdateBy = currentUser.realName;
rootEntity.UpdateTime = DateTime.Now;
rootEntity.ApartmentId = rootEntity.ID;
entity.ParentID = rootEntity.ID;
this.BaseRepository("CollegeMIS").Insert(rootEntity);
}
@@ -1300,7 +1641,33 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
}
}
}
entity.Create();
else
{
//上一级
var parentity = this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>().FirstOrDefault(a => a.ID == entity.ParentID);
switch (parentity.BuildType)
{
case "1":
entity.ApartmentId = parentity.ID;
entity.UnitId = entity.ID;
break;
case "2":
{
entity.FloorId = entity.ID;
entity.UnitId = parentity.ID;
entity.ApartmentId = parentity.ApartmentId;
}
break;
case "3":
{
entity.FloorId = parentity.ID;
entity.UnitId = parentity.UnitId;
entity.ApartmentId = parentity.ApartmentId;
}
break;
}
}

entity.CreateBy = currentUser.realName;
entity.CreateTime = DateTime.Now;
entity.UpdateBy = currentUser.realName;
@@ -1321,6 +1688,157 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
}
}


/// <summary>
/// 保存实体数据(新增、修改)
/// <param name="keyValue">主键</param>
/// <summary>
/// <returns></returns>
public void SaveBedEntity(string keyValue, string ParentID, Acc_DormitoryBuildEntity entity)
{
var db = this.BaseRepository("CollegeMIS");
try
{
db.BeginTrans();
if (!string.IsNullOrEmpty(keyValue))
{
entity.Modify(keyValue);
db.Update(entity);
}
else
{
var parentEntity = db.FindEntity<Acc_DormitoryBuildEntity>(ParentID);
entity.Create();
entity.ApartmentId = parentEntity.ApartmentId;
entity.UnitId = parentEntity.UnitId;
entity.FloorId = parentEntity.FloorId;
entity.ParentID = ParentID;
entity.BuildType = "5";
db.Insert(entity);
}
db.Commit();
UpdateCheckInNum(ParentID);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

private void UpdateCheckInNum(string ParentID)
{
try
{
string sql = $@"update [dbo].[Acc_DormitoryBuild] set RoomType=(
select count(1) from [dbo].[Acc_DormitoryBuild] where ParentId='{ParentID}' and BuildType='5'
)
where ID='{ParentID}'
";
this.BaseRepository("CollegeMIS").ExecuteBySql(sql);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

public void SaveDeptClass(string keyValue, Acc_DormitoryBuildEntity entity, int type)
{
try
{
if (keyValue.Contains(","))
{
keyValue = string.Join("','", keyValue.Split(','));
}
string sql = $"update Acc_DormitoryBuild set ";
if (type == 1)
{
sql += $" Dept='{entity.Dept}' ";
}
else
{
sql += $"Major='{entity.Major}',Class='{entity.Class}'";
}

sql += $" where ID in ('{keyValue}')";

this.BaseRepository("CollegeMIS").ExecuteBySql(sql);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

/// <summary>
/// 分配宿舍
/// </summary>
/// <param name="RoomId"></param>
/// <param name="list"></param>
public string SaveRoom(string RoomId, List<Acc_DormitoryBuildEntity> list)
{
var db = this.BaseRepository("CollegeMIS").BeginTrans();
try
{
foreach (var entity in list)
{
//判断该学生是否已分配
if (!string.IsNullOrEmpty(entity.StudentID))
{
var count = db.FindList<Acc_DormitoryBuildEntity>().Count(x => x.StudentID == entity.StudentID && x.ID != entity.ID);
if (count > 0)
{
var stuname = db.FindEntity<StuInfoBasicEntity>(x => x.StuNo == entity.StudentID)?.StuName;
return "学生" + stuname + "已分配床位,不可重复分配!";
}
}

//分配床位
string sql = $"update Acc_DormitoryBuild set StudentID='{entity.StudentID}' where ID='{entity.ID}'";
db.ExecuteBySql(sql);
}

int checkInStu = list.Where(x => x.StudentID != null).Count();
string checkInSql = $"update Acc_DormitoryBuild set CheckInStu='{checkInStu}' where ID='{RoomId}'";
db.ExecuteBySql(checkInSql);

db.Commit();
return "";
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

/// <summary>
/// 同步宿舍信息
/// </summary>


+ 104
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/DormitoryReturn/Acc_DormitoryReturnEntity.cs View File

@@ -0,0 +1,104 @@
using Learun.Util;
using System;
using System.ComponentModel.DataAnnotations.Schema;

namespace Learun.Application.TwoDevelopment.LogisticsManagement
{
/// <summary>
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
/// 创 建:超级管理员
/// 日 期:2022-03-10 10:06
/// 描 述:学生归宿管理
/// </summary>
public class Acc_DormitoryReturnEntity
{
#region 实体成员
/// <summary>
/// Id
/// </summary>
[Column("ID")]
public string Id { get; set; }
/// <summary>
/// 宿舍id,关联Acc_DormitoryBuild表
/// </summary>
[Column("DORMITORYBUILDID")]
public string DormitoryBuildId { get; set; }
/// <summary>
/// 床位父级
/// </summary>
[Column("PARENTID")]
public string ParentId { get; set; }

/// <summary>
/// 检查日期
/// </summary>
[Column("CHECKDATE")]
public DateTime? CheckDate { get; set; }
/// <summary>
/// 出宿时间
/// </summary>
[Column("OUTTIME")]
public DateTime? OutTime { get; set; }
/// <summary>
/// 归宿时间
/// </summary>
[Column("RETURNTIME")]
public DateTime? ReturnTime { get; set; }

/// <summary>
/// 备注
/// </summary>
[Column("REMARK")]
public string Remark { get; set; }
/// <summary>
/// 创建人
/// </summary>
[Column("CREATEUSERID")]
public string CreateUserId { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Column("CREATETIME")]
public DateTime? CreateTime { get; set; }
/// <summary>
/// 修改时间
/// </summary>
[Column("UPDATETIME")]
public DateTime? UpdateTime { get; set; }
/// <summary>
/// 修改人
/// </summary>
[Column("UPDATEUSERID")]
public string UpdateUserId { get; set; }
#endregion

#region 扩展操作
/// <summary>
/// 新增调用
/// </summary>
public void Create()
{
this.Id = Guid.NewGuid().ToString();
this.CreateTime = DateTime.Now;
this.CreateUserId = LoginUserInfo.Get().userId;
}
/// <summary>
/// 编辑调用
/// </summary>
/// <param name="keyValue"></param>
public void Modify(string keyValue)
{
this.Id = keyValue;
this.UpdateTime = DateTime.Now;
this.UpdateUserId = LoginUserInfo.Get().userId;
}
#endregion
#region 扩展字段
[NotMapped]
public string Name { get; set; }

#endregion
}
}


+ 210
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/DormitoryReturn/DormitoryReturnBLL.cs View File

@@ -0,0 +1,210 @@
using Learun.Util;
using System;
using System.Data;
using System.Collections.Generic;
using System.Linq;

namespace Learun.Application.TwoDevelopment.LogisticsManagement
{
/// <summary>
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
/// 创 建:超级管理员
/// 日 期:2022-03-10 10:06
/// 描 述:学生归宿管理
/// </summary>
public class DormitoryReturnBLL : DormitoryReturnIBLL
{
private DormitoryReturnService dormitoryReturnService = new DormitoryReturnService();
private AccommodationService accommodationService = new AccommodationService();

#region 获取数据

/// <summary>
/// 获取左侧树形数据
/// <summary>
/// <returns></returns>
public List<TreeModel> GetTree()
{
try
{
List<Acc_DormitoryBuildEntity> list = accommodationService.GetSqlTreeForReturn();
List<TreeModel> treeList = new List<TreeModel>();
foreach (Acc_DormitoryBuildEntity item in list)
{
TreeModel node = new TreeModel
{
id = item.ID.ToString(),
text = item.Name.ToString(),
value = item.ID.ToString(),
showcheck = false,
checkstate = 0,
isexpand = true,
parentId = item.ParentID == null ? "" : item.ParentID,
title = item.BuildType

};


treeList.Add(node);


}


return treeList.ToTree();
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}
/// <summary>
/// 获取页面显示列表数据
/// </summary>
/// <param name="pagination">分页参数</param>
/// <param name="queryJson">查询参数</param>
/// <returns></returns>
public IEnumerable<Acc_DormitoryReturnEntity> GetPageList(Pagination pagination, string queryJson)
{
try
{
return dormitoryReturnService.GetPageList(pagination, queryJson);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

public IEnumerable<Acc_DormitoryBuildEntity> GetReportList(string queryJson)
{
try
{
return dormitoryReturnService.GetReportList(queryJson);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

/// <summary>
/// 获取Acc_DormitoryReturn表实体数据
/// </summary>
/// <param name="keyValue">主键</param>
/// <returns></returns>
public Acc_DormitoryReturnEntity GetAcc_DormitoryReturnEntity(string keyValue)
{
try
{
return dormitoryReturnService.GetAcc_DormitoryReturnEntity(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
{
dormitoryReturnService.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 type, Acc_DormitoryReturnEntity entity)
{
try
{
dormitoryReturnService.SaveEntity(type, entity);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

public void SaveData(string keyValue, Acc_DormitoryReturnEntity entity)
{
try
{
dormitoryReturnService.SaveData(keyValue, entity);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}
#endregion

}
}

+ 50
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/DormitoryReturn/DormitoryReturnIBLL.cs View File

@@ -0,0 +1,50 @@
using Learun.Util;
using System.Data;
using System.Collections.Generic;

namespace Learun.Application.TwoDevelopment.LogisticsManagement
{
/// <summary>
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
/// 创 建:超级管理员
/// 日 期:2022-03-10 10:06
/// 描 述:学生归宿管理
/// </summary>
public interface DormitoryReturnIBLL
{
#region 获取数据
List<TreeModel> GetTree();
/// <summary>
/// 获取页面显示列表数据
/// </summary>
/// <param name="queryJson">查询参数</param>
/// <returns></returns>
IEnumerable<Acc_DormitoryReturnEntity> GetPageList(Pagination pagination, string queryJson);
IEnumerable<Acc_DormitoryBuildEntity> GetReportList(string queryJson);
/// <summary>
/// 获取Acc_DormitoryReturn表实体数据
/// </summary>
/// <param name="keyValue">主键</param>
/// <returns></returns>
Acc_DormitoryReturnEntity GetAcc_DormitoryReturnEntity(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 type, Acc_DormitoryReturnEntity entity);
void SaveData(string keyValue, Acc_DormitoryReturnEntity entity);
#endregion

}
}

+ 273
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/DormitoryReturn/DormitoryReturnService.cs View File

@@ -0,0 +1,273 @@
using Dapper;
using Learun.DataBase.Repository;
using Learun.Util;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;

namespace Learun.Application.TwoDevelopment.LogisticsManagement
{
/// <summary>
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
/// 创 建:超级管理员
/// 日 期:2022-03-10 10:06
/// 描 述:学生归宿管理
/// </summary>
public class DormitoryReturnService : RepositoryFactory
{
#region 获取数据

/// <summary>
/// 获取页面显示列表数据
/// </summary>
/// <param name="pagination">查询参数</param>
/// <param name="queryJson">查询参数</param>
/// <returns></returns>
public IEnumerable<Acc_DormitoryReturnEntity> GetPageList(Pagination pagination, string queryJson)
{
try
{
var strSql = new StringBuilder();
strSql.Append("SELECT ");
strSql.Append(@"
t.*,a.Name
");
strSql.Append(" FROM Acc_DormitoryReturn t ");
strSql.Append(" join Acc_DormitoryBuild a on t.DormitoryBuildId=a.ID ");
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.CheckDate >= @startTime AND t.CheckDate <= @endTime ) ");
}
if (!queryParam["OutTime"].IsEmpty())
{
dp.Add("OutTime", queryParam["OutTime"].ToString(), DbType.String);
strSql.Append(" AND t.OutTime = @OutTime ");
}
if (!queryParam["ParentId"].IsEmpty())
{
dp.Add("ParentId", queryParam["ParentId"].ToString(), DbType.String);
strSql.Append(" AND t.ParentId = @ParentId ");
}
return this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryReturnEntity>(strSql.ToString(), dp, pagination);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

/// <summary>
/// 获取统计数据
/// </summary>
/// <param name="queryJson"></param>
/// <returns></returns>
public IEnumerable<Acc_DormitoryBuildEntity> GetReportList(string queryJson)
{
try
{
string sql = @"select t.isreturn,a.Dept,a.Major,a.class from
(
select parentid,isreturn from [dbo].[Acc_DormitoryBuild] where BuildType='5' and (studentid is not null and len(studentid)>0)
) t
join Acc_DormitoryBuild a on a.ID=t.parentid where 1=1
";
var queryParam = queryJson.ToJObject();
// 虚拟参数
var dp = new DynamicParameters(new { });
if (!queryParam["Dept"].IsEmpty())
{
sql += $" AND a.Dept = '{queryParam["Dept"].ToString()}'";
}
if (!queryParam["Major"].IsEmpty())
{
sql += $" AND a.Major = '{queryParam["Major"].ToString()}'";
}
if (!queryParam["Class"].IsEmpty())
{
sql += $" AND a.Class = '{queryParam["Class"].ToString()}'";
}
return this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>(sql);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

/// <summary>
/// 获取Acc_DormitoryReturn表实体数据
/// </summary>
/// <param name="keyValue">主键</param>
/// <returns></returns>
public Acc_DormitoryReturnEntity GetAcc_DormitoryReturnEntity(string keyValue)
{
try
{
return this.BaseRepository("CollegeMIS").FindEntity<Acc_DormitoryReturnEntity>(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<Acc_DormitoryReturnEntity>(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 type, Acc_DormitoryReturnEntity entity)
{
var db = this.BaseRepository("CollegeMIS");
try
{
db.BeginTrans();
if (type == "1")
{
//学生出宿
entity.Create();
entity.CheckDate = Convert.ToDateTime(entity.OutTime.Value.Date);
db.Insert(entity);

//修改该床位为未归宿
var sql = $"update Acc_DormitoryBuild set IsReturn=0 where ID='{entity.DormitoryBuildId}'";
db.ExecuteBySql(sql);
}
else
{
//学生归宿
//获取今天最后一次出宿的记录
var outsql =
$"select top 1 * from Acc_DormitoryReturn where DormitoryBuildId='{entity.DormitoryBuildId}' and CheckDate='{DateTime.Now.Date}' order by OutTime desc";
var model = db.FindList<Acc_DormitoryReturnEntity>(outsql).FirstOrDefault();
if (model == null)
{
//新增
entity.Create();
entity.ReturnTime = entity.ReturnTime;
entity.CheckDate = Convert.ToDateTime(entity.ReturnTime.Value.Date);
db.Insert(entity);
}
else
{
//修改
model.ReturnTime = entity.ReturnTime;
model.Remark += " " + entity.Remark;
model.Modify(model.Id);
db.Update(model);
}

//修改该床位为未归宿
var sql = $"update Acc_DormitoryBuild set IsReturn=1 where ID='{entity.DormitoryBuildId}'";
db.ExecuteBySql(sql);
}

db.Commit();
}
catch (Exception ex)
{
db.Rollback();
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

/// <summary>
/// 保存
/// </summary>
/// <param name="keyValue"></param>
/// <param name="entity"></param>
public void SaveData(string keyValue, Acc_DormitoryReturnEntity 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

}
}

Loading…
Cancel
Save