Kaynağa Gözat

Merge branch 'release_toaliyun_real' of https://git.malls.iformall.com/server/formallProject into release_toaliyun_real_legion_activity

release_toaliyun_real
xiaohu 1 yıl önce
ebeveyn
işleme
db86b7a941
22 değiştirilmiş dosya ile 353 ekleme ve 71 silme
  1. +6
    -2
      mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java
  2. +43
    -5
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxEnergyController.java
  3. +2
    -0
      mallinkAdmin/src/main/java/com/iformall/tenant/TenantInfoImpl.java
  4. +60
    -16
      mallinkBApi/src/main/java/com/iformall/controller/WxMallAdminController.java
  5. +2
    -2
      mallinkService/src/main/java/com/iformall/domain/po/WxAllBill.java
  6. +8
    -1
      mallinkService/src/main/java/com/iformall/domain/po/WxEnergyFeesTime.java
  7. +6
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxEnergyFeesTimeShop.java
  8. +4
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxEnergyMeter.java
  9. +5
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxEnergyMeterReading.java
  10. +0
    -1
      mallinkService/src/main/java/com/iformall/mapper/WxEnergyFeesTimeMapper.java
  11. +4
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxEnergyFeesTimeShopMapper.java
  12. +2
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxEnergyMeterReadingMapper.java
  13. +4
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxEnergyReadingCalcuteResultMapper.java
  14. +6
    -2
      mallinkService/src/main/java/com/iformall/service/ExcelService.java
  15. +4
    -0
      mallinkService/src/main/java/com/iformall/service/WxEnergyService.java
  16. +18
    -9
      mallinkService/src/main/java/com/iformall/service/helper/WxEnergyHelper.java
  17. +133
    -28
      mallinkService/src/main/java/com/iformall/service/impl/WxEnergyServiceImpl.java
  18. +6
    -2
      mallinkService/src/main/resources/mapper/WxEnergyFeesTimeMapper.xml
  19. +11
    -1
      mallinkService/src/main/resources/mapper/WxEnergyFeesTimeShopMapper.xml
  20. +1
    -0
      mallinkService/src/main/resources/mapper/WxEnergyMeterMapper.xml
  21. +12
    -2
      mallinkService/src/main/resources/mapper/WxEnergyMeterReadingMapper.xml
  22. +16
    -0
      mallinkService/src/main/resources/mapper/WxEnergyReadingCalcuteResultMapper.xml

+ 6
- 2
mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java Dosyayı Görüntüle

@@ -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(); if (null == wxRentContract) wxRentContract = new WxRentContract();
WxRentContract rentContract = wxRentContractMapper.selectById(wxRentContract.getId()); WxRentContract rentContract = wxRentContractMapper.selectById(wxRentContract.getId());
rentContract.setYearsBegin(wxRentContract.getYearsBegin());
rentContract.setYearsEnd(wxRentContract.getYearsEnd());
return new ResultData(wxRentContractService.getContractSales(rentContract)); return new ResultData(wxRentContractService.getContractSales(rentContract));
} }
@@ -936,6 +938,8 @@ public class WxRentContractController extends WxContractBaseController {
if (null == rentContract) { if (null == rentContract) {
return new ResultData(Result.ERROR, "编号["+wxRentContract.getId()+"]未找到租金合同"); return new ResultData(Result.ERROR, "编号["+wxRentContract.getId()+"]未找到租金合同");
} }
rentContract.setYearsBegin(wxRentContract.getYearsBegin());
rentContract.setYearsEnd(wxRentContract.getYearsEnd());
wxRentContractService.setContractSalesConfirm(rentContract); wxRentContractService.setContractSalesConfirm(rentContract);
return new ResultData(); return new ResultData();
} }


+ 43
- 5
mallinkAdmin/src/main/java/com/iformall/controller/market/WxEnergyController.java Dosyayı Görüntüle

