Преглед на файлове

阀控记录查询拆分,时间以创建时间过滤

oppadmin преди 4 години
родител
ревизия
e3772b35da

+ 33 - 0
smart-city-platform/src/main/java/com/bz/smart_city/controller/pay/PayControlRecordController.java

@@ -127,6 +127,39 @@ public class PayControlRecordController {
         }
     }
 
+    @GetMapping("/findPageByMeterCode")
+    @ApiOperation(value="查询阀控记录,分页",notes="查询阀控记录,分页")
+    public AjaxMessage<Pagination<PayControlRecordDto>> findPageByMeterCode(
+            @ApiParam(value = "水表电子号,水表档案号", required = false) @RequestParam(required = false) String meterCode,
+            @ApiParam(value = "开始时间yyyyMMdd", required = true) @RequestParam(required = false) String beginTime,
+            @ApiParam(value = "结束时间yyyyMMdd", required = true) @RequestParam(required = false) String endTime,
+            @ApiParam(value = "页数,非必传,默认第一页", required = false, defaultValue = "1") @RequestParam(required = false, defaultValue = "1") int pageNum,
+            @ApiParam(value = "条数,非必传,默认15条", required = false, defaultValue = "15") @RequestParam(required = false, defaultValue = "15") int pageSize
+    ){
+        try {
+            DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
+            PayControlRecordDto payControlRecordDto = new PayControlRecordDto();
+
+            if(StringUtils.isNotBlank(meterCode)){
+                payControlRecordDto.setMeterCode(meterCode);
+            }
+            if(StringUtils.isNotBlank(beginTime)){
+                beginTime = beginTime +"000000";
+                payControlRecordDto.setBeginTime( LocalDateTime.parse(beginTime,df));
+            }
+            if(StringUtils.isNotBlank(endTime)){
+                endTime = endTime + "235959";
+                payControlRecordDto.setEndTime(LocalDateTime.parse(endTime, df));
+            }
+
+            Pagination<PayControlRecordDto> payControlRecordPagination = payControlRecordService.findPageByMeterCode(payControlRecordDto,pageNum,pageSize);
+            return new AjaxMessage<>(ResultStatus.OK,payControlRecordPagination);
+        }
+        catch (Exception ex){
+            return  new AjaxMessage<>(-99,ex.getMessage(),null);
+        }
+    }
+
     @GetMapping("/exportExcel")
     @ApiOperation(value="导出阀控记录",notes="导出阀控记录")
     public void exportExcel(

+ 2 - 0
smart-city-platform/src/main/java/com/bz/smart_city/dao/pay/PayControlRecordMapper.java

@@ -20,6 +20,8 @@ public interface PayControlRecordMapper {
     //查询
     List<PayControlRecordDto> findList(@Param("payControlRecordDto") PayControlRecordDto payControlRecordDto,@Param("siteId") BigInteger siteId,@Param("customerId") BigInteger customerId);
 
+    List<PayControlRecordDto> findListByMeterCode(@Param("payControlRecordDto") PayControlRecordDto payControlRecordDto,@Param("siteId") BigInteger siteId,@Param("customerId") BigInteger customerId);
+
     List<PayControlRecordDto> findByYear(@Param("accountNumber") String accountNumber,@Param("year") Integer year,@Param("siteId") BigInteger siteId,@Param("customerId") BigInteger customerId);
 
     PayControlRecord findControlRecordByMetercode(@Param("meterCode") String meterCode);

+ 10 - 0
smart-city-platform/src/main/java/com/bz/smart_city/service/impl/pay/PayControlRecordServiceImpl.java

@@ -59,6 +59,16 @@ public class PayControlRecordServiceImpl implements PayControlRecordService {
         return new  Pagination<>(payControlRecordList);
     }
 
+    @Override
+    public Pagination<PayControlRecordDto> findPageByMeterCode(PayControlRecordDto payControlRecordDto,int pageNum, int pageSize)
+    {
+        LoginUser loginUser = UserUtil.getCurrentUser();
+        PageHelper.startPage(pageNum,pageSize);
+        List<PayControlRecordDto> payControlRecordList = payControlRecordMapper.findListByMeterCode(payControlRecordDto,
+                new BigInteger(loginUser.getSiteId().toString()),new BigInteger(loginUser.getCustomerId().toString()));
+        return new  Pagination<>(payControlRecordList);
+    }
+
     @Override
     public void exportExcel(PayControlRecordDto payControlRecordDto, HttpServletResponse httpServletResponse){
 

+ 2 - 0
smart-city-platform/src/main/java/com/bz/smart_city/service/pay/PayControlRecordService.java

@@ -17,6 +17,8 @@ public interface PayControlRecordService {
 
     Pagination<PayControlRecordDto> findPage(PayControlRecordDto payControlRecordDto,int pageNum, int pageSize);
 
+    Pagination<PayControlRecordDto> findPageByMeterCode(PayControlRecordDto payControlRecordDto,int pageNum, int pageSize);
+
     List<PayControlRecordDto>findByYear(String accountNumber, Integer year);
 
     void exportExcel(PayControlRecordDto payControlRecordDto, HttpServletResponse httpServletResponse);

+ 39 - 2
smart-city-platform/src/main/resources/mapper/pay/PayControlRecordMapper.xml

@@ -37,8 +37,8 @@
             <if test="payControlRecordDto.type != null"> and pcr.type = #{payControlRecordDto.type}</if>
             <if test="payControlRecordDto.result != null"> and pcr.result = #{payControlRecordDto.result}</if>
             <if test="payControlRecordDto.state != null"> and pcr.state = #{payControlRecordDto.state}</if>
-            <if test="payControlRecordDto.beginTime != null"> and pcr.update_Date >= #{payControlRecordDto.beginTime,jdbcType=TIMESTAMP}</if>
-            <if test="payControlRecordDto.endTime != null"> and pcr.update_Date &lt;= #{payControlRecordDto.endTime,jdbcType=TIMESTAMP}</if>
+            <if test="payControlRecordDto.beginTime != null"> and pcr.create_date >= #{payControlRecordDto.beginTime,jdbcType=TIMESTAMP}</if>
+            <if test="payControlRecordDto.endTime != null"> and pcr.create_date &lt;= #{payControlRecordDto.endTime,jdbcType=TIMESTAMP}</if>
             <if test="payControlRecordDto.meterCode != null and payControlRecordDto.meterCode != ''">
              and (sc.metercode like concat('%',#{payControlRecordDto.meterCode},'%')
               or sc.water_meter_no like concat('%',#{payControlRecordDto.meterCode},'%')
@@ -47,6 +47,43 @@
         </where>
         order by pcr.update_date desc
     </select>
+    <select id="findListByMeterCode" resultType="com.bz.smart_city.dto.pay.PayControlRecordDto">
+        select
+        pcr.id,
+        pcr.account_id,
+        pcr.meter_id,
+        pcr.type,
+        pcr.result,
+        pcr.state,
+        pcr.control_rule_id,
+        pcr.create_by,
+        pcr.create_date,
+        pcr.update_by,
+        pcr.update_date,
+        pcr.remarks,
+        pcr.site_id,
+        pcr.customer_id,
+        pcrule.name as controlRuleIdName,
+        sc.water_meter_no,
+        sc.metercode,
+        sc.device_model,
+        sc.loc_desc,
+        sc.control_status
+        from pay_control_record pcr
+        left join pay_control_rule pcrule on pcr.control_rule_id = pcrule.id
+        left join sc_device sc on pcr.meter_id = sc.id
+        <where>
+            pcr.del_flag = 0
+            <if test="siteId != null"> and pcr.site_id = #{siteId}</if>
+            <if test="customerId != null"> and pcr.customer_id = #{customerId}</if>
+            <if test="payControlRecordDto.beginTime != null"> and pcr.create_date >= #{payControlRecordDto.beginTime,jdbcType=TIMESTAMP}</if>
+            <if test="payControlRecordDto.endTime != null"> and pcr.create_date &lt;= #{payControlRecordDto.endTime,jdbcType=TIMESTAMP}</if>
+            <if test="payControlRecordDto.meterCode != null and payControlRecordDto.meterCode != ''">
+                and sc.metercode =#{payControlRecordDto.meterCode}
+            </if>
+        </where>
+        order by pcr.update_date desc
+    </select>
 
     <select id="getRecentRecord" resultType="com.bz.smart_city.entity.pay.PayControlRecord">
         select