浏览代码

优化代码

java110 5 年之前
父节点
当前提交
627f3930f0

+ 2 - 0
java110-bean/src/main/java/com/java110/dto/fee/FeeAttrDto.java

@@ -19,6 +19,8 @@ public class FeeAttrDto extends PageDto implements Serializable {
 
     public static final String SPEC_CD_IMPORT_FEE_NAME = "390002";//导入费用名称
 
+    public static final String SPEC_CD_SHARE_DEGREES = "390003";//公摊用量
+
     private String attrId;
     private String specCd;
     private String communityId;

+ 9 - 0
java110-bean/src/main/java/com/java110/dto/feeFormula/FeeFormulaDto.java

@@ -22,6 +22,7 @@ public class FeeFormulaDto extends PageDto implements Serializable {
     private String formulaValue;
     private String formulaDesc;
     private String communityId;
+    private double price;
 
 
     private Date createTime;
@@ -85,4 +86,12 @@ public class FeeFormulaDto extends PageDto implements Serializable {
     public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
+
+    public double getPrice() {
+        return price;
+    }
+
+    public void setPrice(double price) {
+        this.price = price;
+    }
 }

+ 10 - 0
java110-bean/src/main/java/com/java110/dto/importFee/ImportFeeDto.java

@@ -25,6 +25,8 @@ public class ImportFeeDto extends PageDto implements Serializable {
 
     private String statusCd = "0";
 
+    private String remark;
+
 
     public String getFeeTypeCd() {
         return feeTypeCd;
@@ -74,4 +76,12 @@ public class ImportFeeDto extends PageDto implements Serializable {
     public void setFeeTypeCdName(String feeTypeCdName) {
         this.feeTypeCdName = feeTypeCdName;
     }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
 }

+ 10 - 0
java110-bean/src/main/java/com/java110/dto/importFeeDetail/ImportFeeDetailDto.java

@@ -34,6 +34,8 @@ public class ImportFeeDetailDto extends PageDto implements Serializable {
 
     private String statusCd = "0";
 
+    private String remark;
+
 
     public String getAmount() {
         return amount;
@@ -155,4 +157,12 @@ public class ImportFeeDetailDto extends PageDto implements Serializable {
     public void setImportFeeId(String importFeeId) {
         this.importFeeId = importFeeId;
     }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
 }

+ 10 - 0
java110-bean/src/main/java/com/java110/po/feeFormula/FeeFormulaPo.java

@@ -11,6 +11,8 @@ public class FeeFormulaPo implements Serializable {
     private String formulaDesc;
     private String communityId;
 
+    private String price;
+
 
     public String getFormulaId() {
         return formulaId;
@@ -59,4 +61,12 @@ public class FeeFormulaPo implements Serializable {
     public void setCommunityId(String communityId) {
         this.communityId = communityId;
     }
+
+    public String getPrice() {
+        return price;
+    }
+
+    public void setPrice(String price) {
+        this.price = price;
+    }
 }

+ 26 - 13
java110-bean/src/main/java/com/java110/po/importFee/ImportFeePo.java

@@ -1,39 +1,52 @@
 package com.java110.po.importFee;
 
 import java.io.Serializable;
-import java.util.Date;
 
 public class ImportFeePo implements Serializable {
 
     private String feeTypeCd;
-private String statusCd = "0";
-private String importFeeId;
-private String communityId;
-public String getFeeTypeCd() {
+    private String statusCd = "0";
+    private String importFeeId;
+    private String communityId;
+    private String remark;
+
+    public String getFeeTypeCd() {
         return feeTypeCd;
     }
-public void setFeeTypeCd(String feeTypeCd) {
+
+    public void setFeeTypeCd(String feeTypeCd) {
         this.feeTypeCd = feeTypeCd;
     }
-public String getStatusCd() {
+
+    public String getStatusCd() {
         return statusCd;
     }
-public void setStatusCd(String statusCd) {
+
+    public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
-public String getImportFeeId() {
+
+    public String getImportFeeId() {
         return importFeeId;
     }
-public void setImportFeeId(String importFeeId) {
+
+    public void setImportFeeId(String importFeeId) {
         this.importFeeId = importFeeId;
     }
-public String getCommunityId() {
+
+    public String getCommunityId() {
         return communityId;
     }
-public void setCommunityId(String communityId) {
+
+    public void setCommunityId(String communityId) {
         this.communityId = communityId;
     }
 
+    public String getRemark() {
+        return remark;
+    }
 
-
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
 }

+ 9 - 0
java110-bean/src/main/java/com/java110/po/importFeeDetail/ImportFeeDetailPo.java

@@ -19,6 +19,7 @@ public class ImportFeeDetailPo implements Serializable {
     private String communityId;
 
     private String importFeeId;
+    private String remark;
 
     public String getAmount() {
         return amount;
@@ -131,4 +132,12 @@ public class ImportFeeDetailPo implements Serializable {
     public void setImportFeeId(String importFeeId) {
         this.importFeeId = importFeeId;
     }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
 }

+ 8 - 3
java110-db/src/main/resources/mapper/fee/FeeFormulaServiceDaoImplMapper.xml

@@ -8,9 +8,9 @@
     <!-- 保存费用公式信息 add by wuxw 2018-07-03 -->
     <insert id="saveFeeFormulaInfo" parameterType="Map">
         insert into fee_formula(
-        formula_id,formula_type,formula_value,formula_desc,community_id
+        formula_id,formula_type,formula_value,formula_desc,community_id,price
         ) values (
-        #{formulaId},#{formulaType},#{formulaValue},#{formulaDesc},#{communityId}
+        #{formulaId},#{formulaType},#{formulaValue},#{formulaDesc},#{communityId},#{price}
         )
     </insert>
 
@@ -19,7 +19,8 @@
     <select id="getFeeFormulaInfo" parameterType="Map" resultType="Map">
         select t.formula_id,t.formula_id formulaId,t.formula_type,t.formula_type
         formulaType,t.formula_value,t.formula_value formulaValue,t.status_cd,t.status_cd
-        statusCd,t.formula_desc,t.formula_desc formulaDesc,t.community_id,t.community_id communityId
+        statusCd,t.formula_desc,t.formula_desc formulaDesc,t.community_id,t.community_id communityId,
+        t.price
         from fee_formula t
         where 1 =1
         <if test="formulaId !=null and formulaId != ''">
@@ -66,6 +67,10 @@
         <if test="communityId !=null and communityId != ''">
             , t.community_id= #{communityId}
         </if>
+        <if test="price !=null and price != ''">
+            , t.price= #{price}
+        </if>
+
         where 1=1
         <if test="formulaId !=null and formulaId != ''">
             and t.formula_id= #{formulaId}

+ 9 - 5
java110-db/src/main/resources/mapper/fee/ImportFeeDetailServiceDaoImplMapper.xml

@@ -8,9 +8,11 @@
     <!-- 保存费用导入明细信息 add by wuxw 2018-07-03 -->
     <insert id="saveImportFeeDetailInfo" parameterType="Map">
         insert into import_fee_detail(
-        amount,unit_num,fee_id,floor_num,room_id,room_num,ifd_id,fee_name,start_time,end_time,state,community_id,import_fee_id
+        amount,unit_num,fee_id,floor_num,room_id,room_num,ifd_id,fee_name,start_time,
+        end_time,state,community_id,import_fee_id,remark
         ) values (
-        #{amount},#{unitNum},#{feeId},#{floorNum},#{roomId},#{roomNum},#{ifdId},#{feeName},#{startTime},#{endTime},#{state},#{communityId},#{importFeeId}
+        #{amount},#{unitNum},#{feeId},#{floorNum},#{roomId},#{roomNum},#{ifdId},#{feeName},#{startTime},
+        #{endTime},#{state},#{communityId},#{importFeeId},#{remark}
         )
     </insert>
 
@@ -20,7 +22,8 @@
         select t.amount,t.unit_num,t.unit_num unitNum,t.status_cd,t.status_cd statusCd,t.fee_id,t.fee_id
         feeId,t.floor_num,t.floor_num floorNum,t.room_id,t.room_id roomId,t.room_num,t.room_num
         roomNum,t.ifd_id,t.ifd_id ifdId,t.fee_name,t.fee_name feeName,t.start_time,t.start_time
-        startTime,t.end_time,t.end_time endTime,t.state,t.community_id,t.community_id communityId
+        startTime,t.end_time,t.end_time endTime,t.state,t.community_id,t.community_id communityId,
+        t.remark
         from import_fee_detail t
         where 1 =1
         <if test="amount !=null and amount != ''">
@@ -175,11 +178,12 @@
     <!-- 批量插入费用 -->
     <insert id="saveImportFeeDetails" parameterType="Map">
         insert into import_fee_detail(
-        amount,unit_num,fee_id,floor_num,room_id,room_num,ifd_id,fee_name,start_time,end_time,state,community_id,import_fee_id
+        amount,unit_num,fee_id,floor_num,room_id,room_num,ifd_id,fee_name,start_time,
+        end_time,state,community_id,import_fee_id,remark
         ) values
         <foreach collection="importFeeDetailPos" item="item" separator=",">
           (#{item.amount},#{item.unitNum},#{item.feeId},#{item.floorNum},#{item.roomId},#{item.roomNum},#{item.ifdId},#{item.feeName},
-            #{item.startTime},#{item.endTime},#{item.state},#{item.communityId},#{item.importFeeId})
+            #{item.startTime},#{item.endTime},#{item.state},#{item.communityId},#{item.importFeeId},#{item.remark})
         </foreach>
     </insert>
 

+ 3 - 3
java110-db/src/main/resources/mapper/fee/ImportFeeServiceDaoImplMapper.xml

@@ -8,9 +8,9 @@
     <!-- 保存费用导入信息 add by wuxw 2018-07-03 -->
     <insert id="saveImportFeeInfo" parameterType="Map">
         insert into import_fee(
-        fee_type_cd,import_fee_id,community_id
+        fee_type_cd,import_fee_id,community_id,remark
         ) values (
-        #{feeTypeCd},#{importFeeId},#{communityId}
+        #{feeTypeCd},#{importFeeId},#{communityId},#{remark}
         )
     </insert>
 
@@ -18,7 +18,7 @@
     <!-- 查询费用导入信息 add by wuxw 2018-07-03 -->
     <select id="getImportFeeInfo" parameterType="Map" resultType="Map">
         select t.fee_type_cd,t.fee_type_cd feeTypeCd,t.status_cd,t.status_cd statusCd,t.import_fee_id,t.import_fee_id
-        importFeeId,t.community_id,t.community_id communityId,t.create_time createTime,d.name feeTypeCdName
+        importFeeId,t.community_id,t.community_id communityId,t.create_time createTime,d.name feeTypeCdName,remark
         from import_fee t
         left join t_dict d on t.fee_type_cd = d.status_cd and d.table_name = 'pay_fee_config' and d.table_columns = 'fee_type_cd'
         where 1 =1

+ 150 - 21
service-fee/src/main/java/com/java110/fee/bmo/importFee/impl/FeeSharingBMOImpl.java

@@ -4,15 +4,26 @@ 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.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.IImportFeeDetailInnerServiceSMO;
 import com.java110.intf.community.IRoomInnerServiceSMO;
+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.IImportFeeInnerServiceSMO;
+import com.java110.po.fee.FeeAttrPo;
+import com.java110.po.fee.PayFeeConfigPo;
 import com.java110.po.fee.PayFeePo;
+import com.java110.po.importFee.ImportFeePo;
+import com.java110.po.importFeeDetail.ImportFeeDetailPo;
 import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.DateUtil;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
@@ -20,12 +31,15 @@ import org.springframework.stereotype.Service;
 
 import javax.script.ScriptEngine;
 import javax.script.ScriptEngineManager;
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
 
 @Service("feeSharingBMOImpl")
 public class FeeSharingBMOImpl implements IFeeSharingBMO {
 
+    private static final String IMPORT_FEE_NAME = "导入费用";
+
     @Autowired
     private IImportFeeInnerServiceSMO importFeeInnerServiceSMOImpl;
 
@@ -38,6 +52,15 @@ public class FeeSharingBMOImpl implements IFeeSharingBMO {
     @Autowired
     private IFeeInnerServiceSMO feeInnerServiceSMOImpl;
 
+    @Autowired
+    private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMOImpl;
+
+    @Autowired
+    private IFeeAttrInnerServiceSMO feeAttrInnerServiceSMOImpl;
+
+    @Autowired
+    private IImportFeeDetailInnerServiceSMO importFeeDetailInnerServiceSMOImpl;
+
     /**
      * 添加小区信息
      *
@@ -69,6 +92,20 @@ public class FeeSharingBMOImpl implements IFeeSharingBMO {
             throw new IllegalArgumentException("未找到相应房屋公摊费用");
         }
 
+        FeeConfigDto feeConfigDto = new FeeConfigDto();
+        feeConfigDto.setFeeTypeCd(reqJson.getString("feeTypeCd"));
+        feeConfigDto.setFeeName(IMPORT_FEE_NAME);
+        feeConfigDto.setCommunityId(reqJson.getString("communityId"));
+        List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
+        // 根据费用大类 判断是否有存在 费用导入收入项
+        if (feeConfigDtos == null || feeConfigDtos.size() < 1) {
+            //生成导入费
+            feeConfigDto.setConfigId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_configId));
+            saveFeeConfig(feeConfigDto);
+        } else {
+            feeConfigDto.setConfigId(feeConfigDtos.get(0).getConfigId());
+        }
+
         FeeFormulaDto feeFormulaDto = new FeeFormulaDto();
         feeFormulaDto.setCommunityId(reqJson.getString("communityId"));
         feeFormulaDto.setFormulaId(reqJson.getString("formulaId"));
@@ -80,7 +117,7 @@ public class FeeSharingBMOImpl implements IFeeSharingBMO {
         String formulaValue = deakFormula(feeFormulaDtos.get(0));
 
         //公摊费用到房屋
-        sharingFeeToRoom(formulaValue, roomDtos, reqJson);
+        sharingFeeToRoom(formulaValue, feeFormulaDtos.get(0).getPrice(), roomDtos, reqJson, feeConfigDto);
 
 
         return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
@@ -92,13 +129,42 @@ public class FeeSharingBMOImpl implements IFeeSharingBMO {
      * @param formulaValue
      * @param roomDtos
      */
-    private void sharingFeeToRoom(String formulaValue, List<RoomDto> roomDtos, JSONObject reqJson) {
+    private void sharingFeeToRoom(String formulaValue, double price, List<RoomDto> roomDtos,
+                                  JSONObject reqJson, FeeConfigDto feeConfigDto) {
 
 
         List<PayFeePo> payFeePos = new ArrayList<>();
+        List<FeeAttrPo> feeAttrPos = new ArrayList<>();
+        List<ImportFeeDetailPo> importFeeDetailPos = new ArrayList<>();
+        String importFeeId = GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId);
         for (RoomDto roomDto : roomDtos) {
-            doSharingFeeToRoom(formulaValue, roomDto, reqJson, payFeePos);
+            doSharingFeeToRoom(formulaValue, price, roomDto, reqJson, payFeePos, feeConfigDto, feeAttrPos, importFeeId, importFeeDetailPos);
         }
+
+        feeInnerServiceSMOImpl.saveFee(payFeePos);
+
+        feeAttrInnerServiceSMOImpl.saveFeeAttrs(feeAttrPos);
+
+        //保存日志
+        ImportFeePo importFeePo = new ImportFeePo();
+        importFeePo.setCommunityId(reqJson.getString("communityId"));
+        importFeePo.setFeeTypeCd(reqJson.getString("feeTypeCd"));
+        importFeePo.setImportFeeId(importFeeId);
+        String scope = reqJson.getString("scope");
+        String scopeName = "";
+        if ("1001".equals(scope)) {//小区
+            scopeName = "整个小区";
+        } else if ("2002".equals(scope)) {//楼栋
+            scopeName = roomDtos.get(0).getFloorNum() + "栋";
+        } else {//单元
+            scopeName = roomDtos.get(0).getFloorNum() + "栋" + roomDtos.get(0).getUnitNum() + "单元";
+        }
+        importFeePo.setRemark("总使用量:" + reqJson.getString("totalDegrees")
+                + ",公式:" + formulaValue + ",公摊范围:" + scopeName);
+        importFeeInnerServiceSMOImpl.saveImportFee(importFeePo);
+
+        importFeeDetailInnerServiceSMOImpl.saveImportFeeDetails(importFeeDetailPos);
+
     }
 
     /**
@@ -114,18 +180,10 @@ public class FeeSharingBMOImpl implements IFeeSharingBMO {
      * @param formulaValue
      * @param roomDto
      */
-    private void doSharingFeeToRoom(String formulaValue, RoomDto roomDto, JSONObject reqJson, List<PayFeePo> payFeePos) {
-        Assert.hasKeyAndValue(reqJson, "communityId", "未包含小区ID");
-        Assert.hasKeyAndValue(reqJson, "totalDegrees", "未包含使用量");
-        Assert.hasKeyAndValue(reqJson, "scope", "未包含公摊范围");
-        Assert.hasKeyAndValue(reqJson, "formulaId", "未包含公摊公式");
-        Assert.hasKeyAndValue(reqJson, "feeName", "未包含费用名称");
-        Assert.hasKeyAndValue(reqJson, "startTime", "未包含开始时间");
-        Assert.hasKeyAndValue(reqJson, "endTime", "未包含结束时间");
-        Assert.hasKeyAndValue(reqJson, "objId", "未包含公摊对象");
-        Assert.hasKeyAndValue(reqJson, "feeTypeCd", "未包含费用类型");
-
-
+    private void doSharingFeeToRoom(String formulaValue, double price, RoomDto roomDto, JSONObject reqJson,
+                                    List<PayFeePo> payFeePos, FeeConfigDto feeConfigDto,
+                                    List<FeeAttrPo> feeAttrPos, String importFeeId,
+                                    List<ImportFeeDetailPo> importFeeDetailPos) {
         String orgFormulaValue = formulaValue;
         formulaValue = formulaValue.replace("T", reqJson.getString("totalDegrees"))
                 .replace("F", roomDto.getFloorArea())
@@ -136,22 +194,66 @@ public class FeeSharingBMOImpl implements IFeeSharingBMO {
         ScriptEngineManager manager = new ScriptEngineManager();
         ScriptEngine engine = manager.getEngineByName("JavaScript");
         String value = "";
+        double amount = 0.0;
         try {
             value = engine.eval(formulaValue).toString();
-            value = engine.eval(value + ".toFixed(2)").toString();
+            BigDecimal valueObj = new BigDecimal(Double.parseDouble(value));
+            BigDecimal priceObj = new BigDecimal(price);
+            priceObj = valueObj.multiply(priceObj).setScale(2, BigDecimal.ROUND_HALF_EVEN);
+            amount = priceObj.doubleValue();
         } catch (Exception e) {
             throw new IllegalArgumentException("公式计算异常,公式为【" + orgFormulaValue + "】,计算 【" + formulaValue + "】异常");
         }
 
         PayFeePo payFeePo = new PayFeePo();
-        payFeePo.setEndTime(reqJson.getString("endTime"));
-        payFeePo.setUserId(reqJson.getString("userId"));
-        payFeePo.setPayerObjId(roomDto.getRoomId());
-        payFeePo.setCommunityId(reqJson.getString("communityId"));
         payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
+        payFeePo.setEndTime(reqJson.getString("startTime"));
         payFeePo.setState(FeeDto.STATE_DOING);
+        payFeePo.setCommunityId(reqJson.getString("communityId"));
+        payFeePo.setConfigId(feeConfigDto.getConfigId());
+        payFeePo.setPayerObjId(reqJson.getString("objId"));
+        payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_ROOM);
+        payFeePo.setUserId(reqJson.getString("userId"));
         payFeePo.setIncomeObjId(reqJson.getString("storeId"));
-        //payFeePo.setFeeFlag();
+        payFeePo.setFeeTypeCd(reqJson.getString("feeTypeCd"));
+        payFeePo.setFeeFlag(FeeDto.FEE_FLAG_ONCE);
+        payFeePo.setAmount(amount + "");
+        //payFeePo.setStartTime(importRoomFee.getStartTime());
+        payFeePo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+
+        payFeePos.add(payFeePo);
+
+        FeeAttrPo feeAttrPo = new FeeAttrPo();
+        feeAttrPo.setCommunityId(reqJson.getString("communityId"));
+        feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+        feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_IMPORT_FEE_NAME);
+        feeAttrPo.setValue(reqJson.getString("feeName"));
+        feeAttrPo.setFeeId(payFeePo.getFeeId());
+        feeAttrPos.add(feeAttrPo);
+
+        feeAttrPo = new FeeAttrPo();
+        feeAttrPo.setCommunityId(reqJson.getString("communityId"));
+        feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+        feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_SHARE_DEGREES);
+        feeAttrPo.setValue(reqJson.getString("value"));
+        feeAttrPo.setFeeId(payFeePo.getFeeId());
+        feeAttrPos.add(feeAttrPo);
+        ImportFeeDetailPo importFeeDetailPo = new ImportFeeDetailPo();
+        importFeeDetailPo.setAmount(value);
+        importFeeDetailPo.setCommunityId(reqJson.getString("communityId"));
+        importFeeDetailPo.setEndTime(reqJson.getString("endTime"));
+        importFeeDetailPo.setFeeId(payFeePo.getFeeId());
+        importFeeDetailPo.setFeeName(reqJson.getString("feeName"));
+        importFeeDetailPo.setFloorNum(roomDto.getFloorNum());
+        importFeeDetailPo.setUnitNum(roomDto.getUnitNum());
+        importFeeDetailPo.setRoomNum(roomDto.getRoomNum());
+        importFeeDetailPo.setRoomId(roomDto.getRoomId());
+        importFeeDetailPo.setStartTime(reqJson.getString("startTime"));
+        importFeeDetailPo.setIfdId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
+        importFeeDetailPo.setState("1000");
+        importFeeDetailPo.setImportFeeId(importFeeId);
+        importFeeDetailPo.setRemark("公摊用量:" + value);
+        importFeeDetailPos.add(importFeeDetailPo);
 
 
     }
@@ -166,4 +268,31 @@ public class FeeSharingBMOImpl implements IFeeSharingBMO {
         return value;
     }
 
+
+    /**
+     * 保存保存导入费用配置
+     *
+     * @param feeConfigDto
+     */
+    private void saveFeeConfig(FeeConfigDto feeConfigDto) {
+
+        PayFeeConfigPo payFeeConfigPo = BeanConvertUtil.covertBean(feeConfigDto, PayFeeConfigPo.class);
+        payFeeConfigPo.setAdditionalAmount("0");
+        payFeeConfigPo.setBillType(FeeConfigDto.BILL_TYPE_MONTH);
+        payFeeConfigPo.setComputingFormula("4004");
+        payFeeConfigPo.setEndTime(DateUtil.getLastTime());
+        payFeeConfigPo.setFeeFlag("2006012");
+        payFeeConfigPo.setIsDefault("T");
+        payFeeConfigPo.setPaymentCd("2100");
+        payFeeConfigPo.setFeeName(IMPORT_FEE_NAME);
+        payFeeConfigPo.setSquarePrice("0");
+        payFeeConfigPo.setPaymentCycle("1");
+        payFeeConfigPo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+        int saveFlag = feeConfigInnerServiceSMOImpl.saveFeeConfig(payFeeConfigPo);
+
+        if (saveFlag < 1) {
+            throw new IllegalArgumentException("创建导入费用失败");
+        }
+    }
+
 }