dengyj il y a 3 ans
Parent
commit
eeeaec05d7

+ 12 - 0
src/main/java/com/steerinfo/baseinfo/meterbasespotinfo/mapper/MeterBaseSpotInfoMapper.xml

@@ -1117,5 +1117,17 @@
             #{item}
           </foreach>
         </if>
+    <if test="baseSpotNo != null and baseSpotNo != ''">
+      and BASE_SPOT_NO = #{baseSpotNo}
+    </if>
+    <if test="baseSpotName != null and baseSpotName != ''">
+      and BASE_SPOT_NAME = #{baseSpotName}
+    </if>
+    <if test="spotTypeNo != null and spotTypeNo != ''">
+      and SPOT_TYPE_NO = #{spotTypeNo}
+    </if>
+    <if test="spotTypeName != null and spotTypeName != ''">
+      and SPOT_TYPE_NAME = #{spotTypeName}
+    </if>
   </select>
 </mapper>

+ 24 - 0
src/main/java/com/steerinfo/meterwork/meterworkcarnoidentify/controller/MeterWorkCarnoIdentifyController.java

@@ -1,5 +1,6 @@
 package com.steerinfo.meterwork.meterworkcarnoidentify.controller;
 
+import cn.hutool.db.Page;
 import com.steerinfo.framework.controller.BaseRESTfulController;
 import com.steerinfo.framework.controller.RESTfulResult;
 import com.steerinfo.framework.service.pagehelper.PageHelper;
@@ -55,7 +56,30 @@ public class MeterWorkCarnoIdentifyController extends BaseRESTfulController {
             e.printStackTrace();
             return success(null,"操作失败");
         }
+    }
 
+    @ApiOperation(value = "汽车衡车号自动识别统计查询分析--汇总", notes = "根据开始时间、结束时间、站点查询")
+    @PostMapping(value = "/getGroupByCarNoNum")
+    public RESTfulResult getGroupByCarNoNum(@RequestBody(required = false) HashMap params){
+        try {
+            List<HashMap> groupByNum = meterWorkCarnoIdentifyService.getGroupByCarNoNum(params);
+            return success(groupByNum);
+        }catch (Exception e){
+            e.printStackTrace();
+            return success(null,"操作失败");
+        }
+    }
+
+    @ApiOperation(value = "汽车衡车号自动识别统计查询分析--明细", notes = "根据开始时间、结束时间、站点查询")
+    @PostMapping(value = "/getCarNoDetail")
+    public RESTfulResult getCarNoDetail(@RequestBody(required = false) HashMap params){
+        try {
+            PageList<HashMap> groupByNum = meterWorkCarnoIdentifyService.getCarNoDetail(params);
+            return success(groupByNum);
+        }catch (Exception e){
+            e.printStackTrace();
+            return success(null,"操作失败");
+        }
     }
 
     @PostMapping(value = "/getPointDetails")

+ 3 - 0
src/main/java/com/steerinfo/meterwork/meterworkcarnoidentify/mapper/MeterWorkCarnoIdentifyMapper.java

@@ -2,6 +2,7 @@ package com.steerinfo.meterwork.meterworkcarnoidentify.mapper;
 
 import com.steerinfo.framework.mapper.IBaseMapper;
 import com.steerinfo.meterwork.meterworkcarmetertime.model.PointDetailsBo;
+import com.steerinfo.meterwork.meterworkcarnoidentify.model.CarNoIndentifyAndCarFirst;
 import com.steerinfo.meterwork.meterworkcarnoidentify.model.GroupByNumVo;
 import com.steerinfo.meterwork.meterworkcarnoidentify.model.MeterWorkCarnoIdentify;
 import java.math.*;
@@ -14,6 +15,8 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface MeterWorkCarnoIdentifyMapper extends IBaseMapper<MeterWorkCarnoIdentify, String> {
     List<GroupByNumVo> selectGroupByNum(HashMap meterWorkCarnoIdentify);
+    List<CarNoIndentifyAndCarFirst> selectGroupByCarNoNum(HashMap params);
+    List<HashMap> getCarNoDetail(HashMap params);
 
     List<PointDetailsVo> selectPointDetails(PointDetailsBo pointDetailsBo);
 }

