diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxEnergyController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxEnergyController.java index 5eda265a4..893bb3aa8 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxEnergyController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxEnergyController.java @@ -664,10 +664,6 @@ public class WxEnergyController extends BaseController { @PostMapping("createBill") public ResultData createBill(@RequestBody WxEnergyReadingCalcute record) { // record.updateTenantInfo(getTenantInfo()); -// WxEnergyReadingCalcute wrc = wxEnergyService.getReadingCalcuteById(record); -// if (null == wrc) { -// return new ResultData(Result.ERROR,"id错误"); -// } // Integer number = wxEnergyService.calcuteReading(wrc, getUser()); // return new ResultData(number); return null; diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxEnergyMeter.java b/mallinkService/src/main/java/com/iformall/domain/po/WxEnergyMeter.java index eea712fb5..4563c10d4 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxEnergyMeter.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxEnergyMeter.java @@ -83,7 +83,6 @@ public class WxEnergyMeter extends TenantEntity { private Long treeParentId; @TableField(exist = false) private String treeParentType; - @TableField(exist = false) private Long aliasId; @TableField(exist = false) @@ -102,4 +101,5 @@ public class WxEnergyMeter extends TenantEntity { private Integer isValid; @TableField(exist = false) private Integer hasShop; + } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxEnergyMeterReading.java b/mallinkService/src/main/java/com/iformall/domain/po/WxEnergyMeterReading.java index 3456bf632..84f3085f5 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxEnergyMeterReading.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxEnergyMeterReading.java @@ -154,56 +154,4 @@ public class WxEnergyMeterReading extends TenantEntity { return excelObject; } - private WxAllBill generateBill(WxEnergyReadingCalcute calcute,WxMerchant merchant,MallUserInfo user,String needPay,String detail,String remark) { - WxAllBill daily = new WxAllBill(); -// final IdWorker idWorker = IdWorker.get(); -// daily.setId(idWorker.nextId()); -// daily.updateTenantInfo(this); -// daily.setMerchantId(merchant.getId()); -// daily.setRentShopType(merchant.getType()); -// daily.setCreatetime(new Date()); -// daily.setCreateBy(user.getId()); -// daily.setCreateByName(user.getName()); -// daily.setUpdateBy(user.getId()); -// daily.setUpdateByName(user.getName()); -// daily.setUpdatetime(new Date()); -// daily.setReceivePay(needPay); -// daily.setNeedPay(needPay); -// daily.setPay("0"); -// daily.setStarttime(this.startTime); -// daily.setEndtime(this.endTime); -// daily.setOwe(needPay); -// daily.setShopId(this.shopId); -// daily.setShopNumber(this.shopNumber); -// daily.setBillType(EnumBillAllType.DAILY.getCode()); -// daily.setEnergyFeesId(calcute.getFeesId()); -// daily.setPriceDetail(detail); -// daily.setServiceChargePay("0"); -// daily.setBillRemark(remark); -// daily.setIsPreview(EnumYesOrNo.NO.getCode()); -// daily.setEnergyReadingCalcuteId(calcute.getId()); -// daily.setEnergyReadingId(id); - return daily; - } - - public WxAllBill generateUserBill(WxEnergyReadingCalcute calcute,WxMerchant merchant,MallUserInfo user,WxEnergyMeter meter) { -// BigDecimal dx = new BigDecimal(this.curNumber).subtract(new BigDecimal(this.preNumber)); -// BigDecimal needPay = new BigDecimal(this.price).multiply(dx).divide(new BigDecimal(meter.getRate())).setScale(2,RoundingMode.HALF_UP); -// if (needPay.compareTo(new BigDecimal(0)) <= 0 ) { -// return null; -// } -// String detail = "单价:"+this.price+",上次读数:"+this.preNumber+",本次读数:"+this.curNumber+",读数差:"+dx.toPlainString()+",表倍率:"+meter.getRate()+",费用:"+needPay.toPlainString(); -// return generateBill(calcute,merchant, user, needPay.toPlainString(), detail, "抄表计算自动生成"); - return null; - } - - public WxAllBill generatePublicBill(WxEnergyReadingCalcute calcute,WxMerchant merchant,MallUserInfo user,String needPay) { -// if (new BigDecimal(needPay).compareTo(new BigDecimal(0)) <= 0 ) { -// return null; -// } -// String detail = "单价:"+this.price+",费用:"+needPay; -// return generateBill(calcute,merchant, user, needPay, detail, "抄表计算自动生成公摊"); - return null; - } - } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxEnergyServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxEnergyServiceImpl.java index a51320239..b9de82944 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxEnergyServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxEnergyServiceImpl.java @@ -1128,198 +1128,15 @@ public class WxEnergyServiceImpl implements WxEnergyService { } - private Map getFloorBuildingMoney(WxEnergyMeterReading reading,boolean isFloor) { -// List list = null; -// if (isFloor) { -// list = wxEnergyMeterReadingMapper.findFloorSumMoney(reading); -// }else { -// wxEnergyMeterReadingMapper.findBuildingSumMoney(reading); -// } -// -// if (null != list && list.size() > 0 ) { -// Map buildinMap = new HashMap(); -// for (int i = 0 ; i < list.size() ; i++) { -// Map bup = list.get(i); -// BigDecimal are = (BigDecimal)bup.get("money"); -// if (null != are) { -// buildinMap.put((Long)bup.get("building_id"), are.toPlainString()); -// }else { -// buildinMap.put((Long)bup.get("building_id"), "0"); -// } -// -// } -// return buildinMap; -// } - return null; - } - @Override public Integer calcuteReading(WxEnergyReadingCalcute record, MallUserInfo user) { -// //根据科目,区间,计算生成账单。 -// WxEnergyMeterReading reading = new WxEnergyMeterReading(); -// reading.updateTenantInfo(record); -// reading.setTimeId(record.getTimeId()); -// reading.setIsDel(EnumYesOrNo.NO.getCode()); -// reading.setIsPublic(EnumYesOrNo.NO.getCode()); -// -// WxEnergyFees fq = new WxEnergyFees(); -// fq.updateTenantInfo(record); -// fq.setIsDel(EnumYesOrNo.NO.getCode()); -// fq.setId(record.getFeesId()); -// WxEnergyFees fees = this.getFeesById(fq); -// if (null == fees) { -// throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"科目未查询到。"); -// } -// -// WxEnergyFeesTime tq = new WxEnergyFeesTime(); -// tq.updateTenantInfo(record); -// tq.setId(record.getTimeId()); -// WxEnergyFeesTime time = this.getFeesTimeById(tq); -// if (null == time) { -// throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"区间未查询到。"); -// } -// -// if (fees.getType().intValue() != time.getType().intValue()) { -// throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"科目和区间的表类型不匹配。"); -// } -// -// reading.setMeterType(time.getType()); -// + + // //用户表列表 // List readingList = wxEnergyMeterReadingMapper.findList(reading); // if (null != readingList && readingList.size() > 0 ) { // -// WxShop sq = new WxShop(); -// sq.updateTenantInfo(record); -// Map shopMerchantMap = wxMerchantService.getShopMerchantMap(sq); -// Map shopMap = wxShopService.findShopMap(sq); // -// WxEnergyMeter mq = new WxEnergyMeter(); -// mq.updateTenantInfo(record); -// mq.setIsDel(EnumYesOrNo.NO.getCode()); -// Map meterMap = this.getMeterMap(mq); -// if (null == meterMap) { -// throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"能源表未查询到。"); -// } -// -// String publicTotalArea = "0"; -// BigDecimal publicTotalMoney = new BigDecimal(0); -// BigDecimal b0 = new BigDecimal(0); -// Map buildingFloorMoney = null; -// Map buildingFloorArea = null; -// if (fees.getPublicCalcute().intValue() == EnumEnergyPublicCalcuteRule.ALL.getCode().intValue()) { -// //全部就查询所有公共表的费用 -// reading.setIsPublic(EnumYesOrNo.YES.getCode()); -// String publicMoney = wxEnergyMeterReadingMapper.findAllSumMoney(reading); -// if (StringUtils.isNotBlank(publicMoney)) { -// publicTotalMoney = new BigDecimal(publicMoney); -// } -// //公摊总面积 -// WxMallFloor mf = new WxMallFloor(); -// mf.updateTenantInfo(record); -// publicTotalArea = wxMallFloorService.getAllPublicAreaSum(mf); -// if (StringUtils.isBlank(publicTotalArea)) { -// throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"楼层可用面积未配置。"); -// } -// BigDecimal areaDecimal = new BigDecimal(publicTotalArea); -// if (areaDecimal.compareTo(new BigDecimal(0)) <= 0 ) { -// throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"楼层可用面积未配置。"); -// } -// }else if (fees.getPublicCalcute().intValue() == EnumEnergyPublicCalcuteRule.BUILDING.getCode().intValue()) { -// //如果是按楼栋计算,则要把每个楼栋的金额都要算出来 -// reading.setIsPublic(EnumYesOrNo.YES.getCode()); -// buildingFloorMoney = getFloorBuildingMoney(reading,false); -// //各楼座总面积 -// WxMallFloor mf = new WxMallFloor(); -// mf.updateTenantInfo(record); -// buildingFloorArea = wxMallFloorService.getBuildingPublicAreaSum(mf); -// if (null == buildingFloorArea) { -// throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"楼层可用面积未配置。"); -// } -// }else if (fees.getPublicCalcute().intValue() == EnumEnergyPublicCalcuteRule.FLOOR.getCode().intValue()) { -// //查询各楼层的费用 -// reading.setIsPublic(EnumYesOrNo.YES.getCode()); -// buildingFloorMoney = getFloorBuildingMoney(reading,true); -// //各楼层面积 -// //各楼座总面积 -// WxMallFloor mf = new WxMallFloor(); -// mf.updateTenantInfo(record); -// buildingFloorArea = wxMallFloorService.getFloorPublicAreaSum(mf); -// if (null == buildingFloorArea) { -// throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"楼层可用面积未配置。"); -// } -// } -// -// List billList = new ArrayList(); -// for (int i = 0 ; i< readingList.size() ; i ++) { -// WxEnergyMeterReading mr = readingList.get(i); -// //用户表账单 -// WxMerchant merchant = shopMerchantMap.get(mr.getShopId()); -// if (null == merchant) { -// throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"铺位["+mr.getShopNumber()+"]未找到出租商户"); -// } -// WxEnergyMeter meter = meterMap.get(mr.getMeterId()); -// if (null == meter) { -// throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"表["+mr.getMeterName()+"]不存在"); -// } -// WxShop shop = shopMap.get(mr.getShopId()); -// WxAllBill userBill = mr.generateUserBill(record, merchant, user, meter); -// userBill.setEnergyFeesId(fees.getId()); -// if (null != userBill) { -// billList.add(userBill); -// } -// /* -// * 总表(分摊账单) -// * 如果科目是根据总面积公摊,则根据总面积计算 -// * 如果科目是根据楼栋公摊,则根据当前记录的楼栋面积计算 -// * 如果科目是根据楼层公摊,则根据当前记录的楼层面积计算 -// */ -// WxAllBill publicBill = null; -// if (fees.getPublicCalcute().intValue() == EnumEnergyPublicCalcuteRule.ALL.getCode().intValue()) { -// if (publicTotalMoney.compareTo(b0) > 0 ) { -// String needPay = publicTotalMoney.multiply(new BigDecimal(shop.getRentArea())).divide(new BigDecimal(publicTotalArea)).setScale(2,RoundingMode.HALF_UP).toPlainString(); -// publicBill = mr.generatePublicBill(record, merchant, user, needPay); -// } -// }else if (fees.getPublicCalcute().intValue() == EnumEnergyPublicCalcuteRule.BUILDING.getCode().intValue()) { -// String buildingArea = buildingFloorArea.get(mr.getBuildingId()); -// if (StringUtils.isBlank(buildingArea) || new BigDecimal(buildingArea).compareTo(new BigDecimal(0)) <= 0 ) { -// throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"楼层可用面积未配置完全。"); -// } -// BigDecimal buildingMoney = new BigDecimal(0); -// if (null != buildingFloorMoney ) { -// String bMoney = buildingFloorMoney.get(mr.getBuildingId()); -// if (StringUtils.isNotBlank(bMoney)) { -// buildingMoney = new BigDecimal(bMoney); -// } -// } -// if (buildingMoney.compareTo(b0) > 0 ) { -// String needPay = buildingMoney.multiply(new BigDecimal(shop.getRentArea())).divide(new BigDecimal(buildingArea)).setScale(2,RoundingMode.HALF_UP).toPlainString(); -// publicBill = mr.generatePublicBill(record, merchant, user, needPay); -// } -// }else if (fees.getPublicCalcute().intValue() == EnumEnergyPublicCalcuteRule.FLOOR.getCode().intValue()) { -// String floorArea = buildingFloorArea.get(mr.getFloorId()); -// if (StringUtils.isBlank(floorArea) || new BigDecimal(floorArea).compareTo(new BigDecimal(0)) <= 0 ) { -// throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"楼层可用面积未配置完全。"); -// } -// -// BigDecimal floorMoney = new BigDecimal(0); -// if (null != buildingFloorMoney ) { -// String fMoney = buildingFloorMoney.get(mr.getFloorId()); -// if (StringUtils.isNotBlank(fMoney)) { -// floorMoney = new BigDecimal(fMoney); -// } -// } -// if (floorMoney.compareTo(b0) > 0 ) { -// String needPay = floorMoney.multiply(new BigDecimal(shop.getRentArea())).divide(new BigDecimal(floorArea)).setScale(2,RoundingMode.HALF_UP).toPlainString(); -// publicBill = mr.generatePublicBill(record, merchant, user, needPay); -// } -// } -// -// if (null != publicBill) { -// publicBill.setEnergyFeesId(fees.getId()); -// billList.add(publicBill); -// } -// } // boolean allSuccess = true; // if (billList.size() > 0 ) { // try { diff --git a/mallinkService/src/main/resources/mapper/WxEnergyMeterMapper.xml b/mallinkService/src/main/resources/mapper/WxEnergyMeterMapper.xml index 525f1ef8a..99520a0fd 100644 --- a/mallinkService/src/main/resources/mapper/WxEnergyMeterMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxEnergyMeterMapper.xml @@ -33,6 +33,7 @@ and `physics_type` = #{physicsType} and `shop_type` = #{shopType} and name like concat('%', #{name},'%') + and `physics_type` in (1,2) and physics_type in