Browse Source

1突泉修改(一部分)

Xiaojh 4 năm trước cách đây
mục cha
commit
8a60b74f89
14 tập tin đã thay đổi với 121 bổ sung49 xóa
  1. 3 2
      smart-city-platform/src/main/java/com/bz/smart_city/controller/pay/PayBaseAccountController.java
  2. 10 0
      smart-city-platform/src/main/java/com/bz/smart_city/controller/pay/archives/PayBaseCustomerandmeterrelaController.java
  3. 1 1
      smart-city-platform/src/main/java/com/bz/smart_city/dao/pay/PayBaseAccountMapper.java
  4. 1 0
      smart-city-platform/src/main/java/com/bz/smart_city/dao/pay/archives/PayBaseCustomerandmeterrelaMapper.java
  5. 2 1
      smart-city-platform/src/main/java/com/bz/smart_city/dto/pay/PayBaseAccountMeterDto.java
  6. 2 0
      smart-city-platform/src/main/java/com/bz/smart_city/dto/pay/PayCustomerDto.java
  7. 3 1
      smart-city-platform/src/main/java/com/bz/smart_city/entity/pay/archives/CustomerListInfo.java
  8. 2 0
      smart-city-platform/src/main/java/com/bz/smart_city/entity/pay/archives/PayAccountInfo.java
  9. 2 2
      smart-city-platform/src/main/java/com/bz/smart_city/service/impl/pay/PayBaseAccountServiceImpl.java
  10. 1 1
      smart-city-platform/src/main/java/com/bz/smart_city/service/pay/PayBaseAccountService.java
  11. 2 0
      smart-city-platform/src/main/java/com/bz/smart_city/service/pay/archives/PayBaseCustomerandmeterrelaService.java
  12. 14 1
      smart-city-platform/src/main/java/com/bz/smart_city/service/pay/archives/impl/PayBaseCustomerandmeterrelaServiceImpl.java
  13. 71 38
      smart-city-platform/src/main/resources/mapper/PayBaseCustomerandmeterrelaMapper.xml
  14. 7 2
      smart-city-platform/src/main/resources/mapper/pay/PayBaseAccountMapper.xml

+ 3 - 2
smart-city-platform/src/main/java/com/bz/smart_city/controller/pay/PayBaseAccountController.java

