using Castle.Core.Internal; using DocumentFormat.OpenXml.Office2010.Excel; using DocumentFormat.OpenXml.Spreadsheet; using Infrastructure; using Infrastructure.Extensions; using Microsoft.AspNetCore.Mvc; using NPOI.SS.Formula.Functions; using OpenAuth.App.Base; using OpenAuth.App.BasicQueryService; using OpenAuth.App.Request; using OpenAuth.App.Response; using OpenAuth.App.ServiceApp.DroneCaseInfo.Request; using OpenAuth.App.ServiceApp.Response; using OpenAuth.App.SysDatabaseLink.Response; using OpenAuth.Repository; using OpenAuth.Repository.Domain; using Org.BouncyCastle.Ocsp; using SqlSugar; using System; using System.Collections.Generic; using System.Data.Common; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; namespace OpenAuth.App { public partial class DroneCaseinfoApp { public string AsynchDroneCaseData([FromBody] AddOrUpdateAsyncDroneCaseDataReq req) { using (var db = base.UnitWork.CreateContext().Db.CopyNew()) { //案件 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().Where(c => c.Id == model.Id).Count(); //使用事务提交数据 var transFlag = db.UseTran(() => { if (_count > 0) { //已存在此数据,修改数据 db.Updateable(model).UpdateColumns(c => new { c.case_name, c.case_description, c.address, c.lng, c.lat, c.typeid, c.typename, c.drone_no, c.countyid, c.countyname, c.streetid, c.streetname, c.communityid, c.communityname, c.remark, c.area, c.pre_phase_time, c.later_phase_time, c.pre_phase_img, c.later_phase_img, }).ExecuteCommand(); } else { model.handle_status_id = 0; model.handle_status_name = "待核查"; //新增数据 db.Insertable(model).ExecuteCommand(); } if (!string.IsNullOrEmpty(model.Id)) { //新增修改图斑 //先删除,后新增 // db.Deleteable().Where(c => c.relid == model.Id).ExecuteCommand(); var _gidStr = _commonDataManager.GetMaxKeyVal("gid", "drone_shp_data", 1); 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().Where(c => c.relid == model.Id).ExecuteCommand(); db.Insertable(files).ExecuteCommand(); //关联案件 db.Deleteable().Where(c => c.caseid == model.Id).ExecuteCommand(); db.Insertable(relations).ExecuteCommand(); //案件标签 db.Deleteable().Where(a => a.caseid == model.Id).ExecuteCommand(); db.Insertable(tags).ExecuteCommand(); } }); //if (_count == 0) //{ // //发送websocket消息 // SendWebSocketMessage(type: "newcase", caseid: model.Id); // var userAccounts = db.Queryable() // .LeftJoin((r, u) => r.FirstId == u.Id && r.Key == "UserOrg" && r.SecondId == model.communityid) // .Where((r, u) => !string.IsNullOrEmpty(u.Account)) // .Select((r, u) => u.Account) // .ToList(); // userAccounts = userAccounts.Distinct().ToList(); // _pushService.SendPushNotification(model.case_no, model.case_description, userAccounts); //} AddDroneCaseLog(new DroneCaseOperationLog { request_data = Json.ToJson(req), description = "AsynchDroneCaseData", caseid = model.Id, createuserid = model.identification_userid, createusername = model.identification_user }); if (transFlag.IsSuccess) { return "同步成功"; } else throw new Exception("同步失败"); } } public async Task AsynchDroneCaseDataNew([FromBody] AddOrUpdateAsyncDroneCaseDataReq req) { string result = "同步成功"; if (req.model.typename == "部级矿产卫片图斑" || req.model.typename == "省级矿产卫片图斑") { result = AsynchDroneCaseDataKC(req); if (result != "同步成功") { return "同步失败"; } var scode = _configuration.GetSection("AppSetting:DroneCaseInfoSatelliteSchemeCode").Value; var schemeInfo = await client.Queryable().FirstAsync(a => a.Code == scode); var schemeId = schemeInfo?.SchemeId; var flag = await _wfProcessApp.SaveDraftWithUser(req.model.Id, scode, req.model.createusername, "{\"schemeId\":\"" + schemeId + "\",\"pkey\":\"Id\",\"pkeyValue\":\"" + req.model.Id + "\"}", null, null, null, 0, (req.model.case_description)); if (flag.Result) { var createFlag = await _wfProcessApp.CreateWithUser(req.model.Id, null, req.model.createusername, null, "{\"schemeId\":\"" + schemeId + "\",\"pkey\":\"Id\",\"pkeyValue\":\"" + req.model.Id + "\"}", (req.model.case_description)); } return result; } else if (req.model.typename == "加工" || req.model.typename == "开采") { result = AsynchDroneCaseDataCK(req); if (result != "同步成功") { return "同步失败"; } var scode = _configuration.GetSection("AppSetting:DroneCaseInfoMineralsSchemeCode").Value; var schemeInfo = await client.Queryable().FirstAsync(a => a.Code == scode); var schemeId = schemeInfo?.SchemeId; var flag = await _wfProcessApp.SaveDraftWithUser(req.model.Id, scode, req.model.createusername, "{\"schemeId\":\"" + schemeId + "\",\"pkey\":\"Id\",\"pkeyValue\":\"" + req.model.Id + "\"}", null, null, null, 0, (req.model.case_description)); if (flag.Result) { var createFlag = await _wfProcessApp.CreateWithUser(req.model.Id, null, req.model.createusername, null, "{\"schemeId\":\"" + schemeId + "\",\"pkey\":\"Id\",\"pkeyValue\":\"" + req.model.Id + "\"}", (req.model.case_description)); } return result; } else if (req.model.typename == "重点问题1类") { result = AsynchDroneCaseDataZdwt1(req); //if (result != "同步成功") //{ // return "同步失败"; //} //var scode = _configuration.GetSection("AppSetting:DroneCaseInfoZdwt1SchemeCode").Value; //var schemeInfo = await client.Queryable().FirstAsync(a => a.Code == scode); //var schemeId = schemeInfo?.SchemeId; //var flag = await _wfProcessApp.SaveDraftWithUser(req.model.Id, scode, req.model.createusername, "{\"schemeId\":\"" + schemeId + "\",\"pkey\":\"Id\",\"pkeyValue\":\"" + req.model.Id + "\"}", null, null, null, 0, (req.model.case_description)); //if (flag.Result) //{ // var createFlag = await _wfProcessApp.CreateWithUser(req.model.Id, null, req.model.createusername, null, "{\"schemeId\":\"" + schemeId + "\",\"pkey\":\"Id\",\"pkeyValue\":\"" + req.model.Id + "\"}", (req.model.case_description)); //} return result; } else if (req.model.typename == "重点问题2类") { result = AsynchDroneCaseDataZdwt2(req); //if (result != "同步成功") //{ // return "同步失败"; //} //var scode = _configuration.GetSection("AppSetting:DroneCaseInfoZdwt2SchemeCode").Value; //var schemeInfo = await client.Queryable().FirstAsync(a => a.Code == scode); //var schemeId = schemeInfo?.SchemeId; //var flag = await _wfProcessApp.SaveDraftWithUser(req.model.Id, scode, req.model.createusername, "{\"schemeId\":\"" + schemeId + "\",\"pkey\":\"Id\",\"pkeyValue\":\"" + req.model.Id + "\"}", null, null, null, 0, (req.model.case_description)); //if (flag.Result) //{ // var createFlag = await _wfProcessApp.CreateWithUser(req.model.Id, null, req.model.createusername, null, "{\"schemeId\":\"" + schemeId + "\",\"pkey\":\"Id\",\"pkeyValue\":\"" + req.model.Id + "\"}", (req.model.case_description)); //} return result; } else if (req.model.typename == "巡察审计") { result = AsynchDroneCaseDataXcsj(req); if (result != "同步成功") { return "同步失败"; } var scode = _configuration.GetSection("AppSetting:DroneCaseInfoXcsjSchemeCode").Value; var schemeInfo = await client.Queryable().FirstAsync(a => a.Code == scode); var schemeId = schemeInfo?.SchemeId; var flag = await _wfProcessApp.SaveDraftWithUser(req.model.Id, scode, req.model.createusername, "{\"schemeId\":\"" + schemeId + "\",\"pkey\":\"Id\",\"pkeyValue\":\"" + req.model.Id + "\"}", null, null, null, 0, (req.model.case_description)); if (flag.Result) { var createFlag = await _wfProcessApp.CreateWithUser(req.model.Id, null, req.model.createusername, null, "{\"schemeId\":\"" + schemeId + "\",\"pkey\":\"Id\",\"pkeyValue\":\"" + req.model.Id + "\"}", (req.model.case_description)); } return result; } else if (req.model.typename == "生态修复图斑") { result = AsynchDroneCaseDataSTXFOld(req); if (result != "同步成功") { return "同步失败"; } var scode = _configuration.GetSection("AppSetting:DroneCaseInfoSTXFSchemeCode").Value; var schemeInfo = await client.Queryable().FirstAsync(a => a.Code == scode); var schemeId = schemeInfo?.SchemeId; var flag = await _wfProcessApp.SaveDraftWithUser(req.model.Id, scode, req.model.createusername, "{\"schemeId\":\"" + schemeId + "\",\"pkey\":\"Id\",\"pkeyValue\":\"" + req.model.Id + "\"}", null, null, null, 0, (req.model.case_description)); if (flag.Result) { var createFlag = await _wfProcessApp.CreateWithUser(req.model.Id, null, req.model.createusername, null, "{\"schemeId\":\"" + schemeId + "\",\"pkey\":\"Id\",\"pkeyValue\":\"" + req.model.Id + "\"}", (req.model.case_description)); } return result; } else if (req.model.typename == "生态保护红线") { result = AsynchDroneCaseDataSTHXOld(req); if (result != "同步成功") { return "同步失败"; } var scode = _configuration.GetSection("AppSetting:DroneCaseInfoSTHXSchemeCode").Value; var schemeInfo = await client.Queryable().FirstAsync(a => a.Code == scode); var schemeId = schemeInfo?.SchemeId; var flag = await _wfProcessApp.SaveDraftWithUser(req.model.Id, scode, req.model.createusername, "{\"schemeId\":\"" + schemeId + "\",\"pkey\":\"Id\",\"pkeyValue\":\"" + req.model.Id + "\"}", null, null, null, 0, (req.model.case_description)); if (flag.Result) { var createFlag = await _wfProcessApp.CreateWithUser(req.model.Id, null, req.model.createusername, null, "{\"schemeId\":\"" + schemeId + "\",\"pkey\":\"Id\",\"pkeyValue\":\"" + req.model.Id + "\"}", (req.model.case_description)); } return result; } else { result = AsynchDroneCaseDataWfyd(req); if (result != "同步成功") { return "同步失败"; } var scode = _configuration.GetSection("AppSetting:SchemeCode").Value; var schemeInfo = await client.Queryable().FirstAsync(a => a.Code == scode); var schemeId = schemeInfo?.SchemeId; var flag = await _wfProcessApp.SaveDraftWithUser(req.model.Id, scode, req.model.createusername, "{\"schemeId\":\"" + schemeId + "\",\"pkey\":\"Id\",\"pkeyValue\":\"" + req.model.Id + "\"}", null, null, null, 0, (req.model.case_description)); if (flag.Result) { var createFlag = await _wfProcessApp.CreateWithUser(req.model.Id, null, req.model.createusername, null, "{\"schemeId\":\"" + schemeId + "\",\"pkey\":\"Id\",\"pkeyValue\":\"" + req.model.Id + "\"}", (req.model.case_description)); } return result; } } /// /// 同步违法用地 /// /// /// /// public string AsynchDroneCaseDataWfyd(AddOrUpdateAsyncDroneCaseDataReq req) { if (string.IsNullOrEmpty(req.model.tubanlaiyuan)) { throw new Exception("图斑来源不能为空"); } using (var db = base.UnitWork.CreateContext().Db.CopyNew()) { //查询是否存在此数据 var oldinfo = db.Queryable().Where(c => c.Id == req.model.Id).First(); if (oldinfo != null) { return "数据已存在"; } //案件 var model = req.model.MapTo(); //文件 var files = req.files; //shp var shps = req.shps; //关联案件 var relations = req.relations; //案件标签 var tags = req.tags; #region 案件资料处理 //图斑 var _gidStr = _commonDataManager.GetMaxKeyVal("gid", "drone_shp_data", 1); int _gid = int.Parse(_gidStr); string geomid = ""; for (int i = 0; i < shps.Count; i++) { var _item = shps[i]; _item.gid = _gid + i; geomid += _item.gid + ","; } model.geomid = geomid.Substring(0, geomid.Length - 1); //图片 model.casepic = files != null ? string.Join(',', files.Select(r => r.path)) : null; //平方米转化 model.area = req.model.area == null ? "0" : ConvertSquareMetersToMu(double.Parse(req.model.area)).ToString(); model.nongyongdi_area = req.model.nongyongdi_area == null ? "0" : ConvertSquareMetersToMu(double.Parse(req.model.nongyongdi_area)).ToString(); model.gengdi_area = req.model.gengdi_area == null ? "0" : ConvertSquareMetersToMu(double.Parse(req.model.gengdi_area)).ToString(); model.yongjiujibennongtian_area = req.model.yongjiujibennongtian_area == null ? "0" : ConvertSquareMetersToMu(double.Parse(req.model.yongjiujibennongtian_area)).ToString(); model.zhongdianquyu_area = req.model.zhongdianquyu_area == null ? "0" : ConvertSquareMetersToMu(double.Parse(req.model.zhongdianquyu_area)).ToString(); model.shengtaibaohuhongxian_area = req.model.shengtaibaohuhongxian_area == null ? "0" : ConvertSquareMetersToMu(double.Parse(req.model.shengtaibaohuhongxian_area)).ToString(); model.guotukongjianguihua_area = req.model.guotukongjianguihua_area == null ? "0" : ConvertSquareMetersToMu(double.Parse(req.model.guotukongjianguihua_area)).ToString(); model.synchronoustime = DateTime.Now; //model.tubanlaiyuan = string.IsNullOrEmpty(req.model.tubanlaiyuan) ? "全域巡查" : req.model.tubanlaiyuan; #endregion //使用事务提交数据 var transFlag = db.UseTran(() => { if (oldinfo != null) { //已存在此数据,修改数据 db.Updateable(model).UpdateColumns(c => new { c.case_name, c.case_description, c.address, c.lng, c.lat, c.typeid, c.typename, c.drone_no, c.countyid, c.countyname, c.streetid, c.streetname, c.communityid, c.communityname, c.remark, c.area, c.nongyongdi_area, c.gengdi_area, c.yongjiujibennongtian_area, c.zhongdianquyu_area, c.shengtaibaohuhongxian_area, c.guotukongjianguihua_area, //c.pre_phase_time, //c.later_phase_time, //c.pre_phase_img, //c.later_phase_img, c.geomid, c.casepic }).ExecuteCommand(); } else { model.address = model.countyname + " " + model.streetname + " " + model.communityname; model.handle_status_id = 0; model.handle_status_name = "待接收"; model.is_illegal = 1;//默认为违法 model.original_case_no = req.model.case_no; var prefix = db.Queryable() .Where(r => r.ItemDetailId == req.model.typeid).First()?.Prefix; Random random = new Random(); string caseno; bool isUnique; //string caseno = prefix + req.model.countyid + DateTime.Now.ToString("yyyyMMdd") + random.Next(1000, 9999).ToString(); do { caseno = prefix + req.model.countyid + DateTime.Now.ToString("yyyyMMdd") + random.Next(1000, 9999).ToString(); var count = db.Queryable().Where(c => c.case_no == caseno).Count(); isUnique = count == 0; } while (!isUnique); model.case_no = caseno; //新增数据 db.Insertable(model).ExecuteCommand(); } if (!string.IsNullOrEmpty(model.Id)) { //新增修改图斑 //先删除,后新增 //db.Deleteable().Where(c => c.relid == model.Id).ExecuteCommand(); //var _gidStr = _commonDataManager.GetMaxKeyVal("gid", "drone_shp_data", 1); //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().Where(c => c.relid == model.Id).ExecuteCommand(); db.Insertable(files).ExecuteCommand(); //关联案件 db.Deleteable().Where(c => c.caseid == model.Id).ExecuteCommand(); db.Insertable(relations).ExecuteCommand(); //案件标签 db.Deleteable().Where(a => a.caseid == model.Id).ExecuteCommand(); db.Insertable(tags).ExecuteCommand(); } }); AddDroneCaseLog(new DroneCaseOperationLog { request_data = Json.ToJson(req), description = "AsynchDroneCaseData", caseid = model.Id, createuserid = model.identification_userid, createusername = model.identification_user }); if (transFlag.IsSuccess) { return "同步成功"; } else throw new Exception("同步失败"); } } public string AsynchDroneCaseDataWfydNew(AddOrUpdateAsyncDroneCaseDataReq req) { using (var db = base.UnitWork.CreateContext()) { //案件 var model = req.model.MapTo(); //文件 var files = req.files; //shp var shps = req.shps; //关联案件 var relations = req.relations; //案件标签 var tags = req.tags; //查询是否存在此数据,根据orgcaseno判断,如果有,并且已经生成流程的,禁止修改 var oldinfo = db.DroneCaseInfoSingle.AsQueryable().Where(c => c.original_case_no == model.case_no).First(); if (oldinfo != null && db.WFProcess.AsQueryable().Where(r => r.Id == oldinfo.Id).Count() > 0) { throw new Exception("数据已存在"); } //存在旧数据并且复提表中没有复提数据,不允许复提 var resubmitInfo = db.ReSubmit.GetFirst(a => a.CaseNo == model.case_no && a.SubjectKey == "Subject_WFYD"); if (oldinfo != null && resubmitInfo == null) { throw new Exception("未发现复提请求"); } if (string.IsNullOrEmpty(req.model.tubanlaiyuan)) { throw new Exception("图斑来源不能为空"); } #region 案件资料处理 //图斑 model.geomid = ProcessShps(shps); //图片 model.casepic = files != null ? string.Join(',', files.Select(r => r.path)) : null; //平方米转化 model.area = req.model.area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.area)).ToString(); //model.nongyongdi_area = req.model.nongyongdi_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.nongyongdi_area)).ToString(); //model.gengdi_area = req.model.gengdi_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.gengdi_area)).ToString(); //model.yongjiujibennongtian_area = req.model.yongjiujibennongtian_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.yongjiujibennongtian_area)).ToString(); //model.zhongdianquyu_area = req.model.zhongdianquyu_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.zhongdianquyu_area)).ToString(); //model.shengtaibaohuhongxian_area = req.model.shengtaibaohuhongxian_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.shengtaibaohuhongxian_area)).ToString(); //model.guotukongjianguihua_area = req.model.guotukongjianguihua_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.guotukongjianguihua_area)).ToString(); if (req.model.extra_info.TryGetValue("nongyongdi_area", out var nongyongdi_area)) { model.nongyongdi_area = string.IsNullOrEmpty(nongyongdi_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(nongyongdi_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("gengdi_area", out var gengdi_area)) { model.gengdi_area = string.IsNullOrEmpty(gengdi_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(gengdi_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("yongjiujibennongtian_area", out var yongjiujibennongtian_area)) { model.yongjiujibennongtian_area = string.IsNullOrEmpty(yongjiujibennongtian_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(yongjiujibennongtian_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("zhongdianquyu_area", out var zhongdianquyu_area)) { model.zhongdianquyu_area = string.IsNullOrEmpty(zhongdianquyu_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(zhongdianquyu_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("shengtaibaohuhongxian_area", out var shengtaibaohuhongxian_area)) { model.shengtaibaohuhongxian_area = string.IsNullOrEmpty(shengtaibaohuhongxian_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(shengtaibaohuhongxian_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("guotukongjianguihua_area", out var guotukongjianguihua_area)) { model.guotukongjianguihua_area = string.IsNullOrEmpty(guotukongjianguihua_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(guotukongjianguihua_area.ToString())).ToString(); } //model.synchronoustime = DateTime.Now; #endregion model.address = model.countyname + " " + model.streetname + " " + model.communityname; model.handle_status_id = 0; model.handle_status_name = "待接收"; model.is_illegal = 1;//默认为违法 model.original_case_no = req.model.case_no; //var prefix = db.SysDataItemDetail.AsQueryable().Where(r => r.ItemDetailId == req.model.typeid).First()?.Prefix ?? "FN"; //Random random = new Random(); //string caseno; //bool isUnique; //do //{ // caseno = "FN" + req.model.countyid + DateTime.Now.ToString("yyyyMMdd") + random.Next(1000, 9999).ToString(); // var count = db.DroneCaseInfoSingle.AsQueryable().Where(c => c.case_no == caseno).Count(); // isUnique = count == 0; //} while (!isUnique); if (oldinfo != null)//如果是复提的案件,图斑不删除,只新增 { model.Id = oldinfo.Id; model.case_no = oldinfo.case_no; db.DroneCaseInfoSingle.Update(model); if (!string.IsNullOrEmpty(model.Id)) { shps.ForEach(r => r.relid = model.Id); files.ForEach(r => { r.relid = model.Id; r.Id = Guid.NewGuid().ToString(); }); relations.ForEach(r => r.caseid = model.Id); tags.ForEach(r => r.caseid = model.Id); db.DroneShpData.Delete(c => c.relid == model.Id); db.DroneShpData.InsertRange(shps); //新增及删除图片 db.DroneFiles.Delete(r => r.relid == model.Id); db.DroneFiles.InsertRange(files); //关联案件 db.DroneCaseInfoRelation.Delete(r => r.caseid == model.Id); db.DroneCaseInfoRelation.InsertRange(relations); //案件标签 db.DroneCaseInfoTag.Delete(r => r.caseid == model.Id); db.DroneCaseInfoTag.InsertRange(tags); //删除复提数据 db.ReSubmit.Delete(r => r.CaseNo == model.original_case_no && r.SubjectKey == "Subject_WFYD"); } } else { model.Id = Guid.NewGuid().ToString(); model.case_no = ""; //model.case_no = caseno; //新增数据 db.DroneCaseInfoSingle.Insert(model); if (!string.IsNullOrEmpty(model.Id)) { shps.ForEach(r => r.relid = model.Id); db.DroneShpData.InsertRange(shps); //新增修改图片 files.ForEach(r => { r.relid = model.Id; r.Id = Guid.NewGuid().ToString(); }); db.DroneFiles.InsertRange(files); //关联案件 relations.ForEach(r => { r.caseid = model.Id; }); db.DroneCaseInfoRelation.InsertRange(relations); //案件标签 tags.ForEach(r => r.caseid = model.Id); db.DroneCaseInfoTag.InsertRange(tags); } } AddDroneCaseLog(new DroneCaseOperationLog { request_data = Json.ToJson(req), description = "AsynchDroneCaseData", caseid = model.Id, createuserid = model.identification_userid, createusername = model.identification_user }); if (db.Commit()) { return model.Id; } else throw new Exception("同步失败"); } } /// /// 同步矿产 /// /// /// /// public string AsynchDroneCaseDataKC(AddOrUpdateAsyncDroneCaseDataReq req) { using (var db = base.UnitWork.CreateContext().Db.CopyNew()) { //案件 var model = req.model.MapTo(); //文件 var files = req.files; //shp var shps = req.shps; //关联案件 var relations = req.relations; //案件标签 var tags = req.tags; //查询是否存在此数据 var oldinfo = db.Queryable().Where(c => c.Id == model.Id).First(); if (oldinfo != null) { return "数据已存在"; //if (!string.IsNullOrEmpty(oldinfo.geomid)) //{ // var geomids = new List(oldinfo.geomid.Split(",")).ConvertAll(r => long.Parse(r)); // db.Deleteable().Where(c => geomids.Contains(c.gid)).ExecuteCommand(); //} } if (string.IsNullOrEmpty(req.model.tubanlaiyuan)) { throw new Exception("图斑来源不能为空"); } #region 案件资料处理 //图斑 var _gidStr = _commonDataManager.GetMaxKeyVal("gid", "drone_shp_data", 1); int _gid = int.Parse(_gidStr); string geomid = ""; for (int i = 0; i < shps.Count; i++) { var _item = shps[i]; _item.gid = _gid + i; geomid += _item.gid + ","; } model.geomid = geomid.Substring(0, geomid.Length - 1); //图片 model.casepic = files != null ? string.Join(',', files.Select(r => r.path)) : null; //平方米转化 model.area = req.model.area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.area)).ToString(); model.nongyongdi_area = req.model.nongyongdi_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.nongyongdi_area)).ToString(); model.gengdi_area = req.model.gengdi_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.gengdi_area)).ToString(); model.yongjiujibennongtian_area = req.model.yongjiujibennongtian_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.yongjiujibennongtian_area)).ToString(); model.zhongdianquyu_area = req.model.zhongdianquyu_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.zhongdianquyu_area)).ToString(); model.shengtaibaohuhongxian_area = req.model.shengtaibaohuhongxian_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.shengtaibaohuhongxian_area)).ToString(); model.guotukongjianguihua_area = req.model.guotukongjianguihua_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.guotukongjianguihua_area)).ToString(); model.synchronoustime = DateTime.Now; //model.tubanlaiyuan = string.IsNullOrEmpty(req.model.tubanlaiyuan) ? "全域巡查" : req.model.tubanlaiyuan; #endregion //使用事务提交数据 var transFlag = db.UseTran(() => { if (oldinfo != null) { //已存在此数据,修改数据 db.Updateable(model).UpdateColumns(c => new { c.case_name, c.case_description, c.address, c.lng, c.lat, c.typeid, c.typename, c.drone_no, c.countyid, c.countyname, c.streetid, c.streetname, c.communityid, c.communityname, c.remark, c.area, c.nongyongdi_area, c.gengdi_area, c.yongjiujibennongtian_area, c.zhongdianquyu_area, c.shengtaibaohuhongxian_area, c.guotukongjianguihua_area, //c.pre_phase_time, //c.later_phase_time, //c.pre_phase_img, //c.later_phase_img, c.geomid, c.casepic }).ExecuteCommand(); } else { model.address = model.countyname + " " + model.streetname + " " + model.communityname; model.handle_status_id = 0; model.handle_status_name = "待接收"; model.is_illegal = 1;//默认为违法 model.original_case_no = req.model.case_no; var prefix = db.Queryable() .Where(r => r.ItemName == req.model.typename).First()?.Prefix; Random random = new Random(); string caseno; bool isUnique; //string caseno = prefix + req.model.countyid + DateTime.Now.ToString("yyyyMMdd") + random.Next(1000, 9999).ToString(); do { caseno = prefix + req.model.countyid + DateTime.Now.ToString("yyyyMMdd") + random.Next(1000, 9999).ToString(); var count = db.Queryable().Where(c => c.case_no == caseno).Count(); isUnique = count == 0; } while (!isUnique); model.case_no = caseno; //新增数据 db.Insertable(model).ExecuteCommand(); } if (!string.IsNullOrEmpty(model.Id)) { //新增修改图斑 //先删除,后新增 //db.Deleteable().Where(c => c.relid == model.Id).ExecuteCommand(); //var _gidStr = _commonDataManager.GetMaxKeyVal("gid", "drone_shp_data", 1); //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().Where(c => c.relid == model.Id).ExecuteCommand(); db.Insertable(files).ExecuteCommand(); //关联案件 db.Deleteable().Where(c => c.caseid == model.Id).ExecuteCommand(); db.Insertable(relations).ExecuteCommand(); //案件标签 db.Deleteable().Where(a => a.caseid == model.Id).ExecuteCommand(); db.Insertable(tags).ExecuteCommand(); } }); AddDroneCaseLog(new DroneCaseOperationLog { request_data = Json.ToJson(req), description = "AsynchDroneCaseData", caseid = model.Id, createuserid = model.identification_userid, createusername = model.identification_user }); if (transFlag.IsSuccess) { return "同步成功"; } else throw new Exception("同步失败"); } } public string AsynchDroneCaseDataKCNew(AddOrUpdateAsyncDroneCaseDataReq req) { using (var db = base.UnitWork.CreateContext()) { //案件 var model = req.model.MapTo(); //文件 var files = req.files; //shp var shps = req.shps; //关联案件 var relations = req.relations; //案件标签 var tags = req.tags; //查询是否存在此数据 var oldinfo = db.DroneCaseInfoSatellite.AsQueryable().Where(c => c.original_case_no == model.case_no).First(); if (oldinfo != null && db.WFProcess.AsQueryable().Where(r => r.Id == oldinfo.Id).Count() > 0) { throw new Exception("数据已存在"); } if (string.IsNullOrEmpty(req.model.tubanlaiyuan)) { throw new Exception("图斑来源不能为空"); } #region 案件资料处理 //图斑 model.geomid = ProcessShps(shps); //图片 model.casepic = files != null ? string.Join(',', files.Select(r => r.path)) : null; //平方米转化 model.area = req.model.area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.area)).ToString(); model.nongyongdi_area = req.model.nongyongdi_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.nongyongdi_area)).ToString(); model.gengdi_area = req.model.gengdi_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.gengdi_area)).ToString(); model.yongjiujibennongtian_area = req.model.yongjiujibennongtian_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.yongjiujibennongtian_area)).ToString(); model.zhongdianquyu_area = req.model.zhongdianquyu_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.zhongdianquyu_area)).ToString(); model.shengtaibaohuhongxian_area = req.model.shengtaibaohuhongxian_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.shengtaibaohuhongxian_area)).ToString(); model.guotukongjianguihua_area = req.model.guotukongjianguihua_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.guotukongjianguihua_area)).ToString(); model.synchronoustime = DateTime.Now; //model.tubanlaiyuan = string.IsNullOrEmpty(req.model.tubanlaiyuan) ? "全域巡查" : req.model.tubanlaiyuan; #endregion model.address = model.countyname + " " + model.streetname + " " + model.communityname; model.handle_status_id = 0; model.handle_status_name = "待接收"; model.is_illegal = 1;//默认为违法 model.original_case_no = req.model.case_no; //var prefix = db.SysDataItemDetail.AsQueryable().Where(r => r.ItemName == req.model.typename).First()?.Prefix ?? "KC"; Random random = new Random(); string caseno; bool isUnique; do { caseno = "FN" + req.model.countyid + DateTime.Now.ToString("yyyyMMdd") + random.Next(1000, 9999).ToString(); var count = db.DroneCaseInfoSatellite.AsQueryable().Where(c => c.case_no == caseno).Count(); isUnique = count == 0; } while (!isUnique); if (oldinfo != null)//如果是复提的案件,图斑不删除,只新增 { model.Id = oldinfo.Id; model.case_no = oldinfo.case_no; db.DroneCaseInfoSatellite.Update(model); if (!string.IsNullOrEmpty(model.Id)) { shps.ForEach(r => r.relid = model.Id); files.ForEach(r => { r.relid = model.Id; r.Id = Guid.NewGuid().ToString(); }); relations.ForEach(r => r.caseid = model.Id); tags.ForEach(r => r.caseid = model.Id); db.DroneShpData.InsertRange(shps); //新增及删除图片 db.DroneFiles.Delete(r => r.relid == model.Id); db.DroneFiles.InsertRange(files); //关联案件 db.DroneCaseInfoRelation.Delete(r => r.caseid == model.Id); db.DroneCaseInfoRelation.InsertRange(relations); //案件标签 db.DroneCaseInfoTag.Delete(r => r.caseid == model.Id); db.DroneCaseInfoTag.InsertRange(tags); } } else { model.case_no = caseno; //新增数据 db.DroneCaseInfoSatellite.Insert(model); if (!string.IsNullOrEmpty(model.Id)) { shps.ForEach(r => r.relid = model.Id); db.DroneShpData.InsertRange(shps); //新增修改图片 files.ForEach(r => { r.relid = model.Id; r.Id = Guid.NewGuid().ToString(); }); db.DroneFiles.InsertRange(files); //关联案件 relations.ForEach(r => r.caseid = model.Id); db.DroneCaseInfoRelation.InsertRange(relations); //案件标签 tags.ForEach(r => r.caseid = model.Id); db.DroneCaseInfoTag.InsertRange(tags); } } AddDroneCaseLog(new DroneCaseOperationLog { request_data = Json.ToJson(req), description = "AsynchDroneCaseData", caseid = model.Id, createuserid = model.identification_userid, createusername = model.identification_user }); if (db.Commit()) { return "同步成功"; } else throw new Exception("同步失败"); } } public string AsynchDroneCaseDataCK(AddOrUpdateAsyncDroneCaseDataReq req) { using (var db = base.UnitWork.CreateContext().Db.CopyNew()) { //案件 var model = req.model.MapTo(); model.centerlng_base = req.model.lng.ToString(); model.centerlat_base = req.model.lat.ToString(); //model.weifaarea_base = req.model.area == null ? "0.00" : ConvertSquareMetersToMu(double.Parse(req.model.area)).ToString(); model.weifaarea_base = req.model.area; model.gengdi_area = req.model.gengdi_area == null ? "0.00" : ConvertSquareMetersToMu(double.Parse(req.model.gengdi_area)).ToString(); model.jbntarea_base = req.model.yongjiujibennongtian_area == null ? "0.00" : ConvertSquareMetersToMu(double.Parse(req.model.yongjiujibennongtian_area)).ToString(); model.qianshixiang_base = req.model.pre_phase_img == null ? "" : req.model.pre_phase_img.ToString(); model.houshixiang_base = req.model.later_phase_img == null ? "" : req.model.later_phase_img.ToString(); model.stbhhxarea_base = req.model.shengtaibaohuhongxian_area == null ? "0.00" : ConvertSquareMetersToMu(double.Parse(req.model.shengtaibaohuhongxian_area)).ToString(); model.original_case_no = req.model.case_no; var mininfo = Newtonsoft.Json.JsonConvert.DeserializeObject(req.model.mineralsinfo); model.kaicaizhuti_kcfill = mininfo.kaicaizhuti_kcfill; model.syear_base = mininfo.syear_base; model.danweiname_jgzhg = mininfo.danweiname_jgzhg; //model.zhongdianflag_base = mininfo.zhongdianflag_base; //model.ziranbaohuflag_base = mininfo.ziranbaohuflag_base; //model.ziranbaohuname_base = mininfo.ziranbaohuname_base; //model.weifakaicaiarea_base = mininfo.weifakaicaiarea_base == null ? "0.00" : ConvertSquareMetersToMu(double.Parse(mininfo.weifakaicaiarea_base)).ToString(); //model.cskfbjarea_base = mininfo.cskfbjarea_base == null ? "0.00" : ConvertSquareMetersToMu(double.Parse(mininfo.cskfbjarea_base)).ToString(); //model.tudiliyongflag_base = mininfo.tudiliyongflag_base; //model.shejichanneng_base = mininfo.shejichanneng_base; //model.weifazhandiarea_base = mininfo.weifazhandiarea_base == null ? "0.00" : ConvertSquareMetersToMu(double.Parse(mininfo.weifazhandiarea_base)).ToString(); //model.chulishixian_base = mininfo.chulishixian_base; //文件 var files = req.files; //shp var shps = req.shps; //关联案件 var relations = req.relations; //案件标签 var tags = req.tags; //查询是否存在此数据 var oldinfo = db.Queryable().Where(c => c.Id == model.Id).First(); if (oldinfo != null) { return "数据已存在"; } if (string.IsNullOrEmpty(req.model.tubanlaiyuan)) { throw new Exception("图斑来源不能为空"); } #region 案件资料处理 //图斑 var _gidStr = _commonDataManager.GetMaxKeyVal("gid", "drone_shp_data", 1); int _gid = int.Parse(_gidStr); string geomid = ""; for (int i = 0; i < shps.Count; i++) { var _item = shps[i]; _item.gid = _gid + i; geomid += _item.gid + ","; } model.geomid = string.IsNullOrEmpty(geomid) ? "" : geomid.Substring(0, geomid.Length - 1); model.xiafatime_base = DateTime.Now; //图片 model.tubanpic_base = files != null ? string.Join(',', files.Select(r => r.path)) : null; ////平方米转化 //model.area = req.model.area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.area)).ToString(); //model.nongyongdi_area = req.model.nongyongdi_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.nongyongdi_area)).ToString(); //model.gengdi_area = req.model.gengdi_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.gengdi_area)).ToString(); //model.yongjiujibennongtian_area = req.model.yongjiujibennongtian_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.yongjiujibennongtian_area)).ToString(); //model.zhongdianquyu_area = req.model.zhongdianquyu_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.zhongdianquyu_area)).ToString(); //model.shengtaibaohuhongxian_area = req.model.shengtaibaohuhongxian_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.shengtaibaohuhongxian_area)).ToString(); //model.guotukongjianguihua_area = req.model.guotukongjianguihua_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.guotukongjianguihua_area)).ToString(); //model.synchronoustime = DateTime.Now; //model.tubanlaiyuan = string.IsNullOrEmpty(req.model.tubanlaiyuan) ? "全域巡查" : req.model.tubanlaiyuan; #endregion //使用事务提交数据 var transFlag = db.UseTran(() => { if (oldinfo != null) { } else { //model.address = model.countyname + " " + model.streetname + " " + model.communityname; model.handle_status_id = 1; //model.handle_status_name = "待接收"; //model.is_illegal = 1;//默认为违法 //model.original_case_no = req.model.case_no; var prefix = db.Queryable() .Where(r => r.ItemName == req.model.typename).First()?.Prefix; Random random = new Random(); string caseno; bool isUnique; //string caseno = prefix + req.model.countyid + DateTime.Now.ToString("yyyyMMdd") + random.Next(1000, 9999).ToString(); do { caseno = (string.IsNullOrEmpty(prefix) ? "KC" : prefix) + req.model.countyid + DateTime.Now.ToString("yyyyMMdd") + random.Next(1000, 9999).ToString(); var count = db.Queryable().Where(c => c.case_no == caseno).Count(); isUnique = count == 0; } while (!isUnique); model.case_no = caseno; //新增数据 db.Insertable(model).ExecuteCommand(); } if (!string.IsNullOrEmpty(model.Id)) { //新增修改图斑 //先删除,后新增 //db.Deleteable().Where(c => c.relid == model.Id).ExecuteCommand(); //var _gidStr = _commonDataManager.GetMaxKeyVal("gid", "drone_shp_data", 1); //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().Where(c => c.relid == model.Id).ExecuteCommand(); db.Insertable(files).ExecuteCommand(); //关联案件 db.Deleteable().Where(c => c.caseid == model.Id).ExecuteCommand(); db.Insertable(relations).ExecuteCommand(); //案件标签 db.Deleteable().Where(a => a.caseid == model.Id).ExecuteCommand(); db.Insertable(tags).ExecuteCommand(); } }); //需要放开 //AddDroneCaseLog(new DroneCaseOperationLog { request_data = Json.ToJson(req), description = "AsynchDroneCaseData", caseid = model.Id, createuserid = model.identification_userid, createusername = model.identification_user }); if (transFlag.IsSuccess) { return "同步成功"; } else throw new Exception("同步失败"); } } /// /// 采矿 /// /// /// /// public string AsynchDroneCaseDataCKNew(AddOrUpdateAsyncDroneCaseDataReq req) { using (var db = base.UnitWork.CreateContext()) { //案件 var model = req.model.MapTo(); model.centerlng_base = req.model.lng.ToString(); model.centerlat_base = req.model.lat.ToString(); model.weifaarea_base = req.model.area == null ? "0.00" : ConvertSquareMetersToMu(double.Parse(req.model.area)).ToString(); // model.gengdi_area = req.model.gengdi_area == null ? "0.00" : ConvertSquareMetersToMu(double.Parse(req.model.gengdi_area)).ToString(); // model.jbntarea_base = req.model.yongjiujibennongtian_area == null ? "0.00" : ConvertSquareMetersToMu(double.Parse(req.model.yongjiujibennongtian_area)).ToString(); model.qianshixiang_base = req.model.pre_phase_img == null ? "" : req.model.pre_phase_img.ToString(); model.houshixiang_base = req.model.later_phase_img == null ? "" : req.model.later_phase_img.ToString(); //model.stbhhxarea_base = req.model.shengtaibaohuhongxian_area == null ? "0.00" : ConvertSquareMetersToMu(double.Parse(req.model.shengtaibaohuhongxian_area)).ToString(); model.original_case_no = req.model.case_no; model.typename = null; if (req.model.extra_info.TryGetValue("gengdi_area", out var gengdi_area)) { if (string.IsNullOrEmpty(gengdi_area?.ToString())) { model.gengdi_area = "0.00"; } else { model.gengdi_area = ConvertSquareMetersToMu(double.Parse(gengdi_area.ToString())).ToString(); } // model.gengdi_area = string.IsNullOrEmpty(gengdi_area?.ToString()) == null ? "0.00" : ConvertSquareMetersToMu(double.Parse(req.model.extra_info["gengdi_area"].ToString())).ToString(); } if (req.model.extra_info.TryGetValue("yongjiujibennongtian_area", out var jbntarea_base)) { if (string.IsNullOrEmpty(jbntarea_base?.ToString())) { model.jbntarea_base = "0.00"; } else { model.jbntarea_base = ConvertSquareMetersToMu(double.Parse(jbntarea_base.ToString())).ToString(); } } //if (req.model.extra_info.TryGetValue("nongyongdi_area", out var nongyongdi_area)) //{ // model.jbntarea_base = string.IsNullOrEmpty(nongyongdi_area?.ToString()) // ? "0.00" // : ConvertSquareMetersToMu(double.Parse(nongyongdi_area.ToString())).ToString(); //} if (req.model.extra_info.TryGetValue("shengtaibaohuhongxian_area", out var stbhhxarea_base)) { if (string.IsNullOrEmpty(stbhhxarea_base?.ToString())) { model.stbhhxarea_base = "0.00"; } else { model.stbhhxarea_base = ConvertSquareMetersToMu(double.Parse(stbhhxarea_base.ToString())).ToString(); } //model.stbhhxarea_base = stbhhxarea_base == null ? "0.00" : ConvertSquareMetersToMu(double.Parse(req.model.extra_info["stbhhxarea_base"].ToString())).ToString(); } if (req.model.extra_info.TryGetValue("kaicaizhuti_kcfill", out var kcfill)) { model.kaicaizhuti_kcfill = kcfill == null ? null : kcfill.ToString(); } if (req.model.extra_info.TryGetValue("syear_base", out var syearBase)) { model.syear_base = syearBase == null ? DateTime.Now.Year.ToString() : syearBase.ToString(); } if (req.model.extra_info.TryGetValue("danweiname_jgzhg", out var danweiName)) { model.danweiname_jgzhg = danweiName == null ? null : danweiName.ToString(); } if (req.model.extra_info.TryGetValue("zhongdianflag_base", out var zhongdianFlag)) { model.zhongdianflag_base = zhongdianFlag == null ? null : zhongdianFlag.ToString(); } if (req.model.extra_info.TryGetValue("ziranbaohuflag_base", out var ziranbaohuFlag)) { model.ziranbaohuflag_base = ziranbaohuFlag == null ? null : ziranbaohuFlag.ToString(); } if (req.model.extra_info.TryGetValue("ziranbaohuname_base", out var ziranbaohuName)) { model.ziranbaohuname_base = ziranbaohuName == null ? null : ziranbaohuName.ToString(); } if (req.model.extra_info.TryGetValue("weifakaicaiarea_base", out var weifaKaicaiarea)) { if (string.IsNullOrEmpty(weifaKaicaiarea?.ToString())) { model.weifakaicaiarea_base = "0.00"; } else { model.weifakaicaiarea_base = ConvertSquareMetersToMu(double.Parse(weifaKaicaiarea.ToString())).ToString(); } //model.weifakaicaiarea_base = weifaKaicaiarea == null ? "0.00" : ConvertSquareMetersToMu(double.Parse(req.model.extra_info["weifakaicaiarea_base"].ToString())).ToString(); } if (req.model.extra_info.TryGetValue("cskfbjarea_base", out var cskfbjArea)) { if (string.IsNullOrEmpty(cskfbjArea?.ToString())) { model.cskfbjarea_base = "0.00"; } else { model.cskfbjarea_base = ConvertSquareMetersToMu(double.Parse(cskfbjArea.ToString())).ToString(); } //model.cskfbjarea_base = cskfbjArea == null ? "0.00" : ConvertSquareMetersToMu(double.Parse(req.model.extra_info["cskfbjarea_base"].ToString())).ToString(); ; } if (req.model.extra_info.TryGetValue("tudiliyongflag_base", out var tudiliyongFlag)) { model.tudiliyongflag_base = tudiliyongFlag == null ? null : tudiliyongFlag.ToString(); } if (req.model.extra_info.TryGetValue("shejichanneng_base", out var shejiChanneng)) { model.shejichanneng_base = shejiChanneng == null ? null : decimal.Parse(req.model.extra_info["shejichanneng_base"].ToString()); } if (req.model.extra_info.TryGetValue("weifazhandiarea_base", out var weifazhandiArea)) { if (string.IsNullOrEmpty(weifazhandiArea?.ToString())) { model.weifazhandiarea_base = "0.00"; } else { model.weifazhandiarea_base = ConvertSquareMetersToMu(double.Parse(weifazhandiArea.ToString())).ToString(); } //model.weifazhandiarea_base = weifazhandiArea == null ? "0.00" : ConvertSquareMetersToMu(double.Parse(req.model.extra_info["weifazhandiarea_base"].ToString())).ToString(); } if (req.model.extra_info.TryGetValue("chulishixian_base", out var chulishiXian)) { model.chulishixian_base = chulishiXian == null ? null : DateTime.Parse(req.model.extra_info["chulishixian_base"].ToString()); } //文件 var files = req.files; //shp var shps = req.shps; //关联案件 var relations = req.relations; //案件标签 var tags = req.tags; //查询是否存在此数据 var oldinfo = db.DroneCaseInfoMinerals.AsQueryable().Where(c => c.original_case_no == model.case_no).First(); if (oldinfo != null && db.WFProcess.AsQueryable().Where(r => r.Id == oldinfo.Id).Count() > 0) { throw new Exception("数据已存在"); } //存在旧数据并且复提表中没有复提数据,不允许复提 var resubmitInfo = db.ReSubmit.GetFirst(a => a.CaseNo == model.case_no && a.SubjectKey == "Subject_FFCK"); if (oldinfo != null && resubmitInfo == null) { throw new Exception("未发现复提请求"); } if (string.IsNullOrEmpty(req.model.tubanlaiyuan)) { throw new Exception("图斑来源不能为空"); } #region 案件资料处理 //图斑 model.geomid = ProcessShps(shps); model.xiafatime_base = DateTime.Now; //图片 model.tubanpic_base = files != null ? string.Join(',', files.Select(r => r.path)) : null; ////平方米转化 //model.area = req.model.area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.area)).ToString(); //model.nongyongdi_area = req.model.nongyongdi_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.nongyongdi_area)).ToString(); //model.gengdi_area = req.model.gengdi_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.gengdi_area)).ToString(); //model.yongjiujibennongtian_area = req.model.yongjiujibennongtian_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.yongjiujibennongtian_area)).ToString(); //model.zhongdianquyu_area = req.model.zhongdianquyu_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.zhongdianquyu_area)).ToString(); //model.shengtaibaohuhongxian_area = req.model.shengtaibaohuhongxian_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.shengtaibaohuhongxian_area)).ToString(); //model.guotukongjianguihua_area = req.model.guotukongjianguihua_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.guotukongjianguihua_area)).ToString(); //model.synchronoustime = DateTime.Now; //model.tubanlaiyuan = string.IsNullOrEmpty(req.model.tubanlaiyuan) ? "全域巡查" : req.model.tubanlaiyuan; #endregion //model.address = model.countyname + " " + model.streetname + " " + model.communityname; model.handle_status_id = 1; //model.handle_status_name = "待接收"; //model.is_illegal = 1;//默认为违法 //model.original_case_no = req.model.case_no; // var prefix = db.SysDataItemDetail.AsQueryable().Where(r => r.ItemName == req.model.typename).First()?.Prefix; Random random = new Random(); string caseno; bool isUnique; do { caseno = "KC" + req.model.countyid + DateTime.Now.ToString("yyyyMMdd") + random.Next(1000, 9999).ToString(); var count = db.DroneCaseInfoMinerals.AsQueryable().Where(c => c.case_no == caseno).Count(); isUnique = count == 0; } while (!isUnique); model.case_no = caseno; if (oldinfo != null) { model.Id = oldinfo.Id; model.case_no = oldinfo.case_no; db.DroneCaseInfoMinerals.Update(model); if (!string.IsNullOrEmpty(model.Id)) { shps.ForEach(r => r.relid = model.Id); files.ForEach(r => { r.relid = model.Id; r.Id = Guid.NewGuid().ToString(); }); relations.ForEach(r => r.caseid = model.Id); tags.ForEach(r => r.caseid = model.Id); db.DroneShpData.Delete(c => c.relid == model.Id); db.DroneShpData.InsertRange(shps); //新增及删除图片 db.DroneFiles.Delete(r => r.relid == model.Id); db.DroneFiles.InsertRange(files); //关联案件 db.DroneCaseInfoRelation.Delete(r => r.caseid == model.Id); db.DroneCaseInfoRelation.InsertRange(relations); //案件标签 db.DroneCaseInfoTag.Delete(r => r.caseid == model.Id); db.DroneCaseInfoTag.InsertRange(tags); //删除复提数据 db.ReSubmit.Delete(r => r.CaseNo == model.original_case_no && r.SubjectKey == "Subject_FFCK"); } } else { model.Id = Guid.NewGuid().ToString(); //新增数据 db.DroneCaseInfoMinerals.Insert(model); if (!string.IsNullOrEmpty(model.Id)) { shps.ForEach(r => r.relid = model.Id); db.DroneShpData.InsertRange(shps); //新增修改图片 files.ForEach(r => { r.relid = model.Id; r.Id = Guid.NewGuid().ToString(); }); db.DroneFiles.InsertRange(files); //关联案件 relations.ForEach(r => r.caseid = model.Id); db.DroneCaseInfoRelation.InsertRange(relations); //案件标签 tags.ForEach(r => r.caseid = model.Id); db.DroneCaseInfoTag.InsertRange(tags); } } AddDroneCaseLog(new DroneCaseOperationLog { request_data = Json.ToJson(req), description = "AsynchDroneCaseData", caseid = model.Id, createuserid = model.identification_user, createusername = model.identification_user }); if (db.Commit()) { return "同步成功"; } else throw new Exception("同步失败"); } } /// /// 重点问题1 /// /// /// /// public string AsynchDroneCaseDataZdwt1(AddOrUpdateAsyncDroneCaseDataReq req) { using (var db = base.UnitWork.CreateContext().Db.CopyNew()) { //案件 var model = req.model.MapTo(); //文件 var files = req.files; //shp var shps = req.shps; //关联案件 var relations = req.relations; //案件标签 var tags = req.tags; //查询是否存在此数据 var oldinfo = db.Queryable().Where(c => c.Id == model.Id).First(); if (oldinfo != null) { return "数据已存在"; } if (string.IsNullOrEmpty(req.model.tubanlaiyuan)) { throw new Exception("图斑来源不能为空"); } #region 案件资料处理 //图斑 var _gidStr = _commonDataManager.GetMaxKeyVal("gid", "drone_shp_data", 1); int _gid = int.Parse(_gidStr); string geomid = ""; for (int i = 0; i < shps.Count; i++) { var _item = shps[i]; _item.gid = _gid + i; geomid += _item.gid + ","; } model.geomid = geomid.Substring(0, geomid.Length - 1); model.original_case_no = req.model.case_no; model.synchronoustime = null; //图片 //model.casepic = files != null ? string.Join(',', files.Select(r => r.path)) : null; ////平方米转化 //model.area = req.model.area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.area)).ToString(); //model.nongyongdi_area = req.model.nongyongdi_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.nongyongdi_area)).ToString(); //model.gengdi_area = req.model.gengdi_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.gengdi_area)).ToString(); //model.yongjiujibennongtian_area = req.model.yongjiujibennongtian_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.yongjiujibennongtian_area)).ToString(); //model.zhongdianquyu_area = req.model.zhongdianquyu_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.zhongdianquyu_area)).ToString(); //model.shengtaibaohuhongxian_area = req.model.shengtaibaohuhongxian_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.shengtaibaohuhongxian_area)).ToString(); //model.guotukongjianguihua_area = req.model.guotukongjianguihua_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.guotukongjianguihua_area)).ToString(); //model.synchronoustime = DateTime.Now; //model.tubanlaiyuan = string.IsNullOrEmpty(req.model.tubanlaiyuan) ? "全域巡查" : req.model.tubanlaiyuan; #endregion //使用事务提交数据 var transFlag = db.UseTran(() => { if (oldinfo != null) { } else { model.handle_status_id = 0; model.handle_status_name = "待接收"; //var prefix = db.Queryable() // .Where(r => r.ItemDetailId == req.model.typeid).First()?.Prefix; Random random = new Random(); string caseno; bool isUnique; //string caseno = prefix + req.model.countyid + DateTime.Now.ToString("yyyyMMdd") + random.Next(1000, 9999).ToString(); do { caseno = "WJ" + req.model.countyid + DateTime.Now.ToString("yyyyMMdd") + random.Next(1000, 9999).ToString(); var count = db.Queryable().Where(c => c.case_no == caseno).Count(); isUnique = count == 0; } while (!isUnique); model.case_no = caseno; //新增数据 db.Insertable(model).ExecuteCommand(); } if (!string.IsNullOrEmpty(model.Id)) { db.Insertable(shps).ExecuteCommand(); //新增修改图片 //先删除,后新增 db.Deleteable().Where(c => c.relid == model.Id).ExecuteCommand(); db.Insertable(files).ExecuteCommand(); //关联案件 db.Deleteable().Where(c => c.caseid == model.Id).ExecuteCommand(); db.Insertable(relations).ExecuteCommand(); //案件标签 db.Deleteable().Where(a => a.caseid == model.Id).ExecuteCommand(); db.Insertable(tags).ExecuteCommand(); } }); AddDroneCaseLog(new DroneCaseOperationLog { request_data = Json.ToJson(req), description = "AsynchDroneCaseData", caseid = model.Id, createuserid = model.identification_userid, createusername = model.identification_user }); if (transFlag.IsSuccess) { return "同步成功"; } else throw new Exception("同步失败"); } } public string AsynchDroneCaseDataZdwt1New(AddOrUpdateAsyncDroneCaseDataReq req) { using (var db = base.UnitWork.CreateContext()) { //案件 var model = req.model.MapTo(); //文件 var files = req.files; //shp var shps = req.shps; //关联案件 var relations = req.relations; //案件标签 var tags = req.tags; //查询是否存在此数据 var oldinfo = db.DroneCaseInfoZdwt1.AsQueryable().Where(c => c.original_case_no == model.case_no).First(); if (oldinfo != null && db.WFProcess.AsQueryable().Where(r => r.Id == oldinfo.Id).Count() > 0) { throw new Exception("数据已存在"); } //存在旧数据并且复提表中没有复提数据,不允许复提 var resubmitInfo = db.ReSubmit.GetFirst(a => a.CaseNo == model.case_no && a.SubjectKey == "Subject_ZDWT1"); if (oldinfo != null && resubmitInfo == null) { throw new Exception("未发现复提请求"); } if (string.IsNullOrEmpty(req.model.tubanlaiyuan)) { throw new Exception("图斑来源不能为空"); } #region 案件资料处理 model.original_case_no = req.model.case_no; model.typename = "重点问题Ⅰ类"; //图斑 model.geomid = ProcessShps(shps); //图片 model.casepic = files != null ? string.Join(',', files.Select(r => r.path)) : null; //平方米转化 model.area = req.model.area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.area)).ToString(); //model.nongyongdi_area = req.model.nongyongdi_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.nongyongdi_area)).ToString(); //model.gengdi_area = req.model.gengdi_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.gengdi_area)).ToString(); //model.yongjiujibennongtian_area = req.model.yongjiujibennongtian_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.yongjiujibennongtian_area)).ToString(); //model.zhongdianquyu_area = req.model.zhongdianquyu_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.zhongdianquyu_area)).ToString(); //model.shengtaibaohuhongxian_area = req.model.shengtaibaohuhongxian_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.shengtaibaohuhongxian_area)).ToString(); //model.guotukongjianguihua_area = req.model.guotukongjianguihua_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.guotukongjianguihua_area)).ToString(); if (req.model.extra_info.TryGetValue("nongyongdi_area", out var nongyongdi_area)) { model.nongyongdi_area = string.IsNullOrEmpty(nongyongdi_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(nongyongdi_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("gengdi_area", out var gengdi_area)) { model.gengdi_area = string.IsNullOrEmpty(gengdi_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(gengdi_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("yongjiujibennongtian_area", out var yongjiujibennongtian_area)) { model.yongjiujibennongtian_area = string.IsNullOrEmpty(yongjiujibennongtian_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(yongjiujibennongtian_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("zhongdianquyu_area", out var zhongdianquyu_area)) { model.zhongdianquyu_area = string.IsNullOrEmpty(zhongdianquyu_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(zhongdianquyu_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("shengtaibaohuhongxian_area", out var shengtaibaohuhongxian_area)) { model.shengtaibaohuhongxian_area = string.IsNullOrEmpty(shengtaibaohuhongxian_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(shengtaibaohuhongxian_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("guotukongjianguihua_area", out var guotukongjianguihua_area)) { model.guotukongjianguihua_area = string.IsNullOrEmpty(guotukongjianguihua_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(guotukongjianguihua_area.ToString())).ToString(); } model.synchronoustime = DateTime.Now; //model.tubanlaiyuan = string.IsNullOrEmpty(req.model.tubanlaiyuan) ? "全域巡查" : req.model.tubanlaiyuan; #endregion model.handle_status_id = 0; model.handle_status_name = "待接收"; Random random = new Random(); string caseno; bool isUnique; do { caseno = "WJ" + req.model.countyid + DateTime.Now.ToString("yyyyMMdd") + random.Next(1000, 9999).ToString(); var count = db.DroneCaseInfoZdwt1.AsQueryable().Where(c => c.case_no == caseno).Count(); isUnique = count == 0; } while (!isUnique); model.case_no = caseno; if (oldinfo != null) { model.Id = oldinfo.Id; model.case_no = oldinfo.case_no; //新增数据 db.DroneCaseInfoZdwt1.Update(model); if (!string.IsNullOrEmpty(model.Id)) { shps.ForEach(r => r.relid = model.Id); files.ForEach(r => { r.relid = model.Id; r.Id = Guid.NewGuid().ToString(); }); relations.ForEach(r => r.caseid = model.Id); tags.ForEach(r => r.caseid = model.Id); db.DroneShpData.Delete(c => c.relid == model.Id); db.DroneShpData.InsertRange(shps); //新增及删除图片 db.DroneFiles.Delete(r => r.relid == model.Id); db.DroneFiles.InsertRange(files); //关联案件 db.DroneCaseInfoRelation.Delete(r => r.caseid == model.Id); db.DroneCaseInfoRelation.InsertRange(relations); //案件标签 db.DroneCaseInfoTag.Delete(r => r.caseid == model.Id); db.DroneCaseInfoTag.InsertRange(tags); //删除复提数据 db.ReSubmit.Delete(r => r.CaseNo == model.original_case_no && r.SubjectKey == "Subject_ZDWT1"); } } else { model.Id = Guid.NewGuid().ToString(); //新增数据 db.DroneCaseInfoZdwt1.Insert(model); if (!string.IsNullOrEmpty(model.Id)) { shps.ForEach(r => r.relid = model.Id); db.DroneShpData.InsertRange(shps); //新增修改图片 files.ForEach(r => { r.relid = model.Id; r.Id = Guid.NewGuid().ToString(); }); db.DroneFiles.InsertRange(files); //关联案件 relations.ForEach(r => r.caseid = model.Id); db.DroneCaseInfoRelation.InsertRange(relations); //案件标签 tags.ForEach(r => r.caseid = model.Id); db.DroneCaseInfoTag.InsertRange(tags); } } AddDroneCaseLog(new DroneCaseOperationLog { request_data = Json.ToJson(req), description = "AsynchDroneCaseData", caseid = model.Id, createuserid = model.identification_userid, createusername = model.identification_user }); if (db.Commit()) { return "同步成功"; } else throw new Exception("同步失败"); } } /// /// 重点问题2 /// /// /// /// public string AsynchDroneCaseDataZdwt2(AddOrUpdateAsyncDroneCaseDataReq req) { using (var db = base.UnitWork.CreateContext().Db.CopyNew()) { //案件 var model = req.model.MapTo(); //文件 var files = req.files; //shp var shps = req.shps; //关联案件 var relations = req.relations; //案件标签 var tags = req.tags; //查询是否存在此数据 var oldinfo = db.Queryable().Where(c => c.Id == model.Id).First(); if (oldinfo != null) { return "数据已存在"; } if (string.IsNullOrEmpty(req.model.tubanlaiyuan)) { throw new Exception("图斑来源不能为空"); } #region 案件资料处理 //图斑 var _gidStr = _commonDataManager.GetMaxKeyVal("gid", "drone_shp_data", 1); int _gid = int.Parse(_gidStr); string geomid = ""; for (int i = 0; i < shps.Count; i++) { var _item = shps[i]; _item.gid = _gid + i; geomid += _item.gid + ","; } model.geomid = geomid.Substring(0, geomid.Length - 1); model.original_case_no = req.model.case_no; //图片 //model.casepic = files != null ? string.Join(',', files.Select(r => r.path)) : null; ////平方米转化 //model.area = req.model.area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.area)).ToString(); //model.nongyongdi_area = req.model.nongyongdi_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.nongyongdi_area)).ToString(); //model.gengdi_area = req.model.gengdi_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.gengdi_area)).ToString(); //model.yongjiujibennongtian_area = req.model.yongjiujibennongtian_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.yongjiujibennongtian_area)).ToString(); //model.zhongdianquyu_area = req.model.zhongdianquyu_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.zhongdianquyu_area)).ToString(); //model.shengtaibaohuhongxian_area = req.model.shengtaibaohuhongxian_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.shengtaibaohuhongxian_area)).ToString(); //model.guotukongjianguihua_area = req.model.guotukongjianguihua_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.guotukongjianguihua_area)).ToString(); model.synchronoustime = DateTime.Now; //model.tubanlaiyuan = string.IsNullOrEmpty(req.model.tubanlaiyuan) ? "全域巡查" : req.model.tubanlaiyuan; #endregion //使用事务提交数据 var transFlag = db.UseTran(() => { if (oldinfo != null) { } else { model.handle_status_id = 0; model.handle_status_name = "待接收"; Random random = new Random(); string caseno; bool isUnique; //string caseno = prefix + req.model.countyid + DateTime.Now.ToString("yyyyMMdd") + random.Next(1000, 9999).ToString(); do { caseno = "WJ" + req.model.countyid + DateTime.Now.ToString("yyyyMMdd") + random.Next(1000, 9999).ToString(); var count = db.Queryable().Where(c => c.case_no == caseno).Count(); isUnique = count == 0; } while (!isUnique); model.case_no = caseno; //新增数据 db.Insertable(model).ExecuteCommand(); } if (!string.IsNullOrEmpty(model.Id)) { db.Insertable(shps).ExecuteCommand(); //新增修改图片 //先删除,后新增 db.Deleteable().Where(c => c.relid == model.Id).ExecuteCommand(); db.Insertable(files).ExecuteCommand(); //关联案件 db.Deleteable().Where(c => c.caseid == model.Id).ExecuteCommand(); db.Insertable(relations).ExecuteCommand(); //案件标签 db.Deleteable().Where(a => a.caseid == model.Id).ExecuteCommand(); db.Insertable(tags).ExecuteCommand(); } }); AddDroneCaseLog(new DroneCaseOperationLog { request_data = Json.ToJson(req), description = "AsynchDroneCaseData", caseid = model.Id, createuserid = model.identification_userid, createusername = model.identification_user }); if (transFlag.IsSuccess) { return "同步成功"; } else throw new Exception("同步失败"); } } public string AsynchDroneCaseDataZdwt2New(AddOrUpdateAsyncDroneCaseDataReq req) { using (var db = base.UnitWork.CreateContext()) { //案件 var model = req.model.MapTo(); //文件 var files = req.files; //shp var shps = req.shps; //关联案件 var relations = req.relations; //案件标签 var tags = req.tags; //查询是否存在此数据 var oldinfo = db.DroneCaseInfoZdwt2.AsQueryable().Where(c => c.original_case_no == model.case_no).First(); if (oldinfo != null && db.WFProcess.AsQueryable().Where(r => r.Id == oldinfo.Id).Count() > 0) { throw new Exception("数据已存在"); } //存在旧数据并且复提表中没有复提数据,不允许复提 var resubmitInfo = db.ReSubmit.GetFirst(a => a.CaseNo == model.case_no && a.SubjectKey == "Subject_ZDWT2"); if (oldinfo != null && resubmitInfo == null) { throw new Exception("未发现复提请求"); } if (string.IsNullOrEmpty(req.model.tubanlaiyuan)) { throw new Exception("图斑来源不能为空"); } #region 案件资料处理 model.original_case_no = req.model.case_no; model.typename = "重点问题Ⅱ类"; //图斑 model.geomid = ProcessShps(shps); //图片 model.casepic = files != null ? string.Join(',', files.Select(r => r.path)) : null; //平方米转化 model.area = req.model.area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.area)).ToString(); //model.nongyongdi_area = req.model.nongyongdi_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.nongyongdi_area)).ToString(); //model.gengdi_area = req.model.gengdi_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.gengdi_area)).ToString(); //model.yongjiujibennongtian_area = req.model.yongjiujibennongtian_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.yongjiujibennongtian_area)).ToString(); //model.zhongdianquyu_area = req.model.zhongdianquyu_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.zhongdianquyu_area)).ToString(); //model.shengtaibaohuhongxian_area = req.model.shengtaibaohuhongxian_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.shengtaibaohuhongxian_area)).ToString(); //model.guotukongjianguihua_area = req.model.guotukongjianguihua_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.guotukongjianguihua_area)).ToString(); if (req.model.extra_info.TryGetValue("nongyongdi_area", out var nongyongdi_area)) { model.nongyongdi_area = string.IsNullOrEmpty(nongyongdi_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(nongyongdi_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("gengdi_area", out var gengdi_area)) { model.gengdi_area = string.IsNullOrEmpty(gengdi_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(gengdi_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("yongjiujibennongtian_area", out var yongjiujibennongtian_area)) { model.yongjiujibennongtian_area = string.IsNullOrEmpty(yongjiujibennongtian_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(yongjiujibennongtian_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("zhongdianquyu_area", out var zhongdianquyu_area)) { model.zhongdianquyu_area = string.IsNullOrEmpty(zhongdianquyu_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(zhongdianquyu_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("shengtaibaohuhongxian_area", out var shengtaibaohuhongxian_area)) { model.shengtaibaohuhongxian_area = string.IsNullOrEmpty(shengtaibaohuhongxian_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(shengtaibaohuhongxian_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("guotukongjianguihua_area", out var guotukongjianguihua_area)) { model.guotukongjianguihua_area = string.IsNullOrEmpty(guotukongjianguihua_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(guotukongjianguihua_area.ToString())).ToString(); } model.synchronoustime = DateTime.Now; //model.tubanlaiyuan = string.IsNullOrEmpty(req.model.tubanlaiyuan) ? "全域巡查" : req.model.tubanlaiyuan; #endregion model.handle_status_id = 0; model.handle_status_name = "待接收"; Random random = new Random(); string caseno; bool isUnique; //string caseno = prefix + req.model.countyid + DateTime.Now.ToString("yyyyMMdd") + random.Next(1000, 9999).ToString(); do { caseno = "WJ" + req.model.countyid + DateTime.Now.ToString("yyyyMMdd") + random.Next(1000, 9999).ToString(); var count = db.DroneCaseInfoZdwt2.AsQueryable().Where(c => c.case_no == caseno).Count(); isUnique = count == 0; } while (!isUnique); model.case_no = caseno; if (oldinfo != null) { model.Id = oldinfo.Id; model.case_no = oldinfo.case_no; //新增数据 db.DroneCaseInfoZdwt2.Update(model); if (!string.IsNullOrEmpty(model.Id)) { shps.ForEach(r => r.relid = model.Id); files.ForEach(r => { r.relid = model.Id; r.Id = Guid.NewGuid().ToString(); }); relations.ForEach(r => r.caseid = model.Id); tags.ForEach(r => r.caseid = model.Id); db.DroneShpData.Delete(c => c.relid == model.Id); db.DroneShpData.InsertRange(shps); //新增及删除图片 db.DroneFiles.Delete(r => r.relid == model.Id); db.DroneFiles.InsertRange(files); //关联案件 db.DroneCaseInfoRelation.Delete(r => r.caseid == model.Id); db.DroneCaseInfoRelation.InsertRange(relations); //案件标签 db.DroneCaseInfoTag.Delete(r => r.caseid == model.Id); db.DroneCaseInfoTag.InsertRange(tags); //删除复提数据 db.ReSubmit.Delete(r => r.CaseNo == model.original_case_no && r.SubjectKey == "Subject_ZDWT2"); } } else { model.Id = Guid.NewGuid().ToString(); //新增数据 db.DroneCaseInfoZdwt2.Insert(model); if (!string.IsNullOrEmpty(model.Id)) { shps.ForEach(r => r.relid = model.Id); db.DroneShpData.InsertRange(shps); //新增修改图片 files.ForEach(r => { r.relid = model.Id; r.Id = Guid.NewGuid().ToString(); }); db.DroneFiles.InsertRange(files); //关联案件 relations.ForEach(r => r.caseid = model.Id); db.DroneCaseInfoRelation.InsertRange(relations); //案件标签 tags.ForEach(r => r.caseid = model.Id); db.DroneCaseInfoTag.InsertRange(tags); } } AddDroneCaseLog(new DroneCaseOperationLog { request_data = Json.ToJson(req), description = "AsynchDroneCaseData", caseid = model.Id, createuserid = model.identification_userid, createusername = model.identification_user }); if (db.Commit()) { return "同步成功"; } else throw new Exception("同步失败"); } } /// /// 巡察审计 /// /// /// /// public string AsynchDroneCaseDataXcsj(AddOrUpdateAsyncDroneCaseDataReq req) { using (var db = base.UnitWork.CreateContext().Db.CopyNew()) { //案件 var model = req.model.MapTo(); //文件 var files = req.files; //shp var shps = req.shps; //关联案件 var relations = req.relations; //案件标签 var tags = req.tags; //查询是否存在此数据 var oldinfo = db.Queryable().Where(c => c.Id == model.Id).First(); if (oldinfo != null) { return "数据已存在"; //if (!string.IsNullOrEmpty(oldinfo.geomid)) //{ // var geomids = new List(oldinfo.geomid.Split(",")).ConvertAll(r => long.Parse(r)); // db.Deleteable().Where(c => geomids.Contains(c.gid)).ExecuteCommand(); //} } if (string.IsNullOrEmpty(req.model.tubanlaiyuan)) { throw new Exception("图斑来源不能为空"); } #region 案件资料处理 //图斑 var _gidStr = _commonDataManager.GetMaxKeyVal("gid", "drone_shp_data", 1); int _gid = int.Parse(_gidStr); string geomid = ""; for (int i = 0; i < shps.Count; i++) { var _item = shps[i]; _item.gid = _gid + i; geomid += _item.gid + ","; } model.geomid = geomid.Substring(0, geomid.Length - 1); //图片 model.casepic = files != null ? string.Join(',', files.Select(r => r.path)) : null; //平方米转化 model.area = req.model.area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.area)).ToString(); model.nongyongdi_area = req.model.nongyongdi_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.nongyongdi_area)).ToString(); model.gengdi_area = req.model.gengdi_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.gengdi_area)).ToString(); model.yongjiujibennongtian_area = req.model.yongjiujibennongtian_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.yongjiujibennongtian_area)).ToString(); model.zhongdianquyu_area = req.model.zhongdianquyu_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.zhongdianquyu_area)).ToString(); model.shengtaibaohuhongxian_area = req.model.shengtaibaohuhongxian_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.shengtaibaohuhongxian_area)).ToString(); model.guotukongjianguihua_area = req.model.guotukongjianguihua_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.guotukongjianguihua_area)).ToString(); model.synchronoustime = DateTime.Now; //model.tubanlaiyuan = string.IsNullOrEmpty(req.model.tubanlaiyuan) ? "全域巡查" : req.model.tubanlaiyuan; #endregion //使用事务提交数据 var transFlag = db.UseTran(() => { if (oldinfo != null) { } else { model.address = model.countyname + " " + model.streetname + " " + model.communityname; model.handle_status_id = 0; model.handle_status_name = "待接收"; model.original_case_no = req.model.case_no; model.case_no = req.model.case_no; //var prefix = db.Queryable() // .Where(r => r.ItemDetailId == req.model.typeid).First()?.Prefix; //Random random = new Random(); //string caseno; //bool isUnique; ////string caseno = prefix + req.model.countyid + DateTime.Now.ToString("yyyyMMdd") + random.Next(1000, 9999).ToString(); //do //{ // caseno = prefix + req.model.countyid + DateTime.Now.ToString("yyyyMMdd") + random.Next(1000, 9999).ToString(); // var count = db.Queryable().Where(c => c.case_no == caseno).Count(); // isUnique = count == 0; //} while (!isUnique); //model.case_no = caseno; //新增数据 db.Insertable(model).ExecuteCommand(); } if (!string.IsNullOrEmpty(model.Id)) { //新增修改图斑 //先删除,后新增 //db.Deleteable().Where(c => c.relid == model.Id).ExecuteCommand(); //var _gidStr = _commonDataManager.GetMaxKeyVal("gid", "drone_shp_data", 1); //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().Where(c => c.relid == model.Id).ExecuteCommand(); db.Insertable(files).ExecuteCommand(); //关联案件 db.Deleteable().Where(c => c.caseid == model.Id).ExecuteCommand(); db.Insertable(relations).ExecuteCommand(); //案件标签 db.Deleteable().Where(a => a.caseid == model.Id).ExecuteCommand(); db.Insertable(tags).ExecuteCommand(); } }); AddDroneCaseLog(new DroneCaseOperationLog { request_data = Json.ToJson(req), description = "AsynchDroneCaseData", caseid = model.Id, createuserid = model.identification_userid, createusername = model.identification_user }); if (transFlag.IsSuccess) { return "同步成功"; } else throw new Exception("同步失败"); } } public string AsynchDroneCaseDataXcsjNew(AddOrUpdateAsyncDroneCaseDataReq req) { using (var db = base.UnitWork.CreateContext()) { //案件 var model = req.model.MapTo(); //文件 var files = req.files; //shp var shps = req.shps; //关联案件 var relations = req.relations; //案件标签 var tags = req.tags; //查询是否存在此数据 var oldinfo = db.DroneCaseInfoXcsj.AsQueryable().Where(c => c.original_case_no == model.case_no).First(); if (oldinfo != null && db.WFProcess.AsQueryable().Where(r => r.Id == oldinfo.Id).Count() > 0) { throw new Exception("数据已存在"); } //存在旧数据并且复提表中没有复提数据,不允许复提 var resubmitInfo = db.ReSubmit.GetFirst(a => a.CaseNo == model.case_no && a.SubjectKey == "Subject_XCSJ"); if (oldinfo != null && resubmitInfo == null) { throw new Exception("未发现复提请求"); } if (string.IsNullOrEmpty(req.model.tubanlaiyuan)) { throw new Exception("图斑来源不能为空"); } #region 案件资料处理 model.typename = "巡察审计"; //图斑 model.geomid = ProcessShps(shps); //图片 model.casepic = files != null ? string.Join(',', files.Select(r => r.path)) : null; //平方米转化 model.area = req.model.area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.area)).ToString(); //model.nongyongdi_area = req.model.nongyongdi_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.nongyongdi_area)).ToString(); //model.gengdi_area = req.model.gengdi_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.gengdi_area)).ToString(); //model.yongjiujibennongtian_area = req.model.yongjiujibennongtian_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.yongjiujibennongtian_area)).ToString(); //model.zhongdianquyu_area = req.model.zhongdianquyu_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.zhongdianquyu_area)).ToString(); //model.shengtaibaohuhongxian_area = req.model.shengtaibaohuhongxian_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.shengtaibaohuhongxian_area)).ToString(); //model.guotukongjianguihua_area = req.model.guotukongjianguihua_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.guotukongjianguihua_area)).ToString(); if (req.model.extra_info.TryGetValue("nongyongdi_area", out var nongyongdi_area)) { model.nongyongdi_area = string.IsNullOrEmpty(nongyongdi_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(nongyongdi_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("gengdi_area", out var gengdi_area)) { model.gengdi_area = string.IsNullOrEmpty(gengdi_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(gengdi_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("yongjiujibennongtian_area", out var yongjiujibennongtian_area)) { model.yongjiujibennongtian_area = string.IsNullOrEmpty(yongjiujibennongtian_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(yongjiujibennongtian_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("zhongdianquyu_area", out var zhongdianquyu_area)) { model.zhongdianquyu_area = string.IsNullOrEmpty(zhongdianquyu_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(zhongdianquyu_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("shengtaibaohuhongxian_area", out var shengtaibaohuhongxian_area)) { model.shengtaibaohuhongxian_area = string.IsNullOrEmpty(shengtaibaohuhongxian_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(shengtaibaohuhongxian_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("guotukongjianguihua_area", out var guotukongjianguihua_area)) { model.guotukongjianguihua_area = string.IsNullOrEmpty(guotukongjianguihua_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(guotukongjianguihua_area.ToString())).ToString(); } model.synchronoustime = DateTime.Now; //model.tubanlaiyuan = string.IsNullOrEmpty(req.model.tubanlaiyuan) ? "全域巡查" : req.model.tubanlaiyuan; #endregion model.address = model.countyname + " " + model.streetname + " " + model.communityname; model.handle_status_id = 0; model.handle_status_name = "待接收"; model.original_case_no = req.model.case_no; //model.case_no = req.model.case_no; //var prefix = db.Queryable() // .Where(r => r.ItemDetailId == req.model.typeid).First()?.Prefix; Random random = new Random(); string caseno; bool isUnique; //string caseno = prefix + req.model.countyid + DateTime.Now.ToString("yyyyMMdd") + random.Next(1000, 9999).ToString(); do { caseno = req.model.countyid + DateTime.Now.ToString("yyyyMMdd") + random.Next(1000, 9999).ToString(); var count = db.DroneCaseInfoXcsj.AsQueryable().Where(c => c.case_no == caseno).Count(); isUnique = count == 0; } while (!isUnique); model.case_no = caseno; if (oldinfo != null) { model.Id = oldinfo.Id; model.case_no = oldinfo.case_no; //新增数据 db.DroneCaseInfoXcsj.Update(model); if (!string.IsNullOrEmpty(model.Id)) { shps.ForEach(r => r.relid = model.Id); files.ForEach(r => { r.relid = model.Id; r.Id = Guid.NewGuid().ToString(); }); relations.ForEach(r => r.caseid = model.Id); tags.ForEach(r => r.caseid = model.Id); db.DroneShpData.Delete(c => c.relid == model.Id); db.DroneShpData.InsertRange(shps); //新增及删除图片 db.DroneFiles.Delete(r => r.relid == model.Id); db.DroneFiles.InsertRange(files); //关联案件 db.DroneCaseInfoRelation.Delete(r => r.caseid == model.Id); db.DroneCaseInfoRelation.InsertRange(relations); //案件标签 db.DroneCaseInfoTag.Delete(r => r.caseid == model.Id); db.DroneCaseInfoTag.InsertRange(tags); //删除复提数据 db.ReSubmit.Delete(r => r.CaseNo == model.original_case_no && r.SubjectKey == "Subject_XCSJ"); } } else { model.Id = Guid.NewGuid().ToString(); //新增数据 db.DroneCaseInfoXcsj.Insert(model); if (!string.IsNullOrEmpty(model.Id)) { shps.ForEach(r => r.relid = model.Id); db.DroneShpData.InsertRange(shps); //新增修改图片 files.ForEach(r => { r.relid = model.Id; r.Id = Guid.NewGuid().ToString(); }); db.DroneFiles.InsertRange(files); //关联案件 relations.ForEach(r => r.caseid = model.Id); db.DroneCaseInfoRelation.InsertRange(relations); //案件标签 tags.ForEach(r => r.caseid = model.Id); db.DroneCaseInfoTag.InsertRange(tags); } } AddDroneCaseLog(new DroneCaseOperationLog { request_data = Json.ToJson(req), description = "AsynchDroneCaseData", caseid = model.Id, createuserid = model.identification_userid, createusername = model.identification_user }); if (db.Commit()) { return "同步成功"; } else throw new Exception("同步失败"); } } public string AsynchDroneCaseDataSTXFOld(AddOrUpdateAsyncDroneCaseDataReq req) { using (var db = base.UnitWork.CreateContext()) { //案件 var model = req.model.MapTo(); //文件 var files = req.files; //shp var shps = req.shps; //关联案件 var relations = req.relations; //案件标签 var tags = req.tags; if (string.IsNullOrEmpty(req.model.tubanlaiyuan)) { throw new Exception("图斑来源不能为空"); } #region 案件资料处理 model.original_case_no = req.model.case_no; //图斑 model.geomid = ProcessShps(shps); //图片 model.casepic = files != null ? string.Join(',', files.Select(r => r.path)) : null; //平方米转化 model.area = req.model.area; model.synchronoustime = DateTime.Now; #endregion model.handle_status_id = 0; model.handle_status_name = "待接收"; Random random = new Random(); string caseno; bool isUnique; do { caseno = req.model.countyid + DateTime.Now.ToString("yyyyMMdd") + random.Next(1000, 9999).ToString(); var count = db.DroneCaseInfoSTXF.AsQueryable().Where(c => c.case_no == caseno).Count(); isUnique = count == 0; } while (!isUnique); model.case_no = caseno; //新增数据 db.DroneCaseInfoSTXF.Insert(model); if (!string.IsNullOrEmpty(model.Id)) { shps.ForEach(r => r.relid = model.Id); db.DroneShpData.InsertRange(shps); //新增修改图片 files.ForEach(r => { r.relid = model.Id; }); db.DroneFiles.InsertRange(files); } AddDroneCaseLog(new DroneCaseOperationLog { request_data = Json.ToJson(req), description = "AsynchDroneCaseData", caseid = model.Id, createuserid = model.identification_userid, createusername = model.identification_user }); if (db.Commit()) { return "同步成功"; } else throw new Exception("同步失败"); } } /// /// 同步非粮化 /// /// /// /// public string AsynchDroneCaseDataFLH([FromBody] AddOrUpdateAsyncDroneCaseDataReq req) { using (var db = base.UnitWork.CreateContext().Db.CopyNew()) { //案件 var model = req.model.MapTo(); //文件 var files = req.files; //shp var shps = req.shps; //关联案件 var relations = req.relations; //案件标签 var tags = req.tags; //查询是否存在此数据 var oldinfo = db.Queryable().Where(c => c.Id == model.Id).First(); if (oldinfo != null) { if (!string.IsNullOrEmpty(oldinfo.geomid)) { var geomids = new List(oldinfo.geomid.Split(",")).ConvertAll(r => long.Parse(r)); db.Deleteable().Where(c => geomids.Contains(c.gid)).ExecuteCommand(); } } #region 案件资料处理 //图斑 var _gidStr = _commonDataManager.GetMaxKeyVal("gid", "drone_shp_data", 1); int _gid = int.Parse(_gidStr); string geomid = ""; for (int i = 0; i < shps.Count; i++) { var _item = shps[i]; _item.gid = _gid + i; geomid += _item.gid + ","; } model.geomid = geomid.Substring(0, geomid.Length - 1); //图片 model.casepic = files != null ? string.Join(',', files.Select(r => r.path)) : null; //平方米转化 model.area = req.model.area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.area)).ToString(); model.nongyongdi_area = req.model.nongyongdi_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.nongyongdi_area)).ToString(); model.gengdi_area = req.model.gengdi_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.gengdi_area)).ToString(); model.yongjiujibennongtian_area = req.model.yongjiujibennongtian_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.yongjiujibennongtian_area)).ToString(); model.zhongdianquyu_area = req.model.zhongdianquyu_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.zhongdianquyu_area)).ToString(); model.shengtaibaohuhongxian_area = req.model.shengtaibaohuhongxian_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.shengtaibaohuhongxian_area)).ToString(); model.guotukongjianguihua_area = req.model.guotukongjianguihua_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.guotukongjianguihua_area)).ToString(); model.tubanlaiyuan = "全域巡查"; #endregion //使用事务提交数据 var transFlag = db.UseTran(() => { if (oldinfo != null) { //已存在此数据,修改数据 db.Updateable(model).UpdateColumns(c => new { c.case_name, c.case_description, c.address, c.lng, c.lat, c.typeid, c.typename, c.drone_no, c.countyid, c.countyname, c.streetid, c.streetname, c.communityid, c.communityname, c.remark, c.area, c.nongyongdi_area, c.gengdi_area, c.yongjiujibennongtian_area, c.zhongdianquyu_area, c.shengtaibaohuhongxian_area, c.guotukongjianguihua_area, //c.pre_phase_time, //c.later_phase_time, //c.pre_phase_img, //c.later_phase_img, c.geomid, c.casepic }).ExecuteCommand(); } else { model.address = model.countyname + " " + model.streetname + " " + model.communityname; model.handle_status_id = 0; model.handle_status_name = "待接收"; model.is_illegal = 1;//默认为违法 model.original_case_no = req.model.case_no; var prefix = db.Queryable() .Where(r => r.ItemDetailId == req.model.typeid).First()?.Prefix; Random random = new Random(); string caseno; bool isUnique; //string caseno = prefix + req.model.countyid + DateTime.Now.ToString("yyyyMMdd") + random.Next(1000, 9999).ToString(); do { caseno = prefix + req.model.countyid + DateTime.Now.ToString("yyyyMMdd") + random.Next(1000, 9999).ToString(); var count = db.Queryable().Where(c => c.case_no == caseno).Count(); isUnique = count == 0; } while (!isUnique); model.case_no = caseno; //新增数据 db.Insertable(model).ExecuteCommand(); } if (!string.IsNullOrEmpty(model.Id)) { //新增修改图斑 //先删除,后新增 //db.Deleteable().Where(c => c.relid == model.Id).ExecuteCommand(); //var _gidStr = _commonDataManager.GetMaxKeyVal("gid", "drone_shp_data", 1); //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().Where(c => c.relid == model.Id).ExecuteCommand(); db.Insertable(files).ExecuteCommand(); //关联案件 db.Deleteable().Where(c => c.caseid == model.Id).ExecuteCommand(); db.Insertable(relations).ExecuteCommand(); //案件标签 db.Deleteable().Where(a => a.caseid == model.Id).ExecuteCommand(); db.Insertable(tags).ExecuteCommand(); } }); AddDroneCaseLog(new DroneCaseOperationLog { request_data = Json.ToJson(req), description = "AsynchDroneCaseData", caseid = model.Id, createuserid = model.identification_userid, createusername = model.identification_user }); if (transFlag.IsSuccess) { return "同步成功"; } else throw new Exception("同步失败"); } } public string AsynchDroneCaseDataFLHNew([FromBody] AddOrUpdateAsyncDroneCaseDataReq req) { using (var db = base.UnitWork.CreateContext()) { //案件 var model = req.model.MapTo(); //文件 var files = req.files; //shp var shps = req.shps; //关联案件 var relations = req.relations; //案件标签 var tags = req.tags; //查询是否存在此数据 var oldinfo = db.DroneCaseInfoFLH.AsQueryable().Where(c => c.original_case_no == model.case_no).First(); if (oldinfo != null && db.WFProcess.AsQueryable().Where(r => r.Id == oldinfo.Id).Count() > 0) { throw new Exception("数据已存在"); } //存在旧数据并且复提表中没有复提数据,不允许复提 var resubmitInfo = db.ReSubmit.GetFirst(a => a.CaseNo == model.case_no && a.SubjectKey == "Subject_GDFLH"); if (oldinfo != null && resubmitInfo == null) { throw new Exception("未发现复提请求"); } if (string.IsNullOrEmpty(req.model.tubanlaiyuan)) { throw new Exception("图斑来源不能为空"); } #region 案件资料处理 //图斑 model.geomid = ProcessShps(shps); //图片 model.casepic = files != null ? string.Join(',', files.Select(r => r.path)) : null; //平方米转化 model.area = req.model.area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.area)).ToString(); //model.nongyongdi_area = req.model.nongyongdi_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.nongyongdi_area)).ToString(); //model.gengdi_area = req.model.gengdi_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.gengdi_area)).ToString(); //model.yongjiujibennongtian_area = req.model.yongjiujibennongtian_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.yongjiujibennongtian_area)).ToString(); //model.zhongdianquyu_area = req.model.zhongdianquyu_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.zhongdianquyu_area)).ToString(); //model.shengtaibaohuhongxian_area = req.model.shengtaibaohuhongxian_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.shengtaibaohuhongxian_area)).ToString(); //model.guotukongjianguihua_area = req.model.guotukongjianguihua_area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.guotukongjianguihua_area)).ToString(); if (req.model.extra_info.TryGetValue("nongyongdi_area", out var nongyongdi_area)) { model.nongyongdi_area = string.IsNullOrEmpty(nongyongdi_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(nongyongdi_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("gengdi_area", out var gengdi_area)) { model.gengdi_area = string.IsNullOrEmpty(gengdi_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(gengdi_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("yongjiujibennongtian_area", out var yongjiujibennongtian_area)) { model.yongjiujibennongtian_area = string.IsNullOrEmpty(yongjiujibennongtian_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(yongjiujibennongtian_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("zhongdianquyu_area", out var zhongdianquyu_area)) { model.zhongdianquyu_area = string.IsNullOrEmpty(zhongdianquyu_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(zhongdianquyu_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("shengtaibaohuhongxian_area", out var shengtaibaohuhongxian_area)) { model.shengtaibaohuhongxian_area = string.IsNullOrEmpty(shengtaibaohuhongxian_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(shengtaibaohuhongxian_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("guotukongjianguihua_area", out var guotukongjianguihua_area)) { model.guotukongjianguihua_area = string.IsNullOrEmpty(guotukongjianguihua_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(guotukongjianguihua_area.ToString())).ToString(); } #endregion model.address = model.countyname + " " + model.streetname + " " + model.communityname; model.handle_status_id = 0; model.handle_status_name = "待接收"; model.is_illegal = 1;//默认为违法 model.original_case_no = req.model.case_no; model.synchronoustime = DateTime.Now; //var prefix = db.SysDataItemDetail.AsQueryable().Where(r => r.ItemDetailId == req.model.typeid).First()?.Prefix ?? "FN"; //Random random = new Random(); //string caseno; //bool isUnique; //do //{ // caseno = prefix + req.model.countyid + DateTime.Now.ToString("yyyyMMdd") + random.Next(1000, 9999).ToString(); // var count = db.DroneCaseInfoFLH.AsQueryable().Where(c => c.case_no == caseno).Count(); // isUnique = count == 0; //} while (!isUnique); //model.case_no = caseno; if (oldinfo != null) { model.Id = oldinfo.Id; model.case_no = oldinfo.case_no; //新增数据 db.DroneCaseInfoFLH.Update(model); if (!string.IsNullOrEmpty(model.Id)) { shps.ForEach(r => r.relid = model.Id); files.ForEach(r => { r.relid = model.Id; r.Id = Guid.NewGuid().ToString(); }); relations.ForEach(r => r.caseid = model.Id); tags.ForEach(r => r.caseid = model.Id); db.DroneShpData.Delete(c => c.relid == model.Id); db.DroneShpData.InsertRange(shps); //新增及删除图片 db.DroneFiles.Delete(r => r.relid == model.Id); db.DroneFiles.InsertRange(files); //关联案件 db.DroneCaseInfoRelation.Delete(r => r.caseid == model.Id); db.DroneCaseInfoRelation.InsertRange(relations); //案件标签 db.DroneCaseInfoTag.Delete(r => r.caseid == model.Id); db.DroneCaseInfoTag.InsertRange(tags); //删除复提数据 db.ReSubmit.Delete(r => r.CaseNo == model.original_case_no && r.SubjectKey == "Subject_GDFLH"); } } else { model.Id = Guid.NewGuid().ToString(); model.case_no = ""; //新增数据 db.DroneCaseInfoFLH.Insert(model); if (!string.IsNullOrEmpty(model.Id)) { shps.ForEach(r => r.relid = model.Id); db.DroneShpData.InsertRange(shps); //新增修改图片 files.ForEach(r => { r.relid = model.Id; r.Id = Guid.NewGuid().ToString(); }); db.DroneFiles.InsertRange(files); //关联案件 relations.ForEach(r => r.caseid = model.Id); db.DroneCaseInfoRelation.InsertRange(relations); //案件标签 tags.ForEach(r => r.caseid = model.Id); db.DroneCaseInfoTag.InsertRange(tags); } } AddDroneCaseLog(new DroneCaseOperationLog { request_data = Json.ToJson(req), description = "AsynchDroneCaseData", caseid = model.Id, createuserid = model.identification_userid, createusername = model.identification_user }); if (db.Commit()) { return "同步成功"; } else throw new Exception("同步失败"); } } public string AsynchDroneCaseDataSTHXOld(AddOrUpdateAsyncDroneCaseDataReq req) { using (var db = base.UnitWork.CreateContext()) { //案件 var model = req.model.MapTo(); //文件 var files = req.files; //shp var shps = req.shps; //关联案件 var relations = req.relations; //案件标签 var tags = req.tags; if (string.IsNullOrEmpty(req.model.tubanlaiyuan)) { throw new Exception("图斑来源不能为空"); } #region 案件资料处理 model.original_case_no = req.model.case_no; //图斑 model.geomid = ProcessShps(shps); //图片 model.casepic = files != null ? string.Join(',', files.Select(r => r.path)) : null; //平方米转化 model.area = req.model.area; model.synchronoustime = DateTime.Now; #endregion model.handle_status_id = 0; model.handle_status_name = "待接收"; Random random = new Random(); string caseno; bool isUnique; do { caseno = "STHX" + req.model.countyid + DateTime.Now.ToString("yyyyMMdd") + random.Next(1000, 9999).ToString(); var count = db.DroneCaseInfoSTHX.AsQueryable().Where(c => c.case_no == caseno).Count(); isUnique = count == 0; } while (!isUnique); model.case_no = caseno; //新增数据 db.DroneCaseInfoSTHX.Insert(model); if (!string.IsNullOrEmpty(model.Id)) { shps.ForEach(r => r.relid = model.Id); db.DroneShpData.InsertRange(shps); //新增修改图片 //files.ForEach(r => { r.relid = model.Id; }); //db.DroneFiles.InsertRange(files); } AddDroneCaseLog(new DroneCaseOperationLog { request_data = Json.ToJson(req), description = "AsynchDroneCaseData", caseid = model.Id, createuserid = model.identification_userid, createusername = model.identification_user }); if (db.Commit()) { return "同步成功"; } else throw new Exception("同步失败"); } } /// /// 生态红线 /// /// /// /// public string AsynchDroneCaseDataSTHX(AddOrUpdateAsyncDroneCaseDataReq req) { using (var db = base.UnitWork.CreateContext()) { //案件 var model = req.model.MapTo(); //文件 var files = req.files; //shp var shps = req.shps; //关联案件 var relations = req.relations; //案件标签 var tags = req.tags; //查询是否存在此数据 var oldinfo = db.DroneCaseInfoSTHX.AsQueryable().Where(c => c.original_case_no == model.case_no).First(); if (oldinfo != null && db.WFProcess.AsQueryable().Where(r => r.Id == oldinfo.Id).Count() > 0) { throw new Exception("数据已存在"); } //存在旧数据并且复提表中没有复提数据,不允许复提 var resubmitInfo = db.ReSubmit.GetFirst(a => a.CaseNo == req.model.case_no && a.SubjectKey == "Subject_STBHHXJG"); if (oldinfo != null && resubmitInfo == null) { throw new Exception("未发现复提请求"); } if (string.IsNullOrEmpty(req.model.tubanlaiyuan)) { throw new Exception("图斑来源不能为空"); } #region 案件资料处理 model.original_case_no = req.model.case_no; //图斑 model.geomid = ProcessShps(shps); //图片 model.casepic = files != null ? string.Join(',', files.Select(r => r.path)) : null; //平方米转化 model.area = req.model.area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.area)).ToString(); if (req.model.extra_info.TryGetValue("nongyongdi_area", out var nongyongdi_area)) { model.nongyongdi_area = string.IsNullOrEmpty(nongyongdi_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(nongyongdi_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("gengdi_area", out var gengdi_area)) { model.gengdi_area = string.IsNullOrEmpty(gengdi_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(gengdi_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("yongjiujibennongtian_area", out var yongjiujibennongtian_area)) { model.yongjiujibennongtian_area = string.IsNullOrEmpty(yongjiujibennongtian_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(yongjiujibennongtian_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("zhongdianquyu_area", out var zhongdianquyu_area)) { model.zhongdianquyu_area = string.IsNullOrEmpty(zhongdianquyu_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(zhongdianquyu_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("shengtaibaohuhongxian_area", out var shengtaibaohuhongxian_area)) { model.shengtaibaohuhongxian_area = string.IsNullOrEmpty(shengtaibaohuhongxian_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(shengtaibaohuhongxian_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("guotukongjianguihua_area", out var guotukongjianguihua_area)) { model.guotukongjianguihua_area = string.IsNullOrEmpty(guotukongjianguihua_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(guotukongjianguihua_area.ToString())).ToString(); } model.synchronoustime = DateTime.Now; #endregion model.handle_status_id = 0; model.handle_status_name = "待接收"; Random random = new Random(); string caseno; bool isUnique; do { caseno = req.model.countyid + DateTime.Now.ToString("yyyyMMdd") + random.Next(1000, 9999).ToString(); var count = db.DroneCaseInfoSTHX.AsQueryable().Where(c => c.case_no == caseno).Count(); isUnique = count == 0; } while (!isUnique); model.case_no = caseno; if (oldinfo != null) { model.Id = oldinfo.Id; model.case_no = oldinfo.case_no; //新增数据 db.DroneCaseInfoSTHX.Update(model); if (!string.IsNullOrEmpty(model.Id)) { shps.ForEach(r => r.relid = model.Id); files.ForEach(r => { r.relid = model.Id; r.Id = Guid.NewGuid().ToString(); }); relations.ForEach(r => r.caseid = model.Id); tags.ForEach(r => r.caseid = model.Id); db.DroneShpData.Delete(c => c.relid == model.Id); db.DroneShpData.InsertRange(shps); //新增及删除图片 db.DroneFiles.Delete(r => r.relid == model.Id); db.DroneFiles.InsertRange(files); //关联案件 db.DroneCaseInfoRelation.Delete(r => r.caseid == model.Id); db.DroneCaseInfoRelation.InsertRange(relations); //案件标签 db.DroneCaseInfoTag.Delete(r => r.caseid == model.Id); db.DroneCaseInfoTag.InsertRange(tags); //删除复提数据 db.ReSubmit.Delete(r => r.CaseNo == model.original_case_no && r.SubjectKey == "Subject_ZDWT2"); } } else { model.Id = Guid.NewGuid().ToString(); //新增数据 db.DroneCaseInfoSTHX.Insert(model); if (!string.IsNullOrEmpty(model.Id)) { shps.ForEach(r => r.relid = model.Id); db.DroneShpData.InsertRange(shps); //新增修改图片 files.ForEach(r => { r.relid = model.Id; r.Id = Guid.NewGuid().ToString(); }); db.DroneFiles.InsertRange(files); //关联案件 relations.ForEach(r => r.caseid = model.Id); db.DroneCaseInfoRelation.InsertRange(relations); //案件标签 tags.ForEach(r => r.caseid = model.Id); db.DroneCaseInfoTag.InsertRange(tags); } } AddDroneCaseLog(new DroneCaseOperationLog { request_data = Json.ToJson(req), description = "AsynchDroneCaseData", caseid = model.Id, createuserid = model.identification_userid, createusername = model.identification_user }); if (db.Commit()) { return "同步成功"; } else throw new Exception("同步失败"); } } /// /// 生态修复 /// /// /// /// public string AsynchDroneCaseDataSTXF(AddOrUpdateAsyncDroneCaseDataReq req) { using (var db = base.UnitWork.CreateContext()) { //案件 var model = req.model.MapTo(); //文件 var files = req.files; //shp var shps = req.shps; //关联案件 var relations = req.relations; //案件标签 var tags = req.tags; //查询是否存在此数据 var oldinfo = db.DroneCaseInfoSTXF.AsQueryable().Where(c => c.original_case_no == model.case_no).First(); if (oldinfo != null && db.WFProcess.AsQueryable().Where(r => r.Id == oldinfo.Id).Count() > 0) { throw new Exception("数据已存在"); } //存在旧数据并且复提表中没有复提数据,不允许复提 var resubmitInfo = db.ReSubmit.GetFirst(a => a.CaseNo == req.model.case_no && a.SubjectKey == "Subject_STXF"); if (oldinfo != null && resubmitInfo == null) { throw new Exception("未发现复提请求"); } if (string.IsNullOrEmpty(req.model.tubanlaiyuan)) { throw new Exception("图斑来源不能为空"); } #region 案件资料处理 model.original_case_no = req.model.case_no; //图斑 model.geomid = ProcessShps(shps); //图片 model.casepic = files != null ? string.Join(',', files.Select(r => r.path)) : null; //平方米转化 model.area = req.model.area == null ? null : ConvertSquareMetersToMu(double.Parse(req.model.area)).ToString(); if (req.model.extra_info.TryGetValue("nongyongdi_area", out var nongyongdi_area)) { model.nongyongdi_area = string.IsNullOrEmpty(nongyongdi_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(nongyongdi_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("gengdi_area", out var gengdi_area)) { model.gengdi_area = string.IsNullOrEmpty(gengdi_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(gengdi_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("yongjiujibennongtian_area", out var yongjiujibennongtian_area)) { model.yongjiujibennongtian_area = string.IsNullOrEmpty(yongjiujibennongtian_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(yongjiujibennongtian_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("zhongdianquyu_area", out var zhongdianquyu_area)) { model.zhongdianquyu_area = string.IsNullOrEmpty(zhongdianquyu_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(zhongdianquyu_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("shengtaibaohuhongxian_area", out var shengtaibaohuhongxian_area)) { model.shengtaibaohuhongxian_area = string.IsNullOrEmpty(shengtaibaohuhongxian_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(shengtaibaohuhongxian_area.ToString())).ToString(); } if (req.model.extra_info.TryGetValue("guotukongjianguihua_area", out var guotukongjianguihua_area)) { model.guotukongjianguihua_area = string.IsNullOrEmpty(guotukongjianguihua_area?.ToString()) ? "0.00" : ConvertSquareMetersToMu(double.Parse(guotukongjianguihua_area.ToString())).ToString(); } model.synchronoustime = DateTime.Now; #endregion model.handle_status_id = 0; model.handle_status_name = "待接收"; Random random = new Random(); string caseno; bool isUnique; do { caseno = req.model.countyid + DateTime.Now.ToString("yyyyMMdd") + random.Next(1000, 9999).ToString(); var count = db.DroneCaseInfoSTXF.AsQueryable().Where(c => c.case_no == caseno).Count(); isUnique = count == 0; } while (!isUnique); model.case_no = caseno; if (oldinfo != null) { model.Id = oldinfo.Id; model.case_no = oldinfo.case_no; //新增数据 db.DroneCaseInfoSTXF.Update(model); if (!string.IsNullOrEmpty(model.Id)) { shps.ForEach(r => r.relid = model.Id); files.ForEach(r => { r.relid = model.Id; r.Id = Guid.NewGuid().ToString(); }); relations.ForEach(r => r.caseid = model.Id); tags.ForEach(r => r.caseid = model.Id); db.DroneShpData.Delete(c => c.relid == model.Id); db.DroneShpData.InsertRange(shps); //新增及删除图片 db.DroneFiles.Delete(r => r.relid == model.Id); db.DroneFiles.InsertRange(files); //关联案件 db.DroneCaseInfoRelation.Delete(r => r.caseid == model.Id); db.DroneCaseInfoRelation.InsertRange(relations); //案件标签 db.DroneCaseInfoTag.Delete(r => r.caseid == model.Id); db.DroneCaseInfoTag.InsertRange(tags); //删除复提数据 db.ReSubmit.Delete(r => r.CaseNo == model.original_case_no && r.SubjectKey == "Subject_ZDWT2"); } } else { model.Id = Guid.NewGuid().ToString(); //新增数据 db.DroneCaseInfoSTXF.Insert(model); if (!string.IsNullOrEmpty(model.Id)) { shps.ForEach(r => r.relid = model.Id); db.DroneShpData.InsertRange(shps); //新增修改图片 files.ForEach(r => { r.relid = model.Id; r.Id = Guid.NewGuid().ToString(); }); db.DroneFiles.InsertRange(files); //关联案件 relations.ForEach(r => r.caseid = model.Id); db.DroneCaseInfoRelation.InsertRange(relations); //案件标签 tags.ForEach(r => r.caseid = model.Id); db.DroneCaseInfoTag.InsertRange(tags); } } AddDroneCaseLog(new DroneCaseOperationLog { request_data = Json.ToJson(req), description = "AsynchDroneCaseData", caseid = model.Id, createuserid = model.identification_userid, createusername = model.identification_user }); if (db.Commit()) { return "同步成功"; } else throw new Exception("同步失败"); } } static double ConvertSquareMetersToMu(double squareMeters) { // 1 亩 = 666.6667 平方米 double mu = squareMeters * 0.0015; // 四舍五入保留两位小数 return Math.Round(mu, 2); } private string ProcessShps(List shps) { var _gidStr = _commonDataManager.GetMaxKeyVal("gid", "drone_shp_data", 1); int _gid = int.Parse(_gidStr); var geomid = string.Join(",", shps.Select((item, index) => { item.gid = _gid + index; return item.gid.ToString(); })); return geomid; } #region 查询未发起流程的案件信息 public Response> LoadNoProcess() { var caseList = client.Queryable().ToList(); return new Response>() { Code = 200, Result = caseList }; } #endregion #region 新版数据同步 public async Task AsynchDroneCaseDataLast([FromBody] AddOrUpdateAsyncDroneCaseDataReq req) { string result = "同步成功"; string fail = ""; foreach (var s in req.subjects) { if (!string.IsNullOrEmpty(s.Key)) { switch (s.Key) { case "Subject_WFYD": //drone_caseinfo_single var wfydid = AsynchDroneCaseDataWfydNew(req); if (!string.IsNullOrEmpty(wfydid)) { if (s.IsAutoProcess == true && !await CreateProcess("AppSetting:SchemeCode", wfydid, req.model.createusername, req.model.case_description)) { fail += "违法用地专题,"; } } else { fail += "违法用地专题,"; } break; case "Subject_GDFLH": //drone_caseinfo_gdflh var flhid = AsynchDroneCaseDataFLHNew(req); if (!string.IsNullOrEmpty(flhid)) { if (s.IsAutoProcess == true && !await CreateProcess("AppSetting:DroneCaseInfoNonFoodSchemeCode", flhid, req.model.createusername, req.model.case_description)) { fail += "耕地非粮化专题,"; } } else { fail += "耕地非粮化专题,"; } break; case "Subject_FFCK": //drone_caseinfo_minerals var ffckid = AsynchDroneCaseDataCKNew(req); if (!string.IsNullOrEmpty(ffckid)) { if (s.IsAutoProcess == true && !await CreateProcess("AppSetting:DroneCaseInfoMineralsSchemeCode", ffckid, req.model.createusername, req.model.case_description)) { fail += "非法采矿专题,"; } } else { fail += "非法采矿专题,"; } break; case "Subject_XCSJ": //drone_caseinfo_xcsj var xcsjid = AsynchDroneCaseDataXcsjNew(req); if (!string.IsNullOrEmpty(xcsjid)) { if (s.IsAutoProcess == true && !await CreateProcess("AppSetting:DroneCaseInfoXcsjSchemeCode", xcsjid, req.model.createusername, req.model.case_description)) { fail += "巡察审计专题,"; } } else { fail += "巡察审计专题,"; } break; case "Subject_ZDWT1": //drone_caseinfo_zdwt1 var zdwt1id = AsynchDroneCaseDataZdwt1New(req); if (!string.IsNullOrEmpty(zdwt1id)) { if (s.IsAutoProcess == true && !await CreateProcess("AppSetting:DroneCaseInfoZdwt1SchemeCode", zdwt1id, req.model.createusername, req.model.case_description)) { fail += "重点问题Ⅰ类专题,"; } } else { fail += "重点问题Ⅰ类专题,"; } break; case "Subject_ZDWT2": //drone_caseinfo_zdwt2 var zdwt2id = AsynchDroneCaseDataZdwt2New(req); if (!string.IsNullOrEmpty(zdwt2id)) { if (s.IsAutoProcess == true && !await CreateProcess("AppSetting:DroneCaseInfoZdwt2SchemeCode", zdwt2id, req.model.createusername, req.model.case_description)) { fail += "重点问题Ⅱ类专题,"; } } else { fail += "重点问题Ⅱ类专题,"; } break; case "Subject_STBHHXJG": //drone_caseinfo_sthx if (AsynchDroneCaseDataSTHX(req) == "同步成功") { if (s.IsAutoProcess == true && !await CreateProcess("AppSetting:DroneCaseInfoSTHXSchemeCode", req.model.Id, req.model.createusername, req.model.case_description)) { fail += "生态保护红线专题,"; } } else { fail += "生态保护红线专题,"; } break; case "Subject_STXF": //drone_caseinfo_stxf if (AsynchDroneCaseDataSTXF(req) == "同步成功") { if (s.IsAutoProcess == true && !await CreateProcess("AppSetting:DroneCaseInfoSTXFSchemeCode", req.model.Id, req.model.createusername, req.model.case_description)) { fail += "生态修复专题,"; } } else { fail += "生态修复专题,"; } break; } } } // 如果 fail 不为空,返回失败信息,否则返回 "同步成功" if (!string.IsNullOrEmpty(fail)) { result = $"同步失败,以下专题失败: {fail.TrimEnd(',')}"; } return result; } private async Task CreateProcess(string schemecode, string id, string createusername, string casedec) { var scode = _configuration.GetSection(schemecode).Value; var schemeInfo = await client.Queryable().FirstAsync(a => a.Code == scode); var schemeId = schemeInfo?.SchemeId; var flag = await _wfProcessApp.SaveDraftWithUser(id, scode, createusername, "{\"schemeId\":\"" + schemeId + "\",\"pkey\":\"Id\",\"pkeyValue\":\"" + id + "\"}", null, null, null, 0, (casedec)); if (flag.Result) { var createFlag = await _wfProcessApp.CreateWithUser(id, null, createusername, null, "{\"schemeId\":\"" + schemeId + "\",\"pkey\":\"Id\",\"pkeyValue\":\"" + id + "\"}", (casedec)); if (createFlag.Result) { return true; } } return false; } #endregion } }