| @@ -1,30 +1,22 @@ | |||||
| package com.iformall.controller.market; | package com.iformall.controller.market; | ||||
| import com.github.pagehelper.PageInfo; | import com.github.pagehelper.PageInfo; | ||||
| import com.iformall.annotation.SystemControllerLog; | |||||
| import com.iformall.annotation.TenantIgnore; | |||||
| import com.iformall.common.ErrorCode; | |||||
| import com.iformall.common.Result; | import com.iformall.common.Result; | ||||
| import com.iformall.common.ResultData; | import com.iformall.common.ResultData; | ||||
| import com.iformall.controller.base.BaseController; | import com.iformall.controller.base.BaseController; | ||||
| import com.iformall.domain.dto.WxBillPayDTO; | |||||
| import com.iformall.domain.po.AliBusinessCircleOrder; | |||||
| import com.iformall.domain.po.MallUserInfo; | import com.iformall.domain.po.MallUserInfo; | ||||
| import com.iformall.domain.po.WxCUserBasicInfo; | |||||
| import com.iformall.domain.po.WxEnergyFees; | import com.iformall.domain.po.WxEnergyFees; | ||||
| import com.iformall.domain.po.WxEnergyFeesTime; | import com.iformall.domain.po.WxEnergyFeesTime; | ||||
| import com.iformall.domain.po.WxEnergyMeter; | |||||
| import com.iformall.domain.po.WxEnergyMeterReading; | import com.iformall.domain.po.WxEnergyMeterReading; | ||||
| import com.iformall.domain.po.WxEnergyReadingCalcute; | import com.iformall.domain.po.WxEnergyReadingCalcute; | ||||
| import com.iformall.domain.po.WxUserDataRule; | |||||
| import com.iformall.domain.po.base.BaseEntity; | import com.iformall.domain.po.base.BaseEntity; | ||||
| 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.EnumEnergyMeterType; | ||||
| import com.iformall.enums.EnumEnergyPublicCalcuteRule; | import com.iformall.enums.EnumEnergyPublicCalcuteRule; | ||||
| import com.iformall.enums.EnumYesOrNo; | |||||
| import com.iformall.exception.MallinkException; | import com.iformall.exception.MallinkException; | ||||
| import com.iformall.service.AliBusinessCircleOrderService; | |||||
| import com.iformall.service.WxEnergyService; | import com.iformall.service.WxEnergyService; | ||||
| import com.iformall.utils.Constant; | |||||
| import io.swagger.annotations.Api; | import io.swagger.annotations.Api; | ||||
| import io.swagger.annotations.ApiImplicitParam; | import io.swagger.annotations.ApiImplicitParam; | ||||
| import io.swagger.annotations.ApiImplicitParams; | import io.swagger.annotations.ApiImplicitParams; | ||||
| @@ -41,19 +33,12 @@ import org.springframework.web.bind.annotation.RequestMapping; | |||||
| import org.springframework.web.bind.annotation.RequestParam; | import org.springframework.web.bind.annotation.RequestParam; | ||||
| import org.springframework.web.bind.annotation.RestController; | import org.springframework.web.bind.annotation.RestController; | ||||
| import org.springframework.web.multipart.MultipartFile; | import org.springframework.web.multipart.MultipartFile; | ||||
| import javax.servlet.http.HttpServletRequest; | import javax.servlet.http.HttpServletRequest; | ||||
| import javax.servlet.http.HttpServletResponse; | import javax.servlet.http.HttpServletResponse; | ||||
| import java.io.BufferedInputStream; | |||||
| import java.io.File; | |||||
| import java.io.FileOutputStream; | |||||
| import java.io.IOException; | |||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||
| import java.util.HashMap; | import java.util.HashMap; | ||||
| import java.util.List; | import java.util.List; | ||||
| import java.util.Map; | import java.util.Map; | ||||
| import java.util.concurrent.TimeUnit; | |||||
| @RestController | @RestController | ||||
| @RequestMapping("energy") | @RequestMapping("energy") | ||||
| @@ -67,7 +52,7 @@ public class WxEnergyController extends BaseController { | |||||
| @ApiOperation("表类型") | @ApiOperation("表类型") | ||||
| @GetMapping("meterTypeList") | @GetMapping("meterTypeList") | ||||
| public ResultData meterTypeList() { | public ResultData meterTypeList() { | ||||
| Map retMap = new HashMap(); | |||||
| Map<Integer,String> retMap = new HashMap<Integer,String>(); | |||||
| for (EnumEnergyMeterType mem : EnumEnergyMeterType.values()) { | for (EnumEnergyMeterType mem : EnumEnergyMeterType.values()) { | ||||
| retMap.put(mem.getCode(), mem.getMessage()); | retMap.put(mem.getCode(), mem.getMessage()); | ||||
| } | } | ||||
| @@ -77,14 +62,81 @@ public class WxEnergyController extends BaseController { | |||||
| @ApiOperation("公摊计费规则") | @ApiOperation("公摊计费规则") | ||||
| @GetMapping("publicCalcuteRules") | @GetMapping("publicCalcuteRules") | ||||
| public ResultData publicCalcuteRules() { | public ResultData publicCalcuteRules() { | ||||
| Map retMap = new HashMap(); | |||||
| Map<Integer,String> retMap = new HashMap<Integer,String>(); | |||||
| for (EnumEnergyPublicCalcuteRule mem : EnumEnergyPublicCalcuteRule.values()) { | for (EnumEnergyPublicCalcuteRule mem : EnumEnergyPublicCalcuteRule.values()) { | ||||
| retMap.put(mem.getCode(), mem.getMessage()); | retMap.put(mem.getCode(), mem.getMessage()); | ||||
| } | } | ||||
| return new ResultData(retMap); | return new ResultData(retMap); | ||||
| } | } | ||||
| @ApiOperation("能源表列表") | |||||
| @GetMapping("meterList") | |||||
| @ApiImplicitParams({ | |||||
| @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), | |||||
| @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true), | |||||
| }) | |||||
| public ResultData meterList(@ModelAttribute WxEnergyMeter record, Integer pageNum, Integer pageSize) { | |||||
| WxUserDataRule dataRule = this.getCurrentDataFloors(); | |||||
| if (null != dataRule) { | |||||
| record.setFloorForRule(dataRule.getFloorIds()); | |||||
| record.setBusinessForRule(dataRule.getBussinessIds()); | |||||
| } | |||||
| record.updateTenantInfo(getTenantInfo()); | |||||
| record.setSortColumns(BaseEntity.SortField.CreateTime_DESC); | |||||
| PageInfo<WxEnergyMeter> page = wxEnergyService.meterListAsPage(record, pageNum, pageSize); | |||||
| return new ResultData(page); | |||||
| } | |||||
| @ApiOperation("能源表新增修改") | |||||
| @PostMapping("saveMeter") | |||||
| public ResultData saveMeter(@RequestBody WxEnergyMeter record) { | |||||
| record.updateTenantInfo(getTenantInfo()); | |||||
| wxEnergyService.saveOrUpdateMeter(record); | |||||
| return new ResultData(); | |||||
| } | |||||
| @PostMapping("meterUpdateIsDel") | |||||
| public ResultData meterUpdateIsDel(@RequestBody WxEnergyMeter record) { | |||||
| record.updateTenantInfo(getTenantInfo()); | |||||
| wxEnergyService.updateMeterIsDel(record); | |||||
| return new ResultData(); | |||||
| } | |||||
| @ApiOperation("能源表关联店铺") | |||||
| @PostMapping("setMeterShop") | |||||
| public ResultData setMeterShop(@RequestBody WxEnergyMeter record) { | |||||
| record.updateTenantInfo(getTenantInfo()); | |||||
| if (null == record.getId() || null == record.getShopId()) { | |||||
| return new ResultData(Result.ERROR,"参数错误"); | |||||
| } | |||||
| WxEnergyMeter meter = wxEnergyService.getMeterById(record, record.getId()); | |||||
| if (null == meter) { | |||||
| return new ResultData(Result.ERROR,"能源表未查询到"); | |||||
| } | |||||
| if (meter.getIsPublic().intValue() == EnumYesOrNo.YES.getCode().intValue()) { | |||||
| return new ResultData(Result.ERROR,"总表不能关联店铺"); | |||||
| } | |||||
| wxEnergyService.setMeterShop(record); | |||||
| return new ResultData(); | |||||
| } | |||||
| @ApiOperation("能源表关联楼层") | |||||
| @PostMapping("setMeterFloor") | |||||
| public ResultData setMeterFloor(@RequestBody WxEnergyMeter record) { | |||||
| record.updateTenantInfo(getTenantInfo()); | |||||
| if (null == record.getId() || null == record.getFloorId()) { | |||||
| return new ResultData(Result.ERROR,"参数错误"); | |||||
| } | |||||
| WxEnergyMeter meter = wxEnergyService.getMeterById(record, record.getId()); | |||||
| if (null == meter) { | |||||
| return new ResultData(Result.ERROR,"能源表未查询到"); | |||||
| } | |||||
| if (meter.getIsPublic().intValue() == EnumYesOrNo.NO.getCode().intValue()) { | |||||
| return new ResultData(Result.ERROR,"用户表不能关联楼层"); | |||||
| } | |||||
| wxEnergyService.setMeterFloor(record); | |||||
| return new ResultData(); | |||||
| } | |||||
| @ApiOperation("费用区间列表") | @ApiOperation("费用区间列表") | ||||
| @GetMapping("timeList") | @GetMapping("timeList") | ||||
| @@ -170,7 +222,7 @@ public class WxEnergyController extends BaseController { | |||||
| @PostMapping("saveReading") | @PostMapping("saveReading") | ||||
| public ResultData saveReading(@RequestBody WxEnergyMeterReading record) { | public ResultData saveReading(@RequestBody WxEnergyMeterReading record) { | ||||
| record.updateTenantInfo(getTenantInfo()); | record.updateTenantInfo(getTenantInfo()); | ||||
| wxEnergyService.saveOrUpdateReading(record,this.getUser()); | |||||
| wxEnergyService.updateReading(record,this.getUser()); | |||||
| return new ResultData(); | return new ResultData(); | ||||
| } | } | ||||
| @@ -227,10 +279,8 @@ public class WxEnergyController extends BaseController { | |||||
| if (null == wrc) { | if (null == wrc) { | ||||
| return new ResultData(Result.ERROR,"id错误"); | return new ResultData(Result.ERROR,"id错误"); | ||||
| } | } | ||||
| return new ResultData(); | |||||
| Integer number = wxEnergyService.calcuteReading(wrc, getUser()); | |||||
| return new ResultData(number); | |||||
| } | } | ||||
| } | } | ||||
| @@ -8,7 +8,10 @@ CREATE TABLE `wx_energy_meter` ( | |||||
| `name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '表名称', | `name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '表名称', | ||||
| `type` int(3) NOT NULL COMMENT '表类型', | `type` int(3) NOT NULL COMMENT '表类型', | ||||
| `rate` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '倍率', | `rate` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '倍率', | ||||
| `is_public` int(1) NOT NULL DEFAULT '0' COMMENT '用户表 0 , 总表1', | |||||
| `is_public` int(1) NOT NULL DEFAULT '0' COMMENT '用户表0 , 总表1', | |||||
| `building_id` bigint(20) DEFAULT NULL, | |||||
| `floor_id` bigint(20) DEFAULT NULL, | |||||
| `shop_id` bigint(20) DEFAULT NULL, | |||||
| PRIMARY KEY (`id`), | PRIMARY KEY (`id`), | ||||
| UNIQUE KEY `id_UNIQUE` (`id`) | UNIQUE KEY `id_UNIQUE` (`id`) | ||||
| ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='能耗表'; | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='能耗表'; | ||||
| @@ -54,6 +57,8 @@ CREATE TABLE `wx_energy_meter_reading` ( | |||||
| `price` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '单价', | `price` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '单价', | ||||
| `meter_type` int(3) NOT NULL COMMENT '表类型', | `meter_type` int(3) NOT NULL COMMENT '表类型', | ||||
| `meter_rate` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '表倍率', | `meter_rate` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '表倍率', | ||||
| `pre_by` bigint(20) DEFAULT NULL COMMENT '上次抄表人', | |||||
| `pre_by_name` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '上次抄表人', | |||||
| PRIMARY KEY (`id`), | PRIMARY KEY (`id`), | ||||
| UNIQUE KEY `id_UNIQUE` (`id`), | UNIQUE KEY `id_UNIQUE` (`id`), | ||||
| KEY `T_T_F` (`tenant_id`,`time_id`,`meter_id`) | KEY `T_T_F` (`tenant_id`,`time_id`,`meter_id`) | ||||
| @@ -85,6 +90,7 @@ CREATE TABLE `wx_energy_fees` ( | |||||
| `name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名称', | `name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名称', | ||||
| `price` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '单价', | `price` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '单价', | ||||
| `public_calcute` int(1) NOT NULL COMMENT '公摊计费规则', | `public_calcute` int(1) NOT NULL COMMENT '公摊计费规则', | ||||
| `type` int(1) NOT NULL COMMENT '表类型', | |||||
| PRIMARY KEY (`id`), | PRIMARY KEY (`id`), | ||||
| UNIQUE KEY `id_UNIQUE` (`id`) | UNIQUE KEY `id_UNIQUE` (`id`) | ||||
| ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='能耗表'; | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='能耗表'; | ||||
| @@ -38,4 +38,7 @@ public class WxEnergyFees extends TenantEntity { | |||||
| @io.swagger.annotations.ApiModelProperty(value = "公摊计算规则EnumEnergyPublicCalcuteRule", name = "publicCalcute") | @io.swagger.annotations.ApiModelProperty(value = "公摊计算规则EnumEnergyPublicCalcuteRule", name = "publicCalcute") | ||||
| private Integer publicCalcute; | private Integer publicCalcute; | ||||
| @io.swagger.annotations.ApiModelProperty(value = "表类型EnumEnergyMeterType", name = "type") | |||||
| private Integer type; | |||||
| } | } | ||||
| @@ -1,11 +1,13 @@ | |||||
| package com.iformall.domain.po; | package com.iformall.domain.po; | ||||
| import com.baomidou.mybatisplus.annotation.TableField; | |||||
| import com.baomidou.mybatisplus.annotation.TableName; | import com.baomidou.mybatisplus.annotation.TableName; | ||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import lombok.Data; | import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | import lombok.EqualsAndHashCode; | ||||
| import lombok.ToString; | import lombok.ToString; | ||||
| import java.util.Date; | import java.util.Date; | ||||
| import java.util.List; | |||||
| /** | /** | ||||
| */ | */ | ||||
| @@ -41,4 +43,22 @@ public class WxEnergyMeter extends TenantEntity { | |||||
| @io.swagger.annotations.ApiModelProperty(value = "是否总表", name = "isPublic") | @io.swagger.annotations.ApiModelProperty(value = "是否总表", name = "isPublic") | ||||
| private Integer isPublic; | private Integer isPublic; | ||||
| @io.swagger.annotations.ApiModelProperty(value = "楼栋ID", name = "buildingId") | |||||
| private Long buildingId; | |||||
| @TableField(exist = false) | |||||
| private String buildingName; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "楼层ID", name = "floorId") | |||||
| private Long floorId; | |||||
| @TableField(exist = false) | |||||
| private String floorName; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "店铺", name = "shopId") | |||||
| private Long shopId; | |||||
| @TableField(exist = false) | |||||
| private String shopNumber; | |||||
| @TableField(exist = false) | |||||
| private List<Long> shopIds; | |||||
| } | } | ||||
| @@ -52,6 +52,12 @@ public class WxEnergyMeterReading extends TenantEntity { | |||||
| @io.swagger.annotations.ApiModelProperty(value = "上次读数时间", name = "preTime") | @io.swagger.annotations.ApiModelProperty(value = "上次读数时间", name = "preTime") | ||||
| private Date preTime; | private Date preTime; | ||||
| @io.swagger.annotations.ApiModelProperty(value="createBy",name="createBy") | |||||
| private Long preBy; | |||||
| @io.swagger.annotations.ApiModelProperty(value="createByName",name="createByName") | |||||
| private String preByName; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "所属周期开始时间", name = "startTime") | @io.swagger.annotations.ApiModelProperty(value = "所属周期开始时间", name = "startTime") | ||||
| private Date startTime; | private Date startTime; | ||||
| @@ -76,6 +82,8 @@ public class WxEnergyMeterReading extends TenantEntity { | |||||
| @io.swagger.annotations.ApiModelProperty(value="区间ID",name="timeId") | @io.swagger.annotations.ApiModelProperty(value="区间ID",name="timeId") | ||||
| private Long timeId; | private Long timeId; | ||||
| @TableField(exist = false) | |||||
| private String timeName; | |||||
| @io.swagger.annotations.ApiModelProperty(value="表ID",name="meterId") | @io.swagger.annotations.ApiModelProperty(value="表ID",name="meterId") | ||||
| private Long meterId; | private Long meterId; | ||||
| @@ -100,9 +108,13 @@ public class WxEnergyMeterReading extends TenantEntity { | |||||
| @io.swagger.annotations.ApiModelProperty(value="楼座ID",name="buildingId") | @io.swagger.annotations.ApiModelProperty(value="楼座ID",name="buildingId") | ||||
| private Long buildingId; | private Long buildingId; | ||||
| @TableField(exist = false) | |||||
| private String buildingName; | |||||
| @io.swagger.annotations.ApiModelProperty(value="楼层ID",name="floorId") | @io.swagger.annotations.ApiModelProperty(value="楼层ID",name="floorId") | ||||
| private Long floorId; | private Long floorId; | ||||
| @TableField(exist = false) | |||||
| private String floorName; | |||||
| @io.swagger.annotations.ApiModelProperty(value="单价",name="price") | @io.swagger.annotations.ApiModelProperty(value="单价",name="price") | ||||
| private String price; | private String price; | ||||
| @@ -27,11 +27,14 @@ public interface WxEnergyService { | |||||
| void saveOrUpdateMeter(WxEnergyMeter record); | void saveOrUpdateMeter(WxEnergyMeter record); | ||||
| void updateMeterIsDel(WxEnergyMeter record); | void updateMeterIsDel(WxEnergyMeter record); | ||||
| Map<Long,WxEnergyMeter> getMeterMap(WxEnergyMeter record); | Map<Long,WxEnergyMeter> getMeterMap(WxEnergyMeter record); | ||||
| void setMeterShop(WxEnergyMeter record); | |||||
| void setMeterFloor(WxEnergyMeter record); | |||||
| //费用区间 | //费用区间 | ||||
| PageInfo<WxEnergyFeesTime> timeListAsPage(WxEnergyFeesTime record, Integer pageIndex, Integer pageSize); | PageInfo<WxEnergyFeesTime> timeListAsPage(WxEnergyFeesTime record, Integer pageIndex, Integer pageSize); | ||||
| void saveOrUpdateTime(WxEnergyFeesTime record); | void saveOrUpdateTime(WxEnergyFeesTime record); | ||||
| WxEnergyFeesTime getFeesTimeById(WxEnergyFeesTime record); | WxEnergyFeesTime getFeesTimeById(WxEnergyFeesTime record); | ||||
| Map<Long,WxEnergyFeesTime> getTimeMap(WxEnergyFeesTime record); | |||||
| void setTimeIsDel(WxEnergyFeesTime record); | void setTimeIsDel(WxEnergyFeesTime record); | ||||
| //费用科目 | //费用科目 | ||||
| @@ -43,8 +46,10 @@ public interface WxEnergyService { | |||||
| //抄表数据 | //抄表数据 | ||||
| PageInfo<WxEnergyMeterReading> readingListAsPage(WxEnergyMeterReading record, Integer pageIndex, Integer pageSize); | PageInfo<WxEnergyMeterReading> readingListAsPage(WxEnergyMeterReading record, Integer pageIndex, Integer pageSize); | ||||
| void saveOrUpdateReading(WxEnergyMeterReading record,MallUserInfo userInfo); | |||||
| void createReading(WxEnergyMeterReading record,MallUserInfo userInfo); | |||||
| void updateReading(WxEnergyMeterReading record,MallUserInfo userInfo); | |||||
| void commitReading(WxEnergyMeterReading record,MallUserInfo userInfo); | void commitReading(WxEnergyMeterReading record,MallUserInfo userInfo); | ||||
| WxEnergyMeterReading getReadingById(WxEnergyMeterReading record); | |||||
| //抄表科目计算数据 | //抄表科目计算数据 | ||||
| PageInfo<WxEnergyReadingCalcute> readingCalcuteListAsPage(WxEnergyReadingCalcute record, Integer pageIndex, Integer pageSize); | PageInfo<WxEnergyReadingCalcute> readingCalcuteListAsPage(WxEnergyReadingCalcute record, Integer pageIndex, Integer pageSize); | ||||
| @@ -52,7 +57,7 @@ public interface WxEnergyService { | |||||
| WxEnergyReadingCalcute getReadingCalcuteById(WxEnergyReadingCalcute record); | WxEnergyReadingCalcute getReadingCalcuteById(WxEnergyReadingCalcute record); | ||||
| void exportReadingCalcute(WxEnergyReadingCalcute record,HttpServletRequest request, HttpServletResponse response); | void exportReadingCalcute(WxEnergyReadingCalcute record,HttpServletRequest request, HttpServletResponse response); | ||||
| void importReadingCalcute(MultipartFile mFile, MallUserInfo user, HttpServletRequest request, HttpServletResponse response); | void importReadingCalcute(MultipartFile mFile, MallUserInfo user, HttpServletRequest request, HttpServletResponse response); | ||||
| void calcuteReading(WxEnergyReadingCalcute record, MallUserInfo user); | |||||
| Integer calcuteReading(WxEnergyReadingCalcute record, MallUserInfo user); | |||||
| } | } | ||||
| @@ -1,6 +1,7 @@ | |||||
| package com.iformall.service.impl; | package com.iformall.service.impl; | ||||
| import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; | import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; | ||||
| import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; | |||||
| import com.github.pagehelper.PageHelper; | import com.github.pagehelper.PageHelper; | ||||
| import com.github.pagehelper.PageInfo; | import com.github.pagehelper.PageInfo; | ||||
| import com.iformall.common.ErrorCode; | import com.iformall.common.ErrorCode; | ||||
| @@ -87,7 +88,44 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||||
| @Override | @Override | ||||
| public PageInfo<WxEnergyMeter> meterListAsPage(WxEnergyMeter record, Integer pageIndex, Integer pageSize) { | public PageInfo<WxEnergyMeter> meterListAsPage(WxEnergyMeter record, Integer pageIndex, Integer pageSize) { | ||||
| return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxEnergyMeterMapper.findList(record)); | |||||
| String shopNumber = StringUtils.trimToNull(record.getShopNumber()); | |||||
| if (StringUtils.isNotBlank(shopNumber)) { | |||||
| WxShop sq = new WxShop(); | |||||
| sq.updateTenantInfo(record); | |||||
| sq.setShopNumber(shopNumber); | |||||
| List<Long> shopIds = wxShopService.getShopIds(sq); | |||||
| if (null == shopIds || shopIds.size() <= 0) { | |||||
| record.setId(-1L); | |||||
| }else { | |||||
| record.setShopIds(shopIds); | |||||
| } | |||||
| } | |||||
| PageInfo<WxEnergyMeter> page = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxEnergyMeterMapper.findList(record)); | |||||
| if (null != page && null != page.getList()) { | |||||
| WxShop sq = new WxShop(); | |||||
| sq.updateTenantInfo(record); | |||||
| Map<Long, WxShop> shopMap = wxShopService.findShopMap(sq); | |||||
| Map<Long, String> buildingMap = wxMallBuildingService.getBuildingMap(record); | |||||
| Map<Long, String> floorMap = wxMallFloorService.getFloorMap(record); | |||||
| for (int i = 0 ; i < page.getList().size(); i++) { | |||||
| WxEnergyMeter m = page.getList().get(i); | |||||
| if (null != shopMap && null != m.getShopId()) { | |||||
| WxShop shop = shopMap.get(m.getShopId()); | |||||
| if (null != shop) { | |||||
| m.setShopNumber(shop.getShopNumber()); | |||||
| } | |||||
| } | |||||
| if (null != buildingMap && null != m.getBuildingId()) { | |||||
| String buildingName = buildingMap.get(m.getBuildingId()); | |||||
| m.setBuildingName(buildingName); | |||||
| } | |||||
| if (null != floorMap && null != m.getFloorId()) { | |||||
| String floorName = floorMap.get(m.getFloorId()); | |||||
| m.setFloorName(floorName); | |||||
| } | |||||
| } | |||||
| } | |||||
| return page; | |||||
| } | } | ||||
| @Override | @Override | ||||
| @@ -133,6 +171,33 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||||
| } | } | ||||
| return null; | return null; | ||||
| } | } | ||||
| @Override | |||||
| public void setMeterShop(WxEnergyMeter record) { | |||||
| WxShop shop = wxShopService.getById(record.getShopId()); | |||||
| record.setShopId(shop.getId()); | |||||
| record.setBuildingId(shop.getBuilding()); | |||||
| record.setFloorId(shop.getFloor()); | |||||
| record.setUpdateTime(new Date()); | |||||
| wxEnergyMeterMapper.updateById(record); | |||||
| } | |||||
| @Override | |||||
| public void setMeterFloor(WxEnergyMeter record) { | |||||
| WxMallFloor floor = wxMallFloorService.getById(record.getFloorId()); | |||||
| // record.setBuildingId(floor.getBuildingId()); | |||||
| // record.setFloorId(floor.getId()); | |||||
| // record.setUpdateTime(new Date()); | |||||
| // record.setShopId(null); | |||||
| // wxEnergyMeterMapper.updateById(record); | |||||
| //属性为空如何处理 | |||||
| wxEnergyMeterMapper.update(record, new UpdateWrapper<WxEnergyMeter>().lambda().eq(WxEnergyMeter::getId, record.getId()) | |||||
| .set(WxEnergyMeter::getShopId, null) | |||||
| .set(WxEnergyMeter::getBuildingId, floor.getBuildingId()) | |||||
| .set(WxEnergyMeter::getFloorId, floor.getId()) | |||||
| .set(WxEnergyMeter::getUpdateTime, new Date())); | |||||
| } | |||||
| @Override | @Override | ||||
| @@ -164,6 +229,21 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||||
| public WxEnergyFeesTime getFeesTimeById(WxEnergyFeesTime record) { | public WxEnergyFeesTime getFeesTimeById(WxEnergyFeesTime record) { | ||||
| return wxEnergyFeesTimeMapper.selectById(record.getId(), record.getTenantId()); | return wxEnergyFeesTimeMapper.selectById(record.getId(), record.getTenantId()); | ||||
| } | } | ||||
| @Override | |||||
| public Map<Long, WxEnergyFeesTime> getTimeMap(WxEnergyFeesTime record) { | |||||
| List<WxEnergyFeesTime> list = wxEnergyFeesTimeMapper.findList(record); | |||||
| if (null != list && list.size() > 0 ) { | |||||
| Map<Long,WxEnergyFeesTime> retMap = new HashMap<Long,WxEnergyFeesTime>(); | |||||
| for (int i = 0 ; i<list.size() ; i ++) { | |||||
| WxEnergyFeesTime m = list.get(i); | |||||
| retMap.put(m.getId(), m); | |||||
| } | |||||
| return retMap; | |||||
| } | |||||
| return null; | |||||
| } | |||||
| @Override | @Override | ||||
| @@ -225,35 +305,92 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||||
| @Override | @Override | ||||
| public PageInfo<WxEnergyMeterReading> readingListAsPage(WxEnergyMeterReading record, Integer pageIndex, | public PageInfo<WxEnergyMeterReading> readingListAsPage(WxEnergyMeterReading record, Integer pageIndex, | ||||
| Integer pageSize) { | Integer pageSize) { | ||||
| return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxEnergyMeterReadingMapper.findList(record)); | |||||
| PageInfo<WxEnergyMeterReading> page = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxEnergyMeterReadingMapper.findList(record)); | |||||
| if (null != page && null != page.getList()) { | |||||
| WxEnergyFeesTime tq = new WxEnergyFeesTime(); | |||||
| tq.updateTenantInfo(record); | |||||
| Map<Long, WxEnergyFeesTime> timeMap = this.getTimeMap(tq); | |||||
| Map<Long, String> buildingMap = wxMallBuildingService.getBuildingMap(record); | |||||
| Map<Long, String> floorMap = wxMallFloorService.getFloorMap(record); | |||||
| for (int i = 0 ; i < page.getList().size() ; i ++) { | |||||
| WxEnergyMeterReading m = page.getList().get(i); | |||||
| if (null != timeMap) { | |||||
| WxEnergyFeesTime time = timeMap.get(m.getTimeId()); | |||||
| if (null != time) { | |||||
| m.setTimeName(time.getName()); | |||||
| } | |||||
| } | |||||
| if (null != buildingMap && null != m.getBuildingId()) { | |||||
| String buildingName = buildingMap.get(m.getBuildingId()); | |||||
| m.setBuildingName(buildingName); | |||||
| } | |||||
| if (null != floorMap && null != m.getFloorId()) { | |||||
| String floorName = floorMap.get(m.getFloorId()); | |||||
| m.setFloorName(floorName); | |||||
| } | |||||
| } | |||||
| } | |||||
| return page; | |||||
| } | } | ||||
| @Override | @Override | ||||
| public void saveOrUpdateReading(WxEnergyMeterReading record,MallUserInfo userInfo) { | |||||
| public void createReading(WxEnergyMeterReading record,MallUserInfo userInfo) { | |||||
| Date date = new Date(); | Date date = new Date(); | ||||
| if (record.getId() == null) { | |||||
| final IdWorker idWorker = IdWorker.get(); | |||||
| record.setId(idWorker.nextId()); | |||||
| record.setCreateTime(date); | |||||
| record.setCreateBy(userInfo.getId()); | |||||
| record.setCreateByName(userInfo.getName()); | |||||
| record.setUpdateTime(date); | |||||
| record.setUpdateBy(userInfo.getId()); | |||||
| record.setUpdateByName(userInfo.getName()); | |||||
| try { | |||||
| wxEnergyMeterReadingMapper.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); | |||||
| record.setUpdateBy(userInfo.getId()); | |||||
| record.setUpdateByName(userInfo.getName()); | |||||
| wxEnergyMeterReadingMapper.updateById(record); | |||||
| final IdWorker idWorker = IdWorker.get(); | |||||
| record.setId(idWorker.nextId()); | |||||
| record.setCreateTime(date); | |||||
| record.setCreateBy(userInfo.getId()); | |||||
| record.setCreateByName(userInfo.getName()); | |||||
| record.setUpdateTime(date); | |||||
| record.setUpdateBy(userInfo.getId()); | |||||
| record.setUpdateByName(userInfo.getName()); | |||||
| try { | |||||
| wxEnergyMeterReadingMapper.insert(record); | |||||
| } catch (Exception e) { | |||||
| logger.error("保存租赁账单失败,e:" + e.getMessage()); | |||||
| throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); | |||||
| } | } | ||||
| } | } | ||||
| @Override | |||||
| public void updateReading(WxEnergyMeterReading record, MallUserInfo userInfo) { | |||||
| WxEnergyFeesTime tq= new WxEnergyFeesTime(); | |||||
| tq.updateTenantInfo(record); | |||||
| tq.setId(record.getTimeId()); | |||||
| WxEnergyFeesTime time = this.getFeesTimeById(tq); | |||||
| // record.setStartTime(time.getStartTime()); | |||||
| // record.setEndTime(time.getEndTime()); | |||||
| WxEnergyMeter meter = this.getMeterById(record, record.getMeterId()); | |||||
| // record.setMeterType(meter.getType()); | |||||
| // record.setMeterName(meter.getName()); | |||||
| // record.setMeterRate(meter.getRate()); | |||||
| // record.setIsPublic(meter.getIsPublic()); | |||||
| // record.setShopId(meter.getShopId()); | |||||
| // record.setBuildingId(meter.getBuildingId()); | |||||
| // record.setFloorId(meter.getFloorId()); | |||||
| //可以保存null值 | |||||
| wxEnergyMeterReadingMapper.update(record, new UpdateWrapper<WxEnergyMeterReading>().lambda() | |||||
| .eq(WxEnergyMeterReading::getId, record.getId()) | |||||
| .eq(WxEnergyMeterReading::getTenantId, record.getTenantId()) | |||||
| .set(WxEnergyMeterReading::getCurNumber, record.getCurNumber()) | |||||
| .set(WxEnergyMeterReading::getTimeId, record.getTimeId()) | |||||
| .set(WxEnergyMeterReading::getMeterId, record.getMeterId()) | |||||
| .set(WxEnergyMeterReading::getStartTime, time.getStartTime()) | |||||
| .set(WxEnergyMeterReading::getEndTime, time.getEndTime()) | |||||
| .set(WxEnergyMeterReading::getMeterType, meter.getType()) | |||||
| .set(WxEnergyMeterReading::getMeterName, meter.getName()) | |||||
| .set(WxEnergyMeterReading::getMeterRate, meter.getRate()) | |||||
| .set(WxEnergyMeterReading::getIsPublic, meter.getIsPublic()) | |||||
| .set(WxEnergyMeterReading::getShopId, meter.getShopId()) | |||||
| .set(WxEnergyMeterReading::getBuildingId, meter.getBuildingId()) | |||||
| .set(WxEnergyMeterReading::getFloorId, meter.getFloorId()) | |||||
| .set(WxEnergyMeterReading::getUpdateTime, new Date()) | |||||
| .set(WxEnergyMeterReading::getUpdateBy, userInfo.getId()) | |||||
| .set(WxEnergyMeterReading::getUpdateByName, userInfo.getName()) | |||||
| .set(WxEnergyMeterReading::getRemark, record.getRemark())); | |||||
| } | |||||
| private WxEnergyMeterReading findPre(WxEnergyMeterReading record) { | private WxEnergyMeterReading findPre(WxEnergyMeterReading record) { | ||||
| //查询上次抄表的数据 | //查询上次抄表的数据 | ||||
| record.setSortColumns("end_time desc"); | record.setSortColumns("end_time desc"); | ||||
| @@ -267,6 +404,9 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||||
| @Override | @Override | ||||
| public void commitReading(WxEnergyMeterReading record, MallUserInfo userInfo) { | public void commitReading(WxEnergyMeterReading record, MallUserInfo userInfo) { | ||||
| if (null == record.getMeterReadingList()) { | if (null == record.getMeterReadingList()) { | ||||
| WxShop sq = new WxShop(); | |||||
| sq.updateTenantInfo(record); | |||||
| Map<Long, WxShop> shopMap = wxShopService.findShopMap(sq); | |||||
| List<WxEnergyMeterReading> recordList = new ArrayList<WxEnergyMeterReading>(); | List<WxEnergyMeterReading> recordList = new ArrayList<WxEnergyMeterReading>(); | ||||
| for (int i = 0 ; i < record.getMeterReadingList().size(); i++) { | for (int i = 0 ; i < record.getMeterReadingList().size(); i++) { | ||||
| WxEnergyMeterReading _mr = record.getMeterReadingList().get(i); | WxEnergyMeterReading _mr = record.getMeterReadingList().get(i); | ||||
| @@ -274,10 +414,6 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||||
| r.updateTenantInfo(record); | r.updateTenantInfo(record); | ||||
| r.setCurNumber(_mr.getCurNumber()); | r.setCurNumber(_mr.getCurNumber()); | ||||
| r.setTimeId(record.getTimeId()); | r.setTimeId(record.getTimeId()); | ||||
| r.setShopId(record.getShopId()); | |||||
| r.setShopNumber(record.getShopNumber()); | |||||
| r.setBuildingId(record.getBuildingId()); | |||||
| r.setFloorId(record.getFloorId()); | |||||
| r.setMeterId(_mr.getMeterId()); | r.setMeterId(_mr.getMeterId()); | ||||
| recordList.add(r); | recordList.add(r); | ||||
| } | } | ||||
| @@ -290,6 +426,10 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||||
| if (null != pre) { | if (null != pre) { | ||||
| r.setPreNumber(pre.getCurNumber()); | r.setPreNumber(pre.getCurNumber()); | ||||
| r.setPreTime(pre.getCreateTime()); | r.setPreTime(pre.getCreateTime()); | ||||
| r.setPreBy(pre.getCreateBy()); | |||||
| r.setPreByName(pre.getCreateByName()); | |||||
| }else { | |||||
| r.setPreNumber("0"); | |||||
| } | } | ||||
| //根据时间id获取时间周期 | //根据时间id获取时间周期 | ||||
| WxEnergyFeesTime time = wxEnergyFeesTimeMapper.selectById(r.getTimeId(), record.getTenantId()); | WxEnergyFeesTime time = wxEnergyFeesTimeMapper.selectById(r.getTimeId(), record.getTenantId()); | ||||
| @@ -301,12 +441,22 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||||
| r.setIsPublic(meter.getIsPublic()); | r.setIsPublic(meter.getIsPublic()); | ||||
| r.setMeterType(meter.getType()); | r.setMeterType(meter.getType()); | ||||
| r.setMeterRate(meter.getRate()); | r.setMeterRate(meter.getRate()); | ||||
| saveOrUpdateReading(r, userInfo); | |||||
| r.setBuildingId(meter.getBuildingId()); | |||||
| r.setFloorId(meter.getFloorId()); | |||||
| r.setShopId(meter.getShopId()); | |||||
| WxShop shop = shopMap.get(meter.getShopId()); | |||||
| r.setShopNumber(shop.getShopNumber()); | |||||
| createReading(r, userInfo); | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @Override | |||||
| public WxEnergyMeterReading getReadingById(WxEnergyMeterReading record) { | |||||
| return wxEnergyMeterReadingMapper.selectById(record.getId(), record.getTenantId()); | |||||
| } | |||||
| @Override | @Override | ||||
| public PageInfo<WxEnergyReadingCalcute> readingCalcuteListAsPage(WxEnergyReadingCalcute record, Integer pageIndex, | public PageInfo<WxEnergyReadingCalcute> readingCalcuteListAsPage(WxEnergyReadingCalcute record, Integer pageIndex, | ||||
| Integer pageSize) { | Integer pageSize) { | ||||
| @@ -526,12 +676,36 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||||
| @Override | @Override | ||||
| public void calcuteReading(WxEnergyReadingCalcute record, MallUserInfo user) { | |||||
| //根据科目计算生成账单。 | |||||
| public Integer calcuteReading(WxEnergyReadingCalcute record, MallUserInfo user) { | |||||
| //根据科目,区间,计算生成账单。 | |||||
| WxEnergyMeterReading reading = new WxEnergyMeterReading(); | WxEnergyMeterReading reading = new WxEnergyMeterReading(); | ||||
| reading.updateTenantInfo(record); | reading.updateTenantInfo(record); | ||||
| reading.setTimeId(record.getTimeId()); | reading.setTimeId(record.getTimeId()); | ||||
| reading.setIsPublic(EnumYesOrNo.NO.getCode()); | reading.setIsPublic(EnumYesOrNo.NO.getCode()); | ||||
| WxEnergyFees fq = new WxEnergyFees(); | |||||
| fq.updateTenantInfo(record); | |||||
| fq.setIsDel(EnumYesOrNo.NO.getCode()); | |||||
| fq.setId(record.getFeesId()); | |||||
| WxEnergyFees fees = this.getFeesById(fq); | |||||
| if (null == fees) { | |||||
| throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"科目未查询到。"); | |||||
| } | |||||
| WxEnergyFeesTime tq = new WxEnergyFeesTime(); | |||||
| tq.updateTenantInfo(record); | |||||
| tq.setId(record.getTimeId()); | |||||
| WxEnergyFeesTime time = this.getFeesTimeById(tq); | |||||
| if (null == time) { | |||||
| throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"区间未查询到。"); | |||||
| } | |||||
| if (fees.getType().intValue() != time.getType().intValue()) { | |||||
| throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"科目和区间的表类型不匹配。"); | |||||
| } | |||||
| reading.setMeterType(time.getType()); | |||||
| //用户表列表 | //用户表列表 | ||||
| List<WxEnergyMeterReading> readingList = wxEnergyMeterReadingMapper.findList(reading); | List<WxEnergyMeterReading> readingList = wxEnergyMeterReadingMapper.findList(reading); | ||||
| if (null != readingList && readingList.size() > 0 ) { | if (null != readingList && readingList.size() > 0 ) { | ||||
| @@ -549,14 +723,6 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||||
| throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"能源表未查询到。"); | throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"能源表未查询到。"); | ||||
| } | } | ||||
| WxEnergyFees fq = new WxEnergyFees(); | |||||
| fq.updateTenantInfo(record); | |||||
| fq.setIsDel(EnumYesOrNo.NO.getCode()); | |||||
| fq.setId(record.getFeesId()); | |||||
| WxEnergyFees fees = this.getFeesById(fq); | |||||
| if (null == fees) { | |||||
| throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"科目未查询到。"); | |||||
| } | |||||
| String publicTotalArea = "0"; | String publicTotalArea = "0"; | ||||
| String publicTotalMoney = "0"; | String publicTotalMoney = "0"; | ||||
| Map<Long,String> buildingFloorMoney = null; | Map<Long,String> buildingFloorMoney = null; | ||||
| @@ -667,6 +833,7 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||||
| }catch(Exception e) { | }catch(Exception e) { | ||||
| logger.error("insert bills error.",e); | logger.error("insert bills error.",e); | ||||
| allSuccess = false; | allSuccess = false; | ||||
| throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"生成账单失败,请重试。"); | |||||
| } | } | ||||
| WxEnergyReadingCalcute c = new WxEnergyReadingCalcute(); | WxEnergyReadingCalcute c = new WxEnergyReadingCalcute(); | ||||
| c.updateTenantInfo(record); | c.updateTenantInfo(record); | ||||
| @@ -675,30 +842,18 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||||
| c.setUpdateTime(new Date()); | c.setUpdateTime(new Date()); | ||||
| c.setUpdateBy(user.getId()); | c.setUpdateBy(user.getId()); | ||||
| c.setUpdateByName(user.getName()); | c.setUpdateByName(user.getName()); | ||||
| c.setRemark(record.getRemark()); | |||||
| if (allSuccess) { | if (allSuccess) { | ||||
| c.setCalcuteSuccess(EnumYesOrNo.YES.getCode()); | c.setCalcuteSuccess(EnumYesOrNo.YES.getCode()); | ||||
| }else { | }else { | ||||
| c.setCalcuteSuccess(EnumYesOrNo.NO.getCode()); | c.setCalcuteSuccess(EnumYesOrNo.NO.getCode()); | ||||
| } | } | ||||
| wxEnergyReadingCalcuteMapper.updateById(c); | wxEnergyReadingCalcuteMapper.updateById(c); | ||||
| return billList.size(); | |||||
| } | } | ||||
| } | } | ||||
| return 0; | |||||
| } | } | ||||
| } | } | ||||
| @@ -11,10 +11,11 @@ | |||||
| <result column="name" jdbcType="VARCHAR" property="name"/> | <result column="name" jdbcType="VARCHAR" property="name"/> | ||||
| <result column="price" jdbcType="VARCHAR" property="price"/> | <result column="price" jdbcType="VARCHAR" property="price"/> | ||||
| <result column="public_calcute" jdbcType="INTEGER" property="publicCalcute"/> | <result column="public_calcute" jdbcType="INTEGER" property="publicCalcute"/> | ||||
| <result column="type" jdbcType="INTEGER" property="type"/> | |||||
| </resultMap> | </resultMap> | ||||
| <sql id="allColumns"> | <sql id="allColumns"> | ||||
| `id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`is_del`,`name`,`price`,`public_calcute` | |||||
| `id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`is_del`,`name`,`price`,`public_calcute`,`type` | |||||
| </sql> | </sql> | ||||
| <sql id="dynamicWhereConditions"> | <sql id="dynamicWhereConditions"> | ||||
| @@ -28,6 +29,7 @@ | |||||
| </if> | </if> | ||||
| <if test=" null != isDel ">and `is_del` = #{isDel}</if> | <if test=" null != isDel ">and `is_del` = #{isDel}</if> | ||||
| <if test=" null != publicCalcute ">and `public_calcute` = #{publicCalcute}</if> | <if test=" null != publicCalcute ">and `public_calcute` = #{publicCalcute}</if> | ||||
| <if test=" null != type ">and `type` = #{type}</if> | |||||
| <if test=" null != name and '' != name ">and name like concat('%', #{name},'%')</if> | <if test=" null != name and '' != name ">and name like concat('%', #{name},'%')</if> | ||||
| <if test=" null != ids "> | <if test=" null != ids "> | ||||
| and id in | and id in | ||||
| @@ -12,10 +12,13 @@ | |||||
| <result column="name" jdbcType="VARCHAR" property="name"/> | <result column="name" jdbcType="VARCHAR" property="name"/> | ||||
| <result column="rate" jdbcType="VARCHAR" property="rate"/> | <result column="rate" jdbcType="VARCHAR" property="rate"/> | ||||
| <result column="is_public" jdbcType="INTEGER" property="isPublic"/> | <result column="is_public" jdbcType="INTEGER" property="isPublic"/> | ||||
| <result column="building_id" jdbcType="BIGINT" property="buildingId"/> | |||||
| <result column="floor_id" jdbcType="BIGINT" property="floorId"/> | |||||
| <result column="shop_id" jdbcType="BIGINT" property="shopId"/> | |||||
| </resultMap> | </resultMap> | ||||
| <sql id="allColumns"> | <sql id="allColumns"> | ||||
| `id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`is_del`,`name`,`type`,`rate`,`is_public` | |||||
| `id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`is_del`,`name`,`type`,`rate`,`is_public`,`building_id`,`floor_id`,`shop_id` | |||||
| </sql> | </sql> | ||||
| <sql id="dynamicWhereConditions"> | <sql id="dynamicWhereConditions"> | ||||
| @@ -30,7 +33,19 @@ | |||||
| <if test=" null != isDel ">and `is_del` = #{isDel}</if> | <if test=" null != isDel ">and `is_del` = #{isDel}</if> | ||||
| <if test=" null != type ">and `type` = #{type}</if> | <if test=" null != type ">and `type` = #{type}</if> | ||||
| <if test=" null != isPublic ">and `is_public` = #{isPublic}</if> | <if test=" null != isPublic ">and `is_public` = #{isPublic}</if> | ||||
| <if test=" null != buildingId ">and `building_id` = #{buildingId}</if> | |||||
| <if test=" null != floorId ">and `floor_id` = #{floorId}</if> | |||||
| <if test=" null != shopId ">and `shop_id` = #{shopId}</if> | |||||
| <if test=" null != name and '' != name ">and name like concat('%', #{name},'%')</if> | <if test=" null != name and '' != name ">and name like concat('%', #{name},'%')</if> | ||||
| <if test=" null != floorForRule and '' != floorForRule "> | |||||
| and `floor_id` in (${floorForRule}) | |||||
| </if> | |||||
| <if test=" null != shopIds "> | |||||
| and shop_id in | |||||
| <foreach collection="shopIds" index="index" item="sidItem" open="(" separator="," close=")"> | |||||
| #{sidItem} | |||||
| </foreach> | |||||
| </if> | |||||
| <if test=" null != ids "> | <if test=" null != ids "> | ||||
| and id in | and id in | ||||
| <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | ||||
| @@ -10,6 +10,8 @@ | |||||
| <result column="cur_number" jdbcType="VARCHAR" property="curNumber"/> | <result column="cur_number" jdbcType="VARCHAR" property="curNumber"/> | ||||
| <result column="pre_number" jdbcType="VARCHAR" property="preNumber"/> | <result column="pre_number" jdbcType="VARCHAR" property="preNumber"/> | ||||
| <result column="pre_time" jdbcType="TIMESTAMP" property="preTime"/> | <result column="pre_time" jdbcType="TIMESTAMP" property="preTime"/> | ||||
| <result column="pre_by" jdbcType="BIGINT" property="preBy"/> | |||||
| <result column="pre_by_name" jdbcType="VARCHAR" property="preByName"/> | |||||
| <result column="start_time" jdbcType="TIMESTAMP" property="startTime"/> | <result column="start_time" jdbcType="TIMESTAMP" property="startTime"/> | ||||
| <result column="end_time" jdbcType="TIMESTAMP" property="endTime"/> | <result column="end_time" jdbcType="TIMESTAMP" property="endTime"/> | ||||
| <result column="create_by" jdbcType="BIGINT" property="createBy"/> | <result column="create_by" jdbcType="BIGINT" property="createBy"/> | ||||
| @@ -31,7 +33,7 @@ | |||||
| </resultMap> | </resultMap> | ||||
| <sql id="allColumns"> | <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`, | |||||
| `id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`cur_number`,`pre_number`,`pre_time`,`pre_by`,`pre_by_name`,`start_time`,`end_time`,`create_by`,`create_by_name`, | |||||
| `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` | `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> | ||||