| @@ -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(); | |||
| } | |||
| } | |||
| @@ -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' ; | |||
| @@ -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; | |||
| @@ -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; | |||
| } | |||
| @@ -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, "抄表计算自动生成公摊"); | |||
| } | |||
| } | |||
| @@ -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; | |||
| } | |||
| @@ -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; | |||
| } | |||
| @@ -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; | |||
| } | |||
| } | |||
| @@ -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); | |||
| } | |||
| @@ -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); | |||
| } | |||
| @@ -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); | |||
| } | |||
| @@ -49,4 +49,6 @@ public interface WxMallFloorService { | |||
| void deleteByTenantId(String tenantId); | |||
| Map<Long, String> getFloorMap(TenantEntity tenantInfo); | |||
| } | |||
| @@ -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); | |||
| } | |||
| @@ -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()); | |||
| } | |||
| @@ -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; | |||
| } | |||
| } | |||
| @@ -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) { | |||
| @@ -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` > 0 and status not in (3,6,7) )</if> | |||
| <if test=" null != statusList "> | |||
| @@ -135,6 +140,8 @@ | |||
| and (br.`starttime` > #{oweBillLastTime} and br.`starttime` <= #{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` > 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> | |||
| @@ -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 | |||
| @@ -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> | |||
| @@ -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=")"> | |||
| @@ -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=")"> | |||