| @@ -923,10 +923,12 @@ public class WxRentContractController extends WxContractBaseController { | |||
| } | |||
| //查询合同年限已输入销售额情况 | |||
| @GetMapping("getContractYearsSales") | |||
| public ResultData getContractYearsSales(@ModelAttribute WxRentContract wxRentContract) { | |||
| @PostMapping("getContractYearsSales") | |||
| public ResultData getContractYearsSales(@RequestBody WxRentContract wxRentContract) { | |||
| if (null == wxRentContract) wxRentContract = new WxRentContract(); | |||
| WxRentContract rentContract = wxRentContractMapper.selectById(wxRentContract.getId()); | |||
| rentContract.setYearsBegin(wxRentContract.getYearsBegin()); | |||
| rentContract.setYearsEnd(wxRentContract.getYearsEnd()); | |||
| return new ResultData(wxRentContractService.getContractSales(rentContract)); | |||
| } | |||
| @@ -936,6 +938,8 @@ public class WxRentContractController extends WxContractBaseController { | |||
| if (null == rentContract) { | |||
| return new ResultData(Result.ERROR, "编号["+wxRentContract.getId()+"]未找到租金合同"); | |||
| } | |||
| rentContract.setYearsBegin(wxRentContract.getYearsBegin()); | |||
| rentContract.setYearsEnd(wxRentContract.getYearsEnd()); | |||
| wxRentContractService.setContractSalesConfirm(rentContract); | |||
| return new ResultData(); | |||
| } | |||
| @@ -462,11 +462,31 @@ public class WxEnergyController extends BaseController { | |||
| } | |||
| @ApiOperation("费用区间自动时间") | |||
| @GetMapping("periodAutoTimes") | |||
| public ResultData periodAutoTimes(@ModelAttribute WxEnergyFeesTime record) { | |||
| @PostMapping("periodAutoTimes") | |||
| public ResultData periodAutoTimes(@RequestBody WxEnergyFeesTime record) { | |||
| List<Date> dateList = wxEnergyService.findLastTimeEndGroup(record); | |||
| if (null != dateList && dateList.size() > 1 ) { | |||
| return new ResultData(Result.ERROR,"所选店铺表类型最近一次结束时间不相同,不能一起增加"); | |||
| } | |||
| Date start = null; | |||
| if (null == dateList || dateList.size() <= 0 ) { | |||
| //之前没有的话,就从年月第一天开始 | |||
| start = DateUtils.stringToDate(record.getPeriod()+"01", DateUtils.DATE_PATTERN_NOSPACE); | |||
| }else { | |||
| Date _d = dateList.get(0); | |||
| if (null != _d) { | |||
| //开始时间取接受时间后的一天 | |||
| start = DateUtils.getTimeAfterDays(1, _d); | |||
| start = DateUtils.getDayBegin(start); | |||
| }else { | |||
| start = DateUtils.stringToDate(record.getPeriod()+"01", DateUtils.DATE_PATTERN_NOSPACE); | |||
| } | |||
| } | |||
| Date end = DateUtils.getTimeAfterMonths(1, start); | |||
| end = DateUtils.getSecondsTimeAfter(-1, end); | |||
| Map retMap = new HashMap(); | |||
| retMap.put("startTime", new Date()); | |||
| retMap.put("endTime", new Date()); | |||
| retMap.put("startTime", start); | |||
| retMap.put("endTime", end); | |||
| return new ResultData(retMap); | |||
| } | |||
| @@ -640,6 +660,13 @@ public class WxEnergyController extends BaseController { | |||
| return new ResultData(); | |||
| } | |||
| @PostMapping("readingConfirm") | |||
| public ResultData readingConfirm(@RequestBody WxEnergyMeterReading record) { | |||
| record.updateTenantInfo(getTenantInfo()); | |||
| wxEnergyService.setReadingConfirm(record); | |||
| return new ResultData(); | |||
| } | |||
| @ApiOperation("新建科目抄表计算数据") | |||
| @PostMapping("createReadingCalcute") | |||
| public ResultData createReadingCalcute(@RequestBody WxEnergyReadingCalcute record) { | |||
| @@ -686,7 +713,11 @@ public class WxEnergyController extends BaseController { | |||
| @GetMapping("readingCalcuteShopList") | |||
| public ResultData readingCalcuteShopList(@ModelAttribute WxEnergyReadingCalcute record) { | |||
| record.updateTenantInfo(getTenantInfo()); | |||
| return new ResultData(wxEnergyService.getReadingCalcuteShopNumber(record)); | |||
| List<String> slist = wxEnergyService.getReadingCalcuteShopNumber(record); | |||
| if (null == slist) { | |||
| slist = new ArrayList<String>(); | |||
| } | |||
| return new ResultData(slist); | |||
| } | |||
| @ApiOperation("科目抄表计算数据分页列表接口") | |||
| @@ -712,6 +743,13 @@ public class WxEnergyController extends BaseController { | |||
| return new ResultData(page); | |||
| } | |||
| @PostMapping("readingCalcuteResultDel") | |||
| public ResultData readingCalcuteResultDel(@RequestBody WxEnergyReadingCalcuteResult record) { | |||
| record.updateTenantInfo(getTenantInfo()); | |||
| wxEnergyService.deleteReadingCalcuteResult(record.getId(),record); | |||
| return new ResultData(); | |||
| } | |||
| @ApiOperation("科目抄表计算记录导出") | |||
| @GetMapping("readingCalcuteResultExport") | |||
| public void readingCalcuteResultExport(@ModelAttribute WxEnergyReadingCalcuteResult record, HttpServletRequest request, HttpServletResponse response) { | |||
| @@ -193,6 +193,8 @@ public class TenantInfoImpl implements TenantInfo { | |||
| return true; | |||
| if ("com.iformall.mapper.WxRentContractFreePeriodMapper.inertPeriods".equals(ms.getId())) | |||
| return true; | |||
| if ("com.iformall.mapper.WxEnergyReadingCalcuteResultMapper.insertResults".equals(ms.getId())) | |||
| return true; | |||
| if ("com.iformall.mapper.WxRentContractRevenueJumpMapper.inertJumps".equals(ms.getId())) | |||
| return true; | |||
| if ("com.iformall.mapper.WxActivityJoinMapper.updateSendMsg".equals(ms.getId())) | |||
| @@ -62,6 +62,7 @@ import com.iformall.service.WxShopService; | |||
| import com.iformall.service.WxUserDataRuleService; | |||
| import com.iformall.service.helper.WxBillAllHelper; | |||
| import com.iformall.utils.Constant; | |||
| import com.iformall.utils.DateUtils; | |||
| import io.swagger.annotations.Api; | |||
| import io.swagger.annotations.ApiImplicitParam; | |||
| @@ -75,6 +76,7 @@ import org.springframework.web.bind.annotation.*; | |||
| import java.math.BigDecimal; | |||
| import java.util.ArrayList; | |||
| import java.util.Calendar; | |||
| import java.util.Date; | |||
| import java.util.HashMap; | |||
| import java.util.List; | |||
| @@ -384,33 +386,75 @@ public class WxMallAdminController extends BaseController { | |||
| @ApiOperation("抄表数据分页列表接口") | |||
| @GetMapping("shopMeterList") | |||
| public ResultData shopMeterList(@ModelAttribute WxEnergyMeter record) { | |||
| if (StringUtils.isBlank(record.getSearchKey())) { | |||
| return new ResultData(); | |||
| } | |||
| record.setIsDel(EnumYesOrNo.NO.getCode()); | |||
| setQueryDataRule(record); | |||
| WxEnergyMeterShopFloor sfq = new WxEnergyMeterShopFloor(); | |||
| sfq.updateTenantInfo(record); | |||
| sfq.setType(EnumEnergyMeterShopFloorType.SHOP.getCode()); | |||
| if (StringUtils.isNotBlank(record.getShopNumber())) { | |||
| if (StringUtils.isNotBlank(record.getSearchKey())) { | |||
| WxEnergyMeterShopFloor sfq = new WxEnergyMeterShopFloor(); | |||
| sfq.updateTenantInfo(record); | |||
| sfq.setType(EnumEnergyMeterShopFloorType.SHOP.getCode()); | |||
| WxShop sq = new WxShop(); | |||
| sq.updateTenantInfo(record); | |||
| sq.setShopNumber(record.getShopNumber()); | |||
| sq.setShopNumber(record.getSearchKey()); | |||
| List<Long> sids = wxShopService.getShopIds(sq); | |||
| if (null == sids || sids.size() <= 0 ) { | |||
| return new ResultData(); | |||
| } | |||
| sfq.setAliseIdList(sids); | |||
| } | |||
| sfq.setAliseId(record.getShopId()); | |||
| List<Long> mids = wxEnergyService.getMeterIdList(sfq); | |||
| if (null == mids || mids.size() <= 0 ) { | |||
| return new ResultData(); | |||
| if (null != sids && sids.size() > 0 ) { | |||
| sfq.setAliseIdList(sids); | |||
| List<Long> mids = wxEnergyService.getMeterIdList(sfq); | |||
| if (null != mids && mids.size() > 0 ) { | |||
| record.setIds(mids); | |||
| } | |||
| } | |||
| record.setOrName(record.getSearchKey()); | |||
| } | |||
| record.setIds(mids); | |||
| record.setSortColumns(BaseEntity.SortField.CreateTime_DESC); | |||
| PageInfo<WxEnergyMeter> page = wxEnergyService.meterListAsPage(record, 1, 1000); | |||
| return new ResultData(page); | |||
| } | |||
| @ApiOperation("费用区间所属年月") | |||
| @GetMapping("periodList") | |||
| public ResultData periodList() { | |||
| String[] peroids = new String[3]; | |||
| String date_pattern_month = "yyyyMM"; | |||
| Date start1 = DateUtils.getTimeAfterMonths(-2, new Date()); | |||
| start1 = DateUtils.getFirstDayForCurrMonth(start1); | |||
| peroids[0] = DateUtils.date2String(start1,date_pattern_month); | |||
| Date start2 = DateUtils.getTimeAfterMonths(1, start1); | |||
| peroids[1] = DateUtils.date2String(start2,date_pattern_month); | |||
| Date start3 = DateUtils.getTimeAfterMonths(1, start2); | |||
| peroids[2] = DateUtils.date2String(start3,date_pattern_month); | |||
| return new ResultData(peroids); | |||
| } | |||
| @ApiOperation("费用区间自动时间") | |||
| @PostMapping("periodAutoTimes") | |||
| public ResultData periodAutoTimes(@RequestBody WxEnergyFeesTime record) { | |||
| // | |||
| List<Date> dateList = wxEnergyService.findLastTimeEndGroup(record); | |||
| if (null != dateList && dateList.size() > 1 ) { | |||
| return new ResultData(Result.ERROR,"所选店铺表类型最近一次结束时间不相同,不能一起增加"); | |||
| } | |||
| Date start = null; | |||
| if (null == dateList || dateList.size() <= 0 ) { | |||
| //之前没有的话,就从年月第一天开始 | |||
| start = DateUtils.stringToDate(record.getPeriod()+"01", DateUtils.DATE_PATTERN_NOSPACE); | |||
| }else { | |||
| //开始时间取接受时间后的一天 | |||
| start = DateUtils.getTimeAfterDays(1, dateList.get(0)); | |||
| start = DateUtils.getDayBegin(start); | |||
| } | |||
| Date end = DateUtils.getTimeAfterMonths(1, start); | |||
| Map retMap = new HashMap(); | |||
| retMap.put("startTime", start); | |||
| retMap.put("endTime", end); | |||
| return new ResultData(retMap); | |||
| } | |||
| @ApiOperation("抄表数据分页列表接口") | |||
| @GetMapping("preShopReadingList") | |||
| public ResultData readingList(@ModelAttribute WxEnergyMeterReading record) { | |||
| @@ -53,7 +53,7 @@ public class WxAllBill extends TenantEntity { | |||
| @io.swagger.annotations.ApiModelProperty(value="创建用户编码",name="createBy") | |||
| public Long createBy; | |||
| @Excel(name = "制单用户", format = "yyyy-MM-dd HH:mm:ss", width = 20, orderNum = "14") | |||
| @Excel(name = "制单用户", width = 20, orderNum = "14") | |||
| @io.swagger.annotations.ApiModelProperty(value="创建用户名称",name="createBy") | |||
| public String createByName; | |||
| @@ -64,7 +64,7 @@ public class WxAllBill extends TenantEntity { | |||
| @io.swagger.annotations.ApiModelProperty(value="创建用户编码",name="createBy") | |||
| public Long updateBy; | |||
| @Excel(name = "最后修改用户", format = "yyyy-MM-dd HH:mm:ss", width = 20, orderNum = "16") | |||
| @Excel(name = "最后修改用户", width = 20, orderNum = "16") | |||
| @io.swagger.annotations.ApiModelProperty(value="创建用户名称",name="createBy") | |||
| public String updateByName; | |||
| @@ -24,6 +24,9 @@ public class WxEnergyFeesTime extends TenantEntity { | |||
| @io.swagger.annotations.ApiModelProperty(value="id",name="id") | |||
| private Long id; | |||
| @io.swagger.annotations.ApiModelProperty(value = "名称", name = "name") | |||
| private String name; | |||
| @io.swagger.annotations.ApiModelProperty(value="createTime",name="createTime") | |||
| private Date createTime; | |||
| @@ -54,6 +57,10 @@ public class WxEnergyFeesTime extends TenantEntity { | |||
| private Date endTime; | |||
| @TableField(exist = false) | |||
| List<Long> shopIds; | |||
| private List<Long> shopIds; | |||
| @TableField(exist = false) | |||
| private String shopName; | |||
| @TableField(exist = false) | |||
| private List<Long> meterIds; | |||
| } | |||
| @@ -47,6 +47,12 @@ public class WxEnergyFeesTimeShop extends TenantEntity { | |||
| @io.swagger.annotations.ApiModelProperty(value = "时间区间编号", name = "timeId") | |||
| private Long timeId; | |||
| @io.swagger.annotations.ApiModelProperty(value="startTime",name="startTime") | |||
| private Date startTime; | |||
| @io.swagger.annotations.ApiModelProperty(value="endTime",name="endTime") | |||
| private Date endTime; | |||
| @io.swagger.annotations.ApiModelProperty(value="店铺编号",name="shopId") | |||
| private Long shopId; | |||
| @@ -106,5 +106,9 @@ public class WxEnergyMeter extends TenantEntity { | |||
| private Integer isValid; | |||
| @TableField(exist = false) | |||
| private Integer hasShop; | |||
| @TableField(exist = false) | |||
| private String searchKey; | |||
| @TableField(exist = false) | |||
| private String orName; | |||
| } | |||
| @@ -100,6 +100,9 @@ public class WxEnergyMeterReading extends TenantEntity { | |||
| @io.swagger.annotations.ApiModelProperty(value="表名",name="meterName") | |||
| private String meterName; | |||
| @io.swagger.annotations.ApiModelProperty(value="是否确认",name="isConfirm") | |||
| private Integer isConfirm; | |||
| @io.swagger.annotations.ApiModelProperty(value="是否删除",name="isDel") | |||
| private Integer isDel; | |||
| @@ -136,6 +139,7 @@ public class WxEnergyMeterReading extends TenantEntity { | |||
| excelTitle.put("meterType", "表类型"); | |||
| excelTitle.put("preNumber", "上次抄表数"); | |||
| excelTitle.put("preTime", "上次抄表时间"); | |||
| excelTitle.put("preByName", "上次抄表人"); | |||
| excelTitle.put("curNumber", "本次抄表数"); | |||
| return excelTitle; | |||
| } | |||
| @@ -152,6 +156,7 @@ public class WxEnergyMeterReading extends TenantEntity { | |||
| excelObject.put("meterType", this.getMeterTypeName()); | |||
| excelObject.put("preNumber", this.getPreNumber()); | |||
| excelObject.put("preTime", DateUtils.formatDateTime(this.getPreTime())); | |||
| excelObject.put("preTime", this.getPreByName()); | |||
| excelObject.put("curNumber", this.getCurNumber()); | |||
| return excelObject; | |||
| } | |||
| @@ -14,5 +14,4 @@ public interface WxEnergyFeesTimeMapper extends CommonMapper<WxEnergyFeesTime, L | |||
| WxEnergyFeesTime selectById(@Param("id")Long id,@Param("tenantId")String tenantId); | |||
| void setIsDel(@Param("id")Long id,@Param("tenantId")String tenantId,@Param("isDel")Integer isDel); | |||
| } | |||
| @@ -4,6 +4,8 @@ import com.iformall.common.CommonMapper; | |||
| import com.iformall.domain.po.WxEnergyFeesTimeShop; | |||
| import org.apache.ibatis.annotations.Param; | |||
| import java.util.Date; | |||
| import java.util.List; | |||
| /** | |||
| @@ -21,5 +23,7 @@ public interface WxEnergyFeesTimeShopMapper extends CommonMapper<WxEnergyFeesTim | |||
| List<Long> findShopIdList(WxEnergyFeesTimeShop wxBillRent); | |||
| List<Long> findTimeIdList(WxEnergyFeesTimeShop wxBillRent); | |||
| List<Date> findLastTimeEndGroup(WxEnergyFeesTimeShop wxBillRent); | |||
| } | |||
| @@ -19,5 +19,7 @@ public interface WxEnergyMeterReadingMapper extends CommonMapper<WxEnergyMeterRe | |||
| void setIsDel(@Param("id")Long id,@Param("tenantId")String tenantId,@Param("isDel")Integer isDel); | |||
| void setConfirm(WxEnergyMeterReading wxBillRent); | |||
| BigDecimal findNumberSum(WxEnergyMeterReading wxBillRent); | |||
| } | |||
| @@ -13,9 +13,13 @@ public interface WxEnergyReadingCalcuteResultMapper extends CommonMapper<WxEnerg | |||
| List<WxEnergyReadingCalcuteResult> findList(WxEnergyReadingCalcuteResult wxBillRent); | |||
| List<Long> findShopIdList(WxEnergyReadingCalcuteResult wxBillRent); | |||
| List<Long> findCalcuteIdList(WxEnergyReadingCalcuteResult wxBillRent); | |||
| WxEnergyReadingCalcuteResult selectById(@Param("id")Long id,@Param("tenantId")String tenantId); | |||
| void insertResults(@Param("tenantId")String tenantId, @Param("list")List<WxEnergyReadingCalcuteResult> resultList); | |||
| void deleteByCondition(WxEnergyReadingCalcuteResult wxBillRent); | |||
| } | |||
| @@ -34,6 +34,10 @@ public class ExcelService { | |||
| private final Logger logger = LoggerFactory.getLogger(this.getClass()); | |||
| public void exportExcel(Map<String,String> titleMap,List<Map<String, Object>> list, String fileName,String sheetName, HttpServletResponse response) { | |||
| exportExcel(titleMap,list,fileName,sheetName,20,10,response); | |||
| } | |||
| public void exportExcel(Map<String,String> titleMap,List<Map<String, Object>> list, String fileName,String sheetName, int width, int height,HttpServletResponse response) { | |||
| //defaultExport(list, fileName, response); | |||
| List<ExcelExportEntity> modelList = new ArrayList<ExcelExportEntity>(); | |||
| ExcelExportEntity excelentity = null; | |||
| @@ -41,8 +45,8 @@ public class ExcelService { | |||
| String titleKey = it.next(); | |||
| String title = titleMap.get(titleKey); | |||
| excelentity = new ExcelExportEntity(title, titleKey); | |||
| excelentity.setWidth(20); | |||
| excelentity.setHeight(10); | |||
| excelentity.setWidth(width); | |||
| excelentity.setHeight(height); | |||
| modelList.add(excelentity); | |||
| } | |||
| exportExcel(modelList,list,null,sheetName,fileName,true,response); | |||
| @@ -1,6 +1,7 @@ | |||
| package com.iformall.service; | |||
| import java.io.File; | |||
| import java.util.Date; | |||
| import java.util.List; | |||
| import java.util.Map; | |||
| @@ -46,6 +47,7 @@ public interface WxEnergyService { | |||
| Map<Long,WxEnergyFeesTime> getTimeMap(WxEnergyFeesTime record); | |||
| void timeDel(WxEnergyFeesTime record); | |||
| List<String> getTimeShopNumber(WxEnergyFeesTime record); | |||
| List<Date> findLastTimeEndGroup(WxEnergyFeesTime record); | |||
| //费用科目 | |||
| PageInfo<WxEnergyFees> feesListAsPage(WxEnergyFees record, Integer pageIndex, Integer pageSize,boolean isSetOff); | |||
| @@ -74,6 +76,7 @@ public interface WxEnergyService { | |||
| void commitReading(WxEnergyMeterReading record,MallUserInfo userInfo); | |||
| WxEnergyMeterReading getReadingById(WxEnergyMeterReading record); | |||
| void setReadingIsDel(WxEnergyMeterReading record); | |||
| void setReadingConfirm(WxEnergyMeterReading record); | |||
| void exportReading(WxEnergyMeterReading record,HttpServletRequest request, HttpServletResponse response); | |||
| void importReading(MultipartFile mFile, MallUserInfo user, HttpServletRequest request, HttpServletResponse response); | |||
| @@ -86,6 +89,7 @@ public interface WxEnergyService { | |||
| void createBill(WxEnergyReadingCalcute record, MallUserInfo user); | |||
| void setReadingCalcuteIsDel(WxEnergyReadingCalcute record); | |||
| List<String> getReadingCalcuteShopNumber(WxEnergyReadingCalcute record); | |||
| void deleteReadingCalcuteResult(Long id,TenantEntity tenantEntity); | |||
| } | |||
| @@ -91,15 +91,18 @@ public class WxEnergyHelper { | |||
| List<String> floorAreaList = PlaceholderExtractorWithPrefixAndSuffix.extractPlaceholders(formula, "#floorArea_", "#"); | |||
| List<String> meterList = PlaceholderExtractorWithPrefixAndSuffix.extractPlaceholders(formula, "#meter_", "#"); | |||
| formula = formula.replaceAll("\\{.*?\\}", ""); | |||
| formula = formula.replaceAll("\\{", "").replaceAll("\\}", ""); | |||
| if (null != buildingAreaMap && null != buildingAreaList && buildingAreaList.size() > 0 ) { | |||
| for (int i = 0 ; i < buildingAreaList.size(); i ++) { | |||
| String buildArea = buildingAreaList.get(i); | |||
| String[] bs = buildArea.split("_"); | |||
| if (null != bs && bs.length > 1) { | |||
| BigDecimal buildingArea = buildingAreaMap.get(Long.parseLong(bs[1])); | |||
| String b1 = bs[1].replace("#}", ""); | |||
| BigDecimal buildingArea = buildingAreaMap.get(Long.parseLong(b1)); | |||
| if (null != buildingArea) { | |||
| formula = formula.replaceAll("#buildingArea_"+Long.parseLong(bs[1])+"#", buildingArea.toPlainString()); | |||
| formula = formula.replaceAll("#buildingArea_"+Long.parseLong(b1)+"#", buildingArea.toPlainString()); | |||
| }else { | |||
| formula = formula.replaceAll("#buildingArea_"+Long.parseLong(b1)+"#", "0"); | |||
| } | |||
| } | |||
| } | |||
| @@ -110,9 +113,12 @@ public class WxEnergyHelper { | |||
| String floorArea = floorAreaList.get(i); | |||
| String[] bs = floorArea.split("_"); | |||
| if (null != bs && bs.length > 1) { | |||
| BigDecimal floorarea = floorAreaMap.get(Long.parseLong(bs[1])); | |||
| String b1 = bs[1].replace("#}", ""); | |||
| BigDecimal floorarea = floorAreaMap.get(Long.parseLong(b1)); | |||
| if (null != floorarea) { | |||
| formula = formula.replaceAll("#floorArea_"+Long.parseLong(bs[1])+"#", floorarea.toPlainString()); | |||
| formula = formula.replaceAll("#floorArea_"+Long.parseLong(b1)+"#", floorarea.toPlainString()); | |||
| }else { | |||
| formula = formula.replaceAll("#floorArea_"+Long.parseLong(b1)+"#", "0"); | |||
| } | |||
| } | |||
| @@ -124,9 +130,12 @@ public class WxEnergyHelper { | |||
| String meter = meterList.get(i); | |||
| String[] bs = meter.split("_"); | |||
| if (null != bs && bs.length > 1) { | |||
| BigDecimal mu = meterNumberMap.get(Long.parseLong(bs[1])); | |||
| String b1 = bs[1].replace("#}", ""); | |||
| BigDecimal mu = meterNumberMap.get(Long.parseLong(b1)); | |||
| if (null != mu ) { | |||
| formula = formula.replaceAll("#meter_"+Long.parseLong(bs[1])+"#", mu.toPlainString()); | |||
| formula = formula.replaceAll("#meter_"+Long.parseLong(b1)+"#", mu.toPlainString()); | |||
| }else { | |||
| formula = formula.replaceAll("#meter_"+Long.parseLong(b1)+"#", "0"); | |||
| } | |||
| } | |||
| } | |||
| @@ -145,11 +154,11 @@ public class WxEnergyHelper { | |||
| return ; | |||
| } | |||
| List<String> buildingAreaList = PlaceholderExtractorWithPrefixAndSuffix.extractPlaceholders(formula, "#", "#"); | |||
| formula = formula.replaceAll("\\{.*?\\}", ""); | |||
| formula = formula.replaceAll("\\{", "").replaceAll("\\}", ""); | |||
| if (null != buildingAreaList && buildingAreaList.size() > 0 ) { | |||
| for (int i = 0 ; i < buildingAreaList.size(); i ++) { | |||
| String floorArea = buildingAreaList.get(i); | |||
| String relpaceFloorArea = floorArea.replaceAll("\\{.*?\\}", ""); | |||
| String relpaceFloorArea = floorArea.replaceAll("\\{", "").replaceAll("\\}", ""); | |||
| formula = formula.replaceAll(relpaceFloorArea, "1"); | |||
| } | |||
| } | |||
| @@ -291,6 +291,26 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||
| @Override | |||
| public PageInfo<WxEnergyFeesTime> timeListAsPage(WxEnergyFeesTime record, Integer pageIndex, Integer pageSize) { | |||
| if (StringUtils.isNotBlank(record.getShopName())) { | |||
| WxShop sq = new WxShop(); | |||
| sq.updateTenantInfo(record); | |||
| sq.setShopNumber(record.getShopName()); | |||
| List<Long> shopIds = wxShopService.getShopIds(sq); | |||
| if (null == shopIds || shopIds.size() <= 0 ) { | |||
| record.setId(-1L); | |||
| }else { | |||
| WxEnergyFeesTimeShop tsq = new WxEnergyFeesTimeShop(); | |||
| tsq.updateTenantInfo(record); | |||
| tsq.setShopIds(shopIds); | |||
| List<Long> tids = wxEnergyFeesTimeShopMapper.findTimeIdList(tsq); | |||
| if (null == tids || tids.size() <= 0 ) { | |||
| record.setId(-1L); | |||
| }else { | |||
| record.setIds(tids); | |||
| } | |||
| } | |||
| } | |||
| return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxEnergyFeesTimeMapper.findList(record)); | |||
| } | |||
| @@ -302,9 +322,9 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||
| } | |||
| Date date = new Date(); | |||
| if (record.getId() == null) { | |||
| //查询是不是已经有了 | |||
| WxEnergyFeesTimeShop tsq = new WxEnergyFeesTimeShop(); | |||
| tsq.updateTenantInfo(record); | |||
| tsq.setPeriod(record.getPeriod()); | |||
| tsq.setShopIds(record.getShopIds()); | |||
| tsq.setType(record.getType()); | |||
| @@ -312,7 +332,13 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||
| if (null != scount && scount > 0 ) { | |||
| throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"所选店铺已存在该年月的"+record.getTypeName()+"区间"); | |||
| } | |||
| //检查最近一次的是不是属于同一周期 | |||
| tsq.setPeriod(null); | |||
| List<Date> list = wxEnergyFeesTimeShopMapper.findLastTimeEndGroup(tsq); | |||
| if (null != list && list.size() > 1) { | |||
| throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"所选店铺最近一次的"+record.getTypeName()+"区间截止时间不一致"); | |||
| } | |||
| final IdWorker idWorker = IdWorker.get(); | |||
| record.setId(idWorker.nextId()); | |||
| record.setCreateTime(date); | |||
| @@ -328,6 +354,10 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||
| ts.setShopId(shopId); | |||
| ts.setPeriod(record.getPeriod()); | |||
| ts.setType(record.getType()); | |||
| ts.setCreateTime(new Date()); | |||
| ts.setUpdateTime(new Date()); | |||
| ts.setStartTime(record.getStartTime()); | |||
| ts.setEndTime(record.getEndTime()); | |||
| wxEnergyFeesTimeShopMapper.insert(ts); | |||
| } | |||
| @@ -335,10 +365,7 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||
| logger.error("保存租赁账单失败,e:" + e.getMessage()); | |||
| throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); | |||
| } | |||
| } else { | |||
| record.setUpdateTime(date); | |||
| wxEnergyFeesTimeMapper.updateById(record); | |||
| } | |||
| } | |||
| } | |||
| @Override | |||
| @@ -383,6 +410,16 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||
| return wxShopService.getShopNumberList(sq); | |||
| } | |||
| @Override | |||
| public List<Date> findLastTimeEndGroup(WxEnergyFeesTime record) { | |||
| WxEnergyFeesTimeShop tsq = new WxEnergyFeesTimeShop(); | |||
| tsq.updateTenantInfo(record); | |||
| tsq.setShopIds(record.getShopIds()); | |||
| tsq.setType(record.getType()); | |||
| List<Date> list = wxEnergyFeesTimeShopMapper.findLastTimeEndGroup(tsq); | |||
| return list; | |||
| } | |||
| @Override | |||
| public PageInfo<WxEnergyFees> feesListAsPage(WxEnergyFees record, Integer pageIndex, Integer pageSize,boolean isSetOff) { | |||
| @@ -807,10 +844,19 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||
| r.setPreTime(pre.getCreateTime()); | |||
| r.setPreBy(pre.getCreateBy()); | |||
| r.setPreByName(pre.getCreateByName()); | |||
| if (null != pre.getEndTime()) { | |||
| //有可能撤铺的时候中间抄了一次,这一次抄表又是统一时间抄表,所以比较结束时间 | |||
| if (pre.getEndTime().after(record.getEndTime())) { | |||
| throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"当前时间小于最近一次抄表周期时间,请重新选择时间"); | |||
| } | |||
| r.setStartTime(DateUtils.getDayBegin(DateUtils.getTimeAfterDays(1, pre.getEndTime()))); | |||
| } | |||
| }else { | |||
| r.setPreNumber("0"); | |||
| } | |||
| r.setStartTime(record.getStartTime()); | |||
| if (null == r.getStartTime()) { | |||
| r.setStartTime(record.getStartTime()); | |||
| } | |||
| r.setEndTime(record.getEndTime()); | |||
| //根据表id获取表名 | |||
| WxEnergyMeter meter = wxEnergyMeterMapper.selectById(r.getMeterId(), record.getTenantId()); | |||
| @@ -874,6 +920,11 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||
| wxEnergyMeterReadingMapper.setIsDel(record.getId(), record.getTenantId(), record.getIsDel()); | |||
| } | |||
| @Override | |||
| public void setReadingConfirm(WxEnergyMeterReading record) { | |||
| wxEnergyMeterReadingMapper.setConfirm(record); | |||
| } | |||
| @Override | |||
| public void exportReading(WxEnergyMeterReading record, HttpServletRequest request, HttpServletResponse response) { | |||
| List<Map<String,Object>> execlList = new ArrayList<Map<String,Object>>(); | |||
| @@ -887,7 +938,7 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||
| execlList.add(r.generateExcelData()); | |||
| } | |||
| } | |||
| excelService.exportExcel(WxEnergyMeterReading.generateExcelTitle(),execlList, "抄表数据.xlsx","sheet1", response); | |||
| excelService.exportExcel(WxEnergyMeterReading.generateExcelTitle(),execlList, "抄表数据.xlsx","sheet1",10,5, response); | |||
| } | |||
| @Override | |||
| @@ -958,6 +1009,17 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||
| @Override | |||
| public List<WxEnergyReadingCalcute> findCalcuteList(WxEnergyReadingCalcute record) { | |||
| if (null != record.getShopIds() && record.getShopIds().size() > 0 ) { | |||
| WxEnergyReadingCalcuteResult crq = new WxEnergyReadingCalcuteResult(); | |||
| crq.updateTenantInfo(record); | |||
| crq.setShopIds(record.getShopIds()); | |||
| List<Long> calIds = wxEnergyReadingCalcuteResultMapper.findCalcuteIdList(crq); | |||
| if (null == calIds || calIds.size() <= 0 ) { | |||
| record.setId(-1L); | |||
| }else { | |||
| record.setIds(calIds); | |||
| } | |||
| } | |||
| return wxEnergyReadingCalcuteMapper.findList(record); | |||
| } | |||
| @@ -1027,13 +1089,6 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||
| } | |||
| } | |||
| } | |||
| //用户表 | |||
| WxEnergyMeter mq = new WxEnergyMeter(); | |||
| mq.updateTenantInfo(record); | |||
| mq.setType(fees.getType()); | |||
| mq.setPhysicsType(EnumEnergyMeterPhysicsType.USER.getCode()); | |||
| mq.setHasFee(EnumYesOrNo.YES.getCode()); | |||
| List<Long> meterList = wxEnergyMeterMapper.findIdList(mq); | |||
| //查询公摊表 | |||
| Map<Long,List<Long>> summaryMeterMap = null; | |||
| if (fees.getIsPublic() == EnumYesOrNo.YES.getCode()) { | |||
| @@ -1041,10 +1096,10 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||
| sumq.updateTenantInfo(record); | |||
| sumq.setType(fees.getType()); | |||
| sumq.setPhysicsType(EnumEnergyMeterPhysicsType.SUMMARY.getCode()); | |||
| List<WxEnergyMeter> sumeterList = wxEnergyMeterMapper.findList(mq); | |||
| List<WxEnergyMeter> sumeterList = wxEnergyMeterMapper.findList(sumq); | |||
| if (null != sumeterList && sumeterList.size() > 0 ) { | |||
| summaryMeterMap = new HashMap<Long,List<Long>>(); | |||
| for (int i = 0 ; i < meterList.size(); i ++) { | |||
| for (int i = 0 ; i < sumeterList.size(); i ++) { | |||
| WxEnergyMeter summaryMeter = sumeterList.get(i); | |||
| //查询总表下的子表 | |||
| WxEnergyMeterChild mcq = new WxEnergyMeterChild(); | |||
| @@ -1062,13 +1117,32 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||
| for (int i = 0 ; i < shopIds.size(); i ++) { | |||
| Long shopId= shopIds.get(i); | |||
| WxShop shop = shopMap.get(shopId); | |||
| //查询用户表 | |||
| WxEnergyMeterShopFloor sfq = new WxEnergyMeterShopFloor(); | |||
| sfq.updateTenantInfo(record); | |||
| sfq.setType(EnumEnergyMeterShopFloorType.SHOP.getCode()); | |||
| sfq.setAliseId(shopId); | |||
| List<Long> meterList = wxEnergyMeterShopFloorMapper.findMeterIdList(sfq); | |||
| //如果店铺已经存在了计算,则不允许重复 | |||
| WxEnergyReadingCalcuteResult crq = new WxEnergyReadingCalcuteResult(); | |||
| crq.updateTenantInfo(record); | |||
| crq.setShopId(shopId); | |||
| crq.setPeriod(record.getPeriod()); | |||
| crq.setFeesId(record.getFeesId()); | |||
| List<WxEnergyReadingCalcuteResult> list = wxEnergyReadingCalcuteResultMapper.findList(crq); | |||
| if (null != list && list.size() > 0 ) { | |||
| throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"店铺"+shop.getShopNumber()+"科目["+fees.getName()+"]该年月已存在计算记录,不能重复计算"); | |||
| } | |||
| //根据店铺,所属年月去查询时间区间.根据店铺,时间区间去查对应的抄表数据,根据表来计算总和 | |||
| WxEnergyFeesTimeShop sq = new WxEnergyFeesTimeShop(); | |||
| sq.updateTenantInfo(record); | |||
| sq.setShopId(shopId); | |||
| List<Long> timeIds = wxEnergyFeesTimeShopMapper.findTimeIdList(sq); | |||
| if (null == timeIds || timeIds.size() <= 0 ) { | |||
| return; | |||
| throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"店铺"+shop.getShopNumber()+"未设置抄表区间"); | |||
| } | |||
| //一个年月,一个店铺应该只有一个周期 | |||
| WxEnergyFeesTime tq = new WxEnergyFeesTime(); | |||
| @@ -1077,17 +1151,18 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||
| tq.setPeriod(record.getPeriod()); | |||
| List<WxEnergyFeesTime> timelist = wxEnergyFeesTimeMapper.findList(tq); | |||
| if (null == timelist || timelist.size() <= 0 ) { | |||
| return; | |||
| throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"店铺"+shop.getShopNumber()+"未设置抄表区间"); | |||
| } | |||
| WxEnergyFeesTime time = timelist.get(0); | |||
| //根据店铺查询绑定的科目 | |||
| WxEnergyFeesShop csq = new WxEnergyFeesShop(); | |||
| csq.updateTenantInfo(record); | |||
| csq.setFeesId(fees.getId()); | |||
| csq.setShopId(shopId); | |||
| List<WxEnergyFeesShop> shopFeesList = wxEnergyFeesShopMapper.findList(csq); | |||
| if (null == shopFeesList || shopFeesList.size() <= 0 ) { | |||
| return; | |||
| throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"店铺"+shop.getShopNumber()+"未设置该科目费用标准"); | |||
| } | |||
| //循环店铺科目, | |||
| @@ -1106,7 +1181,7 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||
| StringBuffer sb = new StringBuffer(); | |||
| cs.setMoney(wxEnergyHelper.calcuteMoney(sb,totalArea,shop,time, fees, shopfee,meterList,summaryMeterMap,buildingAreaMap,floorAreaMap)); | |||
| cs.setPeriod(record.getPeriod()); | |||
| cs.setMoney(sb.toString()); | |||
| cs.setMoneyDeail(sb.toString()); | |||
| resultList.add(cs); | |||
| } | |||
| } | |||
| @@ -1115,9 +1190,24 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||
| } | |||
| } | |||
| private void initReadingCalcuteResultQueryParam(WxEnergyReadingCalcuteResult record) { | |||
| if (StringUtils.isNotBlank(record.getShopName())) { | |||
| WxShop sq = new WxShop(); | |||
| sq.updateTenantInfo(record); | |||
| sq.setShopNumber(record.getShopName()); | |||
| List<Long> shopIds = wxShopService.getShopIds(sq); | |||
| if (null == shopIds || shopIds.size() <= 0 ) { | |||
| record.setId(-1L); | |||
| }else { | |||
| record.setShopIds(shopIds); | |||
| } | |||
| } | |||
| } | |||
| @Override | |||
| public PageInfo<WxEnergyReadingCalcuteResult> readingCalcuteResultListAsPage(WxEnergyReadingCalcuteResult record, Integer pageIndex, | |||
| Integer pageSize) { | |||
| initReadingCalcuteResultQueryParam(record); | |||
| PageInfo<WxEnergyReadingCalcuteResult> page = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxEnergyReadingCalcuteResultMapper.findList(record)); | |||
| if (null != page && null != page.getList()) { | |||
| WxEnergyFees fq = new WxEnergyFees(); | |||
| @@ -1166,7 +1256,11 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||
| @Override | |||
| public void exportReadingCalcuteResult(WxEnergyReadingCalcuteResult record, HttpServletRequest request, HttpServletResponse response) { | |||
| PageInfo<WxEnergyReadingCalcuteResult> page = readingCalcuteResultListAsPage(record, 1, 10000); | |||
| excelService.exportExcel(page.getList(), null, "能源计算结果", WxEnergyReadingCalcuteResult.class, "能源计算结果.xlsx", response, false); | |||
| List<WxEnergyReadingCalcuteResult> list = new ArrayList<WxEnergyReadingCalcuteResult>(); | |||
| if (null != page && null != page.getList() && page.getList().size() > 0 ) { | |||
| list = page.getList(); | |||
| } | |||
| excelService.exportExcel(list, null, "能源计算结果", WxEnergyReadingCalcuteResult.class, "能源计算结果.xlsx", response, false); | |||
| } | |||
| private File handlerImportFile(MultipartFile mFile,String fileNamePre) { | |||
| @@ -1262,7 +1356,6 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||
| public void createBill(WxEnergyReadingCalcute record, MallUserInfo user) { | |||
| WxEnergyReadingCalcute calcute = wxEnergyReadingCalcuteMapper.selectById(record.getId(), record.getTenantId()); | |||
| WxEnergyReadingCalcuteResult crq = new WxEnergyReadingCalcuteResult(); | |||
| crq.updateTenantInfo(record); | |||
| crq.setCalcuteId(calcute.getId()); | |||
| @@ -1318,11 +1411,18 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||
| @Override | |||
| public void setReadingCalcuteIsDel(WxEnergyReadingCalcute record) { | |||
| // WxEnergyReadingCalcute calcute = this.getReadingCalcuteById(record); | |||
| // if (null == calcute) { | |||
| // throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "记录未查询到"); | |||
| // } | |||
| // wxEnergyReadingCalcuteMapper.setIsDel(record.getId(), record.getTenantId(), record.getIsDel()); | |||
| WxEnergyReadingCalcute calcute = wxEnergyReadingCalcuteMapper.selectById(record.getId(), record.getTenantId()); | |||
| if (null == calcute) { | |||
| throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "记录未查询到"); | |||
| } | |||
| if (calcute.getIsCalcuted() == EnumYesOrNo.YES.getCode()) { | |||
| throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "已生成账单,不允许删除"); | |||
| } | |||
| WxEnergyReadingCalcuteResult crq = new WxEnergyReadingCalcuteResult(); | |||
| crq.updateTenantInfo(crq); | |||
| crq.setCalcuteId(record.getId()); | |||
| wxEnergyReadingCalcuteResultMapper.deleteByCondition(crq); | |||
| wxEnergyReadingCalcuteMapper.deleteById(record.getId()); | |||
| } | |||
| @Override | |||
| @@ -1343,4 +1443,9 @@ public class WxEnergyServiceImpl implements WxEnergyService { | |||
| return null; | |||
| } | |||
| @Override | |||
| public void deleteReadingCalcuteResult(Long id, TenantEntity tenantEntity) { | |||
| wxEnergyReadingCalcuteResultMapper.deleteById(id); | |||
| } | |||
| } | |||
| @@ -7,6 +7,7 @@ | |||
| <result column="parent_tenant_id" jdbcType="VARCHAR" property="parentTenantId" /> | |||
| <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/> | |||
| <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/> | |||
| <result column="name" jdbcType="VARCHAR" property="name"/> | |||
| <result column="type" jdbcType="INTEGER" property="type"/> | |||
| <result column="start_time" jdbcType="TIMESTAMP" property="startTime"/> | |||
| <result column="end_time" jdbcType="TIMESTAMP" property="endTime"/> | |||
| @@ -15,7 +16,7 @@ | |||
| </resultMap> | |||
| <sql id="allColumns"> | |||
| `id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`type`,`start_time`,`end_time`,`period`,`shop_size` | |||
| `id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`name`,`type`,`start_time`,`end_time`,`period`,`shop_size` | |||
| </sql> | |||
| <sql id="dynamicWhereConditions"> | |||
| @@ -30,6 +31,9 @@ | |||
| <if test=" null != period and '' != period"> | |||
| and `period` = #{period} | |||
| </if> | |||
| <if test=" null != name and '' != name"> | |||
| and `name` like concat('%', #{name},'%') | |||
| </if> | |||
| <if test=" null != type ">and `type` = #{type}</if> | |||
| <if test=" null != ids "> | |||
| and id in | |||
| @@ -56,6 +60,6 @@ | |||
| <update id = "setIsDel" parameterType="HashMap"> | |||
| update wx_energy_fees_time set is_del = #{isDel} where id = #{id} and `tenant_id` = #{tenantId} | |||
| </update> | |||
| </mapper> | |||
| @@ -9,12 +9,14 @@ | |||
| <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/> | |||
| <result column="period" jdbcType="VARCHAR" property="period"/> | |||
| <result column="time_id" jdbcType="BIGINT" property="timeId"/> | |||
| <result column="start_time" jdbcType="TIMESTAMP" property="startTime"/> | |||
| <result column="end_time" jdbcType="TIMESTAMP" property="endTime"/> | |||
| <result column="shop_id" jdbcType="BIGINT" property="shopId"/> | |||
| <result column="type" jdbcType="INTEGER" property="type"/> | |||
| </resultMap> | |||
| <sql id="allColumns"> | |||
| `id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`period`,`time_id`,`shop_id`,`type` | |||
| `id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`period`,`time_id`,`start_time`,`end_time`,`shop_id`,`type` | |||
| </sql> | |||
| <sql id="dynamicWhereConditions"> | |||
| @@ -82,5 +84,13 @@ | |||
| <include refid="dynamicWhereConditions"/> | |||
| </select> | |||
| <select id="findLastTimeEndGroup" parameterType="com.iformall.domain.po.WxEnergyFeesTimeShop" resultType="Date"> | |||
| SELECT end_time FROM ( | |||
| SELECT shop_id,MAX(end_time) AS end_time FROM wx_energy_fees_time_shop | |||
| <include refid="dynamicWhereConditions"/> | |||
| GROUP BY shop_id | |||
| ) AS temp GROUP BY temp.end_time | |||
| </select> | |||
| </mapper> | |||
| @@ -34,6 +34,7 @@ | |||
| <if test=" null != physicsType ">and `physics_type` = #{physicsType}</if> | |||
| <if test=" null != shopType ">and `shop_type` = #{shopType}</if> | |||
| <if test=" null != name and '' != name ">and name like concat('%', #{name},'%')</if> | |||
| <if test=" null != orName and '' != orName ">or name like concat('%', #{orName},'%')</if> | |||
| <if test=" null != isRealMeter ">and `physics_type` in (1,2) </if> | |||
| <if test=" null != hasFee ">and `has_fee` = #{hasFee}</if> | |||
| <if test=" null != physicsTypeList "> | |||
| @@ -24,6 +24,7 @@ | |||
| <result column="meter_rate" jdbcType="VARCHAR" property="meterRate"/> | |||
| <result column="meter_name" jdbcType="VARCHAR" property="meterName"/> | |||
| <result column="is_del" jdbcType="INTEGER" property="isDel"/> | |||
| <result column="is_confirm" jdbcType="INTEGER" property="isConfirm"/> | |||
| <result column="building_name" jdbcType="VARCHAR" property="buildingName"/> | |||
| <result column="floor_name" jdbcType="VARCHAR" property="floorName"/> | |||
| <result column="shop_name" jdbcType="VARCHAR" property="shopName"/> | |||
| @@ -31,7 +32,7 @@ | |||
| <sql id="allColumns"> | |||
| `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`,`meter_id`,`meter_type`,`meter_rate`,`meter_name`,`is_del`,`building_name`,`floor_name`,`shop_name` | |||
| `update_by`,`update_by_name`,`remark`,`meter_id`,`meter_type`,`meter_rate`,`meter_name`,`is_del`,`is_confirm`,`building_name`,`floor_name`,`shop_name` | |||
| </sql> | |||
| <sql id="dynamicWhereConditions"> | |||
| @@ -48,6 +49,7 @@ | |||
| <if test=" null != meterType ">and `meter_type` = #{meterType}</if> | |||
| <if test=" null != meterName and '' != meterName ">and meter_name like concat('%', #{meterName},'%')</if> | |||
| <if test=" null != isDel ">and `is_del` = #{isDel}</if> | |||
| <if test=" null != isConfirm ">and `is_confirm` = #{isConfirm}</if> | |||
| <if test=" null != createByName and '' != createByName ">and create_by_name like concat('%', #{createByName},'%')</if> | |||
| <if test=" null != meterIds "> | |||
| and meter_id in | |||
| @@ -88,10 +90,18 @@ | |||
| </update> | |||
| <select id="findNumberSum" parameterType="com.iformall.domain.po.WxEnergyMeterReading" resultType="decimal"> | |||
| select sum(CAST(ifnull(cur_number,'0') AS DECIMAL(20,4)) - CAST(ifnull(pre_number,'0') AS DECIMAL(20,4))) total_number | |||
| select sum((CAST(ifnull(cur_number,'0') AS DECIMAL(20,4)) - CAST(ifnull(pre_number,'0') AS DECIMAL(20,4)))/CAST(ifnull(meter_rate,'1') AS DECIMAL(20,4))) total_number | |||
| from wx_energy_meter_reading | |||
| <include refid="dynamicWhereConditions"/> | |||
| </select> | |||
| <update id = "setConfirm" parameterType="HashMap"> | |||
| update wx_energy_meter_reading set is_confirm = 1 | |||
| where id in | |||
| <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | |||
| #{idItem} | |||
| </foreach> | |||
| </update> | |||
| </mapper> | |||
| @@ -37,6 +37,12 @@ | |||
| <if test=" null != shopId ">and `shop_id` = #{shopId}</if> | |||
| <if test=" null != feesId ">and `fees_id` = #{feesId}</if> | |||
| <if test=" null != feesShopId ">and `fees_shop_id` = #{feesShopId}</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 != feesIds "> | |||
| and fees_id in | |||
| <foreach collection="feesIds" index="index" item="feidItem" open="(" separator="," close=")"> | |||
| @@ -71,6 +77,12 @@ | |||
| <include refid="dynamicWhereConditions"/> | |||
| </select> | |||
| <select id="findCalcuteIdList" parameterType="com.iformall.domain.po.WxEnergyReadingCalcuteResult" resultType="Long"> | |||
| select distinct calcute_id | |||
| from wx_energy_reading_calcute_result | |||
| <include refid="dynamicWhereConditions"/> | |||
| </select> | |||
| <insert id="insertResults" parameterType="HashMap"> | |||
| INSERT INTO wx_energy_reading_calcute_result ( | |||
| <include refid="allColumns"/> | |||
| @@ -84,5 +96,9 @@ | |||
| </foreach> | |||
| </insert> | |||
| <delete id="deleteByCondition" parameterType="com.iformall.domain.po.WxEnergyReadingCalcuteResult"> | |||
| delete from wx_energy_reading_calcute_result where `calcute_id` = #{calcuteId} | |||
| </delete> | |||
| </mapper> | |||