diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleOutFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleOutFeign.java index dbbd70efcf..d412e23e5b 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleOutFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleOutFeign.java @@ -107,6 +107,12 @@ public interface BaseVehicleOutFeign { @PostMapping("/createjrbjdPdf") @ResponseBody public ResultBean createjrbjdPdf(@RequestParam("sid") String sid); + + @ApiOperation("根据车辆sid查询财务客户编码") + @PostMapping("/selectCwCustomerNoByVinSid") + @ResponseBody + public String selectCwCustomerNoByVinSid(@RequestParam("vinSid") String vinSid); + } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutMapper.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutMapper.java index dfdf01fd6d..659e30b7ed 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutMapper.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutMapper.java @@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; -import com.yxt.anrui.base.api.basedistributor.BaseDistributorExportVo; import com.yxt.anrui.base.api.basevehicleout.*; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -51,4 +50,6 @@ public interface BaseVehicleOutMapper extends BaseMapper { List selectByVehReturn(@Param("vinSid") String vinSid, @Param("contractNo") String contractNo); void deleteByVehReturn(@Param("vinSid") String vinSid, @Param("mainSid") String mainSid); + + String selectCwCustomerNoByVinSid(@Param("vinSid")String vinSid); } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutMapper.xml index 679b3d6a29..330eaa399c 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutMapper.xml @@ -245,6 +245,16 @@ WHERE bv.vinSid = #{vinSid} AND ba.contractNo = #{contractNo} + diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutRest.java index 8df090afdf..ce8a79a31f 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutRest.java @@ -13,7 +13,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletResponse; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; -import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -149,4 +148,9 @@ public class BaseVehicleOutRest implements BaseVehicleOutFeign { } return rb.success().setData(pdf); } + + @Override + public String selectCwCustomerNoByVinSid(String vinSid) { + return baseVehicleOutService.selectCwCustomerNoByVinSid(vinSid); + } } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java index e41c5eb6ff..7b821b4f29 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java @@ -2785,4 +2785,8 @@ public class BaseVehicleOutService extends MybatisBaseService { pushVehRebate(busDeliveredApply, detailsList, solutionsDetailsVo.getFactoryDiscount()); }); + Future future12 = pool.submit(() -> { + pushVehRebateAdjustBill(busDeliveredApply, detailsList, solutionsDetailsVo); + }); } } } @@ -1362,6 +1360,56 @@ public class BusDeliveredApplyService extends MybatisBaseService detailsList,SolutionsDetailsVo solutionsDetailsVo) { + BigDecimal cjtx = BigDecimal.ZERO;//厂家贴息 + BigDecimal txdck = BigDecimal.ZERO;//贴息抵车款 + if (StringUtils.isNotBlank(solutionsDetailsVo.getFactoryDiscount())) { + cjtx = new BigDecimal(solutionsDetailsVo.getFactoryDiscount()); + } + if (StringUtils.isNotBlank(solutionsDetailsVo.getDiscountCar())) { + txdck = new BigDecimal(solutionsDetailsVo.getDiscountCar()); + } + if (cjtx.compareTo(txdck) > 0) { + BigDecimal pushMoney = cjtx.subtract(txdck); + CostAdjustmentsBill costAdjustmentsBill = new CostAdjustmentsBill(); + costAdjustmentsBill.setBussDate(DateUtil.formatDate(new Date())); + List resultDetails = new ArrayList<>(); + String useOrgCode = ""; + if (StringUtils.isNotBlank(busDeliveredApply.getUseOrgSid())) { + String useOrgSid = busDeliveredApply.getUseOrgSid(); + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); + if (null != organizationVo) { + costAdjustmentsBill.setUseOrgCode(organizationVo.getOrgCode()); + useOrgCode = organizationVo.getOrgCode(); + } + } + for (BusDeliveredApplyDetails d : detailsList) { + BaseVehicle vehicle = baseVehicleFeign.fetchBySid(d.getVinSid()).getData(); + if (null != vehicle) { + costAdjustmentsBill.setCommUnit(vehicle.getManufacturerCode()); + String vinCode = ""; + String deptCode = ""; + SysOrganizationVo data = sysOrganizationFeign.fetchBySid(vehicle.getPurchaseSystemSid()).getData(); + if (null != data) { + deptCode = data.getOrgCode(); + } + vinCode = vehicle.getVinNo().substring(vehicle.getVinNo().length() - 8); + //添加成本调整单 + CostAdjustmentsBill.CostAdjustmentsBillDetailDto dto = new CostAdjustmentsBill.CostAdjustmentsBillDetailDto(); + dto.setCompanyCode(useOrgCode); + dto.setMaterialID(vinCode); + dto.setDeptCode(deptCode); + dto.setAmount(pushMoney.negate().toString()); + resultDetails.add(dto); + } + } + if (!resultDetails.isEmpty()) { + costAdjustmentsBill.setResultDetails(resultDetails); + finKingDeeFeign.pushCostAdjustmentsBill(costAdjustmentsBill); + } + } + } + private void pushVehRebate(BusDeliveredApply busDeliveredApply, List detailsList, String factoryDiscount) { for (BusDeliveredApplyDetails busDeliveredApplyDetails : detailsList) { ScmVehRebateDto scmVehRebateDto = new ScmVehRebateDto(); @@ -1631,6 +1679,9 @@ public class BusDeliveredApplyService extends MybatisBaseService { pushVehRebate(busDeliveredApply, detailsList, solutionsDetailsVo.getFactoryDiscount()); }); + Future future12 = pool.submit(() -> { + pushVehRebateAdjustBill(busDeliveredApply, detailsList, solutionsDetailsVo); + }); } } } diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustapply/ScmFinanceAdjustApplyService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustapply/ScmFinanceAdjustApplyService.java index 2953378ec2..34691c9e8a 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustapply/ScmFinanceAdjustApplyService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustapply/ScmFinanceAdjustApplyService.java @@ -33,6 +33,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.yxt.anrui.base.api.basevehicle.BaseVehicle; import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; +import com.yxt.anrui.base.api.basevehicleout.BaseVehicleOutFeign; import com.yxt.anrui.base.api.commonappendix.CommonAttachTypeEnum; import com.yxt.anrui.base.common.enums.BillTypeEnum; import com.yxt.anrui.base.common.utils.Rule; @@ -41,7 +42,6 @@ import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; 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.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedDto; import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedFeign; @@ -113,6 +113,9 @@ import java.util.stream.Collectors; */ @Service public class ScmFinanceAdjustApplyService extends MybatisBaseService { + + @Autowired + private BaseVehicleOutFeign baseVehicleOutFeign; @Autowired private BusSalesOrderVehicleFeign busSalesOrderVehicleFeign; @Autowired @@ -205,6 +208,7 @@ public class ScmFinanceAdjustApplyService extends MybatisBaseService= date_format('" + closingStartDate + "','%Y-%m-%d')"). apply(StringUtils.isNotEmpty(closingEndDate), "date_format (a.closingDate,'%Y-%m-%d') <= date_format('" + closingEndDate + "','%Y-%m-%d')" ); + qw.orderByDesc("a.id"); IPage page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.selectPageVo(page, qw); PagerVo p = PagerUtil.pageToVo(pagging, null); @@ -769,11 +773,9 @@ public class ScmFinanceAdjustApplyService extends MybatisBaseService 0) { @@ -781,7 +783,6 @@ public class ScmFinanceAdjustApplyService extends MybatisBaseService page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.selectPageVo(page, qw); PagerVo p = PagerUtil.pageToVo(pagging, null); diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyService.java index 4b884f0c0e..6ff0910434 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyService.java @@ -32,11 +32,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.api.basevehicleout.BaseVehicleOutFeign; 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.finpaymentrecord.FinPaymentrecordSourceLCVo; import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; @@ -108,6 +108,8 @@ import static java.util.Comparator.comparing; @Service public class ScmVehrebateCheckapplyService extends MybatisBaseService { + @Autowired + private BaseVehicleOutFeign baseVehicleOutFeign; @Autowired private ScmVehRebateWithApplyService scmVehRebateWithApplyService; @Autowired @@ -568,16 +570,12 @@ public class ScmVehrebateCheckapplyService extends MybatisBaseService { + @Autowired + private BaseVehicleOutFeign baseVehicleOutFeign; @Autowired private ScmVehRebateWithService scmVehRebateWithService; @Autowired @@ -603,17 +605,11 @@ public class ScmVehRebateWithApplyService extends MybatisBaseService