|
|
@ -212,7 +212,6 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp |
|
|
|
return rb.success().setData(b); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
//修改客户简称为合同编号
|
|
|
|
List<BdCustomer> bdCustomers = new ArrayList<>(); |
|
|
@ -522,6 +521,7 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp |
|
|
|
bdCustomers.add(bdCustomer); |
|
|
|
finKingDeeFeign.draftBdCustomers(bdCustomers); |
|
|
|
} |
|
|
|
BaseVehicle baseVehicle = baseVehicleService.fetchBySid(dto.getVinSid()); |
|
|
|
//查询出库的车辆是否满足出库条件
|
|
|
|
int count = baseMapper.selectCountByVinSid(dto.getVinSid()); |
|
|
|
if (count > 0) { |
|
|
@ -534,6 +534,14 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp |
|
|
|
} |
|
|
|
BaseVehicleOut baseVehicleOut = new BaseVehicleOut(); |
|
|
|
BeanUtil.copyProperties(dto, baseVehicleOut, "sid"); |
|
|
|
if ("002".equals(baseVehicle.getManPurOrderTypeKey())) { |
|
|
|
baseVehicleOut.setZcMGroupCode("99.01"); |
|
|
|
baseVehicleOut.setZcMGroupName("外采主车"); |
|
|
|
}else { |
|
|
|
BaseVehicleBrand baseVehicleBrand = baseVehicleBrandService.fetchBySid(baseVehicle.getCarBrandSid()); |
|
|
|
baseVehicleOut.setZcMGroupCode(baseVehicleBrand.getBrandCode()); |
|
|
|
baseVehicleOut.setZcMGroupName(baseVehicleBrand.getBrandName()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(dto.getPrice())) { |
|
|
|
baseVehicleOut.setPrice(new BigDecimal(dto.getPrice())); |
|
|
|
} |
|
|
@ -546,10 +554,63 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp |
|
|
|
if (StringUtils.isNotBlank(dto.getRebateMoneyTwo())) { |
|
|
|
baseVehicleOut.setRebateMoneyTwo(new BigDecimal(dto.getRebateMoneyTwo())); |
|
|
|
} |
|
|
|
String billNo = ""; |
|
|
|
String date = DateUtil.format(DateUtil.date(), "yyyyMM"); |
|
|
|
billNo = "XSCKD" + sysOrganizationVo.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); |
|
|
|
} |
|
|
|
baseVehicleOut.setBillNo(billNo); |
|
|
|
String trailerOrInstallName = baseVehicleOut.getTrailerOrInstallName(); |
|
|
|
if ("上装".equals(trailerOrInstallName)) { |
|
|
|
baseVehicleOut.setTrailerOrInstallMGroupCode("99.02"); |
|
|
|
baseVehicleOut.setTrailerOrInstallMGroupName("挂车"); |
|
|
|
baseVehicleOut.setTrailerOrInstallCode(baseVehicleOut.getVinNo().substring(baseVehicleOut.getVinNo().length() - 8) + "SZ"); |
|
|
|
} else if ("挂车".equals(trailerOrInstallName)) { |
|
|
|
baseVehicleOut.setTrailerOrInstallMGroupCode("99.02"); |
|
|
|
baseVehicleOut.setTrailerOrInstallMGroupName("挂车"); |
|
|
|
BaseTrailer baseTrailer = baseTrailerService.fetchBySid(baseVehicleOut.getSzOrGCSid()); |
|
|
|
baseVehicleOut.setTrailerOrInstallCode(baseTrailer.getVinNo().substring(baseTrailer.getVinNo().length() - 8) + "G"); |
|
|
|
} |
|
|
|
//备注
|
|
|
|
String remarks1 = createRemarks(dto); |
|
|
|
String remarks2 = baseVehicleOut.getRemarks(); |
|
|
|
String remarks3 = remarks2 + remarks1; |
|
|
|
if ("null".equals(remarks3)){ |
|
|
|
remarks3 = ""; |
|
|
|
} |
|
|
|
baseVehicleOut.setRemarks(remarks3); |
|
|
|
BaseVehicleOutApply baseVehicleOutApply = new BaseVehicleOutApply(); |
|
|
|
baseVehicleOutApply.setBillNo(billNo); |
|
|
|
baseVehicleOutApply.setSaleDate(dto.getSaleDate()); |
|
|
|
baseVehicleOutApply.setCustomerSid(dto.getCustomerSid()); |
|
|
|
baseVehicleOutApply.setCustomerName(dto.getCustomerName()); |
|
|
|
baseVehicleOutApply.setMobile(dto.getMobile()); |
|
|
|
baseVehicleOutApply.setOrgSid(dto.getOrgSid()); |
|
|
|
baseVehicleOutApply.setOrgName(dto.getOrgName()); |
|
|
|
baseVehicleOutApply.setStaffSid(dto.getStaffSid()); |
|
|
|
baseVehicleOutApply.setStaffName(dto.getStaffName()); |
|
|
|
baseVehicleOutApply.setMakeListSid(dto.getCreateBySid()); |
|
|
|
baseVehicleOutApply.setMakeListName(dto.getCreateByName()); |
|
|
|
baseVehicleOutApply.setMakeListDate(DateUtil.format(new Date(),"yyyy-MM-dd")); |
|
|
|
baseVehicleOutApply.setSaleTypeKey(dto.getTypeKey()); |
|
|
|
baseVehicleOutApply.setSaleTypeValue(dto.getType()); |
|
|
|
baseVehicleOutApply.setCreateOrgSid(dto.getCreateOrgSid()); |
|
|
|
baseVehicleOutApply.setCreateBySid(dto.getCreateBySid()); |
|
|
|
//保存车辆出库单主表
|
|
|
|
baseVehicleOutApplyService.save(baseVehicleOutApply); |
|
|
|
//出库单子表关联主表sid
|
|
|
|
baseVehicleOut.setMainSid(baseVehicleOutApply.getSid()); |
|
|
|
baseVehicleOut.setCreateBySid(dto.getCreateBySid()); |
|
|
|
baseVehicleOut.setCreateByName(dto.getCreateByName()); |
|
|
|
//保存车辆出库单子表
|
|
|
|
baseMapper.insert(baseVehicleOut); |
|
|
|
dto.setBillNo(billNo); |
|
|
|
//更新车辆台账的出库状态等值,库存状态修改为出库,销售日期修改为当天,成交价,备注
|
|
|
|
String remarks = baseVehicleOut.getConcatNo() + baseVehicleOut.getType(); |
|
|
|
BaseVehicle baseVehicle = baseVehicleService.fetchBySid(dto.getVinSid()); |
|
|
|
baseVehicle.setRemarks(remarks); |
|
|
|
baseVehicle.setVehicleState(VehicleState.StockEnum.OUT_STOCK.getCode()); |
|
|
|
baseVehicle.setVehicleStateValue(VehicleState.StockEnum.OUT_STOCK.getRemarks()); |
|
|
@ -563,14 +624,65 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp |
|
|
|
//推送财务中介人
|
|
|
|
if (StringUtils.isNotBlank(dto.getMiddleOne())) { |
|
|
|
BdCustomer bdMiddle = createBdMiddle(baseVehicle, dto); |
|
|
|
ResultBean resultBeanMiddle = finKingDeeFeign.draftBdCustomer(bdMiddle); |
|
|
|
finKingDeeFeign.draftBdCustomer(bdMiddle); |
|
|
|
} |
|
|
|
//创建出库单数据对象前 需要将客户的编码修改为新生成的客户的编码。
|
|
|
|
dto.setCustomerNo(bdCustomer.getFNumber()); |
|
|
|
if (StringUtils.isNotBlank(bdCustomer.getFNumber())) { |
|
|
|
dto.setCustomerNo(bdCustomer.getFNumber()); |
|
|
|
} |
|
|
|
SalOutStock salOutStock = createSalOutStock(baseVehicle, dto); |
|
|
|
log.info("BaseVehicleOutService-vehicleOut-287:{}", JSONObject.toJSONString(salOutStock)); |
|
|
|
finKingDeeFeign.draftSalOutStock(salOutStock); |
|
|
|
log.info("BaseVehicleOutService-vehicleOut-289:{}", JSONObject.toJSONString(salOutStock)); |
|
|
|
//推送销售专员信息
|
|
|
|
BDEmpinfo bdEmpinfo = new BDEmpinfo(); |
|
|
|
String staffSid = dto.getStaffSid(); |
|
|
|
SysStaffinfoDetailsVo sysStaffinfoDetailsVo = sysStaffinfoFeign.fetchBySid(staffSid).getData(); |
|
|
|
bdEmpinfo.setFName(dto.getStaffName()); |
|
|
|
bdEmpinfo.setFNumber(sysStaffinfoDetailsVo.getJobNumber()); |
|
|
|
bdEmpinfo.setFAddress(sysStaffinfoDetailsVo.getAddress()); |
|
|
|
BasePurchaseSystemDetailsVo data = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData(); |
|
|
|
if (data != null){ |
|
|
|
bdEmpinfo.setFCreateOrgId(data.getOrgCode()); |
|
|
|
bdEmpinfo.setFUseOrgId(data.getOrgCode()); |
|
|
|
}else { |
|
|
|
bdEmpinfo.setFCreateOrgId(sysOrganizationVo.getOrgCode()); |
|
|
|
bdEmpinfo.setFUseOrgId(sysOrganizationVo.getOrgCode()); |
|
|
|
} |
|
|
|
bdEmpinfo.setFMobile(sysStaffinfoDetailsVo.getMobile()); |
|
|
|
finKingDeeFeign.saveBDEmpinfo(bdEmpinfo); |
|
|
|
} catch (Exception e) { |
|
|
|
log.error(e.getMessage()); |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
//推送金蝶上装/挂车销售出库单
|
|
|
|
String trailerOrInstall = dto.getTrailerOrInstall(); |
|
|
|
if (StringUtils.isNotBlank(trailerOrInstall)) { |
|
|
|
SalOutStock salOutStock = createSzOrGcSalOutStock(baseVehicle, dto); |
|
|
|
log.info("BaseVehicleOutService-vehicleOut-313:{}", JSONObject.toJSONString(salOutStock)); |
|
|
|
finKingDeeFeign.draftSalOutStock(salOutStock); |
|
|
|
log.info("BaseVehicleOutService-vehicleOut-316:{}", JSONObject.toJSONString(salOutStock)); |
|
|
|
List<SalOutStock.FEntity> fEntity = salOutStock.getFEntity(); |
|
|
|
for (SalOutStock.FEntity entity : fEntity) { |
|
|
|
String substring = entity.getFMaterialID().substring(entity.getFMaterialID().length() - 1); |
|
|
|
if ("G".equals(substring)) { |
|
|
|
String gcSid = dto.getSzOrGCSid(); |
|
|
|
BaseTrailer baseTrailer = baseTrailerService.fetchBySid(gcSid); |
|
|
|
baseTrailer.setStockStateKey(VehicleState.StockEnum.OUT_STOCK.getCode()); |
|
|
|
baseTrailer.setStockStateValue(VehicleState.StockEnum.OUT_STOCK.getRemarks()); |
|
|
|
BigDecimal dealPrice = new BigDecimal(dto.getTrailerOrInstallDealPrice()); |
|
|
|
baseTrailer.setDealPrice(dealPrice); |
|
|
|
baseTrailer.setIssueDate(DateUtil.formatDate(new Date())); |
|
|
|
baseTrailerService.saveOrUpdate(baseTrailer); |
|
|
|
} else if ("Z".equals(substring)) { |
|
|
|
String szSid = dto.getSzOrGCSid(); |
|
|
|
BaseVehinstall baseVehinstall = baseVehinstallService.fetchBySid(szSid); |
|
|
|
baseVehinstall.setVehicleStateKey(VehicleState.StockEnum.OUT_STOCK.getCode()); |
|
|
|
baseVehinstall.setVehicleStateValue(VehicleState.StockEnum.OUT_STOCK.getRemarks()); |
|
|
|
baseVehinstall.setSalesDate(DateUtil.formatDate(new Date())); |
|
|
|
baseVehinstallService.saveOrUpdate(baseVehinstall); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
@ -906,7 +1018,13 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp |
|
|
|
baseVehicleOutMaterialZC.setPrice(baseVehicleOut.getPrice().toString()); |
|
|
|
baseVehicleOutMaterialZC.setFlr(baseVehicleOut.getMiddleOne()); |
|
|
|
BigDecimal rebateMoneyOne = baseVehicleOut.getRebateMoneyOne(); |
|
|
|
if (rebateMoneyOne == null){ |
|
|
|
rebateMoneyOne = new BigDecimal(0); |
|
|
|
} |
|
|
|
BigDecimal rebateMoneyTwo = baseVehicleOut.getRebateMoneyTwo(); |
|
|
|
if (rebateMoneyTwo == null){ |
|
|
|
rebateMoneyTwo = new BigDecimal(0); |
|
|
|
} |
|
|
|
BigDecimal rebateMoney = rebateMoneyOne.add(rebateMoneyTwo); |
|
|
|
baseVehicleOutMaterialZC.setFlje(rebateMoney.toString()); |
|
|
|
tRebateMoney = tRebateMoney.add(rebateMoney); |
|
|
|