Parcourir la source

Merge remote-tracking branch 'origin/master'

92895 il y a 5 ans
Parent
commit
4e8cc5a02f

+ 11 - 0
java110-bean/src/main/java/com/java110/dto/community/CommunityDto.java

@@ -33,6 +33,8 @@ public class CommunityDto extends PageDto implements Serializable {
     private String parentAreaCode;
     private String parentAreaName;
 
+    private String communityArea;
+
 
     private Date createTime;
 
@@ -191,4 +193,13 @@ public class CommunityDto extends PageDto implements Serializable {
     public void setParentAreaName(String parentAreaName) {
         this.parentAreaName = parentAreaName;
     }
+
+
+    public String getCommunityArea() {
+        return communityArea;
+    }
+
+    public void setCommunityArea(String communityArea) {
+        this.communityArea = communityArea;
+    }
 }

+ 10 - 0
java110-bean/src/main/java/com/java110/po/community/CommunityPo.java

@@ -21,6 +21,8 @@ public class CommunityPo implements Serializable {
     private String mapY;
     private String state;
 
+    private String communityArea;
+
     public String getCommunityId() {
         return communityId;
     }
@@ -84,4 +86,12 @@ public class CommunityPo implements Serializable {
     public void setState(String state) {
         this.state = state;
     }
+
+    public String getCommunityArea() {
+        return communityArea;
+    }
+
+    public void setCommunityArea(String communityArea) {
+        this.communityArea = communityArea;
+    }
 }

+ 14 - 6
java110-db/src/main/resources/mapper/community/CommunityServiceDaoImplMapper.xml

@@ -6,8 +6,10 @@
     
     <!-- 保存小区信息 add by wuxw 2018-07-03 -->
     <insert id="saveBusinessCommunityInfo" parameterType="Map">
-        insert into business_community(community_id,b_id,name,address,city_code,nearby_landmarks,map_x,map_y,month,state,operate)
-        values(#{communityId},#{bId},#{name},#{address},#{cityCode},#{nearbyLandmarks},#{mapX},#{mapY},#{month},#{state},#{operate})
+        insert into business_community(community_id,b_id,name,address,city_code,
+        nearby_landmarks,map_x,map_y,month,state,operate,community_area)
+        values(#{communityId},#{bId},#{name},#{address},#{cityCode},
+        #{nearbyLandmarks},#{mapX},#{mapY},#{month},#{state},#{operate},#{communityArea})
     </insert>
     <!-- 保存小区属性信息  add by wuxw 2018-07-03 -->
     <insert id="saveBusinessCommunityAttr" parameterType="Map">
@@ -23,7 +25,8 @@
 
     <!-- 查询小区信息(Business) add by wuxw 2018-07-03 -->
     <select id="getBusinessCommunityInfo" parameterType="Map" resultType="Map">
-        select s.community_id,s.b_id,s.name,s.address,s.city_code,s.nearby_landmarks,s.map_x,s.map_y,s.operate,s.state
+        select s.community_id,s.b_id,s.name,s.address,s.city_code,s.nearby_landmarks,
+        s.map_x,s.map_y,s.operate,s.state,s.community_area communityArea,s.community_area
         from business_community s where 1 = 1
         <if test="operate != null and operate != ''">
             and s.operate = #{operate}
@@ -73,8 +76,8 @@
 
     <!-- 保存小区信息至 instance表中 add by wuxw 2018-07-03 -->
     <insert id="saveCommunityInfoInstance" parameterType="Map">
-        insert into s_community(community_id,b_id,name,address,city_code,nearby_landmarks,map_x,map_y,status_cd,state)
-        values(#{community_id},#{b_id},#{name},#{address},#{city_code},#{nearby_landmarks},#{map_x},#{map_y},'0',#{state})
+        insert into s_community(community_id,b_id,name,address,city_code,nearby_landmarks,map_x,map_y,status_cd,state,community_area)
+        values(#{community_id},#{b_id},#{name},#{address},#{city_code},#{nearby_landmarks},#{map_x},#{map_y},'0',#{state},#{communityArea})
     </insert>
 
     <!-- 保存小区属性信息到 instance add by wuxw 2018-07-03 -->
@@ -183,6 +186,10 @@
         <if test="state != null and state != ''">
             ,s.state = #{state}
         </if>
+        <if test="communityArea != null and communityArea != ''">
+            ,s.community_area = #{communityArea}
+        </if>
+
         where 1=1
         <if test="bId != null and bId !=''">
             and s.b_id = #{bId}
@@ -446,7 +453,8 @@
         ELSE
         '审核拒绝'
         END) stateName,ca.area_code areaCode,ca.area_name areaName,
-        ca.parent_area_code parentAreaCode,ca.parent_area_name parentAreaName
+        ca.parent_area_code parentAreaCode,ca.parent_area_name parentAreaName,
+        t.community_area communityArea
         from s_community t,city_area ca
         <if test="memberId !=null and memberId !=''">
             ,s_community_member cm

+ 8 - 10
java110-db/src/main/resources/mapper/user/OwnerRoomRelServiceDaoImplMapper.xml

@@ -6,12 +6,12 @@
 
     <!-- 保存业主房屋信息 add by wuxw 2018-07-03 -->
     <insert id="saveBusinessOwnerRoomRelInfo" parameterType="Map">
-           insert into business_building_owner_room_rel(
-rel_id,operate,remark,state,owner_id,b_id,user_id,room_id
-) values (
-#{relId},#{operate},#{remark},#{state},#{ownerId},#{bId},#{userId},#{roomId}
-)
-       </insert>
+        insert into business_building_owner_room_rel(
+        rel_id,operate,remark,state,owner_id,b_id,user_id,room_id
+        ) values (
+        #{relId},#{operate},#{remark},#{state},#{ownerId},#{bId},#{userId},#{roomId}
+        )
+    </insert>
 
 
     <!-- 查询业主房屋信息(Business) add by wuxw 2018-07-03 -->
@@ -93,7 +93,7 @@ rel_id,operate,remark,state,owner_id,b_id,user_id,room_id
         </if>
         where 1 =1
         <if test="byOwnerInfo == true">
-           and t.owner_id = bow.owner_id
+            and t.owner_id = bow.owner_id
             and bow.status_cd = '0'
         </if>
         <if test="byOwnerInfo == true and ownerName !=null and ownerName != ''">
@@ -123,9 +123,7 @@ rel_id,operate,remark,state,owner_id,b_id,user_id,room_id
         <if test="bId !=null and bId != ''">
             and t.b_id= #{bId}
         </if>
-        <if test="userId !=null and userId != ''">
-            and t.user_id= #{userId}
-        </if>
+
         <if test="roomId !=null and roomId != ''">
             and t.room_id= #{roomId}
         </if>

+ 10 - 3
service-api/src/main/java/com/java110/api/bmo/community/impl/CommunityBMOImpl.java

@@ -6,14 +6,21 @@ import com.java110.api.bmo.ApiBaseBMO;
 import com.java110.api.bmo.community.ICommunityBMO;
 import com.java110.core.context.DataFlowContext;
 import com.java110.core.factory.GenerateCodeFactory;
-import com.java110.intf.community.ICommunityInnerServiceSMO;
 import com.java110.dto.CommunityMemberDto;
 import com.java110.dto.community.CommunityDto;
+import com.java110.intf.community.ICommunityInnerServiceSMO;
 import com.java110.po.community.CommunityMemberPo;
 import com.java110.po.community.CommunityPo;
 import com.java110.po.fee.PayFeeConfigPo;
 import com.java110.utils.cache.MappingCache;
-import com.java110.utils.constant.*;
+import com.java110.utils.constant.BusinessTypeConstant;
+import com.java110.utils.constant.CommonConstant;
+import com.java110.utils.constant.CommunityMemberTypeConstant;
+import com.java110.utils.constant.FeeTypeConstant;
+import com.java110.utils.constant.MappingConstant;
+import com.java110.utils.constant.ResponseConstant;
+import com.java110.utils.constant.StateConstant;
+import com.java110.utils.constant.StatusConstant;
 import com.java110.utils.exception.ListenerExecuteException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
@@ -483,6 +490,7 @@ public class CommunityBMOImpl extends ApiBaseBMO implements ICommunityBMO {
 
         paramInJson.put("communityId", GenerateCodeFactory.getCommunityId());
         paramInJson.put("state", "1000");
+        paramInJson.put("communityArea", "0");
         CommunityPo communityPo = BeanConvertUtil.covertBean(paramInJson, CommunityPo.class);
         super.insert(dataFlowContext, communityPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_COMMUNITY_INFO);
 
@@ -497,7 +505,6 @@ public class CommunityBMOImpl extends ApiBaseBMO implements ICommunityBMO {
      */
     public void updateCommunityOne(JSONObject paramInJson, DataFlowContext dataFlowContext) {
 
-
         CommunityPo communityPo = BeanConvertUtil.covertBean(paramInJson, CommunityPo.class);
 
         super.update(dataFlowContext, communityPo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_COMMUNITY_INFO);

+ 3 - 0
service-community/src/main/java/com/java110/community/listener/community/AbstractCommunityBusinessServiceDataFlowListener.java

@@ -44,6 +44,7 @@ public abstract class AbstractCommunityBusinessServiceDataFlowListener extends A
         businessCommunityInfo.put("mapX", businessCommunityInfo.get("map_x"));
         businessCommunityInfo.put("mapY", businessCommunityInfo.get("map_y"));
         businessCommunityInfo.put("state", businessCommunityInfo.get("state"));
+        businessCommunityInfo.put("communityArea", businessCommunityInfo.get("community_area"));
         businessCommunityInfo.put("statusCd", statusCd);
     }
 
@@ -114,6 +115,8 @@ public abstract class AbstractCommunityBusinessServiceDataFlowListener extends A
         currentCommunityInfo.put("mapX", currentCommunityInfo.get("map_x"));
         currentCommunityInfo.put("mapY", currentCommunityInfo.get("map_y"));
         currentCommunityInfo.put("state", currentCommunityInfo.get("state"));
+        currentCommunityInfo.put("communityArea", currentCommunityInfo.get("community_area"));
+
         currentCommunityInfo.put("operate", StatusConstant.OPERATE_DEL);
         getCommunityServiceDaoImpl().saveBusinessCommunityInfo(currentCommunityInfo);
         for(Object key : currentCommunityInfo.keySet()) {

+ 29 - 9
service-fee/src/main/java/com/java110/fee/bmo/importFee/impl/FeeSharingBMOImpl.java

@@ -4,14 +4,20 @@ import com.alibaba.fastjson.JSONObject;
 import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.RoomDto;
+import com.java110.dto.community.CommunityDto;
 import com.java110.dto.fee.FeeAttrDto;
 import com.java110.dto.fee.FeeConfigDto;
 import com.java110.dto.fee.FeeDto;
 import com.java110.dto.feeFormula.FeeFormulaDto;
 import com.java110.fee.bmo.importFee.IFeeSharingBMO;
-import com.java110.intf.fee.IImportFeeDetailInnerServiceSMO;
+import com.java110.intf.community.ICommunityInnerServiceSMO;
 import com.java110.intf.community.IRoomInnerServiceSMO;
-import com.java110.intf.fee.*;
+import com.java110.intf.fee.IFeeAttrInnerServiceSMO;
+import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
+import com.java110.intf.fee.IFeeFormulaInnerServiceSMO;
+import com.java110.intf.fee.IFeeInnerServiceSMO;
+import com.java110.intf.fee.IImportFeeDetailInnerServiceSMO;
+import com.java110.intf.fee.IImportFeeInnerServiceSMO;
 import com.java110.po.fee.FeeAttrPo;
 import com.java110.po.fee.PayFeeConfigPo;
 import com.java110.po.fee.PayFeePo;
@@ -59,6 +65,9 @@ public class FeeSharingBMOImpl implements IFeeSharingBMO {
     @Autowired
     private IImportFeeDetailInnerServiceSMO importFeeDetailInnerServiceSMOImpl;
 
+    @Autowired
+    private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
+
     /**
      * 添加小区信息
      *
@@ -69,12 +78,18 @@ public class FeeSharingBMOImpl implements IFeeSharingBMO {
     public ResponseEntity<String> share(JSONObject reqJson) {
 
 
+        CommunityDto communityDto = new CommunityDto();
+        communityDto.setCommunityId(reqJson.getString("communityId"));
+        List<CommunityDto> communityDtos = communityInnerServiceSMOImpl.queryCommunitys(communityDto);
+
+        Assert.listOnlyOne(communityDtos, "未找到小区信息");
+
         String scope = reqJson.getString("scope");
         RoomDto roomDto = new RoomDto();
-        if(reqJson.containsKey("roomState") && reqJson.getString("roomState").split(",").length > 0){
+        if (reqJson.containsKey("roomState") && reqJson.getString("roomState").split(",").length > 0) {
             String[] states = reqJson.getString("roomState").split(",");
             roomDto.setStates(states);
-        }else{
+        } else {
             roomDto.setState(RoomDto.STATE_SELL); // 已经入住
         }
         List<RoomDto> roomDtos = null;
@@ -120,7 +135,7 @@ public class FeeSharingBMOImpl implements IFeeSharingBMO {
         String formulaValue = deakFormula(feeFormulaDtos.get(0));
 
         //公摊费用到房屋
-        sharingFeeToRoom(formulaValue, Double.parseDouble(feeFormulaDtos.get(0).getPrice()), roomDtos, reqJson, feeConfigDto);
+        sharingFeeToRoom(formulaValue, Double.parseDouble(feeFormulaDtos.get(0).getPrice()), roomDtos, reqJson, feeConfigDto, communityDtos.get(0));
 
 
         return ResultVo.success();
@@ -133,7 +148,7 @@ public class FeeSharingBMOImpl implements IFeeSharingBMO {
      * @param roomDtos
      */
     private void sharingFeeToRoom(String formulaValue, double price, List<RoomDto> roomDtos,
-                                  JSONObject reqJson, FeeConfigDto feeConfigDto) {
+                                  JSONObject reqJson, FeeConfigDto feeConfigDto, CommunityDto communityDto) {
 
 
         List<PayFeePo> payFeePos = new ArrayList<>();
@@ -143,7 +158,8 @@ public class FeeSharingBMOImpl implements IFeeSharingBMO {
         Map<String, Integer> floorRooms = new HashMap();
         Map<String, Integer> unitRooms = new HashMap();
         for (RoomDto roomDto : roomDtos) {
-            doSharingFeeToRoom(formulaValue, price, roomDto, reqJson, payFeePos, feeConfigDto, feeAttrPos, importFeeId, importFeeDetailPos, floorRooms, unitRooms);
+            doSharingFeeToRoom(formulaValue, price, roomDto, reqJson, payFeePos, feeConfigDto, feeAttrPos,
+                    importFeeId, importFeeDetailPos, floorRooms, unitRooms, communityDto);
         }
 
         feeInnerServiceSMOImpl.saveFee(payFeePos);
@@ -190,7 +206,8 @@ public class FeeSharingBMOImpl implements IFeeSharingBMO {
                                     List<FeeAttrPo> feeAttrPos, String importFeeId,
                                     List<ImportFeeDetailPo> importFeeDetailPos,
                                     Map<String, Integer> floorRooms,
-                                    Map<String, Integer> unitRooms) {
+                                    Map<String, Integer> unitRooms,
+                                    CommunityDto communityDto) {
 
         if (!floorRooms.containsKey(roomDto.getFloorId())) {
             RoomDto tmpRoomDto = new RoomDto();
@@ -213,6 +230,7 @@ public class FeeSharingBMOImpl implements IFeeSharingBMO {
         long floorRoomCount = floorRooms.get(roomDto.getFloorId());
         long unitRoomCount = unitRooms.get(roomDto.getUnitId());
 
+
         String orgFormulaValue = formulaValue;
         formulaValue = formulaValue.replace("T", reqJson.getString("totalDegrees"))
                 .replace("F", roomDto.getFloorArea())
@@ -220,7 +238,8 @@ public class FeeSharingBMOImpl implements IFeeSharingBMO {
                 .replace("R", roomDto.getBuiltUpArea())
                 .replace("X", roomDto.getFeeCoefficient())
                 .replace("L", floorRoomCount + "")
-                .replace("D", unitRoomCount + "");
+                .replace("D", unitRoomCount + "")
+                .replace("C", communityDto.getCommunityArea());
 
 
         ScriptEngineManager manager = new ScriptEngineManager();
@@ -286,6 +305,7 @@ public class FeeSharingBMOImpl implements IFeeSharingBMO {
                 .replace("F", roomDto.getFloorArea() + "<" + roomDto.getFloorNum() + "栋面积>")
                 .replace("U", roomDto.getUnitArea() + "<" + roomDto.getUnitNum() + "单元面积>")
                 .replace("R", roomDto.getBuiltUpArea() + "<" + roomDto.getRoomNum() + "室面积>")
+                .replace("C", communityDto.getCommunityArea() + "<小区面积>")
                 .replace("X", roomDto.getFeeCoefficient() + "<" + roomDto.getRoomNum() + "室算费系数>");
 
         formulaValueRemark += (" * " + price + "<单价>");