ソースを参照

fix

release_toaliyun_real
winter 1年前
コミット
6d7a201f2d
13個のファイルの変更248行の追加98行の削除
  1. +0
    -51
      mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java
  2. +59
    -35
      mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java
  3. +3
    -3
      mallinkAdmin/src/main/resources/db/migration/V202408000000003.sql
  4. +10
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxAllBill.java
  5. +20
    -2
      mallinkService/src/main/java/com/iformall/domain/po/WxPropertyContract.java
  6. +24
    -2
      mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java
  7. +4
    -1
      mallinkService/src/main/java/com/iformall/domain/po/WxRentContractRevenueSales.java
  8. +16
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/WxRentContractRevenueSetSalesVo.java
  9. +1
    -1
      mallinkService/src/main/java/com/iformall/enums/EnumBillStatus.java
  10. +6
    -0
      mallinkService/src/main/java/com/iformall/service/WxRentContractService.java
  11. +100
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java
  12. +2
    -0
      mallinkService/src/main/resources/mapper/WxAllBillMapper.xml
  13. +3
    -1
      mallinkService/src/main/resources/mapper/WxRentContractRevenueSalesMapper.xml

+ 0
- 51
mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java ファイルの表示

@@ -100,57 +100,6 @@ public class WxPropertyContractController extends WxContractBaseController {
String floorName = "";
String buildingName = "";
String shopNumber = "";
// List<Long> floorIds = new ArrayList<Long>();
// List<Long> buildIds = new ArrayList<Long>();
// List<Long> shopIds = new ArrayList<Long>();
// for (int i = 0 ; i < arrays.size(); i ++) {
// JSONObject o = arrays.getJSONObject(i);
// try {
// floorIds.add(Long.parseLong(o.getString("floor")));
// }catch(Exception e) {
// floorName = floorName +","+o.getString("floor");
// }
// try {
// buildIds.add(Long.parseLong(o.getString("building")));
// }catch(Exception e) {
// buildingName = buildingName + ","+ o.getString("building");
// }
// try {
// shopIds.add(Long.parseLong(o.getString("id")));
// }catch(Exception e) {
// shopNumber = shopNumber +","+o.getString("id");
// }
//
//
// }
//
// WxMallBuilding bq = new WxMallBuilding();
// bq.setIds(buildIds);
// PageInfo<WxMallBuilding> bpage = buildingService.listAsPage(bq, 1, 1000);
// if (null != bpage && null != bpage.getList()) {
// for (WxMallBuilding wmb : bpage.getList()) {
// buildingName = buildingName +"," + wmb.getBuildingName();
// }
// }
//
// WxMallFloor fq = new WxMallFloor();
// fq.setIds(floorIds);
// PageInfo<WxMallFloor> fpage = floorService.listAsPage(fq, 1, 1000);
// if (null != fpage && null != fpage.getList()) {
// for (WxMallFloor wmf : fpage.getList()) {
// floorName = floorName +"," + wmf.getFloorName();
// }
// }
//
// WxShop ws = new WxShop();
// ws.setIds(shopIds);
// PageInfo<WxShop> spage = wxShopService.listAsPage(ws, 1, 1000);
// if (null != spage && null != spage.getList()) {
// for (WxShop shop : spage.getList()) {
// shopNumber = shopNumber+","+shop.getShopNumber();
// }
// }
wpc.setFloorName(floorName);
wpc.setBuildingName(buildingName);
wpc.setShopNumber(shopNumber);


+ 59
- 35
mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java ファイルの表示

@@ -810,52 +810,76 @@ public class WxRentContractController extends WxContractBaseController {
wxRentContract.setTypeList(typeList);
List<Integer> statusList = new ArrayList<Integer>();
statusList.add(EnumRentContractStatus.PAING.getCode());
statusList.add(EnumRentContractStatus.READY_FOR_PAING.getCode());
//statusList.add(EnumRentContractStatus.READY_FOR_PAING.getCode());
wxRentContract.setStatuss(statusList);
wxRentContract.setSortColumns(SortField.Createtime_DESC);
return new ResultData(wxRentContractService.getRentContractList(wxRentContract, pageNum, pageSize));
}
//查询联营扣点,联营取高的合同账单周期
@GetMapping("revenueBillTimes")
public ResultData revenueBillTimes(@ModelAttribute WxRentContractRevenueSales sales) {
if (null == sales) sales = new WxRentContractRevenueSales();
sales.updateTenantInfo(getTenantInfo());
WxAllBill bq = new WxAllBill();
bq.updateTenantInfo(sales);
bq.setRentContractId(sales.getRentContractId());
bq.setIsPreview(EnumYesOrNo.NO.getCode());
bq.setBillType(EnumBillAllType.RENT.getCode());
bq.setEnergyFeesId(EnumBillAllType.RENT.getEnergyFeesId());
bq.setSortColumn(" starttime asc");
List<WxAllBill> billList = wxAllBillService.list(bq);
WxRentContract rc = new WxRentContract();
rc.updateTenantInfo(sales);
rc.setId(sales.getRentContractId());
List<WxRentContractRevenueSales> salesList = wxRentContractService.getContractSales(rc);
if (null != salesList && salesList.size() > 0 && null != billList && billList.size() > 0 ) {
Map<Long,WxRentContractRevenueSales> billSalesMap = new HashMap<Long,WxRentContractRevenueSales>();
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());
}
}
}
return new ResultData(billList);
}
//查询商户计租合同列表
@GetMapping("revenuePropertyContract")
public ResultData revenuePropertyContract(@ModelAttribute WxRentContract rentContract) {
if (null == rentContract) rentContract = new WxRentContract();
rentContract.updateTenantInfo(getTenantInfo());
WxRentContract contract = wxRentContractService.selectById(rentContract.getId());
WxPropertyContract bq = new WxPropertyContract();
bq.updateTenantInfo(rentContract);
bq.setMerchantId(contract.getMerchantId());
bq.setRentContractId(rentContract.getId());
bq.setOperationType(EnumContractOperationType.WHOLE.getCode());
bq.setStatus(EnumRentContractStatus.PAING.getCode());
List<WxPropertyContract> propertyList = wxPropertyContractService.findList(bq);
return new ResultData(propertyList);
}
@PostMapping("setRevenueSales")
public ResultData setRevenueSales(@RequestBody WxRentContract wxRentContract) {
WxRentContract rentContract = wxRentContractMapper.selectById(wxRentContract.getId());
if (null == rentContract) {
return new ResultData(Result.ERROR, "编号["+wxRentContract.getId()+"]未找到租金合同");
}
MallUserInfo user = getUser();
//查询是否有审批流程
if(!rentContractHasWorkFlow(rentContract)) {
return new ResultData(ErrorCode.FLOW_FAIL.getCode(),"租赁合同不存在工作流,不能提交审批。");
}
try {
validConfilit(rentContract);
} catch (Exception e) {
return new ResultData(Result.ERROR,e.getMessage());
}
try {
validShop(rentContract);
} catch (Exception e) {
return new ResultData(Result.ERROR,e.getMessage());
}
//如果是租金+物业合同,如果没有物业合同或者物业合同不是草稿状态,不能提交审核
if (rentContract.getOperationType().intValue() == EnumContractOperationType.WHOLE.getCode().intValue()) {
if (null == wxRentContract.getPropertyId()) {
return new ResultData(Result.ERROR,"未创建物业合同,请先完善。");
}
WxPropertyContract property = wxPropertyContractService.getSimpleDetail(wxRentContract.getPropertyId());
if (null == property) {
return new ResultData(Result.ERROR,"未创建物业合同,请先完善。");
}
if (property.getStatus().intValue() == EnumRentContractStatus.UNWRITE.getCode().intValue()) {
return new ResultData(Result.ERROR,"物业合同未完善,请先完善。");
}
if (property.getStatus().intValue() != EnumRentContractStatus.DRAFT.getCode().intValue()) {
return new ResultData(Result.ERROR,"物业合同当前状态不能提交审批。");
}
}
return wxRentContractService.apply(rentContract,user);
return new ResultData(wxRentContractService.setRevenueSales(rentContract,wxRentContract.getSalesMoney(),wxRentContract.getBillId(),wxRentContract.getPropertyContractId()));
}



