|
|
@ -32,7 +32,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|
|
|
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemDetailsVo; |
|
|
|
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemFeign; |
|
|
|
import com.yxt.anrui.base.api.basevehicle.BaseVehicle; |
|
|
|
import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; |
|
|
|
import com.yxt.anrui.base.api.basevehicletempstate.BaseVehicleTempstate; |
|
|
|
import com.yxt.anrui.base.api.basevehicletempstate.BaseVehicleTempstateDto; |
|
|
@ -777,6 +776,10 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
finCollectionConfirmation.setCreateDate(DateUtil.today()); |
|
|
|
finCollectionConfirmation.setCreateBySid(dto.getUserSid()); |
|
|
|
finCollectionConfirmation.setCreateDeptSid(createDeptSid); |
|
|
|
finCollectionConfirmation.setStaffName(createName); |
|
|
|
finCollectionConfirmation.setStaffUserSid(dto.getUserSid()); |
|
|
|
finCollectionConfirmation.setStaffDeptSid(createDeptSid); |
|
|
|
finCollectionConfirmation.setStaffDeptName(deptName); |
|
|
|
//添加单据编号
|
|
|
|
String billNo = getApplyCode(finCollectionConfirmation.getUseOrgSid()); |
|
|
|
finCollectionConfirmation.setBillNo(billNo); |
|
|
@ -986,162 +989,26 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
finSelectedReceivablesDetailed.setCreateByName(finCollectionConfirmation.getCreateByName()); |
|
|
|
finSelectedReceivablesDetailedService.save(finSelectedReceivablesDetailed); |
|
|
|
|
|
|
|
//车辆状态表锁定
|
|
|
|
BaseVehicleTempstateDto baseVehicleTempstateDto = new BaseVehicleTempstateDto(); |
|
|
|
baseVehicleTempstateDto.setTempStateKey(VehicleStateTempOrLast.PaymentEnum.FIN_PAYMENT.getCode()); |
|
|
|
baseVehicleTempstateDto.setTempStateValue(VehicleStateTempOrLast.PaymentEnum.FIN_PAYMENT.getRemarks()); |
|
|
|
baseVehicleTempstateDto.setTempKey("0001"); |
|
|
|
baseVehicleTempstateDto.setTempValue("待审核"); |
|
|
|
baseVehicleTempstateDto.setBusSid(paymentDetail.getReceivablesSid()); |
|
|
|
baseVehicleTempstateDto.setVinNo(finSelectedReceivablesDetailed.getVIN()); |
|
|
|
BaseVehicle baseVehicle = baseVehicleFeign.selectByVinNoAndOrgSid(finSelectedReceivablesDetailed.getVIN(), finCollectionConfirmation.getUseOrgSid()).getData(); |
|
|
|
if (baseVehicle != null) { |
|
|
|
baseVehicleTempstateDto.setVehSid(baseVehicle.getSid()); |
|
|
|
if ("车款".equals(finSelectedReceivablesDetailed.getReceivablesName())) { |
|
|
|
baseVehicleTempstateDto.setTempKey("001"); |
|
|
|
baseVehicleTempstateDto.setTempValue("车款"); |
|
|
|
} |
|
|
|
baseVehicleTempstateFeign.save(baseVehicleTempstateDto); |
|
|
|
} |
|
|
|
|
|
|
|
// String userOrgSid = sysStaffOrgFeign.getPathSidByUserSid(dto.getUserSid()).getData();
|
|
|
|
// List<AppFinSelectedReceivablesDetailedDto> paymentDetails = dto.getContractList();
|
|
|
|
/* CommonAppendixDto commonAppendixDto = new CommonAppendixDto(); |
|
|
|
if (StringUtils.isBlank(dto.getCollectionBillSid())) { |
|
|
|
FinCollectionConfirmation finCollectionConfirmation = new FinCollectionConfirmation(); |
|
|
|
BeanUtil.copyProperties(dto, finCollectionConfirmation); |
|
|
|
for (AppFinSelectedReceivablesDetailedDto paymentDetail : paymentDetails) { |
|
|
|
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = new FinSelectedReceivablesDetailed(); |
|
|
|
finSelectedReceivablesDetailed.setCurrentReceivableMoney(paymentDetail.getReceivable()); |
|
|
|
finSelectedReceivablesDetailed.setVIN(paymentDetail.getVin()); |
|
|
|
finSelectedReceivablesDetailed.setSubscriptionMoney(paymentDetail.getConfirmMoney()); |
|
|
|
finSelectedReceivablesDetailed.setContractNo(paymentDetail.getContractId()); |
|
|
|
finSelectedReceivablesDetailed.setReceivablesName(paymentDetail.getProjectName()); |
|
|
|
finSelectedReceivablesDetailed.setContractSid(paymentDetail.getContractSid()); |
|
|
|
finSelectedReceivablesDetailed.setCustomerName(paymentDetail.getName()); |
|
|
|
finSelectedReceivablesDetailed.setCustomerPhone(paymentDetail.getMobile()); |
|
|
|
finSelectedReceivablesDetailed.setSubscriptionDate(paymentDetail.getConfirmDate()); |
|
|
|
finSelectedReceivablesDetailed.setCollSid(dto.getCollectionBillSid()); |
|
|
|
finSelectedReceivablesDetailed.setAuditState(1); |
|
|
|
finSelectedReceivablesDetailed.setReceivablesSid(finCollectionConfirmation.getSid()); |
|
|
|
finSelectedReceivablesDetailedService.save(finSelectedReceivablesDetailed); |
|
|
|
//已选应收款项-车架号
|
|
|
|
String vin = finSelectedReceivablesDetailed.getVIN(); |
|
|
|
//已选应收款项-应收项目名称
|
|
|
|
String receivablesName = finSelectedReceivablesDetailed.getReceivablesName(); |
|
|
|
FinUncollectedReceivablesDetailedVo finUncollectedReceivablesDetailedVo = finUncollectedReceivablesDetailedService.fetchByVinAndRecName(vin, receivablesName); |
|
|
|
//应收未收款项-当前应收金额
|
|
|
|
BigDecimal currentReceivableMoney = new BigDecimal(finUncollectedReceivablesDetailedVo.getCurrentReceivableMoney()); |
|
|
|
//已选应收款项-认款金额
|
|
|
|
BigDecimal subscriptionMoney = finSelectedReceivablesDetailed.getSubscriptionMoney(); |
|
|
|
BigDecimal subtract = currentReceivableMoney.subtract(subscriptionMoney); |
|
|
|
// if (subtract.compareTo(BigDecimal.ZERO) < 0) {
|
|
|
|
// return rb.setMsg("认款金额超出应收金额,请重新输入");
|
|
|
|
// }
|
|
|
|
if (subtract.compareTo(BigDecimal.ZERO) != 0) { |
|
|
|
return rb.setMsg("该确认单应收金额总额还剩余" + subtract + ",请继续核对"); |
|
|
|
} |
|
|
|
finUncollectedReceivablesDetailedVo.setCurrentReceivableMoney(String.format("%.0f", subtract)); |
|
|
|
FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto(); |
|
|
|
BeanUtil.copyProperties(finUncollectedReceivablesDetailedVo, finUncollectedReceivablesDetailedDto); |
|
|
|
finUncollectedReceivablesDetailedService.updateBySid(finUncollectedReceivablesDetailedDto, finUncollectedReceivablesDetailedDto.getSid()); |
|
|
|
//车辆状态表锁定
|
|
|
|
BaseVehicleTempstateDto baseVehicleTempstateDto = new BaseVehicleTempstateDto(); |
|
|
|
baseVehicleTempstateDto.setTempStateKey(VehicleStateTempOrLast.PaymentEnum.FIN_PAYMENT.getCode()); |
|
|
|
baseVehicleTempstateDto.setTempStateValue(VehicleStateTempOrLast.PaymentEnum.FIN_PAYMENT.getRemarks()); |
|
|
|
baseVehicleTempstateDto.setTempKey("0001"); |
|
|
|
baseVehicleTempstateDto.setTempValue("待审核"); |
|
|
|
baseVehicleTempstateDto.setBusSid(finSelectedReceivablesDetailed.getSid()); |
|
|
|
baseVehicleTempstateDto.setVinNo(finSelectedReceivablesDetailed.getVIN()); |
|
|
|
BaseVehicle baseVehicle = baseVehicleFeign.selectByVinNoAndOrgSid(finSelectedReceivablesDetailed.getVIN(), userOrgSid).getData(); |
|
|
|
if (baseVehicle != null) { |
|
|
|
baseVehicleTempstateDto.setVehSid(baseVehicle.getSid()); |
|
|
|
} |
|
|
|
baseVehicleTempstateFeign.save(baseVehicleTempstateDto); |
|
|
|
} |
|
|
|
List<String> payConfirmFiles = dto.getPayConfirmFiles(); |
|
|
|
String remFilePath = ""; |
|
|
|
for (String payFilePath : payConfirmFiles) { |
|
|
|
if (payFilePath != null) { |
|
|
|
remFilePath = payFilePath.replace(fileUploadComponent.getUrlPrefix(), ""); |
|
|
|
commonAppendixDto.setLinkSid(dto.getCollectionBillSid()); |
|
|
|
commonAppendixDto.setFilePath(remFilePath); |
|
|
|
commonAppendixDto.setCreateBySid(staffSid); |
|
|
|
commonAppendixDto.setFileName("汇款确认"); |
|
|
|
commonAppendixDto.setAttachType(CommonAttachTypeEnum.REMITTAN_CECONFIRMATION.getAttachType()); |
|
|
|
commonAppendixFeign.save(commonAppendixDto); |
|
|
|
} |
|
|
|
remFilePath += remFilePath + ","; |
|
|
|
if ("订金".equals(finSelectedReceivablesDetailed.getReceivablesName())) { |
|
|
|
baseVehicleTempstateDto.setTempKey("002"); |
|
|
|
baseVehicleTempstateDto.setTempValue("订金"); |
|
|
|
} |
|
|
|
finCollectionConfirmation.setRemittanceConfirmationUrl(remFilePath); |
|
|
|
finCollectionConfirmation.setAuditState(1); |
|
|
|
finCollectionConfirmation.setCreateBySid(dto.getUserSid()); |
|
|
|
save(finCollectionConfirmation); |
|
|
|
} else { |
|
|
|
FinCollectionConfirmation finCollectionConfirmation = fetchBySid(dto.getCollectionBillSid()); |
|
|
|
BeanUtil.copyProperties(dto, finCollectionConfirmation, "sid"); |
|
|
|
finSelectedReceivablesDetailedService.deleteByCollSid(dto.getCollectionBillSid()); |
|
|
|
for (AppFinSelectedReceivablesDetailedDto paymentDetail : paymentDetails) { |
|
|
|
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = new FinSelectedReceivablesDetailed(); |
|
|
|
finSelectedReceivablesDetailed.setCurrentReceivableMoney(paymentDetail.getReceivable()); |
|
|
|
finSelectedReceivablesDetailed.setVIN(paymentDetail.getVin()); |
|
|
|
finSelectedReceivablesDetailed.setSubscriptionMoney(paymentDetail.getConfirmMoney()); |
|
|
|
finSelectedReceivablesDetailed.setContractNo(paymentDetail.getContractId()); |
|
|
|
finSelectedReceivablesDetailed.setReceivablesName(paymentDetail.getProjectName()); |
|
|
|
finSelectedReceivablesDetailed.setContractSid(paymentDetail.getContractSid()); |
|
|
|
finSelectedReceivablesDetailed.setCustomerName(paymentDetail.getName()); |
|
|
|
finSelectedReceivablesDetailed.setCustomerPhone(paymentDetail.getMobile()); |
|
|
|
finSelectedReceivablesDetailed.setSubscriptionDate(paymentDetail.getConfirmDate()); |
|
|
|
finSelectedReceivablesDetailed.setCollSid(dto.getCollectionBillSid()); |
|
|
|
finSelectedReceivablesDetailed.setAuditState(1); |
|
|
|
finSelectedReceivablesDetailedService.save(finSelectedReceivablesDetailed); |
|
|
|
//已选应收款项-车架号
|
|
|
|
String vin = finSelectedReceivablesDetailed.getVIN(); |
|
|
|
//已选应收款项-应收项目名称
|
|
|
|
String receivablesName = finSelectedReceivablesDetailed.getReceivablesName(); |
|
|
|
FinUncollectedReceivablesDetailedVo finUncollectedReceivablesDetailedVo = finUncollectedReceivablesDetailedService.fetchByVinAndRecName(vin, receivablesName); |
|
|
|
//应收未收款项-当前应收金额
|
|
|
|
BigDecimal currentReceivableMoney = new BigDecimal(finUncollectedReceivablesDetailedVo.getCurrentReceivableMoney()); |
|
|
|
//已选应收款项-认款金额
|
|
|
|
BigDecimal subscriptionMoney = finSelectedReceivablesDetailed.getSubscriptionMoney(); |
|
|
|
BigDecimal subtract = currentReceivableMoney.subtract(subscriptionMoney); |
|
|
|
if (subtract.compareTo(BigDecimal.ZERO) < 0) { |
|
|
|
return rb.setMsg("认款金额超出应收金额,请重新输入"); |
|
|
|
} |
|
|
|
finUncollectedReceivablesDetailedVo.setCurrentReceivableMoney(String.format("%.0f", subtract)); |
|
|
|
FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto(); |
|
|
|
BeanUtil.copyProperties(finUncollectedReceivablesDetailedVo, finUncollectedReceivablesDetailedDto); |
|
|
|
finUncollectedReceivablesDetailedService.updateBySid(finUncollectedReceivablesDetailedDto, finUncollectedReceivablesDetailedDto.getSid()); |
|
|
|
//车辆状态表锁定
|
|
|
|
BaseVehicleTempstateDto baseVehicleTempstateDto = new BaseVehicleTempstateDto(); |
|
|
|
baseVehicleTempstateDto.setTempStateKey(VehicleStateTempOrLast.PaymentEnum.FIN_PAYMENT.getCode()); |
|
|
|
baseVehicleTempstateDto.setTempStateValue(VehicleStateTempOrLast.PaymentEnum.FIN_PAYMENT.getRemarks()); |
|
|
|
baseVehicleTempstateDto.setTempKey("0001"); |
|
|
|
baseVehicleTempstateDto.setTempValue("待审核"); |
|
|
|
baseVehicleTempstateDto.setBusSid(finSelectedReceivablesDetailed.getSid()); |
|
|
|
baseVehicleTempstateDto.setVinNo(finSelectedReceivablesDetailed.getVIN()); |
|
|
|
BaseVehicle baseVehicle = baseVehicleFeign.selectByVinNoAndOrgSid(finSelectedReceivablesDetailed.getVIN(), userOrgSid).getData(); |
|
|
|
if (baseVehicle != null) { |
|
|
|
baseVehicleTempstateDto.setVehSid(baseVehicle.getSid()); |
|
|
|
} |
|
|
|
baseVehicleTempstateFeign.save(baseVehicleTempstateDto); |
|
|
|
} |
|
|
|
commonAppendixFeign.delFilesByLinkSidAndAttachType(dto.getCollectionBillSid(), CommonAttachTypeEnum.REMITTAN_CECONFIRMATION.getAttachType()); |
|
|
|
List<String> payConfirmFiles = dto.getPayConfirmFiles(); |
|
|
|
String remFilePath = ""; |
|
|
|
for (String payFilePath : payConfirmFiles) { |
|
|
|
if (payFilePath != null) { |
|
|
|
remFilePath = payFilePath.replace(fileUploadComponent.getUrlPrefix(), ""); |
|
|
|
commonAppendixDto.setLinkSid(dto.getCollectionBillSid()); |
|
|
|
commonAppendixDto.setFilePath(remFilePath); |
|
|
|
commonAppendixDto.setCreateBySid(staffSid); |
|
|
|
commonAppendixDto.setFileName("汇款确认"); |
|
|
|
commonAppendixDto.setAttachType(CommonAttachTypeEnum.REMITTAN_CECONFIRMATION.getAttachType()); |
|
|
|
commonAppendixFeign.save(commonAppendixDto); |
|
|
|
} |
|
|
|
remFilePath += remFilePath + ","; |
|
|
|
|
|
|
|
baseVehicleTempstateDto.setBusSid(finCollectionConfirmation.getSid()); |
|
|
|
//根据合同编号和车架号查询该合同的车辆sid
|
|
|
|
ResultBean<String> resultBean = busSalesOrderFeign.getVinSidByConSid(finSelectedReceivablesDetailed.getContractNo(), finSelectedReceivablesDetailed.getVIN()); |
|
|
|
if (resultBean.getSuccess()) { |
|
|
|
baseVehicleTempstateDto.setVehSid(resultBean.getData()); |
|
|
|
} |
|
|
|
finCollectionConfirmation.setRemittanceConfirmationUrl(remFilePath); |
|
|
|
finCollectionConfirmation.setAuditState(1); |
|
|
|
updateById(finCollectionConfirmation); |
|
|
|
}*/ |
|
|
|
ResultBean vehicleStateResult = baseVehicleTempstateFeign.save(baseVehicleTempstateDto); |
|
|
|
} |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
|
|
|
@ -1189,18 +1056,6 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
qw.notIn("sid", params.getSidList()); |
|
|
|
} |
|
|
|
qw.ne("currentReceivableMoney", 0);//应收金额
|
|
|
|
/* List<String> vinNoList = new ArrayList<>(); |
|
|
|
List<BaseVehicleTempstateVo> baseVehicleTempstateVos = baseVehicleTempstateFeign.selectAll(VehicleStateTempOrLast.PaymentEnum.FIN_PAYMENT.getCode()).getData(); |
|
|
|
for (BaseVehicleTempstateVo baseVehicleTempstateVo : baseVehicleTempstateVos) { |
|
|
|
String vehSid = baseVehicleTempstateVo.getVehSid(); |
|
|
|
if (StringUtils.isNotBlank(vehSid)) { |
|
|
|
BaseVehicleSelectVo baseVehicleSelectVo = baseVehicleFeign.details(vehSid).getData(); |
|
|
|
vinNoList.add(baseVehicleSelectVo.getVinNo()); |
|
|
|
} |
|
|
|
} |
|
|
|
if (vinNoList.size() > 0) { |
|
|
|
qw.notIn("VIN", vinNoList); |
|
|
|
}*/ |
|
|
|
ResultBean<List<BaseVehicleTempstate>> baseVehicleTempstateFeignList = baseVehicleTempstateFeign.getList(VehicleStateTempOrLast.PaymentEnum.FIN_PAYMENT.getCode()); |
|
|
|
List<BaseVehicleTempstate> baseVehicleTempstates = baseVehicleTempstateFeignList.getData(); |
|
|
|
if (baseVehicleTempstates.size() > 0) { |
|
|
@ -1284,25 +1139,6 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
collList = Stream.of(collList, cll).flatMap(Collection::stream).collect(Collectors.toList()); |
|
|
|
} |
|
|
|
} |
|
|
|
// List<AppFinUncollectedReceivablesDetailedVo> records = collectionConfirmList.getRecords();
|
|
|
|
/* for (AppFinUncollectedReceivablesDetailedVo record : collList) { |
|
|
|
record.setConfirmDate(dateFormat.format(new Date())); |
|
|
|
String busVinSid = record.getBusVinSid(); |
|
|
|
ResultBean<BusSalesOrderVehicle> resultBean = busSalesOrderVehicleFeign.details(busVinSid); |
|
|
|
if (resultBean.getData() != null) { |
|
|
|
String vinNo = resultBean.getData().getLinkNo(); |
|
|
|
String vinSid = resultBean.getData().getLinkSid(); |
|
|
|
String temporaryNo = resultBean.getData().getTemporaryNo(); |
|
|
|
record.setVin(vinNo); |
|
|
|
if (StringUtils.isNotBlank(vinNo)) { |
|
|
|
record.setVin(vinNo.substring(vinNo.length() - 8)); |
|
|
|
} else { |
|
|
|
if ("2".equals(record.getPayTypeKey())) { |
|
|
|
record.setVin(temporaryNo.substring(temporaryNo.length() - 2)); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}*/ |
|
|
|
|
|
|
|
//分页
|
|
|
|
IPage<AppFinUncollectedReceivablesDetailedVo> page1 = new Page<>(); |
|
|
|