Compare commits

...

2 Commits

Author SHA1 Message Date
洁 任 cdfc62bab1 Merge branch 'master' of http://123.132.248.154:10000/HC_YFZX/feixian_weifajianguan 2026-02-04 14:05:09 +08:00
洁 任 ea5dcea660 巡检打卡 2026-02-04 14:05:05 +08:00
11 changed files with 330 additions and 64 deletions

View File

@ -54,6 +54,8 @@ namespace OpenAuth.App
/// </summary> /// </summary>
public async Task<Response<bool>> Add(MiMinePoint model) public async Task<Response<bool>> Add(MiMinePoint model)
{ {
model.Id=Guid.NewGuid().ToString();
model.CreateTime = DateTime.Now;
var flag = await Repository.InsertAsync(model); var flag = await Repository.InsertAsync(model);
return new Response<bool> return new Response<bool>

View File

@ -53,7 +53,8 @@ namespace OpenAuth.App
/// 添加 /// 添加
/// </summary> /// </summary>
public async Task<Response<bool>> Add(MiParking model) public async Task<Response<bool>> Add(MiParking model)
{ {
model.Id = Guid.NewGuid().ToString();
var flag = await Repository.InsertAsync(model); var flag = await Repository.InsertAsync(model);
return new Response<bool> return new Response<bool>

View File

@ -1,9 +1,13 @@
using AutoMapper.Execution;
using DocumentFormat.OpenXml.Office2010.Excel;
using Infrastructure; using Infrastructure;
using OpenAuth.App.BaseApp.Base; using OpenAuth.App.BaseApp.Base;
using OpenAuth.App.Interface; using OpenAuth.App.Interface;
using OpenAuth.App.Request; using OpenAuth.App.Request;
using OpenAuth.App.Response; using OpenAuth.App.Response;
using OpenAuth.App.ServiceApp.MiManager.Response;
using OpenAuth.App.ServiceApp.MiManager.Resquest;
using OpenAuth.Repository; using OpenAuth.Repository;
using OpenAuth.Repository.Domain; using OpenAuth.Repository.Domain;
using SqlSugar; using SqlSugar;
@ -25,16 +29,28 @@ namespace OpenAuth.App
/// <summary> /// <summary>
/// 分页 /// 分页
/// </summary> /// </summary>
public async Task<Response<PageInfo<List<MiPunchRecord>>>> LoadAllPage(PageReq request) public async Task<Response<PageInfo<List<dynamic>>>> LoadAllPage(MiPuchLoadreq req)
{ {
RefAsync<int> totalCount = 0; RefAsync<int> totalCount = 0;
var result = new PageInfo<SysRole>();
var list = await base.Repository.AsQueryable() var list = await base.Repository.AsQueryable()
.ToPageListAsync(request.page, request.limit, totalCount); .WhereIF(req.begintime!=null&&req.endtime!=null,r=>r.PunchTime>=req.begintime&&r.PunchTime<req.endtime)
.WhereIF(req.status!=null,r=>r.PunchStatus==req.status)
.LeftJoin<SysUser>((r,u)=>r.UserId==u.Id)
.LeftJoin<MiMinePoint>((r,u,p)=>r.MinePointId==p.Id)
.WhereIF(!string.IsNullOrEmpty(req.username),(r,u,p)=>u.Name.Contains(req.username))
.WhereIF(!string.IsNullOrEmpty(req.key),(r,u,p)=>p.Name.Contains(req.key))
.OrderByDescending((r, u, p) => r.PunchTime)
.Select<dynamic>((r, u, p) => new
{
Id = r.Id.SelectAll(),
Name=u.Name,
PointName=p.Name
})
.ToPageListAsync(req.page, req.limit, totalCount);
return new Response<PageInfo<List<MiPunchRecord>>> return new Response<PageInfo<List<dynamic>>>
{ {
Result = new PageInfo<List<MiPunchRecord>> Result = new PageInfo<List<dynamic>>
{ {
Items = list, Items = list,
Total = totalCount Total = totalCount
@ -43,57 +59,130 @@ namespace OpenAuth.App
} }
#endregion #endregion
public async Task<MiPunchRecord> Get(object id) /// <summary>
/// 详情
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public async Task<Response<MiPuchRecordRes>> Get(string id)
{ {
return await Repository.GetByIdAsync(id); var data= await Repository.AsQueryable()
.LeftJoin<SysUser>((r,u)=>r.UserId==u.Id)
.Select((r,u)=>new MiPuchRecordRes
{
Id = r.Id,
UserId = r.UserId,
UserName=u.Name,
Lat=r.Lat,
Lng=r.Lng,
MinePointId=r.MinePointId,
PunchStatus=r.PunchStatus,
PunchTime=r.PunchTime,
Remark=r.Remark,
Image=SqlFunc.Subqueryable<MiPunchImage>().Where(a=>a.PunchId==r.Id).ToList()
}).FirstAsync();
return new Response<MiPuchRecordRes>()
{
Result=data
};
} }
/// <summary> /// <summary>
/// 添加 /// 添加
/// </summary> /// </summary>
public async Task<Response<bool>> Add(MiPunchRecord model) public async Task<Response<bool>> Add(MiPuchRecordReq model)
{ {
var flag = await Repository.InsertAsync(model); if (string.IsNullOrEmpty(model.MinePointId))
return new Response<bool>
{ {
Result = flag, throw new Exception("请输入监管盗采点");
Message = flag == true ? "success" : "error" }
}; var user = _auth.GetCurrentUser().User;
} MiPunchRecord record = model.MapTo<MiPunchRecord>();
record.Id = Guid.NewGuid().ToString();
record.PunchTime = DateTime.Now;
record.UserId = user.Id;
List<MiPunchImage> image = new List<MiPunchImage>();
foreach (var item in model.Image)
{
var img = item.MapTo<MiPunchImage>();
img.Id = Guid.NewGuid().ToString();
img.MinePointId = model.MinePointId;
img.PunchId = record.Id;
img.CreateTime = DateTime.Now;
image.Add(img);
}
using (var uow = base.UnitWork.CreateContext())
{
var flag1 = await uow.MiPunchRecord.InsertAsync(record);
var flag2 = await uow.MiPunchImage.InsertRangeAsync(image);
var flag = uow.Commit() && flag1 && flag2;
return new Response<bool>
{
Result = flag,
Message = flag == true ? "success" : "error"
};
}
}
/// <summary> /// <summary>
/// 删除 /// 删除
/// </summary> /// </summary>
/// <param name="ids"></param> /// <param name="ids"></param>
public async Task<Response<bool>> Delete(List<MiPunchRecord> models) public async Task<Response<bool>> Delete(List<string> ids )
{ {
var flag = await Repository.DeleteAsync(models); using (var uow = base.UnitWork.CreateContext())
return new Response<bool>
{ {
Result = flag, var flag1 = await uow.MiPunchRecord.DeleteAsync(r=>ids.Contains(r.Id));
Message = flag == true ? "success" : "error" var flag2 = await uow.MiPunchImage.DeleteAsync(r=>ids.Contains(r.PunchId));
}; var flag = uow.Commit() && flag1 && flag2;
return new Response<bool>
{
Result = flag,
Message = flag == true ? "success" : "error"
};
}
} }
/// <summary> /// <summary>
/// 更新 /// 更新
/// </summary> /// </summary>
/// <param name="obj"></param> /// <param name="obj"></param>
public async Task<Response<bool>> Update(MiPunchRecord model) public async Task<Response<bool>> Update(MiPuchRecordReq model)
{ {
bool flag = await base.Repository.UpdateAsync(model); if (string.IsNullOrEmpty(model.MinePointId))
return new Response<bool>
{ {
Result = flag, throw new Exception("请输入监管盗采点");
Message = flag == true ? "success" : "error" }
};
MiPunchRecord record = model.MapTo<MiPunchRecord>();
List<MiPunchImage> image = new List<MiPunchImage>();
foreach (var item in model.Image)
{
var img = item.MapTo<MiPunchImage>();
img.Id = Guid.NewGuid().ToString();
img.MinePointId = model.MinePointId;
img.PunchId = record.Id;
img.CreateTime = DateTime.Now;
image.Add(img);
}
using (var uow = base.UnitWork.CreateContext())
{
await uow.MiPunchImage.DeleteAsync(r=>r.PunchId==model.Id);
await uow.MiPunchRecord.UpdateAsync(record);
await uow.MiPunchImage.InsertRangeAsync(image);
var flag = uow.Commit();
return new Response<bool>
{
Result = flag,
Message = flag == true ? "success" : "error"
};
}
} }
/// <summary> /// <summary>

View File

@ -0,0 +1,67 @@
using OpenAuth.Repository.Domain;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OpenAuth.App.ServiceApp.MiManager.Response
{
public class MiPuchRecordRes
{
public string Id { get; set; }
/// <summary>
/// Desc:userid
/// Default:
/// Nullable:False
/// </summary>
public long UserId { get; set; }
public string UserName { get; set; }
/// <summary>
/// Desc:打卡时间
/// Default:DateTime.Now
/// Nullable:True
/// </summary>
public DateTime? PunchTime { get; set; }
/// <summary>
/// Desc:备注
/// Default:
/// Nullable:True
/// </summary>
public string Remark { get; set; }
/// <summary>
/// Desc:盗采点id
/// Default:
/// Nullable:True
/// </summary>
public string MinePointId { get; set; }
/// <summary>
/// Desc:打卡点状态:正常、异常、违法
/// Default:'正常'::character varying
/// Nullable:True
/// </summary>
public short? PunchStatus { get; set; }
/// <summary>
/// Desc:经度
/// Default:
/// Nullable:True
/// </summary>
public decimal? Lng { get; set; }
/// <summary>
/// Desc:纬度
/// Default:
/// Nullable:True
/// </summary>
public decimal? Lat { get; set; }
public List<MiPunchImage> Image { get; set; }
}
}

View File

@ -0,0 +1,23 @@
using OpenAuth.App.Request;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OpenAuth.App.ServiceApp.MiManager.Resquest
{
public class MiPuchLoadreq: PageReq
{
/// <summary>
/// 巡查人员
/// </summary>
public string username { get; set; }
/// <summary>
/// 巡查时间
/// </summary>
public DateTime? begintime { get; set; }
public DateTime? endtime { get; set; }
public short? status { get; set; }
}
}

View File

@ -0,0 +1,65 @@
using OpenAuth.Repository.Domain;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OpenAuth.App.ServiceApp.MiManager.Resquest
{
public class MiPuchRecordReq
{
public string Id { get; set; }
/// <summary>
/// Desc:userid
/// Default:
/// Nullable:False
/// </summary>
public long UserId { get; set; }
/// <summary>
/// Desc:打卡时间
/// Default:DateTime.Now
/// Nullable:True
/// </summary>
public DateTime? PunchTime { get; set; }
/// <summary>
/// Desc:备注
/// Default:
/// Nullable:True
/// </summary>
public string Remark { get; set; }
/// <summary>
/// Desc:盗采点id
/// Default:
/// Nullable:True
/// </summary>
public string MinePointId { get; set; }
/// <summary>
/// Desc:打卡点状态:正常、异常、违法
/// Default:'正常'::character varying
/// Nullable:True
/// </summary>
public string PunchStatus { get; set; }
/// <summary>
/// Desc:经度
/// Default:
/// Nullable:True
/// </summary>
public decimal? Lng { get; set; }
/// <summary>
/// Desc:纬度
/// Default:
/// Nullable:True
/// </summary>
public decimal? Lat { get; set; }
public List<MiPunchImage> Image { get; set; }
}
}

View File

@ -15,12 +15,13 @@ namespace OpenAuth.Repository.Domain
} }
/// <summary> /// <summary>
/// Desc:主键 /// Desc:主键
/// Default: /// Default:
/// Nullable:False /// Nullable:False
/// </summary> /// </summary>
public string Id {get;set;} [SugarColumn(IsPrimaryKey = true)]
public string Id {get;set;}
/// <summary> /// <summary>
/// Desc:监管点名称 /// Desc:监管点名称

View File

@ -15,12 +15,13 @@ namespace OpenAuth.Repository.Domain
} }
/// <summary> /// <summary>
/// Desc:主键 /// Desc:主键
/// Default: /// Default:
/// Nullable:False /// Nullable:False
/// </summary> /// </summary>
public string Id {get;set;} [SugarColumn(IsPrimaryKey = true)]
public string Id {get;set;}
/// <summary> /// <summary>
/// Desc:停车场编号 /// Desc:停车场编号

View File

@ -15,12 +15,13 @@ namespace OpenAuth.Repository.Domain
} }
/// <summary> /// <summary>
/// Desc:图片ID /// Desc:图片ID
/// Default: /// Default:
/// Nullable:False /// Nullable:False
/// </summary> /// </summary>
public string Id {get;set;} [SugarColumn(IsPrimaryKey = true)]
public string Id {get;set;}
/// <summary> /// <summary>
/// Desc:打卡id /// Desc:打卡id

View File

@ -15,12 +15,13 @@ namespace OpenAuth.Repository.Domain
} }
/// <summary> /// <summary>
/// Desc:打卡记录ID /// Desc:打卡记录ID
/// Default: /// Default:
/// Nullable:False /// Nullable:False
/// </summary> /// </summary>
public string Id {get;set;} [SugarColumn(IsPrimaryKey = true)]
public string Id {get;set;}
/// <summary> /// <summary>
/// Desc:userid /// Desc:userid
@ -55,7 +56,7 @@ namespace OpenAuth.Repository.Domain
/// Default:'正常'::character varying /// Default:'正常'::character varying
/// Nullable:True /// Nullable:True
/// </summary> /// </summary>
public string PunchStatus {get;set;} public short? PunchStatus {get;set;}
/// <summary> /// <summary>
/// Desc:经度 /// Desc:经度

