From 92e45056821aef8f63f9584099f7a9764b99110c Mon Sep 17 00:00:00 2001 From: lgd Date: Mon, 26 May 2025 09:21:30 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E5=85=A8=E9=83=A8=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DroneCaseInfo/DroneCaseInfoSingleApp.cs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/OpenAuth.App/ServiceApp/DroneCaseInfo/DroneCaseInfoSingleApp.cs b/OpenAuth.App/ServiceApp/DroneCaseInfo/DroneCaseInfoSingleApp.cs index 8eafc97..6eba7c7 100644 --- a/OpenAuth.App/ServiceApp/DroneCaseInfo/DroneCaseInfoSingleApp.cs +++ b/OpenAuth.App/ServiceApp/DroneCaseInfo/DroneCaseInfoSingleApp.cs @@ -2787,14 +2787,14 @@ public partial class DroneCaseInfoSingleApp : SqlSugarBaseApp>'pkeyValue'=c.\"Id\" where 1=1 and a.\"ProcessCode\"='004' and a.\"UnitName\" in ('开工核查','开工问题整改','建中核查','建中问题整改','完工核查','完工 问题整改','日常监管','监管问题整改','现场复核','监管接收')" + - $" and a.\"State\"=1 ) UNION \r\n\r\n(select a.\"Id\" as taskId,a.\"UnitName\" as unitName,b.\"Title\" as title,c.synchronoustime as createDate,c.xiangmu_no as caseNo,c.countyname,c.streetname,c.communityname," + + $"on b.\"InstanceInfo\"->>'pkeyValue'=c.\"Id\" where 1=1 and a.\"ProcessCode\"='004' and a.\"UnitName\" in ('开工核查','开工问题整改','建中核查','建中问题整改','完工核查','完工问题整改','日常监管','监管问题整改','现场复核','监管接收')" + + $" and a.\"State\"=1 ) UNION \r\n\r\n(select a.\"Id\" as taskId,a.\"UnitName\" as unitName,b.\"Title\" as title,c.synchronoustime as createDate,c.xiangmu_no as caseNo,c.countyname,c.streetname,c.communityname,c.countyid,c.streetid,c.communityid," + $"\r\n a.\"ProcessCode\" as processcode,a.\"ProcessId\" as processid,c.gengdi_area as gengdiArea,yongjiujibennongtian_area as yongjiujibennongtianArea ,nongyongdi_area as nongyongdiArea,c.geomid,c.\"Id\" as caseid\r\n" + $" from wf_task a LEFT JOIN wf_process b on a.\"ProcessId\"=b.\"Id\"\r\nLEFT JOIN drone_ssnyd_rcjg d on b.\"InstanceInfo\"->>'pkeyValue'=d.\"Id\" RIGHT JOIN drone_ssnyd c on c.\"Id\"=d.ssnyd_id where 1=1 " + - $" and a.\"ProcessCode\"='005' and a.\"UnitName\" in ('开工核查','开工问题整改','建中核查','建中问题整改','完工核查','完工 问题整改','日常监管','监管问题整改','现场复核','监管接收') and a.\"State\"=1 )) e where 1=1 "; + $" and a.\"ProcessCode\"='005' and a.\"UnitName\" in ('开工核查','开工问题整改','建中核查','建中问题整改','完工核查','完工问题整改','日常监管','监管问题整改','现场复核','监管接收') and a.\"State\"=1 )) e where 1=1 "; string sqlpart2 = sqlpart1 + $" and a.\"UnitName\" in ('开工核查','开工问题整改','建中核查','建中问题整改','完工核查','完工问题整改','日常监管','监管问题整改','现场复核','监管接收') and a.\"State\"=1 "; @@ -2963,14 +2963,14 @@ public partial class DroneCaseInfoSingleApp : SqlSugarBaseApp>'pkeyValue'=c.\"Id\" where 1=1 and a.\"ProcessCode\"='004' and a.\"UnitName\" in ('开工核查','开工问题整改','建中核查','建中问题整改','完工核查','完工 问题整改','日常监管','监管问题整改','现场复核','监管接收')" + - $" ) UNION \r\n\r\n(select a.\"Id\" as taskId,a.\"UnitName\" as unitName,b.\"Title\" as title,c.synchronoustime as createDate,c.xiangmu_no as caseNo,c.countyname,c.streetname,c.communityname," + + $"on b.\"InstanceInfo\"->>'pkeyValue'=c.\"Id\" where 1=1 and a.\"ProcessCode\"='004' and a.\"UnitName\" in ('开工核查','开工问题整改','建中核查','建中问题整改','完工核查','完工问题整改','日常监管','监管问题整改','现场复核','监管接收')" + + $" ) UNION \r\n\r\n(select a.\"Id\" as taskId,a.\"UnitName\" as unitName,b.\"Title\" as title,c.synchronoustime as createDate,c.xiangmu_no as caseNo,c.countyname,c.streetname,c.communityname,c.countyid,c.streetid,c.communityid," + $"\r\n a.\"ProcessCode\" as processcode,a.\"ProcessId\" as processid,c.gengdi_area as gengdiArea,yongjiujibennongtian_area as yongjiujibennongtianArea ,nongyongdi_area as nongyongdiArea,c.geomid,c.\"Id\" as caseid\r\n" + $" from wf_task a LEFT JOIN wf_process b on a.\"ProcessId\"=b.\"Id\"\r\nLEFT JOIN drone_ssnyd_rcjg d on b.\"InstanceInfo\"->>'pkeyValue'=d.\"Id\" RIGHT JOIN drone_ssnyd c on c.\"Id\"=d.ssnyd_id where 1=1 " + - $" and a.\"ProcessCode\"='005' and a.\"UnitName\" in ('开工核查','开工问题整改','建中核查','建中问题整改','完工核查','完工 问题整改','日常监管','监管问题整改','现场复核','监管接收'))) e where 1=1 "; + $" and a.\"ProcessCode\"='005' and a.\"UnitName\" in ('开工核查','开工问题整改','建中核查','建中问题整改','完工核查','完工问题整改','日常监管','监管问题整改','现场复核','监管接收'))) e where 1=1 "; string sqlpart2 = sqlpart1 + $" and a.\"UnitName\" in ('开工核查','开工问题整改','建中核查','建中问题整改','完工核查','完工问题整改','日常监管','监管问题整改','现场复核','监管接收')"; From dc9030cf6b82fbc6c1efb87acf44e15cf356d1bd Mon Sep 17 00:00:00 2001 From: lgd Date: Mon, 26 May 2025 11:09:03 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AD=90=E7=BC=96?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ServiceApp/DroneCaseInfo/DroneCaseInfoSingleApp.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/OpenAuth.App/ServiceApp/DroneCaseInfo/DroneCaseInfoSingleApp.cs b/OpenAuth.App/ServiceApp/DroneCaseInfo/DroneCaseInfoSingleApp.cs index 6eba7c7..1944d61 100644 --- a/OpenAuth.App/ServiceApp/DroneCaseInfo/DroneCaseInfoSingleApp.cs +++ b/OpenAuth.App/ServiceApp/DroneCaseInfo/DroneCaseInfoSingleApp.cs @@ -2787,12 +2787,12 @@ public partial class DroneCaseInfoSingleApp : SqlSugarBaseApp>'pkeyValue'=c.\"Id\" where 1=1 and a.\"ProcessCode\"='004' and a.\"UnitName\" in ('开工核查','开工问题整改','建中核查','建中问题整改','完工核查','完工问题整改','日常监管','监管问题整改','现场复核','监管接收')" + $" and a.\"State\"=1 ) UNION \r\n\r\n(select a.\"Id\" as taskId,a.\"UnitName\" as unitName,b.\"Title\" as title,c.synchronoustime as createDate,c.xiangmu_no as caseNo,c.countyname,c.streetname,c.communityname,c.countyid,c.streetid,c.communityid," + - $"\r\n a.\"ProcessCode\" as processcode,a.\"ProcessId\" as processid,c.gengdi_area as gengdiArea,yongjiujibennongtian_area as yongjiujibennongtianArea ,nongyongdi_area as nongyongdiArea,c.geomid,c.\"Id\" as caseid\r\n" + + $"\r\n a.\"ProcessCode\" as processcode,a.\"ProcessId\" as processid,a.\"Type\" as type,a.\"ChildSchemeInfoCode\" as childSchemeInfoCode,c.gengdi_area as gengdiArea,yongjiujibennongtian_area as yongjiujibennongtianArea ,nongyongdi_area as nongyongdiArea,c.geomid,c.\"Id\" as caseid\r\n" + $" from wf_task a LEFT JOIN wf_process b on a.\"ProcessId\"=b.\"Id\"\r\nLEFT JOIN drone_ssnyd_rcjg d on b.\"InstanceInfo\"->>'pkeyValue'=d.\"Id\" RIGHT JOIN drone_ssnyd c on c.\"Id\"=d.ssnyd_id where 1=1 " + $" and a.\"ProcessCode\"='005' and a.\"UnitName\" in ('开工核查','开工问题整改','建中核查','建中问题整改','完工核查','完工问题整改','日常监管','监管问题整改','现场复核','监管接收') and a.\"State\"=1 )) e where 1=1 "; @@ -2963,12 +2963,12 @@ public partial class DroneCaseInfoSingleApp : SqlSugarBaseApp>'pkeyValue'=c.\"Id\" where 1=1 and a.\"ProcessCode\"='004' and a.\"UnitName\" in ('开工核查','开工问题整改','建中核查','建中问题整改','完工核查','完工问题整改','日常监管','监管问题整改','现场复核','监管接收')" + $" ) UNION \r\n\r\n(select a.\"Id\" as taskId,a.\"UnitName\" as unitName,b.\"Title\" as title,c.synchronoustime as createDate,c.xiangmu_no as caseNo,c.countyname,c.streetname,c.communityname,c.countyid,c.streetid,c.communityid," + - $"\r\n a.\"ProcessCode\" as processcode,a.\"ProcessId\" as processid,c.gengdi_area as gengdiArea,yongjiujibennongtian_area as yongjiujibennongtianArea ,nongyongdi_area as nongyongdiArea,c.geomid,c.\"Id\" as caseid\r\n" + + $"\r\n a.\"ProcessCode\" as processcode,a.\"ProcessId\" as processid,a.\"Type\" as type,a.\"ChildSchemeInfoCode\" as childSchemeInfoCode,c.gengdi_area as gengdiArea,yongjiujibennongtian_area as yongjiujibennongtianArea ,nongyongdi_area as nongyongdiArea,c.geomid,c.\"Id\" as caseid\r\n" + $" from wf_task a LEFT JOIN wf_process b on a.\"ProcessId\"=b.\"Id\"\r\nLEFT JOIN drone_ssnyd_rcjg d on b.\"InstanceInfo\"->>'pkeyValue'=d.\"Id\" RIGHT JOIN drone_ssnyd c on c.\"Id\"=d.ssnyd_id where 1=1 " + $" and a.\"ProcessCode\"='005' and a.\"UnitName\" in ('开工核查','开工问题整改','建中核查','建中问题整改','完工核查','完工问题整改','日常监管','监管问题整改','现场复核','监管接收'))) e where 1=1 "; From bde710fc72689e1194e1881726d2b58c8d04ea4e Mon Sep 17 00:00:00 2001 From: lgd Date: Mon, 26 May 2025 11:19:07 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E6=B7=BB=E5=8A=A0type?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ServiceApp/DroneCaseInfo/DroneCaseInfoSingleApp.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenAuth.App/ServiceApp/DroneCaseInfo/DroneCaseInfoSingleApp.cs b/OpenAuth.App/ServiceApp/DroneCaseInfo/DroneCaseInfoSingleApp.cs index 1944d61..8fc5db3 100644 --- a/OpenAuth.App/ServiceApp/DroneCaseInfo/DroneCaseInfoSingleApp.cs +++ b/OpenAuth.App/ServiceApp/DroneCaseInfo/DroneCaseInfoSingleApp.cs @@ -2787,7 +2787,7 @@ public partial class DroneCaseInfoSingleApp : SqlSugarBaseApp>'pkeyValue'=c.\"Id\" where 1=1 and a.\"ProcessCode\"='004' and a.\"UnitName\" in ('开工核查','开工问题整改','建中核查','建中问题整改','完工核查','完工问题整改','日常监管','监管问题整改','现场复核','监管接收')" + @@ -2963,7 +2963,7 @@ public partial class DroneCaseInfoSingleApp : SqlSugarBaseApp>'pkeyValue'=c.\"Id\" where 1=1 and a.\"ProcessCode\"='004' and a.\"UnitName\" in ('开工核查','开工问题整改','建中核查','建中问题整改','完工核查','完工问题整改','日常监管','监管问题整改','现场复核','监管接收')" + From cf55cb19dee96a53bcba17144c9d1fe5c6bc7b7a Mon Sep 17 00:00:00 2001 From: zhangbin <460190368@qq.com> Date: Mon, 26 May 2025 15:41:03 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E4=B9=A1=E9=95=87=E6=9F=A5=E7=9C=8B?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ServiceApp/DroneSsnydManage/DroneSsnyStatisticsApp.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OpenAuth.App/ServiceApp/DroneSsnydManage/DroneSsnyStatisticsApp.cs b/OpenAuth.App/ServiceApp/DroneSsnydManage/DroneSsnyStatisticsApp.cs index c28f35a..4b4d323 100644 --- a/OpenAuth.App/ServiceApp/DroneSsnydManage/DroneSsnyStatisticsApp.cs +++ b/OpenAuth.App/ServiceApp/DroneSsnydManage/DroneSsnyStatisticsApp.cs @@ -47,7 +47,8 @@ namespace OpenAuth.App.ServiceApp.DroneSsnydManage else if (orgIds.Any(r => r.Level == 2)) { //县区数据 - org = Repository.ChangeRepository>().AsQueryable().Where(r => r.Level == 3 && orgIds.Select(a => a.Id).Contains(r.ParentId)).ToList(); + //org = Repository.ChangeRepository>().AsQueryable().Where(r => r.Level == 2 && orgIds.Select(a => a.Id).Contains(r.ParentId)).ToList(); + org = Repository.ChangeRepository>().AsQueryable().Where(r => r.Level == 2 && orgIds.Select(a => a.Id).Contains(r.Id)).ToList(); caseList = Repository.AsQueryable().WhereIF(!string.IsNullOrEmpty(xiangmu_yt), (a) => a.xiangmu_yt == xiangmu_yt).ToList(); } //caseList = Repository.AsQueryable().WhereIF(!string.IsNullOrEmpty(xiangmu_yt), (a) => a.xiangmu_yt == xiangmu_yt).ToList(); From 3eae6adbf931e27c5f89fb76364e3b4482092a63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E4=BC=9F?= <421281095@qq.com> Date: Tue, 27 May 2025 08:43:27 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E6=A1=88=E4=BB=B6id?= =?UTF-8?q?=EF=BC=8C=E6=9F=A5=E8=AF=A2=E5=BD=93=E5=89=8D=E5=BA=94=E8=AF=A5?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=E7=9A=84=E4=BB=BB=E5=8A=A1=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=AE=BE=E6=96=BD=E5=86=9C=E7=94=A8=E5=9C=B0=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OpenAuth.App/BaseApp/WFTask/WFTaskApp.cs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/OpenAuth.App/BaseApp/WFTask/WFTaskApp.cs b/OpenAuth.App/BaseApp/WFTask/WFTaskApp.cs index e918625..2a2b9c6 100644 --- a/OpenAuth.App/BaseApp/WFTask/WFTaskApp.cs +++ b/OpenAuth.App/BaseApp/WFTask/WFTaskApp.cs @@ -1104,6 +1104,21 @@ namespace OpenAuth.App.BaseApp.WFTask }) .FirstAsync(); return info; + } else if (x.ProcessCode == "004") + { + var info = await client.Queryable() + .Where(t => t.ProcessId == caseid && + (t.Type == 1 || t.Type == 3 || t.Type == 4 || t.Type == 5 || t.Type == 7)) + .LeftJoin((t, r) => t.ProcessId == r.Id) + .OrderByDescending((t, r) => t.CreateDate) + .Select((t, r) => new + { + taskid = t.Id, + handle_status_id = r.handle_status_id, + handle_status_name = r.handle_status_name + }) + .FirstAsync(); + return info; } else // 0000004 // 耕地非粮 { From dcf4848bfa79a1c38d6744f64a541f651f570597 Mon Sep 17 00:00:00 2001 From: lgd Date: Wed, 28 May 2025 10:44:34 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E5=85=A8=E9=83=A8=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DroneCaseInfo/DroneCaseInfoSingleApp.cs | 304 +++++++++++++++++- .../DroneCaseInfoSingleController.cs | 17 + 2 files changed, 304 insertions(+), 17 deletions(-) diff --git a/OpenAuth.App/ServiceApp/DroneCaseInfo/DroneCaseInfoSingleApp.cs b/OpenAuth.App/ServiceApp/DroneCaseInfo/DroneCaseInfoSingleApp.cs index 8fc5db3..1c934bf 100644 --- a/OpenAuth.App/ServiceApp/DroneCaseInfo/DroneCaseInfoSingleApp.cs +++ b/OpenAuth.App/ServiceApp/DroneCaseInfo/DroneCaseInfoSingleApp.cs @@ -2943,8 +2943,8 @@ public partial class DroneCaseInfoSingleApp : SqlSugarBaseApp>'pkeyValue'=c.\"Id\" where 1=1 and a.\"ProcessCode\"='004' and a.\"UnitName\" in ('开工核查','开工问题整改','建中核查','建中问题整改','完工核查','完工问题整改','日常监管','监管问题整改','现场复核','监管接收')" + - $" ) UNION \r\n\r\n(select a.\"Id\" as taskId,a.\"UnitName\" as unitName,b.\"Title\" as title,c.synchronoustime as createDate,c.xiangmu_no as caseNo,c.countyname,c.streetname,c.communityname,c.countyid,c.streetid,c.communityid," + - $"\r\n a.\"ProcessCode\" as processcode,a.\"ProcessId\" as processid,a.\"Type\" as type,a.\"ChildSchemeInfoCode\" as childSchemeInfoCode,c.gengdi_area as gengdiArea,yongjiujibennongtian_area as yongjiujibennongtianArea ,nongyongdi_area as nongyongdiArea,c.geomid,c.\"Id\" as caseid\r\n" + - $" from wf_task a LEFT JOIN wf_process b on a.\"ProcessId\"=b.\"Id\"\r\nLEFT JOIN drone_ssnyd_rcjg d on b.\"InstanceInfo\"->>'pkeyValue'=d.\"Id\" RIGHT JOIN drone_ssnyd c on c.\"Id\"=d.ssnyd_id where 1=1 " + - $" and a.\"ProcessCode\"='005' and a.\"UnitName\" in ('开工核查','开工问题整改','建中核查','建中问题整改','完工核查','完工问题整改','日常监管','监管问题整改','现场复核','监管接收'))) e where 1=1 "; + $" "; string sqlpart2 = sqlpart1 + $" and a.\"UnitName\" in ('开工核查','开工问题整改','建中核查','建中问题整改','完工核查','完工问题整改','日常监管','监管问题整改','现场复核','监管接收')"; allCount = await client.Ado.GetIntAsync(sqlcount + sqlpart2); - var allCount1 = await client.Ado.GetIntAsync(sqlcount1 + sqlpart2); - allCount = allCount + allCount1; + //var allCount1 = await client.Ado.GetIntAsync(sqlcount1 + sqlpart2); + if (!string.IsNullOrEmpty(req.caseNo)) { - //sqlpart = sqlpart + $" and e.xiangmu_no like '%" + req.caseNo + "%'"; - sqlpart = sqlpart + $" and e.caseno like '%" + req.caseNo + "%'"; + sqlpart = sqlpart + $" and c.xiangmu_no like '%" + req.caseNo + "%'"; + //sqlpart = sqlpart + $" and e.caseno like '%" + req.caseNo + "%'"; } @@ -3060,7 +3057,7 @@ public partial class DroneCaseInfoSingleApp : SqlSugarBaseApp " + + double.Parse(req.jibenArea1); + } + else if (string.IsNullOrEmpty(req.jibenArea1) && !string.IsNullOrEmpty(req.jibenArea2)) + { + sqlpart = sqlpart + + $" and CAST(COALESCE(NULLIF(yongjiujibennongtian_area, '')::numeric, 0) AS numeric)< " + + double.Parse(req.jibenArea2); + } + + sqlpart += $" ORDER BY synchronoustime desc"; + var info = client.Ado.SqlQuery(sql + sqlpart); + foreach (var item in info) + { + if ("其他".Equals(item.isIllegal)) + { + item.actualUseTo = item.qitaUseTo; + } + } + + Response> response = new Response>(); + response.Result = info; + return response; + } + public Response> ExprotLoadCaseInfoSsnyTuBanList(CaseInfoTuBanReq req) + { + var authStrategyContext = _auth.GetCurrentUser(); + var user = authStrategyContext.User; + RefAsync totalcount = 0; + string sql1 = "select min(\"Level\") from sys_userorg where \"UserId\"=" + user.Id; + int level = client.Ado.GetInt(sql1); + //该用户下包含所有部门 + List deplist = new List(); + string sqlpart = " "; + if (user != null && user.Id != -1 && level != 0) + { + var departs = client.Queryable().Where(r => r.UserId == user.Id).ToList(); + foreach (var item in departs) + { + var list = client.Queryable().ToChildList(it => it.ParentId, item.OrgId) + ?.Select(it => it.Id.ToString()).ToList(); + deplist = deplist.Union(list).ToList(); + } + + string orgs = "\'" + string.Join("\',\'", deplist) + "\'"; + sqlpart = $" and (countyid in ({orgs}) or streetid in ({orgs}) or communityid in ({orgs})) "; + } + + string sql = + $" select picihao,xjshenhejieguo,sjshenhejieguo,xianjiyijian,shijiyijian,verifyuser,case_description,hexiaoren,verifytime,hexiaotime,tubanlaiyuan,countyname,streetname,communityname,case_no as caseNo,synchronoustime identificationTime,area,\r\n gengdi_area as gengdiArea,typename,jieshou_people,jieshou_time,pandingyijushuoming,examiner_name,examine_time," + + $"transactor_name,transact_time,yongjiujibennongtian_area yongjiujibennongtianarea,remark,nongyongdi_area nongyongdiarea,shengtaibaohuhongxian_area shengtaibaohuhongxianarea," + + $"case when is_illegal=0 \r\n then '合法' when is_illegal=1 then '违法' when is_illegal=2 then '其他' else '违法' end as isIllegal,handle_status_name as handleStatusName," + + $"xiangmumc,xiangmuzhuti,actual_use_to as actualUseTo,case when weifaleixing=0 \r\n then '非农化违法用地' when weifaleixing=1 then '非粮化违法用地' end as weifaleixing," + + $"case when cast(measure_name AS numeric)=0 \r\n then '拆除复耕' when cast(measure_name AS numeric)=1 then '补办手续' end as measureName,\r\nqita_use_to as qitaUseTo,geomid\r\n from drone_ssnyd a " + + $" LEFT JOIN wf_process b on b.\"InstanceInfo\"->>'pkeyValue'=a.\"Id\" where 1=1 and is_closed=0 and b.\"Id\" is not null "; + if (req.year != 0) + { + sqlpart = sqlpart + $" and EXTRACT(YEAR FROM synchronoustime) = {req.year}"; + } + + if (!string.IsNullOrEmpty(req.startTime) && !string.IsNullOrEmpty(req.endTime)) + { + DateTime datetime = DateTime.Parse(req.endTime); + DateTime datetime1 = datetime.AddDays(1); + sqlpart = sqlpart + $" and synchronoustime between TO_DATE('" + req.startTime + + $"','YYYY-MM-DD') and TO_DATE('" + datetime1.ToString("yyyy-MM-dd") + $"','YYYY-MM-DD')"; + } + + if (!string.IsNullOrEmpty(req.weifaleixing)) + { + // 判断违法 + sqlpart = sqlpart + "and is_illegal = '1'"; + sqlpart = sqlpart + $" and weifaleixing='" + req.weifaleixing + "'"; + } + + if (!string.IsNullOrEmpty(req.measureName)) + { + // 判定违法 + sqlpart = sqlpart + "and is_illegal = '1'"; + sqlpart = sqlpart + $" and measure_name='" + req.measureName + "'"; + } + + if (!string.IsNullOrEmpty(req.typename)) + { + sqlpart = sqlpart + $" and typename='" + req.typename + "'"; + } + + if (!string.IsNullOrEmpty(req.tubanlaiyuan)) + { + var tubanlaiyuanList = req.tubanlaiyuan.Split(",").ToList(); + sqlpart = sqlpart + $" and tubanlaiyuan in ('{string.Join("','", tubanlaiyuanList)}')"; + } + + if (!string.IsNullOrEmpty(req.picihao)) + { + sqlpart = sqlpart + $" and picihao='" + req.picihao + "'"; + } + + if (!string.IsNullOrEmpty(req.isBuildName)) + { + sqlpart = sqlpart + $" and is_build_name='" + req.isBuildName + "'"; + } + + if (req.isIllegal < 5) + { + sqlpart = sqlpart + $" and is_illegal=" + req.isIllegal + ""; + } + + if (!string.IsNullOrEmpty(req.countyid)) + { + sqlpart = sqlpart + $" and countyid='" + req.countyid + "'"; + } + + if (!string.IsNullOrEmpty(req.streetid)) + { + sqlpart = sqlpart + $" and streetid='" + req.streetid + "'"; + } + + if (!string.IsNullOrEmpty(req.nowStatus)) + { + string[] str = req.nowStatus.Split(","); + + string strstatus = ""; + for (int i = 0; i < str.Length; i++) + { + strstatus = strstatus + "'" + str[i] + "'" + ","; + } + + if (!string.IsNullOrEmpty(strstatus)) + { + string statuslist = strstatus.Substring(0, strstatus.Length - 1); + sqlpart = sqlpart + $" and handle_status_name in (" + statuslist + ")"; + } + } + + if (!string.IsNullOrEmpty(req.caseNo)) + { + sqlpart = sqlpart + $" and case_no like '%" + req.caseNo + "%'"; + } + + if (!string.IsNullOrEmpty(req.originalcaseno)) + { + sqlpart = sqlpart + $" and original_case_no like '%" + req.originalcaseno + "%'"; + } + + if (!string.IsNullOrEmpty(req.tubanArea1) && !string.IsNullOrEmpty(req.tubanArea2)) + { + sqlpart = sqlpart + $" and CAST(COALESCE(NULLIF(area, '')::numeric, 0) AS numeric) between " + + double.Parse(req.tubanArea1) + " and " + + double.Parse(req.tubanArea2); + } + else if (!string.IsNullOrEmpty(req.tubanArea1) && string.IsNullOrEmpty(req.tubanArea2)) + { + sqlpart = sqlpart + $" and CAST(COALESCE(NULLIF(area, '')::numeric, 0) AS numeric)> " + + double.Parse(req.tubanArea1); + } + else if (string.IsNullOrEmpty(req.tubanArea1) && !string.IsNullOrEmpty(req.tubanArea2)) + { + sqlpart = sqlpart + $" and CAST(COALESCE(NULLIF(area, '')::numeric, 0) AS numeric)< " + + double.Parse(req.tubanArea2); + } + + if (!string.IsNullOrEmpty(req.gengdiArea1) && !string.IsNullOrEmpty(req.gengdiArea2)) + { + sqlpart = sqlpart + $" and CAST(COALESCE(NULLIF(gengdi_area, '')::numeric, 0) AS numeric) between " + + double.Parse(req.gengdiArea1) + + " and " + double.Parse(req.gengdiArea2); + } + else if (!string.IsNullOrEmpty(req.gengdiArea1) && string.IsNullOrEmpty(req.gengdiArea2)) + { + sqlpart = sqlpart + $" and CAST(COALESCE(NULLIF(gengdi_area, '')::numeric, 0) AS numeric)> " + + double.Parse(req.gengdiArea1); + } + else if (string.IsNullOrEmpty(req.gengdiArea1) && !string.IsNullOrEmpty(req.gengdiArea2)) + { + sqlpart = sqlpart + $" and CAST(COALESCE(NULLIF(gengdi_area, '')::numeric, 0) AS numeric)< " + + double.Parse(req.gengdiArea2); + } + + if (!string.IsNullOrEmpty(req.jibenArea1) && !string.IsNullOrEmpty(req.jibenArea2)) { sqlpart = sqlpart + @@ -6684,9 +6871,92 @@ public partial class DroneCaseInfoSingleApp : SqlSugarBaseApp> - { - Result = strings - }; + } -} \ No newline at end of file + + public void ExportCaseInfoSsnydShapefile(CaseInfoTuBanReq req, string shpFilePath, string shpFilePathzip) + { + var response = ExprotLoadCaseInfoSsnyTuBanList(req).Result; + List list = new List(); + for (int i = 0; i < response.Count; i++) + { + var caseinfo = response[i]; + if (!string.IsNullOrEmpty(caseinfo.geomid)) + { + list.Add(caseinfo); + } + } + + List gids = list.SelectMany(item => + item.geomid.Split(',') + .Select(id => int.TryParse(id, out var gid) ? gid : (int?)null) + .Where(gid => gid.HasValue) + .Select(gid => gid.Value)).ToList(); + + string gidsString = string.Join(",", gids); + //string query = $"SELECT a.gid, ST_AsText(a.geom) AS geom,b.tubanlaiyuan,b.case_no,b.countyname,b.streetname,b.communityname FROM drone_shp_data a left join drone_caseinfo_single b on a.relid=b.\"Id\" WHERE gid IN ({gidsString})"; + string query = + $"SELECT gid,case_no,handle_status_name,typename,original_case_no,gengdi_area, is_illegal_name,is_intact_name," + + $"area,yongjiujibennongtian_area,xiangmumc,xiangmuzhuti,weifaleixing,measure_name,countyname,streetname,communityname,createtime,synchronoustime,tubanlaiyuan,ST_AsText(geom) AS geom FROM view_drone_caseinfo_shp WHERE gid IN ({gidsString})"; + + // 执行查询 + var data = client.Ado.SqlQuery(query); + if (data == null || data.Count == 0) + { + throw new Exception("暂无数据"); + } + + List features = new List(); + + foreach (var row in data) + { + var geometry = ParseGeometry(row.geom); + if (geometry == null) + { + throw new Exception("数据不可用"); + } + + //var attributes = new AttributesTable + //{ + // { "gid", row.gid }, + // {"laiyuan",row.tubanlaiyuan==null?"无":row.tubanlaiyuan }, + // {"case_no",row.case_no==null?"无":row.case_no }, + // {"countyname",row.countyname==null?"无":row.countyname }, + // {"streetname",row.streetname ==null?"无":row.streetname}, + // {"comname",row.communityname ==null?"无":row.communityname} + + //}; + var attributes = new AttributesTable + { + { "gid", row.gid }, + { "图斑编号", row.case_no == null ? "" : row.case_no }, + { "当前状态", row.handle_status_name == null ? "" : row.handle_status_name }, + { "判读状态", row.is_intact_name == null ? "" : row.is_intact_name }, + { "图斑类型", row.typename == null ? "" : row.typename }, + { "判定结果", row.is_illegal_name == null ? "" : row.is_illegal_name }, + { "图斑面积(亩)", row.area == null ? "" : row.area }, + { "耕地面积", row.gengdi_area == null ? "" : row.gengdi_area }, + { "永农面积", row.yongjiujibennongtian_area == null ? "" : row.yongjiujibennongtian_area }, + { "项目名称", row.xiangmumc == null ? "" : row.xiangmumc }, + { "违法类型", row.weifaleixing == null ? "" : row.weifaleixing.ToString() }, + { "处理措施", row.measure_name == null ? "" : row.measure_name }, + { "创建时间", row.synchronoustime == null ? "" : row.synchronoustime.ToString() }, + { "图斑来源", row.tubanlaiyuan == null ? "" : row.tubanlaiyuan }, + }; + + IFeature feature = new Feature(geometry, attributes); + features.Add(feature); + } + + if (features.Count == 0) + { + throw new Exception("数据不可用"); + } + + // 导出 SHP 文件及其关联文件 + ExportToShapefileFour(shpFilePath, features); + // 将文件打包成 ZIP + CreateZipFromShapefiles(shpFilePath, shpFilePathzip); + } +} + diff --git a/OpenAuth.WebApi/Controllers/ServiceControllers/DroneCaseInfoSingleController.cs b/OpenAuth.WebApi/Controllers/ServiceControllers/DroneCaseInfoSingleController.cs index 4ad1a53..cdc9395 100644 --- a/OpenAuth.WebApi/Controllers/ServiceControllers/DroneCaseInfoSingleController.cs +++ b/OpenAuth.WebApi/Controllers/ServiceControllers/DroneCaseInfoSingleController.cs @@ -1731,4 +1731,21 @@ public class DroneCaseInfoSingleController : ControllerBase return response; } + + [HttpPost] + public IActionResult ExportCaseInfoSsnydShapefile([FromQuery] CaseInfoTuBanReq req) + { + try + { + string shpFilePath = Path.Combine(Path.GetTempPath(), $"图斑信息{DateTime.Now:yyyyMMddHHmmss}.shp"); + string shpFilePathzip = Path.Combine(Path.GetTempPath(), $"图斑信息{DateTime.Now:yyyyMMddHHmmss}.zip"); + _app.ExportCaseInfoSsnydShapefile(req, shpFilePath, shpFilePathzip); + byte[] fileBytes = System.IO.File.ReadAllBytes(shpFilePathzip); + return File(fileBytes, "application/octet-stream", $"图斑信息{DateTime.Now:yyyyMMddHHmmss}.zip"); + } + catch (Exception ex) + { + return StatusCode(500, $"Internal server error: {ex.Message}"); + } + } } \ No newline at end of file From 54b0b18ab7508ef0d904a88bdb9afb547aa68dbd Mon Sep 17 00:00:00 2001 From: lgd Date: Fri, 30 May 2025 09:27:58 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ServiceApp/DroneCaseInfo/DroneCaseInfoSingleApp.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/OpenAuth.App/ServiceApp/DroneCaseInfo/DroneCaseInfoSingleApp.cs b/OpenAuth.App/ServiceApp/DroneCaseInfo/DroneCaseInfoSingleApp.cs index 1c934bf..3bed8b7 100644 --- a/OpenAuth.App/ServiceApp/DroneCaseInfo/DroneCaseInfoSingleApp.cs +++ b/OpenAuth.App/ServiceApp/DroneCaseInfo/DroneCaseInfoSingleApp.cs @@ -2954,7 +2954,7 @@ public partial class DroneCaseInfoSingleApp : SqlSugarBaseApp>'pkeyValue'=c.\"Id\" where 1=1 and a.\"ProcessCode\"='004' "; + $"b on a.\"ProcessId\"=b.\"Id\" \r\nLEFT JOIN drone_ssnyd c on b.\"InstanceInfo\"->>'pkeyValue'=c.\"Id\" where 1=1 "; string sqlcount1 = $"select count(a.*) from wf_task a LEFT JOIN wf_process " + @@ -2966,11 +2966,11 @@ public partial class DroneCaseInfoSingleApp : SqlSugarBaseApp>'pkeyValue'=c.\"Id\" where 1=1 and a.\"ProcessCode\"='004' and a.\"UnitName\" in ('开工核查','开工问题整改','建中核查','建中问题整改','完工核查','完工问题整改','日常监管','监管问题整改','现场复核','监管接收')" + - $" "; + $"on b.\"InstanceInfo\"->>'pkeyValue'=c.\"Id\" where 1=1 and a.\"UnitName\" in ('开工核查','开工问题整改','建中核查','建中问题整改','完工核查','完工问题整改','日常监管','监管问题整改','现场复核','监管接收')" + + $" and a.\"State\"=1"; - string sqlpart2 = sqlpart1 + $" and a.\"UnitName\" in ('开工核查','开工问题整改','建中核查','建中问题整改','完工核查','完工问题整改','日常监管','监管问题整改','现场复核','监管接收')"; + string sqlpart2 = sqlpart1 + $" and a.\"UnitName\" in ('开工核查','开工问题整改','建中核查','建中问题整改','完工核查','完工问题整改','日常监管','监管问题整改','现场复核','监管接收') and a.\"State\"=1"; allCount = await client.Ado.GetIntAsync(sqlcount + sqlpart2); //var allCount1 = await client.Ado.GetIntAsync(sqlcount1 + sqlpart2); From ae9f6e02f6ccbafc5e71f2c05465fed29eea13a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E4=BC=9F?= <421281095@qq.com> Date: Fri, 30 May 2025 14:49:58 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E8=AE=BE=E6=96=BD=E5=86=9C=E7=94=A8?= =?UTF-8?q?=E5=9C=B0=E6=96=B9=E5=90=91=E8=A7=92=E5=9B=BE=E7=89=87=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DroneCaseInfo/DroneCaseInfoSingleApp1.cs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/OpenAuth.App/ServiceApp/DroneCaseInfo/DroneCaseInfoSingleApp1.cs b/OpenAuth.App/ServiceApp/DroneCaseInfo/DroneCaseInfoSingleApp1.cs index f41692e..09e2371 100644 --- a/OpenAuth.App/ServiceApp/DroneCaseInfo/DroneCaseInfoSingleApp1.cs +++ b/OpenAuth.App/ServiceApp/DroneCaseInfo/DroneCaseInfoSingleApp1.cs @@ -4894,6 +4894,17 @@ WHERE is_closed = 0 and b.""Id"" is not null and synchronoustime >= @StartTime a AddImagesToList(caseImg0.njzp_wg, imageList); AddImagesToList(caseImg0.wjzp_wgzg, imageList); AddImagesToList(caseImg0.njzp_wgzg, imageList); + List subs = await client.Queryable() + .Where(r => r.ssnyd_id == caseid).ToListAsync(); + foreach (var sub in subs) + { + AddImagesToList(sub.wjzp_rc, imageList); + AddImagesToList(sub.njzp_rc, imageList); + AddImagesToList(sub.wjzp_rczg, imageList); + AddImagesToList(sub.njzp_rczg, imageList); + AddImagesToList(sub.wjzp_rcfh, imageList); + AddImagesToList(sub.njzp_rcfh, imageList); + } } break;