winter 1 год назад
Родитель
Сommit
45d778567a
8 измененных файлов: 123 добавлений и 54 удалений
  1. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/rent/WxAllBillController.java
  2. +0
    -2
      mallinkAdmin/src/main/java/com/iformall/controller/sys/WxUserDataRuleController.java
  3. +1
    -1
      mallinkService/src/main/java/com/iformall/domain/dto/WxBillPayDTO.java
  4. +3
    -3
      mallinkService/src/main/java/com/iformall/enums/EnumBillAction.java
  5. +23
    -13
      mallinkService/src/main/java/com/iformall/service/impl/WxAllBillServiceImpl.java
  6. +6
    -10
      mallinkService/src/main/java/com/iformall/service/impl/WxBillBaseService.java
  7. +86
    -23
      mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java
  8. +2
    -1
      mallinkService/src/main/java/com/iformall/service/payBill/impl/PayBillBaseService.java

+ 2
- 1
mallinkAdmin/src/main/java/com/iformall/controller/rent/WxAllBillController.java Просмотреть файл

@@ -521,7 +521,8 @@ public class WxAllBillController extends BillBaseController {
if (null == payWay) {
return new ResultData(Result.ERROR,"支付方式未查询到");
}
dto.setPayWayObject(payWay);
dto.setPayWay(payWay.getId());
dto.setPayWayName(payWay.getName());
billAllHelper.updatePay(dto, getUser());
return new ResultData();
//return wxBillAllService.updateReceivePay(wxBillAll, getUser(),false);


+ 0
- 2
mallinkAdmin/src/main/java/com/iformall/controller/sys/WxUserDataRuleController.java Просмотреть файл

@@ -39,7 +39,6 @@ public class WxUserDataRuleController extends BaseController {

@ApiOperation("编辑")
@PostMapping("/modify")
@SystemControllerLog(description = "用户数据权限-新增")
public ResultData modify(@RequestBody WxUserDataRule wxUserDataRule) {
logger.debug("[" + getIpAddr() + "] wxDataRuleTarget::modify");
MallUserInfo currentUser = getUser();
@@ -55,7 +54,6 @@ public class WxUserDataRuleController extends BaseController {
@ApiOperation("根据用户ID查看")
@GetMapping("/findByUserId")
@ApiImplicitParam(name = "userId", value = "userId", dataType = "Long", paramType = "query", required = true)
@SystemControllerLog(description = "用户数据权限-根据用户ID查看")
public ResultData findByUserId(Long userId) {
logger.debug("[" + getIpAddr() + "] wxDataRuleTarget::modify");
WxUserDataRule wxUserDataRule = wxUserDataRuleService.findByUserId(userId);


+ 1
- 1
mallinkService/src/main/java/com/iformall/domain/dto/WxBillPayDTO.java Просмотреть файл

@@ -17,8 +17,8 @@ public class WxBillPayDTO extends TenantEntity{
private String addpay;//支付金额
private String payToMerchant;//支付给商户金额
private String setOff="0";//冲抵金额
private WxBillPayWay payWayObject;//支付方式
private Long payWay;//传值
private String payWayName;//传值
private String remark;
private String image;
}

+ 3
- 3
mallinkService/src/main/java/com/iformall/enums/EnumBillAction.java Просмотреть файл

@@ -46,18 +46,18 @@ public enum EnumBillAction {
return message;
}
public String getDescription(String oldMoney,String newMoney,String setoffMoney,WxBillPayWay payWay,EnumBillStatus oldStatus,EnumBillStatus newStatus) {
public String getDescription(String oldMoney,String newMoney,String setoffMoney,String payWay,EnumBillStatus oldStatus,EnumBillStatus newStatus) {
StringBuffer sb = new StringBuffer("[").append(this.message).append("]");
if (code.intValue() == SELF_SERVICE_PAY.code.intValue()) {
if (null != payWay) {
sb.append(payWay.getName()).append("支付");
sb.append(payWay).append("支付");
}
sb.append(newMoney).append("元");
}else if (code.intValue() == UPDATE_BILL.code.intValue()) {
sb.append("应付金额").append(oldMoney).append("元变更成").append(newMoney).append("元");
}else if (code.intValue() == OFFLINE_PAY.code.intValue()) {
if (null != payWay) {
sb.append(payWay.getName()).append("支付");
sb.append(payWay).append("支付");
}
sb.append(newMoney).append("元");
if (StringUtils.isNotBlank(setoffMoney) && new BigDecimal(setoffMoney).compareTo(new BigDecimal(0)) > 0 ) {


+ 23
- 13
mallinkService/src/main/java/com/iformall/service/impl/WxAllBillServiceImpl.java Просмотреть файл

@@ -236,7 +236,7 @@ public class WxAllBillServiceImpl extends WxBillBaseService implements WxAllBill
wxBillRent.setLastOweCallUser(user.getName()+"(账号:"+user.getUsername()+")");
wxAllBillMapper.updateById(wxBillRent);
this.addBillAction(EnumBillAction.NOTIFY, dto.getBillTypeValue(),dto.getId(),
null, null,null,null,null,dto.getRemark(),null,null, user);
null, null,null,null,null,null,dto.getRemark(),null,null, user);
}
@Override
@@ -253,23 +253,25 @@ public class WxAllBillServiceImpl extends WxBillBaseService implements WxAllBill
wxBillRent.setStatus(EnumBillStatus.PAID.getCode());
wxAllBillMapper.updateById(wxBillRent);
String remark = StringUtils.trimToEmpty(dto.getRemark())+ ";【系统】账单被强制为支付完成,自动归结为结清。";
this.addBillAction(EnumBillAction.UPDATE_BILL, dto.getBillTypeValue(),dto.getId(), dbBill.getPay(), dbBill.getPay(),null,null,null,remark,null,null, user);
this.addBillAction(EnumBillAction.UPDATE_BILL, dto.getBillTypeValue(),dto.getId(), dbBill.getPay(), dbBill.getPay(),null,null,null,null,remark,null,null, user);
}else {
if (StringUtils.isNotBlank(dto.getOldLatePrice()) && StringUtils.isNotBlank(dto.getNewLatePrice())) {
wxBillRent.setBillLatePay(dto.getNewLatePrice());
wxAllBillMapper.updateById(wxBillRent);
this.addBillAction(EnumBillAction.UPDATE_LATE_PAY_MONEY, dto.getBillTypeValue(), dto.getId(),
dto.getOldLatePrice(), dto.getNewLatePrice(),null,null,null,dto.getRemark(),null,null, user);
dto.getOldLatePrice(), dto.getNewLatePrice(),null,null,null,null,dto.getRemark(),null,null, user);
}else if (StringUtils.isNotBlank(dto.getServiceChargePayBefore()) && StringUtils.isNotBlank(dto.getServiceChargePayUpdate())) {
wxBillRent.setServiceChargePay(dto.getServiceChargePayUpdate());
wxAllBillMapper.updateById(wxBillRent);
this.addBillAction(EnumBillAction.UPDATE_SERVICE_MONEY, dto.getBillTypeValue(), dto.getId(),
dto.getServiceChargePayBefore(), dto.getServiceChargePayUpdate(),null,null,null,dto.getRemark(),null,null, user);
dto.getServiceChargePayBefore(), dto.getServiceChargePayUpdate(),null,null,null,null,dto.getRemark(),null,null, user);
}else {
//租赁账单更新
wxBillRent.setReceivePay(dto.getNewPrice());
Date payDate = null;
WxBillPayWay payWay = null;
Long paywayId = null;
String paywayname = null;
String remark = StringUtils.trimToEmpty(dto.getRemark());
if (new BigDecimal(dto.getNewPrice()).compareTo(new BigDecimal(dbBill.getPay())) <= 0) {
wxBillRent.setStatus(EnumBillStatus.PAID.getCode());
@@ -279,8 +281,12 @@ public class WxAllBillServiceImpl extends WxBillBaseService implements WxAllBill
}
wxAllBillMapper.updateById(wxBillRent);
//账单日志
if (null != payWay) {
paywayId = payWay.getId();
paywayname = payWay.getName();
}
this.addBillAction(EnumBillAction.UPDATE_BILL, dto.getBillTypeValue(),dto.getId(),
dto.getOldPrice(), dto.getNewPrice(),null,payDate,payWay,remark,null,null, user);
dto.getOldPrice(), dto.getNewPrice(),null,payDate,paywayId,paywayname,remark,null,null, user);
}
}
}
@@ -289,8 +295,9 @@ public class WxAllBillServiceImpl extends WxBillBaseService implements WxAllBill
public void updatePay(WxBillPayDTO dto, MallUserInfo user) {
WxAllBill wxBillRent = updateBillPay(dto);
EnumBillAction action = EnumBillAction.OFFLINE_PAY;
this.addBillAction(action, dto.getBillTypeValue(),dto.getId(),
dto.getAddpay(), dto.getAddpay(),dto.getSetOff(),wxBillRent.getPayDate(),dto.getPayWayObject(),dto.getRemark(),null,null, user);
this.addBillAction(action, dto.getBillTypeValue(),dto.getId(), dto.getAddpay(), dto.getAddpay(),
dto.getSetOff(),wxBillRent.getPayDate(),dto.getPayWay(),dto.getPayWayName(),
dto.getRemark(),null,null, user);
}
private WxAllBill updateBillPay(WxBillPayDTO dto) {
@@ -369,7 +376,7 @@ public class WxAllBillServiceImpl extends WxBillBaseService implements WxAllBill
}
wxBillRent.setSetOff(new BigDecimal(oldSetOff).add(remainSetoff).toPlainString());
wxBillRent.setPayDate(new Date());
wxBillRent.setPayWay(dto.getPayWayObject().getId());
wxBillRent.setPayWay(dto.getPayWay());
wxAllBillMapper.updateById(wxBillRent);
dto.setRemark(sb.toString());
return wxBillRent;
@@ -385,7 +392,8 @@ public class WxAllBillServiceImpl extends WxBillBaseService implements WxAllBill
action = EnumBillAction.OFFLINE_PAY;
}
this.addBillAction(action, dto.getBillTypeValue(),dto.getId(),
dto.getAddpay(), dto.getAddpay(),null,wxBillRent.getPayDate(),dto.getPayWayObject(),dto.getRemark(),null,null, user);
dto.getAddpay(), dto.getAddpay(),null,wxBillRent.getPayDate(),dto.getPayWay(),dto.getPayWayName(),
dto.getRemark(),null,null, user);
}
@Override
@@ -425,7 +433,8 @@ public class WxAllBillServiceImpl extends WxBillBaseService implements WxAllBill
wxAllBillMapper.updateById(wxBillRent);
this.addBillAction(EnumBillAction.RETURN, dto.getBillTypeValue(),dto.getId(),
dto.getAddpay(), dto.getAddpay(),null,wxBillRent.getPayDate(),dto.getPayWayObject(),dto.getRemark(),null,null, user);
dto.getAddpay(), dto.getAddpay(),null,wxBillRent.getPayDate(),dto.getPayWay(),dto.getPayWayName(),
dto.getRemark(),null,null, user);
}
@Override
@@ -441,7 +450,7 @@ public class WxAllBillServiceImpl extends WxBillBaseService implements WxAllBill
wxAllBillMapper.updateById(wxBillRent);
String badMoney = dbBill.getOwe();
this.addBillAction(EnumBillAction.BAD, dto.getBillTypeValue(),dto.getId(),
badMoney, badMoney,null,null,null,dto.getRemark(),null,null, user);
badMoney, badMoney,null,null,null,null,dto.getRemark(),null,null, user);
}
@Override
@@ -518,7 +527,8 @@ public class WxAllBillServiceImpl extends WxBillBaseService implements WxAllBill
wxAllBillMapper.updateById(wxBillRent);
EnumBillAction action = EnumBillAction.RETURN;
this.addBillAction(action, dto.getBillTypeValue(),dto.getId(),
dto.getAddpay(), dto.getAddpay(),dto.getSetOff(),wxBillRent.getPayDate(),dto.getPayWayObject(),dto.getRemark(),null,null, user);
dto.getAddpay(), dto.getAddpay(),dto.getSetOff(),wxBillRent.getPayDate(),dto.getPayWay(),dto.getPayWayName(),
dto.getRemark(),null,null, user);
}
@Override
@@ -536,7 +546,7 @@ public class WxAllBillServiceImpl extends WxBillBaseService implements WxAllBill
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);
oldreturnPay.toPlainString(), dto.getPayToMerchant(),null,null,null,null,dto.getRemark(),null,null, user);
}
@Override