+ 69 - 0
src/main/java/com/steerinfo/meterwork/meterworkcarnoidentify/mapper/MeterWorkCarnoIdentifyMapper.xml

@@ -402,4 +402,73 @@
     </where>
   </select>
 
+
+  <resultMap id="CarNoIndentifyAndCarFirstResultMap" type="com.steerinfo.meterwork.meterworkcarnoidentify.model.CarNoIndentifyAndCarFirst">
+    <id column="ID" jdbcType="VARCHAR" property="id" />
+    <result column="BASE_SPOT_NO" jdbcType="VARCHAR" property="baseSpotNo" />
+    <result column="BASE_SPOT_NAME" jdbcType="VARCHAR" property="baseSpotName" />
+    <result column="ACTUAL_FIRST_NO" jdbcType="VARCHAR" property="actualFirstNo" />
+    <result column="CAR_NO" jdbcType="VARCHAR" property="carNo" />
+    <result column="VIDEO_CAR_NO1" jdbcType="VARCHAR" property="videoCarNo1" />
+    <result column="VIDEO_CAR_NO2" jdbcType="VARCHAR" property="videoCarNo2" />
+    <result column="RFID_CAR_NO" jdbcType="VARCHAR" property="rfidCarNo" />
+    <result column="SCAN_CAR_NO" jdbcType="VARCHAR" property="scanCarNo" />
+    <result column="CAR_NO_TYPE" jdbcType="VARCHAR" property="carNoType" />
+    <result column="base_spot_no" jdbcType="VARCHAR" property="baseSpotNo" />
+    <result column="base_spot_name" jdbcType="VARCHAR" property="baseSpotName" />
+    <result column="first_car_no" jdbcType="VARCHAR" property="firstCarNo" />
+  </resultMap>
+  <select id="selectGroupByCarNoNum" parameterType="java.util.HashMap" resultMap="CarNoIndentifyAndCarFirstResultMap">
+    select B.base_spot_no, B.base_spot_name, B.car_no first_car_no,
+    A.id,
+    A.actual_first_no,
+    A.car_no,
+    A.video_car_no1,
+    A.video_car_no2,
+    A.rfid_car_no,
+    A.scan_car_no,
+    A.car_no_type
+      from Meter_Work_Carno_Identify A
+      left join meter_work_car_actual_first B
+        on A.actual_first_no = B.actual_first_no
+    where 1 = 1
+    <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
+      and B.create_time  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') and B.create_time  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+    </if>
+    <if test="baseSpotNo != null and baseSpotNo != ''">
+      and B.base_spot_no like '%${baseSpotNo}%'
+    </if>
+    <if test="baseSpotName != null and baseSpotName != ''">
+      and B.BASE_SPOT_NAME like '%${baseSpotName}%'
+    </if>
+  </select>
+
+
+  <select id="getCarNoDetail" parameterType="java.util.HashMap" resultType="hashmap">
+    select B.base_spot_no,
+       B.base_spot_name,
+       B.create_time,
+       B.car_no first_car_no,
+       A.car_no,
+       A.video_car_no1,
+       case when (select C.video_car_no1 from Meter_Work_Carno_Identify C where C.Actual_First_No = A.Actual_First_No and A.Car_No_type = '1' and C.video_car_no1 = A.car_no) is  not null then '是' else '否' end vedio_car_no1_flag,
+       A.video_car_no2,
+       case when (select C.video_car_no2 from Meter_Work_Carno_Identify C where C.Actual_First_No = A.Actual_First_No and A.Car_No_type = '1' and C.video_car_no2 = A.car_no) is not null then '是' else '否' end vedio_car_no2_flag,
+       A.Rfid_Car_No,
+       (select D.car_No from meter_base_rfid_info D where D.RFID_code in (select C.rfid_car_no from Meter_Work_Carno_Identify C where C.Actual_First_No = A.Actual_First_No and A.Car_No_type = '2')) rfid_carNo
+    from Meter_Work_Carno_Identify A
+    left join meter_work_car_actual_first B
+      on A.actual_first_no = B.actual_first_no
+    where 1 = 1
+    <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
+      and B.create_time  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') and B.create_time  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+    </if>
+    <if test="baseSpotNo != null and baseSpotNo != ''">
+      and B.BASE_SPOT_No like '%${baseSpotNo}%'
+    </if>
+    <if test="baseSpotName != null and baseSpotName != ''">
+      and B.BASE_SPOT_NAME like '%${baseSpotName}%'
+    </if>
+  </select>
+
 </mapper>

