From dddb1c51efb086965aed3ac6aaddee284fb7902f Mon Sep 17 00:00:00 2001 From: luolianxin Date: Fri, 14 Mar 2025 18:08:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8=E7=BA=BF=E5=B7=A1=E6=9F=A5=E3=80=81?= =?UTF-8?q?=E7=BB=84=E7=BB=87=E6=9C=BA=E6=9E=84=E7=AD=89=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../NoticeReceivingUnitRepository.java | 31 +++++++ .../repository/NoticeRepository.java | 10 +++ .../repository/OfficerRepository.java | 80 +++++++++++++++++++ .../repository/OnlinePatrolRepository.java | 35 ++++++++ .../repository/RecipientInfoRepository.java | 9 +++ 5 files changed, 165 insertions(+) create mode 100644 server/src/main/java/com/aisino/iles/lawenforcement/repository/NoticeReceivingUnitRepository.java create mode 100644 server/src/main/java/com/aisino/iles/lawenforcement/repository/NoticeRepository.java create mode 100644 server/src/main/java/com/aisino/iles/lawenforcement/repository/OfficerRepository.java create mode 100644 server/src/main/java/com/aisino/iles/lawenforcement/repository/OnlinePatrolRepository.java create mode 100644 server/src/main/java/com/aisino/iles/lawenforcement/repository/RecipientInfoRepository.java diff --git a/server/src/main/java/com/aisino/iles/lawenforcement/repository/NoticeReceivingUnitRepository.java b/server/src/main/java/com/aisino/iles/lawenforcement/repository/NoticeReceivingUnitRepository.java new file mode 100644 index 0000000..a0febcd --- /dev/null +++ b/server/src/main/java/com/aisino/iles/lawenforcement/repository/NoticeReceivingUnitRepository.java @@ -0,0 +1,31 @@ +package com.aisino.iles.lawenforcement.repository; + +import com.aisino.iles.core.repository.BaseRepo; +import com.aisino.iles.lawenforcement.model.NoticeReceivingUnit; +import org.springframework.data.jpa.repository.Modifying; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; +import org.springframework.stereotype.Repository; + +import java.time.LocalDateTime; +import java.util.List; +import java.util.Optional; + +@Repository +public interface NoticeReceivingUnitRepository extends BaseRepo { + List findByNoticeId(String noticeId); + + @Modifying + @Query("update NoticeReceivingUnit t set t.msgflag = '1' , t.collectionTime=:collectionTime where t.noticeId=:noticeId and t.receivingUnitId=:receivingUnitId and t.msgflag='0'") + void modifyByNoticeIdAndReceivingUnitId(@Param("collectionTime") LocalDateTime collectionTime, @Param("noticeId") String noticeId, @Param("receivingUnitId") String receivingUnitId); + + + @Modifying + @Query("delete from NoticeReceivingUnit t where t.noticeId = :noticeId") + void deleteBynoticeId(@Param("noticeId") String noticeId); + + Optional findByNoticeIdAndReceivingUnitId(String noticeId, String receivingUnitId); + + long countByReceivingUnitIdAndMsgflag(String receivingUnitId,String msgflag); + +} diff --git a/server/src/main/java/com/aisino/iles/lawenforcement/repository/NoticeRepository.java b/server/src/main/java/com/aisino/iles/lawenforcement/repository/NoticeRepository.java new file mode 100644 index 0000000..421d4a3 --- /dev/null +++ b/server/src/main/java/com/aisino/iles/lawenforcement/repository/NoticeRepository.java @@ -0,0 +1,10 @@ +package com.aisino.iles.lawenforcement.repository; + +import com.aisino.iles.core.repository.BaseRepo; +import com.aisino.iles.lawenforcement.model.Notice; +import org.springframework.stereotype.Repository; + +@Repository +public interface NoticeRepository extends BaseRepo { + +} diff --git a/server/src/main/java/com/aisino/iles/lawenforcement/repository/OfficerRepository.java b/server/src/main/java/com/aisino/iles/lawenforcement/repository/OfficerRepository.java new file mode 100644 index 0000000..3febc78 --- /dev/null +++ b/server/src/main/java/com/aisino/iles/lawenforcement/repository/OfficerRepository.java @@ -0,0 +1,80 @@ +package com.aisino.iles.lawenforcement.repository; + +import com.aisino.iles.core.repository.BaseRepo; +import com.aisino.iles.lawenforcement.model.Officer; +import com.aisino.iles.lawenforcement.model.dto.OfficerDto; +import org.springframework.data.jpa.repository.EntityGraph; +import org.springframework.data.jpa.repository.Query; +import org.springframework.stereotype.Repository; + +import java.util.List; +import java.util.Optional; + +/** + * 执法人员仓库接口 + */ +@Repository +public interface OfficerRepository extends BaseRepo { + + /** + * 根据执法证号查询执法人员 + * + * @param certificateNo 执法证号 + * @return 执法人员信息 + */ + Optional findByCertificateNo(String certificateNo); + + /** + * 带机构实体图的唯一查询(按系统用户ID) + */ + @EntityGraph(value = "officer-with-agency", type = org.springframework.data.jpa.repository.EntityGraph.EntityGraphType.FETCH) + Optional findWithAgencyByCertificateNo(String certificateNo); + + /** + * 根据执法号查询执法人员 + * @param lawNo 执法号 + * @return 执法人员 + */ + Optional findByLawNo(String lawNo); + + /** + * 根据所属执法机构ID查询执法人员列表 + * + * @param agencyId 执法机构ID + * @return 执法人员列表 + */ + List findByAgencyId(String agencyId); + + /** + * 根据执法人员姓名模糊查询执法人员列表 + * + * @param officerName 执法人员姓名 + * @return 执法人员列表 + */ + List findByOfficerNameContaining(String officerName); + + + /** + * 根据管辖单位编码查询执法人员列表 + * @param gxdwbm + * @return + */ + @Query(value = "select a.officer_id ,a.officer_name ,a.certificate_no,b.agency_id,b.agency_code,b.agency_name,b.agency_level from zf_officer a left join zf_agency b on a.agency_id = b.agency_id and b.agency_code like :gxdwbm " , nativeQuery = true) + List findByAgencyCode(String gxdwbm); + + + /** + * 根据执法证号查询执法人员及机构关联信息 + * @param certificateNo + * @return + */ + @Query(value = "select a.officer_id as officerId ,a.officer_name as officerName ," + + " a.certificate_no as certificateNo, a.law_no as lawNo, a.contact_phone as contactPhone, b.agency_id as agencyId," + + " b.agency_code as agencyCode,b.agency_name as agencyName,b.agency_level as agencyLevel from zf_officer a, zf_agency b where a.agency_id = b.agency_id and a.certificate_no = :certificateNo ", nativeQuery = true) + Optional findByAgencyCertificateNo(String certificateNo); + + @Query("select new com.aisino.iles.lawenforcement.model.dto.OfficerDto(a.officerId ,a.officerName ,a.certificateNo, a.lawNo, a.contactPhone, " + + "b.agencyId,b.agencyCode,b.agencyName,b.agencyLevel) from Officer a left join Agency b on a.agency = b and b.agencyCode like :gxdwbm ") + List findByAgencyCodeLike(String gxdwbm); + +} diff --git a/server/src/main/java/com/aisino/iles/lawenforcement/repository/OnlinePatrolRepository.java b/server/src/main/java/com/aisino/iles/lawenforcement/repository/OnlinePatrolRepository.java new file mode 100644 index 0000000..869c57e --- /dev/null +++ b/server/src/main/java/com/aisino/iles/lawenforcement/repository/OnlinePatrolRepository.java @@ -0,0 +1,35 @@ +package com.aisino.iles.lawenforcement.repository; + +import com.aisino.iles.core.repository.BaseRepo; +import com.aisino.iles.lawenforcement.model.OnlinePatrol; +import org.springframework.data.jpa.repository.Query; +import org.springframework.stereotype.Repository; + +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; + +@Repository +public interface OnlinePatrolRepository extends BaseRepo { + @Query(name = "getfxczfByMonth") + List> getfxczfByMonth(LocalDateTime startTime, LocalDateTime endTime); + + @Query(name = "getfxczfByYear") + List> getfxczfByYear(LocalDateTime startTime, LocalDateTime endTime); + + @Query("select count(a) from OnlinePatrol a") + Long getSumNum(); + + @Query("select count(a) from OnlinePatrol a where a.createTime >= ?1 and a.createTime <= ?2") + Long getNumByCreatTime(LocalDateTime startTime, LocalDateTime endTime); + + @Query(value = "with d as (select * from zf_agency where agency_level = 3) " + + "select substring(d.agency_name, 1, 3) agency_name, coalesce(b.zs, 0) zs from d left join " + + "(select zf_on.agency_id agency_id, count(0) zs from zf_online_patrol_info zf_on group by zf_on.agency_id ) b " + + "on d.agency_id = b.agency_id ", nativeQuery = true) + List> getFxczftjByAgency(); + + @Query(name = "getfxczftjByMonth") + List> getfxczftjByMonth(LocalDateTime startTime, LocalDateTime endTime); + +} diff --git a/server/src/main/java/com/aisino/iles/lawenforcement/repository/RecipientInfoRepository.java b/server/src/main/java/com/aisino/iles/lawenforcement/repository/RecipientInfoRepository.java new file mode 100644 index 0000000..1229e18 --- /dev/null +++ b/server/src/main/java/com/aisino/iles/lawenforcement/repository/RecipientInfoRepository.java @@ -0,0 +1,9 @@ +package com.aisino.iles.lawenforcement.repository; + +import com.aisino.iles.core.repository.BaseRepo; +import com.aisino.iles.lawenforcement.model.RecipientInfo; +import org.springframework.stereotype.Repository; + +@Repository +public interface RecipientInfoRepository extends BaseRepo { +}