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 9cb6a67a8..f7c37ed50 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxEnergyController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxEnergyController.java @@ -276,7 +276,6 @@ public class WxEnergyController extends BaseController { @PostMapping("readingIsDel") public ResultData readingIsDel(@RequestBody WxEnergyMeterReading record) { record.updateTenantInfo(getTenantInfo()); - record.setIsDel(EnumYesOrNo.YES.getCode()); wxEnergyService.setReadingIsDel(record); return new ResultData(); } 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 21819fea8..a2fbc97ba 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java @@ -440,6 +440,7 @@ public class WxFinanceController extends BaseController { WxFinanceReceive rq = new WxFinanceReceive(); rq.setCreateTimeBegin(finish.getStartDate()); rq.setCreateTimeEnd(finish.getEndDate()); + //正常和已红冲的都可以结账 rq.setFinishStatus(EnumYesOrNo.YES.getCode()); rq.setIsFinish(EnumYesOrNo.NO.getCode()); rq.updateTenantInfo(record); diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceFinish.java b/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceFinish.java index 3145700c8..db41c516c 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceFinish.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceFinish.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.iformall.domain.po.base.TenantEntity; import com.iformall.enums.EnumFinanceCashierType; +import com.iformall.enums.EnumFinanceFinishStatus; import com.iformall.enums.EnumFinanceReceiveStatus; import com.iformall.enums.EnumFinanceReceiveType; @@ -53,7 +54,7 @@ public class WxFinanceFinish extends TenantEntity { private String statusName; public String getStatusName() { if (null != status) { - return EnumFinanceReceiveStatus.getEnum(status).getMessage(); + return EnumFinanceFinishStatus.getEnum(status).getMessage(); } return null; } diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxFinanceReceiveVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxFinanceReceiveVo.java index c4ac558a9..1840b277d 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxFinanceReceiveVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxFinanceReceiveVo.java @@ -145,6 +145,9 @@ public class WxFinanceReceiveVo implements Serializable { @io.swagger.annotations.ApiModelProperty(value = "是否已删除", name = "isDel") private Integer isDel; + + @io.swagger.annotations.ApiModelProperty(value = "是否已结账完成", name = "isFinish") + private Integer isFinish; public void initByReceive(WxFinanceReceive receive,WxFinanceReceiveBill receiveBill) { @@ -164,7 +167,7 @@ public class WxFinanceReceiveVo implements Serializable { this.merchantId = receive.getMerchantId(); this.remark = receive.getRemark(); this.isPrint = receive.getIsPrint(); - + this.isFinish = receive.getIsFinish(); if (null != receiveBill) { this.rid = receiveBill.getId(); this.receiveId = receiveBill.getReceiveId(); diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxFinanceReceiveMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxFinanceReceiveMapper.java index 5bd37a61d..5d592294c 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxFinanceReceiveMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxFinanceReceiveMapper.java @@ -14,6 +14,8 @@ public interface WxFinanceReceiveMapper extends CommonMapper findList(WxFinanceReceive wxBillRent); + Integer findCount(WxFinanceReceive wxBillRent); + WxFinanceReceive selectById(@Param("id")Long id,@Param("tenantId")String tenantId); void setIsDel(@Param("id")Long id,@Param("tenantId")String tenantId,@Param("isDel")Integer isDel); @@ -25,5 +27,7 @@ public interface WxFinanceReceiveMapper extends CommonMapper getReceivePayWaySum(WxFinanceReceive record); + + } diff --git a/mallinkService/src/main/java/com/iformall/service/WxAllBillService.java b/mallinkService/src/main/java/com/iformall/service/WxAllBillService.java index a32542bb1..d45ce7fb8 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxAllBillService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxAllBillService.java @@ -59,6 +59,8 @@ public interface WxAllBillService { void backPay(WxBillPayDTO dto,MallUserInfo user); + void toMechantBackPay(WxBillPayDTO dto,MallUserInfo user); + void rentContractStop(WxRentContract rentContract,MallUserInfo user); void propertyContractStop(WxPropertyContract propertyContract,MallUserInfo user); diff --git a/mallinkService/src/main/java/com/iformall/service/helper/WxBillAllHelper.java b/mallinkService/src/main/java/com/iformall/service/helper/WxBillAllHelper.java index e322f7278..a3b15c1a0 100644 --- a/mallinkService/src/main/java/com/iformall/service/helper/WxBillAllHelper.java +++ b/mallinkService/src/main/java/com/iformall/service/helper/WxBillAllHelper.java @@ -312,6 +312,10 @@ public class WxBillAllHelper { wxAllBillService.backPay(dto, user); } + public void toMechantBackPay(WxBillPayDTO dto,MallUserInfo user) { + wxAllBillService.toMechantBackPay(dto, user); + } + public void updatePay(WxBillPayDTO dto,MallUserInfo user) { wxAllBillService.updatePay(dto, user); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxAllBillServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxAllBillServiceImpl.java index 96e2a1b7d..bd35feaf2 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxAllBillServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxAllBillServiceImpl.java @@ -520,6 +520,24 @@ public class WxAllBillServiceImpl extends WxBillBaseService implements WxAllBill dto.getAddpay(), dto.getAddpay(),dto.getSetOff(),wxBillRent.getPayDate(),dto.getPayWayObject(),dto.getRemark(),null,null, user); } + @Override + public void toMechantBackPay(WxBillPayDTO dto, MallUserInfo user) { + WxAllBill dbBill = wxAllBillMapper.selectById(dto.getId(),dto.getTenantId()); + BigDecimal oldreturnPay = new BigDecimal(0); + if (StringUtils.isNotBlank(dbBill.getReturnPay())) { + oldreturnPay = new BigDecimal(dbBill.getReturnPay()); + } + WxAllBill wxBillRent = new WxAllBill(); + wxBillRent.setId(dto.getId()); + wxBillRent.updateTenantInfo(dto); + wxBillRent.setUpdatetime(new Date()); + wxBillRent.setReturnPay(oldreturnPay.subtract(new BigDecimal(dto.getPayToMerchant())).toPlainString()); + wxAllBillMapper.updateById(wxBillRent); + EnumBillAction action = EnumBillAction.RETURN; + this.addBillAction(action, dto.getBillTypeValue(),dto.getId(), + oldreturnPay.toPlainString(), dto.getPayToMerchant(),null,null,null,dto.getRemark(),null,null, user); + } + @Override public void rentContractStop(WxRentContract rentContract,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 4408ceccc..7e9191c52 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java @@ -918,7 +918,8 @@ public class WxFinanceServiceImpl implements WxFinanceService { public void invalidReceive(WxFinanceReceive record, MallUserInfo user,boolean isRedSetoff) { //如果自身是预充单,则被冲抵了就不能作废 - if (record.getType().intValue() == EnumFinanceReceiveType.ADVANCE.getCode().intValue()) { + if (record.getType().intValue() == EnumFinanceCashierType.RECEIVE.getCode().intValue() && + record.getReceiveType().intValue() == EnumFinanceReceiveType.ADVANCE.getCode().intValue()) { WxFinanceReceiveSetoff rsq0 = new WxFinanceReceiveSetoff(); rsq0.updateTenantInfo(record); rsq0.setAdvanceId(record.getId()); @@ -964,13 +965,23 @@ public class WxFinanceServiceImpl implements WxFinanceService { payDto.updateTenantInfo(record); payDto.setId(bill.getId()); payDto.setBillTypeValue(bill.getBillType()); - payDto.setAddpay(rb.getReceive()); - if (isRedSetoff) { - payDto.setRemark("收款单红冲,自动回退"); + if (record.getType().intValue() == EnumFinanceCashierType.RECEIVE.getCode().intValue()) { + payDto.setAddpay(rb.getReceive()); + if (isRedSetoff) { + payDto.setRemark("收款单红冲,自动回退"); + }else { + payDto.setRemark("收款单作废,自动回退"); + } + wxBillAllHelper.backPay(payDto, user); }else { - payDto.setRemark("收款单作废,自动回退"); + payDto.setPayToMerchant(rb.getPay()); + if (isRedSetoff) { + payDto.setRemark("付款单红冲,自动回退"); + }else { + payDto.setRemark("付款单作废,自动回退"); + } + wxBillAllHelper.toMechantBackPay(payDto, user); } - wxBillAllHelper.backPay(payDto, user); }else { //预收单冲抵回退 @@ -1148,7 +1159,7 @@ public class WxFinanceServiceImpl implements WxFinanceService { @Override public Integer getReceiveUnFinisedCount(WxFinanceReceive record) { - return null; + return wxFinanceReceiveMapper.findCount(record); } @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) diff --git a/mallinkService/src/main/resources/mapper/WxFinanceReceiveMapper.xml b/mallinkService/src/main/resources/mapper/WxFinanceReceiveMapper.xml index baac8ec2a..49c7903ec 100644 --- a/mallinkService/src/main/resources/mapper/WxFinanceReceiveMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxFinanceReceiveMapper.xml @@ -83,6 +83,12 @@ + +