4177 lines
179 KiB
C#
4177 lines
179 KiB
C#
using Microsoft.AspNetCore.Mvc;
|
||
using Microsoft.Extensions.Configuration;
|
||
using Microsoft.Extensions.Logging;
|
||
using OpenAuth.App.BaseApp.Base;
|
||
using OpenAuth.App.Interface;
|
||
using OpenAuth.Repository;
|
||
using OpenAuth.Repository.Domain;
|
||
using SqlSugar;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
|
||
namespace OpenAuth.App.ServiceApp.DroneCaseInfo
|
||
{
|
||
public class DroneCaseinfoApp : SqlSugarBaseApp<DroneCaseinfo, SugarDbContext>
|
||
{
|
||
IConfiguration _configuration;
|
||
//private IOptions<AppSettingsModel> _options;
|
||
private ILogger<DroneCaseinfoApp> _logger;
|
||
|
||
public DroneCaseinfoApp(
|
||
ISugarUnitOfWork<SugarDbContext> unitWork,
|
||
ISimpleClient<DroneCaseinfo> repository,
|
||
IAuth auth,
|
||
ILogger<DroneCaseinfoApp> logger) : base(unitWork, repository, auth)
|
||
{
|
||
_logger = logger;
|
||
}
|
||
|
||
//处理状态
|
||
//List<QueryHandleStatusListReq> handleStatusList = new List<QueryHandleStatusListReq>()
|
||
//{
|
||
// new QueryHandleStatusListReq(){ id = 0,name="未办理"},
|
||
// new QueryHandleStatusListReq(){ id = 1,name="办理中"},
|
||
// new QueryHandleStatusListReq(){ id = 2,name="已办结"},
|
||
//};
|
||
|
||
///// <summary>
|
||
///// 构造函数
|
||
///// </summary>
|
||
///// <param name="unitWork"></param>
|
||
///// <param name="repository"></param>
|
||
///// <param name="auth"></param>
|
||
///// <param name="configuration"></param>
|
||
//public DroneCaseinfoApp(ISugarUnitOfWork<SugarDbContext> unitWork, IOptions<AppSettingsModel> options, IRepository<DroneCaseinfo, OpenAuthDBContext> repository, IAuth auth, IConfiguration configuration, ILogger<DroneCaseinfoApp> logger) : base(unitWork, repository, auth)
|
||
//{
|
||
// _configuration = configuration;
|
||
// _options = options;
|
||
// _auth = auth;
|
||
// _logger = logger;
|
||
//}
|
||
|
||
//#region 案件
|
||
|
||
///// <summary>
|
||
///// 无人机添加案件
|
||
///// </summary>
|
||
///// <param name="req"></param>
|
||
///// <returns></returns>
|
||
//public string AddDroneCaseByDrone(AddDroneCaseByDroneReq req)
|
||
//{
|
||
// var user = _auth.GetCurrentUser().User;
|
||
// Sugar_Drone_caseinfo model = req.MapTo<Sugar_Drone_caseinfo>();
|
||
// var picList = req.pic_list;
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// model.Init(user, db);
|
||
|
||
// List<Sugar_Drone_files> filesList = new List<Sugar_Drone_files>();
|
||
// //图片
|
||
// for (int i = 0; i < picList.Count; i++)
|
||
// {
|
||
// Sugar_Drone_files fileModel = new Sugar_Drone_files();
|
||
// fileModel.Id = Guid.NewGuid().ToString();
|
||
// fileModel.path = picList[i];
|
||
// fileModel.type = 0;
|
||
// fileModel.tablename = "drone_caseinfo";
|
||
// fileModel.createtime = DateTime.Now;
|
||
// fileModel.createuser = user.Id;
|
||
// fileModel.createusername = user.Name;
|
||
// fileModel.is_delete = 0;
|
||
// fileModel.relid = model.Id;
|
||
|
||
// filesList.Add(fileModel);
|
||
// }
|
||
|
||
// if (model.lng != 0 && model.lat != 0)
|
||
// {
|
||
// //根据经纬度查询地区
|
||
// var lngLat = GetOrgAreaByPoint(Convert.ToDecimal(model.lng), Convert.ToDecimal(model.lat));
|
||
|
||
// //县
|
||
// model.countyid = lngLat["countyid"].ToString();
|
||
// var countyname = db.Queryable<Sugar_Org>().Where(c => c.Id == model.countyid).First();
|
||
// if (countyname != null)
|
||
// {
|
||
// model.countyname = countyname.Name;
|
||
// }
|
||
|
||
// //镇
|
||
// model.streetid = lngLat["streetid"].ToString();
|
||
// var streetname = db.Queryable<Sugar_Org>().Where(c => c.Id == model.streetid).First();
|
||
// if (streetname != null)
|
||
// {
|
||
// model.streetname = streetname.Name;
|
||
// }
|
||
|
||
// //乡社区
|
||
// model.communityid = lngLat["communityid"].ToString();
|
||
// var communityname = db.Queryable<Sugar_Org>().Where(c => c.Id == model.communityid).First();
|
||
// if (communityname != null)
|
||
// {
|
||
// model.communityname = communityname.Name;
|
||
// }
|
||
|
||
// }
|
||
|
||
// //使用事务提交数据
|
||
// var transFlag = db.UseTran(() =>
|
||
// {
|
||
// //新增案件数据
|
||
// db.Insertable(model).ExecuteCommand();
|
||
|
||
// //新增文件数据
|
||
// db.Insertable(filesList).ExecuteCommand();
|
||
// });
|
||
|
||
// Task.Run(() =>
|
||
// {
|
||
// //推送websocket
|
||
// SendWebSocketMessage();
|
||
// });
|
||
|
||
// if (transFlag.IsSuccess)
|
||
// return model.Id;
|
||
// else
|
||
// throw new Exception("上报失败");
|
||
// }
|
||
//}
|
||
|
||
|
||
//public async Task<string> BackhaulDroneCaseByDrone(BackhaulDroneCaseByDroneReq req)
|
||
//{
|
||
// var user = new User { Id = req.userid, Name = req.username };
|
||
// Sugar_Drone_caseinfo model = req.MapTo<Sugar_Drone_caseinfo>();
|
||
// var picList = req.pic_list;
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// model.Init(user, db);
|
||
|
||
// //图片
|
||
// List<Sugar_Drone_files> filesList = new List<Sugar_Drone_files>();
|
||
// if (req.pic_list.Count > 0)
|
||
// {
|
||
// var response = await BackhaulUpload(req.pic_list);
|
||
// if (response.Code == 200 && response.Result.Count > 0)
|
||
// {
|
||
// for (int i = 0; i < response.Result.Count; i++)
|
||
// {
|
||
// Sugar_Drone_files fileModel = new Sugar_Drone_files();
|
||
// fileModel.Id = Guid.NewGuid().ToString();
|
||
// fileModel.path = response.Result[i].FilePath;
|
||
// fileModel.type = 0;
|
||
// fileModel.tablename = "drone_caseinfo";
|
||
// fileModel.createtime = DateTime.Now;
|
||
// fileModel.createuser = user.Id;
|
||
// fileModel.createusername = user.Name;
|
||
// fileModel.is_delete = 0;
|
||
// fileModel.relid = model.Id;
|
||
|
||
// filesList.Add(fileModel);
|
||
// }
|
||
// }
|
||
// }
|
||
|
||
// if (model.lng != 0 && model.lat != 0)
|
||
// {
|
||
// //根据经纬度查询地区
|
||
// var lngLat = GetOrgAreaByPoint(Convert.ToDecimal(model.lng), Convert.ToDecimal(model.lat));
|
||
|
||
// //县
|
||
// model.countyid = lngLat["countyid"].ToString();
|
||
// var countyname = await db.Queryable<Sugar_Org>().Where(c => c.Id == model.countyid).FirstAsync();
|
||
// if (countyname != null)
|
||
// {
|
||
// model.countyname = countyname.Name;
|
||
// }
|
||
|
||
// //镇
|
||
// model.streetid = lngLat["streetid"].ToString();
|
||
// var streetname = await db.Queryable<Sugar_Org>().Where(c => c.Id == model.streetid).FirstAsync();
|
||
// if (streetname != null)
|
||
// {
|
||
// model.streetname = streetname.Name;
|
||
// }
|
||
|
||
// //乡社区
|
||
// model.communityid = lngLat["communityid"].ToString();
|
||
// var communityname = await db.Queryable<Sugar_Org>().Where(c => c.Id == model.communityid).FirstAsync();
|
||
// if (communityname != null)
|
||
// {
|
||
// model.communityname = communityname.Name;
|
||
// }
|
||
|
||
// }
|
||
|
||
// //使用事务提交数据
|
||
// var transFlag = await db.UseTranAsync(async () =>
|
||
// {
|
||
// //新增案件数据
|
||
// await db.Insertable(model).ExecuteCommandAsync();
|
||
|
||
// //新增文件数据
|
||
// await db.Insertable(filesList).ExecuteCommandAsync();
|
||
// });
|
||
|
||
// if (transFlag.IsSuccess)
|
||
// return model.Id;
|
||
// else
|
||
// throw new Exception("上报失败");
|
||
// }
|
||
//}
|
||
|
||
//public async Task<Response<List<UploadFile>>> BackhaulUpload(List<string> urls)
|
||
//{
|
||
// var picServerUrl = _configuration.GetSection("PictureFilesApi").Value;
|
||
// var uploadUrl = picServerUrl + "api/Platform/UploadNoReName?project=DroneEnforcement";
|
||
|
||
// //读取图片地址、上传到航飞的图片服务器
|
||
// var formData = new MultipartFormDataContent();
|
||
// //formData.Add(new StringContent("DroneEnforcement"), "project");
|
||
// foreach (var item in urls)
|
||
// {
|
||
// //读取图片流
|
||
// var image = await item.GetBytesAsync();
|
||
// //获取图片名称
|
||
// int lastSlashIndex = item.LastIndexOf('/');
|
||
// string fileName = item.Substring(lastSlashIndex + 1);
|
||
|
||
// formData.Add(new ByteArrayContent(image), "files", fileName);
|
||
|
||
|
||
// //var fileContent = new ByteArrayContent(image);
|
||
// //fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data")
|
||
// //{
|
||
// // Name = "files",
|
||
// // FileName = fileName // 设置文件名
|
||
// //};
|
||
// //formData.Add(fileContent);
|
||
// }
|
||
|
||
// var flurlRespone = await uploadUrl.PostAsync(formData);
|
||
|
||
// var respone = new Response<List<UploadFile>>();
|
||
// if (flurlRespone.StatusCode == 200)
|
||
// {
|
||
// var reslut = await flurlRespone.ResponseMessage.Content.ReadAsStringAsync();
|
||
// if (!string.IsNullOrEmpty(reslut))
|
||
// {
|
||
// respone = JsonConvert.DeserializeObject<Response<List<UploadFile>>>(reslut);
|
||
// }
|
||
// }
|
||
// else
|
||
// {
|
||
// respone.Code = flurlRespone.StatusCode;
|
||
// respone.Result = null;
|
||
// }
|
||
// return respone;
|
||
//}
|
||
|
||
|
||
[HttpGet]
|
||
public string Test(string txt)
|
||
{
|
||
return txt;
|
||
}
|
||
|
||
///// <summary>
|
||
///// 上报案件
|
||
///// </summary>
|
||
///// <param name="req"></param>
|
||
///// <returns></returns>
|
||
//public string AddDroneCaseInfo(AddOrUpdateDroneCaseInfoReq req)
|
||
//{
|
||
// var user = _auth.GetCurrentUser().User;
|
||
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// //案件实体
|
||
// var model = req.info;
|
||
// model.Init(user, db);
|
||
|
||
// //区分权限,创建人就是判读人
|
||
// model.identification_userid = model.createuser;
|
||
// model.identification_user = model.identification_user;
|
||
|
||
// if (model.lng != 0 && model.lat != 0)
|
||
// {
|
||
// //根据经纬度查询地区
|
||
// var lngLat = GetOrgAreaByPoint(Convert.ToDecimal(model.lng), Convert.ToDecimal(model.lat));
|
||
|
||
// //县
|
||
// model.countyid = lngLat["countyid"].ToString();
|
||
// var countyname = db.Queryable<Sugar_Org>().Where(c => c.Id == model.countyid).First();
|
||
// if (countyname != null)
|
||
// {
|
||
// model.countyname = countyname.Name;
|
||
// }
|
||
|
||
// //镇
|
||
// model.streetid = lngLat["streetid"].ToString();
|
||
// var streetname = db.Queryable<Sugar_Org>().Where(c => c.Id == model.streetid).First();
|
||
// if (streetname != null)
|
||
// {
|
||
// model.streetname = streetname.Name;
|
||
// }
|
||
|
||
// //乡社区
|
||
// model.communityid = lngLat["communityid"].ToString();
|
||
// var communityname = db.Queryable<Sugar_Org>().Where(c => c.Id == model.communityid).First();
|
||
// if (communityname != null)
|
||
// {
|
||
// model.communityname = communityname.Name;
|
||
// }
|
||
|
||
// }
|
||
|
||
// var picList = req.pic_list;
|
||
// var videoList = req.video_list;
|
||
|
||
// List<Sugar_Drone_files> filesList = new List<Sugar_Drone_files>();
|
||
// //图片
|
||
// for (int i = 0; i < picList.Count; i++)
|
||
// {
|
||
// Sugar_Drone_files fileModel = new Sugar_Drone_files();
|
||
// fileModel.Id = Guid.NewGuid().ToString();
|
||
// fileModel.path = picList[i];
|
||
// fileModel.type = 0;
|
||
// fileModel.tablename = "drone_caseinfo";
|
||
// fileModel.createtime = DateTime.Now;
|
||
// fileModel.createuser = user.Id;
|
||
// fileModel.createusername = user.Name;
|
||
// fileModel.is_delete = 0;
|
||
// fileModel.relid = model.Id;
|
||
|
||
// filesList.Add(fileModel);
|
||
// }
|
||
|
||
// //视频
|
||
// for (int i = 0; i < videoList.Count; i++)
|
||
// {
|
||
// Sugar_Drone_files fileModel = new Sugar_Drone_files();
|
||
// fileModel.Id = Guid.NewGuid().ToString();
|
||
// fileModel.path = videoList[i];
|
||
// fileModel.type = 1;
|
||
// fileModel.tablename = "drone_caseinfo";
|
||
// fileModel.createtime = DateTime.Now;
|
||
// fileModel.createuser = user.Id;
|
||
// fileModel.createusername = user.Name;
|
||
// fileModel.is_delete = 0;
|
||
// fileModel.relid = model.Id;
|
||
|
||
// filesList.Add(fileModel);
|
||
// }
|
||
|
||
// //关联案件
|
||
// var caserelationList = req.relationCaseNo;
|
||
// List<Sugar_Drone_caseinfo_relation> relationList = new List<Sugar_Drone_caseinfo_relation>();
|
||
// foreach (var item in caserelationList)
|
||
// {
|
||
// relationList.Add(new Sugar_Drone_caseinfo_relation
|
||
// {
|
||
// caseid = model.Id,
|
||
// relation_case_no = item
|
||
// });
|
||
// }
|
||
|
||
// //案件标签
|
||
// var tags = req.tags;
|
||
// List<Sugar_Drone_caseinfo_tag> tagList = new List<Sugar_Drone_caseinfo_tag>();
|
||
// foreach (var item in tags)
|
||
// {
|
||
// tagList.Add(new Sugar_Drone_caseinfo_tag
|
||
// {
|
||
// caseid = model.Id,
|
||
// tagid = item
|
||
// });
|
||
// }
|
||
|
||
// //使用事务提交数据
|
||
// var transFlag = db.UseTran(() =>
|
||
// {
|
||
// //新增案件数据
|
||
// db.Insertable(model).ExecuteCommand();
|
||
|
||
// //新增文件数据
|
||
// db.Insertable(filesList).ExecuteCommand();
|
||
|
||
// //新增关联案件
|
||
// db.Insertable(relationList).ExecuteCommand();
|
||
|
||
// //新增案件标签
|
||
// db.Insertable(tagList).ExecuteCommand();
|
||
// });
|
||
|
||
// if (transFlag.IsSuccess)
|
||
// return model.Id;
|
||
// else
|
||
// throw new Exception("上报失败");
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 修改完善案件
|
||
///// </summary>
|
||
///// <param name="req"></param>
|
||
///// <returns></returns>
|
||
//public string UpdateDroneCaseInfo(AddOrUpdateDroneCaseInfoReq req)
|
||
//{
|
||
// var user = _auth.GetCurrentUser().User;
|
||
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// //案件实体
|
||
// var model = req.info;
|
||
// model.Update(user, db);
|
||
|
||
// //处理事否审核
|
||
// if (model.is_review == null)
|
||
// {
|
||
// model.is_review = 0;
|
||
// }
|
||
|
||
// //查询面积
|
||
// var areaDecimal = db.Queryable<Sugar_Drone_shp_data>().Where(c => c.relid == model.Id).Sum(c => c.area);
|
||
// if (areaDecimal != null)
|
||
// {
|
||
// model.area = Decimal.Round((Decimal)areaDecimal, 2).ToString();
|
||
// }
|
||
|
||
// var picList = req.pic_list;
|
||
// var videoList = req.video_list;
|
||
|
||
|
||
// var existFiles = db.Queryable<Sugar_Drone_files>().Where(c => c.relid == req.info.Id).ToList();
|
||
// List<Sugar_Drone_files> filesList = new List<Sugar_Drone_files>();
|
||
// //图片
|
||
// for (int i = 0; i < picList.Count; i++)
|
||
// {
|
||
// var item = picList[i];
|
||
|
||
// var count = existFiles.Where(c => c.path == item).Count();
|
||
// if (count > 0)
|
||
// continue;
|
||
// Sugar_Drone_files fileModel = new Sugar_Drone_files();
|
||
// fileModel.Id = Guid.NewGuid().ToString();
|
||
// fileModel.path = picList[i];
|
||
// fileModel.type = 0;
|
||
// fileModel.tablename = "drone_caseinfo";
|
||
// fileModel.createtime = DateTime.Now;
|
||
// fileModel.createuser = user.Id;
|
||
// fileModel.createusername = user.Name;
|
||
// fileModel.is_delete = 0;
|
||
// fileModel.relid = model.Id;
|
||
|
||
// filesList.Add(fileModel);
|
||
// }
|
||
|
||
// //视频
|
||
// for (int i = 0; i < videoList.Count; i++)
|
||
// {
|
||
// var item = videoList[i];
|
||
|
||
// var count = existFiles.Where(c => c.path == item).Count();
|
||
// if (count > 0)
|
||
// continue;
|
||
// Sugar_Drone_files fileModel = new Sugar_Drone_files();
|
||
// fileModel.Id = Guid.NewGuid().ToString();
|
||
// fileModel.path = videoList[i];
|
||
// fileModel.type = 1;
|
||
// fileModel.tablename = "drone_caseinfo";
|
||
// fileModel.createtime = DateTime.Now;
|
||
// fileModel.createuser = user.Id;
|
||
// fileModel.createusername = user.Name;
|
||
// fileModel.is_delete = 0;
|
||
// fileModel.relid = model.Id;
|
||
|
||
// filesList.Add(fileModel);
|
||
// }
|
||
|
||
// //关联案件
|
||
// var caserelationList = req.relationCaseNo;
|
||
// List<Sugar_Drone_caseinfo_relation> relationList = new List<Sugar_Drone_caseinfo_relation>();
|
||
// foreach (var item in caserelationList)
|
||
// {
|
||
// relationList.Add(new Sugar_Drone_caseinfo_relation
|
||
// {
|
||
// caseid = model.Id,
|
||
// relation_case_no = item
|
||
// });
|
||
// }
|
||
|
||
// //案件标签
|
||
// var tags = req.tags;
|
||
// List<Sugar_Drone_caseinfo_tag> tagList = new List<Sugar_Drone_caseinfo_tag>();
|
||
// foreach (var item in tags)
|
||
// {
|
||
// tagList.Add(new Sugar_Drone_caseinfo_tag
|
||
// {
|
||
// caseid = model.Id,
|
||
// tagid = item
|
||
// });
|
||
// }
|
||
|
||
// //专题及平台数据处理
|
||
// var dataBaseList = db.Queryable<Sugar_Database_picture>().Where(c => req.databaseid.Contains(c.Id)).IgnoreColumns(c => new { c.org_id }).ToList();
|
||
// List<Sugar_Drone_CaseSubject> subjectList = new List<Sugar_Drone_CaseSubject>();
|
||
// //遍历库
|
||
// for (int i = 0; i < dataBaseList.Count; i++)
|
||
// {
|
||
// //当前库
|
||
// var _item = dataBaseList[i];
|
||
// //专题信息
|
||
// var subjectlist = db.Queryable<Sugar_Subject>().Where(r => req.subjectkeys.Contains(r.Key) && r.PId == _item.Id).ToList();
|
||
// var subjectkeys = "";
|
||
// if (req.subjectkeys != null && req.subjectkeys.Count > 0 && subjectlist.Count > 0)
|
||
// {
|
||
// subjectkeys = db.Queryable<Sugar_Subject>().Where(r => req.subjectkeys.Contains(r.Key) && r.PId == _item.Id).Select(r => r.Key).ToList().Aggregate((current, next) => current + "," + next);
|
||
// }
|
||
// Sugar_Drone_CaseSubject cject = new Sugar_Drone_CaseSubject();
|
||
// cject.Id = Guid.NewGuid().ToString();
|
||
// cject.CaseId = model.Id;
|
||
// cject.DataBaseId = _item.Id;
|
||
// cject.SubjectKeys = subjectkeys;
|
||
// cject.CreateTime = DateTime.Now;
|
||
// cject.CreateUser = user.Id;
|
||
// cject.CreateUserName = user.Name;
|
||
// subjectList.Add(cject);
|
||
// }
|
||
|
||
// //使用事务提交数据
|
||
// var transFlag = db.UseTran(() =>
|
||
// {
|
||
// //新增案件数据
|
||
// db.Updateable(model).ExecuteCommand();
|
||
|
||
// //新增文件数据
|
||
// db.Insertable(filesList).ExecuteCommand();
|
||
|
||
// //关联案件
|
||
// db.Deleteable<Sugar_Drone_caseinfo_relation>().Where(a => a.caseid == model.Id).ExecuteCommand();
|
||
// db.Insertable(relationList).ExecuteCommand();
|
||
|
||
// //案件标签
|
||
// db.Deleteable<Sugar_Drone_caseinfo_tag>().Where(a => a.caseid == model.Id).ExecuteCommand();
|
||
// db.Insertable(tagList).ExecuteCommand();
|
||
|
||
// //案件平台专题
|
||
// db.Deleteable<Sugar_Drone_CaseSubject>().Where(a => a.CaseId == model.Id).ExecuteCommand();
|
||
// db.Insertable(subjectList).ExecuteCommand();
|
||
// });
|
||
|
||
// if (transFlag.IsSuccess)
|
||
// return model.Id;
|
||
// else
|
||
// throw new Exception("上报失败");
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 事件判读
|
||
///// </summary>
|
||
///// <param name="req"></param>
|
||
///// <returns></returns>
|
||
//public string UpdateDroneCaseInfoIntact(AddOrUpdateDroneCaseInfoDataBaseReq req)
|
||
//{
|
||
// var user = _auth.GetCurrentUser().User;
|
||
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// //案件实体
|
||
// var model = req.info;
|
||
// model.Update(user, db);
|
||
|
||
// //是否判读、判读人和判读时间
|
||
// model.is_intact = 1;
|
||
// model.identification_user = user.Name;
|
||
// model.identification_userid = user.Id;
|
||
// model.identification_time = DateTime.Now;
|
||
// if (model.is_review == null)
|
||
// {
|
||
// model.is_review = 0;
|
||
// }
|
||
|
||
// //查询面积
|
||
// var areaDecimal = db.Queryable<Sugar_Drone_shp_data>().Where(c => c.relid == model.Id).Sum(c => c.area);
|
||
// if (areaDecimal != null)
|
||
// {
|
||
// model.area = Decimal.Round((Decimal)areaDecimal, 2).ToString();
|
||
// }
|
||
|
||
// var picList = req.pic_list;
|
||
// var videoList = req.video_list;
|
||
|
||
// var existFiles = db.Queryable<Sugar_Drone_files>().Where(c => c.relid == req.info.Id).ToList();
|
||
// List<Sugar_Drone_files> filesList = new List<Sugar_Drone_files>();
|
||
// //图片
|
||
// for (int i = 0; i < picList.Count; i++)
|
||
// {
|
||
// var item = picList[i];
|
||
|
||
// var count = existFiles.Where(c => c.path == item).Count();
|
||
// if (count > 0)
|
||
// continue;
|
||
|
||
// Sugar_Drone_files fileModel = new Sugar_Drone_files();
|
||
// fileModel.Id = Guid.NewGuid().ToString();
|
||
// fileModel.path = picList[i];
|
||
// fileModel.type = 0;
|
||
// fileModel.tablename = "drone_caseinfo";
|
||
// fileModel.createtime = DateTime.Now;
|
||
// fileModel.createuser = user.Id;
|
||
// fileModel.createusername = user.Name;
|
||
// fileModel.is_delete = 0;
|
||
// fileModel.relid = model.Id;
|
||
|
||
// filesList.Add(fileModel);
|
||
// }
|
||
|
||
// //视频
|
||
// for (int i = 0; i < videoList.Count; i++)
|
||
// {
|
||
// var item = videoList[i];
|
||
|
||
// var count = existFiles.Where(c => c.path == item).Count();
|
||
// if (count > 0)
|
||
// continue;
|
||
|
||
// Sugar_Drone_files fileModel = new Sugar_Drone_files();
|
||
// fileModel.Id = Guid.NewGuid().ToString();
|
||
// fileModel.path = videoList[i];
|
||
// fileModel.type = 1;
|
||
// fileModel.tablename = "drone_caseinfo";
|
||
// fileModel.createtime = DateTime.Now;
|
||
// fileModel.createuser = user.Id;
|
||
// fileModel.createusername = user.Name;
|
||
// fileModel.is_delete = 0;
|
||
// fileModel.relid = model.Id;
|
||
|
||
// filesList.Add(fileModel);
|
||
// }
|
||
|
||
// List<Sugar_Relevance> relevanceList = new List<Sugar_Relevance>();
|
||
// for (int i = 0; i < req.databaseid.Count(); i++)
|
||
// {
|
||
// //不用进行判断是由于判读只能判读一次
|
||
// Sugar_Relevance rel = new Sugar_Relevance();
|
||
// rel.Id = Guid.NewGuid().ToString();
|
||
// rel.Key = Define.DATABASE_CASE;
|
||
// rel.Description = "";
|
||
// rel.Status = 0;
|
||
// rel.FirstId = req.databaseid[i];
|
||
// rel.SecondId = model.Id;
|
||
// rel.OperateTime = DateTime.Now;
|
||
// relevanceList.Add(rel);
|
||
// }
|
||
|
||
// //关联案件
|
||
// var caserelationList = req.relationCaseNo;
|
||
// List<Sugar_Drone_caseinfo_relation> relationList = new List<Sugar_Drone_caseinfo_relation>();
|
||
// foreach (var item in caserelationList)
|
||
// {
|
||
// relationList.Add(new Sugar_Drone_caseinfo_relation
|
||
// {
|
||
// caseid = model.Id,
|
||
// relation_case_no = item
|
||
// });
|
||
// }
|
||
|
||
// //案件标签
|
||
// var tags = req.tags;
|
||
// List<Sugar_Drone_caseinfo_tag> tagList = new List<Sugar_Drone_caseinfo_tag>();
|
||
// foreach (var item in tags)
|
||
// {
|
||
// tagList.Add(new Sugar_Drone_caseinfo_tag
|
||
// {
|
||
// caseid = model.Id,
|
||
// tagid = item
|
||
// });
|
||
// }
|
||
|
||
// #region 专题及平台数据处理
|
||
// //专题及平台数据处理
|
||
// var dataBaseList = db.Queryable<Sugar_Database_picture>().Where(c => req.databaseid.Contains(c.Id)).IgnoreColumns(c => new { c.org_id }).ToList();
|
||
// List<Sugar_Drone_CaseSubject> subjectList = new List<Sugar_Drone_CaseSubject>();
|
||
// //遍历库
|
||
// for (int i = 0; i < dataBaseList.Count; i++)
|
||
// {
|
||
// //当前库
|
||
// var _item = dataBaseList[i];
|
||
// //专题信息
|
||
// var subjectlist = db.Queryable<Sugar_Subject>().Where(r => req.subjectkeys.Contains(r.Key) && r.PId == _item.Id).ToList();
|
||
// var subjectkeys = "";
|
||
// if (req.subjectkeys.Count > 0 && subjectlist.Count > 0)
|
||
// {
|
||
// subjectkeys = db.Queryable<Sugar_Subject>().Where(r => req.subjectkeys.Contains(r.Key) && r.PId == _item.Id).Select(r => r.Key).ToList().Aggregate((current, next) => current + "," + next);
|
||
// }
|
||
// Sugar_Drone_CaseSubject cject = new Sugar_Drone_CaseSubject();
|
||
// cject.Id = Guid.NewGuid().ToString();
|
||
// cject.CaseId = model.Id;
|
||
// cject.DataBaseId = _item.Id;
|
||
// cject.SubjectKeys = subjectkeys;
|
||
// cject.CreateTime = DateTime.Now;
|
||
// cject.CreateUser = user.Id;
|
||
// cject.CreateUserName = user.Name;
|
||
// subjectList.Add(cject);
|
||
// }
|
||
// #endregion
|
||
|
||
// //使用事务提交数据
|
||
// var transFlag = db.UseTran(() =>
|
||
// {
|
||
// //新增案件数据
|
||
// db.Updateable(model).ExecuteCommand();
|
||
|
||
// //新增文件数据
|
||
// db.Insertable(filesList).ExecuteCommand();
|
||
|
||
// //删除关联关系再新增
|
||
// db.Deleteable<Sugar_Relevance>().Where(c => c.SecondId == model.Id && c.Key == Define.DATABASE_CASE).ExecuteCommand();
|
||
|
||
// //关联表
|
||
// db.Insertable(relevanceList).ExecuteCommand();
|
||
|
||
// //案件关联
|
||
// db.Deleteable<Sugar_Drone_caseinfo_relation>().Where(a => a.caseid == model.Id).ExecuteCommand();
|
||
// db.Insertable(relationList).ExecuteCommand();
|
||
|
||
// //案件标签
|
||
// db.Deleteable<Sugar_Drone_caseinfo_tag>().Where(a => a.caseid == model.Id).ExecuteCommand();
|
||
// db.Insertable(tagList).ExecuteCommand();
|
||
|
||
// //案件平台专题
|
||
// db.Deleteable<Sugar_Drone_CaseSubject>().Where(a => a.CaseId == model.Id).ExecuteCommand();
|
||
// db.Insertable(subjectList).ExecuteCommand();
|
||
// });
|
||
// //同步到对应的库
|
||
// var flag = AsynchDroneCaseData(db, req.databaseid, req.info.Id, req.subjectkeys);
|
||
|
||
// if (transFlag.IsSuccess && flag == "成功")
|
||
// {
|
||
// return model.Id;
|
||
// }
|
||
// else
|
||
// {
|
||
// _logger.LogError(transFlag.ErrorMessage);
|
||
// if (flag == "成功")
|
||
// {
|
||
// throw new Exception("上报失败");
|
||
// }
|
||
// else
|
||
// {
|
||
// throw new Exception(flag);
|
||
// }
|
||
// }
|
||
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 事件审核
|
||
///// </summary>
|
||
///// <param name="req"></param>
|
||
///// <returns></returns>
|
||
//public string UpdateDroneCaseInfoExamine(AddOrUpdateDroneCaseInfoDataBaseReq req)
|
||
//{
|
||
// var user = _auth.GetCurrentUser().User;
|
||
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// //案件实体
|
||
// var model = req.info;
|
||
// model.Update(user, db);
|
||
|
||
// //判断案件是已审核
|
||
// var caseinfo = db.Queryable<Sugar_Drone_caseinfo>().Where(r => r.Id == model.Id).First();
|
||
// if (caseinfo != null)
|
||
// {
|
||
// if (string.IsNullOrEmpty(model.countyid) || string.IsNullOrEmpty(model.countyname) || string.IsNullOrEmpty(model.streetid) || string.IsNullOrEmpty(model.streetname))
|
||
// {
|
||
// throw new Exception("行政区划不能为空");
|
||
// }
|
||
// else
|
||
// {
|
||
// if (caseinfo.is_review == 1 && caseinfo.is_agree == true)
|
||
// {
|
||
// throw new Exception("案件已审核");
|
||
// }
|
||
// else
|
||
// {
|
||
// //是否判读、判读人和判读时间
|
||
// model.is_review = 1;
|
||
// model.examineuser = user.Name;
|
||
// model.examineuserid = user.Id;
|
||
// model.examinetime = DateTime.Now;
|
||
|
||
// //查询面积
|
||
// var areaDecimal = db.Queryable<Sugar_Drone_shp_data>().Where(c => c.relid == model.Id).Sum(c => c.area);
|
||
// if (areaDecimal != null)
|
||
// {
|
||
// model.area = Decimal.Round((Decimal)areaDecimal, 2).ToString();
|
||
// }
|
||
|
||
// var picList = req.pic_list;
|
||
// var videoList = req.video_list;
|
||
|
||
// var existFiles = db.Queryable<Sugar_Drone_files>().Where(c => c.relid == req.info.Id).ToList();
|
||
// List<Sugar_Drone_files> filesList = new List<Sugar_Drone_files>();
|
||
// //图片
|
||
// for (int i = 0; i < picList.Count; i++)
|
||
// {
|
||
// var item = picList[i];
|
||
|
||
// //var count = existFiles.Where(c => c.path == item).Count();
|
||
// //if (count > 0)
|
||
// // continue;
|
||
|
||
// Sugar_Drone_files fileModel = new Sugar_Drone_files();
|
||
// fileModel.Id = Guid.NewGuid().ToString();
|
||
// fileModel.path = picList[i];
|
||
// fileModel.type = 0;
|
||
// fileModel.tablename = "drone_caseinfo";
|
||
// fileModel.createtime = DateTime.Now;
|
||
// fileModel.createuser = user.Id;
|
||
// fileModel.createusername = user.Name;
|
||
// fileModel.is_delete = 0;
|
||
// fileModel.relid = model.Id;
|
||
|
||
// filesList.Add(fileModel);
|
||
// }
|
||
|
||
// //视频
|
||
// for (int i = 0; i < videoList.Count; i++)
|
||
// {
|
||
// var item = videoList[i];
|
||
|
||
// //var count = existFiles.Where(c => c.path == item).Count();
|
||
// //if (count > 0)
|
||
// // continue;
|
||
|
||
// Sugar_Drone_files fileModel = new Sugar_Drone_files();
|
||
// fileModel.Id = Guid.NewGuid().ToString();
|
||
// fileModel.path = videoList[i];
|
||
// fileModel.type = 1;
|
||
// fileModel.tablename = "drone_caseinfo";
|
||
// fileModel.createtime = DateTime.Now;
|
||
// fileModel.createuser = user.Id;
|
||
// fileModel.createusername = user.Name;
|
||
// fileModel.is_delete = 0;
|
||
// fileModel.relid = model.Id;
|
||
|
||
// filesList.Add(fileModel);
|
||
// }
|
||
|
||
// List<Sugar_Relevance> relevanceList = new List<Sugar_Relevance>();
|
||
// for (int i = 0; i < req.databaseid.Count(); i++)
|
||
// {
|
||
// //不用进行判断是由于判读只能判读一次
|
||
// Sugar_Relevance rel = new Sugar_Relevance();
|
||
// rel.Id = Guid.NewGuid().ToString();
|
||
// rel.Key = Define.DATABASE_CASE;
|
||
// rel.Description = "";
|
||
// rel.Status = 0;
|
||
// rel.FirstId = req.databaseid[i];
|
||
// rel.SecondId = model.Id;
|
||
// rel.OperateTime = DateTime.Now;
|
||
// relevanceList.Add(rel);
|
||
// }
|
||
|
||
// //关联案件
|
||
// var caserelationList = req.relationCaseNo;
|
||
// List<Sugar_Drone_caseinfo_relation> relationList = new List<Sugar_Drone_caseinfo_relation>();
|
||
// foreach (var item in caserelationList)
|
||
// {
|
||
// relationList.Add(new Sugar_Drone_caseinfo_relation
|
||
// {
|
||
// caseid = model.Id,
|
||
// relation_case_no = item
|
||
// });
|
||
// }
|
||
|
||
// //案件标签
|
||
// var tags = req.tags;
|
||
// List<Sugar_Drone_caseinfo_tag> tagList = new List<Sugar_Drone_caseinfo_tag>();
|
||
// foreach (var item in tags)
|
||
// {
|
||
// tagList.Add(new Sugar_Drone_caseinfo_tag
|
||
// {
|
||
// caseid = model.Id,
|
||
// tagid = item
|
||
// });
|
||
// }
|
||
|
||
// //使用事务提交数据
|
||
// var transFlag = db.UseTran(() =>
|
||
// {
|
||
// //新增案件数据
|
||
// db.Updateable(model).ExecuteCommand();
|
||
|
||
// //文件数据
|
||
// if (filesList.Count > 0)
|
||
// {
|
||
// db.Deleteable<Sugar_Drone_files>().Where(a => a.relid == model.Id).ExecuteCommand();
|
||
// db.Insertable(filesList).ExecuteCommand();
|
||
// }
|
||
|
||
// //删除关联关系再新增
|
||
// db.Deleteable<Sugar_Relevance>().Where(c => c.SecondId == model.Id && c.Key == Define.DATABASE_CASE).ExecuteCommand();
|
||
|
||
// //关联表
|
||
// db.Insertable(relevanceList).ExecuteCommand();
|
||
|
||
// //案件关联
|
||
// db.Deleteable<Sugar_Drone_caseinfo_relation>().Where(a => a.caseid == model.Id).ExecuteCommand();
|
||
// db.Insertable(relationList).ExecuteCommand();
|
||
|
||
// //案件标签
|
||
// db.Deleteable<Sugar_Drone_caseinfo_tag>().Where(a => a.caseid == model.Id).ExecuteCommand();
|
||
// db.Insertable(tagList).ExecuteCommand();
|
||
// });
|
||
|
||
// string flag = "";
|
||
// //审核通过,同步到对应的库
|
||
// if (model.is_agree != null && model.is_agree == true)
|
||
// {
|
||
// flag = AsynchDroneCaseData(db, req.databaseid, req.info.Id, req.subjectkeys);
|
||
// }
|
||
|
||
// if (transFlag.IsSuccess && flag == "成功")
|
||
// return model.Id;
|
||
// else
|
||
// throw new Exception("审核失败");
|
||
// }
|
||
// }
|
||
// }
|
||
// else
|
||
// {
|
||
// throw new Exception("案件不存在");
|
||
// }
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 事件审核(改变传参)
|
||
///// </summary>
|
||
///// <param name="caseid">案件信息id</param>
|
||
///// <param name="isagree">是否通过(true,false)</param>
|
||
///// <param name="comments">审核意见</param>
|
||
///// <param name="datebaseids">需要下发到哪些项目id</param>
|
||
///// <returns></returns>
|
||
///// <exception cref="Exception"></exception>
|
||
//public string UpdateDroneCaseInfoExamines(ExamineReq req)
|
||
//{
|
||
// var user = _auth.GetCurrentUser().User;
|
||
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// //案件实体
|
||
// var model = db.Queryable<Sugar_Drone_caseinfo>().Where(c => c.Id == req.caseid).First();
|
||
// if (model != null)
|
||
// {
|
||
// //是否判读、判读人和判读时间
|
||
// model.is_review = 1;
|
||
// model.examineuser = user.Name;
|
||
// model.examineuserid = user.Id;
|
||
// model.examinetime = DateTime.Now;
|
||
// model.is_agree = req.isagree;
|
||
// model.examinecomments = req.comments;
|
||
|
||
// //使用事务提交数据
|
||
// var transFlag = db.UseTran(() =>
|
||
// {
|
||
// //更新案件数据
|
||
// db.Updateable(model).ExecuteCommand();
|
||
// });
|
||
|
||
// var flag = false;
|
||
// //审核通过,同步到对应的库
|
||
// if (model.is_agree != null && model.is_agree == true)
|
||
// {
|
||
// //flag = AsynchDroneCaseData(db, req.datebaseids, req.caseid,req);
|
||
// }
|
||
|
||
// if (transFlag.IsSuccess && flag)
|
||
// return model.Id;
|
||
// else
|
||
// throw new Exception("审核失败");
|
||
// }
|
||
// else
|
||
// {
|
||
// throw new Exception("案件不存在");
|
||
// }
|
||
// }
|
||
//}
|
||
|
||
|
||
///// <summary>
|
||
///// 同步数据公共方法
|
||
///// </summary>
|
||
///// <param name="db"></param>
|
||
///// <param name="dataBaseIds"></param>
|
||
///// <param name="caseId"></param>
|
||
///// <returns></returns>
|
||
//private string AsynchDroneCaseData(SqlSugarClient db, string[] dataBaseIds, string caseId, List<string> subjects)
|
||
//{
|
||
// //查询同步数据
|
||
// var dataBaseList = db.Queryable<Sugar_Database_picture>().Where(c => dataBaseIds.Contains(c.Id)).IgnoreColumns(c => new { c.org_id }).ToList();
|
||
|
||
// //查询案件详情
|
||
// var model = db.Queryable<Sugar_Drone_caseinfo>().Where(c => c.Id == caseId).First();
|
||
|
||
// //图斑数据
|
||
// StringBuilder sql = new StringBuilder();
|
||
// sql.AppendFormat($" SELECT gid,relid,createuser,createtime,cast(geom as text) geom,area FROM \"drone_shp_data\" where relid = '{caseId}'");
|
||
// var shps = db.SqlQueryable<Sugar_Drone_shp_data>(sql.ToString()).ToList();
|
||
|
||
// //图片文件数据
|
||
// var files = db.Queryable<Sugar_Drone_files>().Where(c => c.relid == caseId).ToList();
|
||
|
||
// var fileList = files.Select(c => c.path).ToList();
|
||
|
||
// //本地图片服务器的地址
|
||
// string pictureFilesApi = _configuration.GetSection("PictureFilesApi").Value;
|
||
|
||
// //关联案件
|
||
// var relationList = db.Queryable<Sugar_Drone_caseinfo_relation>().Where(a => a.caseid == caseId).ToList();
|
||
|
||
// //案件标签
|
||
// var tagList = db.Queryable<Sugar_Drone_caseinfo_tag>().Where(a => a.caseid == caseId).ToList();
|
||
|
||
|
||
|
||
// var dataflag = false;
|
||
// var fileflag = false;
|
||
// string infos = "";
|
||
// //遍历库
|
||
// for (int i = 0; i < dataBaseList.Count; i++)
|
||
// {
|
||
// //当前库
|
||
// var _item = dataBaseList[i];
|
||
|
||
// //专题信息
|
||
// var subjectlist = db.Queryable<Sugar_Subject>().Where(r => subjects.Contains(r.Key) && r.PId == _item.Id).ToList();
|
||
// var subjectnames = "";
|
||
// if (subjects.Count > 0 && subjectlist.Count > 0)
|
||
// {
|
||
// subjectnames = db.Queryable<Sugar_Subject>().Where(r => subjects.Contains(r.Key) && r.PId == _item.Id).Select(r => r.Name).ToList().Aggregate((current, next) => current + "," + next);
|
||
// }
|
||
|
||
// //同步数据参数
|
||
// AddOrUpdateAsyncDroneCaseDataReq postData = new AddOrUpdateAsyncDroneCaseDataReq();
|
||
// postData.model = model;
|
||
// postData.files = files;
|
||
// postData.shps = shps;
|
||
// postData.relations = relationList;
|
||
// postData.tags = tagList;
|
||
// postData.subjects = subjectlist;
|
||
|
||
|
||
// //状态,数据,发送请求
|
||
// string statusCode = string.Empty;
|
||
// string postDataStr = postData.ToJson();
|
||
|
||
// if (_item.database_url.IndexOf("http") >= 0)
|
||
// {
|
||
// //使用接口同步
|
||
// var postDataResult = HttpClientHelper.PostResponse(_item.database_url + "api/DroneCaseinfo/AsynchDroneCaseDataLast", postDataStr, out statusCode);
|
||
// //判断是否推送成功
|
||
// var res = JsonConvert.DeserializeObject<Response<string>>(postDataResult);
|
||
// if (res.Code == 200)
|
||
// {
|
||
// dataflag = true;
|
||
// //添加日志
|
||
// AddPushLogs(postDataStr, dataflag, 1, _item.database_name, _item.Id, subjectnames);
|
||
// }
|
||
// else
|
||
// {
|
||
// dataflag = false;
|
||
// infos += res.Message;
|
||
// //添加日志
|
||
// AddPushLogs(postDataStr, dataflag, 1, _item.database_name, _item.Id, subjectnames);
|
||
// break;
|
||
// }
|
||
// }
|
||
// else
|
||
// {
|
||
// //使用数据库同步数据
|
||
// string res = AsynchDroneCaseData(postData, _item.database_url);
|
||
// if (res == "同步成功")
|
||
// {
|
||
// dataflag = true;
|
||
// }
|
||
// else
|
||
// {
|
||
// dataflag = false;
|
||
// break;
|
||
// }
|
||
// }
|
||
|
||
// //同步图片参数
|
||
// AddOrUpdateDownLoadInternetToLocalReq postFiles = new AddOrUpdateDownLoadInternetToLocalReq();
|
||
// postFiles.uri = pictureFilesApi;
|
||
// postFiles.files = fileList;
|
||
|
||
// //状态,数据,发送请求
|
||
// string statusCodePic = string.Empty;
|
||
// string postFilesStr = postFiles.ToJson();
|
||
// var postFilesResult = HttpClientHelper.PostResponse(_item.picture_url + "api/Platform/DownLoadInternetToLocal", postFilesStr, out statusCodePic);
|
||
|
||
// //判断是否推送成功
|
||
// var fileres = JsonConvert.DeserializeObject<Response<string>>(postFilesResult);
|
||
// if (fileres.Code == 200)
|
||
// {
|
||
// fileflag = true;
|
||
// //添加日志
|
||
// AddPushLogs(postFilesStr, fileflag, 2, _item.database_name, _item.Id, subjectnames);
|
||
// }
|
||
// else
|
||
// {
|
||
// fileflag = false;
|
||
// infos += fileres.Message;
|
||
// //添加日志
|
||
// AddPushLogs(postFilesStr, fileflag, 2, _item.database_name, _item.Id, subjectnames);
|
||
// break;
|
||
// }
|
||
// }
|
||
// //返回最终结果
|
||
// if (dataflag && fileflag)
|
||
// {
|
||
// return "成功";
|
||
// }
|
||
// else
|
||
// {
|
||
// return infos;
|
||
// }
|
||
//}
|
||
|
||
////添加推送日志
|
||
//public bool AddPushLogs(string data, bool issuccess, int type, string databasename, string databaseid, string subjectname)
|
||
//{
|
||
// Sugar_PushLog pl = new Sugar_PushLog();
|
||
// pl.Id = Guid.NewGuid().ToString();
|
||
// pl.PushTime = DateTime.Now;
|
||
// pl.DatabaseName = databasename;
|
||
// pl.Data = data;
|
||
// pl.IsSuccess = issuccess;
|
||
// pl.Type = type;
|
||
// pl.DataBaseId = databaseid;
|
||
// pl.SubjectName = subjectname;
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var transFlag = db.UseTran(() =>
|
||
// {
|
||
// //新增推送日志
|
||
// db.Insertable(pl).ExecuteCommand();
|
||
// });
|
||
// return transFlag.IsSuccess;
|
||
// }
|
||
//}
|
||
|
||
////查询专题数据
|
||
//public List<SubjectRes> GetSubjectInfos()
|
||
//{
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var list = db.Queryable<Sugar_Database_picture>().Select(r => new SubjectRes
|
||
// {
|
||
// Id = r.Id,
|
||
// Name = r.database_name,
|
||
// Children = SqlFunc.Subqueryable<Sugar_Subject>().Where(a => a.PId == r.Id).ToList(a => new ChildSubject
|
||
// {
|
||
// Key = a.Key,
|
||
// Name = a.Name
|
||
// })
|
||
// }).ToList();
|
||
// return list;
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 同步航飞库数据
|
||
///// </summary>
|
||
///// <param name="req"></param>
|
||
///// <param name="database"></param>
|
||
///// <returns></returns>
|
||
//private string AsynchDroneCaseData(AddOrUpdateAsyncDroneCaseDataReq req, string database)
|
||
//{
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration, database))
|
||
// {
|
||
// //案件
|
||
// var model = req.model;
|
||
|
||
// //文件
|
||
// var files = req.files;
|
||
|
||
// //shp
|
||
// var shps = req.shps;
|
||
|
||
// //关联案件
|
||
// var relations = req.relations;
|
||
|
||
// //案件标签
|
||
// var tags = req.tags;
|
||
|
||
// //查询是否存在此数据
|
||
// var _count = db.Queryable<Sugar_Drone_caseinfo>().Where(c => c.Id == model.Id).Count();
|
||
|
||
// //使用事务提交数据
|
||
// var transFlag = db.UseTran(() =>
|
||
// {
|
||
// if (_count > 0)
|
||
// {
|
||
// //已存在此数据,修改数据
|
||
// db.Updateable(model).ExecuteCommand();
|
||
// }
|
||
// else
|
||
// {
|
||
// //新增数据
|
||
// db.Insertable(model).ExecuteCommand();
|
||
// }
|
||
|
||
// if (!string.IsNullOrEmpty(model.Id))
|
||
// {
|
||
// //新增修改图斑
|
||
// //先删除,后新增
|
||
// db.Deleteable<Sugar_Drone_shp_data>().Where(c => c.relid == model.Id).ExecuteCommand();
|
||
// var _gidStr = App.Common.CommonData.GetMaxKeyVal("gid", "drone_shp_data", 1, _configuration);
|
||
// int _gid = int.Parse(_gidStr);
|
||
// for (int i = 0; i < shps.Count; i++)
|
||
// {
|
||
// var _item = shps[i];
|
||
// _item.gid = _gid + i;
|
||
// }
|
||
|
||
// db.Insertable(shps).ExecuteCommand();
|
||
|
||
// //新增修改图片
|
||
// //先删除,后新增
|
||
// db.Deleteable<Sugar_Drone_files>().Where(c => c.relid == model.Id).ExecuteCommand();
|
||
// db.Insertable(files).ExecuteCommand();
|
||
|
||
// //关联案件
|
||
// //先删除后新增
|
||
// db.Deleteable<Sugar_Drone_caseinfo_relation>().Where(c => c.caseid == model.Id).ExecuteCommand();
|
||
// db.Insertable(relations).ExecuteCommand();
|
||
|
||
// //案件标签
|
||
// //先删除后新增
|
||
// db.Deleteable<Sugar_Drone_caseinfo_tag>().Where(a => a.caseid == model.Id).ExecuteCommand();
|
||
// db.Insertable(tags).ExecuteCommand();
|
||
// }
|
||
// });
|
||
|
||
// if (transFlag.IsSuccess)
|
||
// return "同步成功";
|
||
// else
|
||
// throw new Exception("同步失败");
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 关闭案件(判读用)
|
||
///// </summary>
|
||
///// <param name="id"></param>
|
||
///// <returns></returns>
|
||
//public string CloseDroneCaseInfo(string id)
|
||
//{
|
||
// var user = _auth.GetCurrentUser().User;
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var flag = db.Updateable<Sugar_Drone_caseinfo>()
|
||
// .SetColumns(c => new Sugar_Drone_caseinfo
|
||
// {
|
||
// is_intact = 99,
|
||
// close_time = DateTime.Now,
|
||
// close_user = user.Name,
|
||
// close_userid = user.Id
|
||
// })
|
||
// .Where(c => c.Id == id)
|
||
// .ExecuteCommand();
|
||
|
||
// if (flag > 0)
|
||
// return "关闭成功";
|
||
// else
|
||
// throw new Exception("关闭失败");
|
||
// }
|
||
//}
|
||
|
||
|
||
///// <summary>
|
||
///// 关闭案件(审核用)
|
||
///// </summary>
|
||
///// <param name="id"></param>
|
||
///// <param name="close_comments"></param>
|
||
///// <returns></returns>
|
||
//public string CloseDroneCaseInfos(string id, string close_comments)
|
||
//{
|
||
// var user = _auth.GetCurrentUser().User;
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var info = db.Queryable<Sugar_Drone_caseinfo>().Where(r => r.Id == id).First();
|
||
// if (info != null)
|
||
// {
|
||
// if (info.is_review == 1 && info.is_agree == true)
|
||
// {
|
||
// throw new Exception("案件已审核"); ;
|
||
// }
|
||
// else
|
||
// {
|
||
// var flag = db.Updateable<Sugar_Drone_caseinfo>()
|
||
// .SetColumns(c => new Sugar_Drone_caseinfo
|
||
// {
|
||
// is_intact = 99,
|
||
// close_time = DateTime.Now,
|
||
// close_user = user.Name,
|
||
// close_userid = user.Id,
|
||
// close_comments = close_comments
|
||
// })
|
||
// .Where(c => c.Id == id)
|
||
// .ExecuteCommand();
|
||
|
||
// if (flag > 0)
|
||
// return "关闭成功";
|
||
// else
|
||
// throw new Exception("关闭失败");
|
||
// }
|
||
// }
|
||
// else
|
||
// {
|
||
// throw new Exception("案件不存在");
|
||
// }
|
||
// }
|
||
//}
|
||
///// <summary>
|
||
///// 审核通过
|
||
///// </summary>
|
||
///// <param name="id"></param>
|
||
///// <returns></returns>
|
||
//public string VerifyCaseInfoSuccess(string id)
|
||
//{
|
||
// var user = _auth.GetCurrentUser().User;
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var flag = db.Updateable<Sugar_Drone_caseinfo>()
|
||
// .SetColumns(c => new Sugar_Drone_caseinfo()
|
||
// {
|
||
// handle_status_id = 2,
|
||
// handle_status_name = "已办结",
|
||
// verifyuserid = user.Id,
|
||
// verifyuser = user.Name,
|
||
// verifytime = DateTime.Now
|
||
// })
|
||
// .Where(c => c.Id == id)
|
||
// .ExecuteCommand();
|
||
|
||
// if (flag > 0)
|
||
// return "审核成功";
|
||
// else
|
||
// return "审核失败";
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 审核改进
|
||
///// </summary>
|
||
///// <param name="req"></param>
|
||
///// <returns></returns>
|
||
//public string VerifyCaseInfoFailed(AddOrUpdateVerifyCaseSuccessReq req)
|
||
//{
|
||
// var user = _auth.GetCurrentUser().User;
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var caseInfo = db.Queryable<Sugar_Drone_caseinfo>().Where(c => c.Id == req.id).First();
|
||
// //处理状态名称
|
||
// string handle_status_name = handleStatusList.Where(c => c.id == 0).FirstOrDefault().name;
|
||
|
||
// Sugar_Drone_message message = new Sugar_Drone_message();
|
||
// message.Init(user);
|
||
// //消息通知
|
||
// message.msg_type = 1;
|
||
// message.msg_title = $"案件编号:{caseInfo.case_no} 需要改进处理";
|
||
// message.msg_content = $"案件编号:{caseInfo.case_no} 需要改进处理。备注:{req.remark}";
|
||
|
||
// Sugar_Drone_message_relevance relevance = new Sugar_Drone_message_relevance();
|
||
// relevance.Init(user);
|
||
// relevance.userid = caseInfo.deal_userid;
|
||
// relevance.username = caseInfo.deal_username;
|
||
// relevance.messageid = message.Id;
|
||
|
||
// Sugar_Drone_improve_record record = new Sugar_Drone_improve_record();
|
||
// record.Id = Guid.NewGuid().ToString();
|
||
// record.reason = req.remark;
|
||
// record.caseid = caseInfo.Id;
|
||
// record.deal_userid = caseInfo.deal_userid;
|
||
// record.receiver = caseInfo.deal_username;
|
||
// record.createtime = DateTime.Now;
|
||
// record.createuser = user.Id;
|
||
|
||
|
||
|
||
// //使用事务提交数据
|
||
// var transFlag = db.UseTran(() =>
|
||
// {
|
||
// //更改案件处理状态
|
||
// var flag = db.Updateable<Sugar_Drone_caseinfo>().SetColumns(c => new Sugar_Drone_caseinfo()
|
||
// {
|
||
// handle_status_id = 0, //改成未办理0
|
||
// handle_status_name = "退回未办理",//未办理
|
||
// is_improve = 1, //是否改进
|
||
// improve_reason = req.remark //改进原因
|
||
// }).Where(c => c.Id == req.id).ExecuteCommand();
|
||
|
||
// //插入改进记录
|
||
// var recordFlag = db.Insertable(record).ExecuteCommand();
|
||
|
||
// //插入通知和关联
|
||
// var flag1 = db.Insertable(message).ExecuteCommand();
|
||
// var flag2 = db.Insertable(relevance).ExecuteCommand();
|
||
// });
|
||
|
||
// if (transFlag.IsSuccess)
|
||
// return "成功";
|
||
// else
|
||
// throw new Exception("失败");
|
||
|
||
// }
|
||
// return "";
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 上报事件
|
||
///// </summary>
|
||
///// <param name="req"></param>
|
||
///// <returns></returns>
|
||
//public string AddCaseEvent(AddOrUpdateDroneCaseEventReq req)
|
||
//{
|
||
// var _user = _auth.GetCurrentUser().User;
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// Sugar_Drone_caseinfo model = new Sugar_Drone_caseinfo();
|
||
// model.Id = Guid.NewGuid().ToString();
|
||
// model.lat = req.lat;
|
||
// model.lng = req.lng;
|
||
// model.remark = req.remark;
|
||
|
||
// var picList = req.pic_list;//图片
|
||
|
||
// List<Sugar_Drone_files> filesList = new List<Sugar_Drone_files>();
|
||
|
||
// //图片
|
||
// for (int i = 0; i < picList.Count; i++)
|
||
// {
|
||
// Sugar_Drone_files fileModel = new Sugar_Drone_files();
|
||
// fileModel.Id = Guid.NewGuid().ToString();
|
||
// fileModel.path = picList[i];
|
||
// fileModel.type = 0;
|
||
// fileModel.tablename = "drone_caseinfo";
|
||
// fileModel.createtime = DateTime.Now;
|
||
// fileModel.createuser = _user.Id;
|
||
// fileModel.createusername = _user.Name;
|
||
// fileModel.is_delete = 0;
|
||
// fileModel.relid = model.Id;
|
||
|
||
// filesList.Add(fileModel);
|
||
|
||
// }
|
||
// //使用事务提交数据
|
||
// var transFlag = db.UseTran(() =>
|
||
// {
|
||
// //新增案件数据
|
||
// db.Insertable(model).InsertColumns(c => new
|
||
// {
|
||
// c.Id,
|
||
// c.lat,
|
||
// c.lng,
|
||
// c.remark
|
||
// }).ExecuteCommand();
|
||
|
||
// //新增文件数据
|
||
// db.Insertable(filesList).ExecuteCommand();
|
||
// });
|
||
// if (transFlag.IsSuccess)
|
||
// return model.Id;
|
||
// else
|
||
// throw new Exception("上报失败");
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 上报案件-分配给自己临时接口
|
||
///// </summary>
|
||
///// <param name="req"></param>
|
||
///// <returns></returns>
|
||
//public string AddTemporaryDroneCaseInfo(AddOrUpdateDroneCaseInfoReq req)
|
||
//{
|
||
// var user = _auth.GetCurrentUser().User;
|
||
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// //案件实体
|
||
// var model = req.info;
|
||
// model.Init(user, db);
|
||
|
||
// var picList = req.pic_list;
|
||
// var videoList = req.video_list;
|
||
|
||
// List<Sugar_Drone_files> filesList = new List<Sugar_Drone_files>();
|
||
// //图片
|
||
// for (int i = 0; i < picList.Count; i++)
|
||
// {
|
||
// Sugar_Drone_files fileModel = new Sugar_Drone_files();
|
||
// fileModel.Id = Guid.NewGuid().ToString();
|
||
// fileModel.path = picList[i];
|
||
// fileModel.type = 0;
|
||
// fileModel.tablename = "drone_caseinfo";
|
||
// fileModel.createtime = DateTime.Now;
|
||
// fileModel.createuser = user.Id;
|
||
// fileModel.createusername = user.Name;
|
||
// fileModel.is_delete = 0;
|
||
// fileModel.relid = model.Id;
|
||
|
||
// filesList.Add(fileModel);
|
||
// }
|
||
|
||
// //视频
|
||
// for (int i = 0; i < videoList.Count; i++)
|
||
// {
|
||
// Sugar_Drone_files fileModel = new Sugar_Drone_files();
|
||
// fileModel.Id = Guid.NewGuid().ToString();
|
||
// fileModel.path = videoList[i];
|
||
// fileModel.type = 1;
|
||
// fileModel.tablename = "drone_caseinfo";
|
||
// fileModel.createtime = DateTime.Now;
|
||
// fileModel.createuser = user.Id;
|
||
// fileModel.createusername = user.Name;
|
||
// fileModel.is_delete = 0;
|
||
// fileModel.relid = model.Id;
|
||
|
||
// filesList.Add(fileModel);
|
||
// }
|
||
|
||
// //分配案件//将处理人分配给自己
|
||
// //StringBuilder deal_userid = new StringBuilder();
|
||
// //StringBuilder deal_username = new StringBuilder();
|
||
// //deal_userid.AppendFormat("{0},", user.Id);
|
||
// //deal_username.AppendFormat("{0},", user.Name);
|
||
|
||
// ////去除最后一个逗号
|
||
// //if (deal_userid.Length > 0)
|
||
// //{
|
||
// // deal_userid.Remove(deal_userid.Length - 1, 1);
|
||
// //}
|
||
|
||
// //去除最后一个逗号
|
||
// //if (deal_username.Length > 0)
|
||
// //{
|
||
// // deal_username.Remove(deal_username.Length - 1, 1);
|
||
// //}
|
||
|
||
// //model.deal_userid = deal_userid.ToString();
|
||
// //model.deal_username = deal_username.ToString();
|
||
|
||
|
||
// //使用事务提交数据
|
||
// var transFlag = db.UseTran(() =>
|
||
// {
|
||
// //新增案件数据
|
||
// db.Insertable(model).ExecuteCommand();
|
||
|
||
// //新增文件数据
|
||
// db.Insertable(filesList).ExecuteCommand();
|
||
// });
|
||
|
||
// if (transFlag.IsSuccess)
|
||
// return req.info.Id;
|
||
// else
|
||
// throw new Exception("上报失败");
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 分配案件
|
||
///// </summary>
|
||
///// <param name="req"></param>
|
||
///// <returns></returns>
|
||
//public string AllotDroneEnforcement(AddOrUpdateAllotDroneCaseInfoReq req)
|
||
//{
|
||
// //案件id列表
|
||
// var caseidList = req.caseid_list;
|
||
// //用户id列表
|
||
// var useridList = req.user_list;
|
||
|
||
// //当前用户
|
||
// var user = _auth.GetCurrentUser().User;
|
||
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// //案件列表
|
||
// var caseList = db.Queryable<Sugar_Drone_caseinfo>().Where(c => caseidList.Contains(c.Id)).ToList();
|
||
// //用户列表
|
||
// var userList = db.Queryable<Sugar_Users>().Where(c => useridList.Contains(c.Id)).ToList();
|
||
|
||
// //用户id和名称 字符串
|
||
// StringBuilder useridStr = new StringBuilder();
|
||
// StringBuilder usernameStr = new StringBuilder();
|
||
|
||
// //遍历用户,组装字符串
|
||
// for (int i = 0; i < userList.Count; i++)
|
||
// {
|
||
// var item = userList[i];
|
||
|
||
// useridStr.AppendFormat("{0},", item.Id);
|
||
// usernameStr.AppendFormat("{0},", item.Name);
|
||
// }
|
||
|
||
// //处理状态
|
||
// int? handle_status_id = req.handle_status_id;
|
||
// string handle_status_name = string.Empty;
|
||
// if (handle_status_id != null)
|
||
// {
|
||
// handle_status_name = handleStatusList.Where(c => c.id == handle_status_id).FirstOrDefault().name;
|
||
// }
|
||
|
||
// //遍历案件,批量赋值 执行人
|
||
// for (int i = 0; i < caseList.Count; i++)
|
||
// {
|
||
// var item = caseList[i];
|
||
|
||
// item.deal_userid = useridStr.ToString();
|
||
// item.deal_username = usernameStr.ToString();
|
||
// if (handle_status_id != null)
|
||
// {
|
||
// item.handle_status_id = handle_status_id;
|
||
// item.handle_status_name = handle_status_name;
|
||
// }
|
||
// }
|
||
|
||
// var flag = db.Updateable(caseList).UpdateColumns(c => new
|
||
// {
|
||
// c.deal_userid,
|
||
// c.deal_username,
|
||
// c.handle_status_id,
|
||
// c.handle_status_name,
|
||
// }).ExecuteCommand();
|
||
|
||
// if (flag > 0)
|
||
// {
|
||
// return "分配成功";
|
||
// }
|
||
// else
|
||
// {
|
||
// return "分配失败";
|
||
// }
|
||
// }
|
||
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 查询案件列表
|
||
///// </summary>
|
||
///// <param name="req"></param>
|
||
///// <returns></returns>
|
||
//public TableData LoadCaseInfoList(QueryCaseInfoListReq req)
|
||
//{
|
||
// TableData tableData = new TableData();
|
||
|
||
// req.Init();
|
||
|
||
// DateTime curDatetime = DateTime.Now;
|
||
|
||
// var user = _auth.GetCurrentUser().User;
|
||
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// //更新已超期的数据
|
||
// //var statusModel = db.Queryable<Sugar_Category>().Where(c => c.DtCode == "DRONE_CASE_STATUS_OVERDUE").First();
|
||
// //if (statusModel != null)
|
||
// //{
|
||
// // var flag = db.Updateable<Sugar_Drone_caseinfo>()
|
||
// // .SetColumns(c => new Sugar_Drone_caseinfo { case_status_name = statusModel.Name, case_status_id = statusModel.Id })
|
||
// // .Where(c => c.end_time != null && c.end_time < curDatetime && c.case_status_id != statusModel.Id)
|
||
// // .ExecuteCommand();
|
||
// //}
|
||
|
||
// //总条数
|
||
// int totalNumber = 0;
|
||
|
||
// var oldIntacts = new List<int?> { 1, 99, 6 };
|
||
|
||
// var list = db.Queryable<Sugar_Drone_caseinfo>().Where("(is_delete = 0 or is_delete is null)")
|
||
// //关键字过滤数据
|
||
// .WhereIF(!string.IsNullOrEmpty(req.key), c => c.case_no.Contains(req.key) || c.case_name.Contains(req.key) || c.case_description.Contains(req.key))
|
||
// //是否完整
|
||
// //.WhereIF(req.is_intact != null && req.is_intact != 0, c => c.is_intact == req.is_intact)
|
||
// //已判读、已关闭
|
||
// .WhereIF(req.is_intact != null && oldIntacts.Contains(req.is_intact), c => c.is_intact == req.is_intact)
|
||
// //未判读
|
||
// .WhereIF(req.is_intact == 0, c => c.is_intact == null || c.is_intact == 0)
|
||
// //已审核
|
||
// .WhereIF(req.is_intact == 2, c => c.is_review == 1)
|
||
// //已通过
|
||
// .WhereIF(req.is_intact == 3, c => c.is_review == 1 && c.is_agree == true && c.is_intact == 1)
|
||
// //未通过
|
||
// .WhereIF(req.is_intact == 4, c => c.is_review == 1 && c.is_agree == false && c.is_intact == 1)
|
||
// //上报人
|
||
// .WhereIF(req.is_reporter == 1 && user.Account != Define.SYSTEM_USERNAME, c => c.createuser == user.Id)
|
||
// //执行人
|
||
// .WhereIF(req.is_dealer == 1 && user.Account != Define.SYSTEM_USERNAME, c => SqlFunc.Subqueryable<Sugar_Relevance>().Where(it => it.SecondId == c.communityid && it.FirstId == user.Id && it.Key == Define.USERORG).Any()
|
||
// || SqlFunc.Subqueryable<Sugar_Relevance>().Where(it => it.SecondId == c.streetid && it.FirstId == user.Id && it.Key == Define.USERORG).Any()
|
||
// || SqlFunc.Subqueryable<Sugar_Relevance>().Where(it => it.SecondId == c.countyid && it.FirstId == user.Id && it.Key == Define.USERORG).Any()
|
||
// || c.createuser == user.Id)
|
||
// //处理状态
|
||
// .WhereIF(req.handle_status_id != null, c => c.handle_status_id == req.handle_status_id)
|
||
// //案件状态
|
||
// .WhereIF(!string.IsNullOrEmpty(req.case_status_id), c => c.case_status_id == req.case_status_id)
|
||
// //开始时间
|
||
// .WhereIF(req.report_start_time != null, c => c.createtime >= req.report_start_time)
|
||
// //结束时间
|
||
// .WhereIF(req.report_end_time != null, c => c.createtime <= req.report_end_time)
|
||
// //上报人
|
||
// .WhereIF(!string.IsNullOrEmpty(req.report_name), c => c.createusername.Contains(req.report_name))
|
||
// //执行人
|
||
// .WhereIF(!string.IsNullOrEmpty(req.deal_username), c => c.deal_username.Contains(req.deal_username))
|
||
// //判读开始时间
|
||
// .WhereIF(req.identification_start_time != null, c => c.identification_time >= req.identification_start_time)
|
||
// //判读结束时间
|
||
// .WhereIF(req.identification_end_time != null, c => c.identification_time <= req.identification_end_time)
|
||
// //县id
|
||
// .WhereIF(!string.IsNullOrEmpty(req.countyid), c => c.countyid == req.countyid)
|
||
// //镇id
|
||
// .WhereIF(!string.IsNullOrEmpty(req.streetid), c => c.streetid == req.streetid)
|
||
// //村id
|
||
// .WhereIF(!string.IsNullOrEmpty(req.communityid), c => c.communityid == req.communityid)
|
||
// //判读人id
|
||
// //.WhereIF(!string.IsNullOrEmpty(req.identification_userid), c => c.identification_userid == req.identification_userid)
|
||
// //判读人查看创建人或者判读人是自己的,或者判读人是空的
|
||
// .WhereIF(!string.IsNullOrEmpty(req.identification_userid) && user.Account != Define.SYSTEM_USERNAME,
|
||
// c => c.identification_userid == req.identification_userid || c.createuser == req.identification_userid || SqlFunc.IsNullOrEmpty(req.identification_userid))
|
||
// //判读人
|
||
// .WhereIF(!string.IsNullOrEmpty(req.identification_user), c => c.identification_user == req.identification_user)
|
||
// //判读人账号
|
||
// .WhereIF(!string.IsNullOrEmpty(req.identification_account), c => SqlFunc.Subqueryable<Sugar_Users>().Where(it => c.identification_userid == it.Id && it.Account == req.identification_account).Any())
|
||
// //是否违法
|
||
// .WhereIF(req.is_illegal != null, c => c.is_illegal == req.is_illegal)
|
||
// //是否判读审核
|
||
// .WhereIF(req.is_review != null, c => c.is_review == req.is_review)
|
||
// //审核判读数据权限过滤
|
||
// .WhereIF(req.is_Reviewer == 1 && user.Account != Define.SYSTEM_USERNAME, c => SqlFunc.Subqueryable<Sugar_Relevance>().Where(it => it.SecondId == user.Id && it.FirstId == c.identification_userid && it.Key == Define.UserAndUser).Any())
|
||
// //村名称
|
||
// .WhereIF(!string.IsNullOrEmpty(req.communityname), c => c.communityname.Contains(req.communityname))
|
||
// //案件编号
|
||
// .WhereIF(!string.IsNullOrEmpty(req.case_no), c => c.case_no.Contains(req.case_no))
|
||
// //案件类型
|
||
// .WhereIF(!string.IsNullOrEmpty(req.typeid), c => c.typeid == req.typeid || c.sec_typeid == req.typeid || c.thr_typeid == req.typeid)
|
||
// //地址
|
||
// .WhereIF(!string.IsNullOrEmpty(req.address), c => c.address.Contains(req.address))
|
||
// //案件描述
|
||
// .WhereIF(!string.IsNullOrEmpty(req.case_description), c => c.case_description.Contains(req.case_description))
|
||
// //排序
|
||
// .OrderBy(c => c.createtime, OrderByType.Desc)
|
||
// //分页查询数据
|
||
// .ToPageList(req.page, req.limit, ref totalNumber);
|
||
|
||
// tableData.data = list;
|
||
// tableData.count = totalNumber;
|
||
|
||
// return tableData;
|
||
// }
|
||
//}
|
||
|
||
|
||
///// <summary>
|
||
///// 查询已审核案件列表
|
||
///// </summary>
|
||
///// <param name="req"></param>
|
||
///// <returns></returns>
|
||
//public TableData LoadExaminedCaseInfo(QueryCaseInfoListReq req)
|
||
//{
|
||
// TableData tableData = new TableData();
|
||
|
||
// req.Init();
|
||
|
||
// DateTime curDatetime = DateTime.Now;
|
||
|
||
// var user = _auth.GetCurrentUser().User;
|
||
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// //总条数
|
||
// int totalNumber = 0;
|
||
|
||
// var oldIntacts = new List<int?> { 1, 99 };
|
||
|
||
// var list = db.Queryable<Sugar_Drone_caseinfo>().Where("(is_delete = 0 or is_delete is null)")
|
||
// //关键字过滤数据
|
||
// .WhereIF(!string.IsNullOrEmpty(req.key), c => c.case_no.Contains(req.key) || c.case_name.Contains(req.key) || c.case_description.Contains(req.key))
|
||
// //是否完整
|
||
// //.WhereIF(req.is_intact != null && req.is_intact != 0, c => c.is_intact == req.is_intact)
|
||
// //已判读、已关闭
|
||
// .WhereIF(req.is_intact != null && oldIntacts.Contains(req.is_intact), c => c.is_intact == req.is_intact)
|
||
// //未判读
|
||
// .WhereIF(req.is_intact == 0, c => c.is_intact == null || c.is_intact == 0)
|
||
// //已审核
|
||
// .WhereIF(req.is_intact == 2, c => c.is_review == 1)
|
||
// //已通过
|
||
// .WhereIF(req.is_intact == 3, c => c.is_review == 1 && c.is_agree == true)
|
||
// //未通过
|
||
// .WhereIF(req.is_intact == 4, c => c.is_review == 1 && c.is_agree == false)
|
||
// //上报人
|
||
// .WhereIF(req.is_reporter == 1 && user.Account != Define.SYSTEM_USERNAME, c => c.createuser == user.Id)
|
||
// //执行人
|
||
// .WhereIF(req.is_dealer == 1 && user.Account != Define.SYSTEM_USERNAME, c => SqlFunc.Subqueryable<Sugar_Relevance>().Where(it => it.SecondId == c.communityid && it.FirstId == user.Id && it.Key == Define.USERORG).Any()
|
||
// || SqlFunc.Subqueryable<Sugar_Relevance>().Where(it => it.SecondId == c.streetid && it.FirstId == user.Id && it.Key == Define.USERORG).Any()
|
||
// || SqlFunc.Subqueryable<Sugar_Relevance>().Where(it => it.SecondId == c.countyid && it.FirstId == user.Id && it.Key == Define.USERORG).Any()
|
||
// || c.createuser == user.Id)
|
||
// //处理状态
|
||
// .WhereIF(req.handle_status_id != null, c => c.handle_status_id == req.handle_status_id)
|
||
// //案件状态
|
||
// .WhereIF(!string.IsNullOrEmpty(req.case_status_id), c => c.case_status_id == req.case_status_id)
|
||
// //开始时间
|
||
// .WhereIF(req.report_start_time != null, c => c.createtime >= req.report_start_time)
|
||
// //结束时间
|
||
// .WhereIF(req.report_end_time != null, c => c.createtime <= req.report_end_time)
|
||
// //上报人
|
||
// .WhereIF(!string.IsNullOrEmpty(req.report_name), c => c.createusername.Contains(req.report_name))
|
||
// //执行人
|
||
// .WhereIF(!string.IsNullOrEmpty(req.deal_username), c => c.deal_username.Contains(req.deal_username))
|
||
// //判读开始时间
|
||
// .WhereIF(req.identification_start_time != null, c => c.identification_time >= req.identification_start_time)
|
||
// //判读结束时间
|
||
// .WhereIF(req.identification_end_time != null, c => c.identification_time <= req.identification_end_time)
|
||
// //县id
|
||
// .WhereIF(!string.IsNullOrEmpty(req.countyid), c => c.countyid == req.countyid)
|
||
// //镇id
|
||
// .WhereIF(!string.IsNullOrEmpty(req.streetid), c => c.streetid == req.streetid)
|
||
// //村id
|
||
// .WhereIF(!string.IsNullOrEmpty(req.communityid), c => c.communityid == req.communityid)
|
||
// //判读人id
|
||
// //.WhereIF(!string.IsNullOrEmpty(req.identification_userid), c => c.identification_userid == req.identification_userid)
|
||
// //判读人查看创建人或者判读人是自己的,或者判读人是空的
|
||
// .WhereIF(!string.IsNullOrEmpty(req.identification_userid) && user.Account != Define.SYSTEM_USERNAME,
|
||
// c => c.identification_userid == req.identification_userid || c.createuser == req.identification_userid || SqlFunc.IsNullOrEmpty(req.identification_userid))
|
||
// //判读人
|
||
// .WhereIF(!string.IsNullOrEmpty(req.identification_user), c => c.identification_user == req.identification_user)
|
||
// //判读人账号
|
||
// .WhereIF(!string.IsNullOrEmpty(req.identification_account), c => SqlFunc.Subqueryable<Sugar_Users>().Where(it => c.identification_userid == it.Id && it.Account == req.identification_account).Any())
|
||
// //是否违法
|
||
// .WhereIF(req.is_illegal != null, c => c.is_illegal == req.is_illegal)
|
||
// //是否判读审核
|
||
// .WhereIF(req.is_review != null, c => c.is_review == req.is_review)
|
||
// //审核判读数据权限过滤
|
||
// .WhereIF(req.is_Reviewer == 1 && user.Account != Define.SYSTEM_USERNAME, c => SqlFunc.Subqueryable<Sugar_Relevance>().Where(it => it.SecondId == user.Id && it.FirstId == c.identification_userid && it.Key == Define.UserAndUser).Any())
|
||
// //村名称
|
||
// .WhereIF(!string.IsNullOrEmpty(req.communityname), c => c.communityname.Contains(req.communityname))
|
||
// //案件编号
|
||
// .WhereIF(!string.IsNullOrEmpty(req.case_no), c => c.case_no.Contains(req.case_no))
|
||
// //案件类型
|
||
// .WhereIF(!string.IsNullOrEmpty(req.typeid), c => c.typeid == req.typeid || c.sec_typeid == req.typeid || c.thr_typeid == req.typeid)
|
||
// //地址
|
||
// .WhereIF(!string.IsNullOrEmpty(req.address), c => c.address.Contains(req.address))
|
||
// //案件描述
|
||
// .WhereIF(!string.IsNullOrEmpty(req.case_description), c => c.case_description.Contains(req.case_description))
|
||
// .OrderBy(c => SqlFunc.IsNull(c.examinetime, DateTime.MinValue), OrderByType.Desc)
|
||
|
||
// //排序
|
||
// //.OrderBy(c => c.examinetime, OrderByType.Desc)
|
||
// //分页查询数据
|
||
// .ToPageList(req.page, req.limit, ref totalNumber);
|
||
|
||
// tableData.data = list;
|
||
// tableData.count = totalNumber;
|
||
|
||
// return tableData;
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 加载处理数据列表
|
||
///// </summary>
|
||
///// <param name="obj"></param>
|
||
///// <returns></returns>
|
||
//public TableData LoadDealCaseInfoList(QueryDealCaseInfoListReq obj)
|
||
//{
|
||
// obj.Init();
|
||
// var req = obj.MapTo<QueryCaseInfoListReq>();
|
||
// req.is_intact = 1;
|
||
// req.is_dealer = 1;
|
||
|
||
// //查询列表数据
|
||
// var tbData = LoadCaseInfoList(req);
|
||
// var list = (List<Sugar_Drone_caseinfo>)tbData.data;
|
||
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var caseIdList = list.Select(c => c.Id).ToList();
|
||
|
||
// var picList = db.Queryable<Sugar_Drone_files>().Where(c => caseIdList.Contains(c.relid) && c.type == 0 && c.tablename == "drone_caseinfo").Select(c => new { caseid = c.relid, c.path }).ToList();
|
||
|
||
// List<DroneCaseInfoExt> result = new List<DroneCaseInfoExt>();
|
||
// for (int i = 0; i < list.Count; i++)
|
||
// {
|
||
// var item = list[i];
|
||
// var caseModel = item.MapTo<DroneCaseInfoExt>();
|
||
// caseModel.case_pic_list = picList.Where(c => c.caseid == caseModel.Id).Select(c => c.path).ToList();
|
||
|
||
// result.Add(caseModel);
|
||
// }
|
||
|
||
// TableData tableData = new TableData();
|
||
// tableData.count = tbData.count;
|
||
// tableData.data = result;
|
||
|
||
// return tableData;
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 导出无人机执法案件
|
||
///// </summary>
|
||
///// <param name="obj"></param>
|
||
///// <returns></returns>
|
||
//public string ExportCaseInfoList([FromQuery] QueryDealCaseInfoListReq obj)
|
||
//{
|
||
// obj.Init();
|
||
// var req = obj.MapTo<QueryCaseInfoListReq>();
|
||
// req.is_intact = 1;
|
||
// req.is_dealer = 1;
|
||
// req.page = 1;
|
||
// req.limit = 99999;
|
||
|
||
// //获取到数据转为json字符串,再将字符串转为DataTable
|
||
// string listStr = JsonConvert.SerializeObject(LoadCaseInfoList(req).data);
|
||
// DataTable dt = JsonConvert.DeserializeObject<DataTable>(listStr);
|
||
|
||
// List<string> columnsname = new List<string>()
|
||
// {
|
||
// "Id",
|
||
// "case_no",
|
||
// "typename",
|
||
// "countyname",
|
||
// "streetname",
|
||
// "communityname",
|
||
// "lng",
|
||
// "lat",
|
||
// "case_description",
|
||
// "createusername",
|
||
// "createtime",
|
||
// };
|
||
// List<string> columns = new List<string>()
|
||
// {
|
||
// "案件id",
|
||
// "案件编号",
|
||
// "案件类型",
|
||
// "县",
|
||
// "镇",
|
||
// "村",
|
||
// "经度",
|
||
// "纬度",
|
||
// "案件描述",
|
||
// "上报人",
|
||
// "上报时间",
|
||
// };
|
||
|
||
// //根目录
|
||
// string root = AppDomain.CurrentDomain.BaseDirectory;
|
||
// //保存的项目目录
|
||
// string path = "ExportExcelModel\\" + Guid.NewGuid().ToString() + "\\";
|
||
|
||
// //调用公共方法保存Excel
|
||
// WebApi.Common.ExcelHelper excel = new WebApi.Common.ExcelHelper(root + path + "无人机执法案件.xlsx");
|
||
// excel.CreatExcelSheet("sheet1", dt, columns, columnsname);
|
||
// excel.SaveExcel();
|
||
|
||
// Task.Run(() =>
|
||
// {
|
||
// Thread.Sleep(1000 * 30);
|
||
|
||
// //删除生成的Excel文件
|
||
// if (Directory.Exists(root + path))
|
||
// {
|
||
// Directory.Delete(root + path, true);
|
||
// }
|
||
// });
|
||
|
||
// //返回路径地址
|
||
// return path + "无人机执法案件.xlsx";
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 案件详情
|
||
///// </summary>
|
||
///// <param name="id"></param>
|
||
///// <returns></returns>
|
||
//public AddOrUpdateDroneCaseInfoDataBaseReqExt GetCaseInfo(string id)
|
||
//{
|
||
// AddOrUpdateDroneCaseInfoDataBaseReqExt res = new AddOrUpdateDroneCaseInfoDataBaseReqExt();
|
||
// res.Init();
|
||
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// //详情
|
||
// var info = db.Queryable<Sugar_Drone_caseinfo>().Where(c => c.Id == id).First();
|
||
|
||
// //文件
|
||
// var fileList = db.Queryable<Sugar_Drone_files>().Where(c => c.relid == id && (c.is_delete == null || c.is_delete == 0) && c.tablename == "drone_caseinfo").ToList();
|
||
|
||
// //图片
|
||
// var pic_list = fileList.Where(c => c.type == 0).GroupBy(c => c.path).Select(c => c.Key).ToList();
|
||
// var pics = fileList.Where(c => c.type == 0).ToList();
|
||
|
||
// //视频
|
||
// var video_list = fileList.Where(c => c.type == 1).GroupBy(c => c.path).Select(c => c.Key).ToList();
|
||
// var videos = fileList.Where(c => c.type == 1).ToList();
|
||
|
||
// //历史案件
|
||
// var relationCaseNoList = db.Queryable<Sugar_Drone_caseinfo_relation>().Where(a => a.caseid == id).Select(a => a.relation_case_no).ToList();
|
||
|
||
|
||
// //案件标签
|
||
// //var tags = db.Queryable<Sugar_Drone_caseinfo_tag>()
|
||
// // .LeftJoin<Sugar_Category>((t, c) => t.tagid == c.Id)
|
||
// // .Where((t, c) => t.caseid == id && c.TypeId == "DRONE_CASE_TAG")
|
||
// // .Select((t, c) => c.Name).ToList();
|
||
|
||
// var tags = db.Queryable<Sugar_Drone_caseinfo_tag>()
|
||
// .Where(t => t.caseid == id)
|
||
// .Select(t => t.tagid).ToList();
|
||
|
||
// //图斑的中心点
|
||
// StringBuilder sql = new StringBuilder();
|
||
// sql.AppendFormat($"SELECT st_astext(ST_Centroid(geom)) lnglat FROM \"drone_shp_data\" where relid = '{id}' and geom is not null");
|
||
// var dt = db.Ado.GetDataTable(sql.ToString());
|
||
// if (dt.Rows.Count > 0)
|
||
// {
|
||
// string lngLat = dt.Rows[0]["lnglat"].ToString();
|
||
|
||
// lngLat = lngLat.Replace("POINT(", "").Replace(")", "");
|
||
// var lngLats = lngLat.Split(" ");
|
||
// res.lng = Decimal.Round(Decimal.Parse(lngLats[0]), 6);
|
||
// res.lat = Decimal.Round(Decimal.Parse(lngLats[1]), 6);
|
||
// }
|
||
|
||
// //通过关联表过滤
|
||
// //var database = db.Queryable<Sugar_Database_picture, Sugar_Relevance, Sugar_Drone_caseinfo>((p, r, c) => new JoinQueryInfos(
|
||
// // JoinType.Left, p.Id == r.FirstId,
|
||
// // JoinType.Left, r.SecondId == c.Id
|
||
// // )).
|
||
// // Where((p, r, c) => p.org_id.Contains(info.communityid) && (info.communityid != null || info.communityid != "") && r.SecondId == id && r.Key == Define.DATABASE_CASE)
|
||
// // .Select((p, r, c) => p.Id).ToArray();
|
||
|
||
// //案件平台及专题
|
||
// var databaselist = db.Queryable<Sugar_Drone_CaseSubject>().Where(r => r.CaseId == id)?.Select(r => r.DataBaseId).Distinct().ToList();
|
||
// var subjectkeys = db.Queryable<Sugar_Drone_CaseSubject>().Where(r => r.CaseId == id)?.Select(r => r.SubjectKeys).ToList();
|
||
// List<string> keys = new List<string>();
|
||
// foreach (var item in subjectkeys)
|
||
// {
|
||
// keys = keys.Concat(item.Split(',').ToList()).ToList();
|
||
// }
|
||
|
||
// res.info = info;
|
||
// res.pic_list = pic_list;
|
||
// res.video_list = video_list;
|
||
// res.pics = pics;
|
||
// res.videos = videos;
|
||
// res.relationCaseNo = relationCaseNoList;
|
||
// res.tags = tags;
|
||
// res.databaseid = databaselist.ToArray();
|
||
// res.subjectkeys = keys.Distinct().ToList();
|
||
|
||
// return res;
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 查询案件
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public object LoadCaseInfoData()
|
||
//{
|
||
// var user = _auth.GetCurrentUser().User;
|
||
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var list = db.Queryable<Sugar_Drone_caseinfo>()
|
||
// //是否完整性、是否关闭、是否删除过滤
|
||
// .Where(c => c.is_intact == 1 && (c.is_closed == 0 || c.is_closed == null) && (c.is_delete == 0 || c.is_delete == null))
|
||
// //执行人过滤
|
||
// .WhereIF(user.Account != Define.SYSTEM_USERNAME, c => SqlFunc.Subqueryable<Sugar_Relevance>().Where(it => it.SecondId == c.communityid && it.FirstId == user.Id && it.Key == Define.USERORG).Any()
|
||
// || SqlFunc.Subqueryable<Sugar_Relevance>().Where(it => it.SecondId == c.streetid && it.FirstId == user.Id && it.Key == Define.USERORG).Any()
|
||
// || SqlFunc.Subqueryable<Sugar_Relevance>().Where(it => it.SecondId == c.countyid && it.FirstId == user.Id && it.Key == Define.USERORG).Any()
|
||
// || c.createuser == user.Id)
|
||
// .OrderBy(c => c.createtime, OrderByType.Desc)
|
||
// .Select(c => new { c.Id, c.lng, c.lat, c.case_name, c.handle_status_id })
|
||
// .ToList();
|
||
|
||
// return list;
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 删除案件
|
||
///// </summary>
|
||
///// <param name="ids"></param>
|
||
///// <returns></returns>
|
||
//public string DeleteDroneCaseInfo(string[] ids)
|
||
//{
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var flag = db.Updateable<Sugar_Drone_caseinfo>()
|
||
// .SetColumns(c => new Sugar_Drone_caseinfo { is_delete = 1 })
|
||
// .Where(c => ids.Contains(c.Id))
|
||
// .ExecuteCommand();
|
||
|
||
// if (flag > 0)
|
||
// return "删除成功";
|
||
// else
|
||
// throw new Exception("删除失败");
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 删除文件
|
||
///// </summary>
|
||
///// <param name="ids"></param>
|
||
///// <returns></returns>
|
||
//public string DeleteDroneFiles(string[] ids)
|
||
//{
|
||
// if (ids == null)
|
||
// throw new Exception("ids is null");
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// int flag = -1;
|
||
// flag = db.Updateable<Sugar_Drone_files>()
|
||
// .SetColumns(c => new Sugar_Drone_files { is_delete = 1 })
|
||
// .Where(c => ids.Contains(c.Id))
|
||
// .ExecuteCommand();
|
||
|
||
// if (flag >= 0)
|
||
// return "删除成功";
|
||
// else
|
||
// throw new Exception("删除失败");
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 删除文件 - 通过路径删除
|
||
///// </summary>
|
||
///// <param name="paths"></param>
|
||
///// <returns></returns>
|
||
//public string DeleteDroneFilesByPath(string[] paths)
|
||
//{
|
||
// if (paths == null)
|
||
// throw new Exception("paths is null");
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// int flag = -1;
|
||
// flag = db.Updateable<Sugar_Drone_files>()
|
||
// .SetColumns(c => new Sugar_Drone_files { is_delete = 1 })
|
||
// .Where(c => paths.Contains(c.path))
|
||
// .ExecuteCommand();
|
||
|
||
// if (flag >= 0)
|
||
// return "删除成功";
|
||
// else
|
||
// throw new Exception("删除失败");
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 案件数量统计
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public JObject CaseCountCensus()
|
||
//{
|
||
// //统计相关接口
|
||
// //尽量减少查询数据库数据
|
||
// //查询数据返回值尽量少
|
||
// //数据类型统计使用GroupBy统计count,再进行类型过滤
|
||
|
||
// //当前用户
|
||
// var user = _auth.GetCurrentUser().User;
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// //查询当前用户分配的任务
|
||
// var list = db.Queryable<Sugar_Drone_caseinfo>()
|
||
// //是否完整性、是否删除过滤
|
||
// .Where(c => c.is_intact == 1 && (c.is_delete == 0 || c.is_delete == null))
|
||
// //执行人过滤
|
||
// .WhereIF(user.Account != Define.SYSTEM_USERNAME, c => SqlFunc.Subqueryable<Sugar_Relevance>().Where(it => it.SecondId == c.communityid && it.FirstId == user.Id && it.Key == Define.USERORG).Any()
|
||
// || SqlFunc.Subqueryable<Sugar_Relevance>().Where(it => it.SecondId == c.streetid && it.FirstId == user.Id && it.Key == Define.USERORG).Any()
|
||
// || SqlFunc.Subqueryable<Sugar_Relevance>().Where(it => it.SecondId == c.countyid && it.FirstId == user.Id && it.Key == Define.USERORG).Any()
|
||
// || c.createuser == user.Id)
|
||
// .GroupBy(c => c.handle_status_id)
|
||
// .Select(c => new { c.handle_status_id, count = SqlFunc.AggregateCount(c.Id) })
|
||
// .ToList();
|
||
|
||
// //统计数量
|
||
// JObject obj = new JObject();
|
||
// obj.Add("total", list.Sum(c => c.count));
|
||
// obj.Add("status0", list.Where(c => c.handle_status_id == 0).Sum(c => c.count));
|
||
// obj.Add("status1", list.Where(c => c.handle_status_id == 1).Sum(c => c.count));
|
||
// obj.Add("status2", list.Where(c => c.handle_status_id == 2).Sum(c => c.count));
|
||
|
||
// return obj;
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 案件导出
|
||
///// </summary>
|
||
///// <param name="id"></param>
|
||
///// <returns></returns>
|
||
//public string DroneCaseInfoExport(string id)
|
||
//{
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var model = GetCaseInfo(id);
|
||
// var info = model.info;
|
||
|
||
// Dictionary<string, object> dic = new Dictionary<string, object>();
|
||
// dic.Add("CASE_NO", info.case_no);
|
||
// dic.Add("CREATEUSERNAME", info.createusername);
|
||
// dic.Add("ADDRESS", info.address);
|
||
// dic.Add("LNG", info.lng);
|
||
// dic.Add("LAT", info.lat);
|
||
// dic.Add("DEAL_USERNAME", info.deal_username);
|
||
// dic.Add("HANDLE_STATUS_NAME", info.handle_status_name);
|
||
// dic.Add("CASE_DESCRIPTION", info.case_description);
|
||
// dic.Add("CREATETIME", info.createtime);
|
||
// var root = AppDomain.CurrentDomain.BaseDirectory;
|
||
|
||
// string pathGuid = Guid.NewGuid().ToString();
|
||
// var out_path = "ExportWordModel\\" + pathGuid + "\\drone_enforcement.docx";
|
||
// if (!Directory.Exists(root + "ExportWordModel\\" + pathGuid))
|
||
// {
|
||
// Directory.CreateDirectory(root + "ExportWordModel\\" + pathGuid);
|
||
// }
|
||
|
||
// WordHelper.Export(root + "ExportWordModel\\drone_enforcement.docx", root + out_path, dic);
|
||
|
||
// NPOI.XWPF.UserModel.XWPFDocument doc = null;
|
||
|
||
// //打开文件
|
||
// using (var stream = File.OpenRead(root + out_path))
|
||
// {
|
||
// doc = new NPOI.XWPF.UserModel.XWPFDocument(stream);//创建一个word文档
|
||
// }
|
||
// out_path = "ExportWordModel\\" + pathGuid + "\\drone_enforcement_n.docx";
|
||
|
||
// string picFilePath = _configuration.GetSection("PictureFilesPath").Value;
|
||
|
||
// //表格
|
||
// var table = doc.Tables[0];
|
||
// //列
|
||
// var cell = table.Rows[4].GetCell(1);
|
||
|
||
// foreach (var para in cell.Paragraphs)
|
||
// {
|
||
// var runs = para.Runs;
|
||
// foreach (var gr in runs)
|
||
// {
|
||
// var text = gr.Text;
|
||
// gr.ReplaceText("#PICLIST#", "");
|
||
|
||
// var picList = db.Queryable<Sugar_Drone_files>().Where(c => c.relid == id).Select(c => c.path).ToList();
|
||
// foreach (var item in picList)
|
||
// {
|
||
// if (!File.Exists(picFilePath + item))
|
||
// continue;
|
||
// //图片路径
|
||
// Image image = Image.FromFile(picFilePath + item);
|
||
// //添加图片
|
||
// gr.AddPicture(ImageHelper.ImgToStream(image), (int)PictureType.PNG, Guid.NewGuid().ToString() + ".png", image.Width * 800, image.Height * 800);
|
||
// }
|
||
|
||
// break;
|
||
// }
|
||
// }
|
||
// using (FileStream fs = new FileStream(root + out_path, FileMode.OpenOrCreate, FileAccess.Write))
|
||
// {
|
||
// doc.Write(fs);
|
||
// Console.WriteLine("生成word成功");
|
||
// }
|
||
|
||
// Task.Run(() =>
|
||
// {
|
||
// //过一分钟后把文件夹删除
|
||
// Thread.Sleep(1000 * 30);
|
||
// Directory.Delete(root + "ExportWordModel\\" + pathGuid, true);
|
||
// });
|
||
|
||
// return out_path;
|
||
// }
|
||
//}
|
||
|
||
//#endregion
|
||
|
||
//#region 通知
|
||
|
||
///// <summary>
|
||
///// 查询所有通信信息
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public TableData LoadMessageList(QueryDroneCaseinfoReq req)
|
||
//{
|
||
// var user = _auth.GetCurrentUser().User;
|
||
// TableData tableData = new TableData();
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// int totalCount = 0;
|
||
|
||
// var listPage = new List<Sugar_Drone_message>();
|
||
|
||
// if (user.Account == Define.SYSTEM_USERNAME)
|
||
// {
|
||
// //超级管理员 看到全部通知
|
||
// listPage = db.Queryable<Sugar_Drone_message>().Where(c => c.is_delete == 0 || c.is_delete == null)
|
||
// //根据标题过滤
|
||
// .WhereIF(!string.IsNullOrEmpty(req.msg_title), c => c.msg_title.Contains(req.msg_title))
|
||
// //通知类型过滤
|
||
// .WhereIF(req.msg_type != null, c => c.msg_type == req.msg_type)
|
||
// //排序
|
||
// .OrderBy(c => c.createtime, OrderByType.Desc)
|
||
// //分页
|
||
// .ToPageList(req.page, req.limit, ref totalCount);
|
||
// }
|
||
// else
|
||
// {
|
||
// listPage = db.Queryable<Sugar_Drone_message>().Where(c => c.is_delete == 0 || c.is_delete == null)
|
||
// //根据标题过滤
|
||
// .WhereIF(!string.IsNullOrEmpty(req.msg_title), c => c.msg_title.Contains(req.msg_title))
|
||
// //创建人过滤
|
||
// .WhereIF(req.is_create == 1, c => c.createuser == user.Id)
|
||
// //接收人过滤
|
||
// .WhereIF(req.is_receiver == 1, c => SqlFunc.Subqueryable<Sugar_Drone_message_relevance>().Where(it => it.messageid == c.Id && it.userid == user.Id).Any())
|
||
// //通知类型过滤
|
||
// .WhereIF(req.msg_type != null, c => c.msg_type == req.msg_type)
|
||
// //排序
|
||
// .OrderBy(c => c.createtime, OrderByType.Desc)
|
||
// //分页
|
||
// .ToPageList(req.page, req.limit, ref totalCount);
|
||
// }
|
||
|
||
// var relList = db.Queryable<Sugar_Drone_message_relevance>().Where(c => c.userid == user.Id).Select(c => new { c.is_read, c.messageid }).ToList();
|
||
|
||
// JToken jTokenList = listPage.ToJson().ToJToken();
|
||
|
||
// for (int i = 0; i < jTokenList.Count(); i++)
|
||
// {
|
||
// var item = jTokenList[i];
|
||
// string messageid = item["Id"].ToString();
|
||
// var _relItem = relList.Where(c => c.messageid == messageid).FirstOrDefault();
|
||
|
||
// int? is_read = 0;
|
||
|
||
// if (_relItem != null)
|
||
// {
|
||
// is_read = _relItem.is_read;
|
||
// }
|
||
// item["is_read"] = is_read;
|
||
// }
|
||
|
||
// tableData.count = totalCount;
|
||
// tableData.data = jTokenList;
|
||
|
||
// return tableData;
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 查询通知信息详情
|
||
///// </summary>
|
||
///// <param name="id">通知信息id</param>
|
||
///// <returns></returns>
|
||
//public Sugar_Drone_message LoadMessage(string id)
|
||
//{
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// return db.Queryable<Sugar_Drone_message>().Where(c => c.Id == id).First();
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 根据权限查看通知详情
|
||
///// </summary>
|
||
///// <param name="id"></param>
|
||
///// <returns></returns>
|
||
//public Sugar_Drone_message LoadMessageUser(string id)
|
||
//{
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var model = db.Queryable<Sugar_Drone_message_relevance, Sugar_Users>((r, u) => new JoinQueryInfos(
|
||
// JoinType.Left, r.userid == u.Id
|
||
// ))
|
||
// .Where(c => c.messageid == id).Select((r, u) => new
|
||
// {
|
||
// r.userid,
|
||
// r.username
|
||
// }).ToList();
|
||
// return db.Queryable<Sugar_Drone_message>().Where(c => c.Id == id).First();
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 添加通知消息
|
||
///// </summary>
|
||
///// <param name="req"></param>
|
||
///// <returns></returns>
|
||
//public string AddMessage(QueryDroneCaseRecipientUserReq req)
|
||
//{
|
||
// var _user = _auth.GetCurrentUser().User;
|
||
|
||
// var model = req.MapTo<Sugar_Drone_message>();
|
||
// model.Init(_user);
|
||
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// //关联表数据
|
||
// List<Sugar_Drone_message_relevance> relevanceList = new List<Sugar_Drone_message_relevance>();
|
||
|
||
// //过滤条件:三表联合过滤
|
||
// //Sugar_Relevance 用到角色过滤
|
||
// //Sugar_Org 用到组织机构编码过滤
|
||
// //不使用SqlFunc.SubQeury过滤是因为组织机构向级联查询Id过多,会导致Sql长度过大引起查询失效
|
||
// Expressionable<Sugar_Users, Sugar_Relevance, Sugar_Org> exp = new Expressionable<Sugar_Users, Sugar_Relevance, Sugar_Org>();
|
||
|
||
// exp.And((c, d, e) => false)
|
||
// //角色过滤
|
||
// .OrIF(req.roles.Length > 0, (c, d, e) => req.roles.Contains(d.SecondId) && d.Key == "UserRole")
|
||
// //用户过滤
|
||
// .OrIF(req.recipientUserId.Length > 0, (c, d, e) => req.recipientUserId.Contains(c.Id))
|
||
// //发送给所有人
|
||
// .OrIF(req.is_all == 1, (c, d, e) => c.Id != null);
|
||
|
||
// //查询组织机构编码
|
||
// var orgList = db.Queryable<Sugar_Org>().Where(c => req.orgs.Contains(c.Id)).Select(c => c.CascadeId).ToList();
|
||
|
||
// //遍历组织机构编码
|
||
// foreach (var item in orgList)
|
||
// {
|
||
// //部门过滤
|
||
// exp.Or((c, d, e) => SqlFunc.StartsWith(e.CascadeId, item));
|
||
// }
|
||
|
||
// //添加当前用户
|
||
// var userList = db.Queryable<Sugar_Users, Sugar_Relevance, Sugar_Org>((c, d, e) => new JoinQueryInfos(
|
||
// JoinType.Left, c.Id == d.FirstId,
|
||
// JoinType.Left, d.SecondId == e.Id
|
||
// )).Where(exp.ToExpression())
|
||
// .Select((c, d, e) => c)
|
||
// .GroupBy(c => new { c.Id, c.Name })
|
||
// .Select(c => new Sugar_Users { Id = c.Id, Name = c.Name })
|
||
// .ToList();
|
||
|
||
// var count = userList.Where(c => c.Id == _user.Id).Count();
|
||
// if (count == 0)
|
||
// {
|
||
// //添加当前用户
|
||
// userList.Add(new Sugar_Users { Id = _user.Id, Name = _user.Name });
|
||
// }
|
||
|
||
// //遍历用户
|
||
// for (int i = 0; i < userList.Count; i++)
|
||
// {
|
||
// var item = userList[i];
|
||
|
||
// Sugar_Drone_message_relevance modelRel = new Sugar_Drone_message_relevance();
|
||
// modelRel.Id = Guid.NewGuid().ToString();
|
||
// modelRel.userid = item.Id;
|
||
// modelRel.username = item.Name;
|
||
// modelRel.createtime = DateTime.Now;
|
||
// modelRel.createuser = _user.Id;
|
||
// modelRel.is_read = 0;
|
||
// modelRel.messageid = model.Id;
|
||
|
||
// relevanceList.Add(modelRel);
|
||
// }
|
||
|
||
// //多表数据 使用事务提交
|
||
// var transFlag = db.UseTran(() =>
|
||
// {
|
||
// //通知数据
|
||
// var flag = db.Insertable(model).ExecuteCommand();
|
||
|
||
// //关联数据
|
||
// var flag1 = db.Insertable(relevanceList).ExecuteCommand();
|
||
// });
|
||
|
||
// if (transFlag.IsSuccess)
|
||
// {
|
||
// return model.Id;
|
||
// }
|
||
// else
|
||
// {
|
||
// throw new Exception("添加失败");
|
||
// }
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 根据部门角色关联进行添加
|
||
///// </summary>
|
||
///// <param name="req"></param>
|
||
///// <returns></returns>
|
||
//public string AddMessRoleOrg(QueryDroneCaseRecipientOrgRoleReq req)
|
||
//{
|
||
// var _user = _auth.GetCurrentUser().User;
|
||
|
||
// var model = req.MapTo<Sugar_Drone_message>();
|
||
// model.Init(_user);
|
||
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// //关联表数据
|
||
// List<Sugar_Drone_role_org_rel> relevanceList = new List<Sugar_Drone_role_org_rel>();
|
||
|
||
// //角色列表
|
||
// var roleList = db.Queryable<Sugar_Role>().WhereIF(req.roles.Length > 0, c => req.roles.Contains(c.Id)).WhereIF(req.is_all == 1, c => c.Id != null).ToList();
|
||
|
||
// //组织列表
|
||
// var orgList = db.Queryable<Sugar_Org>().WhereIF(req.orgs.Length > 0, c => req.orgs.Contains(c.Id)).WhereIF(req.is_all == 1, c => c.Id != null).ToList();
|
||
|
||
// for (int i = 0; i < roleList.Count; i++)
|
||
// {
|
||
// for (int j = 0; j < orgList.Count; j++)
|
||
// {
|
||
// //关联表
|
||
// Sugar_Drone_role_org_rel modelRel = new Sugar_Drone_role_org_rel();
|
||
// modelRel.Id = Guid.NewGuid().ToString();
|
||
// modelRel.roleid = roleList[i].Id;
|
||
// modelRel.orgid = orgList[j].Id;
|
||
// modelRel.createtime = DateTime.Now;
|
||
// modelRel.createuser = _user.Id;
|
||
// modelRel.messageid = model.Id;
|
||
|
||
// relevanceList.Add(modelRel);
|
||
// }
|
||
|
||
// }
|
||
|
||
// //多表数据 使用事务提交
|
||
// var transFlag = db.UseTran(() =>
|
||
// {
|
||
// //通知数据
|
||
// var flag = db.Insertable(model).ExecuteCommand();
|
||
|
||
// //关联数据
|
||
// var flag1 = db.Insertable(relevanceList).ExecuteCommand();
|
||
// });
|
||
|
||
// if (transFlag.IsSuccess)
|
||
// {
|
||
// return model.Id;
|
||
// }
|
||
// else
|
||
// {
|
||
// throw new Exception("添加失败");
|
||
// }
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 编辑通知消息
|
||
///// </summary>
|
||
///// <param name="obj"></param>
|
||
///// <returns></returns>
|
||
//public string UpdateMessage(Sugar_Drone_message obj)
|
||
//{
|
||
// var _user = _auth.GetCurrentUser().User;
|
||
// obj.createusername = _user.Name;
|
||
// obj.createuser = _user.Id;
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var flag = db.Updateable(obj).ExecuteCommand();
|
||
// if (flag > 0)
|
||
// {
|
||
// return obj.Id;
|
||
// }
|
||
// else
|
||
// {
|
||
// throw new Exception("编辑失败");
|
||
// }
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 更新删除通知消息
|
||
///// </summary>
|
||
///// <param name="id"></param>
|
||
///// <returns></returns>
|
||
//public string UpdateDelMessage(string id)
|
||
//{
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var flag = db.Updateable<Sugar_Drone_message>().SetColumns(c => new Sugar_Drone_message
|
||
// {
|
||
// is_delete = 1
|
||
// }).Where(c => id == c.Id).ExecuteCommand();
|
||
|
||
// if (flag > 0)
|
||
// {
|
||
// return "删除成功";
|
||
// }
|
||
// else
|
||
// {
|
||
// throw new Exception("删除失败");
|
||
// }
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 设置通知已读
|
||
///// </summary>
|
||
///// <param name="messageid"></param>
|
||
///// <returns></returns>
|
||
//public string SetMessageRead(string messageid)
|
||
//{
|
||
// var user = _auth.GetCurrentUser().User;
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var model = db.Queryable<Sugar_Drone_message_relevance>()
|
||
// .Where(c => c.userid == user.Id && c.messageid == messageid)
|
||
// .First();
|
||
// int flag = 0;
|
||
// if (model == null)
|
||
// {
|
||
// model = new Sugar_Drone_message_relevance();
|
||
// model.Id = Guid.NewGuid().ToString();
|
||
// model.userid = user.Id;
|
||
// model.username = user.Name;
|
||
// model.createtime = DateTime.Now;
|
||
// model.createuser = user.Id;
|
||
// model.messageid = messageid;
|
||
// model.is_delete = 0;
|
||
// model.is_read = 1;
|
||
|
||
// flag = db.Insertable(model).ExecuteCommand();
|
||
// }
|
||
// else
|
||
// {
|
||
// flag = db.Updateable<Sugar_Drone_message_relevance>()
|
||
// .SetColumns(c => new Sugar_Drone_message_relevance { is_read = 1 })
|
||
// .Where(c => c.messageid == messageid && c.userid == user.Id)
|
||
// .ExecuteCommand();
|
||
// }
|
||
|
||
// if (flag > 0)
|
||
// return "设置成功";
|
||
// else
|
||
// throw new Exception("设置失败");
|
||
// }
|
||
//}
|
||
|
||
//#endregion
|
||
|
||
//#region 案件处理
|
||
|
||
///// <summary>
|
||
///// 案件处理
|
||
///// </summary>
|
||
///// <param name="req"></param>
|
||
///// <returns></returns>
|
||
//public string AddDroneCaseDeal(AddOrUpdateDroneCaseDealReq req)
|
||
//{
|
||
// var user = _auth.GetCurrentUser().User;
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var model = req.info;
|
||
// model.Init(user);
|
||
|
||
// //处理状态:默认 1 办理中
|
||
// int? handle_status_id = 1;
|
||
// string handle_status_name = string.Empty;
|
||
// if (handle_status_id != null)
|
||
// {
|
||
// handle_status_name = handleStatusList.Where(c => c.id == handle_status_id).FirstOrDefault().name;
|
||
// }
|
||
|
||
// var picList = req.pic_list;
|
||
// var videoList = req.video_list;
|
||
|
||
// List<Sugar_Drone_files> filesList = new List<Sugar_Drone_files>();
|
||
// //图片
|
||
// for (int i = 0; i < picList.Count; i++)
|
||
// {
|
||
// Sugar_Drone_files fileModel = new Sugar_Drone_files();
|
||
// fileModel.Id = Guid.NewGuid().ToString();
|
||
// fileModel.path = picList[i];
|
||
// fileModel.type = 0;
|
||
// fileModel.tablename = "drone_case_deal";
|
||
// fileModel.createtime = DateTime.Now;
|
||
// fileModel.createuser = user.Id;
|
||
// fileModel.createusername = user.Name;
|
||
// fileModel.is_delete = 0;
|
||
// fileModel.relid = model.Id;
|
||
|
||
// filesList.Add(fileModel);
|
||
// }
|
||
|
||
// //视频
|
||
// for (int i = 0; i < videoList.Count; i++)
|
||
// {
|
||
// Sugar_Drone_files fileModel = new Sugar_Drone_files();
|
||
// fileModel.Id = Guid.NewGuid().ToString();
|
||
// fileModel.path = videoList[i];
|
||
// fileModel.type = 1;
|
||
// fileModel.tablename = "drone_case_deal";
|
||
// fileModel.createtime = DateTime.Now;
|
||
// fileModel.createuser = user.Id;
|
||
// fileModel.createusername = user.Name;
|
||
// fileModel.is_delete = 0;
|
||
// fileModel.relid = model.Id;
|
||
|
||
// filesList.Add(fileModel);
|
||
// }
|
||
|
||
// //使用事务提交数据
|
||
// var transFlag = db.UseTran(() =>
|
||
// {
|
||
// //新增数据
|
||
// db.Insertable(model).ExecuteCommand();
|
||
|
||
// //新增数据
|
||
// db.Insertable(filesList).ExecuteCommand();
|
||
|
||
// //更新案件状态
|
||
// db.Updateable<Sugar_Drone_caseinfo>()
|
||
// .SetColumns(c => new Sugar_Drone_caseinfo
|
||
// {
|
||
// handle_status_id = handle_status_id,
|
||
// handle_status_name = handle_status_name,
|
||
// is_illegal = req.is_illegal,
|
||
// deal_userid = user.Id,
|
||
// deal_username = user.Name
|
||
// })
|
||
// .Where(c => c.Id == model.caseid)
|
||
// .ExecuteCommand();
|
||
// });
|
||
|
||
// if (transFlag.IsSuccess)
|
||
// return "处理成功";
|
||
// else
|
||
// throw new Exception("处理失败");
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 更新案件处理数据
|
||
///// </summary>
|
||
///// <param name="req"></param>
|
||
///// <returns></returns>
|
||
//public string UpdateDroneCaseDeal(AddOrUpdateDroneCaseDealReq req)
|
||
//{
|
||
// var user = _auth.GetCurrentUser().User;
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var model = req.info;
|
||
|
||
// //处理状态:默认 1 办理中
|
||
// int? handle_status_id = 1;
|
||
// string handle_status_name = string.Empty;
|
||
// if (handle_status_id != null)
|
||
// {
|
||
// handle_status_name = handleStatusList.Where(c => c.id == handle_status_id).FirstOrDefault().name;
|
||
// }
|
||
|
||
// var picList = req.pic_list;
|
||
// var videoList = req.video_list;
|
||
|
||
// var existFiles = db.Queryable<Sugar_Drone_files>().Where(c => c.relid == req.info.Id).ToList();
|
||
// List<Sugar_Drone_files> filesList = new List<Sugar_Drone_files>();
|
||
// //图片
|
||
// for (int i = 0; i < picList.Count; i++)
|
||
// {
|
||
// var item = picList[i];
|
||
|
||
// var count = existFiles.Where(c => c.path == item).Count();
|
||
// if (count > 0)
|
||
// continue;
|
||
// Sugar_Drone_files fileModel = new Sugar_Drone_files();
|
||
// fileModel.Id = Guid.NewGuid().ToString();
|
||
// fileModel.path = picList[i];
|
||
// fileModel.type = 0;
|
||
// fileModel.tablename = "drone_case_deal";
|
||
// fileModel.createtime = DateTime.Now;
|
||
// fileModel.createuser = user.Id;
|
||
// fileModel.createusername = user.Name;
|
||
// fileModel.is_delete = 0;
|
||
// fileModel.relid = model.Id;
|
||
|
||
// filesList.Add(fileModel);
|
||
// }
|
||
|
||
// //视频
|
||
// for (int i = 0; i < videoList.Count; i++)
|
||
// {
|
||
// var item = videoList[i];
|
||
|
||
// var count = existFiles.Where(c => c.path == item).Count();
|
||
// if (count > 0)
|
||
// continue;
|
||
// Sugar_Drone_files fileModel = new Sugar_Drone_files();
|
||
// fileModel.Id = Guid.NewGuid().ToString();
|
||
// fileModel.path = videoList[i];
|
||
// fileModel.type = 1;
|
||
// fileModel.tablename = "drone_case_deal";
|
||
// fileModel.createtime = DateTime.Now;
|
||
// fileModel.createuser = user.Id;
|
||
// fileModel.createusername = user.Name;
|
||
// fileModel.is_delete = 0;
|
||
// fileModel.relid = model.Id;
|
||
|
||
// filesList.Add(fileModel);
|
||
// }
|
||
|
||
// //使用事务提交数据
|
||
// var transFlag = db.UseTran(() =>
|
||
// {
|
||
// //更新数据
|
||
// var flag = db.Updateable(model).ExecuteCommand();
|
||
|
||
// var flag2 = db.Insertable(filesList).ExecuteCommand();
|
||
|
||
// //更新案件状态
|
||
// var flag3 = db.Updateable<Sugar_Drone_caseinfo>()
|
||
// .SetColumns(c => new Sugar_Drone_caseinfo
|
||
// {
|
||
// handle_status_id = handle_status_id,
|
||
// handle_status_name = handle_status_name,
|
||
// is_illegal = req.is_illegal
|
||
// })
|
||
// .Where(c => c.Id == model.caseid)
|
||
// .ExecuteCommand();
|
||
// });
|
||
|
||
// if (transFlag.IsSuccess)
|
||
// return "处理成功";
|
||
// else
|
||
// throw new Exception("处理失败");
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 处理查询
|
||
///// </summary>
|
||
///// <param name="req"></param>
|
||
///// <returns></returns>
|
||
//public TableData LoadDroneCaseDeal(QueryDroneCaseDealReq req)
|
||
//{
|
||
// var user = _auth.GetCurrentUser().User;
|
||
// TableData tableData = new TableData();
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// //总条数
|
||
// int totalNumber = 0;
|
||
// //关联查询
|
||
// var list = db.Queryable<Sugar_Drone_case_deal, Sugar_Drone_caseinfo>((c, d) => new JoinQueryInfos(
|
||
// JoinType.Left, c.caseid == d.Id
|
||
// )).Where((c, d) => (c.is_delete == null || c.is_delete == 0) && (d.is_delete == null || d.is_delete == 0) && d.Id != null)
|
||
// //是否创建人过滤
|
||
// .WhereIF(req.is_report == 1, (c, d) => c.createuser == user.Id)
|
||
// //开始时间
|
||
// .WhereIF(req.start_time != null, (c, d) => c.createtime > req.start_time)
|
||
// //结束时间
|
||
// .WhereIF(req.end_time != null, (c, d) => c.createtime < req.end_time)
|
||
// //排序
|
||
// .OrderBy(c => c.createtime, OrderByType.Desc)
|
||
// //分页
|
||
// .ToPageList(req.page, req.limit, ref totalNumber);
|
||
|
||
// tableData.data = list;
|
||
// tableData.count = totalNumber;
|
||
|
||
// return tableData;
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 获取处理详情
|
||
///// </summary>
|
||
///// <param name="id"></param>
|
||
///// <param name="caseid"></param>
|
||
///// <returns></returns>
|
||
//public AddOrUpdateDroneCaseDealReq GetDroneCaseDeal(string id, string caseid)
|
||
//{
|
||
// AddOrUpdateDroneCaseDealReq res = new AddOrUpdateDroneCaseDealReq();
|
||
// res.Init();
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// //详情
|
||
// var info = db.Queryable<Sugar_Drone_case_deal>()
|
||
// .WhereIF(!string.IsNullOrEmpty(id), c => c.Id == id)
|
||
// .WhereIF(!string.IsNullOrEmpty(caseid), c => c.caseid == caseid)
|
||
// .First();
|
||
// if (info == null)
|
||
// {
|
||
// return res;
|
||
// }
|
||
// //文件
|
||
// var fileList = db.Queryable<Sugar_Drone_files>().Where(c => c.relid == info.Id && (c.is_delete == null || c.is_delete == 0) && c.tablename == "drone_case_deal").ToList();
|
||
|
||
// //图片
|
||
// var pic_list = fileList.Where(c => c.type == 0).GroupBy(c => c.path).Select(c => c.Key).ToList();
|
||
|
||
// //视频
|
||
// var video_list = fileList.Where(c => c.type == 1).GroupBy(c => c.path).Select(c => c.Key).ToList();
|
||
|
||
// res.info = info;
|
||
// res.pic_list = pic_list;
|
||
// res.video_list = video_list;
|
||
|
||
// var caseModel = db.Queryable<Sugar_Drone_caseinfo>()
|
||
// .Where(c => c.Id == info.caseid)
|
||
// .First();
|
||
// res.handle_status_id = caseModel.handle_status_id.Value;
|
||
// res.is_illegal = caseModel.is_illegal;
|
||
|
||
// return res;
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 删除处理
|
||
///// </summary>
|
||
///// <param name="ids"></param>
|
||
///// <returns></returns>
|
||
//public string DeleteDroneCaseDeal(string[] ids)
|
||
//{
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var flag = db.Updateable<Sugar_Drone_case_deal>()
|
||
// .SetColumns(c => new Sugar_Drone_case_deal { is_delete = 1 })
|
||
// .Where(c => ids.Contains(c.Id))
|
||
// .ExecuteCommand();
|
||
|
||
// if (flag > 0)
|
||
// return "删除成功";
|
||
// else
|
||
// throw new Exception("删除失败");
|
||
// }
|
||
//}
|
||
|
||
//#endregion
|
||
|
||
//#region 图层
|
||
|
||
///// <summary>
|
||
///// 添加违建图层
|
||
///// </summary>
|
||
///// <param name="model"></param>
|
||
///// <returns></returns>
|
||
//public string AddIllegalBuildeLayer(Sugar_Drone_shp_data model)
|
||
//{
|
||
// var _user = _auth.GetCurrentUser().User;
|
||
// model.createtime = DateTime.Now;
|
||
// model.createuser = _user.Name;
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// //获取主键
|
||
// string _gid = App.Common.CommonData.GetMaxKeyVal("gid", "drone_shp_data", 1, _configuration);
|
||
// model.gid = int.Parse(_gid);//转为数字类型
|
||
// //string _gid = model.gid.ToString();
|
||
|
||
// //格式化数据
|
||
// string _wktModel = App.Common.CommonData.WktDataConvert(model.geom, "MULTIPOLYGON ZM", 4);
|
||
|
||
// model.geom = null;
|
||
|
||
// StringBuilder geomSql = new StringBuilder();
|
||
// geomSql.AppendFormat($" update drone_shp_data set geom = st_geomfromtext('{_wktModel}',4326) where gid = '{_gid}'");
|
||
|
||
// //批量更新面积
|
||
// StringBuilder sql = new StringBuilder();
|
||
// sql.AppendFormat($" update drone_shp_data set area = st_area(st_transform(geom,4527)) where geom is not null and (area is null)");
|
||
|
||
// //使用事务提交数据
|
||
// var transFlag = db.UseTran(() =>
|
||
// {
|
||
// //插入图斑数据
|
||
// var flag = db.Insertable(model).ExecuteCommand();
|
||
|
||
// //修改图斑数据
|
||
// var flagGeom = db.Ado.ExecuteCommand(geomSql.ToString());
|
||
|
||
// //修改图斑面积
|
||
// var flagUpdate = db.Ado.ExecuteCommand(sql.ToString());
|
||
// });
|
||
|
||
// if (transFlag.IsSuccess)
|
||
// {
|
||
// return _gid;
|
||
// }
|
||
// else
|
||
// {
|
||
// throw new Exception("新增失败");
|
||
// }
|
||
// }
|
||
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 编辑违法建筑和图层
|
||
///// </summary>
|
||
///// <param name="model"></param>
|
||
///// <returns></returns>
|
||
//public string UpdateIllegalBuildeLayer(Sugar_Drone_shp_data model)
|
||
//{
|
||
// var _user = _auth.GetCurrentUser().User;
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// //格式化数据
|
||
// string _wktModel = App.Common.CommonData.WktDataConvert(model.geom, "MULTIPOLYGON ZM", 4);
|
||
|
||
// model.geom = _wktModel;
|
||
|
||
// StringBuilder sql = new StringBuilder();
|
||
// sql.AppendFormat($" update drone_shp_data set area = st_area(st_transform(geom,4527)) where gid = {model.gid}");
|
||
|
||
// //使用事务提交数据
|
||
// var transFlag = db.UseTran(() =>
|
||
// {
|
||
// //更新数据
|
||
// var flag = db.Updateable(model).ExecuteCommand();
|
||
|
||
// //更新图斑面积
|
||
// var flagUpdate = db.Ado.ExecuteCommand(sql.ToString());
|
||
// });
|
||
|
||
// //事务执行完成
|
||
// if (transFlag.IsSuccess)
|
||
// {
|
||
// return model.gid.ToString();
|
||
// }
|
||
// else
|
||
// {
|
||
// throw new Exception("编辑失败!");
|
||
// }
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 删除图斑
|
||
///// </summary>
|
||
///// <param name="gid"></param>
|
||
///// <returns></returns>
|
||
//public string DeleteDroneLayers(int gid)
|
||
//{
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var flag = db.Deleteable<Sugar_Drone_shp_data>().Where(c => c.gid == gid).ExecuteCommand();
|
||
// if (flag > 0)
|
||
// return "删除成功";
|
||
// else
|
||
// throw new Exception("删除失败");
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 违建图层详情
|
||
///// </summary>
|
||
///// <param name="gid"></param>
|
||
///// <returns></returns>
|
||
//public Sugar_Drone_shp_data LoadIllegalBuildeLayerData(int gid)
|
||
//{
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var list = db.Queryable<Sugar_Drone_shp_data>().Where(c => c.gid == gid).IgnoreColumns(c => new { c.geom }).First();
|
||
|
||
// return list;
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 查询主页违法图层数据
|
||
///// 获取所有图斑,主页用
|
||
///// </summary>
|
||
///// <param name="reqObj"></param>
|
||
///// <returns></returns>
|
||
//public JToken LoadAllDroneGeoJson(QueryAllDroneGeoJsonReq reqObj)
|
||
//{
|
||
// QueryGeoJsonCommonReq req = new QueryGeoJsonCommonReq();
|
||
// req.tablename = "drone_shp_data";
|
||
// StringBuilder whereBuilder = new StringBuilder();
|
||
// whereBuilder.AppendFormat($" where 1=1");
|
||
|
||
// if (!string.IsNullOrEmpty(reqObj.typeid))
|
||
// {
|
||
// whereBuilder.AppendFormat($" and relid in (select \"Id\" from drone_caseinfo where typeid = '{reqObj.typeid}')");
|
||
// }
|
||
|
||
// req.where = whereBuilder.ToString();
|
||
|
||
// req.pageIndex = 1;
|
||
// req.limit = 2000;
|
||
|
||
// var res = CommonData.PgsqlGeoJsonCommon(req, _configuration);
|
||
// return res;
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 获取GeoJson
|
||
///// PC获取图层的GeoJson(判读页面用)
|
||
///// </summary>
|
||
///// <param name="id"></param>
|
||
///// <returns></returns>
|
||
//public JToken GetDroneGeoJson(string id)
|
||
//{
|
||
// QueryGeoJsonCommonReq req = new QueryGeoJsonCommonReq();
|
||
// req.tablename = "drone_shp_data";
|
||
// req.where = "where relid = '" + id + "'";
|
||
// req.pageIndex = 1;
|
||
// req.limit = 2000;
|
||
|
||
// var res = CommonData.PgsqlGeoJsonCommon(req, _configuration);
|
||
// return res;
|
||
//}
|
||
|
||
///// <summary>
|
||
///// app获取GeoJson
|
||
///// 替代app获取中心点和图层坐标点集合
|
||
///// </summary>
|
||
///// <param name="id"></param>
|
||
///// <returns></returns>
|
||
//public JToken GetDroneGeoJsonApp(string id)
|
||
//{
|
||
// var user = _auth.GetCurrentUser().User;
|
||
|
||
// StringBuilder sqlColumn = new StringBuilder();
|
||
// sqlColumn.AppendFormat($" select aa.gid,aa.relid as id,bb.handle_status_id from drone_shp_data aa");
|
||
// sqlColumn.AppendFormat($" left join drone_caseinfo bb on aa.relid = bb.\"Id\" ");
|
||
// sqlColumn.AppendFormat($" where bb.is_intact = 1");
|
||
// sqlColumn.AppendFormat($" and (is_delete = 0 or is_delete is null)");
|
||
// sqlColumn.AppendFormat($" and (is_closed = 0 or is_closed is null)");
|
||
// sqlColumn.AppendFormat($" and geom is not null");
|
||
// sqlColumn.AppendFormat($" and (bb.communityid in (select \"SecondId\" from relevance where \"FirstId\" = '{user.Id}' and \"Key\" = 'UserOrg') or bb.createuser = '{user.Id}')");
|
||
// if (!string.IsNullOrEmpty(id))
|
||
// sqlColumn.AppendFormat($" and aa.relid = '{id}'");
|
||
// sqlColumn.AppendFormat($" order by aa.gid asc ");
|
||
|
||
// StringBuilder sqlGeom = new StringBuilder();
|
||
// sqlGeom.AppendFormat($" select st_asgeojson(\"geom\") geom from drone_shp_data aa");
|
||
// sqlGeom.AppendFormat($" left join drone_caseinfo bb on aa.relid = bb.\"Id\" ");
|
||
// sqlGeom.AppendFormat($" where bb.is_intact = 1");
|
||
// sqlGeom.AppendFormat($" and (is_delete = 0 or is_delete is null)");
|
||
// sqlGeom.AppendFormat($" and (is_closed = 0 or is_closed is null)");
|
||
// sqlGeom.AppendFormat($" and geom is not null");
|
||
// sqlGeom.AppendFormat($" and (bb.communityid in (select \"SecondId\" from relevance where \"FirstId\" = '{user.Id}' and \"Key\" = 'UserOrg') or bb.createuser = '{user.Id}')");
|
||
// if (!string.IsNullOrEmpty(id))
|
||
// sqlGeom.AppendFormat($" and aa.relid = '{id}'");
|
||
// sqlGeom.AppendFormat($" order by aa.gid asc ");
|
||
|
||
// var res = CommonData.PgsqlGeoJsonCommon(sqlColumn, sqlGeom, 1, 99999, _configuration);
|
||
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var dtCenter = db.Queryable<Sugar_Drone_caseinfo, Sugar_Drone_shp_data>((a, b) => new JoinQueryInfos(
|
||
// JoinType.Left, a.Id == b.relid
|
||
// ))
|
||
// //过滤判读、是否删除、是否关闭、geom不为空
|
||
// .Where((a, b) => a.is_intact == 1 && (a.is_delete == 0 || a.is_delete == null) && (a.is_closed == 0 || a.is_closed == null) && b.geom != null)
|
||
// //根据权限过滤、组织机构权限、自己添加的数据权限
|
||
// .Where($" ( a.communityid in (select \"SecondId\" from relevance where \"FirstId\" = '{user.Id}' and \"Key\" = 'UserOrg') or a.createuser = '{user.Id}')")
|
||
// //是否查询单条数据
|
||
// .WhereIF(!string.IsNullOrEmpty(id), (a, b) => a.Id == id)
|
||
// //查询字段
|
||
// .Select<dynamic>("gid,a.\"Id\" as id,typename,st_asgeojson(ST_Centroid(geom)) as point")
|
||
// //转为DataTable
|
||
// .ToDataTable();
|
||
|
||
// //转换格式
|
||
// var jtokenCenter = dtCenter.ToJson().ToJToken();
|
||
|
||
// //feature集合
|
||
// JArray centerFeatureArr = new JArray();
|
||
// //遍历每条数据
|
||
// foreach (var item in jtokenCenter)
|
||
// {
|
||
// //feature对象
|
||
// JObject centerFeatureObj = new JObject();
|
||
|
||
// //类型
|
||
// string _typename = item["typename"] == null ? "" : item["typename"].ToString();
|
||
// if (_typename.IndexOf("-") > 0)
|
||
// _typename = _typename.Substring(_typename.LastIndexOf("-") + 1);
|
||
|
||
// //属性
|
||
// JObject property = new JObject();
|
||
// property.Add("id", item["id"]);
|
||
// property.Add("gid", item["gid"]);
|
||
// property.Add("typename", _typename);
|
||
|
||
// //给feature对象赋值
|
||
// centerFeatureObj.Add("type", "Feature");
|
||
// centerFeatureObj.Add("properties", property);
|
||
// centerFeatureObj.Add("geometry", item["point"].ToString().ToJToken());
|
||
|
||
// //添加到feature集合
|
||
// centerFeatureArr.Add(centerFeatureObj);
|
||
// }
|
||
|
||
// JObject pointObj = new JObject();
|
||
// pointObj.Add("type", "FeatureCollection");
|
||
// pointObj.Add("features", centerFeatureArr);
|
||
|
||
// JObject obj = new JObject();
|
||
// obj.Add("geojson", res);
|
||
// obj.Add("points", pointObj);
|
||
|
||
// return obj;
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 获取所有案件中心点
|
||
///// APP获取中心点和图层的坐标点集合
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public JToken GetAllDroneCaseCenterApp(string id)
|
||
//{
|
||
// var user = _auth.GetCurrentUser().User;
|
||
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var query = db.Queryable<Sugar_Drone_caseinfo, Sugar_Drone_shp_data>((a, b) => new JoinQueryInfos(
|
||
// JoinType.Left, a.Id == b.relid
|
||
// ))
|
||
// //过滤判读、是否删除、是否关闭、geom不为空
|
||
// .Where((a, b) => a.is_intact == 1 && (a.is_delete == 0 || a.is_delete == null) && b.geom != null)
|
||
// //根据权限过滤、组织机构权限、自己添加的数据权限
|
||
// .WhereIF(user.Account != Define.SYSTEM_USERNAME, $" ( a.communityid in (select \"SecondId\" from relevance where \"FirstId\" = '{user.Id}' and \"Key\" = 'UserOrg') or a.createuser = '{user.Id}')")
|
||
// //是否查询单条数据
|
||
// .WhereIF(!string.IsNullOrEmpty(id), (a, b) => a.Id == id);
|
||
|
||
// //查询:案件表关联图层表
|
||
// var dt = query
|
||
// //查询字段
|
||
// .Select<dynamic>("a.case_no,a.handle_status_id,a.\"Id\" as id,a.countyname,a.streetname,a.communityname,a.createtime,a.case_description,a.address,a.typename,a.handle_status_name,st_astext(ST_Centroid(geom)) as point,st_astext(geom) cover")
|
||
// //转为DataTable
|
||
// .ToDataTable();
|
||
|
||
// //转换JToken
|
||
// var resJToken = dt.ToJson().ToJToken();
|
||
|
||
// //返回的Array数据
|
||
// JArray array = new JArray();
|
||
// for (int i = 0; i < resJToken.Count(); i++)
|
||
// {
|
||
// JObject obj = new JObject();
|
||
// var item = resJToken[i];
|
||
// obj.Add("id", item["id"]);
|
||
// obj.Add("case_no", item["case_no"]);
|
||
// obj.Add("handle_status_id", item["handle_status_id"]);
|
||
// obj.Add("countyname", item["countyname"]);
|
||
// obj.Add("streetname", item["streetname"]);
|
||
// obj.Add("communityname", item["communityname"]);
|
||
// obj.Add("createtime", item["createtime"]);
|
||
// obj.Add("case_description", item["case_description"]);
|
||
// obj.Add("address", item["address"]);
|
||
// obj.Add("typename", item["typename"]);
|
||
// obj.Add("handle_status_name", item["handle_status_name"]);
|
||
|
||
// //中心点数据
|
||
// string pointStr = item["point"].ToString();
|
||
// var pointInfo = pointStr.Replace("POINT(", "").Replace(")", "").Split(" ");
|
||
|
||
// //中心点经纬度
|
||
// obj.Add("longitude", Decimal.Round(Decimal.Parse(pointInfo[0]), 6));
|
||
// obj.Add("latitude", Decimal.Round(Decimal.Parse(pointInfo[1]), 6));
|
||
|
||
// //面数据
|
||
// string coverStr = item["cover"].ToString();
|
||
// //面的所有点
|
||
// var point_list = coverStr.Replace("MULTIPOLYGON ZM (((", "").Replace(")", "").Split(",");
|
||
|
||
// //面的数组
|
||
// JArray pointArray = new JArray();
|
||
// //遍历面的数据
|
||
// foreach (var pointItem in point_list)
|
||
// {
|
||
// JObject pointObj = new JObject();
|
||
// var pointItemList = pointItem.Split(" ");
|
||
// pointObj.Add("longitude", Decimal.Round(Decimal.Parse(pointItemList[0]), 6));
|
||
// pointObj.Add("latitude", Decimal.Round(Decimal.Parse(pointItemList[1]), 6));
|
||
|
||
// pointArray.Add(pointObj);
|
||
// }
|
||
|
||
// //添加面的点数据
|
||
// obj.Add("point_list", pointArray);
|
||
|
||
// array.Add(obj);
|
||
// }
|
||
|
||
// return array;
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 获取GeoServer地址
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public string GetGeoServerAddress()
|
||
//{
|
||
// string tenantId = HttpContextExt.GetTenantId();
|
||
// if (string.IsNullOrEmpty(tenantId)) throw new System.Exception("租户id不能为空");
|
||
|
||
// var geoServerModel = _options.Value.TenantList.Where(c => c.id == tenantId).FirstOrDefault();
|
||
// if (geoServerModel != null)
|
||
// return geoServerModel.geoserver;
|
||
// throw new Exception("未查询到数据");
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 根据经纬度获取组织机构
|
||
///// </summary>
|
||
///// <param name="lng"></param>
|
||
///// <param name="lat"></param>
|
||
///// <returns></returns>
|
||
//public JObject GetOrgAreaByPoint(decimal lng, decimal lat)
|
||
//{
|
||
// //县id
|
||
// string countyid = "";
|
||
// string countyname = "";
|
||
// //镇id
|
||
// string streetid = "";
|
||
// string streetname = "";
|
||
// //村id
|
||
// string communityid = "";
|
||
// string communityname = "";
|
||
|
||
// //SqlSugar实例
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// //查询坐标属于哪个县
|
||
// StringBuilder sql = new StringBuilder();
|
||
// sql.AppendFormat($" SELECT xzqmc FROM \"shp_drone_county\" where ST_Within(st_geomfromtext('POINT({lng} {lat})',4326), geom) = 't'");
|
||
// var countyList = db.SqlQueryable<dynamic>(sql.ToString()).ToList();
|
||
// if (countyList.Count > 0)
|
||
// {
|
||
// //县名称
|
||
// string countyName = countyList[0].xzqmc;
|
||
// //根据名称查询组织机构
|
||
// var countyModel = db.Queryable<Sugar_Org>().Where(c => c.Name == countyName).First();
|
||
// //组织机构不为空,给县id赋值
|
||
// if (countyModel != null)
|
||
// {
|
||
// countyid = countyModel.Id;
|
||
// countyname = countyModel.Name;
|
||
// }
|
||
// }
|
||
|
||
// //查询坐标属于哪个镇
|
||
// sql = new StringBuilder();
|
||
// sql.AppendFormat($" SELECT xzqmc FROM \"shp_drone_town\" where ST_Within(st_geomfromtext('POINT({lng} {lat})',4326), geom) = 't'");
|
||
// var streetList = db.SqlQueryable<dynamic>(sql.ToString()).ToList();
|
||
// if (streetList.Count > 0)
|
||
// {
|
||
// //镇名称
|
||
// string streetName = streetList[0].xzqmc;
|
||
// //根据名称查询组织机构
|
||
// var streetModel = db.Queryable<Sugar_Org>().Where(c => c.Name == streetName).First();
|
||
// //组织机构不为空,给镇id赋值
|
||
// if (streetModel != null)
|
||
// {
|
||
// streetid = streetModel.Id;
|
||
// streetname = streetModel.Name;
|
||
// }
|
||
// }
|
||
|
||
// if (!string.IsNullOrEmpty(streetid))
|
||
// {
|
||
// //查询组织机构属于哪个村
|
||
// sql = new StringBuilder();
|
||
// sql.AppendFormat($" SELECT zldwmc FROM \"shp_drone_community\" where ST_Within(st_geomfromtext('POINT({lng} {lat})',4326), geom) = 't'");
|
||
// var communityidList = db.SqlQueryable<dynamic>(sql.ToString()).ToList();
|
||
// if (communityidList.Count > 0)
|
||
// {
|
||
// //村名称
|
||
// string communityName = communityidList[0].zldwmc;
|
||
// //根据村名称和镇id查询组织机构
|
||
// var communityModel = db.Queryable<Sugar_Org>().Where(c => SqlFunc.StartsWith(c.Name, communityName) && c.ParentId == streetid).First();
|
||
// //组织机构不为空,给村id赋值
|
||
// if (communityModel != null)
|
||
// {
|
||
// communityid = communityModel.Id;
|
||
// communityname = communityModel.Name;
|
||
// }
|
||
// }
|
||
// }
|
||
|
||
// //拼接json数据,返回到前台
|
||
// JObject obj = new JObject();
|
||
|
||
// obj.Add("countyid", countyid);
|
||
// obj.Add("countyname", countyname);
|
||
// obj.Add("streetid", streetid);
|
||
// obj.Add("streetname", streetname);
|
||
// obj.Add("communityid", communityid);
|
||
// obj.Add("communityname", communityname);
|
||
|
||
// return obj;
|
||
// }
|
||
//}
|
||
|
||
//#endregion
|
||
|
||
//#region 无人机轨迹
|
||
|
||
///// <summary>
|
||
///// 批量添加坐标点
|
||
///// </summary>
|
||
///// <param name="req"></param>
|
||
///// <returns></returns>
|
||
//public string AddDronePoints(List<AddDronePointsReq> req)
|
||
//{
|
||
// var user = _auth.GetCurrentUser().User;
|
||
|
||
// List<Sugar_Drone_point_data> list = new List<Sugar_Drone_point_data>();
|
||
|
||
// for (int i = 0; i < req.Count; i++)
|
||
// {
|
||
// var item = req[i];
|
||
|
||
// Sugar_Drone_point_data model = new Sugar_Drone_point_data();
|
||
// model.gid = Guid.NewGuid().ToString();
|
||
// model.createuser = user.Account;
|
||
// model.createtime = item.createtime;
|
||
// model.geom = $"POINT({item.lng} {item.lat})";
|
||
|
||
// list.Add(model);
|
||
// }
|
||
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var flag = db.Insertable(list).ExecuteCommand();
|
||
// if (flag > 0)
|
||
// return "添加成功";
|
||
// else
|
||
// throw new Exception("添加失败");
|
||
// }
|
||
//}
|
||
|
||
//#endregion
|
||
|
||
//#region 用户
|
||
|
||
///// <summary>
|
||
///// 获取当前用户的信息
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public JToken GetCurrentUser()
|
||
//{
|
||
// var current = _auth.GetCurrentUser();
|
||
// var user = current.User;
|
||
// var roles = current.Roles;
|
||
// JObject obj = new JObject();
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// //用户
|
||
// JToken userJtoken = user.ToJson().ToJToken();
|
||
|
||
// //权限
|
||
// var count = roles.Where(c => c.Name.Contains("管理员")).Count();
|
||
|
||
// int result = 0;
|
||
// if (count > 0)
|
||
// result = 1;
|
||
|
||
// obj.Add("user", userJtoken);
|
||
// obj.Add("auth", result);
|
||
|
||
// //查询geoserver
|
||
// string geoserver = "";
|
||
|
||
// string tenantId = HttpContextExt.GetTenantId();
|
||
// if (!string.IsNullOrEmpty(tenantId))
|
||
// {
|
||
// var tenantModel = _options.Value.TenantList.Where(c => c.id == tenantId).FirstOrDefault();
|
||
// if (tenantModel != null)
|
||
// {
|
||
// geoserver = tenantModel.geoserver;
|
||
// }
|
||
// }
|
||
// obj.Add("geoserver", geoserver);
|
||
|
||
// return obj;
|
||
// }
|
||
//}
|
||
|
||
//#endregion
|
||
|
||
//#region 统计
|
||
|
||
///// <summary>
|
||
///// 按分类统计
|
||
///// </summary>
|
||
///// <param name="type"></param>
|
||
///// <param name="start"></param>
|
||
///// <param name="end"></param>
|
||
///// <returns></returns>
|
||
//public JToken CaseInfoTypeCensus(string type, DateTime? start, DateTime? end)
|
||
//{
|
||
// switch (type)
|
||
// {
|
||
// case "month":
|
||
// //一月内
|
||
// start = DateTime.Now.AddMonths(-1);
|
||
// break;
|
||
// case "halfyear":
|
||
// //半年内
|
||
// start = DateTime.Now.AddMonths(-6);
|
||
// break;
|
||
// case "year":
|
||
// start = DateTime.Now.AddYears(-1);
|
||
// break;
|
||
// default:
|
||
// break;
|
||
// }
|
||
|
||
// var user = _auth.GetCurrentUser().User;
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var caseList = db.Queryable<Sugar_Drone_caseinfo>()
|
||
// //状态未删除
|
||
// .Where(c => c.is_delete == null || c.is_delete == 0)
|
||
// //已判读
|
||
// .Where(c => c.is_intact == 1)
|
||
// //用户当前过滤
|
||
// .WhereIF(user.Account != Define.SYSTEM_USERNAME, c => SqlFunc.Subqueryable<Sugar_Relevance>().Where(it => it.SecondId == c.communityid && it.FirstId == user.Id && it.Key == "UserOrg").Any() || c.createuser == user.Id)
|
||
// //过滤
|
||
// .WhereIF(start != null, c => c.createtime >= start)
|
||
// .WhereIF(end != null, c => c.createtime <= end.Value.AddDays(1))
|
||
// .GroupBy(c => new { c.typeid, c.typename })
|
||
// .Select(c => new
|
||
// {
|
||
// c.typeid,
|
||
// c.typename,
|
||
// count = SqlFunc.AggregateCount(c.Id)
|
||
// }).ToList();
|
||
// return caseList.ToJson().ToJToken();
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 按组织机构统计案件数量
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public object CaseInfoOrgCensus()
|
||
//{
|
||
// var _authData = _auth.GetCurrentUser();
|
||
// //当前用户的组织机构
|
||
// var orgs = _authData.Orgs;
|
||
// var user = _authData.User;
|
||
|
||
// //县级组织机构id
|
||
// string[] countyids = null;
|
||
// //镇级组织机构id
|
||
// string[] streetids = null;
|
||
// //村级组织机构id
|
||
// //string[] communityid = null;
|
||
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// countyids = db.Queryable<Sugar_Org>().Where(c => SqlFunc.EndsWith(c.Name, "县")).Select(c => c.Id).ToArray();
|
||
// streetids = db.Queryable<Sugar_Org>().Where(c => countyids.Contains(c.ParentId)).Select(c => c.Id).ToArray();
|
||
// //communityid = db.Queryable<Sugar_Org>().Where(c => streetids.Contains(c.ParentId)).Select(c => c.Id).ToArray();
|
||
|
||
// //当前用户的县级组织机构id
|
||
// var orgsCounty = orgs.Where(c => countyids.Contains(c.Id)).Select(c => c.Id).ToList();
|
||
// //当前用户的镇级组织机构id
|
||
// var orgsStreet = orgs.Where(c => streetids.Contains(c.Id)).Select(c => c.Id).ToList();
|
||
|
||
// if (orgsCounty.Count > 0)
|
||
// {
|
||
// //当前用户的县级权限,查询镇级的数据
|
||
// return GetDroneCaseOrgCensus("county", orgsCounty[0], user, db);
|
||
// }
|
||
// else if (orgsStreet.Count > 0)
|
||
// {
|
||
// //当前用户的镇级权限,查询村级的数据
|
||
// return GetDroneCaseOrgCensus("street", orgsStreet[0], user, db);
|
||
// }
|
||
// return null;
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 获取按组织机构统计案件数量
|
||
///// </summary>
|
||
///// <param name="type"></param>
|
||
///// <param name="orgid"></param>
|
||
///// <param name="user"></param>
|
||
///// <param name="db"></param>
|
||
///// <returns></returns>
|
||
//private object GetDroneCaseOrgCensus(string type, string orgid, User user, SqlSugarClient db)
|
||
//{
|
||
// //查询当前用户分配的任务
|
||
// var list = db.Queryable<Sugar_Drone_caseinfo>()
|
||
// //是否完整性、是否删除过滤
|
||
// .Where(c => c.is_intact == 1 && (c.is_delete == 0 || c.is_delete == null))
|
||
// //执行人过滤
|
||
// .WhereIF(user.Account != Define.SYSTEM_USERNAME, c => SqlFunc.Subqueryable<Sugar_Relevance>().Where(it => it.SecondId == c.communityid && it.FirstId == user.Id && it.Key == "UserOrg").Any() || c.createuser == user.Id)
|
||
// .GroupBy(c => new
|
||
// {
|
||
// c.streetid,
|
||
// c.communityid,
|
||
// c.handle_status_id,
|
||
// c.is_illegal,
|
||
// })
|
||
// .Select(c => new
|
||
// {
|
||
// c.streetid,
|
||
// c.communityid,
|
||
// c.handle_status_id,
|
||
// c.is_illegal,
|
||
// count = SqlFunc.AggregateCount(c.Id),
|
||
// })
|
||
// .ToList();
|
||
|
||
// var censusOrgs = new List<Sugar_Org>();
|
||
// JArray array = new JArray();
|
||
|
||
// //查询组织机构的下级机构:orgid有可能是县级id,也有可能是镇级id
|
||
// censusOrgs = db.Queryable<Sugar_Org>().Where(c => c.ParentId == orgid).ToList();
|
||
// //遍历下级机构
|
||
// foreach (var item in censusOrgs)
|
||
// {
|
||
// string _name = item.Name;
|
||
// JObject _obj = new JObject();
|
||
// _obj.Add("name", _name);
|
||
// if (type == "county")
|
||
// {
|
||
// //下级用户是镇级,所有通过streetid来过滤
|
||
// var _list = list.Where(c => c.streetid == item.Id).ToList();
|
||
|
||
// _obj.Add("count", _list.Sum(c => c.count));
|
||
// //办理中
|
||
// _obj.Add("status0", _list.Where(c => c.handle_status_id == 0).Sum(c => c.count));
|
||
// //办理中
|
||
// _obj.Add("status1", _list.Where(c => c.handle_status_id == 1).Sum(c => c.count));
|
||
// //已办结
|
||
// _obj.Add("status2", _list.Where(c => c.handle_status_id == 2).Sum(c => c.count));
|
||
// //确认违法
|
||
// _obj.Add("illegal", _list.Where(c => c.is_illegal == 1).Sum(c => c.count));
|
||
// }
|
||
// else if (type == "street")
|
||
// {
|
||
// //下级用户是村级,所有通过communityid来过滤
|
||
// var _list = list.Where(c => c.communityid == item.Id).ToList();
|
||
|
||
// _obj.Add("count", _list.Sum(c => c.count));
|
||
// //办理中
|
||
// _obj.Add("status0", _list.Where(c => c.handle_status_id == 0).Sum(c => c.count));
|
||
// //办理中
|
||
// _obj.Add("status1", _list.Where(c => c.handle_status_id == 1).Sum(c => c.count));
|
||
// //已办结
|
||
// _obj.Add("status2", _list.Where(c => c.handle_status_id == 2).Sum(c => c.count));
|
||
// //确认违法
|
||
// _obj.Add("illegal", _list.Where(c => c.is_illegal == 1).Sum(c => c.count));
|
||
// }
|
||
|
||
// array.Add(_obj);
|
||
// }
|
||
// //排序
|
||
// var _array = array.OrderByDescending(c => int.Parse(c["count"].ToString())).ToList();
|
||
// return _array;
|
||
//}
|
||
|
||
//#endregion
|
||
|
||
///*
|
||
// 需要过滤权限的几个方法:
|
||
|
||
//查询列表数据接口
|
||
//LoadCaseInfoList
|
||
//LoadCaseInfoData
|
||
//CaseCountCensus
|
||
|
||
//图斑数据接口
|
||
//GetDroneGeoJsonApp
|
||
//GetAllDroneCaseCenterApp
|
||
|
||
//统计相关接口
|
||
//CaseInfoTypeCensus
|
||
//CaseInfoOrgCensus
|
||
//GetDroneCaseOrgCensus
|
||
|
||
//现在统一使用:
|
||
//是否判读1
|
||
//是否删除 0 或 null
|
||
//分配到组织机构 或 自己创建的
|
||
// .Where(c => c.is_intact == 1 && (c.is_delete == 0 || c.is_delete == null))
|
||
// //执行人过滤
|
||
// .WhereIF(user.Account != Define.SYSTEM_USERNAME, c => SqlFunc.Subqueryable<Sugar_Relevance>().Where(it => it.SecondId == c.communityid && it.FirstId == user.Id && it.Key == "UserOrg").Any() || c.createuser == user.Id)
|
||
// */
|
||
|
||
//#region 大屏展示
|
||
|
||
///// <summary>
|
||
///// 正式案件记录
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public List<Sugar_Drone_caseinfo> LoadDroneCase(int? is_intact)
|
||
//{
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var list = db.Queryable<Sugar_Drone_caseinfo>()
|
||
// .WhereIF(is_intact != null, c => c.is_intact == is_intact)
|
||
// .OrderBy(c => c.createtime, OrderByType.Desc).Take(20).ToList();
|
||
|
||
// return list;
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 最新案件处理
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public object LoadDroneCaseDeal(int? istoday)
|
||
//{
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// DateTime? today = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd"));
|
||
// var list = db.Queryable<Sugar_Drone_case_deal, Sugar_Drone_caseinfo>((d, c) => new JoinQueryInfos(
|
||
// JoinType.Left, d.caseid == c.Id
|
||
// ))
|
||
// .WhereIF(istoday == 1, (d, c) => d.createtime >= today)
|
||
// //.Where((d, c) => c.Id != null)
|
||
// .OrderBy((d, c) => d.createtime, OrderByType.Desc)
|
||
// .Select((d, c) => new { deal = d, caseinfo = c })
|
||
// .Take(20)
|
||
// .ToList();
|
||
// return list;
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 上报和处理案件数量
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public JObject GetTodayReportAndDealCount()
|
||
//{
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var today = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd"));
|
||
// var reportCount = db.Queryable<Sugar_Drone_caseinfo>().Where(c => c.createtime > today).Count();
|
||
// var dealCount = db.Queryable<Sugar_Drone_case_deal>().Where(c => c.createtime > today).Count();
|
||
|
||
// JObject obj = new JObject();
|
||
// obj.Add("reportCount", reportCount);
|
||
// obj.Add("dealCount", dealCount);
|
||
|
||
// return obj;
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 案件数量统计
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public JObject GetDroneCaseCount()
|
||
//{
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var notIntactCount = db.Queryable<Sugar_Drone_caseinfo>().Where(c => c.is_intact == 0).Count();
|
||
// var intactCount = db.Queryable<Sugar_Drone_caseinfo>().Where(c => c.is_intact == 1).Count();
|
||
|
||
// JObject obj = new JObject();
|
||
// obj.Add("notIntactCount", notIntactCount);
|
||
// obj.Add("intactCount", intactCount);
|
||
|
||
// return obj;
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 违建分类统计
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public object GetDroneTypeCount()
|
||
//{
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var list = db.Queryable<Sugar_Drone_caseinfo>().GroupBy(c => new { c.typename })
|
||
// .Select(c => new
|
||
// {
|
||
// c.typename,
|
||
// count = SqlFunc.AggregateCount(c.Id)
|
||
// }).ToList();
|
||
|
||
// JArray array = new JArray();
|
||
// for (int i = 0; i < list.Count; i++)
|
||
// {
|
||
// var item = list[i];
|
||
// string typename = item.typename;
|
||
// int count = item.count;
|
||
|
||
// if (string.IsNullOrEmpty(typename))
|
||
// typename = "未知";
|
||
|
||
// JObject obj = new JObject();
|
||
// obj.Add("typename", typename);
|
||
// obj.Add("count", count);
|
||
|
||
// array.Add(obj);
|
||
// }
|
||
// return array;
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 按乡镇统计
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public JArray GetDroneOrgCount()
|
||
//{
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var countyid = db.Queryable<Sugar_Org>().Where(c => c.Name == "费县").Select(c => c.Id).First();
|
||
// var streetList = db.Queryable<Sugar_Org>().Where(c => c.ParentId == countyid).OrderBy(c => c.SortNo, OrderByType.Asc).OrderBy(c => c.CreateTime, OrderByType.Asc).ToList();
|
||
|
||
// //案件上报数量
|
||
// var caseList = db.Queryable<Sugar_Drone_caseinfo>().GroupBy(c => new { c.streetid })
|
||
// .Select(c => new
|
||
// {
|
||
// c.streetid,
|
||
// count = SqlFunc.AggregateCount(c.Id),
|
||
// }).ToList();
|
||
|
||
// //案件处理数量
|
||
// //var dealList = db.Queryable<Sugar_Drone_case_deal, Sugar_Drone_caseinfo>((d, c) => new JoinQueryInfos(
|
||
// // JoinType.Left, d.caseid == c.Id
|
||
// // ))
|
||
// // .Where((d, c) => c.streetid != null && c.streetid != "")
|
||
// // .GroupBy((d, c) => new { c.streetid })
|
||
// // .Select((d, c) => new
|
||
// // {
|
||
// // c.streetid,
|
||
// // dealCount = SqlFunc.AggregateCount(c.Id)
|
||
// // }).ToList();
|
||
// var today = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd"));
|
||
|
||
// JArray array = new JArray();
|
||
|
||
// //遍历乡镇
|
||
// for (int i = 0; i < streetList.Count; i++)
|
||
// {
|
||
// //当前乡镇
|
||
// var _item = streetList[i];
|
||
|
||
// int _reportCount = 0;
|
||
|
||
// //当前乡镇上报的数量
|
||
// var _caseModel = caseList.Where(c => c.streetid == _item.Id).FirstOrDefault();
|
||
// //今日案件数
|
||
// var todayCount = db.Queryable<Sugar_Drone_caseinfo>().Where(c => c.streetid == _item.Id && c.createtime > today).Count();
|
||
// //历史案件数
|
||
// var historyCount = db.Queryable<Sugar_Drone_caseinfo>().Where(c => c.streetid == _item.Id && c.createtime < today).Count();
|
||
// if (_caseModel != null)
|
||
// {
|
||
// _reportCount = _caseModel.count;
|
||
// }
|
||
|
||
// JObject obj = new JObject();
|
||
// obj.Add("name", _item.Name);
|
||
// obj.Add("reportCount", _reportCount);
|
||
// obj.Add("todayCount", todayCount);
|
||
// obj.Add("historyCount", historyCount);
|
||
|
||
// array.Add(obj);
|
||
// }
|
||
|
||
// return array;
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 数据统计,按天统计图表
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public JArray GetDroneCaseDateCount(string type)
|
||
//{
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// DateTime begin = DateTime.Parse(DateTime.Now.AddDays(-14).ToString("yyyy-MM-dd"));
|
||
// if (type == "week")
|
||
// {
|
||
// begin = DateTime.Parse(DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd"));
|
||
// }
|
||
// else if (type == "month")
|
||
// {
|
||
// begin = DateTime.Parse(DateTime.Now.AddMonths(-1).ToString("yyyy-MM-dd"));
|
||
// }
|
||
|
||
// //查询案件数据
|
||
// var reportList = db.Queryable<Sugar_Drone_caseinfo>().Where(c => c.createtime > begin).Select(c => new { c.Id, c.createtime }).ToList();
|
||
// var dealList = db.Queryable<Sugar_Drone_case_deal>().Where(c => c.createtime > begin).Select(c => new { c.Id, c.createtime }).ToList();
|
||
|
||
// JArray array = new JArray();
|
||
// while (begin < DateTime.Now)
|
||
// {
|
||
// JObject obj = new JObject();
|
||
|
||
// //日期
|
||
// obj.Add("day", begin.ToString("yyyy-MM-dd"));
|
||
|
||
// //过滤查询数量
|
||
// int reportCount = reportList.Where(c => c.createtime >= begin && c.createtime < begin.AddDays(1)).Count();
|
||
// int dealCount = dealList.Where(c => c.createtime >= begin && c.createtime < begin.AddDays(1)).Count();
|
||
|
||
// //数量
|
||
// obj.Add("reportCount", reportCount);
|
||
// obj.Add("dealCount", dealCount);
|
||
|
||
// array.Add(obj);
|
||
|
||
// //日期+1天
|
||
// begin = begin.AddDays(1);
|
||
// }
|
||
|
||
// return array;
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 查询GeoJson
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public JToken GetDroneGeoJson()
|
||
//{
|
||
// QueryGeoJsonCommonReq req = new QueryGeoJsonCommonReq();
|
||
// req.tablename = "view_drone_shp_data";
|
||
// req.pageIndex = 1;
|
||
// req.limit = 2000;
|
||
|
||
// var res = CommonData.PgsqlGeoJsonCommon(req, _configuration);
|
||
// return res;
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 获取无人机的位置
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public object GetDroneLocationPoints()
|
||
//{
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// string time = DateTime.Now.AddMinutes(-3).ToString("yyyy-MM-dd HH:mm:ss");
|
||
// StringBuilder sql = new StringBuilder();
|
||
// sql.AppendFormat($" select \"createuser\",\"createtime\", replace(replace(replace(st_astext(geom),'POINT(',''),')',''),' ',',') point from ");
|
||
// sql.AppendFormat($" (");
|
||
// sql.AppendFormat($" SELECT \"createuser\",createtime,geom,\"row_number\"() OVER (PARTITION by \"createuser\" ORDER BY createtime desc) rownum FROM \"drone_point_data\" where createtime > '{time}' ");
|
||
// sql.AppendFormat($" ) aa where aa.rownum = 1");
|
||
|
||
|
||
// //select createuser , createtime , replace(replace(replace(st_astext(geom),'POINT(',''),')',''),' ',',') point from ");
|
||
// //(");
|
||
// // SELECT createuser ,createtime,geom, row_number () OVER (PARTITION by createuser ORDER BY createtime desc) rownum FROM drone_point_data where createtime > '{time}' ");
|
||
// //) aa where aa.rownum = 1");
|
||
|
||
// var list = db.SqlQueryable<dynamic>(sql.ToString()).ToList();
|
||
// return list;
|
||
// }
|
||
//}
|
||
///// <summary>
|
||
///// 获取无人机的历史轨迹
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public object GetDroneLocationPointsHistory(string startTime, string endTime, string userId)
|
||
//{
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// StringBuilder sql = new StringBuilder();
|
||
// sql.AppendFormat($" select \"createuser\",\"createtime\", replace(replace(replace(st_astext(geom),'POINT(',''),')',''),' ',',') point FROM \"drone_point_data\" where createtime > '{startTime}' and createtime < '{endTime}' order by \"createtime\" desc");
|
||
// var list = db.SqlQueryable<dynamic>(sql.ToString()).ToList();
|
||
// return list;
|
||
// }
|
||
//}
|
||
///// <summary>
|
||
///// 无人机飞行 假数据
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public object GetDroneLocationPointsFalse()
|
||
//{
|
||
// JArray array = new JArray();
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// StringBuilder sql = new StringBuilder();
|
||
// sql.AppendFormat($" select \"createuser\",\"createtime\", replace(replace(replace(st_astext(geom),'POINT(',''),')',''),' ',',') point from ");
|
||
// sql.AppendFormat($" drone_point_data where createtime > '2022-02-11' and createtime < '2022-02-12' order by createtime asc ");
|
||
// //var listFirst = db.SqlQueryable<dynamic>(sql.ToString()).ToList().ToJson();
|
||
|
||
// sql = new StringBuilder();
|
||
// sql.AppendFormat($" select \"createuser\",\"createtime\", replace(replace(replace(st_astext(geom),'POINT(',''),')',''),' ',',') point from ");
|
||
// sql.AppendFormat($" drone_point_data where createtime > '2022-02-15' and createtime < '2022-02-16' order by createtime asc ");
|
||
// //var listSecond = db.SqlQueryable<dynamic>(sql.ToString()).ToList().ToJson();
|
||
|
||
// JObject objA = new JObject();
|
||
// objA.Add("name", "listFirst");
|
||
// objA.Add("point", (JToken)JsonConvert.DeserializeObject("[{\"createuser\":\"13280580815\",\"createtime\":\"2022-04-22 14:22:22\",\"point\":\"117.72339712649222,35.05450202665419\"}]"));
|
||
// //117.72339712649222,35.05450202665419
|
||
// array.Add(objA);
|
||
|
||
// JObject objB = new JObject();
|
||
// objB.Add("name", "listSecond");
|
||
// objB.Add("point", (JToken)JsonConvert.DeserializeObject("[{\"createuser\":\"13280580815\",\"createtime\":\"2022-04-22 14:22:22\",\"point\":\"117.71858685321234,35.22679558236362\"}]"));
|
||
// //117.71858685321234,35.22679558236362
|
||
// array.Add(objB);
|
||
|
||
// JObject objC = new JObject();
|
||
// objC.Add("name", "listSecond");
|
||
// objC.Add("point", (JToken)JsonConvert.DeserializeObject("[{\"createuser\":\"13280580815\",\"createtime\":\"2022-04-22 14:22:22\",\"point\":\"118.07365607557824,35.20530775653663\"}]"));
|
||
// //118.07365607557824,35.20530775653663
|
||
// array.Add(objC);
|
||
|
||
// JObject objD = new JObject();
|
||
// objD.Add("name", "listSecond");
|
||
// objD.Add("point", (JToken)JsonConvert.DeserializeObject("[{\"createuser\":\"13280580815\",\"createtime\":\"2022-04-22 14:22:22\",\"point\":\"117.98160109200148,35.28244211798609\"}]"));
|
||
// //117.98160109200148,35.28244211798609
|
||
// array.Add(objD);
|
||
|
||
// JObject objE = new JObject();
|
||
// objE.Add("name", "listSecond");
|
||
// objE.Add("point", (JToken)JsonConvert.DeserializeObject("[{\"createuser\":\"13280580815\",\"createtime\":\"2022-04-22 14:22:22\",\"point\":\"117.97323242064601,35.521189135282015\"}]"));
|
||
// //117.97323242064601,35.521189135282015
|
||
// array.Add(objE);
|
||
|
||
// return array;
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 获取无人机的在线率
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public JObject GetDroneOnlinePercent()
|
||
//{
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// string time = DateTime.Now.AddMinutes(-3).ToString("yyyy-MM-dd HH:mm:ss");
|
||
// StringBuilder sql = new StringBuilder();
|
||
// sql.AppendFormat($" select \"createuser\",\"createtime\", replace(replace(replace(st_astext(geom),'POINT(',''),')',''),' ',',') point from ");
|
||
// sql.AppendFormat($" (");
|
||
// sql.AppendFormat($" SELECT \"createuser\",createtime,geom,\"row_number\"() OVER (PARTITION by \"createuser\" ORDER BY createtime desc) rownum FROM \"drone_point_data\" where createtime > '{time}' ");
|
||
// sql.AppendFormat($" ) aa where aa.rownum = 1");
|
||
|
||
// //无人机在线数量
|
||
// var onlineCount = db.SqlQueryable<dynamic>(sql.ToString()).Count();
|
||
|
||
// //无人机的总数量
|
||
// var totalCount = db.SqlQueryable<dynamic>("select distinct(\"createuser\") \"name\" from drone_point_data").Count();
|
||
|
||
// onlineCount += 5;
|
||
// totalCount += 5;
|
||
|
||
// decimal onlinePercent = Decimal.Round(100 * Decimal.Parse(onlineCount.ToString()) / Decimal.Parse(totalCount.ToString()), 2);
|
||
|
||
// JObject obj = new JObject();
|
||
// obj.Add("onlineCount", onlineCount);
|
||
// obj.Add("offlineCount", totalCount - onlineCount);
|
||
// obj.Add("totalCount", totalCount);
|
||
// obj.Add("onlinePercent", onlinePercent);
|
||
|
||
// return obj;
|
||
// }
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 统计图表已完成未完成数量
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//public JObject GetDroneCaseCompleteCount()
|
||
//{
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// JObject obj = new JObject();
|
||
|
||
// var query = db.Queryable<Sugar_Drone_caseinfo>();
|
||
// //线索总数
|
||
// var cluesCount = query.Count();
|
||
// //处理中数量1
|
||
// var inHandCount = query.Where(c => c.handle_status_id == 1).Count();
|
||
// //已完成数量2
|
||
// var completeCount = query.Where(c => c.handle_status_id == 2).Count();
|
||
|
||
// obj.Add("cluesCount", cluesCount);
|
||
// obj.Add("inHandCount", inHandCount);
|
||
// obj.Add("completeCount", completeCount);
|
||
|
||
// return obj;
|
||
// }
|
||
//}
|
||
|
||
//#endregion
|
||
|
||
//#region 复提更新
|
||
///// <summary>
|
||
///// 复提案件
|
||
///// </summary>
|
||
///// <param name="id"></param>
|
||
///// <returns></returns>
|
||
|
||
//public bool ReSubmitCaseInfo(ReSubmitInfo submitInfo)
|
||
//{
|
||
// //var user = _auth.GetCurrentUser().User;
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var flag = db.Updateable<Sugar_Drone_caseinfo>()
|
||
// .SetColumns(c => new Sugar_Drone_caseinfo
|
||
// {
|
||
// is_intact = 6,
|
||
// examinecomments = submitInfo.Remark
|
||
// })
|
||
// .Where(c => c.case_no == submitInfo.CaseNo)
|
||
// .ExecuteCommand();
|
||
|
||
// if (flag > 0)
|
||
// {
|
||
// return true;
|
||
// }
|
||
// else
|
||
// {
|
||
// return false;
|
||
// }
|
||
// }
|
||
//}
|
||
//#endregion
|
||
|
||
//#region 案件关闭
|
||
///// <summary>
|
||
///// 案件关闭
|
||
///// </summary>
|
||
///// <param name="id"></param>
|
||
///// <returns></returns>
|
||
|
||
//public bool CloseCaseInfo(CloseCaseInfo submitInfo)
|
||
//{
|
||
// //var user = _auth.GetCurrentUser().User;
|
||
// using (var db = SqlSugarOper.GetInstance(_configuration))
|
||
// {
|
||
// var flag = db.Updateable<Sugar_Drone_caseinfo>()
|
||
// .SetColumns(c => new Sugar_Drone_caseinfo
|
||
// {
|
||
// is_intact = 99,
|
||
// close_comments = submitInfo.Reason,
|
||
// close_time = DateTime.Now,
|
||
// is_closed = 1
|
||
// })
|
||
// .Where(c => c.case_no == submitInfo.CaseNo)
|
||
// .ExecuteCommand();
|
||
|
||
// if (flag > 0)
|
||
// {
|
||
// return true;
|
||
// }
|
||
// else
|
||
// {
|
||
// return false;
|
||
// }
|
||
// }
|
||
//}
|
||
// #endregion
|
||
}
|
||
}
|