+ 147 - 0
src/main/java/com/steerinfo/meterwork/meterworkcarnoidentify/model/CarNoIndentifyAndCarFirst.java

@@ -0,0 +1,147 @@
+package com.steerinfo.meterwork.meterworkcarnoidentify.model;
+
+import io.swagger.annotations.ApiModelProperty;
+
+public class CarNoIndentifyAndCarFirst {
+
+    /**
+     * 主键(ID,VARCHAR,50)
+     */
+    @ApiModelProperty(value="主键",required=true)
+    private String id;
+
+    /**
+     * 一次数据编号(ACTUAL_FIRST_NO,VARCHAR,50)
+     */
+    @ApiModelProperty(value="一次数据编号",required=true)
+    private String actualFirstNo;
+
+    /**
+     * 最终车号(CAR_NO,VARCHAR,20)
+     */
+    @ApiModelProperty(value="最终车号",required=false)
+    private String carNo;
+
+    /**
+     * 视觉识别车号1(VIDEO_CAR_NO1,VARCHAR,20)
+     */
+    @ApiModelProperty(value="视觉识别车号1",required=false)
+    private String videoCarNo1;
+
+    /**
+     * 视觉识别车号2(VIDEO_CAR_NO2,VARCHAR,20)
+     */
+    @ApiModelProperty(value="视觉识别车号2",required=false)
+    private String videoCarNo2;
+
+    /**
+     * RFID车号(RFID_CAR_NO,VARCHAR,20)
+     */
+    @ApiModelProperty(value="RFID车号",required=false)
+    private String rfidCarNo;
+
+    /**
+     * 扫码识别车号(SCAN_CAR_NO,VARCHAR,20)
+     */
+    @ApiModelProperty(value="扫码识别车号",required=false)
+    private String scanCarNo;
+
+    /**
+     * 识别方式(CAR_NO_TYPE,VARCHAR,1)
+     */
+    @ApiModelProperty(value="识别方式",required=false)
+    private String carNoType;
+
+    @ApiModelProperty(value="计量点编号",required=false)
+    private String baseSpotNo;
+
+    @ApiModelProperty(value="计量点名称",required=false)
+    private String baseSpotName;
+
+    @ApiModelProperty(value="一次数据车号",required=false)
+    private String firstCarNo;
+
+    private static final long serialVersionUID = 1L;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    public String getActualFirstNo() {
+        return actualFirstNo;
+    }
+
+    public void setActualFirstNo(String actualFirstNo) {
+        this.actualFirstNo = actualFirstNo == null ? null : actualFirstNo.trim();
+    }
+
+    public String getCarNo() {
+        return carNo;
+    }
+
+    public void setCarNo(String carNo) {
+        this.carNo = carNo == null ? null : carNo.trim();
+    }
+
+    public String getVideoCarNo1() {
+        return videoCarNo1;
+    }
+
+    public void setVideoCarNo1(String videoCarNo1) {
+        this.videoCarNo1 = videoCarNo1 == null ? null : videoCarNo1.trim();
+    }
+
+    public String getVideoCarNo2() {
+        return videoCarNo2;
+    }
+
+    public void setVideoCarNo2(String videoCarNo2) {
+        this.videoCarNo2 = videoCarNo2 == null ? null : videoCarNo2.trim();
+    }
+
+    public String getRfidCarNo() {
+        return rfidCarNo;
+    }
+
+    public void setRfidCarNo(String rfidCarNo) {
+        this.rfidCarNo = rfidCarNo == null ? null : rfidCarNo.trim();
+    }
+
+    public String getScanCarNo() {
+        return scanCarNo;
+    }
+
+    public void setScanCarNo(String scanCarNo) {
+        this.scanCarNo = scanCarNo == null ? null : scanCarNo.trim();
+    }
+
+    public String getCarNoType() {
+        return carNoType;
+    }
+
+    public void setCarNoType(String carNoType) {
+        this.carNoType = carNoType == null ? null : carNoType.trim();
+    }
+
+    public void setBaseSpotNo(String baseSpotNo) { this.baseSpotNo = baseSpotNo == null ? null : baseSpotNo.trim(); }
+
+    public String getBaseSpotNo() {
+        return baseSpotNo;
+    }
+
+    public void setBaseSpotName(String baseSpotName) { this.baseSpotName = baseSpotName == null ? null : baseSpotName.trim(); }
+
+    public String getBaseSpotName() {
+        return baseSpotName;
+    }
+
+    public void setFirstCarNo(String firstCarNo) { this.firstCarNo = firstCarNo == null ? null : firstCarNo.trim(); }
+
+    public String getFirstCarNo() {
+        return firstCarNo;
+    }
+}

