|
@ -26,6 +26,7 @@ |
|
|
package com.yxt.anrui.fin.biz.fincollectionconfirmation; |
|
|
package com.yxt.anrui.fin.biz.fincollectionconfirmation; |
|
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
|
|
|
import cn.hutool.core.date.DateUtil; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
import com.yxt.anrui.base.api.basevehicle.BaseVehicle; |
|
|
import com.yxt.anrui.base.api.basevehicle.BaseVehicle; |
|
@ -48,6 +49,7 @@ import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivabl |
|
|
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedDto; |
|
|
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedDto; |
|
|
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo; |
|
|
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo; |
|
|
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.AppFinUncollectedReceivablesDetailedVo; |
|
|
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.AppFinUncollectedReceivablesDetailedVo; |
|
|
|
|
|
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailed; |
|
|
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedDto; |
|
|
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedDto; |
|
|
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedVo; |
|
|
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedVo; |
|
|
import com.yxt.anrui.fin.biz.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedService; |
|
|
import com.yxt.anrui.fin.biz.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedService; |
|
@ -72,6 +74,7 @@ import java.util.ArrayList; |
|
|
import java.util.Collections; |
|
|
import java.util.Collections; |
|
|
import java.util.Date; |
|
|
import java.util.Date; |
|
|
import java.util.List; |
|
|
import java.util.List; |
|
|
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* Project: anrui-fin(销售相关) <br/> |
|
|
* Project: anrui-fin(销售相关) <br/> |
|
@ -203,7 +206,98 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
|
|
|
|
|
public ResultBean saveAllDto(FinCollectionConfirmationDto dto) { |
|
|
public ResultBean saveAllDto(FinCollectionConfirmationDto dto) { |
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
FinCollectionConfirmation finCollectionConfirmation = new FinCollectionConfirmation(); |
|
|
String sid = dto.getSid(); |
|
|
|
|
|
if (StringUtils.isBlank(sid)) { |
|
|
|
|
|
//首次认款
|
|
|
|
|
|
List<FinSelectedReceivablesDetailedDto> finSelectedReceivablesDetailedDtos = dto.getFinSelectedReceivablesDetaileds(); |
|
|
|
|
|
BigDecimal subscriptionMoneyAll = finSelectedReceivablesDetailedDtos.stream().map(FinSelectedReceivablesDetailedDto::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
|
|
if (subscriptionMoneyAll.compareTo(new BigDecimal(dto.getCollectionMoney())) != 0) { |
|
|
|
|
|
return rb.setMsg("认款不完全,提交失败"); |
|
|
|
|
|
} |
|
|
|
|
|
List<FinCollectionConfirmationAppendixDto> paymentVoucherAppendixs = dto.getPaymentVoucherAppendixs(); |
|
|
|
|
|
if (paymentVoucherAppendixs.size() == 0) { |
|
|
|
|
|
return rb.setMsg("请上传打款凭证附件"); |
|
|
|
|
|
} |
|
|
|
|
|
List<FinCollectionConfirmationAppendixDto> remittanceConfirmationAppendixs = dto.getRemittanceConfirmationAppendixs(); |
|
|
|
|
|
if (remittanceConfirmationAppendixs.size() == 0) { |
|
|
|
|
|
return rb.setMsg("请上传汇款确认书附件"); |
|
|
|
|
|
} |
|
|
|
|
|
//对收款申请进行赋值操作
|
|
|
|
|
|
FinCollectionConfirmation finCollectionConfirmation = new FinCollectionConfirmation(); |
|
|
|
|
|
BeanUtil.copyProperties(dto, finCollectionConfirmation, "sid"); |
|
|
|
|
|
sid = finCollectionConfirmation.getSid(); |
|
|
|
|
|
//根据用户sid查询分公司sid
|
|
|
|
|
|
String useOrgSid = sysStaffOrgFeign.getPathSidByUserSid(dto.getUserSid()).getData(); |
|
|
|
|
|
finCollectionConfirmation.setCreateBySid(dto.getUserSid()); |
|
|
|
|
|
finCollectionConfirmation.setUseOrgSid(useOrgSid); |
|
|
|
|
|
//附件保存:打款凭证附件
|
|
|
|
|
|
paymentVoucherAppendixs.stream().forEach(v -> { |
|
|
|
|
|
CommonAppendixDto commonAppendixDto = new CommonAppendixDto(); |
|
|
|
|
|
BeanUtil.copyProperties(v, commonAppendixDto); |
|
|
|
|
|
String s = commonAppendixDto.getFilePath(); |
|
|
|
|
|
if (s.contains(fileUploadComponent.getUrlPrefix())) { |
|
|
|
|
|
s = s.replace(fileUploadComponent.getUrlPrefix(), ""); |
|
|
|
|
|
} |
|
|
|
|
|
commonAppendixDto.setLinkSid(finCollectionConfirmation.getSid()); |
|
|
|
|
|
commonAppendixDto.setFilePath(s); |
|
|
|
|
|
commonAppendixDto.setCreateBySid(dto.getUserSid()); |
|
|
|
|
|
commonAppendixDto.setAttachType(CommonAttachTypeEnum.PAYMENT_VOUCHER.getAttachType()); |
|
|
|
|
|
commonAppendixFeign.save(commonAppendixDto); |
|
|
|
|
|
}); |
|
|
|
|
|
String payFilePath = paymentVoucherAppendixs.stream().map(v -> v.getFilePath().replace(fileUploadComponent.getUrlPrefix(), "")).collect(Collectors.joining(",")); |
|
|
|
|
|
finCollectionConfirmation.setPaymentVoucherUrl(payFilePath); |
|
|
|
|
|
//汇款确认书附件保存
|
|
|
|
|
|
remittanceConfirmationAppendixs.stream().forEach(v -> { |
|
|
|
|
|
CommonAppendixDto commonAppendixDto = new CommonAppendixDto(); |
|
|
|
|
|
BeanUtil.copyProperties(v, commonAppendixDto); |
|
|
|
|
|
String s = commonAppendixDto.getFilePath(); |
|
|
|
|
|
if (s.contains(fileUploadComponent.getUrlPrefix())) { |
|
|
|
|
|
s = s.replace(fileUploadComponent.getUrlPrefix(), ""); |
|
|
|
|
|
} |
|
|
|
|
|
commonAppendixDto.setLinkSid(finCollectionConfirmation.getSid()); |
|
|
|
|
|
commonAppendixDto.setFilePath(s); |
|
|
|
|
|
commonAppendixDto.setCreateBySid(dto.getUserSid()); |
|
|
|
|
|
commonAppendixDto.setAttachType(CommonAttachTypeEnum.REMITTAN_CECONFIRMATION.getAttachType()); |
|
|
|
|
|
commonAppendixFeign.save(commonAppendixDto); |
|
|
|
|
|
}); |
|
|
|
|
|
String remFilePath = remittanceConfirmationAppendixs.stream().map(v -> v.getFilePath().replace(fileUploadComponent.getUrlPrefix(), "")).collect(Collectors.joining(",")); |
|
|
|
|
|
finCollectionConfirmation.setRemittanceConfirmationUrl(remFilePath); |
|
|
|
|
|
//认款明细保存
|
|
|
|
|
|
String finalSid = sid; |
|
|
|
|
|
finSelectedReceivablesDetailedDtos.stream().forEach(v -> {//已选
|
|
|
|
|
|
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = new FinSelectedReceivablesDetailed(); |
|
|
|
|
|
BeanUtil.copyProperties(v, finSelectedReceivablesDetailed, "sid"); |
|
|
|
|
|
finSelectedReceivablesDetailed.setCollSid(finalSid); |
|
|
|
|
|
finSelectedReceivablesDetailed.setUseOrgSid(useOrgSid); |
|
|
|
|
|
//设置审核状态为待审核(1待审核/2已驳回/3已审核)
|
|
|
|
|
|
finSelectedReceivablesDetailed.setAuditState(1); |
|
|
|
|
|
finSelectedReceivablesDetailedService.insert(finSelectedReceivablesDetailed); |
|
|
|
|
|
//添加已选车架号为临时状态
|
|
|
|
|
|
BaseVehicleTempstateDto baseVehicleTempstateDto = new BaseVehicleTempstateDto(); |
|
|
|
|
|
baseVehicleTempstateDto.setTempStateKey(VehicleStateTempOrLast.PaymentEnum.FIN_PAYMENT.getCode()); |
|
|
|
|
|
baseVehicleTempstateDto.setTempStateValue(VehicleStateTempOrLast.PaymentEnum.FIN_PAYMENT.getRemarks()); |
|
|
|
|
|
baseVehicleTempstateDto.setTempKey("1"); |
|
|
|
|
|
baseVehicleTempstateDto.setTempValue("待审核"); |
|
|
|
|
|
baseVehicleTempstateDto.setBusSid(finalSid); |
|
|
|
|
|
//根据合同编号和车架号查询该合同的车辆sid
|
|
|
|
|
|
ResultBean<String> resultBean = busSalesOrderFeign.getVinSidByConSid(v.getContractNo(), v.getVIN()); |
|
|
|
|
|
if (resultBean.getSuccess()) { |
|
|
|
|
|
baseVehicleTempstateDto.setVehSid(resultBean.getData()); |
|
|
|
|
|
} |
|
|
|
|
|
ResultBean vehicleStateResult = baseVehicleTempstateFeign.save(baseVehicleTempstateDto); |
|
|
|
|
|
finCollectionConfirmation.setBalance(finCollectionConfirmation.getCollectionMoney()); |
|
|
|
|
|
finCollectionConfirmation.setAuditState(1); |
|
|
|
|
|
//1未认款/2部分认款/3已认款
|
|
|
|
|
|
finCollectionConfirmation.setPaymentState(1); |
|
|
|
|
|
baseMapper.insert(finCollectionConfirmation); |
|
|
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} else {//认款、多次认款
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
/* FinCollectionConfirmation finCollectionConfirmation = new FinCollectionConfirmation(); |
|
|
List<FinSelectedReceivablesDetailedDto> finSelectedReceivablesDetailedDtos = dto.getFinSelectedReceivablesDetaileds(); |
|
|
List<FinSelectedReceivablesDetailedDto> finSelectedReceivablesDetailedDtos = dto.getFinSelectedReceivablesDetaileds(); |
|
|
|
|
|
|
|
|
List<FinCollectionConfirmationAppendixDto> paymentVoucherAppendixs = dto.getPaymentVoucherAppendixs(); |
|
|
List<FinCollectionConfirmationAppendixDto> paymentVoucherAppendixs = dto.getPaymentVoucherAppendixs(); |
|
@ -220,24 +314,6 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
// finCollectionConfirmation.setSid(sid1);
|
|
|
// finCollectionConfirmation.setSid(sid1);
|
|
|
String payFilePath = ""; |
|
|
String payFilePath = ""; |
|
|
String remFilePath = ""; |
|
|
String remFilePath = ""; |
|
|
/* String staffSid = dto.getStaffSid(); |
|
|
|
|
|
ResultBean<List<SysStaffOrgVo>> sysStaffOrgListByStaffSid = sysStaffOrgFeign.getSysStaffOrgListByStaffSid(staffSid); |
|
|
|
|
|
List<SysStaffOrgVo> data = sysStaffOrgListByStaffSid.getData(); |
|
|
|
|
|
String orgSidPath = ""; |
|
|
|
|
|
for (SysStaffOrgVo datum : data) { |
|
|
|
|
|
orgSidPath = datum.getOrgSidPath(); |
|
|
|
|
|
String[] split = orgSidPath.split("/"); |
|
|
|
|
|
for (String s : split) { |
|
|
|
|
|
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(s); |
|
|
|
|
|
SysOrganizationVo data1 = sysOrganizationVoResultBean.getData(); |
|
|
|
|
|
Integer isDept = data1.getIsDept(); |
|
|
|
|
|
String psid = data1.getPsid(); |
|
|
|
|
|
if (isDept == 0 && !psid.equals(0)) { |
|
|
|
|
|
orgSidPath = s; |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}*/ |
|
|
|
|
|
//用户sid
|
|
|
//用户sid
|
|
|
String createBySid = dto.getUserSid(); |
|
|
String createBySid = dto.getUserSid(); |
|
|
String useOrgSid = sysStaffOrgFeign.getPathSidByUserSid(createBySid).getData(); |
|
|
String useOrgSid = sysStaffOrgFeign.getPathSidByUserSid(createBySid).getData(); |
|
@ -298,7 +374,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
} |
|
|
} |
|
|
ResultBean vehicleStateResult = baseVehicleTempstateFeign.save(baseVehicleTempstateDto); |
|
|
ResultBean vehicleStateResult = baseVehicleTempstateFeign.save(baseVehicleTempstateDto); |
|
|
//已选应收款项-车架号
|
|
|
//已选应收款项-车架号
|
|
|
/* String vin = finSelectedReceivablesDetailed.getVIN(); |
|
|
String vin = finSelectedReceivablesDetailed.getVIN(); |
|
|
//已选应收款项-应收项目名称
|
|
|
//已选应收款项-应收项目名称
|
|
|
String receivablesName = finSelectedReceivablesDetailed.getReceivablesName(); |
|
|
String receivablesName = finSelectedReceivablesDetailed.getReceivablesName(); |
|
|
FinUncollectedReceivablesDetailedVo finUncollectedReceivablesDetailedVo = finUncollectedReceivablesDetailedService.fetchByVinAndRecName(vin, receivablesName); |
|
|
FinUncollectedReceivablesDetailedVo finUncollectedReceivablesDetailedVo = finUncollectedReceivablesDetailedService.fetchByVinAndRecName(vin, receivablesName); |
|
@ -316,7 +392,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
finUncollectedReceivablesDetailedVo.setCurrentReceivableMoney(String.format("%.0f", subtract)); |
|
|
finUncollectedReceivablesDetailedVo.setCurrentReceivableMoney(String.format("%.0f", subtract)); |
|
|
FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto(); |
|
|
FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto(); |
|
|
BeanUtil.copyProperties(finUncollectedReceivablesDetailedVo, finUncollectedReceivablesDetailedDto); |
|
|
BeanUtil.copyProperties(finUncollectedReceivablesDetailedVo, finUncollectedReceivablesDetailedDto); |
|
|
finUncollectedReceivablesDetailedService.updateBySid(finUncollectedReceivablesDetailedDto, finUncollectedReceivablesDetailedDto.getSid());*/ |
|
|
finUncollectedReceivablesDetailedService.updateBySid(finUncollectedReceivablesDetailedDto, finUncollectedReceivablesDetailedDto.getSid()); |
|
|
} |
|
|
} |
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByCillSid(sid); |
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByCillSid(sid); |
|
|
BigDecimal totalSubscriptionMone = new BigDecimal(0); |
|
|
BigDecimal totalSubscriptionMone = new BigDecimal(0); |
|
@ -326,16 +402,21 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
} |
|
|
} |
|
|
//收款金额
|
|
|
//收款金额
|
|
|
BigDecimal collectionMoney = finCollectionConfirmation.getCollectionMoney(); |
|
|
BigDecimal collectionMoney = finCollectionConfirmation.getCollectionMoney(); |
|
|
// BigDecimal subtract = collectionMoney.subtract(totalSubscriptionMone);
|
|
|
BigDecimal subtract = collectionMoney.subtract(totalSubscriptionMone); |
|
|
/* if (subtract.compareTo(BigDecimal.ZERO) < 0) { |
|
|
if (subtract.compareTo(BigDecimal.ZERO) < 0) { |
|
|
return rb.setMsg("已选应收款项金额已超出该确认单应收金额总额,请重新核对"); |
|
|
return rb.setMsg("已选应收款项金额已超出该确认单应收金额总额,请重新核对"); |
|
|
}*/ |
|
|
} |
|
|
// finCollectionConfirmation.setBalance(collectionMoney);
|
|
|
finCollectionConfirmation.setBalance(collectionMoney); |
|
|
FinCollectionConfirmation confirmation = fetchBySid(dto.getSid()); |
|
|
FinCollectionConfirmation confirmation = fetchBySid(dto.getSid()); |
|
|
finCollectionConfirmation.setBalance(confirmation.getBalance()); |
|
|
if (confirmation == null) { |
|
|
|
|
|
finCollectionConfirmation.setBalance(collectionMoney); |
|
|
|
|
|
} else { |
|
|
|
|
|
finCollectionConfirmation.setBalance(confirmation.getBalance()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
finCollectionConfirmation.setAuditState(1); |
|
|
finCollectionConfirmation.setAuditState(1); |
|
|
finCollectionConfirmation.setPaymentState(1); |
|
|
finCollectionConfirmation.setPaymentState(1); |
|
|
save(finCollectionConfirmation); |
|
|
save(finCollectionConfirmation);*/ |
|
|
return rb.success().setMsg("添加成功"); |
|
|
return rb.success().setMsg("添加成功"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -836,20 +917,40 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
|
|
|
|
|
public ResultBean cashierReject(String sid) { |
|
|
public ResultBean cashierReject(String sid) { |
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
baseMapper.cashierReject(sid); |
|
|
FinCollectionConfirmation confirmation = fetchBySid(sid); |
|
|
|
|
|
if (confirmation == null) { |
|
|
|
|
|
return rb.setMsg("该申请不存在"); |
|
|
|
|
|
} |
|
|
|
|
|
if (confirmation.getFirst() == 1) { |
|
|
|
|
|
return rb.setMsg("不是首次,不允许驳回"); |
|
|
|
|
|
} |
|
|
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByAuditState(sid, 1); |
|
|
|
|
|
finSelectedReceivablesDetailedVos.stream().forEach(v -> { |
|
|
|
|
|
String selectSid = v.getSid(); |
|
|
|
|
|
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = finSelectedReceivablesDetailedService.fetchBySid(selectSid); |
|
|
|
|
|
finSelectedReceivablesDetailed.setAuditDate(DateUtil.today()); |
|
|
|
|
|
finSelectedReceivablesDetailed.setAuditState(2); |
|
|
|
|
|
finSelectedReceivablesDetailedService.updateById(finSelectedReceivablesDetailed); |
|
|
|
|
|
}); |
|
|
|
|
|
confirmation.setAuditState(2); |
|
|
|
|
|
baseMapper.updateById(confirmation); |
|
|
|
|
|
//删除临时表的数据
|
|
|
|
|
|
ResultBean deleteResult = baseVehicleTempstateFeign.delByBusSid(sid); |
|
|
|
|
|
|
|
|
|
|
|
/*baseMapper.cashierReject(sid); |
|
|
int auditState = 1; |
|
|
int auditState = 1; |
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByAuditState(sid, auditState); |
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByAuditState(sid, auditState); |
|
|
for (FinSelectedReceivablesDetailedVo finSelectedReceivablesDetailedVo : finSelectedReceivablesDetailedVos) { |
|
|
for (FinSelectedReceivablesDetailedVo finSelectedReceivablesDetailedVo : finSelectedReceivablesDetailedVos) { |
|
|
//更新审核时间
|
|
|
//更新审核时间
|
|
|
finSelectedReceivablesDetailedService.updateAuditDateBySid(finSelectedReceivablesDetailedVo.getSid(), "2"); |
|
|
finSelectedReceivablesDetailedService.updateAuditDateBySid(finSelectedReceivablesDetailedVo.getSid(), "2"); |
|
|
/* String vin = finSelectedReceivablesDetailedVo.getVIN(); |
|
|
String vin = finSelectedReceivablesDetailedVo.getVIN(); |
|
|
String receivablesName = finSelectedReceivablesDetailedVo.getReceivablesName(); |
|
|
String receivablesName = finSelectedReceivablesDetailedVo.getReceivablesName(); |
|
|
BigDecimal subscriptionMoney = new BigDecimal(finSelectedReceivablesDetailedVo.getSubscriptionMoney()); |
|
|
BigDecimal subscriptionMoney = new BigDecimal(finSelectedReceivablesDetailedVo.getSubscriptionMoney()); |
|
|
FinUncollectedReceivablesDetailedVo finUncollectedReceivablesDetailedVo = finUncollectedReceivablesDetailedService.fetchByVinAndRecName(vin, receivablesName); |
|
|
FinUncollectedReceivablesDetailedVo finUncollectedReceivablesDetailedVo = finUncollectedReceivablesDetailedService.fetchByVinAndRecName(vin, receivablesName); |
|
|
String sid1 = finUncollectedReceivablesDetailedVo.getSid(); |
|
|
String sid1 = finUncollectedReceivablesDetailedVo.getSid(); |
|
|
BigDecimal currentReceivableMoney = new BigDecimal(finUncollectedReceivablesDetailedVo.getCurrentReceivableMoney()); |
|
|
BigDecimal currentReceivableMoney = new BigDecimal(finUncollectedReceivablesDetailedVo.getCurrentReceivableMoney()); |
|
|
String curRecMoney = String.valueOf(currentReceivableMoney.add(subscriptionMoney)); |
|
|
String curRecMoney = String.valueOf(currentReceivableMoney.add(subscriptionMoney)); |
|
|
finUncollectedReceivablesDetailedService.updateCurRecMoneyBySid(curRecMoney, sid1);*/ |
|
|
finUncollectedReceivablesDetailedService.updateCurRecMoneyBySid(curRecMoney, sid1); |
|
|
} |
|
|
} |
|
|
FinCollectionConfirmation finCollectionConfirmation = fetchBySid(sid); |
|
|
FinCollectionConfirmation finCollectionConfirmation = fetchBySid(sid); |
|
|
BigDecimal collectionMoney = finCollectionConfirmation.getCollectionMoney(); |
|
|
BigDecimal collectionMoney = finCollectionConfirmation.getCollectionMoney(); |
|
@ -858,14 +959,55 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
BeanUtil.copyProperties(finCollectionConfirmation, finCollectionConfirmationDto); |
|
|
BeanUtil.copyProperties(finCollectionConfirmation, finCollectionConfirmationDto); |
|
|
updateBySid(finCollectionConfirmationDto, finCollectionConfirmationDto.getSid()); |
|
|
updateBySid(finCollectionConfirmationDto, finCollectionConfirmationDto.getSid()); |
|
|
//删除临时表的数据
|
|
|
//删除临时表的数据
|
|
|
ResultBean deleteResult = baseVehicleTempstateFeign.delByBusSid(sid); |
|
|
ResultBean deleteResult = baseVehicleTempstateFeign.delByBusSid(sid);*/ |
|
|
return rb.success().setMsg("驳回成功"); |
|
|
return rb.success().setMsg("驳回成功"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public ResultBean cashierConfirm(String sid) { |
|
|
public ResultBean cashierConfirm(String sid) { |
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
FinCollectionConfirmation confirmation = fetchBySid(sid); |
|
|
FinCollectionConfirmation confirmation = fetchBySid(sid); |
|
|
baseMapper.cashierConfirm(sid); |
|
|
if (confirmation == null) { |
|
|
|
|
|
return rb.setMsg("该申请不存在"); |
|
|
|
|
|
} |
|
|
|
|
|
//查询该申请下的所有待审核的款项明细
|
|
|
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByAuditState(sid, 1); |
|
|
|
|
|
finSelectedReceivablesDetailedVos.stream().forEach(v -> { |
|
|
|
|
|
//已选款项明细sid
|
|
|
|
|
|
String selectSid = v.getSid(); |
|
|
|
|
|
//应收未收款项明细sid
|
|
|
|
|
|
String receivablesSid = v.getReceivablesSid(); |
|
|
|
|
|
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(receivablesSid); |
|
|
|
|
|
BigDecimal currentReceivableMoney = finUncollectedReceivablesDetailed.getCurrentReceivableMoney(); |
|
|
|
|
|
//更新当前应收金额
|
|
|
|
|
|
finUncollectedReceivablesDetailed.setCurrentReceivableMoney(currentReceivableMoney.subtract(new BigDecimal(v.getSubscriptionMoney()))); |
|
|
|
|
|
//更新认款状态
|
|
|
|
|
|
finUncollectedReceivablesDetailed.setSubscriptionState(finUncollectedReceivablesDetailed.getCurrentReceivableMoney().compareTo(BigDecimal.ZERO) == 0 ? 3 : 2); |
|
|
|
|
|
finUncollectedReceivablesDetailedService.updateById(finUncollectedReceivablesDetailed); |
|
|
|
|
|
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = finSelectedReceivablesDetailedService.fetchBySid(selectSid); |
|
|
|
|
|
//更新已选款项明细的审核状态1待审核/2已驳回/3已审核
|
|
|
|
|
|
finSelectedReceivablesDetailed.setAuditState(3); |
|
|
|
|
|
//更新审核时间
|
|
|
|
|
|
finSelectedReceivablesDetailed.setAuditDate(DateUtil.today()); |
|
|
|
|
|
finSelectedReceivablesDetailedService.updateById(finSelectedReceivablesDetailed); |
|
|
|
|
|
//ToDo:查询是否符合待出库的条件
|
|
|
|
|
|
}); |
|
|
|
|
|
//查询该申请所有的款项明细
|
|
|
|
|
|
finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByAuditState(sid, 3); |
|
|
|
|
|
//查询该申请已认款金额总数
|
|
|
|
|
|
BigDecimal subscriptionMoneyAll = finSelectedReceivablesDetailedVos.stream().map(FinSelectedReceivablesDetailedVo::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
|
|
//与收款金额作比较:更新认款状态 1未认款/2部分认款/3已认款
|
|
|
|
|
|
confirmation.setPaymentState(confirmation.getCollectionMoney().compareTo(subscriptionMoneyAll) == 0 ? 3 : subscriptionMoneyAll.compareTo(BigDecimal.ZERO) == 0 ? 1 : 2); |
|
|
|
|
|
//更新收款申请的余额以及审核状态
|
|
|
|
|
|
BigDecimal balanceBigDecimal = confirmation.getCollectionMoney().subtract(subscriptionMoneyAll); |
|
|
|
|
|
confirmation.setBalance(balanceBigDecimal); |
|
|
|
|
|
confirmation.setAuditState(3); |
|
|
|
|
|
baseMapper.updateById(confirmation); |
|
|
|
|
|
//删除临时表的数据
|
|
|
|
|
|
ResultBean deleteResult = baseVehicleTempstateFeign.delByBusSid(sid); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* baseMapper.cashierConfirm(sid); |
|
|
int auditState = 1; |
|
|
int auditState = 1; |
|
|
//总共认款金额
|
|
|
//总共认款金额
|
|
|
BigDecimal totalSubscriptionMoney = new BigDecimal(0); |
|
|
BigDecimal totalSubscriptionMoney = new BigDecimal(0); |
|
@ -881,9 +1023,8 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
String vin = finSelectedReceivablesDetailedVo.getVIN(); |
|
|
String vin = finSelectedReceivablesDetailedVo.getVIN(); |
|
|
String receivablesName = finSelectedReceivablesDetailedVo.getReceivablesName(); |
|
|
String receivablesName = finSelectedReceivablesDetailedVo.getReceivablesName(); |
|
|
String useOrgSid = finSelectedReceivablesDetailedVo.getUseOrgSid(); |
|
|
String useOrgSid = finSelectedReceivablesDetailedVo.getUseOrgSid(); |
|
|
// FinUncollectedReceivablesDetailedVo finUncollectedReceivablesDetailedVo = finUncollectedReceivablesDetailedService.fetchByVinAndRecName(vin, receivablesName);
|
|
|
FinUncollectedReceivablesDetailedVo finUncollectedReceivablesDetailedVo = finUncollectedReceivablesDetailedService.fetchByVinAndRecName(vin, receivablesName); |
|
|
FinUncollectedReceivablesDetailedVo finUncollectedReceivablesDetailedVo = finUncollectedReceivablesDetailedService.fetchByVinAndRecNameOrgSid(vin, receivablesName, useOrgSid); |
|
|
String sid2 = finUncollectedReceivablesDetailedVo.getSid(); |
|
|
// String sid2 = finUncollectedReceivablesDetailedVo.getSid();
|
|
|
|
|
|
//应收未收款项-当前应收金额
|
|
|
//应收未收款项-当前应收金额
|
|
|
BigDecimal currentReceivableMoney = new BigDecimal(finSelectedReceivablesDetailedVo.getCurrentReceivableMoney()); |
|
|
BigDecimal currentReceivableMoney = new BigDecimal(finSelectedReceivablesDetailedVo.getCurrentReceivableMoney()); |
|
|
//已选应收款项-认款金额
|
|
|
//已选应收款项-认款金额
|
|
@ -892,13 +1033,13 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto(); |
|
|
FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto(); |
|
|
BeanUtil.copyProperties(finUncollectedReceivablesDetailedVo, finUncollectedReceivablesDetailedDto); |
|
|
BeanUtil.copyProperties(finUncollectedReceivablesDetailedVo, finUncollectedReceivablesDetailedDto); |
|
|
finUncollectedReceivablesDetailedService.updateBySid(finUncollectedReceivablesDetailedDto, finUncollectedReceivablesDetailedDto.getSid()); |
|
|
finUncollectedReceivablesDetailedService.updateBySid(finUncollectedReceivablesDetailedDto, finUncollectedReceivablesDetailedDto.getSid()); |
|
|
/* if (subtract.compareTo(BigDecimal.ZERO) == 0) { |
|
|
if (subtract.compareTo(BigDecimal.ZERO) == 0) { |
|
|
int subscriptionState = 3; |
|
|
int subscriptionState = 3; |
|
|
finUncollectedReceivablesDetailedService.updateSubscriptionStateBySid(sid2, subscriptionState); |
|
|
finUncollectedReceivablesDetailedService.updateSubscriptionStateBySid(sid2, subscriptionState); |
|
|
} else { |
|
|
} else { |
|
|
int subscriptionState = 2; |
|
|
int subscriptionState = 2; |
|
|
finUncollectedReceivablesDetailedService.updateSubscriptionStateBySid(sid2, subscriptionState); |
|
|
finUncollectedReceivablesDetailedService.updateSubscriptionStateBySid(sid2, subscriptionState); |
|
|
}*/ |
|
|
} |
|
|
} |
|
|
} |
|
|
FinCollectionConfirmation finCollectionConfirmation = fetchBySid(sid); |
|
|
FinCollectionConfirmation finCollectionConfirmation = fetchBySid(sid); |
|
|
BigDecimal collectionMoney = finCollectionConfirmation.getCollectionMoney(); |
|
|
BigDecimal collectionMoney = finCollectionConfirmation.getCollectionMoney(); |
|
@ -912,9 +1053,9 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
} |
|
|
} |
|
|
//更新余额
|
|
|
//更新余额
|
|
|
BigDecimal balanceBigDecimal = confirmation.getBalance().subtract(totalSubscriptionMoney); |
|
|
BigDecimal balanceBigDecimal = confirmation.getBalance().subtract(totalSubscriptionMoney); |
|
|
baseMapper.updateBalanceBySid(sid,balanceBigDecimal); |
|
|
baseMapper.updateBalanceBySid(sid, balanceBigDecimal); |
|
|
//删除临时表的数据
|
|
|
//删除临时表的数据
|
|
|
ResultBean deleteResult = baseVehicleTempstateFeign.delByBusSid(sid); |
|
|
ResultBean deleteResult = baseVehicleTempstateFeign.delByBusSid(sid);*/ |
|
|
return rb.success().setMsg("款项确认成功"); |
|
|
return rb.success().setMsg("款项确认成功"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|