winter 1 год назад
Родитель
Сommit
733418a24f
21 измененных файлов: 672 добавлений и 94 удалений
  1. +25
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxEnergyController.java
  2. +216
    -6
      mallinkAdmin/src/main/resources/db/migration/V202407018.sql
  3. +7
    -1
      mallinkService/src/main/java/com/iformall/domain/po/WxBillDaily.java
  4. +3
    -6
      mallinkService/src/main/java/com/iformall/domain/po/WxEnergyFees.java
  5. +65
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxEnergyMeterReading.java
  6. +4
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxEnergyMeterUser.java
  7. +6
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxEnergyReadingCalcute.java
  8. +37
    -0
      mallinkService/src/main/java/com/iformall/enums/EnumEnergyPublicCalcuteRule.java
  9. +7
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxEnergyMeterReadingMapper.java
  10. +2
    -1
      mallinkService/src/main/java/com/iformall/mapper/WxEnergyMeterUserMapper.java
  11. +9
    -25
      mallinkService/src/main/java/com/iformall/service/WxEnergyService.java
  12. +2
    -0
      mallinkService/src/main/java/com/iformall/service/WxMallFloorService.java
  13. +3
    -0
      mallinkService/src/main/java/com/iformall/service/WxMerchantService.java
  14. +201
    -44
      mallinkService/src/main/java/com/iformall/service/impl/WxEnergyServiceImpl.java
  15. +40
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java
  16. +1
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxShopServiceImpl.java
  17. +9
    -2
      mallinkService/src/main/resources/mapper/WxBillDailyMapper.xml
  18. +3
    -5
      mallinkService/src/main/resources/mapper/WxEnergyFeesMapper.xml
  19. +24
    -1
      mallinkService/src/main/resources/mapper/WxEnergyMeterReadingMapper.xml
  20. +3
    -1
      mallinkService/src/main/resources/mapper/WxEnergyMeterUserMapper.xml
  21. +5
    -1
      mallinkService/src/main/resources/mapper/WxEnergyReadingCalcuteMapper.xml

+ 25
- 0
mallinkAdmin/src/main/java/com/iformall/controller/market/WxEnergyController.java Просмотреть файл

@@ -20,6 +20,7 @@ import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.AlipayOrWxStatistics;
import com.iformall.enums.EnumBillAllType;
import com.iformall.enums.EnumEnergyMeterType;
import com.iformall.enums.EnumEnergyPublicCalcuteRule;
import com.iformall.exception.MallinkException;
import com.iformall.service.AliBusinessCircleOrderService;
import com.iformall.service.WxEnergyService;
@@ -73,6 +74,18 @@ public class WxEnergyController extends BaseController {
return new ResultData(retMap);
}
@ApiOperation("公摊计费规则")
@GetMapping("publicCalcuteRules")
public ResultData publicCalcuteRules() {
Map retMap = new HashMap();
for (EnumEnergyPublicCalcuteRule mem : EnumEnergyPublicCalcuteRule.values()) {
retMap.put(mem.getCode(), mem.getMessage());
}
return new ResultData(retMap);
}
@ApiOperation("费用区间列表")
@GetMapping("timeList")
@ApiImplicitParams({
@@ -206,6 +219,18 @@ public class WxEnergyController extends BaseController {
}
}
@ApiOperation("计算")
@PostMapping("calcute")
public ResultData calcute(@RequestBody WxEnergyReadingCalcute record) {
record.updateTenantInfo(getTenantInfo());
WxEnergyReadingCalcute wrc = wxEnergyService.getReadingCalcuteById(record);
if (null == wrc) {
return new ResultData(Result.ERROR,"id错误");
}
return new ResultData();
}

}

+ 216
- 6
mallinkAdmin/src/main/resources/db/migration/V202407018.sql Просмотреть файл