View File

@ -1,13 +1,17 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading.Tasks; using System.Threading.Tasks;
using DocumentFormat.OpenXml.Office2010.Excel;
using Infrastructure; using Infrastructure;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using OpenAuth.App; using OpenAuth.App;
using OpenAuth.App.Request; using OpenAuth.App.Request;
using OpenAuth.App.Response; using OpenAuth.App.Response;
using OpenAuth.App.ServiceApp.MiManager.Response;
using OpenAuth.App.ServiceApp.MiManager.Resquest;
using OpenAuth.Repository.Domain; using OpenAuth.Repository.Domain;
using Org.BouncyCastle.Bcpg.OpenPgp;
namespace OpenAuth.WebApi.Controllers namespace OpenAuth.WebApi.Controllers
{ {
@ -31,9 +35,20 @@ namespace OpenAuth.WebApi.Controllers
/// 分页 /// 分页
/// </summary> /// </summary>
[HttpGet] [HttpGet]
public async Task<Response<PageInfo<List<MiPunchRecord>>>> LoadAllPage([FromQuery] PageReq request) public async Task<Response<PageInfo<List<dynamic>>>> LoadAllPage([FromQuery] MiPuchLoadreq request)
{ {
return await _app.LoadAllPage(request); var result = new Response<PageInfo<List<dynamic>>>();
try
{
result = await _app.LoadAllPage(request);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
} }
#endregion #endregion
@ -43,12 +58,12 @@ namespace OpenAuth.WebApi.Controllers
/// 实体 /// 实体
/// </summary> /// </summary>
[HttpGet] [HttpGet]
public async Task<Response<MiPunchRecord>> Get(object id) public async Task<Response<MiPuchRecordRes>> Get(string id)
{ {
var result = new Response<MiPunchRecord>(); var result = new Response<MiPuchRecordRes>();
try try
{ {
result.Result =await _app.Get(id); result =await _app.Get(id);
} }
catch (Exception ex) catch (Exception ex)
{ {
@ -68,7 +83,7 @@ namespace OpenAuth.WebApi.Controllers
/// 添加 /// 添加
/// </summary> /// </summary>
[HttpPost] [HttpPost]
public async Task<Response<bool>> Add(MiPunchRecord model) public async Task<Response<bool>> Add(MiPuchRecordReq model)
{ {
var result = new Response<bool>(); var result = new Response<bool>();
try try
@ -90,7 +105,7 @@ namespace OpenAuth.WebApi.Controllers
/// 修改 /// 修改
/// </summary> /// </summary>
[HttpPost] [HttpPost]
public async Task<Response<bool>> Update(MiPunchRecord model) public async Task<Response<bool>> Update(MiPuchRecordReq model)
{ {
var result = new Response<bool>(); var result = new Response<bool>();
try try
@ -113,7 +128,7 @@ namespace OpenAuth.WebApi.Controllers
/// 删除 /// 删除
/// </summary> /// </summary>
[HttpPost] [HttpPost]
public async Task<Response<bool>> Delete([FromBody] List<MiPunchRecord> models) public async Task<Response<bool>> Delete(List<string> models)
{ {
var result = new Response<bool>(); var result = new Response<bool>();
try try