From 934222409192a24627cc54497c0dd5d46069d54b Mon Sep 17 00:00:00 2001 From: God <10745413@qq.com> Date: Wed, 31 May 2023 13:54:20 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BC=81=E4=B8=9A=E5=BC=80=E7=A5=A8?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FinBillApplicationService.java | 122 ++++++++++++++++-- 1 file changed, 108 insertions(+), 14 deletions(-) diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java index c4c05868de..eee01222bf 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java @@ -3066,20 +3066,114 @@ public class FinBillApplicationService extends MybatisBaseService finBillVehicleVos = finBillVehicleService.fetchVehBySid(businessSid); + List finBillTrailerVos = finBillTrailerService.fetchByMainSid(businessSid); + for (FinBillVehicleVo finBillVehicleVo : finBillVehicleVos) { + int count = finVehicleInvoiceService.selectCountByVinSid(finBillVehicleVo.getVehSid()); + if (count == 0) { + FinVehicleInvoiceDto finVehicleInvoiceDto = new FinVehicleInvoiceDto(); + finVehicleInvoiceDto.setInvoiceTitle(finBillApplication.getOpenTickUnitName()); + finVehicleInvoiceDto.setContractNo(finBillApplication.getContractNo()); + finVehicleInvoiceDto.setCustomerName(finBillApplication.getCustomerName()); + finVehicleInvoiceDto.setVehicleSid(finBillVehicleVo.getVehSid()); + finVehicleInvoiceDto.setVIN(finBillVehicleVo.getVinNo()); + finVehicleInvoiceDto.setInvoiceTypeKey(finBillVehicleVo.getBillTypeKey()); + finVehicleInvoiceDto.setInvoiceType(finBillVehicleVo.getBillTypeValue()); + finVehicleInvoiceDto.setInvoiceAmount(finBillApplication.getOneBillMoney()); + finVehicleInvoiceDto.setBillingStateKey("001"); + finVehicleInvoiceDto.setBillingState("未开票"); + finVehicleInvoiceDto.setTransferStateKey("001"); + finVehicleInvoiceDto.setTransferState("未移交"); + finVehicleInvoiceDto.setVehicleType("主车"); + finVehicleInvoiceDto.setBillingSid(finBillApplication.getSid()); + finVehicleInvoiceDto.setInvoicingName(finBillVehicleVo.getOpenTickName()); + finVehicleInvoiceDto.setCreateBySid(finBillApplication.getCreateBySid()); + finVehicleInvoiceDto.setBusinessStateKey(finBillApplication.getBillStateKey()); + finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue()); + finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid()); + FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingService.fetchDetailsVoBySid(finBillVehicleVo.getOpenTickSid()); + if (StringUtils.isNotBlank(finCompanyInvoicingDetailsVo.getBankAccount())){ + finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress()); + finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone()); + finVehicleInvoiceDto.setOpeningBank(finCompanyInvoicingDetailsVo.getBankName()); + finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount()); + finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo()); + finVehicleInvoiceDto.setIsTakeTicket("是"); + }else { + CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(finBillVehicleVo.getOpenTickSid()).getData(); + finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile()); + finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber()); + finVehicleInvoiceDto.setIsTakeTicket("是"); + } + finVehicleInvoiceService.mySave(finVehicleInvoiceDto); + } + } + if (finBillTrailerVos != null) { + for (FinBillTrailerVo finBillTrailerVo : finBillTrailerVos) { + String gcVinNo = finBillTrailerVo.getGcVinNo(); + BaseTrailerDetailsVo baseTrailerDetailsVo = baseTrailerFeign.fetchByGcVinNo(gcVinNo).getData(); + int count = finVehicleInvoiceService.selectCountByVinSid(baseTrailerDetailsVo.getSid()); + if (count == 0) { + FinVehicleInvoiceDto finVehicleInvoiceDto = new FinVehicleInvoiceDto(); + finVehicleInvoiceDto.setInvoiceTitle(finBillApplication.getOpenTickUnitName()); + finVehicleInvoiceDto.setContractNo(finBillApplication.getContractNo()); + finVehicleInvoiceDto.setCustomerName(finBillApplication.getCustomerName()); + finVehicleInvoiceDto.setVehicleSid(baseTrailerDetailsVo.getSid()); + finVehicleInvoiceDto.setVIN(gcVinNo); + finVehicleInvoiceDto.setInvoiceTypeKey(finBillTrailerVo.getBillTypeKey()); + finVehicleInvoiceDto.setInvoiceType(finBillTrailerVo.getBillTypeValue()); + finVehicleInvoiceDto.setInvoiceAmount(new BigDecimal(finBillTrailerVo.getOneBillMoney())); + finVehicleInvoiceDto.setBillingStateKey("001"); + finVehicleInvoiceDto.setBillingState("未开票"); + finVehicleInvoiceDto.setTransferStateKey("001"); + finVehicleInvoiceDto.setTransferState("未移交"); + finVehicleInvoiceDto.setVehicleType("挂车"); + finVehicleInvoiceDto.setBillingSid(finBillApplication.getSid()); + finVehicleInvoiceDto.setInvoicingName(finBillTrailerVo.getOpenTickName()); + finVehicleInvoiceDto.setCreateBySid(finBillApplication.getCreateBySid()); + finVehicleInvoiceDto.setBusinessStateKey(finBillApplication.getBillStateKey()); + finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue()); + finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid()); + FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingService.fetchDetailsVoBySid(finBillTrailerVo.getOpenTickSid()); + if (StringUtils.isNotBlank(finCompanyInvoicingDetailsVo.getBankAccount())){ + finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress()); + finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone()); + finVehicleInvoiceDto.setOpeningBank(finCompanyInvoicingDetailsVo.getBankName()); + finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount()); + finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo()); + finVehicleInvoiceDto.setIsTakeTicket("是"); + }else { + CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(finBillTrailerVo.getOpenTickSid()).getData(); + finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile()); + finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber()); + finVehicleInvoiceDto.setIsTakeTicket("是"); + } + finVehicleInvoiceService.mySave(finVehicleInvoiceDto); + } + } + } + BusSalesOrder busSalesOrder = busSalesOrderFeign.selectOrderByContractNo(finBillApplication.getContractNo()).getData(); + BigDecimal oneBillMoney = busSalesOrder.getOneBillMoney(); + if (oneBillMoney == null) { + busSalesOrderFeign.updateOneBillMoneyByOrderSid(busSalesOrder.getSid(), finBillApplication.getOneBillMoney().toString()); + } + } else { + //极光推送 + finBillApplication = fetchBySid(businessSid); + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + ufVo.setProcDefId(finBillApplication.getProcDefId()); + ufVo.setProcInsId(finBillApplication.getProcInstSid()); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("开票申请"); + messageFlowableQuery.setMsgContent(finBillApplication.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + messageFlowableQuery.setMsgTitle("开票申请"); + messageFeign.pushMessage(messageFlowableQuery); + } return rb.success().setData(resultBean.getData()); } else { return rb.setMsg("操作失败!提交的数据不一致"); From af94bf4c09eb7dd90fc1b942bb384d54f68fadf9 Mon Sep 17 00:00:00 2001 From: God <10745413@qq.com> Date: Wed, 31 May 2023 14:01:19 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=8C=82=E8=BD=A6=E5=8D=95=E7=8B=AC?= =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=92=8C=E4=B8=8A=E8=A3=85=E5=8D=95=E7=8B=AC?= =?UTF-8?q?=E5=87=BA=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/basetrailer/BaseTrailerFeign.java | 4 + .../BaseVehicleOutDetailsVo.java | 2 + .../basevehinstall/BaseVehinstallFeign.java | 4 + .../BaseVehinstallFeignFallback.java | 5 + .../base/biz/basetrailer/BaseTrailerRest.java | 5 + .../biz/basetrailer/BaseTrailerService.java | 182 ++++++++++++++++-- .../basevehinstall/BaseVehinstallRest.java | 5 + .../basevehinstall/BaseVehinstallService.java | 92 +++++++++ .../FinCompanyInvoicingFeign.java | 17 +- .../FinCompanyInvoicingRest.java | 5 + .../FinCompanyInvoicingService.java | 26 ++- 11 files changed, 318 insertions(+), 29 deletions(-) diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/BaseTrailerFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/BaseTrailerFeign.java index 936b241c39..e5b806480a 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/BaseTrailerFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/BaseTrailerFeign.java @@ -114,6 +114,10 @@ public interface BaseTrailerFeign { @PostMapping("/trailerOut/{sid}") ResultBean trailerOut(@PathVariable("sid") String sid); + @ApiOperation("挂车单独出库(新)") + @PostMapping("/trailerOutNew/{sid}") + ResultBean trailerOutNew(@PathVariable("sid") String sid); + @ApiOperation("查询主车的挂车信息/上装信息") @GetMapping("/trailerList") ResultBean trailerList(@RequestParam("vinSid") String vinSid,@RequestParam("contractNo") String contractNo); diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleOutDetailsVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleOutDetailsVo.java index 1c74b0fcf6..541b159a17 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleOutDetailsVo.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleOutDetailsVo.java @@ -63,6 +63,8 @@ public class BaseVehicleOutDetailsVo implements Vo { private String saleDate; @ApiModelProperty("创建组织sid") private String createOrgSid; // 创建组织sid + @ApiModelProperty("出库单sid") + private String mainSid; @ApiModelProperty("上装/挂车名称") private String trailerOrInstallName; diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeign.java index b2634ee718..65b65521ff 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeign.java @@ -87,4 +87,8 @@ public interface BaseVehinstallFeign { @ApiOperation("上装出库") @PostMapping("/vehinstallOut/{sid}") ResultBean vehinstallOut(@PathVariable("sid") String sid); + + @ApiOperation("上装单独出库(新)") + @PostMapping("/vehinstallOutNew/{sid}") + ResultBean vehinstallOutNew(@PathVariable("sid") String sid); } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeignFallback.java index 58136efb73..42860e8a52 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeignFallback.java @@ -84,4 +84,9 @@ public class BaseVehinstallFeignFallback implements BaseVehinstallFeign { public ResultBean vehinstallOut(String sid) { return null; } + + @Override + public ResultBean vehinstallOutNew(String sid) { + return null; + } } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerRest.java index f2175a27ea..479b919da6 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerRest.java @@ -110,6 +110,11 @@ public class BaseTrailerRest implements BaseTrailerFeign { return baseTrailerService.trailerOut(sid); } + @Override + public ResultBean trailerOutNew(String sid) { + return baseTrailerService.trailerOutNew(sid); + } + @Override public ResultBean trailerList(String vinSid,String contractNo) { return baseTrailerService.trailerList(vinSid,contractNo); diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java index d6612df7f2..7117d0544d 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java @@ -38,6 +38,7 @@ import com.yxt.anrui.base.api.basetrailermodel.BaseTrailerModelDetailsVo; import com.yxt.anrui.base.api.basevehicle.BaseVehicle; import com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificate; import com.yxt.anrui.base.api.basevehicleout.BaseVehicleOut; +import com.yxt.anrui.base.api.basevehicleout.BaseVehicleOutDetailsNewVo; import com.yxt.anrui.base.api.basevehicleout.BaseVehicleOutDetailsVo; import com.yxt.anrui.base.api.basevehicleoutapply.BaseVehicleOutApply; import com.yxt.anrui.base.api.basevehinstall.BaseVehinstall; @@ -97,10 +98,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Date; -import java.util.List; +import java.util.*; /** * Project: anrui-base(基础信息)
@@ -238,7 +236,7 @@ public class BaseTrailerService extends MybatisBaseService busSalesOrderVehicles = busSalesOrderVehicleFeign.fetchByVehSid(vehSid).getData(); @@ -284,7 +282,7 @@ public class BaseTrailerService extends MybatisBaseService trailerList(String vinSid,String contractNo) { + private SalOutStock createSzOrGcSalOutStockNew(BaseVehicle baseVehicle, BaseVehicleOut baseVehicleOut, BaseVehicleOutApply baseVehicleOutApply) { + SalOutStock salOutStock = new SalOutStock(); + //单据编号 + salOutStock.setFBillNo(baseVehicleOutApply.getBillNo()); + //日期 + salOutStock.setFDate(DateUtil.today()); + //分公司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"); + //销售类型-外采挂车映射 + salOutStock.setF_PAEZ_AssistantKey("009"); + //物料列表 + List fEntityList = new ArrayList<>(); + SalOutStock.FEntity fEntity = new SalOutStock.FEntity(); + //单价 + fEntity.setFPrice(baseVehicleOut.getPrice().toString()); + //物料编码 + fEntity.setFMaterialID(baseVehicleOut.getMaterialCode()); + //仓库id + fEntity.setFStockID("ARZSCK"); + fEntityList.add(fEntity); + salOutStock.setFEntity(fEntityList); + return salOutStock; + } + + public ResultBean trailerList(String vinSid, String contractNo) { ResultBean rb = ResultBean.fireFail(); //查询销售订单的上装价格 String price = ""; ResultBean detailsVoResultBean = busSalesOrderFeign.getSaleOrderDetailsByContractNo(contractNo); - if(detailsVoResultBean.getData() != null){ - if(detailsVoResultBean.getData().getTopInfo() != null){ + if (detailsVoResultBean.getData() != null) { + if (detailsVoResultBean.getData().getTopInfo() != null) { price = detailsVoResultBean.getData().getTopInfo().getTopPrice(); } } @@ -764,23 +800,23 @@ public class BaseTrailerService extends MybatisBaseService voList = baseMapper.trailerList(vinSid); voList.removeAll(Collections.singleton(null)); - if(!voList.isEmpty()){ + if (!voList.isEmpty()) { traliveredVo.setList(voList); } //查询车辆的上装配置 - List baseVehinstallsList = baseVehinstallService.selectByOrgSidAndVin(baseVehicle.getCreateOrgSid(), baseVehicle.getVinNo().substring(baseVehicle.getVinNo().length()-8)); + List baseVehinstallsList = baseVehinstallService.selectByOrgSidAndVin(baseVehicle.getCreateOrgSid(), baseVehicle.getVinNo().substring(baseVehicle.getVinNo().length() - 8)); baseVehinstallsList.removeAll(Collections.singleton(null)); for (int i = 0; i < baseVehinstallsList.size(); i++) { BaseVehinstallmodelDetailsVo baseVehinstallmodelDetailsVo = new BaseVehinstallmodelDetailsVo(); BaseVehinstall baseVehinstall = baseVehinstallsList.get(i); String topSid = baseVehinstall.getMainSid(); BaseVehinstallmodel baseVehinstallmodel = baseVehinstallmodelService.fetchBySid(topSid); - BeanUtil.copyProperties(baseVehinstallmodel,baseVehinstallmodelDetailsVo); + BeanUtil.copyProperties(baseVehinstallmodel, baseVehinstallmodelDetailsVo); baseVehinstallmodelDetailsVo.setTopPrice(price); vehillModelList.add(baseVehinstallmodelDetailsVo); } vehillModelList.removeAll(Collections.singleton(null)); - if(!vehillModelList.isEmpty()){ + if (!vehillModelList.isEmpty()) { traliveredVo.setVehillModelList(vehillModelList); } return rb.success().setData(traliveredVo); @@ -795,4 +831,112 @@ public class BaseTrailerService extends MybatisBaseService fetchAllByVehSid(String materialSid) { return baseMapper.fetchAllByVehSid(materialSid); } + + public ResultBean trailerOutNew(String sid) { + ResultBean rb = ResultBean.fireFail(); + BaseTrailer baseTrailer = fetchBySid(sid); + if (baseTrailer.getStockStateKey().equals("0002")) { + return rb.setMsg("该挂车已出库"); + } + String vehSid = baseTrailer.getVehSid(); + BaseVehicle baseVehicle = baseVehicleService.fetchBySid(vehSid); + String vehicleState = baseVehicle.getVehicleState(); + if (!vehicleState.equals("0002")) { + return rb.setMsg("此主车车辆库存状态不是出库,请重新选择"); + } + FinBillVehicleDetailsVo finBillVehicleDetailsVo = finBillVehicleFeign.fetchByVehSid(vehSid).getData(); + FinBillApplicationDetailsVo finBillApplicationDetailsVo = null; + if (finBillVehicleDetailsVo == null) { + return rb.setMsg("关联的主车未开票,不可出库"); + } else { + String billAppSid = finBillVehicleDetailsVo.getBillAppSid(); + finBillApplicationDetailsVo = finBillApplicationFeign.fetchDetailsBySid(billAppSid).getData(); + if (!finBillApplicationDetailsVo.getNodeState().equals("已办结")) { + return rb.setMsg("关联的主车未开票,不可出库"); + } + } + //生成单据编号 + String billNo = ""; + BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData(); + String date = DateUtil.format(DateUtil.date(), "yyyyMM"); + billNo = "XSCKD" + basePurchaseSystemDetailsVo.getOrgCode() + date; + String i = baseMapper.selectNum(billNo); + if (StringUtils.isNotBlank(i)) { + billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue()); + } else { + billNo = Rule.getBillNo(billNo, 0); + } + BaseVehicleOutDetailsVo baseVehicleOutDetailsVo = baseVehicleOutService.selByOrgSidAndVehSid(baseTrailer.getUseOrgSid(), vehSid); + BaseVehicleOutApply baseVehicleOutApply = baseVehicleOutApplyService.fetchBySid(baseVehicleOutDetailsVo.getMainSid()); + //出库主表信息录入 + baseVehicleOutApply.setSid(UUID.randomUUID().toString()); + baseVehicleOutApply.setBillNo(billNo); + //保存车辆出库单主表 + baseVehicleOutApplyService.save(baseVehicleOutApply); + BaseVehicleOut baseVehicleOut = new BaseVehicleOut(); + baseVehicleOut.setCreateBySid(baseVehicleOutApply.getCreateBySid()); + baseVehicleOut.setZcMGroupCode("99.02"); + baseVehicleOut.setZcMGroupName("挂车"); + baseVehicleOut.setVinNo(baseTrailer.getVinNo()); + baseVehicleOut.setVinSid(vehSid); + baseVehicleOut.setPrice(baseTrailer.getDealPrice()); + //出库单子表关联主表sid + baseVehicleOut.setMainSid(baseVehicleOutApply.getSid()); + baseVehicleOut.setManPurOrderTypeKey(baseVehicle.getManPurOrderTypeKey()); + baseVehicleOut.setManPurOrderTypeValue(baseVehicle.getManPurOrderTypeValue()); + baseVehicleOut.setMaterialCode(baseTrailer.getVinNo().substring(baseTrailer.getVinNo().length() - 8) + "G"); + baseVehicleOut.setMaterialName("挂车"); + baseVehicleOut.setMaterialTypeKey("002"); + baseVehicleOut.setMaterialTypeValue("挂车"); + baseVehicleOut.setMaterialSid(baseTrailer.getSid()); + //保存车辆出库单子表 + baseVehicleOutService.save(baseVehicleOut); + //推送金蝶挂车销售出库单 + SalOutStock salOutStock = createSzOrGcSalOutStockNew(baseVehicle, baseVehicleOut, baseVehicleOutApply); + finKingDeeFeign.draftSalOutStock(salOutStock); + List fEntity = salOutStock.getFEntity(); + for (SalOutStock.FEntity entity : fEntity) { + baseTrailer.setStockStateKey(VehicleState.StockEnum.OUT_STOCK.getCode()); + baseTrailer.setStockStateValue(VehicleState.StockEnum.OUT_STOCK.getRemarks()); + baseTrailer.setDealPrice(baseVehicleOut.getPrice()); + baseTrailer.setIssueDate(DateUtil.formatDate(new Date())); + saveOrUpdate(baseTrailer); + } + FinVehicleInvoiceDto finVehicleInvoiceDto = new FinVehicleInvoiceDto(); + finVehicleInvoiceDto.setInvoiceTitle(finBillApplicationDetailsVo.getOpenTickUnitName()); + finVehicleInvoiceDto.setContractNo(finBillApplicationDetailsVo.getContractNo()); + finVehicleInvoiceDto.setCustomerName(finBillApplicationDetailsVo.getCustomerName()); + finVehicleInvoiceDto.setVehicleSid(baseTrailer.getSid()); + finVehicleInvoiceDto.setVIN(baseTrailer.getVinNo()); + finVehicleInvoiceDto.setInvoiceTypeKey(finBillVehicleDetailsVo.getBillTypeKey()); + finVehicleInvoiceDto.setInvoiceType(finBillVehicleDetailsVo.getBillTypeValue()); + finVehicleInvoiceDto.setInvoiceAmount(baseTrailer.getOneBillMoney()); + finVehicleInvoiceDto.setBillingStateKey("001"); + finVehicleInvoiceDto.setBillingState("未开票"); + finVehicleInvoiceDto.setTransferStateKey("001"); + finVehicleInvoiceDto.setTransferState("未移交"); + finVehicleInvoiceDto.setVehicleType("挂车"); + finVehicleInvoiceDto.setBillingSid(finBillApplicationDetailsVo.getSid()); + finVehicleInvoiceDto.setInvoicingName(finBillVehicleDetailsVo.getOpenTickName()); + finVehicleInvoiceDto.setCreateBySid(finBillApplicationDetailsVo.getCreateBySid()); + finVehicleInvoiceDto.setBusinessStateKey(finBillApplicationDetailsVo.getBillStateKey()); + finVehicleInvoiceDto.setBusinessState(finBillApplicationDetailsVo.getBillStateValue()); + finVehicleInvoiceDto.setUseOrgSid(finBillApplicationDetailsVo.getUseOrgSid()); + FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingFeign.fetchDetailsBySid(finBillVehicleDetailsVo.getOpenTickSid()).getData(); + if (StringUtils.isNotBlank(finCompanyInvoicingDetailsVo.getBankAccount())) { + finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress()); + finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone()); + finVehicleInvoiceDto.setOpeningBank(finCompanyInvoicingDetailsVo.getBankName()); + finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount()); + finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo()); + finVehicleInvoiceDto.setIsTakeTicket("是"); + } else { + CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(finBillVehicleDetailsVo.getOpenTickSid()).getData(); + finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile()); + finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber()); + finVehicleInvoiceDto.setIsTakeTicket("是"); + } + finVehicleInvoiceFeign.saveOrUpdate(finVehicleInvoiceDto); + return rb.success(); + } } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallRest.java index 789274f825..499556f56a 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallRest.java @@ -292,4 +292,9 @@ public class BaseVehinstallRest implements BaseVehinstallFeign { public ResultBean vehinstallOut(String sid) { return baseVehinstallService.vehinstallOut(sid); } + + @Override + public ResultBean vehinstallOutNew(String sid) { + return baseVehinstallService.vehinstallOutNew(sid); + } } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallService.java index 2542f16814..5209ae4629 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallService.java @@ -425,4 +425,96 @@ public class BaseVehinstallService extends MybatisBaseService fEntity = salOutStock.getFEntity(); + for (SalOutStock.FEntity entity : fEntity) { + String substring = entity.getFMaterialID().substring(entity.getFMaterialID().length() - 1); + if ("Z".equals(substring)) { + baseVehinstall.setVehicleStateKey(VehicleState.StockEnum.OUT_STOCK.getCode()); + baseVehinstall.setVehicleStateValue(VehicleState.StockEnum.OUT_STOCK.getRemarks()); + baseVehinstall.setSalesDate(DateUtil.formatDate(new Date())); + saveOrUpdate(baseVehinstall); + } + } + return rb.success(); + } } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingFeign.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingFeign.java index 2036638080..4b5f84566c 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingFeign.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingFeign.java @@ -65,7 +65,7 @@ public interface FinCompanyInvoicingFeign { @PostMapping("/save") @ResponseBody public ResultBean save(@RequestBody FinCompanyInvoicingDto dto); - + @ApiOperation("根据sid删除记录") @DeleteMapping("/delBySidsPath/{sid}") public ResultBean delBySidsPath(@PathVariable("sid") String sid); @@ -74,7 +74,7 @@ public interface FinCompanyInvoicingFeign { @DeleteMapping("/delBySids") @ResponseBody public ResultBean delBySids(@RequestBody String[] sids); - + @ApiOperation("根据SID获取一条记录") @GetMapping("/fetchDetailsBySid/{sid}") @ResponseBody @@ -88,12 +88,12 @@ public interface FinCompanyInvoicingFeign { @ApiOperation("根据分公司和采购系统查询") @GetMapping("/getDetailsByUseOrgAndSystem") @ResponseBody - public ResultBean getDetailsByUseOrgAndSystem(@RequestParam("useOrgSid")String useOrgSid,@RequestParam("systemSid")String systemSid); + public ResultBean getDetailsByUseOrgAndSystem(@RequestParam("useOrgSid") String useOrgSid, @RequestParam("systemSid") String systemSid); @ApiOperation("根据分公司查询开票信息") @GetMapping("/selectInvoingList") @ResponseBody - ResultBean> selectInvoingList(@RequestParam("busSid")String busSid); + ResultBean> selectInvoingList(@RequestParam("busSid") String busSid); /*************************************************企业开票信息管理***************************************************/ @@ -104,7 +104,7 @@ public interface FinCompanyInvoicingFeign { @ApiOperation("企业开票信息管理根据名称模糊检索") @PostMapping("/qyFetchListByName") @ResponseBody - public ResultBean> qyFetchListByName(@RequestParam("name") String name,@RequestParam("useOrgSid") String useOrgSid); + public ResultBean> qyFetchListByName(@RequestParam("name") String name, @RequestParam("useOrgSid") String useOrgSid); @ApiOperation("企业开票信息管理新增或保存") @PostMapping("/qySaveOrUpdate") @@ -119,5 +119,10 @@ public interface FinCompanyInvoicingFeign { @ApiOperation("企业开票信息管理移动端根据分公司sid查询不带采购系统的开票信息") @PostMapping("/qyAppSelByUseOrgSid") @ResponseBody - List qyAppSelByUseOrgSid(@RequestParam("useOrgSid") String useOrgSid,@RequestParam("search") String search); + List qyAppSelByUseOrgSid(@RequestParam("useOrgSid") String useOrgSid, @RequestParam("search") String search); + + @ApiOperation("企业开票信息管理移动端维护初始化") + @GetMapping("/qyAppFetchDetailsBySid/{sid}") + @ResponseBody + public ResultBean qyAppFetchDetailsBySid(@PathVariable("sid") String sid); } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingRest.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingRest.java index e5c931f8d6..e323ed71db 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingRest.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingRest.java @@ -145,4 +145,9 @@ public class FinCompanyInvoicingRest implements FinCompanyInvoicingFeign { public List qyAppSelByUseOrgSid(String useOrgSid, String search) { return finCompanyInvoicingService.qyAppSelByUseOrgSid(useOrgSid,search); } + + @Override + public ResultBean qyAppFetchDetailsBySid(String sid) { + return finCompanyInvoicingService.qyAppFetchDetailsBySid(sid); + } } diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingService.java index 06ca2dc680..3d4629b09a 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingService.java @@ -30,6 +30,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign; import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo; +import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; +import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo; import com.yxt.anrui.fin.api.fincompanyinvoicing.*; import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceVo; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; @@ -75,6 +77,8 @@ public class FinCompanyInvoicingService extends MybatisBaseService createQueryWrapper(FinCompanyInvoicingQuery query) { // todo: 这里根据具体业务调整查询条件 @@ -252,7 +256,7 @@ public class FinCompanyInvoicingService extends MybatisBaseService wrapper.like("fci.name", query.getAppName()).or().like("fci.taxpayerNo", query.getAppName())); } IPage page = PagerUtil.queryToPage(pq); @@ -265,7 +269,7 @@ public class FinCompanyInvoicingService extends MybatisBaseService qyFetchListByName(String name,String useOrgSid) { + public List qyFetchListByName(String name, String useOrgSid) { QueryWrapper qw = new QueryWrapper<>(); qw.eq("useOrgSid", useOrgSid); qw.eq("isDelete", 0); @@ -374,7 +378,7 @@ public class FinCompanyInvoicingService extends MybatisBaseService(); qw.eq("useOrgSid", useOrgSid); qw.eq("isDelete", 0); - qw.like("name",search); + qw.like("name", search); List finCompanyInvoicingBillListVos = baseMapper.qySelByUseOrgSid(qw); return finCompanyInvoicingBillListVos; } @@ -382,4 +386,18 @@ public class FinCompanyInvoicingService extends MybatisBaseService qyAppFetchDetailsBySid(String sid) { + ResultBean rb = ResultBean.fireFail(); + FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = fetchDetailsVoBySid(sid); + if (finCompanyInvoicingDetailsVo != null) { + return rb.success().setData(finCompanyInvoicingDetailsVo); + } + CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(sid).getData(); + finCompanyInvoicingDetailsVo.setSid(crmCustomerTempVo.getSid()); + finCompanyInvoicingDetailsVo.setName(crmCustomerTempVo.getName()); + finCompanyInvoicingDetailsVo.setPhone(crmCustomerTempVo.getMobile()); + finCompanyInvoicingDetailsVo.setTaxpayerNo(crmCustomerTempVo.getIDNumber()); + return rb.success().setData(finCompanyInvoicingDetailsVo); + } } \ No newline at end of file From 0ca116ac0952bdb0296cc2db1494e50bc2d048fc Mon Sep 17 00:00:00 2001 From: God <10745413@qq.com> Date: Wed, 31 May 2023 14:02:30 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=8C=82=E8=BD=A6=E5=8D=95=E7=8B=AC?= =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=92=8C=E4=B8=8A=E8=A3=85=E5=8D=95=E7=8B=AC?= =?UTF-8?q?=E5=87=BA=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FinCompanyInvoicingFeignFallback.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingFeignFallback.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingFeignFallback.java index 160a230345..e09d68e110 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingFeignFallback.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingFeignFallback.java @@ -114,4 +114,9 @@ public class FinCompanyInvoicingFeignFallback implements FinCompanyInvoicingFeig public List qyAppSelByUseOrgSid(String useOrgSid, String search) { return null; } + + @Override + public ResultBean qyAppFetchDetailsBySid(String sid) { + return null; + } } \ No newline at end of file From d843ac883824295d831ed9af42b6f255624fbcdf Mon Sep 17 00:00:00 2001 From: God <10745413@qq.com> Date: Wed, 31 May 2023 14:03:43 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=8C=82=E8=BD=A6=E5=8D=95=E7=8B=AC?= =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=92=8C=E4=B8=8A=E8=A3=85=E5=8D=95=E7=8B=AC?= =?UTF-8?q?=E5=87=BA=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../anrui/base/api/basetrailer/BaseTrailerFeignFallback.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/BaseTrailerFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/BaseTrailerFeignFallback.java index f9e0f02e94..25bbd2ea18 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/BaseTrailerFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/BaseTrailerFeignFallback.java @@ -84,6 +84,11 @@ public class BaseTrailerFeignFallback implements BaseTrailerFeign { return null; } + @Override + public ResultBean trailerOutNew(String sid) { + return null; + } + @Override public ResultBean trailerList(String vinSid,String contractNo) { return null;