+ 6
- 10
mallinkService/src/main/java/com/iformall/service/impl/WxBillBaseService.java Просмотреть файл

@@ -24,35 +24,31 @@ public class WxBillBaseService{
@Autowired
private WxBillActionService wxBillActionService;

protected void addBillAction(EnumBillAction billAction, Integer billType,Long billId, String oldMoney, String newMoney,String setoff,Date payDate,WxBillPayWay payWay,String remark, EnumBillStatus oldStatus,EnumBillStatus newStatus,MallUserInfo mallUserInfo) {
protected void addBillAction(EnumBillAction billAction, Integer billType,Long billId, String oldMoney, String newMoney,String setoff,Date payDate,Long payWayId,String payWayName,String remark, EnumBillStatus oldStatus,EnumBillStatus newStatus,MallUserInfo mallUserInfo) {
WxBillAction wxBillAction = new WxBillAction();
wxBillAction.setBillId(billId);
wxBillAction.setBillType(billType);
wxBillAction.setOldMoney(oldMoney);
wxBillAction.setNewMoney(newMoney);
wxBillAction.setDetails(billAction.getDescription(oldMoney, newMoney,setoff,payWay,oldStatus,newStatus));
wxBillAction.setDetails(billAction.getDescription(oldMoney, newMoney,setoff,payWayName,oldStatus,newStatus));
wxBillAction.setAction(billAction.getCode());
wxBillAction.setPayDate(payDate);
if (null != payWay) {
wxBillAction.setPayWay(payWay.getId());
}
wxBillAction.setPayWay(payWayId);
wxBillAction.setRemark(remark);
wxBillAction.setUserType(EnumSystemUserType.ADMIN.getCode());
wxBillActionService.modifyBill(wxBillAction, mallUserInfo);
}
protected void addBillAction(EnumBillAction billAction, Integer billType,Long billId, String oldMoney, String newMoney,String setoff,Date payDate,WxBillPayWay payWay,String remark,EnumBillStatus oldStatus,EnumBillStatus newStatus, WxMerchantBUser bUser) {
protected void addBillAction(EnumBillAction billAction, Integer billType,Long billId, String oldMoney, String newMoney,String setoff,Date payDate,Long payWayId,String payWayName,String remark,EnumBillStatus oldStatus,EnumBillStatus newStatus, WxMerchantBUser bUser) {
WxBillAction wxBillAction = new WxBillAction();
wxBillAction.setBillId(billId);
wxBillAction.setBillType(billType);
wxBillAction.setOldMoney(oldMoney);
wxBillAction.setNewMoney(newMoney);
wxBillAction.setDetails(billAction.getDescription(oldMoney, newMoney,setoff,payWay,oldStatus,newStatus));
wxBillAction.setDetails(billAction.getDescription(oldMoney, newMoney,setoff,payWayName,oldStatus,newStatus));
wxBillAction.setAction(billAction.getCode());
wxBillAction.setPayDate(payDate);
if (null != payWay) {
wxBillAction.setPayWay(payWay.getId());
}
wxBillAction.setPayWay(payWayId);
wxBillAction.setRemark(remark);
wxBillAction.setUserType(EnumSystemUserType.MERCHANT.getCode());
wxBillActionService.modifyBill(wxBillAction, bUser);


+ 86
- 23
mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java Просмотреть файл

@@ -554,7 +554,7 @@ public class WxFinanceServiceImpl implements WxFinanceService {
//单保存冲抵的时候,实收金额为0
BigDecimal receiveTotal = new BigDecimal(0);
WxBillPayWay payWay0 = null;
//WxBillPayWay payWay0 = null;
final IdWorker idWorker = IdWorker.get();
Long receiveId = idWorker.nextId();
List<WxFinanceReceivePayway> receivePayWayList = new ArrayList<WxFinanceReceivePayway>();
@@ -567,14 +567,12 @@ public class WxFinanceServiceImpl implements WxFinanceService {
throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"收款方式不能为空");
}
receiveTotal = receiveTotal.add(new BigDecimal(payWay.getMoney()));
if (null == payWay0) {
payWay0 = payWay;
}
WxFinanceReceivePayway rpw = new WxFinanceReceivePayway();
rpw.updateTenantInfo(record);
rpw.setReceiveId(receiveId);
rpw.setReceive(payWay.getMoney());
rpw.setPayWay(payWay.getId());
rpw.setPayWayName(payWay.getName());
rpw.setCreateTime(new Date());
rpw.setUpdateTime(new Date());
rpw.setIsDel(EnumYesOrNo.NO.getCode());
@@ -605,7 +603,7 @@ public class WxFinanceServiceImpl implements WxFinanceService {
for (int i = 0 ; i < record.getBills().size(); i++) {
WxAllBill be = record.getBills().get(i);
//每个账单要创建一个收款关联单,如果有冲抵,要额外创建
boolean noNeedCreate = createBillReceive(calcuteDto,user,addreceive,be,merchant,payWay0);
boolean noNeedCreate = createBillReceive(calcuteDto,user,addreceive,be,merchant,receivePayWayList);
if (!noNeedCreate) {
isAllEmpity = false;
}
@@ -627,7 +625,36 @@ public class WxFinanceServiceImpl implements WxFinanceService {
return retMap;
}
public boolean createBillReceive(FinanceReceiveCalcuteDTO calcuteDto,MallUserInfo user,WxFinanceReceive addreceive,WxAllBill be,WxMerchant merchant,WxBillPayWay payWay0) {
private void calcuteReceiveMoney(StringBuffer sb,WxFinanceReceive addreceive,WxAllBill bill,List<WxFinanceReceivePayway> receivePayWayList,BigDecimal moneyDecimal) {
if (moneyDecimal.compareTo(new BigDecimal(0)) <= 0 ) {
return ;
}
for (int i = 0 ; i < receivePayWayList.size(); i ++) {
WxFinanceReceivePayway payway = receivePayWayList.get(i);
//能够覆盖账单金额
if (moneyDecimal.compareTo(new BigDecimal(payway.getReceive())) <= 0 ) {
//创建一个实收款单关联
createFinanceReceiveBill(addreceive,bill,moneyDecimal.toPlainString(),null,payway.getId());
sb.append(payway.getPayWayName()).append("收款").append(moneyDecimal.toPlainString()).append(",");
BigDecimal remain = new BigDecimal(payway.getReceive()).subtract(moneyDecimal);
if (remain.compareTo(new BigDecimal(0))==0) {
receivePayWayList.remove(i);
}else {
payway.setReceive(remain.toPlainString());
}
break;
}else {
//创建一个实收款单关联
createFinanceReceiveBill(addreceive,bill,payway.getReceive(),null,payway.getId());
sb.append(payway.getPayWayName()).append("收款").append(payway.getReceive()).append(",");
receivePayWayList.remove(i);
BigDecimal needlat = moneyDecimal.subtract(new BigDecimal(payway.getReceive()));
calcuteReceiveMoney(sb,addreceive,bill,receivePayWayList,needlat);
}
}
}
public boolean createBillReceive(FinanceReceiveCalcuteDTO calcuteDto,MallUserInfo user,WxFinanceReceive addreceive,WxAllBill be,WxMerchant merchant,List<WxFinanceReceivePayway> receivePayWayList) {
//如果既没有收款,也没有冲抵,则不更新
boolean noNeedCreate = true;
//计算账单收款费用,更新账单收款
@@ -654,18 +681,23 @@ public class WxFinanceServiceImpl implements WxFinanceService {
money = calcuteDto.getTotalRemainReceive().toPlainString();
calcuteDto.setTotalRemainReceive(new BigDecimal(0));
}
WxFinanceReceivePayway payway0 = receivePayWayList.get(0);
StringBuffer sb = new StringBuffer();
BigDecimal moneyDecimal = new BigDecimal(money);
//根据金额循环创建
calcuteReceiveMoney(sb,addreceive, bill, receivePayWayList, moneyDecimal);
WxBillPayDTO payDto = new WxBillPayDTO();
payDto.updateTenantInfo(addreceive);
payDto.setId(be.getId());
payDto.setBillTypeValue(be.getBillType());
payDto.setAddpay(money);
payDto.setPayWay(payWay0.getId());
payDto.setPayWayObject(payWay0);
payDto.setRemark("收款单收款["+addreceive.getId()+"]"+addreceive.getRemark());
payDto.setPayWay(payway0.getId());
payDto.setPayWayName(payway0.getPayWayName());
payDto.setRemark("收款单收款["+addreceive.getId()+"]"+addreceive.getRemark()+"收款明细:"+sb.toString());
be.setCurrentReceive(money);
//创建一个实收款单关联
createFinanceReceiveBill(addreceive,bill,money,null,payWay0.getId());
bill.setCurrentReceive(money);
//并且有抵扣
if(StringUtils.isNotBlank(be.getCurrentSetOff())) {
@@ -693,11 +725,7 @@ public class WxFinanceServiceImpl implements WxFinanceService {
payDto.setAddpay("0");
payDto.setSetOff(be.getCurrentSetOff());
payDto.setPayWay(Constant.bill_pay_way_setoff);
if (null == payWay0) {
payWay0 = new WxBillPayWay();
payWay0.setId(Constant.bill_pay_way_setoff);
}
payDto.setPayWayObject(payWay0);
payDto.setPayWayName("冲抵");
payDto.setRemark("收款单收款["+addreceive.getId()+"]冲抵"+addreceive.getRemark());
wxBillAllHelper.updatePay(payDto, user);
}
@@ -825,7 +853,7 @@ public class WxFinanceServiceImpl implements WxFinanceService {
for (int i = 0 ; i < record.getBills().size(); i++) {
WxAllBill be = record.getBills().get(i);
//每个账单要创建一个收款关联单,如果有冲抵,要额外创建
boolean noNeedCreate = createBillPay(calcuteDto,user,addreceive,be,merchant,payWay0);
boolean noNeedCreate = createBillPay(calcuteDto,user,addreceive,be,merchant,receivePayWayList);
if (!noNeedCreate) {
isAllEmpity = false;
}
@@ -843,7 +871,36 @@ public class WxFinanceServiceImpl implements WxFinanceService {
return retMap;
}
public boolean createBillPay(FinanceReceiveCalcuteDTO calcuteDto,MallUserInfo user,WxFinanceReceive addreceive,WxAllBill be,WxMerchant merchant,WxBillPayWay payWay0) {
private void calcutePayMoney(StringBuffer sb,WxFinanceReceive addreceive,WxAllBill bill,List<WxFinanceReceivePayway> receivePayWayList,BigDecimal moneyDecimal) {
if (moneyDecimal.compareTo(new BigDecimal(0)) <= 0 ) {
return ;
}
for (int i = 0 ; i < receivePayWayList.size(); i ++) {
WxFinanceReceivePayway payway = receivePayWayList.get(i);
//能够覆盖账单金额
if (moneyDecimal.compareTo(new BigDecimal(payway.getReceive())) <= 0 ) {
//创建一个实收款单关联
createFinanceReceiveBill(addreceive,bill,null,moneyDecimal.toPlainString(),payway.getId());
sb.append(payway.getPayWayName()).append("付款").append(moneyDecimal.toPlainString()).append(",");
BigDecimal remain = new BigDecimal(payway.getReceive()).subtract(moneyDecimal);
if (remain.compareTo(new BigDecimal(0))==0) {
receivePayWayList.remove(i);
}else {
payway.setReceive(remain.toPlainString());
}
break;
}else {
//创建一个实收款单关联
createFinanceReceiveBill(addreceive,bill,null,payway.getReceive(),payway.getId());
sb.append(payway.getPayWayName()).append("付款").append(payway.getReceive()).append(",");
receivePayWayList.remove(i);
BigDecimal needlat = moneyDecimal.subtract(new BigDecimal(payway.getReceive()));
calcutePayMoney(sb,addreceive,bill,receivePayWayList,needlat);
}
}
}
public boolean createBillPay(FinanceReceiveCalcuteDTO calcuteDto,MallUserInfo user,WxFinanceReceive addreceive,WxAllBill be,WxMerchant merchant,List<WxFinanceReceivePayway> receivePayWayList) {
//如果既没有收款,也没有冲抵,则不更新
boolean noNeedCreate = true;
//计算账单收款费用,更新账单收款
@@ -868,18 +925,24 @@ public class WxFinanceServiceImpl implements WxFinanceService {
money = calcuteDto.getTotalRemainPay().toPlainString();
calcuteDto.setTotalRemainPay(new BigDecimal(0));
}
WxFinanceReceivePayway payway0 = receivePayWayList.get(0);
WxBillPayDTO payDto = new WxBillPayDTO();
payDto.updateTenantInfo(addreceive);
payDto.setId(be.getId());
payDto.setBillTypeValue(be.getBillType());
payDto.setPayToMerchant(money);
payDto.setPayWay(payWay0.getId());
payDto.setPayWayObject(payWay0);
payDto.setPayWay(payway0.getId());
payDto.setPayWayName(payway0.getPayWayName());
payDto.setRemark("付款单付款["+addreceive.getId()+"]"+addreceive.getRemark());
be.setCurrentReceive(money);
//创建一个实收款单关联
createFinanceReceiveBill(addreceive,bill,null,money,payWay0.getId());
//根据金额循环创建
StringBuffer sb = new StringBuffer();
BigDecimal moneyDecimal = new BigDecimal(money);
calcutePayMoney(sb, addreceive, bill, receivePayWayList, moneyDecimal);
bill.setCurrentReceive(money);
wxBillAllHelper.updatePayToMerchant(payDto, user);


+ 2
- 1
mallinkService/src/main/java/com/iformall/service/payBill/impl/PayBillBaseService.java Просмотреть файл

@@ -24,7 +24,8 @@ public class PayBillBaseService {
dto.setId(billId);
dto.setBillTypeValue(billType.getCode());
dto.setAddpay(paid);
dto.setPayWayObject(payWay);
dto.setPayWay(payWay.getId());
dto.setPayWayName(payWay.getName());
dto.setRemark(remark);
WxMerchantBUser buser = wxMerchantBUserService.getById(merchantBUserId);


Загрузка…
Отмена
Сохранить