|
|
@ -461,7 +461,7 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp |
|
|
|
return null; |
|
|
|
} |
|
|
|
|
|
|
|
private SalOutStock createZSGCOutStock(BaseVehicle baseVehicle, BaseVehicleZSOutDto dto, BaseVehicleZSOutApplyDto appDto) { |
|
|
|
private SalOutStock createZSGCOrSZOutStock(BaseVehicle baseVehicle, BaseVehicleOut dto, BaseVehicleZSOutApplyDto appDto) { |
|
|
|
SalOutStock salOutStock = new SalOutStock(); |
|
|
|
//单据编号
|
|
|
|
salOutStock.setFBillNo(appDto.getBillNo() + "-1"); |
|
|
@ -472,49 +472,7 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp |
|
|
|
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(purchaseSystemSid).getData(); |
|
|
|
salOutStock.setFSaleOrgId(basePurchaseSystemDetailsVo.getOrgCode()); |
|
|
|
//客户
|
|
|
|
salOutStock.setFCustomerID(appDto.getCwCustomerNo()); |
|
|
|
//销售部门id
|
|
|
|
String orgDeptSid = appDto.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<>(); |
|
|
|
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 createZSSZOutStock(BaseVehicle baseVehicle, BaseVehicleZSOutDto dto, BaseVehicleZSOutApplyDto appDto) { |
|
|
|
SalOutStock salOutStock = new SalOutStock(); |
|
|
|
//单据编号
|
|
|
|
salOutStock.setFBillNo(appDto.getBillNo() + "-1"); |
|
|
|
//日期
|
|
|
|
salOutStock.setFDate(DateUtil.today()); |
|
|
|
//分公司id
|
|
|
|
String purchaseSystemSid = baseVehicle.getPurchaseSystemSid(); |
|
|
|
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(purchaseSystemSid).getData(); |
|
|
|
salOutStock.setFSaleOrgId(basePurchaseSystemDetailsVo.getOrgCode()); |
|
|
|
//客户
|
|
|
|
salOutStock.setFCustomerID(appDto.getCwCustomerNo()); |
|
|
|
salOutStock.setFCustomerID(dto.getCwCustomerNo()); |
|
|
|
//销售部门id
|
|
|
|
String orgDeptSid = appDto.getOrgSid(); |
|
|
|
ResultBean<SysOrganizationVo> resultBean = sysOrganizationFeign.fetchBySid(orgDeptSid); |
|
|
@ -532,7 +490,7 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp |
|
|
|
List<SalOutStock.FEntity> fEntityList = new ArrayList<>(); |
|
|
|
SalOutStock.FEntity fEntity = new SalOutStock.FEntity(); |
|
|
|
//单价
|
|
|
|
fEntity.setFPrice(dto.getPrice()); |
|
|
|
fEntity.setFPrice(dto.getPrice().toString()); |
|
|
|
//物料编码
|
|
|
|
fEntity.setFMaterialID(dto.getMaterialCode()); |
|
|
|
//仓库id
|
|
|
@ -937,7 +895,7 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
private SalOutStock createZSSalOutStock(BaseVehicle baseVehicle, BaseVehicleZSOutDto dto, BaseVehicleZSOutApplyDto appDto) { |
|
|
|
private SalOutStock createZSSalOutStock(BaseVehicle baseVehicle, BaseVehicleOut dto, BaseVehicleZSOutApplyDto appDto) { |
|
|
|
SalOutStock salOutStock = new SalOutStock(); |
|
|
|
//单据编号
|
|
|
|
salOutStock.setFBillNo(appDto.getBillNo()); |
|
|
@ -947,7 +905,7 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp |
|
|
|
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData(); |
|
|
|
salOutStock.setFSaleOrgId(basePurchaseSystemDetailsVo.getOrgCode()); |
|
|
|
//客户
|
|
|
|
salOutStock.setFCustomerID(appDto.getCwCustomerNo()); |
|
|
|
salOutStock.setFCustomerID(dto.getCwCustomerNo()); |
|
|
|
//销售部门id
|
|
|
|
String orgDeptSid = appDto.getOrgSid(); |
|
|
|
ResultBean<SysOrganizationVo> resultBean = sysOrganizationFeign.fetchBySid(orgDeptSid); |
|
|
@ -971,14 +929,14 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp |
|
|
|
List<SalOutStock.FEntity> fEntityList = new ArrayList<>(); |
|
|
|
SalOutStock.FEntity fEntity = new SalOutStock.FEntity(); |
|
|
|
//单价
|
|
|
|
fEntity.setFPrice(dto.getPrice()); |
|
|
|
fEntity.setFPrice(dto.getPrice().toString()); |
|
|
|
//物料编码
|
|
|
|
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.getSalesAllowance().toString())) { |
|
|
|
fEntity.setF_PAEZ_Decimal3(dto.getSalesAllowance().toString()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(dto.getGiftsDescription())) { |
|
|
|
fEntity.setF_PAEZ_Decimal4(dto.getGiftsDescription()); |
|
|
@ -993,36 +951,36 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp |
|
|
|
//备注
|
|
|
|
if (StringUtils.isNotBlank(dto.getMiddleOne())) { |
|
|
|
if (StringUtils.isNotBlank(dto.getMiddleTwo())) { |
|
|
|
if (StringUtils.isNotBlank(dto.getRebateMoneyOne())) { |
|
|
|
if (StringUtils.isNotBlank(dto.getRebateMoneyTwo())) { |
|
|
|
if (StringUtils.isNotBlank(dto.getRebateMoneyOne().toString())) { |
|
|
|
if (StringUtils.isNotBlank(dto.getRebateMoneyTwo().toString())) { |
|
|
|
note = note + " 返利情况:" + dto.getMiddleOne() + dto.getRebateMoneyOne() + "," + dto.getMiddleTwo() + dto.getRebateMoneyTwo() + "。"; |
|
|
|
//返利金额
|
|
|
|
fEntity.setF_PAEZ_Decimal(new BigDecimal(dto.getRebateMoneyOne()).add(new BigDecimal(dto.getRebateMoneyTwo())).toString()); |
|
|
|
fEntity.setF_PAEZ_Decimal(dto.getRebateMoneyOne().add(dto.getRebateMoneyTwo()).toString()); |
|
|
|
} else { |
|
|
|
note = note + " 返利情况:" + dto.getMiddleOne() + dto.getRebateMoneyOne() + "。"; |
|
|
|
//返利金额
|
|
|
|
fEntity.setF_PAEZ_Decimal(new BigDecimal(dto.getRebateMoneyOne()).toString()); |
|
|
|
fEntity.setF_PAEZ_Decimal(dto.getRebateMoneyOne().toString()); |
|
|
|
} |
|
|
|
} else { |
|
|
|
if (StringUtils.isNotBlank(dto.getRebateMoneyTwo())) { |
|
|
|
if (StringUtils.isNotBlank(dto.getRebateMoneyTwo().toString())) { |
|
|
|
note = note + " 返利情况:" + dto.getMiddleTwo() + dto.getRebateMoneyTwo() + "。"; |
|
|
|
//返利金额
|
|
|
|
fEntity.setF_PAEZ_Decimal(new BigDecimal(dto.getRebateMoneyTwo()).toString());//dto.getRebateMoneyOne()
|
|
|
|
fEntity.setF_PAEZ_Decimal(dto.getRebateMoneyTwo().toString()); |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
if (StringUtils.isNotBlank(dto.getRebateMoneyOne())) { |
|
|
|
if (StringUtils.isNotBlank(dto.getRebateMoneyOne().toString())) { |
|
|
|
note = note + " 返利情况:" + dto.getMiddleOne() + dto.getRebateMoneyOne() + "。"; |
|
|
|
//返利金额
|
|
|
|
fEntity.setF_PAEZ_Decimal(new BigDecimal(dto.getRebateMoneyOne()).toString()); |
|
|
|
fEntity.setF_PAEZ_Decimal(dto.getRebateMoneyOne().toString()); |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
if (StringUtils.isNotBlank(dto.getMiddleTwo())) { |
|
|
|
if (StringUtils.isNotBlank(dto.getRebateMoneyTwo())) { |
|
|
|
if (StringUtils.isNotBlank(dto.getRebateMoneyTwo().toString())) { |
|
|
|
note = note + " 返利情况:" + dto.getMiddleOne() + dto.getRebateMoneyOne() + "。"; |
|
|
|
//返利金额
|
|
|
|
fEntity.setF_PAEZ_Decimal(new BigDecimal(dto.getRebateMoneyOne()).toString()); |
|
|
|
fEntity.setF_PAEZ_Decimal(dto.getRebateMoneyOne().toString()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -1424,6 +1382,44 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp |
|
|
|
List<BaseVehicleZSOutDto> zcDtos = baseVehicleZSOutApplyDto.getBaseVehicleZSOutDtos(); |
|
|
|
List<BaseVehicleZSOutDto> gcOrSzDtos = new ArrayList<>(); |
|
|
|
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(baseVehicleZSOutApplyDto.getCreateOrgSid()).getData(); |
|
|
|
//生成出库单据编号
|
|
|
|
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); |
|
|
|
} |
|
|
|
//出库主表信息录入
|
|
|
|
BaseVehicleOutApply baseVehicleOutApply = new BaseVehicleOutApply(); |
|
|
|
baseVehicleOutApply.setBillNo(billNo); |
|
|
|
baseVehicleOutApply.setSaleDate(baseVehicleZSOutApplyDto.getSaleDate()); |
|
|
|
baseVehicleOutApply.setCustomerSid(baseVehicleZSOutApplyDto.getCustomerSid()); |
|
|
|
baseVehicleOutApply.setCustomerName(baseVehicleZSOutApplyDto.getCustomerName()); |
|
|
|
baseVehicleOutApply.setMobile(baseVehicleZSOutApplyDto.getMobile()); |
|
|
|
baseVehicleOutApply.setOrgSid(baseVehicleZSOutApplyDto.getOrgSid()); |
|
|
|
baseVehicleOutApply.setOrgName(baseVehicleZSOutApplyDto.getOrgName()); |
|
|
|
baseVehicleOutApply.setStaffSid(baseVehicleZSOutApplyDto.getStaffSid()); |
|
|
|
baseVehicleOutApply.setStaffName(baseVehicleZSOutApplyDto.getStaffName()); |
|
|
|
baseVehicleOutApply.setMakeListSid(baseVehicleZSOutApplyDto.getCreateBySid()); |
|
|
|
baseVehicleOutApply.setMakeListName(baseVehicleZSOutApplyDto.getCreateByName()); |
|
|
|
baseVehicleOutApply.setMakeListDate(DateUtil.format(new Date(), "yyyy-MM-dd")); |
|
|
|
baseVehicleOutApply.setSaleTypeKey(baseVehicleZSOutApplyDto.getSaleTypeKey()); |
|
|
|
baseVehicleOutApply.setSaleTypeValue(baseVehicleZSOutApplyDto.getSaleTypeValue()); |
|
|
|
baseVehicleOutApply.setCreateOrgSid(baseVehicleZSOutApplyDto.getCreateOrgSid()); |
|
|
|
baseVehicleOutApply.setCreateBySid(baseVehicleZSOutApplyDto.getCreateBySid()); |
|
|
|
//内部引荐人、内部引荐人sid
|
|
|
|
baseVehicleOutApply.setInnerName(baseVehicleZSOutApplyDto.getInnerName()); |
|
|
|
baseVehicleOutApply.setInnerUserSid(baseVehicleZSOutApplyDto.getInnerUserSid()); |
|
|
|
baseVehicleOutApply.setContractNo(baseVehicleZSOutApplyDto.getContractNo()); |
|
|
|
baseVehicleOutApply.setCustomerNo(baseVehicleZSOutApplyDto.getCustomerNo()); |
|
|
|
//baseVehicleOutApply.setCwCustomerNo(bdCustomer.getFNumber());
|
|
|
|
baseVehicleOutApply.setBusSid(baseVehicleZSOutApplyDto.getBusSid()); |
|
|
|
//保存车辆出库单主表
|
|
|
|
baseVehicleOutApplyService.save(baseVehicleOutApply); |
|
|
|
//主车
|
|
|
|
for (BaseVehicleZSOutDto dto : zcDtos) { |
|
|
|
Boolean b = false; |
|
|
|
//获取主车sid
|
|
|
@ -1516,7 +1512,7 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp |
|
|
|
if (baseTrailerVos.size() > 0) { |
|
|
|
for (BaseTrailerVo baseTrailerVo : baseTrailerVos) { |
|
|
|
baseVehicleZSOutDto.setPrice(baseTrailerVo.getDealPrice()); |
|
|
|
baseVehicleZSOutDto.setMaterialCode(baseTrailerVo.getVinNo() + "G"); |
|
|
|
baseVehicleZSOutDto.setMaterialCode(baseTrailerVo.getVinNo()); |
|
|
|
baseVehicleZSOutDto.setMaterialSid(baseTrailerVo.getSid()); |
|
|
|
baseVehicleZSOutDto.setMaterialName("挂车"); |
|
|
|
baseVehicleZSOutDto.setMaterialTypeKey("002"); |
|
|
@ -1529,77 +1525,27 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp |
|
|
|
List<BaseVehinstall> baseVehinstalls = baseVehinstallService.selectByOrgSidAndVin(baseVehicleZSOutApplyDto.getCreateOrgSid(), dto.getVinNo()); |
|
|
|
for (BaseVehinstall baseVehinstall : baseVehinstalls) { |
|
|
|
baseVehicleZSOutDto.setPrice(baseVehinstall.getGuidePrice()); |
|
|
|
baseVehicleZSOutDto.setMaterialCode(dto.getVinNo() + "SZ"); |
|
|
|
baseVehicleZSOutDto.setMaterialCode(dto.getMaterialCode()); |
|
|
|
baseVehicleZSOutDto.setMaterialSid(baseVehinstall.getSid()); |
|
|
|
baseVehicleZSOutDto.setMaterialName("上装"); |
|
|
|
baseVehicleZSOutDto.setMaterialTypeKey("003"); |
|
|
|
baseVehicleZSOutDto.setMaterialTypeValue("上装"); |
|
|
|
baseVehicleZSOutDto.setVinSid(materialSid); |
|
|
|
baseVehicleZSOutDto.setVinNo(baseVehinstall.getVinNo()); |
|
|
|
baseVehicleZSOutDto.setVinNo(dto.getMaterialCode()); |
|
|
|
gcOrSzDtos.add(baseVehicleZSOutDto); |
|
|
|
} |
|
|
|
} |
|
|
|
//生成出库单据编号
|
|
|
|
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); |
|
|
|
} |
|
|
|
//出库主表信息录入
|
|
|
|
BaseVehicleOutApply baseVehicleOutApply = new BaseVehicleOutApply(); |
|
|
|
baseVehicleOutApply.setBillNo(billNo); |
|
|
|
baseVehicleOutApply.setSaleDate(baseVehicleZSOutApplyDto.getSaleDate()); |
|
|
|
baseVehicleOutApply.setCustomerSid(baseVehicleZSOutApplyDto.getCustomerSid()); |
|
|
|
baseVehicleOutApply.setCustomerName(baseVehicleZSOutApplyDto.getCustomerName()); |
|
|
|
baseVehicleOutApply.setMobile(baseVehicleZSOutApplyDto.getMobile()); |
|
|
|
baseVehicleOutApply.setOrgSid(baseVehicleZSOutApplyDto.getOrgSid()); |
|
|
|
baseVehicleOutApply.setOrgName(baseVehicleZSOutApplyDto.getOrgName()); |
|
|
|
baseVehicleOutApply.setStaffSid(baseVehicleZSOutApplyDto.getStaffSid()); |
|
|
|
baseVehicleOutApply.setStaffName(baseVehicleZSOutApplyDto.getStaffName()); |
|
|
|
baseVehicleOutApply.setMakeListSid(baseVehicleZSOutApplyDto.getCreateBySid()); |
|
|
|
baseVehicleOutApply.setMakeListName(baseVehicleZSOutApplyDto.getCreateByName()); |
|
|
|
baseVehicleOutApply.setMakeListDate(DateUtil.format(new Date(), "yyyy-MM-dd")); |
|
|
|
baseVehicleOutApply.setSaleTypeKey(baseVehicleZSOutApplyDto.getSaleTypeKey()); |
|
|
|
baseVehicleOutApply.setSaleTypeValue(baseVehicleZSOutApplyDto.getSaleTypeValue()); |
|
|
|
baseVehicleOutApply.setCreateOrgSid(baseVehicleZSOutApplyDto.getCreateOrgSid()); |
|
|
|
baseVehicleOutApply.setCreateBySid(baseVehicleZSOutApplyDto.getCreateBySid()); |
|
|
|
//内部引荐人、内部引荐人sid
|
|
|
|
baseVehicleOutApply.setInnerName(baseVehicleZSOutApplyDto.getInnerName()); |
|
|
|
baseVehicleOutApply.setInnerUserSid(baseVehicleZSOutApplyDto.getInnerUserSid()); |
|
|
|
baseVehicleOutApply.setContractNo(baseVehicleZSOutApplyDto.getContractNo()); |
|
|
|
baseVehicleOutApply.setCustomerNo(bdCustomer.getFNumber()); |
|
|
|
baseVehicleOutApply.setCwCustomerNo(bdCustomer.getFNumber()); |
|
|
|
baseVehicleOutApply.setBusSid(baseVehicleZSOutApplyDto.getBusSid()); |
|
|
|
//保存车辆出库单主表
|
|
|
|
baseVehicleOutApplyService.save(baseVehicleOutApply); |
|
|
|
//构建子表数据
|
|
|
|
BaseVehicleOut baseVehicleOut = new BaseVehicleOut(); |
|
|
|
BeanUtil.copyProperties(dto, baseVehicleOut, "sid"); |
|
|
|
//主车
|
|
|
|
if (dto.getMaterialTypeKey().equals("001")) { |
|
|
|
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()); |
|
|
|
} |
|
|
|
} else if (dto.getMaterialTypeKey().equals("002")) {//挂车
|
|
|
|
baseVehicleOut.setZcMGroupCode("99.02"); |
|
|
|
baseVehicleOut.setZcMGroupName("挂车"); |
|
|
|
//BaseTrailer baseTrailer = baseTrailerService.fetchBySid(dto.getMaterialSid());
|
|
|
|
//baseVehicleOut.setMaterialCode(baseTrailer.getVinNo().substring(baseTrailer.getVinNo().length() - 8) + "G");
|
|
|
|
baseVehicleOut.setMaterialCode(dto.getMaterialCode()); |
|
|
|
} else if (dto.getMaterialTypeKey().equals("003")) {//上装
|
|
|
|
baseVehicleOut.setZcMGroupCode("99.02"); |
|
|
|
baseVehicleOut.setZcMGroupName("挂车"); |
|
|
|
//baseVehicleOut.setMaterialCode(baseVehicleOut.getVinNo().substring(baseVehicleOut.getVinNo().length() - 8) + "SZ");
|
|
|
|
baseVehicleOut.setMaterialCode(dto.getMaterialCode()); |
|
|
|
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())); |
|
|
@ -1627,79 +1573,96 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp |
|
|
|
baseVehicleOut.setCwCustomerNo(bdCustomer.getFNumber()); |
|
|
|
baseVehicleOut.setManPurOrderTypeKey(baseVehicle.getManPurOrderTypeKey()); |
|
|
|
baseVehicleOut.setManPurOrderTypeValue(baseVehicle.getManPurOrderTypeValue()); |
|
|
|
baseVehicleOut.setBillNo(billNo); |
|
|
|
//baseVehicleOut.setBillNo(billNo);
|
|
|
|
//保存车辆出库单子表
|
|
|
|
baseMapper.insert(baseVehicleOut); |
|
|
|
if (baseVehicle != null) { |
|
|
|
//更新车辆台账的出库状态等值,库存状态修改为出库,销售日期修改为当天,成交价,备注
|
|
|
|
String remarks = baseVehicleZSOutApplyDto.getContractNo() + baseVehicleZSOutApplyDto.getSaleTypeValue(); |
|
|
|
baseVehicle.setRemarks(remarks); |
|
|
|
baseVehicle.setVehicleState(VehicleState.StockEnum.OUT_STOCK.getCode()); |
|
|
|
baseVehicle.setVehicleStateValue(VehicleState.StockEnum.OUT_STOCK.getRemarks()); |
|
|
|
baseVehicle.setSalesDate(new Date()); |
|
|
|
if (StringUtils.isNotBlank(dto.getPrice())) { |
|
|
|
baseVehicle.setSalePrice(Integer.valueOf(dto.getPrice())); |
|
|
|
} |
|
|
|
baseVehicleService.updateById(baseVehicle); |
|
|
|
//更新车辆台账的出库状态等值,库存状态修改为出库,销售日期修改为当天,成交价,备注
|
|
|
|
String remarks = baseVehicleZSOutApplyDto.getContractNo() + baseVehicleZSOutApplyDto.getSaleTypeValue(); |
|
|
|
baseVehicle.setRemarks(remarks); |
|
|
|
baseVehicle.setVehicleState(VehicleState.StockEnum.OUT_STOCK.getCode()); |
|
|
|
baseVehicle.setVehicleStateValue(VehicleState.StockEnum.OUT_STOCK.getRemarks()); |
|
|
|
baseVehicle.setSalesDate(new Date()); |
|
|
|
if (StringUtils.isNotBlank(dto.getPrice())) { |
|
|
|
baseVehicle.setSalePrice(Integer.valueOf(dto.getPrice())); |
|
|
|
} |
|
|
|
baseVehicleService.updateById(baseVehicle); |
|
|
|
////ToDo:推送财务中介单位、推送金蝶客户、推送金蝶出库单
|
|
|
|
try { |
|
|
|
if (baseVehicle != null) { |
|
|
|
//推送财务中介人
|
|
|
|
if (StringUtils.isNotBlank(dto.getMiddleOne())) { |
|
|
|
BdCustomer bdMiddle = createZSBdMiddle(baseVehicle, dto); |
|
|
|
finKingDeeFeign.draftBdCustomer(bdMiddle); |
|
|
|
} |
|
|
|
} |
|
|
|
//创建出库单数据对象前 需要将客户的编码修改为新生成的客户的编码。
|
|
|
|
if (StringUtils.isNotBlank(bdCustomer.getFNumber())) { |
|
|
|
baseVehicleZSOutApplyDto.setCustomerNo(bdCustomer.getFNumber()); |
|
|
|
//推送财务中介人
|
|
|
|
if (StringUtils.isNotBlank(dto.getMiddleOne())) { |
|
|
|
BdCustomer bdMiddle = createZSBdMiddle(baseVehicle, dto); |
|
|
|
finKingDeeFeign.draftBdCustomer(bdMiddle); |
|
|
|
} |
|
|
|
bdCustomers.add(bdCustomer); |
|
|
|
finKingDeeFeign.draftBdCustomers(bdCustomers); |
|
|
|
baseVehicleZSOutApplyDto.setCwCustomerNo(bdCustomer.getFNumber()); |
|
|
|
if (baseVehicle != null) { |
|
|
|
//推送销售出库单
|
|
|
|
SalOutStock salOutStock = createZSSalOutStock(baseVehicle, dto, 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); |
|
|
|
} |
|
|
|
//推送主车销售出库单
|
|
|
|
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(); |
|
|
|
} |
|
|
|
} |
|
|
|
//挂车或上装子表实体类数据封装、推送挂车或上装的销售出库单
|
|
|
|
for (BaseVehicleZSOutDto gcOrSzDto : gcOrSzDtos) { |
|
|
|
String vinSid = gcOrSzDto.getVinSid(); |
|
|
|
BaseVehicleOut baseVehicleOutZC = baseMapper.setByVinSid(vinSid); |
|
|
|
//构建挂车或上装子表数据
|
|
|
|
BaseVehicleOut baseVehicleOut = new BaseVehicleOut(); |
|
|
|
BeanUtil.copyProperties(gcOrSzDto, baseVehicleOut, "sid"); |
|
|
|
//成交价
|
|
|
|
if (StringUtils.isNotBlank(gcOrSzDto.getPrice())) { |
|
|
|
baseVehicleOut.setPrice(new BigDecimal(gcOrSzDto.getPrice())); |
|
|
|
} |
|
|
|
//出库单子表关联主表sid
|
|
|
|
baseVehicleOut.setMainSid(baseVehicleOutApply.getSid()); |
|
|
|
baseVehicleOut.setCreateBySid(baseVehicleOutApply.getCreateBySid()); |
|
|
|
baseVehicleOut.setCwCustomerNo(baseVehicleOutZC.getCwCustomerNo()); |
|
|
|
baseVehicleOut.setManPurOrderTypeKey(baseVehicleOutZC.getManPurOrderTypeKey()); |
|
|
|
baseVehicleOut.setManPurOrderTypeValue(baseVehicleOutZC.getManPurOrderTypeValue()); |
|
|
|
if (gcOrSzDto.getMaterialTypeKey().equals("002")) {//挂车
|
|
|
|
baseVehicleOut.setZcMGroupCode("99.02"); |
|
|
|
baseVehicleOut.setZcMGroupName("挂车"); |
|
|
|
baseVehicleOut.setMaterialCode(gcOrSzDto.getMaterialCode().substring(gcOrSzDto.getMaterialCode().length() - 8) + "G"); |
|
|
|
} else if (gcOrSzDto.getMaterialTypeKey().equals("003")) {//上装
|
|
|
|
baseVehicleOut.setZcMGroupCode("99.02"); |
|
|
|
baseVehicleOut.setZcMGroupName("挂车"); |
|
|
|
baseVehicleOut.setMaterialCode(gcOrSzDto.getMaterialCode().substring(gcOrSzDto.getMaterialCode().length() - 8) + "SZ"); |
|
|
|
} |
|
|
|
//保存车辆出库单子表
|
|
|
|
baseMapper.insert(baseVehicleOut); |
|
|
|
//推送金蝶上装/挂车销售出库单
|
|
|
|
String materialTypeKey = dto.getMaterialTypeKey(); |
|
|
|
BaseVehicle baseVehicle1 = baseVehicleService.fetchBySid(dto.getVinSid()); |
|
|
|
String materialTypeKey = gcOrSzDto.getMaterialTypeKey(); |
|
|
|
//推送挂车或上装销售出库单
|
|
|
|
BaseVehicle baseVehicle = baseVehicleService.fetchBySid(gcOrSzDto.getVinSid()); |
|
|
|
SalOutStock salOutStock = createZSGCOrSZOutStock(baseVehicle, baseVehicleOut, baseVehicleZSOutApplyDto); |
|
|
|
finKingDeeFeign.draftSalOutStock(salOutStock); |
|
|
|
if (materialTypeKey.equals("002")) { |
|
|
|
SalOutStock salOutStock = createZSGCOutStock(baseVehicle1, dto, baseVehicleZSOutApplyDto); |
|
|
|
finKingDeeFeign.draftSalOutStock(salOutStock); |
|
|
|
String gcSid = dto.getMaterialSid(); |
|
|
|
String gcSid = gcOrSzDto.getMaterialSid(); |
|
|
|
BaseTrailer baseTrailer = baseTrailerService.fetchBySid(gcSid); |
|
|
|
baseTrailer.setStockStateKey(VehicleState.StockEnum.OUT_STOCK.getCode()); |
|
|
|
baseTrailer.setStockStateValue(VehicleState.StockEnum.OUT_STOCK.getRemarks()); |
|
|
|
BigDecimal dealPrice = new BigDecimal(dto.getPrice()); |
|
|
|
BigDecimal dealPrice = new BigDecimal(gcOrSzDto.getPrice()); |
|
|
|
baseTrailer.setDealPrice(dealPrice); |
|
|
|
baseTrailer.setIssueDate(DateUtil.formatDate(new Date())); |
|
|
|
baseTrailerService.saveOrUpdate(baseTrailer); |
|
|
|
} |
|
|
|
if (materialTypeKey.equals("003")) { |
|
|
|
SalOutStock salOutStock = createZSSZOutStock(baseVehicle1, dto, baseVehicleZSOutApplyDto); |
|
|
|
finKingDeeFeign.draftSalOutStock(salOutStock); |
|
|
|
String szSid = dto.getMaterialSid(); |
|
|
|
String szSid = gcOrSzDto.getMaterialSid(); |
|
|
|
BaseVehinstall baseVehinstall = baseVehinstallService.fetchBySid(szSid); |
|
|
|
baseVehinstall.setVehicleStateKey(VehicleState.StockEnum.OUT_STOCK.getCode()); |
|
|
|
baseVehinstall.setVehicleStateValue(VehicleState.StockEnum.OUT_STOCK.getRemarks()); |
|
|
|