@@ -462,11 +462,31 @@ public class WxEnergyController extends BaseController {
} }
@ApiOperation("费用区间自动时间") @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(); 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); return new ResultData(retMap);
} }
@@ -640,6 +660,13 @@ public class WxEnergyController extends BaseController {
return new ResultData(); return new ResultData();
} }
@PostMapping("readingConfirm")
public ResultData readingConfirm(@RequestBody WxEnergyMeterReading record) {
record.updateTenantInfo(getTenantInfo());
wxEnergyService.setReadingConfirm(record);
return new ResultData();
}
@ApiOperation("新建科目抄表计算数据") @ApiOperation("新建科目抄表计算数据")
@PostMapping("createReadingCalcute") @PostMapping("createReadingCalcute")
public ResultData createReadingCalcute(@RequestBody WxEnergyReadingCalcute record) { public ResultData createReadingCalcute(@RequestBody WxEnergyReadingCalcute record) {
@@ -686,7 +713,11 @@ public class WxEnergyController extends BaseController {
@GetMapping("readingCalcuteShopList") @GetMapping("readingCalcuteShopList")
public ResultData readingCalcuteShopList(@ModelAttribute WxEnergyReadingCalcute record) { public ResultData readingCalcuteShopList(@ModelAttribute WxEnergyReadingCalcute record) {
record.updateTenantInfo(getTenantInfo()); 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("科目抄表计算数据分页列表接口") @ApiOperation("科目抄表计算数据分页列表接口")
@@ -712,6 +743,13 @@ public class WxEnergyController extends BaseController {
return new ResultData(page); return new ResultData(page);
} }
@PostMapping("readingCalcuteResultDel")
public ResultData readingCalcuteResultDel(@RequestBody WxEnergyReadingCalcuteResult record) {
record.updateTenantInfo(getTenantInfo());
wxEnergyService.deleteReadingCalcuteResult(record.getId(),record);
return new ResultData();
}
@ApiOperation("科目抄表计算记录导出") @ApiOperation("科目抄表计算记录导出")
@GetMapping("readingCalcuteResultExport") @GetMapping("readingCalcuteResultExport")
public void readingCalcuteResultExport(@ModelAttribute WxEnergyReadingCalcuteResult record, HttpServletRequest request, HttpServletResponse response) { public void readingCalcuteResultExport(@ModelAttribute WxEnergyReadingCalcuteResult record, HttpServletRequest request, HttpServletResponse response) {


+ 2
- 0
mallinkAdmin/src/main/java/com/iformall/tenant/TenantInfoImpl.java Dosyayı Görüntüle

@@ -193,6 +193,8 @@ public class TenantInfoImpl implements TenantInfo {
return true; return true;
if ("com.iformall.mapper.WxRentContractFreePeriodMapper.inertPeriods".equals(ms.getId())) if ("com.iformall.mapper.WxRentContractFreePeriodMapper.inertPeriods".equals(ms.getId()))
return true; return true;
if ("com.iformall.mapper.WxEnergyReadingCalcuteResultMapper.insertResults".equals(ms.getId()))
return true;
if ("com.iformall.mapper.WxRentContractRevenueJumpMapper.inertJumps".equals(ms.getId())) if ("com.iformall.mapper.WxRentContractRevenueJumpMapper.inertJumps".equals(ms.getId()))
return true; return true;
if ("com.iformall.mapper.WxActivityJoinMapper.updateSendMsg".equals(ms.getId())) if ("com.iformall.mapper.WxActivityJoinMapper.updateSendMsg".equals(ms.getId()))


+ 60
- 16
mallinkBApi/src/main/java/com/iformall/controller/WxMallAdminController.java Dosyayı Görüntüle

@@ -62,6 +62,7 @@ import com.iformall.service.WxShopService;
import com.iformall.service.WxUserDataRuleService; import com.iformall.service.WxUserDataRuleService;
import com.iformall.service.helper.WxBillAllHelper; import com.iformall.service.helper.WxBillAllHelper;
import com.iformall.utils.Constant; import com.iformall.utils.Constant;
import com.iformall.utils.DateUtils;


import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
@@ -75,6 +76,7 @@ import org.springframework.web.bind.annotation.*;


import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@@ -384,33 +386,75 @@ public class WxMallAdminController extends BaseController {
@ApiOperation("抄表数据分页列表接口") @ApiOperation("抄表数据分页列表接口")
@GetMapping("shopMeterList") @GetMapping("shopMeterList")
public ResultData shopMeterList(@ModelAttribute WxEnergyMeter record) { public ResultData shopMeterList(@ModelAttribute WxEnergyMeter record) {
if (StringUtils.isBlank(record.getSearchKey())) {
return new ResultData();
}
record.setIsDel(EnumYesOrNo.NO.getCode()); record.setIsDel(EnumYesOrNo.NO.getCode());
setQueryDataRule(record); 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(); WxShop sq = new WxShop();
sq.updateTenantInfo(record); sq.updateTenantInfo(record);
sq.setShopNumber(record.getShopNumber());
sq.setShopNumber(record.getSearchKey());
List<Long> sids = wxShopService.getShopIds(sq); 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); record.setSortColumns(BaseEntity.SortField.CreateTime_DESC);
PageInfo<WxEnergyMeter> page = wxEnergyService.meterListAsPage(record, 1, 1000); PageInfo<WxEnergyMeter> page = wxEnergyService.meterListAsPage(record, 1, 1000);
return new ResultData(page); 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("抄表数据分页列表接口") @ApiOperation("抄表数据分页列表接口")
@GetMapping("preShopReadingList") @GetMapping("preShopReadingList")
public ResultData readingList(@ModelAttribute WxEnergyMeterReading record) { public ResultData readingList(@ModelAttribute WxEnergyMeterReading record) {


+ 2
- 2
mallinkService/src/main/java/com/iformall/domain/po/WxAllBill.java Dosyayı Görüntüle

@@ -53,7 +53,7 @@ public class WxAllBill extends TenantEntity {
@io.swagger.annotations.ApiModelProperty(value="创建用户编码",name="createBy") @io.swagger.annotations.ApiModelProperty(value="创建用户编码",name="createBy")
public Long 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") @io.swagger.annotations.ApiModelProperty(value="创建用户名称",name="createBy")
public String createByName; public String createByName;
@@ -64,7 +64,7 @@ public class WxAllBill extends TenantEntity {
@io.swagger.annotations.ApiModelProperty(value="创建用户编码",name="createBy") @io.swagger.annotations.ApiModelProperty(value="创建用户编码",name="createBy")
public Long updateBy; 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") @io.swagger.annotations.ApiModelProperty(value="创建用户名称",name="createBy")
public String updateByName; public String updateByName;


+ 8
- 1
mallinkService/src/main/java/com/iformall/domain/po/WxEnergyFeesTime.java Dosyayı Görüntüle

@@ -24,6 +24,9 @@ public class WxEnergyFeesTime extends TenantEntity {
@io.swagger.annotations.ApiModelProperty(value="id",name="id") @io.swagger.annotations.ApiModelProperty(value="id",name="id")
private Long id; private Long id;


@io.swagger.annotations.ApiModelProperty(value = "名称", name = "name")
private String name;
@io.swagger.annotations.ApiModelProperty(value="createTime",name="createTime") @io.swagger.annotations.ApiModelProperty(value="createTime",name="createTime")
private Date createTime; private Date createTime;
@@ -54,6 +57,10 @@ public class WxEnergyFeesTime extends TenantEntity {
private Date endTime; private Date endTime;
@TableField(exist = false) @TableField(exist = false)
List<Long> shopIds;
private List<Long> shopIds;
@TableField(exist = false)
private String shopName;
@TableField(exist = false)
private List<Long> meterIds;
} }

+ 6
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxEnergyFeesTimeShop.java Dosyayı Görüntüle

@@ -47,6 +47,12 @@ public class WxEnergyFeesTimeShop extends TenantEntity {
@io.swagger.annotations.ApiModelProperty(value = "时间区间编号", name = "timeId") @io.swagger.annotations.ApiModelProperty(value = "时间区间编号", name = "timeId")
private Long 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") @io.swagger.annotations.ApiModelProperty(value="店铺编号",name="shopId")
private Long shopId; private Long shopId;


+ 4
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxEnergyMeter.java Dosyayı Görüntüle

@@ -106,5 +106,9 @@ public class WxEnergyMeter extends TenantEntity {
private Integer isValid; private Integer isValid;
@TableField(exist = false) @TableField(exist = false)
private Integer hasShop; private Integer hasShop;
@TableField(exist = false)
private String searchKey;
@TableField(exist = false)
private String orName;
} }

+ 5
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxEnergyMeterReading.java Dosyayı Görüntüle

@@ -100,6 +100,9 @@ public class WxEnergyMeterReading extends TenantEntity {
@io.swagger.annotations.ApiModelProperty(value="表名",name="meterName") @io.swagger.annotations.ApiModelProperty(value="表名",name="meterName")
private String meterName; private String meterName;
@io.swagger.annotations.ApiModelProperty(value="是否确认",name="isConfirm")
private Integer isConfirm;
@io.swagger.annotations.ApiModelProperty(value="是否删除",name="isDel") @io.swagger.annotations.ApiModelProperty(value="是否删除",name="isDel")
private Integer isDel; private Integer isDel;
@@ -136,6 +139,7 @@ public class WxEnergyMeterReading extends TenantEntity {
excelTitle.put("meterType", "表类型"); excelTitle.put("meterType", "表类型");
excelTitle.put("preNumber", "上次抄表数"); excelTitle.put("preNumber", "上次抄表数");
excelTitle.put("preTime", "上次抄表时间"); excelTitle.put("preTime", "上次抄表时间");
excelTitle.put("preByName", "上次抄表人");
excelTitle.put("curNumber", "本次抄表数"); excelTitle.put("curNumber", "本次抄表数");
return excelTitle; return excelTitle;
} }
@@ -152,6 +156,7 @@ public class WxEnergyMeterReading extends TenantEntity {
excelObject.put("meterType", this.getMeterTypeName()); excelObject.put("meterType", this.getMeterTypeName());
excelObject.put("preNumber", this.getPreNumber()); excelObject.put("preNumber", this.getPreNumber());
excelObject.put("preTime", DateUtils.formatDateTime(this.getPreTime())); excelObject.put("preTime", DateUtils.formatDateTime(this.getPreTime()));
excelObject.put("preTime", this.getPreByName());
excelObject.put("curNumber", this.getCurNumber()); excelObject.put("curNumber", this.getCurNumber());
return excelObject; return excelObject;
} }


+ 0
- 1
mallinkService/src/main/java/com/iformall/mapper/WxEnergyFeesTimeMapper.java Dosyayı Görüntüle

@@ -14,5 +14,4 @@ public interface WxEnergyFeesTimeMapper extends CommonMapper<WxEnergyFeesTime, L
WxEnergyFeesTime selectById(@Param("id")Long id,@Param("tenantId")String tenantId); WxEnergyFeesTime selectById(@Param("id")Long id,@Param("tenantId")String tenantId);
void setIsDel(@Param("id")Long id,@Param("tenantId")String tenantId,@Param("isDel")Integer isDel); void setIsDel(@Param("id")Long id,@Param("tenantId")String tenantId,@Param("isDel")Integer isDel);

} }

+ 4
- 0
mallinkService/src/main/java/com/iformall/mapper/WxEnergyFeesTimeShopMapper.java Dosyayı Görüntüle

@@ -4,6 +4,8 @@ import com.iformall.common.CommonMapper;
import com.iformall.domain.po.WxEnergyFeesTimeShop; import com.iformall.domain.po.WxEnergyFeesTimeShop;


import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List; import java.util.List;


/** /**
@@ -21,5 +23,7 @@ public interface WxEnergyFeesTimeShopMapper extends CommonMapper<WxEnergyFeesTim
List<Long> findShopIdList(WxEnergyFeesTimeShop wxBillRent); List<Long> findShopIdList(WxEnergyFeesTimeShop wxBillRent);
List<Long> findTimeIdList(WxEnergyFeesTimeShop wxBillRent); List<Long> findTimeIdList(WxEnergyFeesTimeShop wxBillRent);
List<Date> findLastTimeEndGroup(WxEnergyFeesTimeShop wxBillRent);
} }

+ 2
- 0
mallinkService/src/main/java/com/iformall/mapper/WxEnergyMeterReadingMapper.java Dosyayı Görüntüle

@@ -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 setIsDel(@Param("id")Long id,@Param("tenantId")String tenantId,@Param("isDel")Integer isDel);
void setConfirm(WxEnergyMeterReading wxBillRent);
BigDecimal findNumberSum(WxEnergyMeterReading wxBillRent); BigDecimal findNumberSum(WxEnergyMeterReading wxBillRent);
} }

+ 4
- 0
mallinkService/src/main/java/com/iformall/mapper/WxEnergyReadingCalcuteResultMapper.java Dosyayı Görüntüle

@@ -13,9 +13,13 @@ public interface WxEnergyReadingCalcuteResultMapper extends CommonMapper<WxEnerg
List<WxEnergyReadingCalcuteResult> findList(WxEnergyReadingCalcuteResult wxBillRent); List<WxEnergyReadingCalcuteResult> findList(WxEnergyReadingCalcuteResult wxBillRent);
List<Long> findShopIdList(WxEnergyReadingCalcuteResult wxBillRent); List<Long> findShopIdList(WxEnergyReadingCalcuteResult wxBillRent);
List<Long> findCalcuteIdList(WxEnergyReadingCalcuteResult wxBillRent);


WxEnergyReadingCalcuteResult selectById(@Param("id")Long id,@Param("tenantId")String tenantId); WxEnergyReadingCalcuteResult selectById(@Param("id")Long id,@Param("tenantId")String tenantId);
void insertResults(@Param("tenantId")String tenantId, @Param("list")List<WxEnergyReadingCalcuteResult> resultList); void insertResults(@Param("tenantId")String tenantId, @Param("list")List<WxEnergyReadingCalcuteResult> resultList);
void deleteByCondition(WxEnergyReadingCalcuteResult wxBillRent);
} }

+ 6
- 2
mallinkService/src/main/java/com/iformall/service/ExcelService.java Dosyayı Görüntüle

@@ -34,6 +34,10 @@ public class ExcelService {
private final Logger logger = LoggerFactory.getLogger(this.getClass()); 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) { 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); //defaultExport(list, fileName, response);
List<ExcelExportEntity> modelList = new ArrayList<ExcelExportEntity>(); List<ExcelExportEntity> modelList = new ArrayList<ExcelExportEntity>();
ExcelExportEntity excelentity = null; ExcelExportEntity excelentity = null;
@@ -41,8 +45,8 @@ public class ExcelService {
String titleKey = it.next(); String titleKey = it.next();
String title = titleMap.get(titleKey); String title = titleMap.get(titleKey);
excelentity = new ExcelExportEntity(title, titleKey); excelentity = new ExcelExportEntity(title, titleKey);
excelentity.setWidth(20);
excelentity.setHeight(10);
excelentity.setWidth(width);
excelentity.setHeight(height);
modelList.add(excelentity); modelList.add(excelentity);
} }
exportExcel(modelList,list,null,sheetName,fileName,true,response); exportExcel(modelList,list,null,sheetName,fileName,true,response);


+ 4
- 0
mallinkService/src/main/java/com/iformall/service/WxEnergyService.java Dosyayı Görüntüle

@@ -1,6 +1,7 @@
package com.iformall.service; package com.iformall.service;


import java.io.File; import java.io.File;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;


@@ -46,6 +47,7 @@ public interface WxEnergyService {
Map<Long,WxEnergyFeesTime> getTimeMap(WxEnergyFeesTime record); Map<Long,WxEnergyFeesTime> getTimeMap(WxEnergyFeesTime record);
void timeDel(WxEnergyFeesTime record); void timeDel(WxEnergyFeesTime record);
List<String> getTimeShopNumber(WxEnergyFeesTime record); List<String> getTimeShopNumber(WxEnergyFeesTime record);
List<Date> findLastTimeEndGroup(WxEnergyFeesTime record);
//费用科目 //费用科目
PageInfo<WxEnergyFees> feesListAsPage(WxEnergyFees record, Integer pageIndex, Integer pageSize,boolean isSetOff); PageInfo<WxEnergyFees> feesListAsPage(WxEnergyFees record, Integer pageIndex, Integer pageSize,boolean isSetOff);
@@ -74,6 +76,7 @@ public interface WxEnergyService {
void commitReading(WxEnergyMeterReading record,MallUserInfo userInfo); void commitReading(WxEnergyMeterReading record,MallUserInfo userInfo);
WxEnergyMeterReading getReadingById(WxEnergyMeterReading record); WxEnergyMeterReading getReadingById(WxEnergyMeterReading record);
void setReadingIsDel(WxEnergyMeterReading record); void setReadingIsDel(WxEnergyMeterReading record);
void setReadingConfirm(WxEnergyMeterReading record);
void exportReading(WxEnergyMeterReading record,HttpServletRequest request, HttpServletResponse response); void exportReading(WxEnergyMeterReading record,HttpServletRequest request, HttpServletResponse response);
void importReading(MultipartFile mFile, MallUserInfo user, 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 createBill(WxEnergyReadingCalcute record, MallUserInfo user);
void setReadingCalcuteIsDel(WxEnergyReadingCalcute record); void setReadingCalcuteIsDel(WxEnergyReadingCalcute record);
List<String> getReadingCalcuteShopNumber(WxEnergyReadingCalcute record); List<String> getReadingCalcuteShopNumber(WxEnergyReadingCalcute record);
void deleteReadingCalcuteResult(Long id,TenantEntity tenantEntity);
} }

+ 18
- 9
mallinkService/src/main/java/com/iformall/service/helper/WxEnergyHelper.java Dosyayı Görüntüle

@@ -91,15 +91,18 @@ public class WxEnergyHelper {
List<String> floorAreaList = PlaceholderExtractorWithPrefixAndSuffix.extractPlaceholders(formula, "#floorArea_", "#"); List<String> floorAreaList = PlaceholderExtractorWithPrefixAndSuffix.extractPlaceholders(formula, "#floorArea_", "#");
List<String> meterList = PlaceholderExtractorWithPrefixAndSuffix.extractPlaceholders(formula, "#meter_", "#"); List<String> meterList = PlaceholderExtractorWithPrefixAndSuffix.extractPlaceholders(formula, "#meter_", "#");
formula = formula.replaceAll("\\{.*?\\}", "");
formula = formula.replaceAll("\\{", "").replaceAll("\\}", "");
if (null != buildingAreaMap && null != buildingAreaList && buildingAreaList.size() > 0 ) { if (null != buildingAreaMap && null != buildingAreaList && buildingAreaList.size() > 0 ) {
for (int i = 0 ; i < buildingAreaList.size(); i ++) { for (int i = 0 ; i < buildingAreaList.size(); i ++) {
String buildArea = buildingAreaList.get(i); String buildArea = buildingAreaList.get(i);
String[] bs = buildArea.split("_"); String[] bs = buildArea.split("_");
if (null != bs && bs.length > 1) { 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) { 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 floorArea = floorAreaList.get(i);
String[] bs = floorArea.split("_"); String[] bs = floorArea.split("_");
if (null != bs && bs.length > 1) { 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) { 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 meter = meterList.get(i);
String[] bs = meter.split("_"); String[] bs = meter.split("_");
if (null != bs && bs.length > 1) { 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 ) { 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 ; return ;
} }
List<String> buildingAreaList = PlaceholderExtractorWithPrefixAndSuffix.extractPlaceholders(formula, "#", "#"); List<String> buildingAreaList = PlaceholderExtractorWithPrefixAndSuffix.extractPlaceholders(formula, "#", "#");
formula = formula.replaceAll("\\{.*?\\}", "");
formula = formula.replaceAll("\\{", "").replaceAll("\\}", "");
if (null != buildingAreaList && buildingAreaList.size() > 0 ) { if (null != buildingAreaList && buildingAreaList.size() > 0 ) {
for (int i = 0 ; i < buildingAreaList.size(); i ++) { for (int i = 0 ; i < buildingAreaList.size(); i ++) {
String floorArea = buildingAreaList.get(i); String floorArea = buildingAreaList.get(i);
String relpaceFloorArea = floorArea.replaceAll("\\{.*?\\}", "");
String relpaceFloorArea = floorArea.replaceAll("\\{", "").replaceAll("\\}", "");
formula = formula.replaceAll(relpaceFloorArea, "1"); formula = formula.replaceAll(relpaceFloorArea, "1");
} }
} }


+ 133
- 28
mallinkService/src/main/java/com/iformall/service/impl/WxEnergyServiceImpl.java Dosyayı Görüntüle

@@ -291,6 +291,26 @@ public class WxEnergyServiceImpl implements WxEnergyService {
@Override @Override
public PageInfo<WxEnergyFeesTime> timeListAsPage(WxEnergyFeesTime record, Integer pageIndex, Integer pageSize) { 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)); return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxEnergyFeesTimeMapper.findList(record));
} }
@@ -302,9 +322,9 @@ public class WxEnergyServiceImpl implements WxEnergyService {
} }
Date date = new Date(); Date date = new Date();
if (record.getId() == null) { if (record.getId() == null) {
//查询是不是已经有了 //查询是不是已经有了
WxEnergyFeesTimeShop tsq = new WxEnergyFeesTimeShop(); WxEnergyFeesTimeShop tsq = new WxEnergyFeesTimeShop();
tsq.updateTenantInfo(record);
tsq.setPeriod(record.getPeriod()); tsq.setPeriod(record.getPeriod());
tsq.setShopIds(record.getShopIds()); tsq.setShopIds(record.getShopIds());
tsq.setType(record.getType()); tsq.setType(record.getType());
@@ -312,7 +332,13 @@ public class WxEnergyServiceImpl implements WxEnergyService {
if (null != scount && scount > 0 ) { if (null != scount && scount > 0 ) {
throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"所选店铺已存在该年月的"+record.getTypeName()+"区间"); 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(); final IdWorker idWorker = IdWorker.get();
record.setId(idWorker.nextId()); record.setId(idWorker.nextId());
record.setCreateTime(date); record.setCreateTime(date);
@@ -328,6 +354,10 @@ public class WxEnergyServiceImpl implements WxEnergyService {
ts.setShopId(shopId); ts.setShopId(shopId);
ts.setPeriod(record.getPeriod()); ts.setPeriod(record.getPeriod());
ts.setType(record.getType()); ts.setType(record.getType());
ts.setCreateTime(new Date());
ts.setUpdateTime(new Date());
ts.setStartTime(record.getStartTime());
ts.setEndTime(record.getEndTime());
wxEnergyFeesTimeShopMapper.insert(ts); wxEnergyFeesTimeShopMapper.insert(ts);
} }
@@ -335,10 +365,7 @@ public class WxEnergyServiceImpl implements WxEnergyService {
logger.error("保存租赁账单失败,e:" + e.getMessage()); logger.error("保存租赁账单失败,e:" + e.getMessage());
throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage());
} }
} else {
record.setUpdateTime(date);
wxEnergyFeesTimeMapper.updateById(record);
}
}
} }
@Override @Override
@@ -383,6 +410,16 @@ public class WxEnergyServiceImpl implements WxEnergyService {
return wxShopService.getShopNumberList(sq); 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 @Override
public PageInfo<WxEnergyFees> feesListAsPage(WxEnergyFees record, Integer pageIndex, Integer pageSize,boolean isSetOff) { 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.setPreTime(pre.getCreateTime());
r.setPreBy(pre.getCreateBy()); r.setPreBy(pre.getCreateBy());
r.setPreByName(pre.getCreateByName()); 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 { }else {
r.setPreNumber("0"); r.setPreNumber("0");
} }
r.setStartTime(record.getStartTime());
if (null == r.getStartTime()) {
r.setStartTime(record.getStartTime());
}
r.setEndTime(record.getEndTime()); r.setEndTime(record.getEndTime());
//根据表id获取表名 //根据表id获取表名
WxEnergyMeter meter = wxEnergyMeterMapper.selectById(r.getMeterId(), record.getTenantId()); 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()); wxEnergyMeterReadingMapper.setIsDel(record.getId(), record.getTenantId(), record.getIsDel());
} }
@Override
public void setReadingConfirm(WxEnergyMeterReading record) {
wxEnergyMeterReadingMapper.setConfirm(record);
}
@Override @Override
public void exportReading(WxEnergyMeterReading record, HttpServletRequest request, HttpServletResponse response) { public void exportReading(WxEnergyMeterReading record, HttpServletRequest request, HttpServletResponse response) {
List<Map<String,Object>> execlList = new ArrayList<Map<String,Object>>(); List<Map<String,Object>> execlList = new ArrayList<Map<String,Object>>();
@@ -887,7 +938,7 @@ public class WxEnergyServiceImpl implements WxEnergyService {
execlList.add(r.generateExcelData()); execlList.add(r.generateExcelData());
} }
} }
excelService.exportExcel(WxEnergyMeterReading.generateExcelTitle(),execlList, "抄表数据.xlsx","sheet1", response);
excelService.exportExcel(WxEnergyMeterReading.generateExcelTitle(),execlList, "抄表数据.xlsx","sheet1",10,5, response);
} }
@Override @Override
@@ -958,6 +1009,17 @@ public class WxEnergyServiceImpl implements WxEnergyService {
@Override @Override
public List<WxEnergyReadingCalcute> findCalcuteList(WxEnergyReadingCalcute record) { 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); 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; Map<Long,List<Long>> summaryMeterMap = null;
if (fees.getIsPublic() == EnumYesOrNo.YES.getCode()) { if (fees.getIsPublic() == EnumYesOrNo.YES.getCode()) {
@@ -1041,10 +1096,10 @@ public class WxEnergyServiceImpl implements WxEnergyService {
sumq.updateTenantInfo(record); sumq.updateTenantInfo(record);
sumq.setType(fees.getType()); sumq.setType(fees.getType());
sumq.setPhysicsType(EnumEnergyMeterPhysicsType.SUMMARY.getCode()); sumq.setPhysicsType(EnumEnergyMeterPhysicsType.SUMMARY.getCode());
List<WxEnergyMeter> sumeterList = wxEnergyMeterMapper.findList(mq);
List<WxEnergyMeter> sumeterList = wxEnergyMeterMapper.findList(sumq);
if (null != sumeterList && sumeterList.size() > 0 ) { if (null != sumeterList && sumeterList.size() > 0 ) {
summaryMeterMap = new HashMap<Long,List<Long>>(); 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); WxEnergyMeter summaryMeter = sumeterList.get(i);
//查询总表下的子表 //查询总表下的子表
WxEnergyMeterChild mcq = new WxEnergyMeterChild(); WxEnergyMeterChild mcq = new WxEnergyMeterChild();
@@ -1062,13 +1117,32 @@ public class WxEnergyServiceImpl implements WxEnergyService {
for (int i = 0 ; i < shopIds.size(); i ++) { for (int i = 0 ; i < shopIds.size(); i ++) {
Long shopId= shopIds.get(i); Long shopId= shopIds.get(i);
WxShop shop = shopMap.get(shopId); 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(); WxEnergyFeesTimeShop sq = new WxEnergyFeesTimeShop();
sq.updateTenantInfo(record); sq.updateTenantInfo(record);
sq.setShopId(shopId); sq.setShopId(shopId);
List<Long> timeIds = wxEnergyFeesTimeShopMapper.findTimeIdList(sq); List<Long> timeIds = wxEnergyFeesTimeShopMapper.findTimeIdList(sq);
if (null == timeIds || timeIds.size() <= 0 ) { if (null == timeIds || timeIds.size() <= 0 ) {
return;
throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"店铺"+shop.getShopNumber()+"未设置抄表区间");
} }
//一个年月,一个店铺应该只有一个周期 //一个年月,一个店铺应该只有一个周期
WxEnergyFeesTime tq = new WxEnergyFeesTime(); WxEnergyFeesTime tq = new WxEnergyFeesTime();
@@ -1077,17 +1151,18 @@ public class WxEnergyServiceImpl implements WxEnergyService {
tq.setPeriod(record.getPeriod()); tq.setPeriod(record.getPeriod());
List<WxEnergyFeesTime> timelist = wxEnergyFeesTimeMapper.findList(tq); List<WxEnergyFeesTime> timelist = wxEnergyFeesTimeMapper.findList(tq);
if (null == timelist || timelist.size() <= 0 ) { if (null == timelist || timelist.size() <= 0 ) {
return;
throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"店铺"+shop.getShopNumber()+"未设置抄表区间");
} }
WxEnergyFeesTime time = timelist.get(0); WxEnergyFeesTime time = timelist.get(0);
//根据店铺查询绑定的科目 //根据店铺查询绑定的科目
WxEnergyFeesShop csq = new WxEnergyFeesShop(); WxEnergyFeesShop csq = new WxEnergyFeesShop();
csq.updateTenantInfo(record); csq.updateTenantInfo(record);
csq.setFeesId(fees.getId());
csq.setShopId(shopId); csq.setShopId(shopId);
List<WxEnergyFeesShop> shopFeesList = wxEnergyFeesShopMapper.findList(csq); List<WxEnergyFeesShop> shopFeesList = wxEnergyFeesShopMapper.findList(csq);
if (null == shopFeesList || shopFeesList.size() <= 0 ) { 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(); StringBuffer sb = new StringBuffer();
cs.setMoney(wxEnergyHelper.calcuteMoney(sb,totalArea,shop,time, fees, shopfee,meterList,summaryMeterMap,buildingAreaMap,floorAreaMap)); cs.setMoney(wxEnergyHelper.calcuteMoney(sb,totalArea,shop,time, fees, shopfee,meterList,summaryMeterMap,buildingAreaMap,floorAreaMap));
cs.setPeriod(record.getPeriod()); cs.setPeriod(record.getPeriod());
cs.setMoney(sb.toString());
cs.setMoneyDeail(sb.toString());
resultList.add(cs); 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 @Override
public PageInfo<WxEnergyReadingCalcuteResult> readingCalcuteResultListAsPage(WxEnergyReadingCalcuteResult record, Integer pageIndex, public PageInfo<WxEnergyReadingCalcuteResult> readingCalcuteResultListAsPage(WxEnergyReadingCalcuteResult record, Integer pageIndex,
Integer pageSize) { Integer pageSize) {
initReadingCalcuteResultQueryParam(record);
PageInfo<WxEnergyReadingCalcuteResult> page = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxEnergyReadingCalcuteResultMapper.findList(record)); PageInfo<WxEnergyReadingCalcuteResult> page = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxEnergyReadingCalcuteResultMapper.findList(record));
if (null != page && null != page.getList()) { if (null != page && null != page.getList()) {
WxEnergyFees fq = new WxEnergyFees(); WxEnergyFees fq = new WxEnergyFees();
@@ -1166,7 +1256,11 @@ public class WxEnergyServiceImpl implements WxEnergyService {
@Override @Override
public void exportReadingCalcuteResult(WxEnergyReadingCalcuteResult record, HttpServletRequest request, HttpServletResponse response) { public void exportReadingCalcuteResult(WxEnergyReadingCalcuteResult record, HttpServletRequest request, HttpServletResponse response) {
PageInfo<WxEnergyReadingCalcuteResult> page = readingCalcuteResultListAsPage(record, 1, 10000); 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) { private File handlerImportFile(MultipartFile mFile,String fileNamePre) {
@@ -1262,7 +1356,6 @@ public class WxEnergyServiceImpl implements WxEnergyService {
public void createBill(WxEnergyReadingCalcute record, MallUserInfo user) { public void createBill(WxEnergyReadingCalcute record, MallUserInfo user) {
WxEnergyReadingCalcute calcute = wxEnergyReadingCalcuteMapper.selectById(record.getId(), record.getTenantId()); WxEnergyReadingCalcute calcute = wxEnergyReadingCalcuteMapper.selectById(record.getId(), record.getTenantId());
WxEnergyReadingCalcuteResult crq = new WxEnergyReadingCalcuteResult(); WxEnergyReadingCalcuteResult crq = new WxEnergyReadingCalcuteResult();
crq.updateTenantInfo(record); crq.updateTenantInfo(record);
crq.setCalcuteId(calcute.getId()); crq.setCalcuteId(calcute.getId());
@@ -1318,11 +1411,18 @@ public class WxEnergyServiceImpl implements WxEnergyService {


@Override @Override
public void setReadingCalcuteIsDel(WxEnergyReadingCalcute record) { 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 @Override
@@ -1343,4 +1443,9 @@ public class WxEnergyServiceImpl implements WxEnergyService {
return null; return null;
} }


@Override
public void deleteReadingCalcuteResult(Long id, TenantEntity tenantEntity) {
wxEnergyReadingCalcuteResultMapper.deleteById(id);
}

} }

+ 6
- 2
mallinkService/src/main/resources/mapper/WxEnergyFeesTimeMapper.xml Dosyayı Görüntüle

@@ -7,6 +7,7 @@
<result column="parent_tenant_id" jdbcType="VARCHAR" property="parentTenantId" /> <result column="parent_tenant_id" jdbcType="VARCHAR" property="parentTenantId" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/> <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/> <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="name" jdbcType="VARCHAR" property="name"/>
<result column="type" jdbcType="INTEGER" property="type"/> <result column="type" jdbcType="INTEGER" property="type"/>
<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"/>
@@ -15,7 +16,7 @@
</resultMap> </resultMap>


<sql id="allColumns"> <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>


<sql id="dynamicWhereConditions"> <sql id="dynamicWhereConditions">
@@ -30,6 +31,9 @@
<if test=" null != period and '' != period"> <if test=" null != period and '' != period">
and `period` = #{period} and `period` = #{period}
</if> </if>
<if test=" null != name and '' != name">
and `name` like concat('%', #{name},'%')
</if>
<if test=" null != type ">and `type` = #{type}</if> <if test=" null != type ">and `type` = #{type}</if>
<if test=" null != ids "> <if test=" null != ids ">
and id in and id in
@@ -56,6 +60,6 @@
<update id = "setIsDel" parameterType="HashMap"> <update id = "setIsDel" parameterType="HashMap">
update wx_energy_fees_time set is_del = #{isDel} where id = #{id} and `tenant_id` = #{tenantId} update wx_energy_fees_time set is_del = #{isDel} where id = #{id} and `tenant_id` = #{tenantId}
</update> </update>
</mapper> </mapper>



+ 11
- 1
mallinkService/src/main/resources/mapper/WxEnergyFeesTimeShopMapper.xml Dosyayı Görüntüle

@@ -9,12 +9,14 @@
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/> <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="period" jdbcType="VARCHAR" property="period"/> <result column="period" jdbcType="VARCHAR" property="period"/>
<result column="time_id" jdbcType="BIGINT" property="timeId"/> <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="shop_id" jdbcType="BIGINT" property="shopId"/>
<result column="type" jdbcType="INTEGER" property="type"/> <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`,`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>


<sql id="dynamicWhereConditions"> <sql id="dynamicWhereConditions">
@@ -82,5 +84,13 @@
<include refid="dynamicWhereConditions"/> <include refid="dynamicWhereConditions"/>
</select> </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> </mapper>



+ 1
- 0
mallinkService/src/main/resources/mapper/WxEnergyMeterMapper.xml Dosyayı Görüntüle

@@ -34,6 +34,7 @@
<if test=" null != physicsType ">and `physics_type` = #{physicsType}</if> <if test=" null != physicsType ">and `physics_type` = #{physicsType}</if>
<if test=" null != shopType ">and `shop_type` = #{shopType}</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 != 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 != isRealMeter ">and `physics_type` in (1,2) </if>
<if test=" null != hasFee ">and `has_fee` = #{hasFee}</if> <if test=" null != hasFee ">and `has_fee` = #{hasFee}</if>
<if test=" null != physicsTypeList "> <if test=" null != physicsTypeList ">


+ 12
- 2
mallinkService/src/main/resources/mapper/WxEnergyMeterReadingMapper.xml Dosyayı Görüntüle

@@ -24,6 +24,7 @@
<result column="meter_rate" jdbcType="VARCHAR" property="meterRate"/> <result column="meter_rate" jdbcType="VARCHAR" property="meterRate"/>
<result column="meter_name" jdbcType="VARCHAR" property="meterName"/> <result column="meter_name" jdbcType="VARCHAR" property="meterName"/>
<result column="is_del" jdbcType="INTEGER" property="isDel"/> <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="building_name" jdbcType="VARCHAR" property="buildingName"/>
<result column="floor_name" jdbcType="VARCHAR" property="floorName"/> <result column="floor_name" jdbcType="VARCHAR" property="floorName"/>
<result column="shop_name" jdbcType="VARCHAR" property="shopName"/> <result column="shop_name" jdbcType="VARCHAR" property="shopName"/>
@@ -31,7 +32,7 @@


<sql id="allColumns"> <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`, `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>


<sql id="dynamicWhereConditions"> <sql id="dynamicWhereConditions">
@@ -48,6 +49,7 @@
<if test=" null != meterType ">and `meter_type` = #{meterType}</if> <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 != meterName and '' != meterName ">and meter_name like concat('%', #{meterName},'%')</if>
<if test=" null != isDel ">and `is_del` = #{isDel}</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 != createByName and '' != createByName ">and create_by_name like concat('%', #{createByName},'%')</if>
<if test=" null != meterIds "> <if test=" null != meterIds ">
and meter_id in and meter_id in
@@ -88,10 +90,18 @@
</update> </update>
<select id="findNumberSum" parameterType="com.iformall.domain.po.WxEnergyMeterReading" resultType="decimal"> <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 from wx_energy_meter_reading
<include refid="dynamicWhereConditions"/> <include refid="dynamicWhereConditions"/>
</select> </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> </mapper>



+ 16
- 0
mallinkService/src/main/resources/mapper/WxEnergyReadingCalcuteResultMapper.xml Dosyayı Görüntüle

@@ -37,6 +37,12 @@
<if test=" null != shopId ">and `shop_id` = #{shopId}</if> <if test=" null != shopId ">and `shop_id` = #{shopId}</if>
<if test=" null != feesId ">and `fees_id` = #{feesId}</if> <if test=" null != feesId ">and `fees_id` = #{feesId}</if>
<if test=" null != feesShopId ">and `fees_shop_id` = #{feesShopId}</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 "> <if test=" null != feesIds ">
and fees_id in and fees_id in
<foreach collection="feesIds" index="index" item="feidItem" open="(" separator="," close=")"> <foreach collection="feesIds" index="index" item="feidItem" open="(" separator="," close=")">
@@ -71,6 +77,12 @@
<include refid="dynamicWhereConditions"/> <include refid="dynamicWhereConditions"/>
</select> </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 id="insertResults" parameterType="HashMap">
INSERT INTO wx_energy_reading_calcute_result ( INSERT INTO wx_energy_reading_calcute_result (
<include refid="allColumns"/> <include refid="allColumns"/>
@@ -84,5 +96,9 @@
</foreach> </foreach>
</insert> </insert>
<delete id="deleteByCondition" parameterType="com.iformall.domain.po.WxEnergyReadingCalcuteResult">
delete from wx_energy_reading_calcute_result where `calcute_id` = #{calcuteId}
</delete>
</mapper> </mapper>



Yükleniyor…
İptal
Kaydet