From 8747c4a7c71cd207932e6f528448088c5dd2a737 Mon Sep 17 00:00:00 2001 From: winter Date: Sat, 31 Aug 2024 11:30:21 +0800 Subject: [PATCH 01/12] fix --- .../market/WxFinanceController.java | 14 +++ .../domain/po/WxFinanceReceiveBill.java | 33 ++++++ .../iformall/service/WxFinanceService.java | 1 + .../service/impl/WxFinanceServiceImpl.java | 110 ++++++++++++++++++ .../mapper/WxFinanceReceiveBillMapper.xml | 27 ++++- 5 files changed, 184 insertions(+), 1 deletion(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java index 2679397fd..5a05900ed 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java @@ -14,6 +14,7 @@ import com.iformall.domain.po.WxBillPayWay; import com.iformall.domain.po.WxEnergyFees; import com.iformall.domain.po.WxFinanceFinish; import com.iformall.domain.po.WxFinanceReceive; +import com.iformall.domain.po.WxFinanceReceiveBill; import com.iformall.domain.po.WxFinanceReceiveSetoff; import com.iformall.domain.po.base.BaseEntity; import com.iformall.domain.vo.FinanceBillSetoffSum; @@ -317,6 +318,19 @@ public class WxFinanceController extends BaseController { return new ResultData(list); } + @ApiOperation("收款记录子账单列表") + @GetMapping("receiveBillList") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true), + }) + public ResultData receiveBillList(@ModelAttribute WxFinanceReceiveBill record, Integer pageNum, Integer pageSize) { + record.updateTenantInfo(getTenantInfo()); + record.setSortColumns(BaseEntity.SortField.CreateTime_DESC); + PageInfo page = wxFinanceService.receiveBillListAsPage(record, pageNum, pageSize); + return new ResultData(page); + } + @ApiOperation("收款记录列表(收款列表页面,有子账单)") @GetMapping("receiveList") @ApiImplicitParams({ diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceiveBill.java b/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceiveBill.java index 8914b0f98..185210e9d 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceiveBill.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceiveBill.java @@ -5,12 +5,14 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.iformall.domain.po.base.TenantEntity; import com.iformall.enums.EnumBillAllType; +import com.iformall.enums.EnumFinanceCashierType; import com.iformall.utils.Constant; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; import java.util.Date; +import java.util.List; /** */ @TableName(value = "wx_finance_receive_bill") @@ -26,6 +28,10 @@ public class WxFinanceReceiveBill extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value="createTime",name="createTime") private Date createTime; + @TableField(exist = false) + private Date createTimeBegin; + @TableField(exist = false) + private Date createTimeEnd; @io.swagger.annotations.ApiModelProperty(value="updateTime",name="updateTime") private Date updateTime; @@ -54,6 +60,17 @@ public class WxFinanceReceiveBill extends TenantEntity { @TableField(exist = false) private String payWayName; + @io.swagger.annotations.ApiModelProperty(value = "类型EnumFinanceCashierType", name = "type") + private Integer type; + @TableField(exist = false) + private String typeName; + public String getTypeName() { + if (null != type) { + return EnumFinanceCashierType.getEnum(type).getMessage(); + } + return null; + } + @io.swagger.annotations.ApiModelProperty(value="实收金额",name="receive") private String receive; @@ -89,8 +106,24 @@ public class WxFinanceReceiveBill extends TenantEntity { return setOff; } + @TableField(exist = false) + private String payWayStr; + @TableField(exist = false) + private String feesIdStr; @TableField(exist = false) private String shopNumber; @TableField(exist = false) + private Long building; + @TableField(exist = false) + private Long floor; + @TableField(exist = false) private String merchantName; + @TableField(exist = false) + private List payWayList; + @TableField(exist = false) + private List feesIdList; + @TableField(exist = false) + private Integer noReduce; + @TableField(exist = false) + private List merchantIdList; } diff --git a/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java b/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java index 79d25b521..62820bf24 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java @@ -33,6 +33,7 @@ public interface WxFinanceService { //收付款 PageInfo receiveVoListWithBillsAsPage(WxFinanceReceive record, Integer pageIndex, Integer pageSize); PageInfo receiveVoListAsPage(WxFinanceReceive record, Integer pageIndex, Integer pageSize); + PageInfo receiveBillListAsPage(WxFinanceReceiveBill record, Integer pageIndex, Integer pageSize); List findReceiveList(WxFinanceReceive record); Map createReceive(WxFinanceReceive record,MallUserInfo user); Map createPay(WxFinanceReceive record,MallUserInfo user); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java index d81d038f8..94219ec83 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java @@ -55,6 +55,8 @@ import com.iformall.service.WxShopService; import com.iformall.service.helper.WxBillAllHelper; import com.iformall.utils.Constant; import com.iformall.utils.DateUtils; +import com.iformall.utils.StringContentUtils; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -516,6 +518,114 @@ public class WxFinanceServiceImpl implements WxFinanceService { return receiveVoListAsPage(record, pageIndex, pageSize, false); } + @Override + public PageInfo receiveBillListAsPage(WxFinanceReceiveBill record, Integer pageIndex, Integer pageSize) { + initReceiveBillQueryParam(record); + PageInfo page = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxFinanceReceiveBillMapper.findList(record)); + if (null != page && null != page.getList()) { + WxMerchant mq = new WxMerchant(); + mq.updateTenantInfo(record); + Map merchantMap = wxMerchantService.findMerchantMap(mq); + + Map shopNumberMap = wxShopService.getMerchantShopNumberMap(record, null, null); + + WxBillPayWay pq = new WxBillPayWay(); + pq.updateTenantInfo(record); + Map paywayMap = this.getPayWayMap(pq); + + WxEnergyFees fq = new WxEnergyFees(); + fq.updateTenantInfo(record); + Map fmap = wxEnergyService.getFeesMap(fq); + for (int i = 0 ; i < page.getList().size() ; i++) { + WxFinanceReceiveBill fr = page.getList().get(i); + if (null != merchantMap && null != fr.getMerchantId()) { + WxMerchant merchant = merchantMap.get(fr.getMerchantId()); + if (null != merchant) { + fr.setMerchantName(merchant.getName()); + } + String shopNumber = shopNumberMap.get(fr.getMerchantId()); + fr.setShopNumber(shopNumber); + } + if (null != paywayMap && null != fr.getPayWay()) { + WxBillPayWay p = paywayMap.get(fr.getPayWay()); + if (null != p) { + fr.setPayWayName(p.getName()); + } + } + if (null != fmap && null != fr.getFeesId()) { + WxEnergyFees ef = fmap.get(fr.getFeesId()); + if (null != ef) { + fr.setFeesName(ef.getName()); + } + } + } + } + return page; + } + + private void initReceiveBillQueryParam(WxFinanceReceiveBill record) { + if (StringUtils.isNotBlank(record.getMerchantName()) || StringUtils.isNotBlank(record.getShopNumber())) { + record.setMerchantName(StringContentUtils.unescapeHtml(record.getMerchantName())); + record.setShopNumber(StringContentUtils.unescapeHtml(record.getMerchantName())); + } + + if (StringUtils.isNotBlank(record.getPayWayStr())) { + String[] payways = record.getPayWayStr().split(","); + if (null != payways && payways.length > 0 ) { + List paywayList = new ArrayList(); + for (int i = 0 ; i < payways.length ; i ++) { + paywayList.add(Long.parseLong(payways[i])); + } + record.setPayWayList(paywayList); + } + } + if (StringUtils.isNotBlank(record.getFeesIdStr())) { + String[] feesIdss = record.getFeesIdStr().split(","); + if (null != feesIdss && feesIdss.length > 0 ) { + List feesIdList = new ArrayList(); + for (int i = 0 ; i < feesIdss.length ; i ++) { + feesIdList.add(Long.parseLong(feesIdss[i])); + } + record.setFeesIdList(feesIdList); + } + } + List queryMerchantIds = new ArrayList(); + if (StringUtils.isNotBlank(record.getShopNumber()) + || null != record.getBuilding() || null != record.getFloor()) { + //根据店铺去找到商户 + WxShop sq = new WxShop(); + sq.updateTenantInfo(record); + sq.setShopNumber(record.getShopNumber()); + sq.setBuilding(record.getBuilding()); + sq.setFloor(record.getFloor()); + List merchantIds = wxShopService.getMerchantIds(sq); + if (null == merchantIds || merchantIds.size() <= 0 ) { + record.setId(-1L); + }else { + queryMerchantIds.addAll(merchantIds); + } + } + + if (StringUtils.isNotBlank(record.getMerchantName())) { + WxMerchant mq = new WxMerchant(); + mq.updateTenantInfo(record); + mq.setName(record.getMerchantName()); + List mids = wxMerchantService.findIdList(mq); + if (null == mids || mids.size() <= 0 ) { + record.setId(-1L); + }else { + if (queryMerchantIds.size() > 0 ) { + queryMerchantIds.retainAll(mids); + }else { + queryMerchantIds.addAll(mids); + } + } + } + if (queryMerchantIds.size() > 0 ) { + record.setMerchantIdList(queryMerchantIds); + } + } + @Override public List findReceiveList(WxFinanceReceive record) { initQueryParam(record); diff --git a/mallinkService/src/main/resources/mapper/WxFinanceReceiveBillMapper.xml b/mallinkService/src/main/resources/mapper/WxFinanceReceiveBillMapper.xml index 413ccfd7d..f7092baac 100644 --- a/mallinkService/src/main/resources/mapper/WxFinanceReceiveBillMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxFinanceReceiveBillMapper.xml @@ -18,11 +18,12 @@ + `id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`bill_id`,`bill_type`,`fees_id`, - `pay_way`,`receive_id`,`receive`,`pay`,`merchant_id`,`starttime`,`endtime`,`is_del` + `pay_way`,`receive_id`,`receive`,`pay`,`merchant_id`,`starttime`,`endtime`,`is_del`,`type` @@ -41,6 +42,30 @@ and `receive_id` = #{receiveId} and `merchant_id` = #{merchantId} and `is_del` = #{isDel} + and `create_time` >= #{createTimeBegin} + and `create_time` <= #{createTimeEnd} + and `starttime` >= #{starttime} + and `endtime` <= #{endtime} + and `pay_way` != 4 + and type = #{type} + + and merchant_id in + + #{midItem} + + + + and fees_id in + + #{fidItem} + + + + and pay_way in + + #{paidItem} + + and id in From fd0369429bb3cf6d8ce43f7de4280eab09cff67f Mon Sep 17 00:00:00 2001 From: winter Date: Sat, 31 Aug 2024 11:34:14 +0800 Subject: [PATCH 02/12] fix --- .../java/com/iformall/service/impl/WxFinanceServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java index 94219ec83..2867777e3 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java @@ -887,6 +887,7 @@ public class WxFinanceServiceImpl implements WxFinanceService { frbs.setBillId(bill.getId()); frbs.setBillType(bill.getBillType()); frbs.setFeesId(bill.getEnergyFeesId()); + frbs.setType(addreceive.getType()); frbs.setPayWay(payway); frbs.setReceive(receiveMoney); frbs.setPay(payMoeny); From 578faaa42553a48a735f4db1bc2f41543a8875aa Mon Sep 17 00:00:00 2001 From: winter Date: Sat, 31 Aug 2024 13:16:55 +0800 Subject: [PATCH 03/12] fix --- .../contract/WxRentContractController.java | 35 ++++++++++++++ .../domain/po/WxRentContractRevenueSales.java | 12 +++++ .../com/iformall/mapper/WxAllBillMapper.java | 1 + .../WxRentContractRevenueSalesMapper.java | 4 ++ .../service/WxRentContractService.java | 2 + .../impl/WxRentContractServiceImpl.java | 46 +++++++++++++++---- .../main/resources/mapper/WxAllBillMapper.xml | 6 +++ .../WxRentContractRevenueSalesMapper.xml | 23 +++++++++- 8 files changed, 119 insertions(+), 10 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java index 8dbcd2b29..9efc71e8b 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java @@ -912,6 +912,24 @@ public class WxRentContractController extends WxContractBaseController { return new ResultData(wxRentContractService.getRentContractYears(rentContract)); } + //查询合同年限已输入销售额情况 + @GetMapping("getContractYearsSales") + public ResultData getContractYearsSales(@ModelAttribute WxRentContract wxRentContract) { + if (null == wxRentContract) wxRentContract = new WxRentContract(); + WxRentContract rentContract = wxRentContractMapper.selectById(wxRentContract.getId()); + return new ResultData(wxRentContractService.getContractSales(rentContract)); + } + + @PostMapping("setContractYearsSalesConfirm") + public ResultData setContractYearsSalesConfirm(@RequestBody WxRentContract wxRentContract) { + WxRentContract rentContract = wxRentContractMapper.selectById(wxRentContract.getId()); + if (null == rentContract) { + return new ResultData(Result.ERROR, "编号["+wxRentContract.getId()+"]未找到租金合同"); + } + wxRentContractService.setContractSalesConfirm(rentContract); + return new ResultData(); + } + /** * 取高年度汇算计算 * @param wxRentContract @@ -934,6 +952,23 @@ public class WxRentContractController extends WxContractBaseController { } return new ResultData(wxRentContractService.calcuteYearsRevenueRentUp(rentContract)); } + + //查询合同年度汇算账单列表 + @GetMapping("getYearsRevenueRentUpBills") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) + public ResultData getYearsRevenueRentUpBills(@ModelAttribute WxRentContract wxRentContract, Integer pageNum, Integer pageSize) { + if (null == wxRentContract) wxRentContract = new WxRentContract(); + WxRentContract rentContract = wxRentContractMapper.selectById(wxRentContract.getId()); + WxAllBill billd = new WxAllBill(); + billd.updateTenantInfo(rentContract); + billd.setRentContractId(rentContract.getId()); + //删除这个时间的,不设置结束时间,因为可能之前有了账单。,然后撤铺,结束时间虽然不一样,开始时间是一致的。 + billd.setStarttimeEqual(rentContract.getYearsBegin()); + billd.setExtraCreateFrom(EnumBillExtraCreateFrom.RNET_TIAODIAN_HUISUAN.getCode()); + return new ResultData(wxAllBillService.listAsPage(billd,pageNum,pageSize)); + } } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxRentContractRevenueSales.java b/mallinkService/src/main/java/com/iformall/domain/po/WxRentContractRevenueSales.java index 419009b80..16a0f39f4 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxRentContractRevenueSales.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxRentContractRevenueSales.java @@ -35,6 +35,12 @@ public class WxRentContractRevenueSales extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value = "账单编号", name = "billId") private Long billId; + @io.swagger.annotations.ApiModelProperty(value = "账单开始日期", name = "starttime") + private Date starttime; + + @io.swagger.annotations.ApiModelProperty(value = "账单结束日期", name = "endtime") + private Date endtime; + @io.swagger.annotations.ApiModelProperty(value="账单应付金额",name="minMoney") private String billMoney; @@ -50,4 +56,10 @@ public class WxRentContractRevenueSales extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value="备注",name="remark") private String remark; + @io.swagger.annotations.ApiModelProperty(value="是否已确认",name="isConfirm") + private Integer isConfirm; + + @io.swagger.annotations.ApiModelProperty(value="是否已计算",name="isCalcute") + private Integer isCalcute; + } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxAllBillMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxAllBillMapper.java index bd73ee129..35a40b960 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxAllBillMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxAllBillMapper.java @@ -26,6 +26,7 @@ public interface WxAllBillMapper extends CommonMapper { void deletePreviewBill(WxAllBill wxBillRent); void deleteNoNeedPayBill(WxAllBill wxBillRent); void deleteByRentHuiSuan(WxAllBill wxBillRent); + Integer countValidBillCountByRentHuiSuan(WxAllBill wxBillRent); void deleteByRentReveneuSales(WxAllBill wxBillRent); void updatePreviewStatus(WxAllBill record); diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxRentContractRevenueSalesMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxRentContractRevenueSalesMapper.java index 0a942eeb6..00f8ccc53 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxRentContractRevenueSalesMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxRentContractRevenueSalesMapper.java @@ -19,5 +19,9 @@ public interface WxRentContractRevenueSalesMapper extends CommonMapper findBillId(WxRentContractRevenueSales wxBillRent); + + void updateConfirm(WxRentContractRevenueSales wxBillRent); + + void updateCalcute(WxRentContractRevenueSales wxBillRent); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java b/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java index f463fda94..591c706cc 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java @@ -164,6 +164,8 @@ public interface WxRentContractService { WxRentContractRevenueSetSalesVo setRevenueSales(WxRentContract rentcontract,String sales,Long billId,Long propertyContractId); + void setContractSalesConfirm(WxRentContract wxRentContract); + WxRentContractYearsSumVo calcuteYearsRevenueRentUp(WxRentContract rentcontract); List findJumpList(WxRentContractRevenueJump jump); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java index ab4a3dbbd..66d092f93 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -2170,6 +2170,10 @@ public class WxRentContractServiceImpl implements WxRentContractService { WxRentContractRevenueSales sales = new WxRentContractRevenueSales(); sales.updateTenantInfo(wxRentContract); sales.setRentContractId(wxRentContract.getId()); + if (null != wxRentContract.getYearsBegin() && null != wxRentContract.getYearsEnd()) { + sales.setStarttime(wxRentContract.getYearsBegin()); + sales.setEndtime(wxRentContract.getYearsEnd()); + } return wxRentContractRevenueSalesMapper.findList(sales); } @@ -2450,7 +2454,15 @@ public class WxRentContractServiceImpl implements WxRentContractService { @Override public WxRentContractRevenueSetSalesVo setRevenueSales(WxRentContract rentcontract, String sales, Long billId, Long propertyContractId) { + //如果账单存在缴费,付款,减免,冲抵,等情况,则不允许。 WxAllBill rentBill = wxAllBillMapper.selectById(billId, rentcontract.getTenantId()); + if ((StringUtils.isNotBlank(rentBill.getPay()) && new BigDecimal(rentBill.getPay()).compareTo(new BigDecimal(0)) > 0 ) + || (StringUtils.isNotBlank(rentBill.getSetOff()) && new BigDecimal(rentBill.getSetOff()).compareTo(new BigDecimal(0)) > 0 ) + || (StringUtils.isNotBlank(rentBill.getReturnPay()) && new BigDecimal(rentBill.getReturnPay()).compareTo(new BigDecimal(0)) > 0 ) + || (StringUtils.isNotBlank(rentBill.getUseMoney()) && new BigDecimal(rentBill.getUseMoney()).compareTo(new BigDecimal(0)) > 0 ) ) { + throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"账单存在已经已经缴费或付款,扣减,减免,冲抵的情况,不允许操作"); + } + BigDecimal salesDeciaml = new BigDecimal(sales); //删除自动创建的账单 @@ -2592,6 +2604,8 @@ public class WxRentContractServiceImpl implements WxRentContractService { sale.setId(idWorker.nextId()); sale.updateTenantInfo(rentcontract); sale.setBillId(billId); + sale.setStarttime(rentBill.getStarttime()); + sale.setEndtime(rentBill.getEndtime()); sale.setRentContractId(rentcontract.getId()); sale.setBillMoney(rentBill.getReceivePay()); sale.setSaleMoney(sales); @@ -2653,7 +2667,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { sb.append(" 租金原合同租金金额:"+rentBill.getNeedPay()+"元,分摊比率为:"+rentRate+",计算之后为:"+rentneedpay+"元。"); rentBill.setMoneyChangeDetail(sb.toString()); rentBill.setReceivePay(rentneedpay); - rentBill.setBillRemark("设置销售额,自动计算"); + rentBill.setBillRemark(createFrom.getMessage()+",自动计算:"+sb.toString()); rentBill.setUpdatetime(new Date()); if (new BigDecimal(rentBill.getOwe()).compareTo(new BigDecimal(0)) < 0 ) { //rentBill.setStatus(EnumBillStatus.STOP_TO_SETTLE.getCode()); @@ -2705,7 +2719,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { bmbill = bmbillList.get(0); bmbill.setMoneyChangeDetail("原合同商业管理费金额:"+bmbill.getNeedPay()+"元,总计分摊比率为:"+rate+",计算调整为:"+bussinessmoney+"元。"); bmbill.setReceivePay(bussinessmoney); - bmbill.setBillRemark("设置销售额,自动计算"); + bmbill.setBillRemark(createFrom.getMessage()+",自动计算。"+"原合同商业管理费金额:"+bmbill.getNeedPay()+"元,总计分摊比率为:"+rate+",计算调整为:"+bussinessmoney+"元。"); if (new BigDecimal(bmbill.getOwe()).compareTo(new BigDecimal(0)) < 0 ) { //bmbill.setStatus(EnumBillStatus.STOP_TO_SETTLE.getCode()); }else { @@ -2733,7 +2747,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { bmbill.setPay("0"); bmbill.setStarttime(rentBill.getStarttime()); bmbill.setEndtime(rentBill.getEndtime()); - bmbill.setBillRemark(createFrom.getMessage()+",自动计算创建"); + bmbill.setBillRemark(createFrom.getMessage()+",自动计算创建,总计分摊比率为:"+rate); bmbill.setExtraCreateFrom(createFrom.getCode()); bmbill.setMoneyChangeDetail("自动计算创建,总计分摊比率为:"+rate+",应收金额为:"+bussinessmoney+"元,"); wxAllBillMapper.insert(bmbill); @@ -2749,7 +2763,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { if (null != propertyBill ) { propertyBill.setMoneyChangeDetail("原合同商业管理费金额:"+propertyBill.getNeedPay()+"元,总计分摊比率为:"+rate+",计算调整为:"+bussinessmoney+"元。"); propertyBill.setReceivePay(bussinessmoney); - propertyBill.setBillRemark("设置销售额,自动计算"); + propertyBill.setBillRemark(createFrom.getMessage()+",自动计算"+"原合同商业管理费金额:"+propertyBill.getNeedPay()+"元,总计分摊比率为:"+rate+",计算调整为:"+bussinessmoney+"元。"); if (new BigDecimal(propertyBill.getOwe()).compareTo(new BigDecimal(0)) < 0 ) { //propertyBill.setStatus(EnumBillStatus.STOP_TO_SETTLE.getCode()); }else { @@ -2779,7 +2793,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { bmbill.setPay("0"); bmbill.setStarttime(rentBill.getStarttime()); bmbill.setEndtime(rentBill.getEndtime()); - bmbill.setBillRemark(createFrom.getMessage()+",自动计算创建"); + bmbill.setBillRemark(createFrom.getMessage()+",自动计算创建,总计分摊比率为:"+rate); bmbill.setExtraCreateFrom(createFrom.getCode()); bmbill.setMoneyChangeDetail("自动计算创建,总计分摊比率为:"+rate+",应收金额为:"+bussinessmoney+"元,"); wxAllBillMapper.insert(bmbill); @@ -2809,14 +2823,22 @@ public class WxRentContractServiceImpl implements WxRentContractService { bmbill.setPay("0"); bmbill.setStarttime(starttime); bmbill.setEndtime(endtime); - bmbill.setBillRemark(createFrom.getMessage()+",自动计算创建"); + bmbill.setBillRemark(createFrom.getMessage()+",自动计算创建,分摊比例为"+rate); bmbill.setExtraCreateFrom(createFrom.getCode()); bmbill.setMoneyChangeDetail("自动计算创建,分摊比例为"+rate+",计算应收金额为:"+money+"元,"); wxAllBillMapper.insert(bmbill); return bmbill; } - + @Override + public void setContractSalesConfirm(WxRentContract rentcontract) { + WxRentContractRevenueSales sales = new WxRentContractRevenueSales(); + sales.updateTenantInfo(rentcontract); + sales.setRentContractId(rentcontract.getId()); + sales.setStarttime(rentcontract.getYearsBegin()); + sales.setEndtime(rentcontract.getYearsEnd()); + wxRentContractRevenueSalesMapper.updateConfirm(sales); + } @Override public WxRentContractYearsSumVo calcuteYearsRevenueRentUp(WxRentContract rentcontract) { @@ -2833,13 +2855,21 @@ public class WxRentContractServiceImpl implements WxRentContractService { return vo; } - //删除未支付,未冲抵,未退款的之前的账单 + + //如果有账单已经缴费或者付款,扣减,减免,冲抵等,则不允许操作。 WxAllBill billd = new WxAllBill(); billd.updateTenantInfo(rentcontract); billd.setRentContractId(rentcontract.getId()); //删除这个时间的,不设置结束时间,因为可能之前有了账单。,然后撤铺,结束时间虽然不一样,开始时间是一致的。 billd.setStarttimeEqual(rentcontract.getYearsBegin()); billd.setExtraCreateFrom(EnumBillExtraCreateFrom.RNET_TIAODIAN_HUISUAN.getCode()); + + Integer validCount = wxAllBillMapper.countValidBillCountByRentHuiSuan(billd); + if (null != validCount && validCount > 0 ) { + throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"存在已经已经缴费或付款,扣减,减免,冲抵的账单,则不允许操作"); + } + + //删除未支付,未冲抵,未退款的之前的账单 wxAllBillMapper.deleteByRentHuiSuan(billd); //计算跳点。 diff --git a/mallinkService/src/main/resources/mapper/WxAllBillMapper.xml b/mallinkService/src/main/resources/mapper/WxAllBillMapper.xml index c212cdcfe..edc3b491e 100644 --- a/mallinkService/src/main/resources/mapper/WxAllBillMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxAllBillMapper.xml @@ -309,6 +309,12 @@ and extra_create_from = #{extraCreateFrom} and `starttime` = #{starttimeEqual} + + delete from wx_all_bill where extra_create_from = #{extraCreateFrom} and IFNULL(`pay`,'0') <= 0 AND IFNULL(`set_off`,'0') <= 0 and IFNULL(`return_pay`,'0') <= 0 and IFNULL(`use_money`,'0') <= 0 diff --git a/mallinkService/src/main/resources/mapper/WxRentContractRevenueSalesMapper.xml b/mallinkService/src/main/resources/mapper/WxRentContractRevenueSalesMapper.xml index 55a042c7a..4fcc723f2 100644 --- a/mallinkService/src/main/resources/mapper/WxRentContractRevenueSalesMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxRentContractRevenueSalesMapper.xml @@ -10,16 +10,21 @@ + + + + + - `id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`rent_contract_id`,`property_contract_id`,`bill_id`,`bill_money`, - `sale_money`,`sale_money_valid`,`calcute_money`,`remark` + `id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`rent_contract_id`,`property_contract_id`,`bill_id`,`starttime`,`endtime`,`bill_money`, + `sale_money`,`sale_money_valid`,`calcute_money`,`remark`,`is_confirm`,`is_calcute` @@ -34,6 +39,10 @@ and `rent_contract_id` = #{rentContractId} and `property_contract_id` = #{propertyContractId} and `bill_id` = #{billId} + and `starttime` >= #{starttime} + and `endtime` <= #{endtime} + and `is_confirm` = #{isConfirm} + and `is_calcute` = #{isCalcute} and id in @@ -68,5 +77,15 @@ + + update wx_rent_contract_revenue_sales set is_confirm = 1 + where `tenant_id` = #{tenantId} and `rent_contract_id` = #{rentContractId} and `starttime` >= #{starttime} and `endtime` <= #{endtime} + + + + update wx_rent_contract_revenue_sales set is_calcute = 1 + where `tenant_id` = #{tenantId} and `rent_contract_id` = #{rentContractId} and `starttime` >= #{starttime} and `endtime` <= #{endtime} + + From dbbd6ed44979da801e46fc9db0bdf7c25b694750 Mon Sep 17 00:00:00 2001 From: winter Date: Sat, 31 Aug 2024 13:22:18 +0800 Subject: [PATCH 04/12] fix --- .../controller/contract/WxRentContractController.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java index 9efc71e8b..687dc2b41 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java @@ -837,6 +837,7 @@ public class WxRentContractController extends WxContractBaseController { bq.setNoExtraCreateFrom(EnumYesOrNo.YES.getCode()); bq.setSortColumn(" starttime asc"); List billList = wxAllBillService.list(bq); + List validBillList = new ArrayList(); WxRentContract rc = new WxRentContract(); rc.updateTenantInfo(sales); @@ -855,11 +856,17 @@ public class WxRentContractController extends WxContractBaseController { if (null != s) { bill.setSales(s.getSaleMoney()); bill.setSalesTime(s.getUpdateTime()); + if (s.getIsConfirm() == EnumYesOrNo.YES.getCode()) { + // + }else { + validBillList.add(bill); + } + }else { + validBillList.add(bill); } } - } - return new ResultData(billList); + return new ResultData(validBillList); } //查询商户计租合同列表 From 7b2a93ada3e53d7933083399017424e3e84365f7 Mon Sep 17 00:00:00 2001 From: winter Date: Sat, 31 Aug 2024 13:31:07 +0800 Subject: [PATCH 05/12] fix --- .../iformall/service/helper/WxEnergyHelper.java | 3 ++- .../service/impl/WxEnergyServiceImpl.java | 17 +++++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/helper/WxEnergyHelper.java b/mallinkService/src/main/java/com/iformall/service/helper/WxEnergyHelper.java index b38493aae..aa1b7bec7 100644 --- a/mallinkService/src/main/java/com/iformall/service/helper/WxEnergyHelper.java +++ b/mallinkService/src/main/java/com/iformall/service/helper/WxEnergyHelper.java @@ -140,7 +140,7 @@ public class WxEnergyHelper { return formula; } - public void testCalcute(String formula) { + public void testCalcute(String formula,String shopPulicRax) { if (StringUtils.isBlank(formula)) { return ; } @@ -153,6 +153,7 @@ public class WxEnergyHelper { formula = formula.replaceAll(relpaceFloorArea, "1"); } } + formula = formula.replaceAll("#shopPublicRax#", shopPulicRax); FormulaParser.evaluate(formula); } 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 f49c87a92..9f80185a4 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxEnergyServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxEnergyServiceImpl.java @@ -551,14 +551,23 @@ public class WxEnergyServiceImpl implements WxEnergyService { return retList; } + @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) @Override public void createFeesShop(WxEnergyFeesShop record) { //新增关联 final IdWorker idWorker = IdWorker.get(); Date date = new Date(); WxEnergyFees fees = this.getFeesById(record.getFeesId(),record.getTenantId()); + WxShop sq = new WxShop(); + sq.updateTenantInfo(record); + sq.setIds(record.getShopIds()); + Map shopMap = wxShopService.findShopMap(sq); for (int i = 0 ; i < record.getShopIds().size(); i ++) { Long shopId = record.getShopIds().get(i); + WxShop shop = shopMap.get(shopId); + if (StringUtils.isBlank(shop.getPulicRate())) { + throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"店铺未设置公摊系数"); + } WxEnergyFeesShop msf = new WxEnergyFeesShop(); msf.updateTenantInfo(record); msf.setId(idWorker.nextId()); @@ -580,7 +589,7 @@ public class WxEnergyServiceImpl implements WxEnergyService { msf.setFormulaListStr(JSON.toJSONString(record.getFormulaList())); } msf.setFormula(record.getFormula()); - wxEnergyHelper.testCalcute(record.getFormula()); + wxEnergyHelper.testCalcute(record.getFormula(),shop.getPulicRate()); wxEnergyFeesShopMapper.insert(msf); } } @@ -617,7 +626,11 @@ public class WxEnergyServiceImpl implements WxEnergyService { if (null != record.getFormulaList() && record.getFormulaList().size() > 0 ) { record.setFormulaListStr(JSON.toJSONString(record.getFormulaList())); } - wxEnergyHelper.testCalcute(record.getFormula()); + WxShop shop = wxShopService.getById(record.getShopId()); + if (StringUtils.isBlank(shop.getPulicRate())) { + throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"店铺未设置公摊系数"); + } + wxEnergyHelper.testCalcute(record.getFormula(),shop.getPulicRate()); wxEnergyFeesShopMapper.updateById(record); } From c534dd9a5d0eb45b0c451d4ad6966be8c7fb1f44 Mon Sep 17 00:00:00 2001 From: winter Date: Sat, 31 Aug 2024 13:43:36 +0800 Subject: [PATCH 06/12] fix --- .../iformall/service/impl/WxRentContractServiceImpl.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java index 66d092f93..0821d301d 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -100,6 +100,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import javax.servlet.http.HttpServletRequest; @@ -2451,7 +2452,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { return bs; } - + @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) @Override public WxRentContractRevenueSetSalesVo setRevenueSales(WxRentContract rentcontract, String sales, Long billId, Long propertyContractId) { //如果账单存在缴费,付款,减免,冲抵,等情况,则不允许。 @@ -2840,12 +2841,15 @@ public class WxRentContractServiceImpl implements WxRentContractService { wxRentContractRevenueSalesMapper.updateConfirm(sales); } + @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) @Override public WxRentContractYearsSumVo calcuteYearsRevenueRentUp(WxRentContract rentcontract) { //查询销售总数 WxRentContractRevenueSales rsq = new WxRentContractRevenueSales(); rsq.updateTenantInfo(rentcontract); rsq.setRentContractId(rentcontract.getId()); + rsq.setStarttime(rentcontract.getYearsBegin()); + rsq.setEndtime(rentcontract.getYearsEnd()); BigDecimal sum = wxRentContractRevenueSalesMapper.findSumSalesMoneyValid(rsq); if (null == sum || sum.compareTo(new BigDecimal(0)) <= 0 ) { WxRentContractYearsSumVo vo = new WxRentContractYearsSumVo(); @@ -2854,7 +2858,8 @@ public class WxRentContractServiceImpl implements WxRentContractService { vo.setBillReceivePay("0"); return vo; } - + //更新已计算 + wxRentContractRevenueSalesMapper.updateCalcute(rsq); //如果有账单已经缴费或者付款,扣减,减免,冲抵等,则不允许操作。 WxAllBill billd = new WxAllBill(); From a118fd1d611dc5799533744e9e0fe5d9eb4c1bac Mon Sep 17 00:00:00 2001 From: winter Date: Sat, 31 Aug 2024 16:21:49 +0800 Subject: [PATCH 07/12] fix --- .../com/iformall/service/impl/WxRentContractServiceImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java index 0821d301d..cf414e1b0 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -2594,7 +2594,8 @@ public class WxRentContractServiceImpl implements WxRentContractService { rs.setRentContractId(rentcontract.getId()); rs.setBillId(billId); List saleList = wxRentContractRevenueSalesMapper.findList(rs); - if (null != saleList && saleList.size() > 0 ) { WxRentContractRevenueSales sale = saleList.get(0); + if (null != saleList && saleList.size() > 0 ) { WxRentContractRevenueSales sale = saleList.get(0); + sale.setCalcuteMoney(needpay); sale.setSaleMoney(sales); sale.setSaleMoneyValid(saleDecimalValid.toPlainString()); sale.setUpdateTime(new Date()); From a369f6d9c397230e519211d9e72147c12290597a Mon Sep 17 00:00:00 2001 From: winter Date: Sat, 31 Aug 2024 18:30:07 +0800 Subject: [PATCH 08/12] fix --- .../java/com/iformall/config/ShiroConfig.java | 2 +- .../controller/base/BaseController.java | 22 +++++++++---------- .../controller/rent/WxAllBillController.java | 11 +++++++++- .../com/iformall/domain/po/WxAllBill.java | 2 ++ .../impl/WxRentContractServiceImpl.java | 4 ++-- 5 files changed, 26 insertions(+), 15 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java b/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java index 3463ea458..ab71e3397 100644 --- a/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java +++ b/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java @@ -163,7 +163,7 @@ public class ShiroConfig { filterChainDefinitionMap.put("/logout", "authc"); filterChainDefinitionMap.put("/**", "corsFilter,token,authc"); -// filterChainDefinitionMap.put("/**", "anon"); + filterChainDefinitionMap.put("/**", "anon"); shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap); diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/base/BaseController.java b/mallinkAdmin/src/main/java/com/iformall/controller/base/BaseController.java index fa0b4e34a..247597318 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/base/BaseController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/base/BaseController.java @@ -52,13 +52,13 @@ public class BaseController { }); } public MallUserInfo getUser(){ - MallUserInfo user = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute(UserSession.userInfo); -// MallUserInfo user = new MallUserInfo(); -// user.setId(321127266275430400L); -// user.setName("alitest"); -// user.setTenantId("789"); -// user.setParentTenantId(null); -// user.setIsAdmin(1); +// MallUserInfo user = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute(UserSession.userInfo); + MallUserInfo user = new MallUserInfo(); + user.setId(321127266275430400L); + user.setName("alitest"); + user.setTenantId("789"); + user.setParentTenantId(null); + user.setIsAdmin(1); return user; } @@ -80,10 +80,10 @@ public class BaseController { */ public TenantEntity getTenantInfo(){ Session session = SecurityUtils.getSubject().getSession(); - String tenantId = (String)session.getAttribute(UserSession.tenantId); - String parentTenantId = (String)session.getAttribute(UserSession.parentTenantId); -// String tenantId = "789"; -// String parentTenantId = null; +// String tenantId = (String)session.getAttribute(UserSession.tenantId); +// String parentTenantId = (String)session.getAttribute(UserSession.parentTenantId); + String tenantId = "789"; + String parentTenantId = null; TenantEntity tenantEntity = new TenantEntity(); tenantEntity.setTenantId(tenantId); tenantEntity.setParentTenantId(parentTenantId); diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxAllBillController.java b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxAllBillController.java index 1572d59c3..cd1b1b014 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxAllBillController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxAllBillController.java @@ -751,7 +751,16 @@ public class WxAllBillController extends BillBaseController { record.setOweBillLastTime(billAllHelper.getDateBefore(getOweBillBeforeDays())); record.setNearBillLastTime(billAllHelper.getDateBefore(getNearBillBeforeDays())); } - + } + if (StringUtils.isNotBlank(record.getEnergyFeesIdStr())) { + String[] feesIds = record.getEnergyFeesIdStr().split(","); + List feesIdList = new ArrayList(); + if (null != feesIds && feesIds.length > 0 ) { + for (int i = 0 ; i < feesIds.length ; i ++) { + feesIdList.add(Long.parseLong(feesIds[i])); + } + } + record.setEnergyFeesIds(feesIdList);; } record.setIsPreview(EnumYesOrNo.NO.getCode()); record.setSortColumns("status asc, starttime asc , merchant_id desc"); diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxAllBill.java b/mallinkService/src/main/java/com/iformall/domain/po/WxAllBill.java index 147446db9..6674ae1ce 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxAllBill.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxAllBill.java @@ -385,4 +385,6 @@ public class WxAllBill extends TenantEntity { public List energyFeesIds; @TableField(exist = false) public Integer advanceHasMoney; + @TableField(exist = false) + private String energyFeesIdStr; } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java index cf414e1b0..ce37f7216 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -2935,8 +2935,8 @@ public class WxRentContractServiceImpl implements WxRentContractService { propertyBillq.setBillType(EnumBillAllType.PROPERTY.getCode()); propertyBillq.setEnergyFeesId(EnumBillAllType.PROPERTY.getEnergyFeesId()); propertyBillq.setIsPreview(EnumYesOrNo.NO.getCode()); - propertyBillq.setStarttimeEqual(rentcontract.getYearsBegin()); - propertyBillq.setEndtimeEqual(rentcontract.getYearsEnd()); + propertyBillq.setStarttime(rentcontract.getYearsBegin()); + propertyBillq.setEndtime(rentcontract.getYearsEnd()); WxBillSum propertyBillSum = wxAllBillMapper.getBillMonthSum(propertyBillq); if (null != propertyBillSum) { receivepay = receivepay.add(propertyBillSum.getNeedPayNumber()); From a55dd4af28e0be4610a52a98a06bd8d112f0157a Mon Sep 17 00:00:00 2001 From: winter Date: Sat, 31 Aug 2024 18:30:21 +0800 Subject: [PATCH 09/12] fix --- .../java/com/iformall/config/ShiroConfig.java | 2 +- .../controller/base/BaseController.java | 22 +++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java b/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java index ab71e3397..3463ea458 100644 --- a/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java +++ b/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java @@ -163,7 +163,7 @@ public class ShiroConfig { filterChainDefinitionMap.put("/logout", "authc"); filterChainDefinitionMap.put("/**", "corsFilter,token,authc"); - filterChainDefinitionMap.put("/**", "anon"); +// filterChainDefinitionMap.put("/**", "anon"); shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap); diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/base/BaseController.java b/mallinkAdmin/src/main/java/com/iformall/controller/base/BaseController.java index 247597318..fa0b4e34a 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/base/BaseController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/base/BaseController.java @@ -52,13 +52,13 @@ public class BaseController { }); } public MallUserInfo getUser(){ -// MallUserInfo user = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute(UserSession.userInfo); - MallUserInfo user = new MallUserInfo(); - user.setId(321127266275430400L); - user.setName("alitest"); - user.setTenantId("789"); - user.setParentTenantId(null); - user.setIsAdmin(1); + MallUserInfo user = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute(UserSession.userInfo); +// MallUserInfo user = new MallUserInfo(); +// user.setId(321127266275430400L); +// user.setName("alitest"); +// user.setTenantId("789"); +// user.setParentTenantId(null); +// user.setIsAdmin(1); return user; } @@ -80,10 +80,10 @@ public class BaseController { */ public TenantEntity getTenantInfo(){ Session session = SecurityUtils.getSubject().getSession(); -// String tenantId = (String)session.getAttribute(UserSession.tenantId); -// String parentTenantId = (String)session.getAttribute(UserSession.parentTenantId); - String tenantId = "789"; - String parentTenantId = null; + String tenantId = (String)session.getAttribute(UserSession.tenantId); + String parentTenantId = (String)session.getAttribute(UserSession.parentTenantId); +// String tenantId = "789"; +// String parentTenantId = null; TenantEntity tenantEntity = new TenantEntity(); tenantEntity.setTenantId(tenantId); tenantEntity.setParentTenantId(parentTenantId); From 17319dc302076d8a8941772bae2843616fd79da4 Mon Sep 17 00:00:00 2001 From: winter Date: Sat, 31 Aug 2024 19:25:05 +0800 Subject: [PATCH 10/12] fix --- .../service/impl/WxRentContractServiceImpl.java | 10 +++++++--- .../src/main/java/com/iformall/utils/DateUtils.java | 2 ++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java index ce37f7216..da7ab0cb2 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -2367,8 +2367,11 @@ public class WxRentContractServiceImpl implements WxRentContractService { } public static void main(String[] args) { - Date startDate = DateUtils.stringToDate("2024-08-01 00:00:00", DateUtils.DATE_TIME_PATTERN); - Date endDate = DateUtils.stringToDate("2024-09-11 23:59:59", DateUtils.DATE_TIME_PATTERN); + Date startDate = DateUtils.stringToDate("2023-12-20 00:00:00", DateUtils.DATE_TIME_PATTERN); + Date endDate = DateUtils.stringToDate("2024-12-19 00:00:00", DateUtils.DATE_TIME_PATTERN); + int days = DateUtils.daysBetween(startDate, endDate)+1; + System.out.println(days); + Date realEndStart = DateUtils.getDaySet(endDate, Calendar.SECOND, 1); int[] diffs = DateUtils.getDiff(startDate, realEndStart); Date preextraStartDay = DateUtils.getTimeAfterMonths(diffs[0], startDate); @@ -2885,7 +2888,8 @@ public class WxRentContractServiceImpl implements WxRentContractService { //销售收入不满足一年怎么算。 int yearDays = DateUtils.daysBetween(rentcontract.getYearsBegin(), rentcontract.getYearsEnd())+1; - if (yearDays == 365) { + //闰年是366 + if (yearDays >= 365) { }else { if (rentcontract.getDayPriceCalcute().intValue() == EnumRentDayPriceCalcute.AVERAGE_DAYS.getCode()) { jumpRevenuePay = jumpRevenuePay.multiply(new BigDecimal(yearDays)).divide(new BigDecimal(12*rentcontract.getMonthAverageDays()),rentcontract.getDecimalSize(),BigDecimal.ROUND_HALF_UP); diff --git a/mallinkService/src/main/java/com/iformall/utils/DateUtils.java b/mallinkService/src/main/java/com/iformall/utils/DateUtils.java index d0ddc5f97..6adf3239d 100755 --- a/mallinkService/src/main/java/com/iformall/utils/DateUtils.java +++ b/mallinkService/src/main/java/com/iformall/utils/DateUtils.java @@ -1169,8 +1169,10 @@ public class DateUtils { bdate=sdf.parse(sdf.format(bdate)); Calendar cal = Calendar.getInstance(); cal.setTime(smdate); + cal.set(Calendar.MILLISECOND, 0); long time1 = cal.getTimeInMillis(); cal.setTime(bdate); + cal.set(Calendar.MILLISECOND, 0); long time2 = cal.getTimeInMillis(); long between_days=(time2-time1)/(1000*3600*24); return Integer.parseInt(String.valueOf(between_days)); From ad3be6a7eb155e5fbda2e7febd9789e4a6b753f4 Mon Sep 17 00:00:00 2001 From: winter Date: Sat, 31 Aug 2024 19:49:40 +0800 Subject: [PATCH 11/12] fix --- .../contract/WxRentContractController.java | 39 ++++++++++--------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java index 687dc2b41..38021b1ea 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java @@ -837,35 +837,38 @@ public class WxRentContractController extends WxContractBaseController { bq.setNoExtraCreateFrom(EnumYesOrNo.YES.getCode()); bq.setSortColumn(" starttime asc"); List billList = wxAllBillService.list(bq); + if (null == billList || billList.size() <= 0 ) { + return new ResultData(); + } List validBillList = new ArrayList(); WxRentContract rc = new WxRentContract(); rc.updateTenantInfo(sales); rc.setId(sales.getRentContractId()); List salesList = wxRentContractService.getContractSales(rc); - if (null != salesList && salesList.size() > 0 && null != billList && billList.size() > 0 ) { - Map billSalesMap = new HashMap(); + Map billSalesMap = new HashMap(); + if (null != salesList && salesList.size() > 0) { + for (int i = 0 ; i < salesList.size() ; i ++ ) { WxRentContractRevenueSales rs = salesList.get(i); billSalesMap.put(rs.getBillId(), rs); } - - for (int i = 0 ; i < billList.size() ; i ++) { - WxAllBill bill = billList.get(i); - WxRentContractRevenueSales s = billSalesMap.get(bill.getId()); - if (null != s) { - bill.setSales(s.getSaleMoney()); - bill.setSalesTime(s.getUpdateTime()); - if (s.getIsConfirm() == EnumYesOrNo.YES.getCode()) { - // - }else { - validBillList.add(bill); - } - }else { - validBillList.add(bill); - } - } } + for (int i = 0 ; i < billList.size() ; i ++) { + WxAllBill bill = billList.get(i); + WxRentContractRevenueSales s = billSalesMap.get(bill.getId()); + if (null != s) { + bill.setSales(s.getSaleMoney()); + bill.setSalesTime(s.getUpdateTime()); + if (s.getIsConfirm() == EnumYesOrNo.YES.getCode()) { + // + }else { + validBillList.add(bill); + } + }else { + validBillList.add(bill); + } + } return new ResultData(validBillList); } From 1b1245115d43cf3d7fbb9b58c98fde380e0e031c Mon Sep 17 00:00:00 2001 From: winter Date: Sat, 31 Aug 2024 20:17:03 +0800 Subject: [PATCH 12/12] fix --- .../java/com/iformall/domain/po/WxFinanceReceiveBill.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceiveBill.java b/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceiveBill.java index 185210e9d..ea5d43b9b 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceiveBill.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceiveBill.java @@ -47,7 +47,10 @@ public class WxFinanceReceiveBill extends TenantEntity { @TableField(exist = false) private String billTypeName; public String getBillTypeName() { - return EnumBillAllType.getEnum(billType).getMessage(); + if (null != billType) { + return EnumBillAllType.getEnum(billType).getMessage(); + } + return null; } @io.swagger.annotations.ApiModelProperty(value="科目编号",name="feesId")