@@ -22,9 +22,11 @@ CREATE TABLE `wx_energy_meter_user` (
`update_time` timestamp NULL DEFAULT NULL,
`user_id` bigint(20) NOT NULL COMMENT '使用者id,商铺id或者楼层id',
`user_type` int(3) NOT NULL COMMENT '使用者类型',
`meter_id` bigint(20) NOT NULL COMMENT '表ID',
PRIMARY KEY (`id`),
UNIQUE KEY `id_UNIQUE` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='能耗表使用者';
UNIQUE KEY `id_UNIQUE` (`id`),
UNIQUE KEY `T_U_T` (`tenant_id`,`user_id`,`user_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='能耗表';

CREATE TABLE `wx_energy_meter_reading` (
`id` bigint(20) NOT NULL COMMENT '主键ID',
@@ -48,9 +50,11 @@ CREATE TABLE `wx_energy_meter_reading` (
`is_public` int(3) NOT NULL COMMENT '是否总表',
`shop_id` bigint(20) DEFAULT NULL COMMENT '店铺ID',
`shop_number` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '店铺编号',
`building_id` bigint(20) DEFAULT NULL COMMENT '楼座ID',
`floor_id` bigint(20) DEFAULT NULL COMMENT '楼层ID',
`building_id` bigint(20) NOT NULL COMMENT '楼座ID',
`floor_id` bigint(20) NOT NULL COMMENT '楼层ID',
`price` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '单价',
`meter_type` int(3) NOT NULL COMMENT '表类型',
`meter_rate` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '表倍率',
PRIMARY KEY (`id`),
UNIQUE KEY `id_UNIQUE` (`id`),
KEY `T_T_F` (`tenant_id`,`time_id`,`meter_id`)
@@ -80,9 +84,8 @@ CREATE TABLE `wx_energy_fees` (
`update_time` timestamp NULL DEFAULT NULL,
`is_del` int(1) NOT NULL DEFAULT '0',
`name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名称',
`type` int(3) NOT NULL COMMENT '表类型',
`is_public` int(1) NOT NULL DEFAULT '0' COMMENT '是否公摊',
`price` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '单价',
`public_calcute` int(1) NOT NULL COMMENT '公摊计费规则',
PRIMARY KEY (`id`),
UNIQUE KEY `id_UNIQUE` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='能耗表';
@@ -102,10 +105,217 @@ CREATE TABLE `wx_energy_reading_calcute` (
`fees_id` bigint(20) NOT NULL COMMENT '科目ID',
`is_calcuted` int(1) NOT NULL DEFAULT '0' COMMENT '是否已计算过',
`is_imported` int(1) NOT NULL DEFAULT '0' COMMENT '是否导入过',
`import_success` int(1) DEFAULT '0' COMMENT '导入是否成功',
`calcute_success` int(1) DEFAULT '0' COMMENT '计算是否成功',
PRIMARY KEY (`id`),
UNIQUE KEY `id_UNIQUE` (`id`),
UNIQUE KEY `T_T_F` (`tenant_id`,`time_id`,`fees_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='能耗表抄表';


ALTER TABLE wx_bill_daily_0 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_1 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_2 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_3 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_4 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_5 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_6 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_7 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_8 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_9 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_10 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_11 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_12 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_13 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_14 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_15 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_16 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_17 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_18 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_19 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_20 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_21 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_22 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_23 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_24 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_25 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_26 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_27 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_28 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_29 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_30 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_31 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_32 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_33 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_34 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_35 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_36 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_37 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_38 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_39 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_40 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_41 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_42 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_43 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_44 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_45 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_46 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_47 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_48 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_49 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_50 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_51 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_52 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_53 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_54 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_55 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_56 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_57 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_58 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_59 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_60 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_61 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_62 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_63 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_64 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_65 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_66 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_67 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_68 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_69 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_70 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_71 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_72 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_73 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_74 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_75 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_76 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_77 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_78 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_79 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_80 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_81 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_82 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_83 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_84 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_85 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_86 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_87 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_88 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_89 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_90 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_91 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_92 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_93 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_94 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_95 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_96 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_97 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_98 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;
ALTER TABLE wx_bill_daily_99 ADD COLUMN energy_reading_calcuteId BIGINT(20) COMMENT '能源抄表计算ID' ;

ALTER TABLE wx_bill_daily_0 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_1 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_2 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_3 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_4 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_5 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_6 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_7 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_8 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_9 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_10 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_11 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_12 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_13 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_14 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_15 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_16 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_17 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_18 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_19 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_20 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_21 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_22 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_23 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_24 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_25 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_26 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_27 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_28 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_29 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_30 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_31 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_32 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_33 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_34 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_35 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_36 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_37 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_38 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_39 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_40 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_41 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_42 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_43 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_44 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_45 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_46 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_47 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_48 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_49 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_50 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_51 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_52 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_53 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_54 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_55 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_56 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_57 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_58 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_59 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_60 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_61 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_62 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_63 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_64 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_65 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_66 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_67 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_68 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_69 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_70 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_71 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_72 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_73 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_74 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_75 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_76 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_77 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_78 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_79 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_80 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_81 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_82 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_83 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_84 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_85 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_86 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_87 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_88 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_89 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_90 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_91 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_92 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_93 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_94 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_95 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_96 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_97 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_98 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;
ALTER TABLE wx_bill_daily_99 ADD COLUMN energy_reading_id BIGINT(20) COMMENT '能源抄表ID' ;






+ 7
- 1
mallinkService/src/main/java/com/iformall/domain/po/WxBillDaily.java Просмотреть файл

@@ -88,7 +88,7 @@ public class WxBillDaily extends WxBillBaseEntity {
@io.swagger.annotations.ApiModelProperty(value = "冻结状态,0正常1冻结", name = "freeze")
private Integer freeze;

@io.swagger.annotations.ApiModelProperty(value = "创建方式1手动2自动3导入", name = "buildWay")
@io.swagger.annotations.ApiModelProperty(value = "创建方式1手动2自动3导入EnumBillDailyBuildWay", name = "buildWay")
private Integer buildWay;

@io.swagger.annotations.ApiModelProperty(value = "手续费", name = "serviceChargePay")
@@ -96,6 +96,12 @@ public class WxBillDaily extends WxBillBaseEntity {
@io.swagger.annotations.ApiModelProperty(value = "备注", name = "serviceChargePay")
private String remark;
@io.swagger.annotations.ApiModelProperty(value = "能源抄表计算ID", name = "energyReadingCalcuteId")
private Long energyReadingCalcuteId;
@io.swagger.annotations.ApiModelProperty(value = "能源抄表ID", name = "energyReadingId")
private Long energyReadingId;

@TableField(exist = false)
private String serviceChargePayBefore;


+ 3
- 6
mallinkService/src/main/java/com/iformall/domain/po/WxEnergyFees.java Просмотреть файл

@@ -32,13 +32,10 @@ public class WxEnergyFees extends TenantEntity {
@io.swagger.annotations.ApiModelProperty(value = "isDel", name = "isDel")
private Integer isDel;
@io.swagger.annotations.ApiModelProperty(value = "表类型EnumEnergyMeterType", name = "type")
private Integer type;
@io.swagger.annotations.ApiModelProperty(value = "是否总表", name = "isPublic")
private Integer isPublic;
@io.swagger.annotations.ApiModelProperty(value = "单价", name = "price")
private String price;
@io.swagger.annotations.ApiModelProperty(value = "公摊计算规则EnumEnergyPublicCalcuteRule", name = "publicCalcute")
private Integer publicCalcute;
}

+ 65
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxEnergyMeterReading.java Просмотреть файл

@@ -3,6 +3,10 @@ package com.iformall.domain.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.enums.EnumBillDailyBuildWay;
import com.iformall.enums.EnumBillRentApplyStatus;
import com.iformall.enums.EnumBillStatus;
import com.iformall.enums.EnumEnergyMeterType;
import com.iformall.enums.EnumYesOrNo;
import com.iformall.utils.DateUtils;

@@ -10,6 +14,9 @@ import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Date;
import java.util.HashMap;
import java.util.LinkedHashMap;
@@ -72,6 +79,12 @@ public class WxEnergyMeterReading extends TenantEntity {
@io.swagger.annotations.ApiModelProperty(value="表ID",name="meterId")
private Long meterId;
@io.swagger.annotations.ApiModelProperty(value="表类型EnumEnergyMeterType",name="meterId")
private Integer meterType;
@io.swagger.annotations.ApiModelProperty(value="表倍率",name="meterRate")
private String meterRate;
@io.swagger.annotations.ApiModelProperty(value="是否总表",name="isPublic")
private Integer isPublic;
@@ -113,6 +126,7 @@ public class WxEnergyMeterReading extends TenantEntity {
excelTitle.put("floorId", "楼层");
excelTitle.put("shopId", "店铺号");
excelTitle.put("meterId", "表号");
excelTitle.put("isPublic", "表类型");
excelTitle.put("preNumber", "上次抄表数");
excelTitle.put("preTime", "上次抄表时间");
excelTitle.put("curNumber", "本次抄表数");
@@ -134,6 +148,11 @@ public class WxEnergyMeterReading extends TenantEntity {
excelObject.put("floorId", floorName);
excelObject.put("shopId", this.getShopNumber());
excelObject.put("meterId", this.getMeterName());
if (null != this.isPublic && this.isPublic.intValue() == EnumYesOrNo.YES.getCode().intValue()) {
excelObject.put("isPublic", "总表");
}else {
excelObject.put("isPublic", "用户表");
}
excelObject.put("preNumber", this.getPreNumber());
excelObject.put("preTime", DateUtils.formatDateTime(this.getPreTime()));
excelObject.put("curNumber", this.getCurNumber());
@@ -145,4 +164,50 @@ public class WxEnergyMeterReading extends TenantEntity {
return excelObject;
}
private WxBillDaily generateBill(WxEnergyReadingCalcute calcute,WxMerchant merchant,MallUserInfo user,String needPay,String detail,String remark) {
WxBillDaily daily = new WxBillDaily();
daily.updateTenantInfo(this);
daily.setMerchantId(merchant.getId());
daily.setRentShopType(merchant.getType());
daily.setCreatetime(new Date());
daily.setCreateBy(user.getId());
daily.setCreateByName(user.getName());
daily.setUpdateBy(user.getId());
daily.setUpdateByName(user.getName());
daily.setUpdatetime(new Date());
daily.setReceivePay(needPay);
daily.setPay("0");
daily.setStarttime(this.startTime);
daily.setEndtime(this.endTime);
daily.setOwe(needPay);
daily.setStatus(EnumBillStatus.WAIT_PAY.getCode());
daily.setReceiveDate(this.startTime);
daily.setApplyStatus(EnumBillRentApplyStatus.NO_APPLY.getCode());
daily.setIsDel(EnumYesOrNo.NO.getCode());
daily.setUserId(user.getId());
daily.setShopId(this.shopId);
daily.setShopName(this.shopNumber);
daily.setType(EnumEnergyMeterType.getEnum(meterType).getBillDailyType());
daily.setPriceDetail(detail);
daily.setFreeze(EnumYesOrNo.NO.getCode());
daily.setBuildWay(EnumBillDailyBuildWay.AUTO.getCode());
daily.setServiceChargePay("0");
daily.setRemark(remark);
daily.setEnergyReadingCalcuteId(calcute.getId());
daily.setEnergyReadingId(id);
return daily;
}
public WxBillDaily generateUserBill(WxEnergyReadingCalcute calcute,WxMerchant merchant,MallUserInfo user,WxEnergyMeter meter) {
BigDecimal dx = new BigDecimal(this.curNumber).subtract(new BigDecimal(this.preNumber));
String needPay = new BigDecimal(this.price).multiply(dx).divide(new BigDecimal(meter.getRate())).setScale(2,RoundingMode.HALF_UP).toPlainString();
String detail = "单价:"+this.price+",上次读数:"+this.preNumber+",本次读数:"+this.curNumber+",读数差:"+dx.toPlainString()+",表倍率:"+meter.getRate()+",费用:"+needPay;
return generateBill(calcute,merchant, user, needPay, detail, "抄表计算自动生成");
}
public WxBillDaily generatePublicBill(WxEnergyReadingCalcute calcute,WxMerchant merchant,MallUserInfo user,String needPay) {
String detail = "单价:"+this.price+",费用:"+needPay;
return generateBill(calcute,merchant, user, needPay, detail, "抄表计算自动生成公摊");
}
}

+ 4
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxEnergyMeterUser.java Просмотреть файл

@@ -34,4 +34,8 @@ public class WxEnergyMeterUser extends TenantEntity {
@io.swagger.annotations.ApiModelProperty(value = "EnumEnergyMeterUserType", name = "userType")
private Integer userType;
@io.swagger.annotations.ApiModelProperty(value = "表ID", name = "meterId")
private Long meterId;
}

+ 6
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxEnergyReadingCalcute.java Просмотреть файл

@@ -56,7 +56,13 @@ public class WxEnergyReadingCalcute extends TenantEntity {
@io.swagger.annotations.ApiModelProperty(value = "isImported", name = "isImported")
private Integer isImported;
@io.swagger.annotations.ApiModelProperty(value = "importSuccess", name = "importSuccess")
private Integer importSuccess;
@io.swagger.annotations.ApiModelProperty(value = "isCalcuted", name = "isCalcuted")
private Integer isCalcuted;
@io.swagger.annotations.ApiModelProperty(value = "importSuccess", name = "importSuccess")
private Integer calcuteSuccess;
}

+ 37
- 0
mallinkService/src/main/java/com/iformall/enums/EnumEnergyPublicCalcuteRule.java Просмотреть файл

@@ -0,0 +1,37 @@
package com.iformall.enums;

/**
*/

public enum EnumEnergyPublicCalcuteRule {

ALL(1,"按所有楼栋面积公摊"),
BUILDING(2,"按所在楼栋面积公摊"),
FLOOR(3, "按所在楼层面积公摊"),
;

public static EnumEnergyPublicCalcuteRule getEnum(Integer code) {
for (EnumEnergyPublicCalcuteRule value : values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}

private Integer code;
private String message;

EnumEnergyPublicCalcuteRule(Integer code, String message) {
this.code = code;
this.message = message;
}

public Integer getCode() {
return code;
}

public String getMessage() {
return message;
}
}

+ 7
- 0
mallinkService/src/main/java/com/iformall/mapper/WxEnergyMeterReadingMapper.java Просмотреть файл

@@ -5,6 +5,7 @@ import com.iformall.domain.po.WxEnergyMeterReading;

import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;

/**
*/
@@ -13,4 +14,10 @@ public interface WxEnergyMeterReadingMapper extends CommonMapper<WxEnergyMeterRe
List<WxEnergyMeterReading> findList(WxEnergyMeterReading wxBillRent);

WxEnergyMeterReading selectById(@Param("id")Long id,@Param("tenantId")String tenantId);
String findAllSumMoney(WxEnergyMeterReading wxBillRent);
Map<Long,String> findBuildingSumMoney(WxEnergyMeterReading wxBillRent);
Map<Long,String> findFloorSumMoney(WxEnergyMeterReading wxBillRent);
}

+ 2
- 1
mallinkService/src/main/java/com/iformall/mapper/WxEnergyMeterUserMapper.java Просмотреть файл

@@ -6,11 +6,12 @@ import com.iformall.domain.po.WxEnergyMeterUser;

import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;

/**
*/
public interface WxEnergyMeterUserMapper extends CommonMapper<WxEnergyMeterUser, Long> {

List<WxEnergyMeterUser> findList(WxEnergyMeterUser wxBillRent);
}

+ 9
- 25
mallinkService/src/main/java/com/iformall/service/WxEnergyService.java Просмотреть файл

@@ -21,6 +21,13 @@ import com.iformall.domain.po.base.TenantEntity;
*/
public interface WxEnergyService {
//能源表
PageInfo<WxEnergyMeter> meterListAsPage(WxEnergyMeter record, Integer pageIndex, Integer pageSize);
WxEnergyMeter getMeterById(TenantEntity tenantEntity,Long id);
void saveOrUpdateMeter(WxEnergyMeter record);
void updateMeterIsDel(WxEnergyMeter record);
Map<Long,WxEnergyMeter> getMeterMap(WxEnergyMeter record);
//费用区间
PageInfo<WxEnergyFeesTime> timeListAsPage(WxEnergyFeesTime record, Integer pageIndex, Integer pageSize);
void saveOrUpdateTime(WxEnergyFeesTime record);
@@ -32,6 +39,7 @@ public interface WxEnergyService {
void saveOrUpdateFees(WxEnergyFees record);
WxEnergyFees getFeesById(WxEnergyFees record);
void setFeesIsDel(WxEnergyFees record);
Map<Long,WxEnergyFees> getFeesMap(WxEnergyFees record);
//抄表数据
PageInfo<WxEnergyMeterReading> readingListAsPage(WxEnergyMeterReading record, Integer pageIndex, Integer pageSize);
@@ -44,31 +52,7 @@ public interface WxEnergyService {
WxEnergyReadingCalcute getReadingCalcuteById(WxEnergyReadingCalcute record);
void exportReadingCalcute(WxEnergyReadingCalcute record,HttpServletRequest request, HttpServletResponse response);
void importReadingCalcute(MultipartFile mFile, MallUserInfo user, HttpServletRequest request, HttpServletResponse response);
/**
* 根据实体查询列表
* @param record
* @param pageIndex
* @param pageSize
* @return
*/
PageInfo<WxEnergyMeter> listAsPage(WxEnergyMeter record, Integer pageIndex, Integer pageSize);

/**
* 根据Id获得实体
*
* @param id
* @return
*/
WxEnergyMeter getById(TenantEntity tenantEntity,Long id);
/**
* 保存或更新实体
*
* @param record
* @param user
*/
void saveOrUpdate(WxEnergyMeter record);
void calcuteReading(WxEnergyReadingCalcute record, MallUserInfo user);

void updateIsDel(WxEnergyMeter record);

}

+ 2
- 0
mallinkService/src/main/java/com/iformall/service/WxMallFloorService.java Просмотреть файл

@@ -49,4 +49,6 @@ public interface WxMallFloorService {
void deleteByTenantId(String tenantId);

Map<Long, String> getFloorMap(TenantEntity tenantInfo);
}

+ 3
- 0
mallinkService/src/main/java/com/iformall/service/WxMerchantService.java Просмотреть файл

@@ -9,6 +9,7 @@ import com.iformall.domain.po.MallUserInfo;
import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.po.WxMerchantCorp;
import com.iformall.domain.po.WxPark;
import com.iformall.domain.po.WxShop;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.*;
import org.springframework.web.bind.annotation.ModelAttribute;
@@ -225,4 +226,6 @@ public interface WxMerchantService {
WxMerchant initMerchantByPoi(MallUserInfo user,String poiName,String poiId,String phone) throws Exception;

List<ListMerchantVO> listMerchant(TenantEntity tenantEntity, ListMerchantDTO dto);
Map<Long,WxMerchant> getShopMerchantMap(WxShop wxShop);
}

+ 201
- 44
mallinkService/src/main/java/com/iformall/service/impl/WxEnergyServiceImpl.java Просмотреть файл

@@ -8,10 +8,13 @@ import com.iformall.common.IdWorker;
import com.iformall.common.Result;
import com.iformall.domain.po.*;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.enums.EnumEnergyMeterUserType;
import com.iformall.enums.EnumEnergyPublicCalcuteRule;
import com.iformall.enums.EnumYesOrNo;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.*;
import com.iformall.service.*;
import com.iformall.utils.Constant;

import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ImportParams;
@@ -31,6 +34,8 @@ import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
import java.util.concurrent.TimeUnit;

@@ -68,7 +73,63 @@ public class WxEnergyServiceImpl implements WxEnergyService {
@Autowired
private String fmUploadDir;
@Lazy
@Autowired
WxMerchantService wxMerchantService;
@Lazy
@Autowired
WxShopService wxShopService;
@Override
public PageInfo<WxEnergyMeter> meterListAsPage(WxEnergyMeter record, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxEnergyMeterMapper.findList(record));
}
@Override
public WxEnergyMeter getMeterById(TenantEntity tenantEntity,Long id) {
return wxEnergyMeterMapper.selectById(id, tenantEntity.getTenantId());
}

@Override
public void saveOrUpdateMeter(WxEnergyMeter record) {
Date date = new Date();
if (record.getId() == null) {
final IdWorker idWorker = IdWorker.get();
record.setId(idWorker.nextId());
record.setCreateTime(date);
record.setUpdateTime(date);
try {
wxEnergyMeterMapper.insert(record);
} catch (Exception e) {
logger.error("保存租赁账单失败,e:" + e.getMessage());
throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage());
}
} else {
record.setUpdateTime(date);
wxEnergyMeterMapper.updateById(record);
}
}

@Override
public void updateMeterIsDel(WxEnergyMeter record) {
wxEnergyMeterMapper.setIsDel(record.getId(), record.getTenantId(), record.getIsDel());
}
@Override
public Map<Long, WxEnergyMeter> getMeterMap(WxEnergyMeter record) {
List<WxEnergyMeter> list = wxEnergyMeterMapper.findList(record);
if (null != list && list.size() > 0 ) {
Map<Long,WxEnergyMeter> retMap = new HashMap<Long,WxEnergyMeter>();
for (int i = 0 ; i<list.size() ; i ++) {
WxEnergyMeter m = list.get(i);
retMap.put(m.getId(), m);
}
return retMap;
}
return null;
}
@Override
public PageInfo<WxEnergyFeesTime> timeListAsPage(WxEnergyFeesTime record, Integer pageIndex, Integer pageSize) {
@@ -141,6 +202,20 @@ public class WxEnergyServiceImpl implements WxEnergyService {
public void setFeesIsDel(WxEnergyFees record) {
wxEnergyFeesMapper.setIsDel(record.getId(), record.getTenantId(), record.getIsDel());
}
@Override
public Map<Long, WxEnergyFees> getFeesMap(WxEnergyFees record) {
List<WxEnergyFees> list = wxEnergyFeesMapper.findList(record);
if (null != list && list.size() > 0 ) {
Map<Long,WxEnergyFees> retMap = new HashMap<Long,WxEnergyFees>();
for (int i = 0 ; i<list.size() ; i ++) {
WxEnergyFees m = list.get(i);
retMap.put(m.getId(), m);
}
return retMap;
}
return null;
}

@Override
@@ -220,6 +295,8 @@ public class WxEnergyServiceImpl implements WxEnergyService {
WxEnergyMeter meter = wxEnergyMeterMapper.selectById(r.getMeterId(), record.getTenantId());
r.setMeterName(meter.getName());
r.setIsPublic(meter.getIsPublic());
r.setMeterType(meter.getType());
r.setMeterRate(meter.getRate());
saveOrUpdateReading(r, userInfo);
}
}
@@ -406,8 +483,9 @@ public class WxEnergyServiceImpl implements WxEnergyService {

List<Map> successList = datalist.getList();
if(successList.size() > 0) {
boolean allSuccess = true;
Long cuteId = (Long)successList.get(0).get("calcuteId");
try {
Long cuteId = (Long)successList.get(0).get("calcuteId");
successList.parallelStream().forEach(reading -> {
Long id = (Long) reading.get("id");
WxEnergyMeterReading r = new WxEnergyMeterReading();
@@ -419,58 +497,137 @@ public class WxEnergyServiceImpl implements WxEnergyService {
r.setUpdateTime(new Date());
wxEnergyMeterReadingMapper.updateById(r);
});
if (null != cuteId) {
WxEnergyReadingCalcute c= new WxEnergyReadingCalcute();
c.updateTenantInfo(user);
c.setId(cuteId);
c.setIsImported(EnumYesOrNo.YES.getCode());
c.setUpdateTime(new Date());
c.setUpdateBy(user.getId());
c.setUpdateByName(user.getName());
wxEnergyReadingCalcuteMapper.updateById(c);
}
} catch (Exception e) {
logger.error("导入模板失败:"+e.getMessage(),e);
allSuccess = false;
}
if (null != cuteId) {
WxEnergyReadingCalcute c= new WxEnergyReadingCalcute();
c.updateTenantInfo(user);
c.setId(cuteId);
c.setIsImported(EnumYesOrNo.YES.getCode());
c.setUpdateTime(new Date());
c.setUpdateBy(user.getId());
c.setUpdateByName(user.getName());
if (allSuccess) {
c.setImportSuccess(EnumYesOrNo.YES.getCode());
}else {
c.setImportSuccess(EnumYesOrNo.NO.getCode());
}
wxEnergyReadingCalcuteMapper.updateById(c);
}
}
}
@Override
public PageInfo<WxEnergyMeter> listAsPage(WxEnergyMeter record, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxEnergyMeterMapper.findList(record));
}

@Override
public WxEnergyMeter getById(TenantEntity tenantEntity,Long id) {
return wxEnergyMeterMapper.selectById(id, tenantEntity.getTenantId());
}
@Override
public void calcuteReading(WxEnergyReadingCalcute record, MallUserInfo user) {
//根据科目计算生成账单。
WxEnergyMeterReading reading = new WxEnergyMeterReading();
reading.updateTenantInfo(record);
reading.setTimeId(record.getTimeId());
reading.setIsPublic(EnumYesOrNo.NO.getCode());
//用户表列表
List<WxEnergyMeterReading> readingList = wxEnergyMeterReadingMapper.findList(reading);
if (null != readingList && readingList.size() > 0 ) {
WxShop sq = new WxShop();
sq.updateTenantInfo(record);
Map<Long, WxMerchant> shopMerchantMap = wxMerchantService.getShopMerchantMap(sq);
Map<Long, WxShop> shopMap = wxShopService.findShopMap(sq);
WxEnergyMeter mq = new WxEnergyMeter();
mq.updateTenantInfo(record);
mq.setIsDel(EnumYesOrNo.NO.getCode());
Map<Long, WxEnergyMeter> meterMap = this.getMeterMap(mq);
WxEnergyFees fq = new WxEnergyFees();
fq.updateTenantInfo(record);
fq.setIsDel(EnumYesOrNo.NO.getCode());
fq.setId(record.getFeesId());
WxEnergyFees fees = this.getFeesById(fq);
String publicTotalArea = "1";
String publicTotalMoney = "0";
Map<Long,String> buildingMoney = null;
if (fees.getPublicCalcute().intValue() == EnumEnergyPublicCalcuteRule.ALL.getCode().intValue()) {
//全部就查询所有公共表的费用
publicTotalMoney = wxEnergyMeterReadingMapper.findAllSumMoney(reading);
//公摊总面积
WxEnergyMeterUser mu = new WxEnergyMeterUser();
mu.updateTenantInfo(record);
List<WxEnergyMeterUser> mulist = wxEnergyMeterUserMapper.findList(mu);
if (null == mulist || mulist.size() <= 0 ) {
throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"公摊总面积未配置。");
}
publicTotalArea = mulist.get(0).getPublicArea();
if (StringUtils.isBlank(publicTotalArea)) {
throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"公摊总面积未配置。");
}
}else if (fees.getPublicCalcute().intValue() == EnumEnergyPublicCalcuteRule.BUILDING.getCode().intValue()) {
//如果是按楼栋计算,则要把每个楼栋的金额都要算出来
buildingMoney = wxEnergyMeterReadingMapper.findBuildingSumMoney(reading);
//各楼座总面积
}
boolean allSuccess = true;
for (int i = 0 ; i< readingList.size() ; i ++) {
WxEnergyMeterReading mr = readingList.get(i);
try {
//用户表账单
WxMerchant merchant = shopMerchantMap.get(mr.getShopId());
WxEnergyMeter meter = meterMap.get(mr.getMeterId());
WxShop shop = shopMap.get(mr.getShopId());
WxBillDaily userBill = mr.generateUserBill(record, merchant, user, meter);
/*
* 总表(分摊账单)
* 如果科目是根据总面积公摊,则根据总面积计算
* 如果科目是根据楼栋公摊,则根据当前记录的楼栋面积计算
* 如果科目是根据楼层公摊,则根据当前记录的楼层面积计算
*/
if (fees.getPublicCalcute().intValue() == EnumEnergyPublicCalcuteRule.ALL.getCode().intValue()) {
String needPay = new BigDecimal(publicTotalMoney).multiply(new BigDecimal(shop.getRentArea())).divide(new BigDecimal(publicTotalArea)).setScale(2,RoundingMode.HALF_UP).toPlainString();
mr.generatePublicBill(record, merchant, user, needPay);
}else if (fees.getPublicCalcute().intValue() == EnumEnergyPublicCalcuteRule.BUILDING.getCode().intValue()) {
}
}catch(Exception e) {
logger.error("计算失败:"+mr.getId(),e);
allSuccess = false;
}
}
WxEnergyReadingCalcute c = new WxEnergyReadingCalcute();
c.updateTenantInfo(record);
c.setId(record.getId());
c.setIsCalcuted(EnumYesOrNo.YES.getCode());
c.setUpdateTime(new Date());
c.setUpdateBy(user.getId());
c.setUpdateByName(user.getName());
if (allSuccess) {
c.setCalcuteSuccess(EnumYesOrNo.YES.getCode());
}else {
c.setCalcuteSuccess(EnumYesOrNo.NO.getCode());
}
wxEnergyReadingCalcuteMapper.updateById(c);
}

}




@Override
public void saveOrUpdate(WxEnergyMeter record) {
Date date = new Date();
if (record.getId() == null) {
final IdWorker idWorker = IdWorker.get();
record.setId(idWorker.nextId());
record.setCreateTime(date);
record.setUpdateTime(date);
try {
wxEnergyMeterMapper.insert(record);
} catch (Exception e) {
logger.error("保存租赁账单失败,e:" + e.getMessage());
throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage());
}
} else {
record.setUpdateTime(date);
wxEnergyMeterMapper.updateById(record);
}
}

@Override
public void updateIsDel(WxEnergyMeter record) {
wxEnergyMeterMapper.setIsDel(record.getId(), record.getTenantId(), record.getIsDel());
}





+ 40
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java Просмотреть файл

@@ -2304,4 +2304,44 @@ public class WxMerchantServiceImpl implements WxMerchantService {
return vo;
}).collect(Collectors.toList());
}
@Override
public Map<Long,WxMerchant> getShopMerchantMap(WxShop wxShop) {
WxMerchantShop merchantShopQ = new WxMerchantShop();
merchantShopQ.updateTenantInfo(wxShop);
merchantShopQ.setShopId(wxShop.getId());
merchantShopQ.setShopIdList(wxShop.getIds());
merchantShopQ.setIsDel(0);
List<WxMerchantShop> merchantShopList = wxMerchantShopMapper.findList(merchantShopQ);
if (null != merchantShopList && merchantShopList.size() > 0) {
Map<Long,Long> shopMerchantIdMap = new HashMap<Long,Long>();
List<Long> merchantIdList = new ArrayList<Long>();
for (int i = 0 ;i < merchantShopList.size() ; i ++) {
WxMerchantShop ms = merchantShopList.get(i);
if (null != ms ) {
shopMerchantIdMap.put(ms.getShopId(), ms.getMerchantId());
merchantIdList.add(ms.getMerchantId());
}
}
WxMerchant mq = new WxMerchant();
mq.updateTenantInfo(wxShop);
mq.setIds(merchantIdList);
Map<Long,WxMerchant> merchantMap = this.findMerchantMap(mq);
Map<Long, WxMerchant> retMap = new HashMap<Long, WxMerchant>();
for (Iterator<Long> it = shopMerchantIdMap.keySet().iterator(); it.hasNext(); ){
Long shopId = it.next();
Long merchantId = shopMerchantIdMap.get(shopId);
if (null != merchantMap) {
WxMerchant ms = merchantMap.get(merchantId);
if (null != ms ) {
retMap.put(shopId, ms);
}
}
}
return retMap;
}
return null;
}
}

+ 1
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxShopServiceImpl.java Просмотреть файл

@@ -761,7 +761,7 @@ public class WxShopServiceImpl implements WxShopService {
}
return null;
}
@Override
public List<Long> getFloorBuildShopIds(TenantEntity tenantEntity, String floorRule, Long building, Long floor,Integer shopDel) {
if (null != floorRule || null != building || null != floor) {


+ 9
- 2
mallinkService/src/main/resources/mapper/WxBillDailyMapper.xml Просмотреть файл

@@ -38,13 +38,16 @@
<result column="build_way" property="buildWay"/>
<result column="service_charge_pay" property="serviceChargePay"/>
<result column="remark" jdbcType="VARCHAR" property="remark"/>
<result column="energy_reading_calcuteId" jdbcType="BIGINT" property="energyReadingCalcuteId" />
<result column="energy_reading_id" jdbcType="BIGINT" property="energyReadingId" />
</resultMap>
<sql id="allColumns">
`id`,`receive_pay`,`pay`,`receive_date`,`pay_date`,`createtime`,`expired_day`,`apply_status`,`apply_pay_img`,`apply_update_time`,
`tenant_id`,`parent_tenant_id`,`status`,`is_del`,`merchant_id`,`user_id`,`shop_id`,`shop_name`,`updatetime`,`type`,`last_owe_call_time`,
`rent_shop_type`,`pay_way`,`price_detail`,`starttime`,`endtime`,freeze,build_way,service_charge_pay,`remark`,`last_owe_call_user`,
`create_by`,`create_by_name`,`update_by`,`update_by_name`
`create_by`,`create_by_name`,`update_by`,`update_by_name`,`energy_reading_calcuteId`,`energy_reading_id`
</sql>

<sql id="dynamicWhereConditions">
@@ -72,6 +75,8 @@
<if test=" null != rentShopType ">and `rent_shop_type` = #{rentShopType}</if>
<if test=" null != payWay ">and `pay_way` = #{payWay}</if>
<if test=" null != buildWay ">and `build_way` = #{buildWay}</if>
<if test=" null != energyReadingCalcuteId ">and `energy_reading_calcuteId` = #{energyReadingCalcuteId}</if>
<if test=" null != energyReadingId ">and `energy_reading_id` = #{energyReadingId}</if>
<if test=" 1 == notifyed ">and (`last_owe_call_time` is not null and `receive_pay` - `pay` &gt; 0 and status not in (3,6,7) )</if>
<if test=" null != statusList ">
@@ -135,6 +140,8 @@
and (br.`starttime` &gt; #{oweBillLastTime} and br.`starttime` &lt;= #{nearBillLastTime} and br.status not in (3,6,7))
</if>
<if test=" null != buildWay ">and br.`build_way` = #{buildWay}</if>
<if test=" null != energyReadingCalcuteId ">and br.`energy_reading_calcuteId` = #{energyReadingCalcuteId}</if>
<if test=" null != energyReadingId ">and br.`energy_reading_id` = #{energyReadingId}</if>
<if test=" 1 == notifyed ">and (br.`last_owe_call_time` is not null and br.`receive_pay` - br.`pay` &gt; 0 and br.status not in (3,6,7) )</if>
<if test=" null != merchantIds ">
and br.`merchant_id` in
@@ -162,7 +169,7 @@
br.`status`,br.`updatetime`,br.`merchant_id`,br.shop_id,br.`last_owe_call_time`,br.`last_owe_call_user`,
br.shop_name,br.type,br.`rent_shop_type`,br.pay_way,br.price_detail,br.`starttime`,br.`endtime`,br.`build_way`,
br.freeze,br.service_charge_pay,br.`apply_status`,br.`apply_pay_img`,br.`apply_update_time`,br.`remark`,
br.`create_by`,br.`create_by_name`,br.`update_by`,br.`update_by_name`
br.`create_by`,br.`create_by_name`,br.`update_by`,br.`update_by_name`,br.`energy_reading_calcuteId`,br.`energy_reading_id`
from wx_bill_daily br
<include refid="queryBillDailyListConditions" />
<if test=" null != sortColumns"> order by ${sortColumns} </if>


+ 3
- 5
mallinkService/src/main/resources/mapper/WxEnergyFeesMapper.xml Просмотреть файл

@@ -8,14 +8,13 @@
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="is_del" jdbcType="INTEGER" property="isDel"/>
<result column="type" jdbcType="INTEGER" property="type"/>
<result column="name" jdbcType="VARCHAR" property="name"/>
<result column="is_public" jdbcType="INTEGER" property="isPublic"/>
<result column="price" jdbcType="VARCHAR" property="price"/>
<result column="public_calcute" jdbcType="INTEGER" property="publicCalcute"/>
</resultMap>

<sql id="allColumns">
`id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`is_del`,`name`,`type`,`is_public`,`price`
`id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`is_del`,`name`,`price`,`public_calcute`
</sql>

<sql id="dynamicWhereConditions">
@@ -28,8 +27,7 @@
and `parent_tenant_id` = #{parentTenantId}
</if>
<if test=" null != isDel ">and `is_del` = #{isDel}</if>
<if test=" null != type ">and `type` = #{type}</if>
<if test=" null != isPublic ">and `is_public` = #{isPublic}</if>
<if test=" null != publicCalcute ">and `public_calcute` = #{publicCalcute}</if>
<if test=" null != name and '' != name ">and name like concat('%', #{name},'%')</if>
<if test=" null != ids ">
and id in


+ 24
- 1
mallinkService/src/main/resources/mapper/WxEnergyMeterReadingMapper.xml Просмотреть файл

@@ -19,6 +19,8 @@
<result column="remark" jdbcType="VARCHAR" property="remark"/>
<result column="time_id" jdbcType="BIGINT" property="timeId"/>
<result column="meter_id" jdbcType="BIGINT" property="meterId"/>
<result column="meter_type" jdbcType="INTEGER" property="meterType"/>
<result column="meter_rate" jdbcType="VARCHAR" property="meterRate"/>
<result column="is_public" jdbcType="INTEGER" property="isPublic"/>
<result column="meter_name" jdbcType="VARCHAR" property="meterName"/>
<result column="shop_id" jdbcType="BIGINT" property="shopId"/>
@@ -30,7 +32,7 @@

<sql id="allColumns">
`id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`cur_number`,`pre_number`,`pre_time`,`start_time`,`end_time`,`create_by`,`create_by_name`,
`update_by`,`update_by_name`,`remark`,`time_id`,`meter_id`,`is_public`,`meter_name`,`shop_id`,`shop_number`,`building_id`,`floor_id`,`price`
`update_by`,`update_by_name`,`remark`,`time_id`,`meter_id`,`meter_type`,`meter_rate`,`is_public`,`meter_name`,`shop_id`,`shop_number`,`building_id`,`floor_id`,`price`
</sql>

<sql id="dynamicWhereConditions">
@@ -45,6 +47,7 @@
<if test=" null != createBy ">and `create_by` = #{createBy}</if>
<if test=" null != timeId ">and `time_id` = #{timeId}</if>
<if test=" null != meterId ">and `meter_id` = #{meterId}</if>
<if test=" null != meterType ">and `meter_type` = #{meterType}</if>
<if test=" null != isPublic ">and `is_public` = #{isPublic}</if>
<if test=" null != meterName and '' != meterName ">and meter_name like concat('%', #{meterName},'%')</if>
<if test=" null != shopId ">and `shop_id` = #{shopId}</if>
@@ -79,6 +82,26 @@
<include refid="allColumns"/>
from wx_energy_meter_reading where id = #{id} and `tenant_id` = #{tenantId}
</select>
<select id="findAllSumMoney" parameterType="com.iformall.domain.po.WxEnergyMeterReading" resultMap="String">
select sum((CAST(cur_number AS DECIMAL(20,4)) - CAST(pre_number AS DECIMAL(20,4)))*(CAST(price AS DECIMAL(20,4))) / (CAST(meter_rate AS DECIMAL(20,4)))) as money
from wx_energy_meter_reading
<include refid="dynamicWhereConditions"/>
</select>
<select id="findBuildingSumMoney" parameterType="com.iformall.domain.po.WxEnergyMeterReading" resultMap="HashMap">
select building_id, sum((CAST(cur_number AS DECIMAL(20,4)) - CAST(pre_number AS DECIMAL(20,4)))*(CAST(price AS DECIMAL(20,4))) / (CAST(meter_rate AS DECIMAL(20,4)))) as money
from wx_energy_meter_reading
<include refid="dynamicWhereConditions"/>
group by building_id
</select>
<select id="findFloorSumMoney" parameterType="com.iformall.domain.po.WxEnergyMeterReading" resultMap="HashMap">
select floor_id, sum((CAST(cur_number AS DECIMAL(20,4)) - CAST(pre_number AS DECIMAL(20,4)))*(CAST(price AS DECIMAL(20,4))) / (CAST(meter_rate AS DECIMAL(20,4)))) as money
from wx_energy_meter_reading
<include refid="dynamicWhereConditions"/>
group by floor_id
</select>

</mapper>


+ 3
- 1
mallinkService/src/main/resources/mapper/WxEnergyMeterUserMapper.xml Просмотреть файл

@@ -9,10 +9,11 @@
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="user_id" jdbcType="BIGINT" property="userId"/>
<result column="user_type" jdbcType="INTEGER" property="userType"/>
<result column="meter_id" jdbcType="BIGINT" property="meterId"/>
</resultMap>

<sql id="allColumns">
`id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`user_id`,`user_type`
`id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`user_id`,`user_type`,`meter_id`
</sql>

<sql id="dynamicWhereConditions">
@@ -26,6 +27,7 @@
</if>
<if test=" null != userId ">and `user_id` = #{userId}</if>
<if test=" null != userType ">and `user_type` = #{userType}</if>
<if test=" null != meterId ">and `meter_id` = #{meterId}</if>
<if test=" null != ids ">
and id in
<foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")">


+ 5
- 1
mallinkService/src/main/resources/mapper/WxEnergyReadingCalcuteMapper.xml Просмотреть файл

@@ -16,11 +16,13 @@
<result column="fees_id" jdbcType="BIGINT" property="feesId"/>
<result column="is_calcuted" jdbcType="INTEGER" property="isCalcuted"/>
<result column="is_imported" jdbcType="INTEGER" property="isImported"/>
<result column="import_success" jdbcType="INTEGER" property="importSuccess"/>
<result column="calcute_success" jdbcType="INTEGER" property="calcuteSuccess"/>
</resultMap>

<sql id="allColumns">
`id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`create_by`,`create_by_name`,
`update_by`,`update_by_name`,`remark`,`time_id`,`fees_id`,`is_calcuted`,`is_imported`
`update_by`,`update_by_name`,`remark`,`time_id`,`fees_id`,`is_calcuted`,`is_imported`,`import_success`,`calcute_success`
</sql>

<sql id="dynamicWhereConditions">
@@ -37,6 +39,8 @@
<if test=" null != feesId ">and `fees_id` = #{feesId}</if>
<if test=" null != isCalcuted ">and `is_calcuted` = #{isCalcuted}</if>
<if test=" null != isImported ">and `is_imported` = #{isImported}</if>
<if test=" null != importSuccess ">and `import_success` = #{importSuccess}</if>
<if test=" null != calcuteSuccess ">and `calcute_success` = #{calcuteSuccess}</if>
<if test=" null != ids ">
and id in
<foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")">


Загрузка…
Отмена
Сохранить