+ 3 - 0
src/main/java/com/steerinfo/meterwork/meterworkcarnoidentify/service/IMeterWorkCarnoIdentifyService.java

@@ -1,6 +1,7 @@
 package com.steerinfo.meterwork.meterworkcarnoidentify.service;
 
 import com.steerinfo.framework.service.IBaseService;
+import com.steerinfo.framework.service.pagehelper.PageList;
 import com.steerinfo.meterwork.meterworkcarmetertime.model.PointDetailsBo;
 import com.steerinfo.meterwork.meterworkcarnoidentify.model.GroupByNumVo;
 import com.steerinfo.meterwork.meterworkcarnoidentify.model.MeterWorkCarnoIdentify;
@@ -27,6 +28,8 @@ import java.util.List;
 public interface IMeterWorkCarnoIdentifyService extends IBaseService<MeterWorkCarnoIdentify, String>{
 
     List<GroupByNumVo> getGroupByNum(HashMap meterWorkCarnoIdentify);
+    List<HashMap> getGroupByCarNoNum(HashMap params);
+    PageList<HashMap> getCarNoDetail(HashMap params);
 
     List<PointDetailsVo> getPointDetails(PointDetailsBo pointDetailsBo);
 }

+ 138 - 4
src/main/java/com/steerinfo/meterwork/meterworkcarnoidentify/service/impl/MeterWorkCarnoIdentifyServiceImpl.java

@@ -1,19 +1,29 @@
 package com.steerinfo.meterwork.meterworkcarnoidentify.service.impl;
 
+import com.steerinfo.baseinfo.meterbasespotinfo.mapper.MeterBaseSpotInfoMapper;
+import com.steerinfo.baseinfo.meterbasespotinfo.model.MeterBaseSpotInfo;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import com.steerinfo.framework.service.impl.BaseServiceImpl;
+import com.steerinfo.framework.service.pagehelper.PageHelper;
+import com.steerinfo.framework.service.pagehelper.PageList;
 import com.steerinfo.meterwork.meterworkcarmetertime.model.PointDetailsBo;
+import com.steerinfo.meterwork.meterworkcarnoidentify.model.CarNoIndentifyAndCarFirst;
 import com.steerinfo.meterwork.meterworkcarnoidentify.model.GroupByNumVo;
 import com.steerinfo.meterwork.meterworkcarnoidentify.model.MeterWorkCarnoIdentify;
 import com.steerinfo.meterwork.meterworkcarnoidentify.mapper.MeterWorkCarnoIdentifyMapper;
 import com.steerinfo.meterwork.meterworkcarnoidentify.model.PointDetailsVo;
 import com.steerinfo.meterwork.meterworkcarnoidentify.service.IMeterWorkCarnoIdentifyService;
+import com.steerinfo.util.StringUtils;
+import org.apache.shiro.crypto.hash.Hash;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import java.util.Date;
+
+import javax.annotation.Resource;
+import java.util.*;
 import java.math.BigDecimal;
