From f763cded61eeb26a1191d39cab46bf76c50685d9 Mon Sep 17 00:00:00 2001 From: God <10745413@qq.com> Date: Thu, 11 May 2023 17:59:38 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basevehicleout/BaseVehicleOutService.java | 259 ++++++++++++++---- .../invoiced/BillApplicationIInfoVo.java | 2 + .../autoservice/invoiced/InvoicedService.java | 4 + 3 files changed, 217 insertions(+), 48 deletions(-) diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java index d537155f17..059974ccfc 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java @@ -998,7 +998,6 @@ public class BaseVehicleOutService extends MybatisBaseService pagerList(PagerQuery query) { @@ -1423,27 +1422,36 @@ public class BaseVehicleOutService extends MybatisBaseService bdCustomersQKC = new ArrayList<>(); + BdCustomer bdCustomerQKC = new BdCustomer(); + String payTypeKey = baseVehicleZSOutApplyDto.getSaleTypeKey(); + if ("001".equals(payTypeKey)) {//全款 + Boolean aBoolean = finKingDeeFeign.customerExistState(baseVehicleZSOutApplyDto.getContractNo()).getData(); + //不存在 + if (!aBoolean) { + bdCustomerQKC.setFNumber(baseVehicleZSOutApplyDto.getContractNo()); + bdCustomerQKC.setFName(baseVehicleZSOutApplyDto.getCustomerName() + bdCustomerQKC.getFNumber()); + bdCustomerQKC.setTOrgIds(basePurchaseSystemDetailsVo.getOrgCode()); + bdCustomersQKC.add(bdCustomerQKC); + finKingDeeFeign.draftBdCustomers(bdCustomersQKC); + } + } //声明贷款时,合同编号数字 int j = 1; //主车 for (BaseVehicleZSOutDto dto : zcDtos) { - Boolean b = false; //获取主车sid - String materialSid = dto.getMaterialSid(); List bdCustomers = new ArrayList<>(); BdCustomer bdCustomer = new BdCustomer(); - String payTypeKey = baseVehicleZSOutApplyDto.getSaleTypeKey(); - BaseVehicle baseVehicle = baseVehicleService.fetchBySid(materialSid); - BasePurchaseSystemDetailsVo data = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData(); - bdCustomer.setTOrgIds(data.getOrgCode()); + bdCustomer.setTOrgIds(basePurchaseSystemDetailsVo.getOrgCode()); //出库类型是否为全款车(001全款车) - if ("001".equals(payTypeKey)) { - Boolean aBoolean = finKingDeeFeign.customerExistState(baseVehicleZSOutApplyDto.getContractNo()).getData(); - if (!aBoolean) { - bdCustomer.setFNumber(baseVehicleZSOutApplyDto.getContractNo()); - bdCustomer.setFName(baseVehicleZSOutApplyDto.getCustomerName() + bdCustomer.getFNumber()); - } - } else { + if (!"001".equals(payTypeKey)) {//贷款 String num = String.format("%02d", j); String FNumber = baseVehicleZSOutApplyDto.getContractNo() + num; j = j++; @@ -1451,12 +1459,12 @@ public class BaseVehicleOutService extends MybatisBaseService gcOrSzDtos, BaseVehicleZSOutApplyDto baseVehicleZSOutApplyDto) { + SalOutStock salOutStock = new SalOutStock(); + //单据编号 + salOutStock.setFBillNo(baseVehicleZSOutApplyDto.getBillNo() + "-1"); + //日期 + salOutStock.setFDate(DateUtil.today()); + //分公司id + BaseVehicleZSOutDto baseVehicleZSOutDto = gcOrSzDtos.get(0); + BaseVehicle baseVehicle = baseVehicleService.fetchBySid(baseVehicleZSOutDto.getVinSid()); + String purchaseSystemSid = baseVehicle.getPurchaseSystemSid(); + BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(purchaseSystemSid).getData(); + salOutStock.setFSaleOrgId(basePurchaseSystemDetailsVo.getOrgCode()); + //客户 + salOutStock.setFCustomerID(baseVehicleZSOutDto.getCwCustomerNo()); + //销售部门id + String orgDeptSid = baseVehicleZSOutApplyDto.getOrgSid(); + ResultBean resultBean = sysOrganizationFeign.fetchBySid(orgDeptSid); + if (resultBean.getSuccess()) { + SysOrganizationVo vo = resultBean.getData(); + if (vo != null) { + salOutStock.setFSaleDeptID(vo.getOrgCode()); + } + } + //项目类别key和项目类别type + salOutStock.setF_PAEZ_AssistantType("payType"); + //销售类型-外采挂车映射 + salOutStock.setF_PAEZ_AssistantKey("009"); + //物料列表 + List fEntityList = new ArrayList<>(); + for (BaseVehicleZSOutDto dto : gcOrSzDtos) { + SalOutStock.FEntity fEntity = new SalOutStock.FEntity(); + //单价 + fEntity.setFPrice(dto.getPrice()); + //物料编码 + fEntity.setFMaterialID(dto.getMaterialCode()); + //仓库id + fEntity.setFStockID("ARZSCK"); + fEntityList.add(fEntity); + if (fEntityList.size() > 0) { + salOutStock.setFEntity(fEntityList); + return salOutStock; + } + } + return null; + } + + private SalOutStock createZSSalOutStockQKC(BaseVehicleOutApply baseVehicleOutApply, List zcDtos) { + SalOutStock salOutStock = new SalOutStock(); + BaseVehicleZSOutDto baseVehicleZSOutDto = zcDtos.get(0); + BaseVehicle baseVehicle = baseVehicleService.fetchBySid(baseVehicleZSOutDto.getMaterialSid()); + //单据编号 + salOutStock.setFBillNo(baseVehicleOutApply.getBillNo()); + //日期 + salOutStock.setFDate(baseVehicleOutApply.getSaleDate()); + //分公司id + BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData(); + salOutStock.setFSaleOrgId(basePurchaseSystemDetailsVo.getOrgCode()); + //客户 + salOutStock.setFCustomerID(baseVehicleOutApply.getContractNo()); + //销售部门id + String orgDeptSid = baseVehicleOutApply.getOrgSid(); + ResultBean resultBean = sysOrganizationFeign.fetchBySid(orgDeptSid); + if (resultBean.getSuccess()) { + SysOrganizationVo vo = resultBean.getData(); + if (vo != null) { + salOutStock.setFSaleDeptID(vo.getOrgCode()); + } + } + //项目类别key和项目类别type + salOutStock.setF_PAEZ_AssistantType("payType"); + //外采主车 + if (baseVehicle.getManPurOrderTypeKey().equals("002")) { + salOutStock.setF_PAEZ_AssistantKey("008"); + } else { + salOutStock.setF_PAEZ_AssistantKey(baseVehicleOutApply.getSaleTypeKey()); + } + //中介单位 + salOutStock.setF_PAEZ_Base(baseVehicleZSOutDto.getMiddleCodeOne()); + //物料列表 + List fEntityList = new ArrayList<>(); + for (BaseVehicleZSOutDto dto : zcDtos) { + SalOutStock.FEntity fEntity = new SalOutStock.FEntity(); + //单价 + fEntity.setFPrice(dto.getPrice()); + //物料编码 + fEntity.setFMaterialID(dto.getVinNo().substring(dto.getVinNo().length() - 8)); + //仓库id + fEntity.setFStockID("ARZSCK"); + //销售折让 + if (StringUtils.isNotBlank(dto.getSalesAllowance())) { + fEntity.setF_PAEZ_Decimal3(dto.getSalesAllowance()); + } + if (StringUtils.isNotBlank(dto.getGiftsDescription())) { + fEntity.setF_PAEZ_Decimal4(dto.getGiftsDescription()); + } + //返利金额 + fEntity.setF_PAEZ_Decimal("0"); + String remarks = dto.getRemarks(); + String note = ""; + if (StringUtils.isNotBlank(remarks)) { + note = note + remarks; + } + //备注 + if (StringUtils.isNotBlank(dto.getMiddleOne())) { + if (StringUtils.isNotBlank(dto.getMiddleTwo())) { + if (StringUtils.isNotBlank(dto.getRebateMoneyOne())) { + if (StringUtils.isNotBlank(dto.getRebateMoneyTwo())) { + note = note + " 返利情况:" + dto.getMiddleOne() + dto.getRebateMoneyOne() + "," + dto.getMiddleTwo() + dto.getRebateMoneyTwo() + "。"; + //返利金额 + fEntity.setF_PAEZ_Decimal(new BigDecimal(dto.getRebateMoneyOne()).add(new BigDecimal(dto.getRebateMoneyTwo())).toString()); + } else { + note = note + " 返利情况:" + dto.getMiddleOne() + dto.getRebateMoneyOne() + "。"; + //返利金额 + fEntity.setF_PAEZ_Decimal(dto.getRebateMoneyOne()); + } + } else { + if (StringUtils.isNotBlank(dto.getRebateMoneyTwo())) { + note = note + " 返利情况:" + dto.getMiddleTwo() + dto.getRebateMoneyTwo() + "。"; + //返利金额 + fEntity.setF_PAEZ_Decimal(dto.getRebateMoneyTwo()); + } + } + } else { + if (StringUtils.isNotBlank(dto.getRebateMoneyOne())) { + note = note + " 返利情况:" + dto.getMiddleOne() + dto.getRebateMoneyOne() + "。"; + //返利金额 + fEntity.setF_PAEZ_Decimal(dto.getRebateMoneyOne()); + } + } + } else { + if (StringUtils.isNotBlank(dto.getMiddleTwo())) { + if (StringUtils.isNotBlank(dto.getRebateMoneyTwo())) { + note = note + " 返利情况:" + dto.getMiddleOne() + dto.getRebateMoneyOne() + "。"; + //返利金额 + fEntity.setF_PAEZ_Decimal(dto.getRebateMoneyOne()); + } + } + } + if (StringUtils.isNotBlank(note)) { + fEntity.setFEntrynote(note); + } + fEntityList.add(fEntity); + if (fEntityList.size() > 0) { + salOutStock.setFEntity(fEntityList); + return salOutStock; + } + } + return null; + } } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationIInfoVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationIInfoVo.java index 05bcf2dc4c..d2b5176104 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationIInfoVo.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationIInfoVo.java @@ -81,4 +81,6 @@ public class BillApplicationIInfoVo implements Vo { private String modelSid; // 车型sid @ApiModelProperty("车型名称") private String modelName; // 车型名称 + @ApiModelProperty("销售订单sid") + private String busSalesOrderSid; } diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java index 9dd12e97cb..e3c1e3c8fa 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java @@ -1,6 +1,7 @@ package com.yxt.anrui.terminal.biz.autoservice.invoiced; import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderIsDTKPJVo; import com.yxt.anrui.fin.api.finbillapplication.*; @@ -113,6 +114,9 @@ public class InvoicedService { vo.setDate(finBillApplicationDetailsVo.getApplyDate()); vo.setUserSid(finBillApplicationDetailsVo.getCreateBySid()); vo.setPublishInfo(finBillApplicationDetailsVo.getDeptName() + "-" + finBillApplicationDetailsVo.getCreateByName()); + //根据合同查询销售订单 + BusSalesOrder busSalesOrder = busSalesOrderFeign.selectOrderByContractNo(finBillApplicationDetailsVo.getContractNo()).getData(); + vo.setBusSalesOrderSid(busSalesOrder.getSid()); //车辆信息 List vinListVos = new ArrayList<>(); List finBillVehicles = finBillApplicationDetailsVo.getFinBillVehicles();