+ 3
- 3
mallinkAdmin/src/main/resources/db/migration/V202408000000003.sql ファイルの表示

@@ -4,13 +4,13 @@ CREATE TABLE `wx_rent_contract_revenue_sales` (
`parent_tenant_id` varchar(5) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '父租户ID',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`rent_contract_id` bigint(20) NOT NULL COMMENT '合同编号',
`rent_contract_id` bigint(20) NOT NULL COMMENT '租金合同编号',
`bill_id` bigint(20) NOT NULL COMMENT '账单编号',
`bill_money` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '账单应付金额',
`sale_money` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '销售金额',
`remark` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '备注',
`calcute_money` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '计算之后的金额',
`property_contract_id` bigint(20) DEFAULT NULL COMMENT '物业合同',
PRIMARY KEY (`id`),
KEY `T_R_B` (`tenant_id`,`rent_contract_id`,`bill_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='租赁合同';

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='租赁合同';

+ 10
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxAllBill.java ファイルの表示

@@ -114,6 +114,8 @@ public class WxAllBill extends TenantEntity {
}
return starttimeStr;
}
@TableField(exist = false)
private Date starttimeEqual;
@Excel(name = "周期结束时间", format = "yyyy-MM-dd", width = 20, orderNum = "5")
@io.swagger.annotations.ApiModelProperty(value="结束时间",name="endtime")
@@ -130,6 +132,8 @@ public class WxAllBill extends TenantEntity {
}
return endtimeStr;
}
@TableField(exist = false)
public Date endtimeEqual;

@Excel(name = "欠缴金额(元)", width = 20, orderNum = "11")
@TableField(exist = false)
@@ -344,4 +348,10 @@ public class WxAllBill extends TenantEntity {
private Long feesStandarsId;
@TableField(exist = false)
public Integer toPayMerchant;
@TableField(exist = false)
public String sales;
@TableField(exist = false)
public Date salesTime;
@TableField(exist = false)
public String moneyChangeDetail;
}

+ 20
- 2
mallinkService/src/main/java/com/iformall/domain/po/WxPropertyContract.java ファイルの表示

@@ -10,6 +10,7 @@ import com.iformall.domain.po.base.TenantEntity;
import com.iformall.enums.EnumPriceUnit;
import com.iformall.enums.EnumPropertyCreateType;
import com.iformall.enums.EnumRentContractAdjustPeriod;
import com.iformall.enums.EnumRentContractStatus;
import com.iformall.enums.EnumYesOrNo;

import lombok.Data;
@@ -77,10 +78,19 @@ public class WxPropertyContract extends TenantEntity {
@io.swagger.annotations.ApiModelProperty(value="合同文件路径",name="filepath")
private String filepath;

@io.swagger.annotations.ApiModelProperty(value="合同进度状态1待签约2已签约未记租3计租中4提前终止5合同到期",name="status")
@io.swagger.annotations.ApiModelProperty(value="合同进度状态1待签约2已签约未记租3计租中4提前终止5合同到期EnumRentContractStatus",name="status")
private Integer status;
@TableField(exist = false)
private List<Integer> statuss;
@TableField(exist = false)
private String statusName;
public String getStatusName() {
if (null != status) {
return EnumRentContractStatus.getEnum(status).getMessage();
}
return null;
}
@io.swagger.annotations.ApiModelProperty(value="是否固定价格",name="0:按面积计算,1:固定价格")
private Integer fixedPrice;
@@ -192,8 +202,16 @@ public class WxPropertyContract extends TenantEntity {
@TableField(exist = false)
private String buildingName;

@io.swagger.annotations.ApiModelProperty(value = "租金单位1日2月3年", name = "priceUnit")
@io.swagger.annotations.ApiModelProperty(value = "租金单位1日2月3年EnumPriceUnit", name = "priceUnit")
private Integer priceUnit;
@TableField(exist = false)
private String priceUnitName;
public String getPriceUnitName() {
if (null != priceUnit) {
return EnumPriceUnit.getEnum(priceUnit).getMessage();
}
return null;
}

@io.swagger.annotations.ApiModelProperty(value = "多径租赁单价(其他放rentInfo)", name = "priceUnit")
private String rentPrice;


+ 24
- 2
mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java ファイルの表示

@@ -9,6 +9,7 @@ import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.RentContractFreePeriodVo;
import com.iformall.enums.EnumPriceUnit;
import com.iformall.enums.EnumRentContractAdjustPeriod;
import com.iformall.enums.EnumRentContractStatus;
import com.iformall.enums.EnumRentContractType;
import com.iformall.utils.Constant;

@@ -243,10 +244,18 @@ public class WxRentContract extends TenantEntity {
private Integer receivePeriodUnit;
@io.swagger.annotations.ApiModelProperty(value = "合同文件路径", name = "filepath")
private String filepath;
@io.swagger.annotations.ApiModelProperty(value = "合同进度状态1待签约2已签约未记租3计租中4提前终止5合同到期", name = "status")
@io.swagger.annotations.ApiModelProperty(value = "合同进度状态1待签约2已签约未记租3计租中4提前终止5合同到期EnumRentContractStatus", name = "status")
private Integer status;
@TableField(exist = false)
private List<Integer> statuss;
@TableField(exist = false)
private String statusName;
public String getStatusName() {
if (null != status) {
return EnumRentContractStatus.getEnum(status).getMessage();
}
return null;
}

@io.swagger.annotations.ApiModelProperty(value = "押金", name = "deposit")
private String deposit;
@@ -374,8 +383,16 @@ public class WxRentContract extends TenantEntity {
@io.swagger.annotations.ApiModelProperty(value = "上传文件名", name = "fileNames")
private String fileNames;

@io.swagger.annotations.ApiModelProperty(value = "租金单位1日2月3年", name = "priceUnit")
@io.swagger.annotations.ApiModelProperty(value = "租金单位1日2月3年EnumPriceUnit", name = "priceUnit")
private Integer priceUnit;
@TableField(exist = false)
private String priceUnitName;
public String getPriceUnitName() {
if (null != priceUnit) {
return EnumPriceUnit.getEnum(priceUnit).getMessage();
}
return null;
}

@io.swagger.annotations.ApiModelProperty(value = "租金租赁单价(其他放rentInfo)", name = "priceUnit")
private String rentPrice;
@@ -572,6 +589,7 @@ public class WxRentContract extends TenantEntity {
@TableField(exist = false)
private Long propertyContractId;
@TableField(exist = false)
private List<RentContractFreePeriodVo> freePeriods;
public void setFreeVo(List<WxRentContractFreePeriod> freePeriods) {
@@ -596,5 +614,9 @@ public class WxRentContract extends TenantEntity {
}
}
@TableField(exist = false)
private String salesMoney;
@TableField(exist = false)
private Long billId;
}


+ 4
- 1
mallinkService/src/main/java/com/iformall/domain/po/WxRentContractRevenueSales.java ファイルの表示

@@ -26,9 +26,12 @@ public class WxRentContractRevenueSales extends TenantEntity {
@io.swagger.annotations.ApiModelProperty(value="updateTime",name="updateTime")
private Date updateTime;
@io.swagger.annotations.ApiModelProperty(value = "合同编号", name = "rentContractId")
@io.swagger.annotations.ApiModelProperty(value = "租金合同编号", name = "rentContractId")
private Long rentContractId;
@io.swagger.annotations.ApiModelProperty(value = "物业合同编号", name = "propertyContractId")
private Long propertyContractId;
@io.swagger.annotations.ApiModelProperty(value = "账单编号", name = "billId")
private Long billId;


+ 16
- 0
mallinkService/src/main/java/com/iformall/domain/vo/WxRentContractRevenueSetSalesVo.java ファイルの表示

@@ -0,0 +1,16 @@
package com.iformall.domain.vo;

import lombok.Data;
import java.io.Serializable;
import java.util.List;

import com.iformall.domain.po.WxAllBill;

@Data
public class WxRentContractRevenueSetSalesVo implements Serializable {

private static final long serialVersionUID = 1L;

private String total;
private List<WxAllBill> billList;
}

+ 1
- 1
mallinkService/src/main/java/com/iformall/enums/EnumBillStatus.java ファイルの表示

@@ -13,7 +13,7 @@ public enum EnumBillStatus {
PAID(3, "已结清"),
INVALID(6, "失效"),
BAD(7, "坏账"),
STOP_TO_SETTLE(8,"退租待结算"),
STOP_TO_SETTLE(8,"待结算"),
SET_OFF(9,"预收待抵扣")
;



+ 6
- 0
mallinkService/src/main/java/com/iformall/service/WxRentContractService.java ファイルの表示

@@ -7,8 +7,10 @@ import com.iformall.domain.po.WxAllBill;
import com.iformall.domain.po.WxMall;
import com.iformall.domain.po.WxRentContract;
import com.iformall.domain.po.WxRentContractFreePeriod;
import com.iformall.domain.po.WxRentContractRevenueSales;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.RentContractFreePeriodVo;
import com.iformall.domain.vo.WxRentContractRevenueSetSalesVo;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -154,4 +156,8 @@ public interface WxRentContractService {
void saveFreePeriods(WxRentContract wxRentContract);
List<WxRentContractRevenueSales> getContractSales(WxRentContract wxRentContract);
WxRentContractRevenueSetSalesVo setRevenueSales(WxRentContract rentcontract,String sales,Long billId,Long propertyContractId);
}

+ 100
- 2
mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java ファイルの表示

@@ -22,11 +22,13 @@ import com.iformall.domain.po.WxPropertyContract;
import com.iformall.domain.po.WxRentContract;
import com.iformall.domain.po.WxRentContractFreePeriod;
import com.iformall.domain.po.WxRentContractRevenueJump;
import com.iformall.domain.po.WxRentContractRevenueSales;
import com.iformall.domain.po.WxShop;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.BillTimeVo;
import com.iformall.domain.vo.RatioVo;
import com.iformall.domain.vo.RentContractFreePeriodVo;
import com.iformall.domain.vo.WxRentContractRevenueSetSalesVo;
import com.iformall.enums.EnumBillAllType;
import com.iformall.enums.EnumBillStatus;
import com.iformall.enums.EnumContractOperationType;
@@ -146,6 +148,7 @@ public class WxRentContractServiceImpl implements WxRentContractService {
@Autowired
WxBusinessMapper wxBusinessMapper;
@Lazy
@Autowired
WxMallService wxMallService;
@@ -1057,7 +1060,7 @@ public class WxRentContractServiceImpl implements WxRentContractService {
resultList.addAll(billRentList);
return resultList;
}
public List<WxAllBill> buildRentJinmao(MallUserInfo user, WxRentContract wxRentContract, int receivePeriod, Integer lease, Date rentalStartDate, String price, Integer isPreview, boolean saveDb) {
int size = 0;
String[] priceArrs = null;
@@ -1456,7 +1459,6 @@ public class WxRentContractServiceImpl implements WxRentContractService {
return resultMap;
}
private WxAllBill setManageRent(Integer decimalSize,WxAllBill wxBillRent,EnumRentContractManageFeeType feeType,String needPay,Integer serviceChargeRate,int dayType,int receivePeriod) {
WxAllBill manage = new WxAllBill();
manage.setRentContractId(wxBillRent.getRentContractId());
@@ -2311,4 +2313,100 @@ public class WxRentContractServiceImpl implements WxRentContractService {
}
}
@Override
public List<WxRentContractRevenueSales> getContractSales(WxRentContract wxRentContract) {
WxRentContractRevenueSales sales = new WxRentContractRevenueSales();
sales.updateTenantInfo(wxRentContract);
sales.setRentContractId(wxRentContract.getId());
return wxRentContractRevenueSalesMapper.findList(sales);
}
@Override
public WxRentContractRevenueSetSalesVo setRevenueSales(WxRentContract rentcontract, String sales, Long billId, Long propertyContractId) {
WxAllBill rentBill = wxAllBillMapper.selectById(billId, rentcontract.getTenantId());
BigDecimal price = new BigDecimal(sales);
//加上物业
WxAllBill propertyBill = null;
if (null != propertyContractId) {
WxAllBill propertyBillq = new WxAllBill();
propertyBillq.updateTenantInfo(rentcontract);
propertyBillq.setPropertyContractId(propertyContractId);
propertyBillq.setBillType(EnumBillAllType.PROPERTY.getCode());
propertyBillq.setEnergyFeesId(EnumBillAllType.PROPERTY.getEnergyFeesId());
propertyBillq.setIsPreview(EnumYesOrNo.NO.getCode());
propertyBillq.setStarttimeEqual(rentBill.getStarttime());
propertyBillq.setStarttimeEqual(rentBill.getEndtime());
List<WxAllBill> propertyBillList = wxAllBillMapper.findList(propertyBillq);
if (null != propertyBillList && propertyBillList.size() > 0) {
propertyBill = propertyBillList.get(0);
price = price.add(new BigDecimal(propertyBill.getReceivePay()));
}
}
//免租期
List<Date> freePeriods = getFreeDays(rentcontract);
String needpay = WxRentContractHelper.getNeedPayMoney(freePeriods,rentcontract, price.toPlainString(),rentBill.getStarttime(),
rentBill.getEndtime(),0,0,false,rentcontract.getReceivePeriodUnit(),rentcontract.getReceivePeriod());
//保存销售额
WxRentContractRevenueSales rs = new WxRentContractRevenueSales();
rs.updateTenantInfo(rentcontract);
rs.setRentContractId(rentcontract.getId());
rs.setBillId(billId);
List<WxRentContractRevenueSales> saleList = wxRentContractRevenueSalesMapper.findList(rs);
if (null != saleList && saleList.size() > 0 ) { WxRentContractRevenueSales sale = saleList.get(0);
sale.setSaleMoney(sales);
sale.setUpdateTime(new Date());
wxRentContractRevenueSalesMapper.updateById(sale);
}else {
WxRentContractRevenueSales sale = new WxRentContractRevenueSales();
sale.updateTenantInfo(rentcontract);
sale.setBillId(billId);
sale.setRentContractId(rentcontract.getId());
sale.setBillMoney(rentBill.getReceivePay());
sale.setSaleMoney(sales);
sale.setCalcuteMoney(needpay);
sale.setPropertyContractId(propertyContractId);
sale.setCreateTime(new Date());
sale.setUpdateTime(new Date());
wxRentContractRevenueSalesMapper.insert(sale);
}
//更新账单费用
rentBill.setMoneyChangeDetail("原合同租金金额:"+rentBill.getReceivePay()+"元,计算之后为:"+needpay+"元。");
rentBill.setReceivePay(needpay);
rentBill.setBillRemark("设置销售额,自动计算");
rentBill.setUpdatetime(new Date());
if (new BigDecimal(rentBill.getOwe()).compareTo(new BigDecimal(0)) < 0 ) {
rentBill.setStatus(EnumBillStatus.STOP_TO_SETTLE.getCode());
}else {
rentBill.setStatus(EnumBillStatus.PAID.getCode());
}
wxAllBillMapper.updateById(rentBill);
//物业账单应收就改为0,因为金额已经合并了
if (null != propertyBill) {
propertyBill.setMoneyChangeDetail("原合同物业金额:"+propertyBill.getReceivePay()+"元,已合并到租金,调整为:0元。");
propertyBill.setReceivePay("0");
propertyBill.setBillRemark("设置销售额,已自动计算合并到租金");
if (new BigDecimal(propertyBill.getOwe()).compareTo(new BigDecimal(0)) < 0 ) {
propertyBill.setStatus(EnumBillStatus.STOP_TO_SETTLE.getCode());
}else {
propertyBill.setStatus(EnumBillStatus.PAID.getCode());
}
propertyBill.setUpdatetime(new Date());
wxAllBillMapper.updateById(propertyBill);
}
WxRentContractRevenueSetSalesVo vo = new WxRentContractRevenueSetSalesVo();
vo.setTotal(needpay);
List<WxAllBill> blist = new ArrayList<WxAllBill>();
blist.add(rentBill);
if (null != propertyBill) {
blist.add(propertyBill);
}
vo.setBillList(blist);;
return vo;
}
}

+ 2
- 0
mallinkService/src/main/resources/mapper/WxAllBillMapper.xml ファイルの表示

@@ -69,6 +69,8 @@
<if test=" null != isPreview ">and `is_preview` = #{isPreview}</if>
<if test=" null != starttime">and `starttime` &gt;= #{starttime}</if>
<if test=" null != endtime">and `endtime` &lt;= #{endtime}</if>
<if test=" null != starttimeEqual">and `starttime` = #{starttimeEqual}</if>
<if test=" null != endtimeEqual">and `endtime` = #{endtimeEqual}</if>
<if test=" null != month and '' != month">
and date_format(starttime,'%Y-%m') &lt;= #{month} and date_format(endtime,'%Y-%m') &gt;= #{month}
</if>


+ 3
- 1
mallinkService/src/main/resources/mapper/WxRentContractRevenueSalesMapper.xml ファイルの表示

@@ -8,6 +8,7 @@
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="rent_contract_id" jdbcType="BIGINT" property="rentContractId"/>
<result column="property_contract_id" jdbcType="BIGINT" property="propertyContractId"/>
<result column="bill_id" jdbcType="BIGINT" property="billId"/>
<result column="bill_money" jdbcType="VARCHAR" property="billMoney"/>
<result column="sale_money" jdbcType="VARCHAR" property="saleMoney"/>
@@ -16,7 +17,7 @@
</resultMap>

<sql id="allColumns">
`id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`rent_contract_id`,`bill_id`,`bill_money`,
`id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`rent_contract_id`,`property_contract_id`,`bill_id`,`bill_money`,
`sale_money`,`calcute_money`,`remark`
</sql>

@@ -30,6 +31,7 @@
and `parent_tenant_id` = #{parentTenantId}
</if>
<if test=" null != rentContractId ">and `rent_contract_id` = #{rentContractId}</if>
<if test=" null != propertyContractId ">and `property_contract_id` = #{propertyContractId}</if>
<if test=" null != billId ">and `bill_id` = #{billId}</if>
<if test=" null != ids ">
and id in


読み込み中…
キャンセル
保存