@@ -58,7 +58,8 @@ public class PayBaseAccountController {
     @GetMapping("/findMeter")
     @ApiOperation(value = "开户管理-水表信息",notes = "开户管理-水表信息")
     public AjaxMessage<Pagination<PayMeter>>findMeter(
-            @ApiParam(value = "水表档案号、客户编号、安装地址",required = false) @RequestParam(required = false) String queryInfo,
+            @ApiParam(value = "水表档案号、水表电子号、安装地址",required = false) @RequestParam(required = false) String queryInfo,
+            @ApiParam(value = "安装地址",required = false) @RequestParam(required = false) String address,
             @ApiParam(value = "状态(0待验收,1待开户,2已开户)",required = false) @RequestParam(required = false) String state,
             @ApiParam(value = "排序参数,对应列表字段", required = false) @RequestParam(required = false) String sortColumn,
             @ApiParam(value = "排序方式,顺序:ASC  倒序:DESC", required = false) @RequestParam(required = false) String sortOrder,
@@ -66,7 +67,7 @@ public class PayBaseAccountController {
             @ApiParam(value = "条数,非必传,默认15条", required = false, defaultValue = "15") @RequestParam(required = false, defaultValue = "15") Integer pageSize
     )
     {
-        Pagination<PayMeter> meterInfoPagination = payBaseAccountService.findMeter(queryInfo,state, sortColumn,sortOrder,pageNum,pageSize);
+        Pagination<PayMeter> meterInfoPagination = payBaseAccountService.findMeter(queryInfo,address,state, sortColumn,sortOrder,pageNum,pageSize);
         return  new AjaxMessage<>(ResultStatus.OK,meterInfoPagination);
     }
 

+ 10 - 0
smart-city-platform/src/main/java/com/bz/smart_city/controller/pay/archives/PayBaseCustomerandmeterrelaController.java

@@ -97,6 +97,16 @@ public class PayBaseCustomerandmeterrelaController {
         return new AjaxMessage<>(ResultStatus.OK, info);
     }
 
+
+    @PostMapping("/selectMeterElenoMeterInfo")
+    @ApiOperation("计费系统-水表电子号点击事件")
+    public AjaxMessage<Pagination<PayAccountInfo>> selectMeterElenoMeterInfo(String metereleno,
+      @ApiParam(value = "页数,非必传,默认第一页", required = false, defaultValue = "1") @RequestParam(required = false, defaultValue = "1") int pageNum,
+      @ApiParam(value = "条数,非必传,默认10条", required = false, defaultValue = "10") @RequestParam(required = false, defaultValue = "10") int pageSize){
+        Pagination<PayAccountInfo> info  = payBaseCustomerandmeterrelaService.selectMeterElenoMeterInfo(metereleno,pageNum,pageSize);
+        return new AjaxMessage<>(ResultStatus.OK, info);
+    }
+
     @PostMapping("/saveCustomer")
     @ApiOperation(value = "计费系统-确认开户")
     public AjaxMessage saveCustomer(@ApiParam(value = "保存开户信息",required = true) @RequestBody(required = true) @Validated PaySaveCustomerDto paySaveCustomerDto){

+ 1 - 1
smart-city-platform/src/main/java/com/bz/smart_city/dao/pay/PayBaseAccountMapper.java

@@ -50,7 +50,7 @@ public interface PayBaseAccountMapper {
     List<PayBaseAccountMeterDto> findWaterMeter(@Param("accountnumber") String accountnumber,@Param("siteId") BigInteger siteId, @Param("customerId") BigInteger customerId);
 
     //查询水表信息  涉及到查询云平台数据的如sc_device/抄表数据的,只按customer_id过滤
-    List<PayMeter>findMeterInfo(@Param("queryInfo") String queryInfo, @Param("state") String state,  @Param("sortColumn") String sortColumn,@Param("sortOrder") String sortOrder, @Param("siteId") BigInteger siteId, @Param("customerId") BigInteger customerId,@Param("year") Integer year,@Param("month") Integer month,@Param("programItemList") List<ProgramItem> programItemList);
+    List<PayMeter>findMeterInfo(@Param("queryInfo") String queryInfo, @Param("address") String address,@Param("state") String state,  @Param("sortColumn") String sortColumn,@Param("sortOrder") String sortOrder, @Param("siteId") BigInteger siteId, @Param("customerId") BigInteger customerId,@Param("year") Integer year,@Param("month") Integer month,@Param("programItemList") List<ProgramItem> programItemList);
 
     void updateAccountName(@Param("type")Integer type,@Param("accountname")String accountname,@Param("accountId")BigInteger accountId);
 }

+ 1 - 0
smart-city-platform/src/main/java/com/bz/smart_city/dao/pay/archives/PayBaseCustomerandmeterrelaMapper.java

@@ -61,6 +61,7 @@ public interface PayBaseCustomerandmeterrelaMapper {
 
     public List<MeterListInfo> queryMetercode(@Param("siteId") Integer siteId, @Param("customerId")Integer customerId);
     public List<PayAccountInfo> selectAccountMeterInfo (@Param("siteId") Integer siteId, @Param("customerId")Integer customerId,@Param("metercode")String metercode);
+    public List<PayAccountInfo> selectMeterElenoMeterInfo (@Param("siteId") Integer siteId, @Param("customerId")Integer customerId,@Param("metereleno")String metereleno);
 
     public int updateAccountInfo(@Param("accountname")String accountname,@Param("accountnumber")String accountnumber,@Param("metercode")String metercode,@Param("idtype")Integer idtype,
                                  @Param("idcardno")String idcardno,@Param("telephone")String telephone,@Param("officeId")BigInteger officeId,

+ 2 - 1
smart-city-platform/src/main/java/com/bz/smart_city/dto/pay/PayBaseAccountMeterDto.java

@@ -30,7 +30,8 @@ public class PayBaseAccountMeterDto {
     private String waterpropertyName;
     @ApiModelProperty(example = "001000000101",notes = "水表档案号")
     private String metercode;
+    @ApiModelProperty(example = "001000000101",notes = "水表电子号")
+    private String metereleno;
     @ApiModelProperty(example = "",notes = "帐期水量信息")
     private List<PayBaseAccountWaterusedamountDto> payBaseAccountWaterusedamountDtoList;
-
 }

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

@@ -68,4 +68,6 @@ public class PayCustomerDto {
     public String vatno;
     @ApiModelProperty(value = "邮箱",position = 23)
     public String email;
+    @ApiModelProperty(value = "水表电子号",position = 24)
+    public String metereleno;
 }

+ 3 - 1
smart-city-platform/src/main/java/com/bz/smart_city/entity/pay/archives/CustomerListInfo.java

@@ -27,6 +27,8 @@ public class CustomerListInfo {
     private String accountname;
     @ApiModelProperty(value = "用户手机号",position = 6)
     private String telephone;
-    @ApiModelProperty(value = "身份证号",position = 7)
+    @ApiModelProperty(value = "身份证号",position = 8)
     private String idcardno;
+    @ApiModelProperty(value = "水表电子号",position = 7)
+    private String metereleno;
 }

+ 2 - 0
smart-city-platform/src/main/java/com/bz/smart_city/entity/pay/archives/PayAccountInfo.java

@@ -27,5 +27,7 @@ public class PayAccountInfo {
     private String telephone;
     @ApiModelProperty(value = "身份证号",position = 7)
     private String idcardno;
+    @ApiModelProperty(value = "水表电子号", position =8 )
+    public String metereleno;
 
 }

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

@@ -274,7 +274,7 @@ public class PayBaseAccountServiceImpl implements PayBaseAccountService {
     }
 
     @Override
-    public Pagination<PayMeter>findMeter(String queryInfo, String state,String sortColumn, String sortOrder, Integer pageNum, Integer pageSize)
+    public Pagination<PayMeter>findMeter(String queryInfo,String address, String state,String sortColumn, String sortOrder, Integer pageNum, Integer pageSize)
     {
         LoginUser loginUser = UserUtil.getCurrentUser();
         BigInteger siteId = new BigInteger(String.valueOf(loginUser.getSiteId()));
@@ -295,7 +295,7 @@ public class PayBaseAccountServiceImpl implements PayBaseAccountService {
         List<ProgramItem> programItemList = loginUser.getDataPermissionMap().get(loginUser.getSiteId());
 
         PageHelper.startPage(pageNum,pageSize);
-        List<PayMeter> meterInfoList = payBaseAccountMapper.findMeterInfo(queryInfo,state,sortColumn,sortOrder,siteId,customerId,year,month,programItemList);
+        List<PayMeter> meterInfoList = payBaseAccountMapper.findMeterInfo(queryInfo,address,state,sortColumn,sortOrder,siteId,customerId,year,month,programItemList);
 
         return new Pagination<>(meterInfoList);
     }

+ 1 - 1
smart-city-platform/src/main/java/com/bz/smart_city/service/pay/PayBaseAccountService.java

@@ -34,7 +34,7 @@ public interface PayBaseAccountService {
 
     List<PaySysDictSelectDto> findState();
 
-    Pagination<PayMeter>findMeter(String queryInfo, String state,String sortColumn, String sortOrder,  Integer pageNum, Integer pageSize);
+    Pagination<PayMeter>findMeter(String queryInfo, String address,String state,String sortColumn, String sortOrder,  Integer pageNum, Integer pageSize);
 
     //根据安装计划ID删除用户信息
     int delByPlanId(BigInteger planId);

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

@@ -42,6 +42,8 @@ public interface PayBaseCustomerandmeterrelaService {
 
     public Pagination<PayAccountInfo> selectAccountMeterInfo(String metercode,int pageNum, int pageSize);
 
+    public Pagination<PayAccountInfo> selectMeterElenoMeterInfo(String metereleno,int pageNum, int pageSize);
+
     public int saveCustomer(String accountname,String accountnumber,String metercode,BigInteger waterPropertyId,Integer calculateway,Integer idtype,
                             String idcardno,String telephone,BigInteger officeId,Integer housetype,Integer customergroup,BigDecimal fixedamount);
 

+ 14 - 1
smart-city-platform/src/main/java/com/bz/smart_city/service/pay/archives/impl/PayBaseCustomerandmeterrelaServiceImpl.java

@@ -195,6 +195,19 @@ public class PayBaseCustomerandmeterrelaServiceImpl implements PayBaseCustomeran
         List<PayAccountInfo> list = payBaseCustomerandmeterrelaMapper.selectAccountMeterInfo(loginUser.getSiteId(),loginUser.getCustomerId(),metercode);
         return new Pagination<>(list);
     }
+
+    /**
+     * 根据水表电子号查询该水表所在的客户信息(模糊搜索)
+     * @param metereleno
+     * @return
+     */
+    public Pagination<PayAccountInfo> selectMeterElenoMeterInfo(String metereleno,int pageNum, int pageSize){
+        LoginUser loginUser = UserUtil.getCurrentUser();
+        PageHelper.startPage(pageNum, pageSize);
+        List<PayAccountInfo> list = payBaseCustomerandmeterrelaMapper.selectMeterElenoMeterInfo(loginUser.getSiteId(),loginUser.getCustomerId(),metereleno);
+        return new Pagination<>(list);
+    }
+
     /**
      * 确认开户
      * @param accountnumber
@@ -734,7 +747,7 @@ public class PayBaseCustomerandmeterrelaServiceImpl implements PayBaseCustomeran
             //1.查抄未开户水表信息集合
             List<ProgramItem> programItemList = loginUser.getDataPermissionMap().get(siteId);
             //查找待开户信息
-            List<PayMeter> meterInfoList = payBaseAccountMapper.findMeterInfo(null,"1",null,null,siteId,customerId,null,null,programItemList);
+            List<PayMeter> meterInfoList = payBaseAccountMapper.findMeterInfo(null,null,"1",null,null,siteId,customerId,null,null,programItemList);
             //2.查找用水性质集合
             List<BaseWaterPropertyDto> propertyList = baseWaterPropertyMapper.getList(null,customerId,siteId);
             //3.查找结算方式集合

+ 71 - 38
smart-city-platform/src/main/resources/mapper/PayBaseCustomerandmeterrelaMapper.xml

@@ -237,31 +237,33 @@
 
     <select id="getAll" resultType="com.bz.smart_city.dto.pay.PayCustomerDto">
         select
-        customer.fixedamount as "fixedamount",
-        customer.id as "id",
-        account.accountnumber as "accountnumber",
-        account.name as "accountname",
-        account.telephone as "telephone",
-        customer.metercode as "metercode",
-        property.id as "waterPropertyId",
-        property.name as "waterPropertyName",
-        account.address as "address",
-        customer.opendate as "opendate",
-        customer.office_id as "officeId",
-        account.email,
-        customer.vatno,
-        customer.businessstate as "businessstate",
-        (select label from pay_sys_dict where type = '开户状态' and value = customer.businessstate and site_id = #{siteId} and customer_id =#{customerId}) as "businessName",
-        customer.calculateway as "calculateway",
-        (select label from pay_sys_dict where type = '结算方式' and value = customer.calculateway and site_id = #{siteId} and customer_id =#{customerId}) as "calculatewayName",
-        account.idtype as "idtype",
-        (select label from pay_sys_dict where type = '证件类型' and value = account.idtype and site_id = #{siteId} and customer_id =#{customerId}) as "idtypeName",
-        account.idcardno as "idcardno",
-        customer.housetype as "housetype",
-        (select label from pay_sys_dict where type = '住房类型' and value = customer.housetype and site_id = #{siteId} and customer_id =#{customerId}) as "housetypeName",
-        customer.customergroup as "customergroup",
-        (select label from pay_sys_dict where type = '开户分组' and value = customer.customergroup and site_id = #{siteId} and customer_id =#{customerId}) as "customergroupName"
+            customer.fixedamount as "fixedamount",
+            customer.id as "id",
+            account.accountnumber as "accountnumber",
+            account.name as "accountname",
+            account.telephone as "telephone",
+            customer.metercode as "metercode",
+            device.water_meter_no as "metereleno",
+            property.id as "waterPropertyId",
+            property.name as "waterPropertyName",
+            account.address as "address",
+            customer.opendate as "opendate",
+            customer.office_id as "officeId",
+            account.email,
+            customer.vatno,
+            customer.businessstate as "businessstate",
+            (select label from pay_sys_dict where type = '开户状态' and value = customer.businessstate and site_id = #{siteId} and customer_id =#{customerId}) as "businessName",
+            customer.calculateway as "calculateway",
+            (select label from pay_sys_dict where type = '结算方式' and value = customer.calculateway and site_id = #{siteId} and customer_id =#{customerId}) as "calculatewayName",
+            account.idtype as "idtype",
+            (select label from pay_sys_dict where type = '证件类型' and value = account.idtype and site_id = #{siteId} and customer_id =#{customerId}) as "idtypeName",
+            account.idcardno as "idcardno",
+            customer.housetype as "housetype",
+            (select label from pay_sys_dict where type = '住房类型' and value = customer.housetype and site_id = #{siteId} and customer_id =#{customerId}) as "housetypeName",
+            customer.customergroup as "customergroup",
+            (select label from pay_sys_dict where type = '开户分组' and value = customer.customergroup and site_id = #{siteId} and customer_id =#{customerId}) as "customergroupName"
         from pay_base_customerandmeterrela customer
+        left join sc_device device on customer.watermeter_id = device.id
         left join pay_base_account account on account.id = customer.account_id
         left join pay_base_waterproperty property on property.id = customer.waterproperty_id
         <where>
@@ -279,6 +281,7 @@
                 or customer.metercode like  concat('%',#{condition},'%')
                 or account.address  like concat('%',#{condition},'%')
                 or account.telephone like concat('%',#{condition},'%')
+                or device.water_meter_no like concat('%',#{condition},'%')
                 )
             </if>
             <if test="waterPropertyId != null">
@@ -364,10 +367,10 @@
 
     <select id="selectAccountInfo" resultType="com.bz.smart_city.entity.pay.archives.MeterListInfo">
         select
-        device.metercode as "metercode",
-        sil.user_name as accountname,
-        sil.user_phone as telephone,
-        sil.id_card as idcardno
+            device.metercode as "metercode",
+            sil.user_name as accountname,
+            sil.user_phone as telephone,
+            sil.id_card as idcardno
         from pay_base_account account
         inner join sc_device device on account.id = device.account_id
         inner join sc_install_list sil on sil.device_id = device.id
@@ -388,13 +391,14 @@
 
     <select id="selectAccountMeterInfo" resultType="com.bz.smart_city.entity.pay.archives.PayAccountInfo">
         select
-        account.accountnumber as "accountnumber",
-        account.calculateway as "calculateway",
-        account.waterproperty_id as "waterPropertyId",
-        device.metercode as "metercode",
-        sil.user_name as accountname,
-        sil.user_phone as telephone,
-        sil.id_card as idcardno
+            account.accountnumber as "accountnumber",
+            account.calculateway as "calculateway",
+            account.waterproperty_id as "waterPropertyId",
+            device.metercode as "metercode",
+            sil.user_name as accountname,
+            sil.user_phone as telephone,
+            sil.id_card as idcardno,
+            device.water_meter_no as "metereleno"
         from pay_base_account account
         inner join sc_device device on account.id = device.account_id
         inner join sc_install_list sil on sil.device_id = device.id
@@ -413,11 +417,40 @@
         </where>
     </select>
 
+    <select id="selectMeterElenoMeterInfo" resultType="com.bz.smart_city.entity.pay.archives.PayAccountInfo">
+        select
+            account.accountnumber as "accountnumber",
+            account.calculateway as "calculateway",
+            account.waterproperty_id as "waterPropertyId",
+            device.metercode as "metercode",
+            sil.user_name as accountname,
+            sil.user_phone as telephone,
+            sil.id_card as idcardno,
+            device.water_meter_no as "metereleno"
+        from pay_base_account account
+        inner join sc_device device on account.id = device.account_id
+        inner join sc_install_list sil on sil.device_id = device.id
+        <where>
+            device.id not in(select watermeter_id from pay_base_customerandmeterrela where businessstate = '1')
+            <if test="metereleno != null">
+                and device.water_meter_no like concat('%',#{metereleno},'%')
+            </if>
+            <!--<if test="siteId != null">
+                and  account.site_id = #{siteId}
+            </if>-->
+            <if test="customerId != null">
+                and account.customer_id = #{customerId}
+            </if>
+            order by account.create_date desc
+        </where>
+    </select>
+
     <select id="selectAccountWater" resultType="com.bz.smart_city.entity.pay.archives.CustomerListInfo">
         select
-        accountnumber as "accountnumber",
-        calculateway as "calculateway" ,
-        waterproperty_id as "waterPropertyId"
+            accountnumber as "accountnumber",
+            calculateway as "calculateway" ,
+            waterproperty_id as "waterPropertyId",
+            device.water_meter_no as "metereleno"
         from pay_base_account account
         inner join sc_device device on account.id = device.account_id
         <where>

+ 7 - 2
smart-city-platform/src/main/resources/mapper/pay/PayBaseAccountMapper.xml

@@ -497,11 +497,13 @@
             pbc.metercode,
             psd.label AS housetypeName,
             psd2.label AS calculateway,
-            pbw.name as waterpropertyName
+            pbw.name as waterpropertyName,
+            device.water_meter_no as "metereleno"
          from pay_base_customerandmeterrela pbc
         LEFT JOIN pay_sys_dict psd on pbc.housetype = psd.value and psd.type='住房类型' and psd.site_id=#{siteId} and psd.customer_id=#{customerId}
         left join pay_sys_dict psd2 on pbc.calculateway = psd2.value and psd2.type='结算方式' and psd2.site_id=#{siteId} and psd2.customer_id=#{customerId}
         left join pay_base_waterproperty pbw on pbc.waterproperty_id = pbw.id and pbw.site_id=#{siteId} and pbw.customer_id=#{customerId}
+        left join sc_device device on pbc.watermeter_id = device.id
         where pbc.accountnumber=#{accountnumber} and pbc.site_id=#{siteId} and pbc.customer_id=#{customerId}
     </select>
 
@@ -572,9 +574,12 @@
             and (
             scd.metercode like concat('%',#{queryInfo,jdbcType=VARCHAR} ,'%')
             or pba.accountnumber like concat('%',#{queryInfo,jdbcType=VARCHAR} ,'%')
-            or pba.address like concat('%',#{queryInfo,jdbcType=VARCHAR} ,'%')
+            or scd.water_meter_no like concat('%',#{queryInfo,jdbcType=VARCHAR} ,'%')
             )
         </if>
+        <if test="address != null and address != ''">
+            and pba.address like concat('%',#{address,jdbcType=VARCHAR} ,'%')
+        </if>
         <if test="state != null and state != '' ">
             and IFNULL(scinstall.is_accepted,0) = #{state,jdbcType=INTEGER}
         </if>