Browse Source

优惠车牌

xlq 5 days ago
parent
commit
b036b927ab

+ 5 - 0
src/main/java/com/qmrb/system/pojo/query/ContractPlaceNumberRelQuery.java

@@ -23,6 +23,11 @@ public class ContractPlaceNumberRelQuery extends BasePageQuery{
     private String startTimeEnd;
     private String endTimeBegin;
     private String endTimeEnd;
+    /**
+     * 协议名称
+     */
+    @Schema(description = "协议名称",type="String")
+    private String contractName;
 
  	@Schema(description="关键字")
     private String keywords;

+ 13 - 10
src/main/java/com/qmrb/system/service/impl/ContractPlaceNumberRelServiceImpl.java

@@ -27,6 +27,7 @@ import com.qmrb.system.service.IContractPlaceNumberRelService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmrb.system.service.IContractService;
 import com.qmrb.system.service.SysUserService;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -87,10 +88,12 @@ public class ContractPlaceNumberRelServiceImpl extends ServiceImpl<ContractPlace
         // 获取用户角色信息
         Set<String> roles = SecurityUtils.getRoles();
         String role = "";
-        // 管理员查看所有车牌登记情况
         if (roles.contains("ADMIN")) {
             role = "ADMIN";
-            pageResult = baseMapper.getAdminPage(new Page<>(pageNum, pageSize), role, sysUser,queryParams);
+        }
+        pageResult = baseMapper.getAdminPage(new Page<>(pageNum, pageSize), role, sysUser,queryParams);
+        // 管理员查看所有车牌登记情况
+        if (StringUtils.isNotBlank(role)) {
             List<ContractPlaceNumberRelVO> records = pageResult.getRecords();
             if (CollectionUtil.isNotEmpty(records)) {
                 records.get(0).setRole(role);
@@ -102,14 +105,14 @@ public class ContractPlaceNumberRelServiceImpl extends ServiceImpl<ContractPlace
                     .eq(ContractPlaceNumberRel::getStatus, "1")
             );
             // 查询数据
-            Page<ContractPlaceNumberRel> dictItemPage = this.page(
-                    new Page<>(pageNum, pageSize),
-                    new LambdaQueryWrapper<ContractPlaceNumberRel>()
-                            .eq(sysUser != null, ContractPlaceNumberRel::getContractId, sysUser.getContractId())
-                            .orderByDesc(ContractPlaceNumberRel::getStartTime)
-            );
-            // 实体转换
-            pageResult = converter.entity2Page(dictItemPage);
+            // Page<ContractPlaceNumberRel> dictItemPage = this.page(
+            //         new Page<>(pageNum, pageSize),
+            //         new LambdaQueryWrapper<ContractPlaceNumberRel>()
+            //                 .eq(sysUser != null, ContractPlaceNumberRel::getContractId, sysUser.getContractId())
+            //                 .orderByDesc(ContractPlaceNumberRel::getStartTime)
+            // );
+            // // 实体转换
+            // pageResult = converter.entity2Page(dictItemPage);
             // 获取车位上限
             Contract contract = contractService.getOne(new LambdaQueryWrapper<Contract>().eq(Contract::getId, sysUser.getContractId()));
             List<ContractPlaceNumberRelVO> records = pageResult.getRecords();

+ 9 - 0
src/main/resources/mapper/ContractPlaceNumberRelMapper.xml

@@ -11,9 +11,18 @@
         LEFT JOIN
         contract c ON cpnr.contract_id = c.id
         <where>
+            <if test="role == 'ADMIN'">
+                <!-- 当role为ADMIN时,不添加额外条件,查询所有 -->
+            </if>
             <if test="role != 'ADMIN'">
                 cpnr.contract_id = #{sysUser.contractId}
             </if>
+            <if test="queryParams.contractName != null and queryParams.contractName != ''">
+                c.contract_name like concat('%', #{queryParams.contractName}, '%')
+            </if>
+            <if test="queryParams.startTimeBegin != null and queryParams.startTimeBegin != '' and queryParams.startTimeEnd != null and queryParams.startTimeEnd != ''">
+                cpnr.create_time between #{queryParams.startTimeBegin} and #{queryParams.startTimeEnd}
+            </if>
         </where>
         order by cpnr.update_time desc
     </select>