diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeign.java index 4dd090496e..b2634ee718 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeign.java @@ -83,4 +83,8 @@ public interface BaseVehinstallFeign { @GetMapping("/selectOne") @ResponseBody ResultBean selectOne(@RequestParam("vinNo")String vinNo,@RequestParam("useOrgSid")String useOrgSid); + + @ApiOperation("上装出库") + @PostMapping("/vehinstallOut/{sid}") + ResultBean vehinstallOut(@PathVariable("sid") String sid); } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeignFallback.java index 89430ba2f2..58136efb73 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeignFallback.java @@ -79,4 +79,9 @@ public class BaseVehinstallFeignFallback implements BaseVehinstallFeign { public ResultBean selectOne(String vinNo, String useOrgSid) { return null; } + + @Override + public ResultBean vehinstallOut(String sid) { + return null; + } } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java index 769e896b0f..7e00bff796 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java @@ -522,9 +522,9 @@ public class BaseTrailerService extends MybatisBaseService resultBean = sysOrganizationFeign.fetchBySid(orgDeptSid); + ResultBean resultBean = sysOrganizationFeign.fetchBySid(baseVehicle.getPurchaseSystemSid()); if (resultBean.getSuccess()) { SysOrganizationVo vo = resultBean.getData(); if (vo != null) { 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 d53c0ffccb..2d61daef00 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 @@ -389,8 +389,7 @@ public class BaseVehicleOutService extends MybatisBaseService resultBean = sysOrganizationFeign.fetchBySid(orgDeptSid); + ResultBean resultBean = sysOrganizationFeign.fetchBySid(purchaseSystemSid); if (resultBean.getSuccess()) { SysOrganizationVo vo = resultBean.getData(); if (vo != null) { diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallMapper.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallMapper.java index 3ddb08ae03..6f17151102 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallMapper.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallMapper.java @@ -72,4 +72,6 @@ public interface BaseVehinstallMapper extends BaseMapper { BaseVehinstall seletByVinAndUseOrg(@Param("vinNo") String vinNo, @Param("useOrgSid") String useOrgSid); int selectNumGCRK(String bill); + + String selectNum(String billNo); } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallMapper.xml index 4347901dd7..6c331c44fe 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallMapper.xml @@ -57,4 +57,12 @@ from base_vehinstall where billNo LIKE concat(#{bill}, '%') + + \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallRest.java index fb7e00358c..5a7784cc19 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallRest.java @@ -290,4 +290,9 @@ public class BaseVehinstallRest implements BaseVehinstallFeign { public ResultBean selectOne(String vinNo, String useOrgSid) { return baseVehinstallService.selectOne(vinNo, useOrgSid); } + + @Override + public ResultBean vehinstallOut(String sid) { + return baseVehinstallService.vehinstallOut(sid); + } } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallService.java index 1bbd825e6e..d3699deda0 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallService.java @@ -26,15 +26,31 @@ package com.yxt.anrui.base.biz.basevehinstall; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemDetailsVo; +import com.yxt.anrui.base.api.basetrailer.BaseTrailer; +import com.yxt.anrui.base.api.basetrailermodel.BaseTrailerModel; import com.yxt.anrui.base.api.basevehicle.BaseVehicle; +import com.yxt.anrui.base.api.basevehicleout.BaseVehicleOut; +import com.yxt.anrui.base.api.basevehicleout.BaseVehicleOutDetailsVo; +import com.yxt.anrui.base.api.basevehicleoutapply.BaseVehicleOutApply; import com.yxt.anrui.base.api.basevehinstallmodel.BaseVehinstallmodel; import com.yxt.anrui.base.api.basevehinstallmodel.BaseVehinstallmodelDetailsVo; import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelVo; +import com.yxt.anrui.base.biz.basepurchasesystem.BasePurchaseSystemService; import com.yxt.anrui.base.biz.basevehicle.BaseVehicleService; +import com.yxt.anrui.base.biz.basevehicleout.BaseVehicleOutService; +import com.yxt.anrui.base.biz.basevehicleoutapply.BaseVehicleOutApplyService; import com.yxt.anrui.base.biz.basevehinstallmodel.BaseVehinstallmodelService; import com.yxt.anrui.base.biz.basevehmodelconfig.BaseVehmodelConfigService; +import com.yxt.anrui.base.common.enums.VehicleState; +import com.yxt.anrui.base.common.utils.Rule; +import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; +import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; import org.apache.commons.lang3.StringUtils; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; @@ -51,6 +67,10 @@ import com.yxt.anrui.base.api.basevehinstall.BaseVehinstallFeign; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Date; import java.util.List; /** @@ -75,6 +95,17 @@ public class BaseVehinstallService extends MybatisBaseService createQueryWrapper(BaseVehinstallQuery query) { // todo: 这里根据具体业务调整查询条件 @@ -228,4 +259,169 @@ public class BaseVehinstallService extends MybatisBaseService fEntity = salOutStock.getFEntity(); + for (SalOutStock.FEntity entity : fEntity) { + String substring = entity.getFMaterialID().substring(entity.getFMaterialID().length() - 1); + if ("Z".equals(substring)) { + baseVehinstall.setVehicleStateKey(VehicleState.StockEnum.OUT_STOCK.getCode()); + baseVehinstall.setVehicleStateValue(VehicleState.StockEnum.OUT_STOCK.getRemarks()); + baseVehinstall.setSalesDate(DateUtil.formatDate(new Date())); + saveOrUpdate(baseVehinstall); + } + } + return rb.success(); + } + + private String createRemarks(BaseVehicleOut baseVehicleOut) { + String note = ""; + if (StringUtils.isNotBlank(baseVehicleOut.getMiddleOne())) { + if (StringUtils.isNotBlank(baseVehicleOut.getMiddleTwo())) { + if (StringUtils.isNotBlank(baseVehicleOut.getRebateMoneyOne().toString())) { + if (StringUtils.isNotBlank(baseVehicleOut.getRebateMoneyTwo().toString())) { + note = note + " 返利情况:" + baseVehicleOut.getMiddleOne() + baseVehicleOut.getRebateMoneyOne() + "," + baseVehicleOut.getMiddleTwo() + baseVehicleOut.getRebateMoneyTwo() + "。"; + } else { + note = note + " 返利情况:" + baseVehicleOut.getMiddleOne() + baseVehicleOut.getRebateMoneyOne() + "。"; + } + + } else { + if (StringUtils.isNotBlank(baseVehicleOut.getRebateMoneyTwo().toString())) { + note = note + " 返利情况:" + baseVehicleOut.getMiddleTwo() + baseVehicleOut.getRebateMoneyTwo() + "。"; + } + } + + } else { + if (StringUtils.isNotBlank(baseVehicleOut.getRebateMoneyOne().toString())) { + note = note + " 返利情况:" + baseVehicleOut.getMiddleOne() + baseVehicleOut.getRebateMoneyOne() + "。"; + } + } + } else { + if (StringUtils.isNotBlank(baseVehicleOut.getMiddleTwo())) { + if (StringUtils.isNotBlank(baseVehicleOut.getRebateMoneyTwo().toString())) { + note = note + " 返利情况:" + baseVehicleOut.getMiddleOne() + baseVehicleOut.getRebateMoneyOne() + "。"; + } + } + } + return note; + } + + private SalOutStock createSzOrGcSalOutStock(BaseVehinstall baseVehinstall, BaseVehicle baseVehicle, BaseVehicleOut baseVehicleOut) { + SalOutStock salOutStock = new SalOutStock(); + //单据编号 + salOutStock.setFBillNo(baseVehicleOut.getBillNo()); + //日期 + salOutStock.setFDate(DateUtil.today()); + //分公司id + BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData(); + salOutStock.setFSaleOrgId(basePurchaseSystemDetailsVo.getOrgCode()); + //客户 + salOutStock.setFCustomerID(baseVehicleOut.getCwCustomerNo()); + //销售部门id + ResultBean resultBean = sysOrganizationFeign.fetchBySid(baseVehicle.getPurchaseSystemSid()); + 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 fEntityList = new ArrayList<>(); + SalOutStock.FEntity fEntity = new SalOutStock.FEntity(); + //单价 + fEntity.setFPrice(baseVehicleOut.getTrailerOrInstallDealPrice()); + //物料编码 + fEntity.setFMaterialID(baseVehinstall.getVinNo().substring(baseVehinstall.getVinNo().length() - 8) + "SZ"); + //仓库id + fEntity.setFStockID(baseVehicle.getLocationCode()); + fEntityList.add(fEntity); + if (fEntityList.size() > 0) { + salOutStock.setFEntity(fEntityList); + return salOutStock; + } else { + return null; + } + } } \ No newline at end of file