Browse Source

家访、优化

master
God 2 years ago
parent
commit
4983bfe460
  1. 30
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java
  2. 3
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillfile/FinBillFileMapper.java
  3. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillfile/FinBillFileService.java
  4. 98
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java

30
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java

@ -416,6 +416,16 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
}
}
//附件信息
for (FinBillFileDto finBillFileDto : carBuyContractImages) {
String filePath = finBillFileDto.getFileUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
}
finBillFileDto.setFileUrl(filePath);
finBillFileDto.setBillAppSid(finBillApplication.getSid());
finBillFileDto.setAttachType(FinAttachTypeEnum.CLMMHT.getAttachType());
finBillFileService.saveOrUpdateDto(finBillFileDto);
}
for (FinBillFileDto finBillFileDto : khkpsqsApplicationAppendxs) {
String filePath = finBillFileDto.getFileUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
@ -466,6 +476,18 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
updateByDto(dto);
finBillFileService.deleteByFinAppSid(dtoSid);
//附件信息
if (carBuyContractImages != null) {
for (FinBillFileDto finBillFileDto : carBuyContractImages) {
String filePath = finBillFileDto.getFileUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
}
finBillFileDto.setFileUrl(filePath);
finBillFileDto.setBillAppSid(finBillApplication.getSid());
finBillFileDto.setAttachType(FinAttachTypeEnum.CLMMHT.getAttachType());
finBillFileService.saveOrUpdateDto(finBillFileDto);
}
}
if (khkpsqsApplicationAppendxs != null) {
for (FinBillFileDto finBillFileDto : khkpsqsApplicationAppendxs) {
String filePath = finBillFileDto.getFileUrl();
@ -599,6 +621,13 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
}
vo.setFinBillTrailers(finBillTrailerVos);
}
List<FinBillFileVo> clmmhtApplicationAppendxs = finBillFileService.fetchclmmhtBySid(sid);
for (FinBillFileVo clmmhtApplicationAppendx : clmmhtApplicationAppendxs) {
String fileUrl = clmmhtApplicationAppendx.getFileUrl();
String urlPrefix = fileUploadComponent.getUrlPrefix();
fileUrl = urlPrefix + fileUrl;
clmmhtApplicationAppendx.setFileUrl(fileUrl);
}
List<FinBillFileVo> khkpsqsApplicationAppendxs = finBillFileService.fetchkhkpsqsBySid(sid);
for (FinBillFileVo khkpsqsApplicationAppendx : khkpsqsApplicationAppendxs) {
String fileUrl = khkpsqsApplicationAppendx.getFileUrl();
@ -641,6 +670,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
fileUrl = urlPrefix + fileUrl;
arrearsCollectionAppendx.setFileUrl(fileUrl);
}
vo.setCarBuyContractImages(clmmhtApplicationAppendxs);
vo.setKhkpsqsApplicationAppendxs(khkpsqsApplicationAppendxs);
vo.setKpxxqrsApplicationAppendxs(kpxxqrsApplicationAppendxs);
vo.setCldjhtApplicationAppendxs(cldjhtApplicationAppendxs);

3
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillfile/FinBillFileMapper.java

@ -92,5 +92,8 @@ public interface FinBillFileMapper extends BaseMapper<FinBillFile> {
@Select("select * from fin_bill_file where billAppSid = #{sid} and attachType = '006'")
List<FinBillFileVo> fetchqklpfjBySid(String sid);
@Select("select * from fin_bill_file where billAppSid = #{sid} and attachType = '007'")
List<FinBillFileVo> fetchclmmhtBySid(String sid);
List<FinBillFileVo> fetchFileByBillSid(@Param("sid") String sid);
}

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillfile/FinBillFileService.java

@ -173,4 +173,8 @@ public class FinBillFileService extends MybatisBaseService<FinBillFileMapper, Fi
public List<FinBillFileVo> fetchqklpfjBySid(String sid) {
return baseMapper.fetchqklpfjBySid(sid);
}
public List<FinBillFileVo> fetchclmmhtBySid(String sid) {
return baseMapper.fetchclmmhtBySid(sid);
}
}

98
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java

