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>
public async Task<Response<bool>> Add(MiMinePoint model)
{
model.Id=Guid.NewGuid().ToString();
model.CreateTime = DateTime.Now;
var flag = await Repository.InsertAsync(model);
return new Response<bool>

View File

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

View File

@ -1,9 +1,13 @@
using AutoMapper.Execution;
using DocumentFormat.OpenXml.Office2010.Excel;
using Infrastructure;
using OpenAuth.App.BaseApp.Base;
using OpenAuth.App.Interface;
using OpenAuth.App.Request;
using OpenAuth.App.Response;
using OpenAuth.App.ServiceApp.MiManager.Response;
using OpenAuth.App.ServiceApp.MiManager.Resquest;
using OpenAuth.Repository;
using OpenAuth.Repository.Domain;
using SqlSugar;
@ -25,16 +29,28 @@ namespace OpenAuth.App
/// <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;
var result = new PageInfo<SysRole>();
var list = await base.Repository.AsQueryable()
.ToPageListAsync(request.page, request.limit, totalCount);
return new Response<PageInfo<List<MiPunchRecord>>>
.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
{
Result = new PageInfo<List<MiPunchRecord>>
Id = r.Id.SelectAll(),
Name=u.Name,
PointName=p.Name
})
.ToPageListAsync(req.page, req.limit, totalCount);
return new Response<PageInfo<List<dynamic>>>
{
Result = new PageInfo<List<dynamic>>
{
Items = list,
Total = totalCount
@ -43,58 +59,131 @@ namespace OpenAuth.App
}
#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>
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))
{
throw new Exception("请输入监管盗采点");
}
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>
/// <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())
{
var flag1 = await uow.MiPunchRecord.DeleteAsync(r=>ids.Contains(r.Id));
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>
/// <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))
{
throw new Exception("请输入监管盗采点");
}
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>
/// 事务示例

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

@ -20,6 +20,7 @@ namespace OpenAuth.Repository.Domain
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(IsPrimaryKey = true)]
public string Id {get;set;}
/// <summary>

View File

@ -20,6 +20,7 @@ namespace OpenAuth.Repository.Domain
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(IsPrimaryKey = true)]
public string Id {get;set;}
/// <summary>

View File

@ -20,6 +20,7 @@ namespace OpenAuth.Repository.Domain
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(IsPrimaryKey = true)]
public string Id {get;set;}
/// <summary>

View File

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

View File

@ -1,13 +1,17 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using DocumentFormat.OpenXml.Office2010.Excel;
using Infrastructure;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Request;
using OpenAuth.App.Response;
using OpenAuth.App.ServiceApp.MiManager.Response;
using OpenAuth.App.ServiceApp.MiManager.Resquest;
using OpenAuth.Repository.Domain;
using Org.BouncyCastle.Bcpg.OpenPgp;
namespace OpenAuth.WebApi.Controllers
{
@ -31,9 +35,20 @@ namespace OpenAuth.WebApi.Controllers
/// 分页
/// </summary>
[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
@ -43,12 +58,12 @@ namespace OpenAuth.WebApi.Controllers
/// 实体
/// </summary>
[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
{
result.Result =await _app.Get(id);
result =await _app.Get(id);
}
catch (Exception ex)
{
@ -68,7 +83,7 @@ namespace OpenAuth.WebApi.Controllers
/// 添加
/// </summary>
[HttpPost]
public async Task<Response<bool>> Add(MiPunchRecord model)
public async Task<Response<bool>> Add(MiPuchRecordReq model)
{
var result = new Response<bool>();
try
@ -90,7 +105,7 @@ namespace OpenAuth.WebApi.Controllers
/// 修改
/// </summary>
[HttpPost]
public async Task<Response<bool>> Update(MiPunchRecord model)
public async Task<Response<bool>> Update(MiPuchRecordReq model)
{
var result = new Response<bool>();
try
@ -113,7 +128,7 @@ namespace OpenAuth.WebApi.Controllers
/// 删除
/// </summary>
[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>();
try