Explorar o código

根据海口物业公司要求 补打收据页面同时显示 房屋和车位

java110 %!s(int64=5) %!d(string=hai) anos
pai
achega
a32f3aaf58

+ 9 - 0
java110-bean/src/main/java/com/java110/dto/feeReceipt/FeeReceiptDto.java

@@ -19,6 +19,7 @@ public class FeeReceiptDto extends PageDto implements Serializable {
     private String objId;
     private String objId;
     private String remark;
     private String remark;
     private String objName;
     private String objName;
+    private String carNum;
     private String communityId;
     private String communityId;
     private String receiptId;
     private String receiptId;
     private String[] receiptIds;
     private String[] receiptIds;
@@ -130,4 +131,12 @@ public class FeeReceiptDto extends PageDto implements Serializable {
     public void setReceiptIds(String[] receiptIds) {
     public void setReceiptIds(String[] receiptIds) {
         this.receiptIds = receiptIds;
         this.receiptIds = receiptIds;
     }
     }
+
+    public String getCarNum() {
+        return carNum;
+    }
+
+    public void setCarNum(String carNum) {
+        this.carNum = carNum;
+    }
 }
 }

+ 76 - 0
service-fee/src/main/java/com/java110/fee/bmo/feeReceipt/impl/GetFeeReceiptBMOImpl.java

@@ -1,9 +1,16 @@
 package com.java110.fee.bmo.feeReceipt.impl;
 package com.java110.fee.bmo.feeReceipt.impl;
 
 
+import com.java110.dto.RoomDto;
+import com.java110.dto.fee.FeeDto;
 import com.java110.dto.feeReceipt.FeeReceiptDto;
 import com.java110.dto.feeReceipt.FeeReceiptDto;
 import com.java110.dto.feeReceipt.FeeReceiptDtoNew;
 import com.java110.dto.feeReceipt.FeeReceiptDtoNew;
+import com.java110.dto.owner.OwnerCarDto;
+import com.java110.dto.owner.OwnerRoomRelDto;
 import com.java110.fee.bmo.feeReceipt.IGetFeeReceiptBMO;
 import com.java110.fee.bmo.feeReceipt.IGetFeeReceiptBMO;
+import com.java110.intf.community.IRoomInnerServiceSMO;
 import com.java110.intf.fee.IFeeReceiptInnerServiceSMO;
 import com.java110.intf.fee.IFeeReceiptInnerServiceSMO;
+import com.java110.intf.user.IOwnerCarInnerServiceSMO;
+import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
 import com.java110.vo.ResultVo;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.HttpStatus;
@@ -19,6 +26,15 @@ public class GetFeeReceiptBMOImpl implements IGetFeeReceiptBMO {
     @Autowired
     @Autowired
     private IFeeReceiptInnerServiceSMO feeReceiptInnerServiceSMOImpl;
     private IFeeReceiptInnerServiceSMO feeReceiptInnerServiceSMOImpl;
 
 
+    @Autowired
+    private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl;
+
+    @Autowired
+    private IOwnerRoomRelInnerServiceSMO ownerRoomRelInnerServiceSMOImpl;
+
+    @Autowired
+    private IRoomInnerServiceSMO roomInnerServiceSMOImpl;
+
     /**
     /**
      * @param feeReceiptDto
      * @param feeReceiptDto
      * @return 订单服务能够接受的报文
      * @return 订单服务能够接受的报文
@@ -36,6 +52,8 @@ public class GetFeeReceiptBMOImpl implements IGetFeeReceiptBMO {
                 feeReceipt.setStoreName(feeReceiptDto.getStoreName());
                 feeReceipt.setStoreName(feeReceiptDto.getStoreName());
                 feeReceiptList.add(feeReceipt);
                 feeReceiptList.add(feeReceipt);
             }
             }
+            //输入房屋信息
+            freshRoomInfo(feeReceiptDtos);
         } else {
         } else {
             feeReceiptDtos = new ArrayList<>();
             feeReceiptDtos = new ArrayList<>();
             feeReceiptList.addAll(feeReceiptDtos);
             feeReceiptList.addAll(feeReceiptDtos);
@@ -48,6 +66,64 @@ public class GetFeeReceiptBMOImpl implements IGetFeeReceiptBMO {
         return responseEntity;
         return responseEntity;
     }
     }
 
 
+    /**
+     * 刷入房屋信息
+     *
+     * @param feeReceiptDtos
+     */
+    private void freshRoomInfo(List<FeeReceiptDto> feeReceiptDtos) {
+
+        for (FeeReceiptDto feeReceiptDto : feeReceiptDtos) {
+            if (FeeDto.PAYER_OBJ_TYPE_ROOM.equals(feeReceiptDto.getObjType())) {
+                continue;
+            }
+
+            doFreshRoomInfo(feeReceiptDto);
+        }
+
+    }
+
+    /**
+     * 车位信息刷入房屋信息
+     *
+     * @param feeReceiptDto
+     */
+    private void doFreshRoomInfo(FeeReceiptDto feeReceiptDto) {
+        OwnerCarDto ownerCarDto = new OwnerCarDto();
+        ownerCarDto.setCarId(feeReceiptDto.getObjId());
+        ownerCarDto.setCommunityId(feeReceiptDto.getCommunityId());
+        List<OwnerCarDto> ownerCarDtos = ownerCarInnerServiceSMOImpl.queryOwnerCars(ownerCarDto);
+
+        if (ownerCarDtos == null || ownerCarDtos.size() < 1) {
+            return;
+        }
+        OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
+        ownerRoomRelDto.setOwnerId(ownerCarDtos.get(0).getOwnerId());
+
+        List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
+        if (ownerRoomRelDtos == null || ownerRoomRelDtos.size() < 1) {
+            return;
+        }
+
+        List<String> roomIds = new ArrayList<>();
+        for (OwnerRoomRelDto tOwnerRoomRelDto : ownerRoomRelDtos) {
+            roomIds.add(tOwnerRoomRelDto.getRoomId());
+        }
+
+        RoomDto roomDto = new RoomDto();
+        roomDto.setCommunityId(feeReceiptDto.getCommunityId());
+        roomDto.setRoomIds(roomIds.toArray(new String[roomIds.size()]));
+        List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
+        String roomName = "";
+        for (RoomDto tRoomDto : roomDtos) {
+            roomName += (tRoomDto.getFloorNum() + "栋" + tRoomDto.getUnitNum() + "单元" + roomDto.getRoomNum() + "室" + "/");
+        }
+
+        roomName = roomName.endsWith("/") ? roomName.substring(0, roomName.length() - 1) : roomName;
+        feeReceiptDto.setCarNum(feeReceiptDto.getObjName());
+        feeReceiptDto.setObjName(roomName);
+    }
+
 
 
     @Override
     @Override
     public ResponseEntity<String> gets(FeeReceiptDtoNew feeReceiptDtonew) {
     public ResponseEntity<String> gets(FeeReceiptDtoNew feeReceiptDtonew) {