@ -76,9 +76,9 @@ public class InvoicedService {
billApplicationPageVo.setSid(record.getSid());
billApplicationPageVo.setBillState(record.getBillStateValue());
billApplicationPageVo.setNodeState(record.getNodeState());
if (record.getNodeState().equals("待提交")){
if (record.getNodeState().equals("待提交")) {
billApplicationPageVo.setShowUpData(true);
}else {
} else {
billApplicationPageVo.setShowUpData(false);
}
billApplicationPageVo.setVinNo(record.getVinNo());
@ -140,10 +140,10 @@ public class InvoicedService {
//挂车信息
List<com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerVo> finBillTrailers = finBillApplicationDetailsVo.getFinBillTrailers();
List<FinBillTrailerVo> finBillTrailerVos = new ArrayList<>();
if (finBillTrailers != null && finBillTrailers.size() > 0){
if (finBillTrailers != null && finBillTrailers.size() > 0) {
for (com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerVo finBillTrailer : finBillTrailers) {
FinBillTrailerVo finBillTrailerVo = new FinBillTrailerVo();
BeanUtil.copyProperties(finBillTrailer,finBillTrailerVo);
BeanUtil.copyProperties(finBillTrailer, finBillTrailerVo);
List<String> hgzImageUrl = finBillTrailer.getHgzImageUrl();
finBillTrailerVo.setFiles(hgzImageUrl);
finBillTrailerVo.setOneBillMoney(finBillTrailer.getOneBillMoney());
@ -152,43 +152,51 @@ public class InvoicedService {
}
vo.setFinBillTrailers(finBillTrailerVos);
//附件信息
List<FinBillFileVo> carBuyContractImages = finBillApplicationDetailsVo.getCarBuyContractImages();
List<FinBillFileVo> khkpsqsApplicationAppendxs = finBillApplicationDetailsVo.getKhkpsqsApplicationAppendxs();
List<FinBillFileVo> kpxxqrsApplicationAppendxs = finBillApplicationDetailsVo.getKpxxqrsApplicationAppendxs();
List<FinBillFileVo> cldjhtApplicationAppendxs = finBillApplicationDetailsVo.getCldjhtApplicationAppendxs();
List<FinBillFileVo> zjApplicationAppendxs = finBillApplicationDetailsVo.getZjApplicationAppendxs();
List<String> appCarBuyContractImages = new ArrayList<>();//客户开票申请书
List<String> customerInvoiceApplyImages = new ArrayList<>();//客户开票申请书
List<String> invoiceApplyConfirmImages = new ArrayList<>();//开票信息确认书
List<String> registerContractImages = new ArrayList<>();//车辆登记合同
List<String> idCardImages = new ArrayList<>();
if (zjApplicationAppendxs.size() > 0){
if (carBuyContractImages.size() > 0) {
for (FinBillFileVo carBuyContractImage : carBuyContractImages) {
appCarBuyContractImages.add(carBuyContractImage.getFileUrl());
}
}
if (zjApplicationAppendxs.size() > 0) {
for (FinBillFileVo zjApplicationAppendx : zjApplicationAppendxs) {
idCardImages.add(zjApplicationAppendx.getFileUrl());
}
}
if (khkpsqsApplicationAppendxs.size() > 0){
if (khkpsqsApplicationAppendxs.size() > 0) {
for (FinBillFileVo khkpsqsApplicationAppendx : khkpsqsApplicationAppendxs) {
customerInvoiceApplyImages.add(khkpsqsApplicationAppendx.getFileUrl());
}
}
if (kpxxqrsApplicationAppendxs.size() > 0){
if (kpxxqrsApplicationAppendxs.size() > 0) {
for (FinBillFileVo kpxxqrsApplicationAppendx : kpxxqrsApplicationAppendxs) {
invoiceApplyConfirmImages.add(kpxxqrsApplicationAppendx.getFileUrl());
}
}
if (cldjhtApplicationAppendxs.size() > 0){
if (cldjhtApplicationAppendxs.size() > 0) {
for (FinBillFileVo cldjhtApplicationAppendx : cldjhtApplicationAppendxs) {
registerContractImages.add(cldjhtApplicationAppendx.getFileUrl());
}
}
vo.setCarBuyContractImages(appCarBuyContractImages);
vo.setCustomerInvoiceApplyImages(customerInvoiceApplyImages);
vo.setInvoiceApplyConfirmImages(invoiceApplyConfirmImages);
vo.setRegisterContractImages(registerContractImages);
vo.setIdCardImages(idCardImages);
BusSalesOrderIsDTKPJVo busSalesOrderIsDTKPJVo = busSalesOrderFeign.fetchByContractNo(finBillApplicationDetailsVo.getContractNo()).getData();
if (StringUtils.isNotBlank(busSalesOrderIsDTKPJVo.getOneBillMoney())){
if (StringUtils.isNotBlank(busSalesOrderIsDTKPJVo.getOneBillMoney())) {
vo.setIsCanEdit(false);
vo.setInvoiceMoney(busSalesOrderIsDTKPJVo.getOneBillMoney());
}else {
} else {
vo.setIsCanEdit(true);
}
return rb.success().setData(vo);
@ -196,7 +204,7 @@ public class InvoicedService {
public ResultBean saveInvoicedApplyInfo(BillApplicationIInfoDto dto) {
FinBillApplicationDto finBillApplicationDto = new FinBillApplicationDto();
BeanUtil.copyProperties(dto, finBillApplicationDto);
BeanUtil.copyProperties(dto, finBillApplicationDto, "carBuyContractImages");
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData();
finBillApplicationDto.setUseOrgSid(useOrgSid);
finBillApplicationDto.setCreateBySid(dto.getUserSid());
@ -227,7 +235,7 @@ public class InvoicedService {
List<VinListDto> vinList = dto.getVinList();
List<FinBillVehicleDto> finBillVehicleDtos = new ArrayList<>();
for (VinListDto vinListDto : vinList) {
if (StringUtils.isBlank(vinListDto.getInvoiceInfo())){
if (StringUtils.isBlank(vinListDto.getInvoiceInfo())) {
return new ResultBean().fail().setMsg("开票信息不能为空");
}
FinBillVehicleDto finBillVehicleDto = new FinBillVehicleDto();
@ -246,7 +254,7 @@ public class InvoicedService {
//开票挂车信息
List<FinBillTrailerDto> finBillTrailers = dto.getFinBillTrailers();
List<com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerDto> finBillTrailerDtos = new ArrayList<>();
if (finBillTrailers != null && finBillTrailers.size() > 0){
if (finBillTrailers != null && finBillTrailers.size() > 0) {
for (FinBillTrailerDto finBillTrailer : finBillTrailers) {
com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerDto finBillTrailerDto = new com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerDto();
BeanUtil.copyProperties(finBillTrailer, finBillTrailerDto);
@ -265,35 +273,35 @@ public class InvoicedService {
List<FinBillFileDto> kpxxqrsApplicationAppendxs = new ArrayList<>(); // 开票信息确认书附件信息
List<FinBillFileDto> cldjhtApplicationAppendxs = new ArrayList<>(); // 车辆登记合同附件信息
List<FinBillFileDto> idCardImagesPC = new ArrayList<>();//证件
if (appCarBuyContractImages != null){
if (appCarBuyContractImages != null) {
for (String appCarBuyContractImage : appCarBuyContractImages) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
finBillFileDto.setFileUrl(appCarBuyContractImage);
carBuyContractImages.add(finBillFileDto);
}
}
if (customerInvoiceApplyImages != null){
if (customerInvoiceApplyImages != null) {
for (String customerInvoiceApplyImage : customerInvoiceApplyImages) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
finBillFileDto.setFileUrl(customerInvoiceApplyImage);
khkpsqsApplicationAppendxs.add(finBillFileDto);
}
}
if (invoiceApplyConfirmImages != null){
if (invoiceApplyConfirmImages != null) {
for (String invoiceApplyConfirmImage : invoiceApplyConfirmImages) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
finBillFileDto.setFileUrl(invoiceApplyConfirmImage);
kpxxqrsApplicationAppendxs.add(finBillFileDto);
}
}
if (registerContractImages != null){
if (registerContractImages != null) {
for (String registerContractImage : registerContractImages) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
finBillFileDto.setFileUrl(registerContractImage);
cldjhtApplicationAppendxs.add(finBillFileDto);
}
}
if (idCardImages != null){
if (idCardImages != null) {
for (String idCardImage : idCardImages) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
finBillFileDto.setFileUrl(idCardImage);
@ -386,7 +394,7 @@ public class InvoicedService {
public ResultBean submitInvoicedInfo(SubmitInvoicedInfoDto dto) {
ResultBean rb = ResultBean.fireFail();
SubmitFinBillApplicationDto submitBillApplicationDto = new SubmitFinBillApplicationDto();
BeanUtil.copyProperties(dto, submitBillApplicationDto);
BeanUtil.copyProperties(dto, submitBillApplicationDto, "carBuyContractImages");
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData();
submitBillApplicationDto.setUseOrgSid(useOrgSid);
submitBillApplicationDto.setCreateBySid(dto.getUserSid());
@ -433,7 +441,7 @@ public class InvoicedService {
//开票挂车信息
List<FinBillTrailerDto> finBillTrailers = dto.getFinBillTrailers();
List<com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerDto> finBillTrailerDtos = new ArrayList<>();
if (finBillTrailers != null && finBillTrailers.size() > 0){
if (finBillTrailers != null && finBillTrailers.size() > 0) {
for (FinBillTrailerDto finBillTrailer : finBillTrailers) {
com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerDto finBillTrailerDto = new com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerDto();
BeanUtil.copyProperties(finBillTrailer, finBillTrailerDto);
@ -442,42 +450,52 @@ public class InvoicedService {
}
submitBillApplicationDto.setFinBillTrailers(finBillTrailerDtos);
//附件信息
List<String> appCarBuyContractImages = dto.getCarBuyContractImages();//车辆买卖合同
List<String> customerInvoiceApplyImages = dto.getCustomerInvoiceApplyImages();//客户开票申请书
List<String> invoiceApplyConfirmImages = dto.getInvoiceApplyConfirmImages();//开票信息确认书
List<String> registerContractImages = dto.getRegisterContractImages();//车辆登记合同
List<String> idCardImages = dto.getIdCardImages();//证件
List<FinBillFileDto> carBuyContractImages = new ArrayList<>(); // 车辆买卖合同
List<FinBillFileDto> khkpsqsApplicationAppendxs = new ArrayList<>(); // 客户开票申请书附件信息
List<FinBillFileDto> kpxxqrsApplicationAppendxs = new ArrayList<>(); // 开票信息确认书附件信息
List<FinBillFileDto> cldjhtApplicationAppendxs = new ArrayList<>(); // 车辆登记合同附件信息
List<FinBillFileDto> idCardImagesPC = new ArrayList<>();//证件
if (customerInvoiceApplyImages != null){
if (appCarBuyContractImages != null) {
for (String appCarBuyContractImage : appCarBuyContractImages) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
finBillFileDto.setFileUrl(appCarBuyContractImage);
carBuyContractImages.add(finBillFileDto);
}
}
if (customerInvoiceApplyImages != null) {
for (String customerInvoiceApplyImage : customerInvoiceApplyImages) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
finBillFileDto.setFileUrl(customerInvoiceApplyImage);
khkpsqsApplicationAppendxs.add(finBillFileDto);
}
}
if (invoiceApplyConfirmImages != null){
if (invoiceApplyConfirmImages != null) {
for (String invoiceApplyConfirmImage : invoiceApplyConfirmImages) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
finBillFileDto.setFileUrl(invoiceApplyConfirmImage);
kpxxqrsApplicationAppendxs.add(finBillFileDto);
}
}
if (registerContractImages != null){
if (registerContractImages != null) {
for (String registerContractImage : registerContractImages) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
finBillFileDto.setFileUrl(registerContractImage);
cldjhtApplicationAppendxs.add(finBillFileDto);
}
}
if (idCardImages != null){
if (idCardImages != null) {
for (String idCardImage : idCardImages) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
finBillFileDto.setFileUrl(idCardImage);
idCardImagesPC.add(finBillFileDto);
}
}
submitBillApplicationDto.setCarBuyContractImages(carBuyContractImages);
submitBillApplicationDto.setKhkpsqsApplicationAppendxs(khkpsqsApplicationAppendxs);
submitBillApplicationDto.setKpxxqrsApplicationAppendxs(kpxxqrsApplicationAppendxs);
submitBillApplicationDto.setCldjhtApplicationAppendxs(cldjhtApplicationAppendxs);
@ -505,35 +523,35 @@ public class InvoicedService {
List<FinBillFileDto> kpxxqrsApplicationAppendxs = new ArrayList<>(); // 开票信息确认书附件信息
List<FinBillFileDto> cldjhtApplicationAppendxs = new ArrayList<>(); // 车辆登记合同附件信息
List<FinBillFileDto> idCardImagesPC = new ArrayList<>();//证件
if (appCarBuyContractImages != null){
if (appCarBuyContractImages != null) {
for (String appCarBuyContractImage : appCarBuyContractImages) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
finBillFileDto.setFileUrl(appCarBuyContractImage);
carBuyContractImages.add(finBillFileDto);
}
}
if (customerInvoiceApplyImages != null){
if (customerInvoiceApplyImages != null) {
for (String customerInvoiceApplyImage : customerInvoiceApplyImages) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
finBillFileDto.setFileUrl(customerInvoiceApplyImage);
khkpsqsApplicationAppendxs.add(finBillFileDto);
}
}
if (invoiceApplyConfirmImages != null){
if (invoiceApplyConfirmImages != null) {
for (String invoiceApplyConfirmImage : invoiceApplyConfirmImages) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
finBillFileDto.setFileUrl(invoiceApplyConfirmImage);
kpxxqrsApplicationAppendxs.add(finBillFileDto);
}
}
if (registerContractImages != null){
if (registerContractImages != null) {
for (String registerContractImage : registerContractImages) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
finBillFileDto.setFileUrl(registerContractImage);
cldjhtApplicationAppendxs.add(finBillFileDto);
}
}
if (idCardImages != null){
if (idCardImages != null) {
for (String idCardImage : idCardImages) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
finBillFileDto.setFileUrl(idCardImage);
@ -575,10 +593,12 @@ public class InvoicedService {
FinBillApplicationDetailsVo finBillApplicationDetailsVo = resultBean.getData();
if (finBillApplicationDetailsVo != null) {
//附件信息
List<FinBillFileVo> carBuyContractImages = finBillApplicationDetailsVo.getCarBuyContractImages();
List<FinBillFileVo> khkpsqsApplicationAppendxs = finBillApplicationDetailsVo.getKhkpsqsApplicationAppendxs();
List<FinBillFileVo> kpxxqrsApplicationAppendxs = finBillApplicationDetailsVo.getKpxxqrsApplicationAppendxs();
List<FinBillFileVo> cldjhtApplicationAppendxs = finBillApplicationDetailsVo.getCldjhtApplicationAppendxs();
List<FinBillFileVo> zjApplicationAppendxs = finBillApplicationDetailsVo.getZjApplicationAppendxs();
List<String> appCarBuyContractImages = new ArrayList<>();
List<String> customerInvoiceApplyImages = new ArrayList<>();//客户开票申请书
List<String> invoiceApplyConfirmImages = new ArrayList<>();//开票信息确认书
List<String> registerContractImages = new ArrayList<>();//车辆登记合同
@ -596,7 +616,19 @@ public class InvoicedService {
itemEditTextInfo.setFilesPath(idCardImages);
itemEditTextInfos.add(itemEditTextInfo);
}
if (khkpsqsApplicationAppendxs != null) {
if (carBuyContractImages != null) {
for (FinBillFileVo carBuyContractImage : carBuyContractImages) {
appCarBuyContractImages.add(carBuyContractImage.getFileUrl());
}
ItemEditTextInfo itemEditTextInfo = new ItemEditTextInfo();
itemEditTextInfo.setTitle("车辆买卖合同");
itemEditTextInfo.setType(1);
itemEditTextInfo.setNullAble(false);
itemEditTextInfo.setKey("carBuyContractImages");
itemEditTextInfo.setFilesPath(appCarBuyContractImages);
itemEditTextInfos.add(itemEditTextInfo);
}
/*if (khkpsqsApplicationAppendxs != null) {
for (FinBillFileVo khkpsqsApplicationAppendx : khkpsqsApplicationAppendxs) {
customerInvoiceApplyImages.add(khkpsqsApplicationAppendx.getFileUrl());
}
@ -607,8 +639,8 @@ public class InvoicedService {
itemEditTextInfo.setKey("customerInvoiceApplyImages");
itemEditTextInfo.setFilesPath(customerInvoiceApplyImages);
itemEditTextInfos.add(itemEditTextInfo);
}
if (kpxxqrsApplicationAppendxs != null) {
}*/
/*if (kpxxqrsApplicationAppendxs != null) {
for (FinBillFileVo kpxxqrsApplicationAppendx : kpxxqrsApplicationAppendxs) {
invoiceApplyConfirmImages.add(kpxxqrsApplicationAppendx.getFileUrl());
}
@ -619,7 +651,7 @@ public class InvoicedService {
itemEditTextInfo.setKey("invoiceApplyConfirmImages");
itemEditTextInfo.setFilesPath(invoiceApplyConfirmImages);
itemEditTextInfos.add(itemEditTextInfo);
}
}*/
if (cldjhtApplicationAppendxs != null) {
for (FinBillFileVo cldjhtApplicationAppendx : cldjhtApplicationAppendxs) {
registerContractImages.add(cldjhtApplicationAppendx.getFileUrl());

Loading…
Cancel
Save