Compare commits

...

2 Commits

  1. 10
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnforcementRegistrationBo.java
  2. 10
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/ScanDataSituationBo.java
  3. 17
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/report/impl/LawEnfOfficerSericeImpl.java
  4. 21
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/report/impl/ScanDataSituationServiceImpl.java
  5. 10
      zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/LawEnfOfficerMapper.xml
  6. 49
      zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/ScanDataSituationMapper.xml

10
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnforcementRegistrationBo.java

@ -392,4 +392,14 @@ public class EnforcementRegistrationBo extends BaseEntity {
* 街道名称
*/
private String streetName;
/**
* 排序方向 asc/desc
*/
private String isAsc;
/**
* 排序字段列
*/
private String orderByColumn;
}

10
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/ScanDataSituationBo.java

@ -52,4 +52,14 @@ public class ScanDataSituationBo {
* 结束时间
*/
private Date endTime;
/**
* 排序字段
*/
private String isAsc;
/**
* 排序字段列
*/
private String orderByColumn;
}

17
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/report/impl/LawEnfOfficerSericeImpl.java

@ -11,15 +11,28 @@ import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service
@RequiredArgsConstructor
public class LawEnfOfficerSericeImpl implements ILawEnfOfficerService {
private final LawEnfOfficerMapper lawEnfOfficerMapper;
/**
* 构建分页对象:排序统一由 XML 中的 orderByColumn 白名单控制。
* 清空 MyBatis-Plus 的 OrderItem,避免 PageQuery 把驼峰列名转成下划线列名后,
* 在 SQL 里再追加一个排序字段(如 order by xzzf_count asc, xzzfCount asc)。
*/
private <T> Page<T> buildPage(PageQuery pageQuery) {
Page<T> page = pageQuery.build();
// 排序只由 XML 中的 orderByColumn 白名单决定,清空 MP 的 OrderItem
page.setOrders(new ArrayList<>());
return page;
}
@Override
public TableDataInfo<EnforcementRegistrationVo> selectLawEnfOfficerPageList(PageQuery pageQuery, EnforcementRegistrationBo bo) {
Page<EnforcementRegistrationVo> list=lawEnfOfficerMapper.selectLawEnfOfficerPageList(pageQuery.build(),bo);
Page<EnforcementRegistrationVo> list=lawEnfOfficerMapper.selectLawEnfOfficerPageList(buildPage(pageQuery),bo);
return TableDataInfo.build(list);
}
@ -30,7 +43,7 @@ public class LawEnfOfficerSericeImpl implements ILawEnfOfficerService {
@Override
public TableDataInfo<EnforcementRegistrationVo> selectLawEnfOfficerDetailsPageList(PageQuery pageQuery, EnforcementRegistrationBo bo) {
Page<EnforcementRegistrationVo> list=lawEnfOfficerMapper.selectLawEnfOfficerDetailsPageList(pageQuery.build(),bo);
Page<EnforcementRegistrationVo> list=lawEnfOfficerMapper.selectLawEnfOfficerDetailsPageList(buildPage(pageQuery),bo);
return TableDataInfo.build(list);
}
}

21
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/report/impl/ScanDataSituationServiceImpl.java

@ -10,6 +10,7 @@ import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service
@ -18,9 +19,21 @@ public class ScanDataSituationServiceImpl implements IScanDataSituationService {
private final ScanDataSituationMapper scanDataSituationMapper;
/**
* 构建分页对象:排序统一由 XML 中的 orderByColumn 白名单控制。
* 清空 MyBatis-Plus 的 OrderItem,避免 PageQuery 把驼峰列名转成下划线列名后,
* 在 SQL 里再追加一个排序字段(如 order by xzzf_count asc, xzzfCount asc)。
*/
private <T> Page<T> buildPage(PageQuery pageQuery) {
Page<T> page = pageQuery.build();
// 排序只由 XML 中的 orderByColumn 白名单决定,清空 MP 的 OrderItem
page.setOrders(new ArrayList<>());
return page;
}
@Override
public TableDataInfo<ScanDataSituationVo> selectScanDataSituationAreaPageList(PageQuery pageQuery, ScanDataSituationBo bo) {
Page<ScanDataSituationVo> page=scanDataSituationMapper.selectScanDataSituationAreaPageList(pageQuery.build(),bo);
Page<ScanDataSituationVo> page=scanDataSituationMapper.selectScanDataSituationAreaPageList(buildPage(pageQuery),bo);
return TableDataInfo.build(page);
}
@ -31,14 +44,14 @@ public class ScanDataSituationServiceImpl implements IScanDataSituationService {
@Override
public TableDataInfo<ScanDataSituationVo> selectScanDataSituationAreaDetailsPageList(PageQuery pageQuery, ScanDataSituationBo bo) {
Page<ScanDataSituationVo> page=scanDataSituationMapper.selectScanDataSituationAreaDetailsPageList(pageQuery.build(),bo);
Page<ScanDataSituationVo> page=scanDataSituationMapper.selectScanDataSituationAreaDetailsPageList(buildPage(pageQuery),bo);
return TableDataInfo.build(page);
}
@Override
public TableDataInfo<ScanDataSituationVo> selectScanDataSituationDomainPageList(PageQuery pageQuery, ScanDataSituationBo bo) {
Page<ScanDataSituationVo> page=scanDataSituationMapper.selectScanDataSituationDomainPageList(pageQuery.build(),bo);
Page<ScanDataSituationVo> page=scanDataSituationMapper.selectScanDataSituationDomainPageList(buildPage(pageQuery),bo);
return TableDataInfo.build(page);
}
@ -49,7 +62,7 @@ public class ScanDataSituationServiceImpl implements IScanDataSituationService {
@Override
public TableDataInfo<ScanDataSituationVo> selectScanDataSituationDomainDetailsPageList(PageQuery pageQuery, ScanDataSituationBo bo) {
Page<ScanDataSituationVo> page=scanDataSituationMapper.selectScanDataSituationDomainDetailsPageList(pageQuery.build(),bo);
Page<ScanDataSituationVo> page=scanDataSituationMapper.selectScanDataSituationDomainDetailsPageList(buildPage(pageQuery),bo);
return TableDataInfo.build(page);
}
}

10
zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/LawEnfOfficerMapper.xml

@ -49,9 +49,17 @@
<if test="bo.districtName!=null and bo.districtName !=''">
and t4.name like CONCAT('%', #{bo.districtName}, '%')
</if>
<if test="bo.bureauDeptName!=null and bo.bureauDeptName !=''">
and t1.bureauDeptName like CONCAT('%', #{bo.bureauDeptName}, '%')
</if>
</where>
and t4.level = 3
order by t1.zfcs desc
order by
<choose>
<when test="bo.orderByColumn == 'zfcs'">zfcs</when>
<otherwise>zfcs</otherwise>
</choose>
<if test="bo.isAsc == 'desc'">desc</if>
</sql>
<select id="selectLawEnfOfficerPageList" resultType="com.zdxt.enforcementcode.domain.vo.EnforcementRegistrationVo">

49
zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/ScanDataSituationMapper.xml

@ -122,8 +122,19 @@
</if>
) base
<!--#where base.district_name ='宝安区'-->
<!-- 排序:orderByColumn 走白名单映射,避免 ${} 拼接造成 SQL 注入;未指定时默认按 xzzfslpm 升序 -->
order by
xzzfslpm
<choose>
<when test="bo.orderByColumn == 'enterpriseCount'">enterpriseCount</when>
<when test="bo.orderByColumn == 'xzzfCount'">xzzfCount</when>
<when test="bo.orderByColumn == 'xzzfslpm'">xzzfslpm</when>
<when test="bo.orderByColumn == 'xzzfslzb'">xzzfslzb</when>
<when test="bo.orderByColumn == 'fxzzfsl'">fxzzfsl</when>
<when test="bo.orderByColumn == 'fxzzfslpm'">fxzzfslpm</when>
<when test="bo.orderByColumn == 'fxzzfslzb'">fxzzfslzb</when>
<otherwise>xzzfslpm</otherwise>
</choose>
<if test="bo.isAsc == 'desc'">desc</if>
</sql>
<select id="selectScanDataSituationAreaPageList" resultType="com.zdxt.enforcementcode.domain.vo.ScanDataSituationVo">
@ -256,8 +267,19 @@
and t3.parent_code =#{bo.districtCode}
</if>
) base
<!-- 排序:与区域列表一致,走白名单,避免 MyBatis-Plus 再追加排序字段 -->
order by
xzzfslpm
<choose>
<when test="bo.orderByColumn == 'enterpriseCount'">enterpriseCount</when>
<when test="bo.orderByColumn == 'xzzfCount'">xzzfCount</when>
<when test="bo.orderByColumn == 'xzzfslpm'">xzzfslpm</when>
<when test="bo.orderByColumn == 'xzzfslzb'">xzzfslzb</when>
<when test="bo.orderByColumn == 'fxzzfsl'">fxzzfsl</when>
<when test="bo.orderByColumn == 'fxzzfslpm'">fxzzfslpm</when>
<when test="bo.orderByColumn == 'fxzzfslzb'">fxzzfslzb</when>
<otherwise>xzzfslpm</otherwise>
</choose>
<if test="bo.isAsc == 'desc'">desc</if>
</select>
@ -371,7 +393,16 @@
</where>
) base
order by
xzzfslpm
<choose>
<when test="bo.orderByColumn == 'xzzfCount'">xzzfCount</when>
<when test="bo.orderByColumn == 'xzzfslpm'">xzzfslpm</when>
<when test="bo.orderByColumn == 'xzzfslzb'">xzzfslzb</when>
<when test="bo.orderByColumn == 'fxzzfsl'">fxzzfsl</when>
<when test="bo.orderByColumn == 'fxzzfslpm'">fxzzfslpm</when>
<when test="bo.orderByColumn == 'fxzzfslzb'">fxzzfslzb</when>
<otherwise>xzzfslpm</otherwise>
</choose>
<if test="bo.isAsc == 'desc'">desc</if>
</sql>
<select id="selectScanDataSituationDomainPageList" resultType="com.zdxt.enforcementcode.domain.vo.ScanDataSituationVo">
@ -501,7 +532,17 @@
and t1.code = #{bo.districtCode}
</if>
) base
<!-- 排序:与领域列表一致,走白名单,避免 MyBatis-Plus 再追加排序字段 -->
order by
xzzfslpm
<choose>
<when test="bo.orderByColumn == 'xzzfCount'">xzzfCount</when>
<when test="bo.orderByColumn == 'xzzfslpm'">xzzfslpm</when>
<when test="bo.orderByColumn == 'xzzfslzb'">xzzfslzb</when>
<when test="bo.orderByColumn == 'fxzzfsl'">fxzzfsl</when>
<when test="bo.orderByColumn == 'fxzzfslpm'">fxzzfslpm</when>
<when test="bo.orderByColumn == 'fxzzfslzb'">fxzzfslzb</when>
<otherwise>xzzfslpm</otherwise>
</choose>
<if test="bo.isAsc == 'desc'">desc</if>
</select>
</mapper>

Loading…
Cancel
Save