-import java.util.HashMap;
-import java.util.List;
+import java.util.stream.Collectors;
+
+import static java.lang.Math.abs;
 
 /**
  * MeterWorkCarnoIdentify服务实现:
@@ -31,9 +41,12 @@ import java.util.List;
 @Service(value = "meterWorkCarnoIdentifyService")
 public class MeterWorkCarnoIdentifyServiceImpl extends BaseServiceImpl<MeterWorkCarnoIdentify, String> implements IMeterWorkCarnoIdentifyService {
 
-    @Autowired
+    @Resource
     private MeterWorkCarnoIdentifyMapper meterWorkCarnoIdentifyMapper;
 
+    @Resource
+    private MeterBaseSpotInfoMapper meterBaseSpotInfoMapper;
+
     @Override
     protected IBaseMapper<MeterWorkCarnoIdentify, String> getMapper() {
         return meterWorkCarnoIdentifyMapper;
@@ -45,6 +58,127 @@ public class MeterWorkCarnoIdentifyServiceImpl extends BaseServiceImpl<MeterWork
 
     }
 
+    @Override
+    public List<HashMap> getGroupByCarNoNum(HashMap params) {
+        List<HashMap> mapList = new ArrayList<>();
+        //汽车衡类型
+        params.put("spotTypeNo", "001002001");
+        //车号根据实绩ID左连接一次数据表
+        List<CarNoIndentifyAndCarFirst> models = meterWorkCarnoIdentifyMapper.selectGroupByCarNoNum(params);
+
+        List<MeterBaseSpotInfo> spotModels = meterBaseSpotInfoMapper.spotInfoByList(params);
+        if(spotModels.size() >= 1) {
+            for(MeterBaseSpotInfo spot: spotModels) {
+                //一次计量车数
+                long countCarFirst = 0L;
+                //球机车号识别数
+                long countBallIdentify = 0L;
+                //枪机车号识别数
+                long countGunIdentify = 0L;
+                //枪机球机识别差数
+                long countBallDifferGun = 0L;
+                //Rfid车号识别数
+                long countRfidIdentify = 0L;
+                //修正车号数
+                long countResetCar = 0L;
+                //枪机修改车号数
+                long countGunResetCar = 0L;
+                //球机修改车号数
+                long countBallResetCar = 0L;
+                //枪机车号识别率
+                double countGunIndentifyRate = 0;
+                //枪机识别准确率
+                double countGunIndentifyAccuracyRate = 0;
+                //球机车号识别率
+                double countBallIndentifyRate = 0;
+                //球机识别准确率
+                double countBallIndentifyAccuracyRate = 0;
+                if(models != null && models.size() >= 1) {
+                    //一次计量车数
+                    countCarFirst = models.stream().filter(model -> model.getBaseSpotNo().equals(spot.getBaseSpotNo())
+                            && model.getBaseSpotName().equals(spot.getBaseSpotName())).count();
+                    //球机车号识别数
+                    countBallIdentify = models.stream().filter(model -> model.getBaseSpotNo().equals(spot.getBaseSpotNo())
+                            && model.getBaseSpotName().equals(spot.getBaseSpotName())
+                            && model.getCarNoType().equals("1")
+                            && StringUtils.isNotEmpty(model.getVideoCarNo1())).count();
+                    //枪机车号识别数
+                    countGunIdentify = models.stream().filter(model -> model.getBaseSpotNo().equals(spot.getBaseSpotNo())
+                            && model.getBaseSpotName().equals(spot.getBaseSpotName())
+                            && model.getCarNoType().equals("1")
+                            && StringUtils.isNotEmpty(model.getVideoCarNo2())).count();
+                    //枪机球机识别差数
+                    countBallDifferGun = abs(countBallIdentify - countGunIdentify);
+                    //Rfid车号识别数
+                    countRfidIdentify = models.stream().filter(model -> model.getBaseSpotNo().equals(spot.getBaseSpotNo())
+                            && model.getBaseSpotName().equals(spot.getBaseSpotName())
+                            && model.getCarNoType().equals("2")
+                            && StringUtils.isNotEmpty(model.getRfidCarNo())).count();
+                    //修正车号数
+                    countResetCar = models.stream().filter(model -> model.getBaseSpotNo().equals(spot.getBaseSpotNo())
+                            && model.getBaseSpotName().equals(spot.getBaseSpotName())
+                            && model.getCarNoType().equals("4")).count();
+                    //枪机修改车号数
+                    countGunResetCar = models.stream().filter(model -> model.getBaseSpotNo().equals(spot.getBaseSpotNo())
+                            && model.getBaseSpotName().equals(spot.getBaseSpotName())
+                            && model.getCarNoType().equals("1")
+                            && StringUtils.isNotEmpty(model.getVideoCarNo2())
+                            && model.getCarNo() != model.getFirstCarNo()).count();
+                    //球机修改车号数
+                    countBallResetCar = models.stream().filter(model -> model.getBaseSpotNo().equals(spot.getBaseSpotNo())
+                            && model.getBaseSpotName().equals(spot.getBaseSpotName())
+                            && model.getCarNoType().equals("1")
+                            && StringUtils.isNotEmpty(model.getVideoCarNo1())
+                            && model.getCarNo() != model.getFirstCarNo()).count();
+                    //枪机车号识别率------枪机车号识别数/一次计量车数
+                    if(countCarFirst != 0) {
+                        countGunIndentifyRate = Math.round(countGunIdentify/(countCarFirst*1.0)*100*100)/100.0; //(Math.round(*100))/100.0;
+                    }
+                    //枪机识别准确率------(枪机识别车号数-枪机识别错误修正数)/枪机识别车号数
+                    if(countGunIdentify != 0) {
+                        countGunIndentifyAccuracyRate = Math.round((countGunIdentify-countGunResetCar)/(countGunIdentify*1.0)*100*100)/100.0; //(Math.round((*100))/100.0;
+                    }
+                    //球机车号识别率
+                    if(countCarFirst != 0) {
+                        countBallIndentifyRate = Math.round(countBallIdentify/(countCarFirst*1.0)*100*100)/100.0; //(Math.round(*100))/100.0;
+                    }
+                    //球机识别准确率
+                    if(countBallIdentify != 0) {
+                        countBallIndentifyAccuracyRate = Math.round((countBallIdentify-countBallResetCar)/(countBallIdentify*1.0)*100*100)/100.0; //(Math.round((*100))/100.0;
+                    }
+
+                    HashMap<String, Object> obj = new HashMap<>();
+                    //一次计量车数、球机车号识别数、枪机车号识别数、枪机球机识别差数、Rfid车号识别数、
+                    // 修正车号数、枪机修改车号数、球机修改车号数、枪机车号识别率、枪机识别准确率、球机车号识别率、球机识别准确率
+                    obj.put("spotNo", spot.getBaseSpotNo());
+                    obj.put("spotName", spot.getBaseSpotName());
+                    obj.put("countCarFirst", countCarFirst);
+                    obj.put("countBallIdentify", countBallIdentify);
+                    obj.put("countGunIdentify", countGunIdentify);
+                    obj.put("countBallDifferGun", countBallDifferGun);
+                    obj.put("countRfidIdentify", countRfidIdentify);
+                    obj.put("countResetCar", countResetCar);
+                    obj.put("countGunResetCar", countGunResetCar);
+                    obj.put("countBallResetCar", countBallResetCar);
+                    obj.put("countGunIndentifyRate", countGunIndentifyRate);
+                    obj.put("countGunIndentifyAccuracyRate", countGunIndentifyAccuracyRate);
+                    obj.put("countBallIndentifyRate", countBallIndentifyRate);
+                    obj.put("countBallIndentifyAccuracyRate", countBallIndentifyAccuracyRate);
+                    mapList.add(obj);
+                }
+            }
+        }
+        return mapList;
+    }
+
+    @Override
+    public PageList<HashMap> getCarNoDetail(HashMap params) {
+        PageHelper.startPage(Integer.parseInt(params.get("pageNum").toString()), Integer.parseInt(params.get("pageSize").toString()));
+        List<HashMap> rows = meterWorkCarnoIdentifyMapper.getCarNoDetail(params);
+        PageList pageInfo = new PageList(rows);
+        return pageInfo;
+    }
+
     @Override
     public List<PointDetailsVo> getPointDetails(PointDetailsBo pointDetailsBo) {
         return meterWorkCarnoIdentifyMapper.selectPointDetails(pointDetailsBo);