修改作业区域

main
洁 任 1 month ago
parent d540cefea2
commit 80808cd3dd

@ -4,6 +4,7 @@ using System.Drawing;
using System.Dynamic;
using System.Net;
using System.Text;
using DocumentFormat.OpenXml.Office2010.Excel;
using Infrastructure;
using Infrastructure.CloudSdk;
using Infrastructure.CloudSdk.minio;
@ -1314,6 +1315,63 @@ namespace OpenAuth.App.ServiceApp
}
}
/// <summary>
/// 批量添加地图作业区域
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public async Task<Response<string>> AddWorkAreas(ShpDataReq model)
{
var _user = _auth.GetCurrentUser().User;
using (var uow = base.UnitWork.CreateContext())
{
if (model != null)
{
List<LasaShpData> shpDatas = new List<LasaShpData>();
foreach (var item in model.Geom)
{
LasaShpData ls = new LasaShpData();
//获取主键
string id = Guid.NewGuid().ToString();
ls.Id = id;
ls.CreateTime = DateTime.Now;
ls.CreateUser = _user.Id.ToString();
ls.CreateUserName = _user.Name.ToString();
ls.Name=model.Name;
ls.Type= model.Type;
ls.WorkSpaceId= model.WorkSpaceId;
ls.Properties=model.Properties;
ls.Geom = null;
//格式化数据
//string _wktModel = _commonDataManager.WktDataConvert(model.Geom, "MULTIPOLYGON ZM", 4);
string _wktModel = item;
StringBuilder geomSql = new StringBuilder();
geomSql.AppendFormat(
$" update lasa_shpdata set \"Geom\" = st_geomfromtext('{_wktModel}',4326) where \"Id\" = '{id}'");
//本地数据库数据添加
await uow.LasaShpData.InsertAsync(ls);
await uow.Db.Ado.ExecuteCommandAsync(geomSql.ToString());
}
}
var transFlag=uow.Commit();
if (transFlag)
return new Response<string>
{
Result = "true",
Message = "新增成功"
};
else
return new Response<string>
{
Message = "新增失败"
};
}
}
/// <summary>
/// 更新地图作业区域
/// </summary>
@ -1390,7 +1448,7 @@ namespace OpenAuth.App.ServiceApp
/// </summary>
/// <param name="workspaceid">项目id</param>
/// <returns></returns>
public async Task<Response<List<LasaShpData>>> GetWorkAreaList(string workspaceid, int? state, string type)
public async Task<Response<List<LasaShpData>>> GetWorkAreaList(string workspaceid, string type)
{
using (var db = UnitWork.CreateContext())
{
@ -1402,10 +1460,10 @@ namespace OpenAuth.App.ServiceApp
list = list.Where(r => r.Type == type).ToList();
}
if (state != null)
{
list = list.Where(r => r.State == state).ToList();
}
//if (state != null)
//{
// list = list.Where(r => r.State == state).ToList();
//}
if (!string.IsNullOrEmpty(workspaceid))
{

@ -0,0 +1,48 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OpenAuth.App.ServiceApp.Request
{
public class ShpDataReq
{
public string Id { get; set; }
/// <summary>
/// Desc:名称
/// Default:
/// Nullable:True
/// </summary>
public string Name { get; set; }
/// <summary>
/// Desc:类型(区分限飞区域,作业区域等)
/// Default:
/// Nullable:True
/// </summary>
public string Type { get; set; }
/// <summary>
/// Desc:属性边框属性颜色宽度等json格式
/// Default:
/// Nullable:True
/// </summary>
public string Properties { get; set; }
/// <summary>
/// Desc:项目id
/// Default:
/// Nullable:True
/// </summary>
public string WorkSpaceId { get; set; }
/// <summary>
/// Desc:区域
/// Default:
/// Nullable:True
/// </summary>
public List<string> Geom { get; set; }
}
}

@ -72,9 +72,6 @@ namespace OpenAuth.Repository.Domain
/// </summary>
public string WorkSpaceId {get;set;}
public int State { get;set;}
public string CreateUserName { get; set;}
public decimal Area { get; set; }
public decimal Length { get; set; }
}
}

@ -668,6 +668,28 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
return res;
}
/// <summary>
/// 批量添加地图作业区域
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<string>> AddWorkAreas([FromBody] ShpDataReq model)
{
var res = new Response<string>();
try
{
return await _app.AddWorkAreas(model);
}
catch (Exception ex)
{
res.Code = 500;
res.Message = ex.InnerException?.Message ?? ex.Message;
}
return res;
}
/// <summary>
/// 更新地图作业区域
/// </summary>
@ -709,12 +731,12 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
/// <param name="type">区域类型(作业区,限飞区等)</param>
/// <returns></returns>
[HttpGet]
public async Task<Response<List<LasaShpData>>> GetWorkAreaList(string workspaceid, int? state, string type)
public async Task<Response<List<LasaShpData>>> GetWorkAreaList(string workspaceid, string type)
{
var result = new Response<List<LasaShpData>>();
try
{
result = await _app.GetWorkAreaList(workspaceid, state, type);
result = await _app.GetWorkAreaList(workspaceid, type);
}
catch (Exception ex)
{

Loading…
Cancel
Save