Browse Source

问题优化

master
God 2 years ago
parent
commit
f763cded61
  1. 259
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java
  2. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationIInfoVo.java
  3. 4
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java

259
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<BaseVehicleOutMapp
} else {
return null;
}
}
public PagerVo<BaseVehicleOutVo> pagerList(PagerQuery<BaseVehicleOutQuery> query) {
@ -1423,27 +1422,36 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
baseVehicleOutApply.setBusSid(baseVehicleZSOutApplyDto.getBusSid());
//保存车辆出库单主表
baseVehicleOutApplyService.save(baseVehicleOutApply);
//出库类型是否为全款车(001全款车)
//获取主车sid
String materialSid = zcDtos.get(0).getMaterialSid();
BaseVehicleZSOutDto baseVehicleZSOutDto1 = zcDtos.get(0);
BaseVehicle baseVehicle = baseVehicleService.fetchBySid(materialSid);
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData();
List<BdCustomer> 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<BdCustomer> 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<BaseVehicleOutMapp
if (!aBoolean) {
bdCustomer.setFName(baseVehicleZSOutApplyDto.getCustomerName() + dto.getVinNo().substring(dto.getVinNo().length() - 8));
bdCustomer.setFNumber(FNumber);
bdCustomer.setFShortName(baseVehicleZSOutApplyDto.getContractNo());
bdCustomer.setFShortName(baseVehicleZSOutApplyDto.getCustomerName() + FNumber);
} else {
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.fetchByLSBM(FNumber).getData();
//修改客户简称为合同编号
bdCustomer.setFName(baseVehicleZSOutApplyDto.getCustomerName() + busSalesOrderVehicle.getLinkNo().substring(busSalesOrderVehicle.getLinkNo().length() - 8));
bdCustomer.setFShortName(baseVehicleZSOutApplyDto.getContractNo());
bdCustomer.setFShortName(baseVehicleZSOutApplyDto.getCustomerName() + busSalesOrderVehicle.getLinkNo());
bdCustomer.setFNumber(FNumber);
bdCustomer.setOldFNumber(FNumber);
bdCustomers.add(bdCustomer);
@ -1554,37 +1562,46 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
baseVehicle.setSalePrice(Integer.valueOf(dto.getPrice()));
}
baseVehicleService.updateById(baseVehicle);
////ToDo:推送财务中介单位、推送金蝶客户、推送金蝶出库单
try {
//推送财务中介人
if (StringUtils.isNotBlank(dto.getMiddleOne())) {
BdCustomer bdMiddle = createZSBdMiddle(baseVehicle, dto);
finKingDeeFeign.draftBdCustomer(bdMiddle);
if (!"001".equals(payTypeKey)) {//贷款
try {
bdCustomers.add(bdCustomer);
finKingDeeFeign.draftBdCustomers(bdCustomers);
//推送主车销售出库单
SalOutStock salOutStock = createZSSalOutStock(baseVehicle, baseVehicleOut, baseVehicleZSOutApplyDto);
finKingDeeFeign.draftSalOutStock(salOutStock);
//推送主车对应的上装或挂车销售出库单
SalOutStock salOutStockGcOrSz = createZSGCOrSZOutStock(gcOrSzDtos, baseVehicleZSOutApplyDto);
finKingDeeFeign.draftSalOutStock(salOutStockGcOrSz);
} catch (Exception e) {
log.error(e.getMessage());
e.printStackTrace();
}
bdCustomers.add(bdCustomer);
finKingDeeFeign.draftBdCustomers(bdCustomers);
//推送主车销售出库单
SalOutStock salOutStock = createZSSalOutStock(baseVehicle, baseVehicleOut, baseVehicleZSOutApplyDto);
log.info("BaseVehicleOutService-vehicleOut-287:{}", JSONObject.toJSONString(salOutStock));
finKingDeeFeign.draftSalOutStock(salOutStock);
log.info("BaseVehicleOutService-vehicleOut-289:{}", JSONObject.toJSONString(salOutStock));
//推送销售专员信息
BDEmpinfo bdEmpinfo = new BDEmpinfo();
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData();
String staffSid = baseVehicleZSOutApplyDto.getStaffSid();
SysStaffinfoDetailsVo sysStaffinfoDetailsVo = sysStaffinfoFeign.fetchBySid(staffSid).getData();
bdEmpinfo.setFName(baseVehicleZSOutApplyDto.getStaffName());
bdEmpinfo.setFNumber(sysStaffinfoDetailsVo.getJobNumber());
bdEmpinfo.setFAddress(sysStaffinfoDetailsVo.getAddress());
bdEmpinfo.setFCreateOrgId(basePurchaseSystemDetailsVo.getOrgCode());
bdEmpinfo.setFUseOrgId(basePurchaseSystemDetailsVo.getOrgCode());
bdEmpinfo.setFMobile(sysStaffinfoDetailsVo.getMobile());
finKingDeeFeign.saveBDEmpinfo(bdEmpinfo);
} catch (Exception e) {
log.error(e.getMessage());
e.printStackTrace();
}
}
if ("001".equals(payTypeKey)) {//全款
//推送所有主车销售出库单
SalOutStock salOutStock = createZSSalOutStockQKC(baseVehicleOutApply, zcDtos);
finKingDeeFeign.draftSalOutStock(salOutStock);
//推送所有上装或挂车销售出库单
SalOutStock salOutStockGcOrSz = createZSGCOrSZOutStock(gcOrSzDtos, baseVehicleZSOutApplyDto);
finKingDeeFeign.draftSalOutStock(salOutStockGcOrSz);
}
//推送财务中介人
if (StringUtils.isNotBlank(baseVehicleZSOutDto1.getMiddleOne())) {
BdCustomer bdMiddle = createZSBdMiddle(baseVehicle, baseVehicleZSOutDto1);
finKingDeeFeign.draftBdCustomer(bdMiddle);
}
//推送销售专员信息
BDEmpinfo bdEmpinfo = new BDEmpinfo();
String staffSid = baseVehicleZSOutApplyDto.getStaffSid();
SysStaffinfoDetailsVo sysStaffinfoDetailsVo = sysStaffinfoFeign.fetchBySid(staffSid).getData();
bdEmpinfo.setFName(baseVehicleZSOutApplyDto.getStaffName());
bdEmpinfo.setFNumber(sysStaffinfoDetailsVo.getJobNumber());
bdEmpinfo.setFAddress(sysStaffinfoDetailsVo.getAddress());
bdEmpinfo.setFCreateOrgId(basePurchaseSystemDetailsVo.getOrgCode());
bdEmpinfo.setFUseOrgId(basePurchaseSystemDetailsVo.getOrgCode());
bdEmpinfo.setFMobile(sysStaffinfoDetailsVo.getMobile());
finKingDeeFeign.saveBDEmpinfo(bdEmpinfo);
//挂车或上装子表实体类数据封装、推送挂车或上装的销售出库单
for (BaseVehicleZSOutDto gcOrSzDto : gcOrSzDtos) {
String vinSid = gcOrSzDto.getVinSid();
@ -1615,10 +1632,6 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
baseMapper.insert(baseVehicleOut);
//推送金蝶上装/挂车销售出库单
String materialTypeKey = gcOrSzDto.getMaterialTypeKey();
//推送挂车或上装销售出库单
BaseVehicle baseVehicle = baseVehicleService.fetchBySid(gcOrSzDto.getVinSid());
SalOutStock salOutStock = createZSGCOrSZOutStock(baseVehicle, baseVehicleOut, baseVehicleZSOutApplyDto);
finKingDeeFeign.draftSalOutStock(salOutStock);
if (materialTypeKey.equals("002")) {
String gcSid = gcOrSzDto.getMaterialSid();
BaseTrailer baseTrailer = baseTrailerService.fetchBySid(gcSid);
@ -1640,4 +1653,154 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
}
return rb.success();
}
private SalOutStock createZSGCOrSZOutStock(List<BaseVehicleZSOutDto> 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<SysOrganizationVo> 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<SalOutStock.FEntity> 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<BaseVehicleZSOutDto> 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<SysOrganizationVo> 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<SalOutStock.FEntity> 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;
}
}

2
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;
}

4
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<VinListVo> vinListVos = new ArrayList<>();
List<FinBillVehicleVo> finBillVehicles = finBillApplicationDetailsVo.getFinBillVehicles();

Loading…
Cancel
Save