|
|
@ -9,6 +9,8 @@ import com.yxt.anrui.base.api.basemiddleman.BaseMiddleman; |
|
|
|
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemDetailsVo; |
|
|
|
import com.yxt.anrui.base.api.basetrailer.BaseTrailer; |
|
|
|
import com.yxt.anrui.base.api.basetrailer.BaseTrailerDetailsVo; |
|
|
|
import com.yxt.anrui.base.api.basetrailer.BaseTrailerVo; |
|
|
|
import com.yxt.anrui.base.api.basetrailer.TraliveredVo; |
|
|
|
import com.yxt.anrui.base.api.basevehicle.BaseVehicle; |
|
|
|
import com.yxt.anrui.base.api.basevehiclebrand.BaseVehicleBrand; |
|
|
|
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel; |
|
|
@ -1419,62 +1421,43 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp |
|
|
|
|
|
|
|
public ResultBean vehicleZSOut(BaseVehicleZSOutApplyDto baseVehicleZSOutApplyDto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
List<BaseVehicleZSOutDto> dtos = baseVehicleZSOutApplyDto.getBaseVehicleZSOutDtos(); |
|
|
|
List<BaseVehicleZSOutDto> zcDtos = baseVehicleZSOutApplyDto.getBaseVehicleZSOutDtos(); |
|
|
|
List<BaseVehicleZSOutDto> gcOrSzDtos = new ArrayList<>(); |
|
|
|
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(baseVehicleZSOutApplyDto.getCreateOrgSid()).getData(); |
|
|
|
for (BaseVehicleZSOutDto dto : dtos) { |
|
|
|
for (BaseVehicleZSOutDto dto : zcDtos) { |
|
|
|
Boolean b = false; |
|
|
|
String vinSid = dto.getVinSid(); |
|
|
|
BdCustomer bdCustomer = new BdCustomer(); |
|
|
|
//获取主车sid
|
|
|
|
String materialSid = dto.getMaterialSid(); |
|
|
|
List<BdCustomer> bdCustomers = new ArrayList<>(); |
|
|
|
BaseVehicle baseVehicle = null; |
|
|
|
if (StringUtils.isNotBlank(vinSid)) { |
|
|
|
String payTypeKey = baseVehicleZSOutApplyDto.getSaleTypeKey(); |
|
|
|
baseVehicle = baseVehicleService.fetchBySid(vinSid); |
|
|
|
BasePurchaseSystemDetailsVo data = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData(); |
|
|
|
bdCustomer.setTOrgIds(data.getOrgCode()); |
|
|
|
//出库类型是否为全款车(001全款车)
|
|
|
|
if ("001".equals(payTypeKey)) { |
|
|
|
Boolean aBoolean = finKingDeeFeign.customerExistState(baseVehicleZSOutApplyDto.getCustomerNo()).getData(); |
|
|
|
bdCustomer.setFNumber(baseVehicleZSOutApplyDto.getCustomerNo()); |
|
|
|
if (!aBoolean) { |
|
|
|
bdCustomer.setFName(baseVehicleZSOutApplyDto.getCustomerName() + baseVehicleZSOutApplyDto.getMobile()); |
|
|
|
} |
|
|
|
} else { |
|
|
|
String FNumber = HanZiConverterPinYin.getPinYinFirst(baseVehicleZSOutApplyDto.getCustomerName()) + dto.getVinNo().substring(dto.getVinNo().length() - 8); |
|
|
|
Boolean aBoolean = finKingDeeFeign.customerExistState(FNumber).getData(); |
|
|
|
if (!aBoolean) { |
|
|
|
//查询合同是否存在
|
|
|
|
ResultBean<CommonContract> commonContract = commonContractService.selectByNo(baseVehicleZSOutApplyDto.getContractNo()); |
|
|
|
if (commonContract.getSuccess()) { |
|
|
|
//查询合同编号和车辆sid客户的临时编码
|
|
|
|
ResultBean<String> stringResultBean = busSalesOrderFeign.selectTemporaryNo(dto.getVinSid(), baseVehicleZSOutApplyDto.getContractNo()); |
|
|
|
if (!stringResultBean.getSuccess()) { |
|
|
|
return rb.setMsg("请检查合同是否存在"); |
|
|
|
} |
|
|
|
String temporaryNo = stringResultBean.getData(); |
|
|
|
Boolean aBoolean1 = finKingDeeFeign.customerExistState(temporaryNo).getData(); |
|
|
|
if (!aBoolean1) { |
|
|
|
Boolean aBoolean2 = finKingDeeFeign.customerExistState(baseVehicleZSOutApplyDto.getCustomerNo()).getData(); |
|
|
|
if (!aBoolean2) { |
|
|
|
bdCustomer.setFName(baseVehicleZSOutApplyDto.getCustomerName() + dto.getVinNo().substring(dto.getVinNo().length() - 8)); |
|
|
|
String FNumber1 = HanZiConverterPinYin.getPinYinFirst(baseVehicleZSOutApplyDto.getCustomerName()) + dto.getVinNo().substring(dto.getVinNo().length() - 8); |
|
|
|
if (FNumber1.length() > 30) { |
|
|
|
FNumber1 = FNumber1.substring(0, 30); |
|
|
|
bdCustomer.setFNumber(FNumber1); |
|
|
|
} else { |
|
|
|
bdCustomer.setFNumber(FNumber1); |
|
|
|
} |
|
|
|
bdCustomer.setFShortName(baseVehicleZSOutApplyDto.getContractNo()); |
|
|
|
} else { |
|
|
|
b = true; |
|
|
|
return rb.success().setData(b); |
|
|
|
} |
|
|
|
} else { |
|
|
|
finCollectionConfirmationFeign.updateVin(dto.getVinNo(), baseVehicleZSOutApplyDto.getContractNo(), temporaryNo.substring(temporaryNo.length() - 2)); |
|
|
|
} |
|
|
|
} else { |
|
|
|
Boolean aBoolean1 = finKingDeeFeign.customerExistState(baseVehicleZSOutApplyDto.getCustomerNo()).getData(); |
|
|
|
if (!aBoolean1) { |
|
|
|
BdCustomer bdCustomer = new BdCustomer(); |
|
|
|
String payTypeKey = baseVehicleZSOutApplyDto.getSaleTypeKey(); |
|
|
|
BaseVehicle baseVehicle = baseVehicleService.fetchBySid(materialSid); |
|
|
|
BasePurchaseSystemDetailsVo data = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData(); |
|
|
|
bdCustomer.setTOrgIds(data.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 { |
|
|
|
String FNumber = baseVehicleZSOutApplyDto.getContractNo() + "-" + ""; |
|
|
|
Boolean aBoolean = finKingDeeFeign.customerExistState(FNumber).getData(); |
|
|
|
if (!aBoolean) { |
|
|
|
//查询合同是否存在
|
|
|
|
ResultBean<CommonContract> commonContract = commonContractService.selectByNo(baseVehicleZSOutApplyDto.getContractNo()); |
|
|
|
if (commonContract.getSuccess()) { |
|
|
|
//查询合同编号和车辆sid客户的临时编码
|
|
|
|
ResultBean<String> stringResultBean = busSalesOrderFeign.selectTemporaryNo(dto.getVinSid(), baseVehicleZSOutApplyDto.getContractNo()); |
|
|
|
if (!stringResultBean.getSuccess()) { |
|
|
|
return rb.setMsg("请检查合同是否存在"); |
|
|
|
} |
|
|
|
String temporaryNo = stringResultBean.getData(); |
|
|
|
Boolean aBoolean1 = finKingDeeFeign.customerExistState(temporaryNo).getData(); |
|
|
|
if (!aBoolean1) { |
|
|
|
Boolean aBoolean2 = finKingDeeFeign.customerExistState(baseVehicleZSOutApplyDto.getCustomerNo()).getData(); |
|
|
|
if (!aBoolean2) { |
|
|
|
bdCustomer.setFName(baseVehicleZSOutApplyDto.getCustomerName() + dto.getVinNo().substring(dto.getVinNo().length() - 8)); |
|
|
|
String FNumber1 = HanZiConverterPinYin.getPinYinFirst(baseVehicleZSOutApplyDto.getCustomerName()) + dto.getVinNo().substring(dto.getVinNo().length() - 8); |
|
|
|
if (FNumber1.length() > 30) { |
|
|
@ -1488,16 +1471,34 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp |
|
|
|
b = true; |
|
|
|
return rb.success().setData(b); |
|
|
|
} |
|
|
|
} else { |
|
|
|
finCollectionConfirmationFeign.updateVin(dto.getVinNo(), baseVehicleZSOutApplyDto.getContractNo(), temporaryNo.substring(temporaryNo.length() - 2)); |
|
|
|
} |
|
|
|
} else { |
|
|
|
Boolean aBoolean1 = finKingDeeFeign.customerExistState(baseVehicleZSOutApplyDto.getCustomerNo()).getData(); |
|
|
|
if (!aBoolean1) { |
|
|
|
bdCustomer.setFName(baseVehicleZSOutApplyDto.getCustomerName() + dto.getVinNo().substring(dto.getVinNo().length() - 8)); |
|
|
|
String FNumber1 = HanZiConverterPinYin.getPinYinFirst(baseVehicleZSOutApplyDto.getCustomerName()) + dto.getVinNo().substring(dto.getVinNo().length() - 8); |
|
|
|
if (FNumber1.length() > 30) { |
|
|
|
FNumber1 = FNumber1.substring(0, 30); |
|
|
|
bdCustomer.setFNumber(FNumber1); |
|
|
|
} else { |
|
|
|
bdCustomer.setFNumber(FNumber1); |
|
|
|
} |
|
|
|
bdCustomer.setFShortName(baseVehicleZSOutApplyDto.getContractNo()); |
|
|
|
} else { |
|
|
|
b = true; |
|
|
|
return rb.success().setData(b); |
|
|
|
} |
|
|
|
} |
|
|
|
//修改客户简称为合同编号
|
|
|
|
bdCustomer.setFName(baseVehicleZSOutApplyDto.getCustomerName() + dto.getVinNo().substring(dto.getVinNo().length() - 8)); |
|
|
|
bdCustomer.setFShortName(baseVehicleZSOutApplyDto.getContractNo()); |
|
|
|
bdCustomer.setFNumber(FNumber); |
|
|
|
bdCustomer.setOldFNumber(FNumber); |
|
|
|
bdCustomers.add(bdCustomer); |
|
|
|
finKingDeeFeign.saveBdCustomers(bdCustomers); |
|
|
|
} |
|
|
|
//修改客户简称为合同编号
|
|
|
|
bdCustomer.setFName(baseVehicleZSOutApplyDto.getCustomerName() + dto.getVinNo().substring(dto.getVinNo().length() - 8)); |
|
|
|
bdCustomer.setFShortName(baseVehicleZSOutApplyDto.getContractNo()); |
|
|
|
bdCustomer.setFNumber(FNumber); |
|
|
|
bdCustomer.setOldFNumber(FNumber); |
|
|
|
bdCustomers.add(bdCustomer); |
|
|
|
finKingDeeFeign.saveBdCustomers(bdCustomers); |
|
|
|
} |
|
|
|
//查询出库的车辆是否满足出库条件
|
|
|
|
int count = baseMapper.selectCountByVinSid(dto.getVinSid()); |
|
|
@ -1509,6 +1510,35 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp |
|
|
|
if (counts > 0) { |
|
|
|
return rb.setMsg("该车辆已出库,不允许重复出库"); |
|
|
|
} |
|
|
|
//查询主车对应的挂车或上装
|
|
|
|
BaseVehicleZSOutDto baseVehicleZSOutDto = new BaseVehicleZSOutDto(); |
|
|
|
List<BaseTrailerVo> baseTrailerVos = baseTrailerService.fetchAllByVehSid(materialSid); |
|
|
|
if (baseTrailerVos.size() > 0) { |
|
|
|
for (BaseTrailerVo baseTrailerVo : baseTrailerVos) { |
|
|
|
baseVehicleZSOutDto.setPrice(baseTrailerVo.getDealPrice()); |
|
|
|
baseVehicleZSOutDto.setMaterialCode(baseTrailerVo.getVinNo() + "G"); |
|
|
|
baseVehicleZSOutDto.setMaterialSid(baseTrailerVo.getSid()); |
|
|
|
baseVehicleZSOutDto.setMaterialName("挂车"); |
|
|
|
baseVehicleZSOutDto.setMaterialTypeKey("002"); |
|
|
|
baseVehicleZSOutDto.setMaterialTypeValue("挂车"); |
|
|
|
baseVehicleZSOutDto.setVinSid(baseTrailerVo.getVehSid()); |
|
|
|
baseVehicleZSOutDto.setVinNo(baseTrailerVo.getVinNo()); |
|
|
|
gcOrSzDtos.add(baseVehicleZSOutDto); |
|
|
|
} |
|
|
|
} else { |
|
|
|
List<BaseVehinstall> baseVehinstalls = baseVehinstallService.selectByOrgSidAndVin(baseVehicleZSOutApplyDto.getCreateOrgSid(), dto.getVinNo()); |
|
|
|
for (BaseVehinstall baseVehinstall : baseVehinstalls) { |
|
|
|
baseVehicleZSOutDto.setPrice(baseVehinstall.getGuidePrice()); |
|
|
|
baseVehicleZSOutDto.setMaterialCode(dto.getVinNo() + "SZ"); |
|
|
|
baseVehicleZSOutDto.setMaterialSid(baseVehinstall.getSid()); |
|
|
|
baseVehicleZSOutDto.setMaterialName("上装"); |
|
|
|
baseVehicleZSOutDto.setMaterialTypeKey("003"); |
|
|
|
baseVehicleZSOutDto.setMaterialTypeValue("上装"); |
|
|
|
baseVehicleZSOutDto.setVinSid(materialSid); |
|
|
|
baseVehicleZSOutDto.setVinNo(baseVehinstall.getVinNo()); |
|
|
|
gcOrSzDtos.add(baseVehicleZSOutDto); |
|
|
|
} |
|
|
|
} |
|
|
|
//生成出库单据编号
|
|
|
|
String billNo = ""; |
|
|
|
String date = DateUtil.format(DateUtil.date(), "yyyyMM"); |
|
|
@ -1541,7 +1571,6 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp |
|
|
|
baseVehicleOutApply.setInnerName(baseVehicleZSOutApplyDto.getInnerName()); |
|
|
|
baseVehicleOutApply.setInnerUserSid(baseVehicleZSOutApplyDto.getInnerUserSid()); |
|
|
|
baseVehicleOutApply.setContractNo(baseVehicleZSOutApplyDto.getContractNo()); |
|
|
|
baseVehicleOutApply.setIsTerminal(baseVehicleZSOutApplyDto.getIsTerminal()); |
|
|
|
baseVehicleOutApply.setCustomerNo(bdCustomer.getFNumber()); |
|
|
|
baseVehicleOutApply.setCwCustomerNo(bdCustomer.getFNumber()); |
|
|
|
baseVehicleOutApply.setBusSid(baseVehicleZSOutApplyDto.getBusSid()); |
|
|
@ -1637,14 +1666,14 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp |
|
|
|
log.info("BaseVehicleOutService-vehicleOut-289:{}", JSONObject.toJSONString(salOutStock)); |
|
|
|
//推送销售专员信息
|
|
|
|
BDEmpinfo bdEmpinfo = new BDEmpinfo(); |
|
|
|
BasePurchaseSystemDetailsVo data = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData(); |
|
|
|
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(data.getOrgCode()); |
|
|
|
bdEmpinfo.setFUseOrgId(data.getOrgCode()); |
|
|
|
bdEmpinfo.setFCreateOrgId(basePurchaseSystemDetailsVo.getOrgCode()); |
|
|
|
bdEmpinfo.setFUseOrgId(basePurchaseSystemDetailsVo.getOrgCode()); |
|
|
|
bdEmpinfo.setFMobile(sysStaffinfoDetailsVo.getMobile()); |
|
|
|
finKingDeeFeign.saveBDEmpinfo(bdEmpinfo); |
|
|
|
} |
|
|
|