|
|
@ -33,6 +33,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.yxt.anrui.base.api.basevehicle.BaseVehicle; |
|
|
|
import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; |
|
|
|
import com.yxt.anrui.base.common.utils.Rule; |
|
|
|
import com.yxt.anrui.buscenter.api.busdeliveredapply.BusDeliveredApplyFeign; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusOrderAndVehInfo; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; |
|
|
|
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTemp; |
|
|
|
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.costadjustmentsbill.CostAdjustmentsBill; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.voucher.GeneralVoucher; |
|
|
@ -114,6 +119,12 @@ public class ScmVehRebateWithApplyService extends MybatisBaseService<ScmVehRebat |
|
|
|
private SysOrganizationFeign sysOrganizationFeign; |
|
|
|
@Autowired |
|
|
|
private BaseVehicleFeign baseVehicleFeign; |
|
|
|
@Autowired |
|
|
|
private BusSalesOrderVehicleFeign busSalesOrderVehicleFeign; |
|
|
|
@Autowired |
|
|
|
private BusDeliveredApplyFeign busDeliveredApplyFeign; |
|
|
|
@Autowired |
|
|
|
private CrmCustomerTempFeign crmCustomerTempFeign; |
|
|
|
|
|
|
|
private QueryWrapper<ScmVehRebateWithApply> createQueryWrapper(ScmVehRebateWithApplyQuery query) { |
|
|
|
// todo: 这里根据具体业务调整查询条件
|
|
|
@ -447,6 +458,7 @@ public class ScmVehRebateWithApplyService extends MybatisBaseService<ScmVehRebat |
|
|
|
GeneralVoucher generalVoucher = new GeneralVoucher(); |
|
|
|
generalVoucher.setBussDate(format); |
|
|
|
List<GeneralVoucher.GeneralVoucherDetail> voucherDetails = new ArrayList<>(); |
|
|
|
List<GeneralVoucher.GeneralVoucherDetail> voucherDetailsJR = new ArrayList<>(); |
|
|
|
CostAdjustmentsBill costAdjustmentsBill = new CostAdjustmentsBill(); |
|
|
|
costAdjustmentsBill.setBussDate(format); |
|
|
|
List<CostAdjustmentsBill.CostAdjustmentsBillDetailDto> resultDetails = new ArrayList<>(); |
|
|
@ -508,12 +520,65 @@ public class ScmVehRebateWithApplyService extends MybatisBaseService<ScmVehRebat |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
String salesDeptCode = ""; //销售部门编码
|
|
|
|
String customerCode = ""; //出库单客户编码
|
|
|
|
String vinCodeJR = ""; //物料
|
|
|
|
String gysCode = ""; //供应商
|
|
|
|
SysOrganizationVo data = sysOrganizationFeign.fetchBySid(rebate.getPurchaseSystemSid()).getData(); |
|
|
|
if (null != data) { |
|
|
|
deptCode = data.getOrgCode(); |
|
|
|
} |
|
|
|
BaseVehicle vehicle = baseVehicleFeign.fetchBySid(rebate.getVehSid()).getData(); |
|
|
|
if (null != vehicle) { |
|
|
|
if (StringUtils.isNotBlank(vehicle.getManufacturerCode())) { |
|
|
|
gysCode = vehicle.getManufacturerCode(); |
|
|
|
costAdjustmentsBill.setCommUnit(vehicle.getManufacturerCode()); |
|
|
|
} |
|
|
|
vinCode = vehicle.getVinNo().substring(vehicle.getVinNo().length() - 8); |
|
|
|
} |
|
|
|
BusOrderAndVehInfo vehInfo = busSalesOrderVehicleFeign.selVehOrderInfoByVinNo(vinCode).getData(); |
|
|
|
if (null != vehInfo) { |
|
|
|
String deptSid = vehInfo.getDeptSid(); |
|
|
|
SysOrganizationVo salesData = sysOrganizationFeign.fetchBySid(deptSid).getData(); |
|
|
|
if (null != salesData) { |
|
|
|
salesDeptCode = salesData.getOrgCode(); |
|
|
|
} |
|
|
|
String busVinSid = vehInfo.getBusVinSid(); |
|
|
|
String customerSid = busDeliveredApplyFeign.selCustomerByBusVinSid(busVinSid).getData(); |
|
|
|
if (StringUtils.isNotBlank(customerSid)) { |
|
|
|
CrmCustomerTemp customerTemp = crmCustomerTempFeign.fetchEntity(customerSid).getData(); |
|
|
|
if (null != customerTemp) { |
|
|
|
customerCode = customerTemp.getCustomerNo(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); |
|
|
|
voucherDetail.setTimeFlag(finalSummaryTag); |
|
|
|
voucherDetail.setMaterial(vinCodeJR); |
|
|
|
voucherDetail.setManufacturer(gysCode); |
|
|
|
voucherDetail.setCustomerCode(customerCode); |
|
|
|
voucherDetail.setDeptCode(salesDeptCode); |
|
|
|
if (StringUtils.isNotBlank(rebate.getEstimateRebate())) { |
|
|
|
BigDecimal esRebate = new BigDecimal(rebate.getEstimateRebate()); |
|
|
|
if (esRebate.compareTo(BigDecimal.ZERO) != 0) { |
|
|
|
voucherDetail.setAmount(esRebate); |
|
|
|
voucherDetails.add(voucherDetail); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
if (!voucherDetails.isEmpty()) { |
|
|
|
generalVoucher.setVoucherDetails(voucherDetails); |
|
|
|
finKingDeeFeign.saveRebatePrepareVoucher(generalVoucher); |
|
|
|
} |
|
|
|
if (!voucherDetailsJR.isEmpty()) { |
|
|
|
generalVoucher.setVoucherDetails(voucherDetailsJR); |
|
|
|
finKingDeeFeign.saveJRRebatePrepareVoucher(generalVoucher); |
|
|
|
} |
|
|
|
if (!resultDetails.isEmpty()) { |
|
|
|
costAdjustmentsBill.setResultDetails(resultDetails); |
|
|
|
finKingDeeFeign.pushCostAdjustmentsBill(costAdjustmentsBill); |
|
|
|