55 lines
2.2 KiB
C#
55 lines
2.2 KiB
C#
using Dapper;
|
|
using Ewide.Core;
|
|
using Ewide.Core.Extension;
|
|
using Furion.DatabaseAccessor;
|
|
using Furion.DependencyInjection;
|
|
using Furion.DynamicApiController;
|
|
using Furion.FriendlyException;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Ewide.Application.Service
|
|
{
|
|
/// <summary>
|
|
/// 房屋任务(巡查任务/建档任务)
|
|
/// </summary>
|
|
[ApiDescriptionSettings(Name = "HouseTask", Order = 190)]
|
|
public class HouseTaskService : IHouseTaskService, IDynamicApiController, ITransient
|
|
{
|
|
private readonly IRepository<BsHouseTask> _houseTaskRep;
|
|
private readonly IDapperRepository _dapperRepository;
|
|
private readonly IUserManager _userManager;
|
|
|
|
public HouseTaskService(IRepository<BsHouseTask> HouseTaskRep, IDapperRepository dapperRepository, IUserManager userManager)
|
|
{
|
|
_houseTaskRep = HouseTaskRep;
|
|
_dapperRepository = dapperRepository;
|
|
_userManager = userManager;
|
|
}
|
|
|
|
[HttpPost("/houseTask/page")]
|
|
public async Task<dynamic> QueryPage([FromBody] QueryHouseTaskInput input)
|
|
{
|
|
var sql = @"SELECT T.Id,AA.Name AreaName,RA.Name RoadName,CA.Name CommName,Proj.AreaCode,Proj.Note,Proj.Name,CONCAT(Proj.Name,'(',Proj.Note,')') FullProjName,HC.HouseCode,HC.Address,T.EndTime,HC.Type,HC.Industry,HC.No FROM `bs_house_task` T
|
|
LEFT JOIN bs_house_code HC ON T.HouseCodeId = HC.Id
|
|
LEFT JOIN bs_house_info HI ON HI.HouseCodeId = T.HouseCodeId
|
|
LEFT JOIN bs_house_projectinfo Proj ON Proj.Id=HC.ProjectId
|
|
LEFT JOIN sys_area_code CA ON CA.Code = Proj.AreaCode
|
|
LEFT JOIN sys_area_code RA ON RA.AdCode = SUBSTR(CA.AdCode,1,9)
|
|
LEFT JOIN sys_area_code AA ON AA.AdCode = SUBSTR(CA.AdCode,1,6)
|
|
WHERE T.UserID=@UserID";
|
|
var user = await _userManager.CheckUserAsync();
|
|
if (user == null) throw Oops.Oh("登录信息丢失");
|
|
var param = new DynamicParameters();
|
|
param.Add("UserID", user.Id);
|
|
return await _dapperRepository.QueryPageDataDynamic(sql, input, param, filterFields: new string[] { "Type", "Address", "HouseCode" });
|
|
}
|
|
|
|
}
|
|
}
|