Browse Source

销售订单-移动端根据车型及配置查询现车列表

zhanglei
dimengzhe 3 years ago
parent
commit
a342e74750
  1. 7
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java
  2. 6
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeignFallback.java
  3. 33
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/app/AppBaseVehicleOrderVo.java
  4. 10
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java
  5. 43
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml
  6. 6
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java
  7. 28
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java
  8. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclecertificate/BaseVehicleCertificateMapper.java
  9. 6
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclecertificate/BaseVehicleCertificateMapper.xml
  10. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclecertificate/BaseVehicleCertificateService.java
  11. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppCarInfo.java
  12. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppNowCarVo.java
  13. 35
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java

7
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java

@ -1,6 +1,7 @@
package com.yxt.anrui.base.api.basevehicle;
import com.yxt.anrui.base.api.basemodelconfig.AppCarConfigSummaryVo;
import com.yxt.anrui.base.api.basevehicle.app.AppBaseVehicleOrderVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -212,6 +213,10 @@ public interface BaseVehicleFeign {
@GetMapping("/selectCount")
ResultBean<Integer> selectCount(@SpringQueryMap PcBaseVehicleOrderCountQuery pcBaseVehicleOrderCountQuery);
@ApiOperation("app销售订单-根据车型和配置sid查询现车列表")
@GetMapping("/selectAppList")
ResultBean<List<AppBaseVehicleOrderVo>> selectAppList(@RequestParam(value = "modelSid") String modelSid, @RequestParam(value = "configSid") String configSid);
/***************************************************** App接口 **********************************************************/
@ApiOperation("手机端现车分页列表")
@ -236,7 +241,7 @@ public interface BaseVehicleFeign {
@ApiOperation("获取车型配置总结(即常用配置一句话描述)")
@GetMapping("/carConfigSummary")
public ResultBean<AppCarConfigSummaryVo> getCarConfigSummary(@RequestParam("modelSid") String modelSid, @RequestParam("configSid") String configSid,@RequestParam("userSid") String userSid);
public ResultBean<AppCarConfigSummaryVo> getCarConfigSummary(@RequestParam("modelSid") String modelSid, @RequestParam("configSid") String configSid, @RequestParam("userSid") String userSid);
@ApiOperation("手机端-配置列表获取现车列表")
@PostMapping("/getModelNowCarList")

6
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeignFallback.java

@ -1,6 +1,7 @@
package com.yxt.anrui.base.api.basevehicle;
import com.yxt.anrui.base.api.basemodelconfig.AppCarConfigSummaryVo;
import com.yxt.anrui.base.api.basevehicle.app.AppBaseVehicleOrderVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -135,6 +136,11 @@ public class BaseVehicleFeignFallback implements BaseVehicleFeign {
return null;
}
@Override
public ResultBean<List<AppBaseVehicleOrderVo>> selectAppList(String modelSid, String configSid) {
return null;
}
@Override
public ResultBean<PagerVo<AppCurrentCarModelByPageListVo>> getAppCurrentCarByPageList(PagerQuery<AppCurrentCarByPageListQuery> pagerQuery) {
return null;

33
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/app/AppBaseVehicleOrderVo.java

@ -0,0 +1,33 @@
package com.yxt.anrui.base.api.basevehicle.app;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/5/28 14:47
* @Description 根据车型及配置查询现车
*/
@Data
public class AppBaseVehicleOrderVo implements Vo {
private static final long serialVersionUID = 5928761684516901458L;
@ApiModelProperty(value = "车架号")
private String vin;
@ApiModelProperty(value = "是否有合格证")
private Boolean certificate;
@ApiModelProperty(value = "存放地点")
private String address;
@ApiModelProperty(value = "车辆sid")
private String carSid;
@ApiModelProperty(value = "是否是虚拟订单锁定的")
private Boolean virtual;
@ApiModelProperty(value = "mysql数据库中查询是否是虚拟订单锁定")
private Boolean isFictitious;
}

10
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java

@ -6,6 +6,7 @@ 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.basevehicle.*;
import com.yxt.anrui.base.api.basevehicle.app.AppBaseVehicleOrderVo;
import com.yxt.common.core.result.ResultBean;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -361,4 +362,13 @@ public interface BaseVehicleMapper extends BaseMapper<BaseVehicle> {
* @return
*/
IPage<AppBaseNowProduceCarVo> getModelOrderCarList(IPage<AppBaseNowProduceCarVo> page, @Param(Constants.WRAPPER) QueryWrapper<AppBaseNowProduceCarVo> qw);
/**
* 根据车型sid和配置sid查询现车列表
*
* @param modelSid 车型sid
* @param configSid 配置sid
* @return
*/
List<AppBaseVehicleOrderVo> selectAppList(@Param("modelSid") String modelSid, @Param("configSid") String configSid);
}

43
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml

@ -481,19 +481,28 @@
</select>
<select id="getModelList" resultType="com.yxt.anrui.base.api.basevehicle.AppVehicleModelPriceVo">
SELECT DISTINCT
bvm.sid AS modelSid,
SELECT DISTINCT bvm.sid AS modelSid,
bvm.vehicleAlias AS modelName,
bvm.carBrand AS brandSid,
bvm.brandName,
bvm.vehicleVersionValue AS versionValue,
bvm.fuelTypeValue,
bvm.gearboxTypeValue,
(SELECT CONCAT(MIN(bvc.guidedPrice), '-', MAX(bvc.guidedPrice)) FROM base_vehmodel_config bvc WHERE bvc.modelSid
= bvm.sid AND bvc.useOrgSid = #{useOrgSid}) AS guidedPrice,
(SELECT count(*) FROM base_vehmodel_config bvc WHERE bvc.modelSid = bvm.sid AND bvc.useOrgSid = #{useOrgSid}) AS
(SELECT CONCAT(MIN(bvc.guidedPrice), '-', MAX(bvc.guidedPrice))
FROM base_vehmodel_config bvc
WHERE bvc.modelSid
= bvm.sid
AND bvc.useOrgSid = #{useOrgSid}) AS guidedPrice,
(SELECT count(*)
FROM base_vehmodel_config bvc
WHERE bvc.modelSid = bvm.sid
AND bvc.useOrgSid = #{useOrgSid}) AS
configNum,
(SELECT count(*) FROM base_vehicle bv WHERE bv.modelSid = bvm.sid AND lockedState = '03' AND bv.useOrg =
(SELECT count(*)
FROM base_vehicle bv
WHERE bv.modelSid = bvm.sid
AND lockedState = '03'
AND bv.useOrg =
#{useOrgSid}) AS nowCarNum,
(SELECT SUM(cast(bvad.quantity as signed)) as quantity
FROM bus_vehicle_apply_detail bvad
@ -545,8 +554,7 @@
</select>
<select id="getNowModelList" resultType="com.yxt.anrui.base.api.basevehicle.AppBaseVehicleNowModelVo">
SELECT DISTINCT
bvm.sid AS modelSid,
SELECT DISTINCT bvm.sid AS modelSid,
bvm.vehicleAlias AS modelName,
bvm.brandName,
bvm.carBrand AS brandSid,
@ -686,7 +694,6 @@
FROM base_vehicle bv
LEFT JOIN base_model_config bmc ON bmc.sid = bv.modelConfigSid
${ew.customSqlSegment}
</select>
<select id="selectVehicleCount" resultType="java.lang.Integer">
@ -721,19 +728,29 @@
AND bvc.useOrgSid = #{useOrg}
</select>
<select id="getModelOrderCarList" resultType="com.yxt.anrui.base.api.basevehicle.AppBaseNowProduceCarVo">
SELECT
bvo.orderNo AS orderId,
SELECT bvo.orderNo AS orderId,
bvo.orderStatus AS state,
bvo.orderDate AS `date`,
bvo.expectLaunchDate AS forecastDate,
bvo.launchDate AS `upDate`,
bvo.offlineDate AS downDate,
bvad.quantity as `number`
FROM
bus_vehicle_order bvo
FROM bus_vehicle_order bvo
left join bus_vehicle_apply_detail bvad on bvo.purchaseApplyMediumModelSid = bvad.sid
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectAppList" resultType="com.yxt.anrui.base.api.basevehicle.app.AppBaseVehicleOrderVo">
select bv.vinNo vin,
bv.location address,
bv.sid carSid,
if(bv.lockedState = 1, 1, 0)
as isFictitious
from base_vehicle bv
where bv.modelSid = #{modelSid}
and bv.modelConfigSid = #{configSid}
order by isFictitious desc
</select>
</mapper>

6
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basemodelconfig.AppCarConfigSummaryVo;
import com.yxt.anrui.base.api.basemodelconfig.BaseModelConfig;
import com.yxt.anrui.base.api.basevehicle.*;
import com.yxt.anrui.base.api.basevehicle.app.AppBaseVehicleOrderVo;
import com.yxt.anrui.base.api.basevehiclebrand.BaseVehicleBrand;
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel;
import com.yxt.anrui.base.biz.basemodelconfig.BaseModelConfigService;
@ -348,6 +349,11 @@ public class BaseVehicleRest implements BaseVehicleFeign {
return baseVehicleService.selectCount(pcBaseVehicleOrderCountQuery);
}
@Override
public ResultBean<List<AppBaseVehicleOrderVo>> selectAppList(String modelSid, String configSid) {
return baseVehicleService.selectAppList(modelSid, configSid);
}
/**
* 手机端现车列表
*

28
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java

@ -6,12 +6,12 @@ import com.yxt.anrui.base.api.basemodelconfig.AppCarConfigSummaryVo;
import com.yxt.anrui.base.api.basemodelconfig.AppModelConfigDetailsVo;
import com.yxt.anrui.base.api.basemodelconfig.AppModelConfigListVo;
import com.yxt.anrui.base.api.basevehicle.*;
import com.yxt.anrui.base.api.basevehicleappendix.BaseVehicleAppendix;
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel;
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModelFeign;
import com.yxt.anrui.base.api.basevehicle.app.AppBaseVehicleOrderVo;
import com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificate;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixVo;
import com.yxt.anrui.base.biz.basemodelconfig.BaseModelConfigService;
import com.yxt.anrui.base.biz.basevehicleappendix.BaseVehicleAppendixService;
import com.yxt.anrui.base.biz.basevehiclecertificate.BaseVehicleCertificateService;
import com.yxt.anrui.base.biz.basevehiclemodel.BaseVehicleModelService;
import com.yxt.anrui.base.biz.commonappendix.CommonAppendixService;
import com.yxt.anrui.buscenter.api.busmaindeposit.pc.PcBusMainDepositFeign;
@ -31,7 +31,6 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.xml.crypto.Data;
import java.util.*;
/**
@ -66,6 +65,8 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
private FileUploadComponent fileUploadComponent;
@Autowired
private PcBusMainDepositFeign pcBusMainDepositFeign;
@Autowired
private BaseVehicleCertificateService baseVehicleCertificateService;
/**
* 车辆信息分页列表
@ -1357,4 +1358,23 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
return rb.success().setData(count);
}
public ResultBean<List<AppBaseVehicleOrderVo>> selectAppList(String modelSid, String configSid) {
ResultBean<List<AppBaseVehicleOrderVo>> rb = ResultBean.fireFail();
List<AppBaseVehicleOrderVo> orderVoList = new ArrayList<>();
orderVoList = baseMapper.selectAppList(modelSid, configSid);
if (orderVoList.isEmpty()) {
return rb.setData(orderVoList);
}
for (int i = 0; i < orderVoList.size(); i++) {
orderVoList.get(i).setVirtual(orderVoList.get(i).getIsFictitious());
BaseVehicleCertificate baseVehicleCertificate = baseVehicleCertificateService.selectByVehicleSid(orderVoList.get(i).getCarSid());
if (baseVehicleCertificate == null) {
orderVoList.get(i).setCertificate(false);
} else {
orderVoList.get(i).setCertificate(true);
}
}
return rb.success().setData(orderVoList);
}
}

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclecertificate/BaseVehicleCertificateMapper.java

@ -83,4 +83,6 @@ public interface BaseVehicleCertificateMapper extends BaseMapper<BaseVehicleCert
@Update("update base_vehicle_certificate set isDelete = 1 where sid = #{sid}")
int updateBySidIsDelete(String sid);
BaseVehicleCertificate selectByVehicleSid(String carSid);
}

6
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclecertificate/BaseVehicleCertificateMapper.xml

@ -163,4 +163,10 @@
#{item}
</foreach>
</delete>
<select id="selectByVehicleSid" resultType="com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificate">
select *
from base_vehicle_certificate
where vehicleSid = #{carSid}
</select>
</mapper>

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclecertificate/BaseVehicleCertificateService.java

@ -135,4 +135,8 @@ public class BaseVehicleCertificateService extends MybatisBaseService<BaseVehicl
public int updateBySidIsDelete(String sid) {
return baseMapper.updateBySidIsDelete(sid);
}
public BaseVehicleCertificate selectByVehicleSid(String carSid) {
return baseMapper.selectByVehicleSid(carSid);
}
}

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppCarInfo.java

@ -11,7 +11,7 @@ public class AppCarInfo implements Vo {
private static final long serialVersionUID = 4029925477789404414L;
@ApiModelProperty("销售订单-车型确认-现车")
private List<AppNowCar> nowCar;
private List<AppNowCarVo> nowCar;
@ApiModelProperty("销售订单-车型确认-排产")
private List<AppReadyCar> readyCar;

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppNowCar.java → anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppNowCarVo.java

@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class AppNowCar implements Vo {
public class AppNowCarVo implements Vo {
private static final long serialVersionUID = -6377764723851635242L;
@ApiModelProperty("车架号")

35
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java

@ -34,8 +34,8 @@ import com.yxt.anrui.base.api.basemodelconfig.AppCarConfigSummaryVo;
import com.yxt.anrui.base.api.basepostprice.BaseOrderPostPriceQuery;
import com.yxt.anrui.base.api.basepostprice.BaseOrderPostPriceVo;
import com.yxt.anrui.base.api.basepostprice.BasePostPriceFeign;
import com.yxt.anrui.base.api.basevehicle.AppVinsDetailsVo;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign;
import com.yxt.anrui.base.api.basevehicle.app.AppBaseVehicleOrderVo;
import com.yxt.anrui.base.api.basevehiclepolicy.BaseVehiclePolicyFeign;
import com.yxt.anrui.base.api.basevehiclepolicy.BaseVehiclePriceVo;
import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfigFeign;
@ -1317,7 +1317,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
AppCarInfo carInfo = new AppCarInfo();
List<AppReadyCar> readyCars = new ArrayList<>();
carInfo.setReadyCar(readyCars);
List<AppNowCar> nowCars = new ArrayList<>();
List<AppNowCarVo> nowCars = new ArrayList<>();
carInfo.setNowCar(nowCars);
vo.setCarInfo(carInfo);
return vo;
@ -1330,13 +1330,15 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
String userSid = appBusSaleOrderInitModelInfoQuery.getUserSid();
String special = appBusSaleOrderInitModelInfoQuery.getSpecial();
AppBusSaleOrderInitModelInfoVo vo = new AppBusSaleOrderInitModelInfoVo();
//选择的车型信息的数据
AppOrderInfo orderInfo = new AppOrderInfo();
//根据车型及配置查询除的现车及排产采购订单的列表数据
AppCarInfo appCarInfo = new AppCarInfo();
List<AppNowCar> appNowCars = new ArrayList<>();
//根据车型及配置查询除的现车列表
List<AppNowCarVo> appNowCars = new ArrayList<>();
List<AppReadyCar> appReadyCar = new ArrayList<>();
List<AppNowCarList> appNowCarLists = new ArrayList<>();
List<AppReadyCarList> appReadyCarLists = new ArrayList<>();
AppNowCar appNowCar = null;
//根据车型及配置查询车型信息
ResultBean<AppCarConfigSummaryVo> appCarConfigSummaryVoResultBean = baseVehmodelConfigFeign.selectCarConfigSummary(modelSid, configSid, userSid);
AppCarConfigSummaryVo data = appCarConfigSummaryVoResultBean.getData();
@ -1349,29 +1351,26 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
orderInfo.setNowCarList(appNowCarLists);
orderInfo.setReadyCarList(appReadyCarLists);
vo.setOrderInfo(orderInfo);
//现车
List<AppVinsDetailsVo> appNowCarVos = baseVehicleFeign.getVins(modelSid, configSid).getData();
//排产
List<AppOrderReadyCar> appOrderReadyCars = busVehicleOrderFeign.getAppReadyCar(modelSid, configSid).getData();
//现车
if (appNowCarVos.size() > 0) {
for (AppVinsDetailsVo appNowCarVo : appNowCarVos) {
appNowCar = new AppNowCar();
appNowCar.setCarSid(appNowCarVo.getCarSid());
appNowCar.setAddress(appNowCarVo.getAddress());
appNowCar.setVin(appNowCarVo.getVin());
appNowCars.add(appNowCar);
appCarInfo.setNowCar(appNowCars);
//根据车型sid及配置sid查询现车列表
ResultBean<List<AppBaseVehicleOrderVo>> orderVoResultBean = baseVehicleFeign.selectAppList(modelSid, configSid);
if (orderVoResultBean.getSuccess()) {
List<AppBaseVehicleOrderVo> voList = orderVoResultBean.getData();
for (AppBaseVehicleOrderVo vehicleOrderVo : voList) {
AppNowCarVo appNowCarVo = new AppNowCarVo();
BeanUtil.copyProperties(vehicleOrderVo, appNowCarVo);
appNowCars.add(appNowCarVo);
}
} else {
appCarInfo.setNowCar(appNowCars);
}
//排产采购订单
List<AppOrderReadyCar> appOrderReadyCars = busVehicleOrderFeign.getAppReadyCar(modelSid, configSid).getData();
//排产
BeanUtil.copyProperties(appReadyCar, appOrderReadyCars);
vo.setCarInfo(appCarInfo);
appCarInfo.setReadyCar(appReadyCar);
return vo;
}
@Transactional(rollbackFor = Exception.class)
public ResultBean deleteSaleOrder(String saleOrderSid, String userSid) {
ResultBean rb = ResultBean.fireFail();

Loading…
Cancel
Save