Browse Source

车辆未售买断选择车辆分页列表

zhanglei
dimengzhe 3 years ago
parent
commit
84ad06c17c
  1. 41
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleActualVo.java
  2. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java
  3. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeignFallback.java
  4. 26
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java
  5. 23
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml
  6. 7
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java
  7. 103
      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/basevehicleactualsales/BaseVehicleActualSalesService.java

41
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleActualVo.java

@ -0,0 +1,41 @@
package com.yxt.anrui.base.api.basevehicle;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/4/22 8:49
* @Description
*/
@Data
public class BaseVehicleActualVo implements Vo {
private static final long serialVersionUID = -6048723646837616372L;
private String sid;
@ApiModelProperty(value = "品牌")
private String brandName;
@ApiModelProperty(value = "车型")
private String vehicleAlias;
@ApiModelProperty(value = "车架号")
private String vinNo;
@ApiModelProperty(value = "颜色")
private String color;
@ApiModelProperty(value = "存放地点")
private String location;
@ApiModelProperty(value = "销售指导价")
@JsonSerialize(using = ToStringSerializer.class)
private String guidedPrice;
@ApiModelProperty(value = "常用配置")
private String configName;
@ApiModelProperty(value = "入库日期")
private String priceDate;
@ApiModelProperty(value = "入库价")
@JsonSerialize(using = ToStringSerializer.class)
private String priced;
}

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

@ -189,6 +189,10 @@ public interface BaseVehicleFeign {
@GetMapping("/selectStateByVinNo")
ResultBean<Boolean> selectStateByVinNo(@RequestParam(value = "vinNoList") List<String> vinNoList);
@ApiOperation("未售买断选择车辆分页列表")
@PostMapping("/vehicleReturnList")
ResultBean<PagerVo<BaseVehicleActualVo>> vehicleActualList(@RequestBody PagerQuery<BaseVehicleReturnQuery> pagerQuery);
/***************************************************** App接口 **********************************************************/
@ApiOperation("手机端现车分页列表")

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

@ -114,6 +114,11 @@ public class BaseVehicleFeignFallback implements BaseVehicleFeign {
return null;
}
@Override
public ResultBean<PagerVo<BaseVehicleActualVo>> vehicleActualList(PagerQuery<BaseVehicleReturnQuery> pagerQuery) {
return null;
}
@Override
public ResultBean<PagerVo<AppCurrentCarModelByPageListVo>> getAppCurrentCarByPageList(PagerQuery<AppCurrentCarByPageListQuery> pagerQuery) {
return null;

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

@ -252,7 +252,7 @@ public interface BaseVehicleMapper extends BaseMapper<BaseVehicle> {
IPage<AppBaseVehicleNowModelVo> getNowModelList(IPage<AppBaseVehicleNowModelQuery> page, @Param(Constants.WRAPPER) QueryWrapper<AppBaseVehicleNowModelVo> qw);
/**
* 分页列表
* 采购退库选择车辆分页列表
*
* @param page 分页
* @param qw 查询条件
@ -260,6 +260,14 @@ public interface BaseVehicleMapper extends BaseMapper<BaseVehicle> {
*/
IPage<BaseVehicleReturnVo> vehicleReturnPageList(IPage<BaseVehicleReturnVo> page, @Param(Constants.WRAPPER) QueryWrapper<BaseVehicle> qw);
/**
* 根据车架号更新车辆状态key和value
*
* @param stringList 车架号集合
* @param vehicleState 车辆状态
* @param vehicleStateValue 车辆状态vlaue
* @return
*/
ResultBean updateByVinNo(@Param("vinNoList") List<String> stringList, @Param("vehicleState") String vehicleState, @Param("vehicleStateValue") String vehicleStateValue);
/**
@ -278,5 +286,21 @@ public interface BaseVehicleMapper extends BaseMapper<BaseVehicle> {
*/
List<Boolean> selectStatusByVinNo(@Param("vinNoList") List<String> vinNoList);
/**
* 根据车架号更新车辆的结算状态
*
* @param stringList 车架号集合
* @param settlementStatus 结算状态
* @return
*/
int updateStatusByVinNo(@Param("vinNoList") List<String> stringList, @Param("settlementStatus") String settlementStatus);
/**
* 未售买断选择车辆分页列表
*
* @param page 分页
* @param qw 查询条件
* @return
*/
IPage<BaseVehicleActualVo> vehicleActualPageList(IPage<BaseVehicleActualVo> page, @Param(Constants.WRAPPER) QueryWrapper<BaseVehicle> qw);
}

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

@ -613,4 +613,27 @@
#{vinNo}
</foreach>
</update>
<select id="vehicleActualPageList" resultType="com.yxt.anrui.base.api.basevehicle.BaseVehicleActualVo">
SELECT bv.sid,
<!--品牌名称-->
bvm.brandName,
<!--车型名称-->
bvm.vehicleAlias,
<!--车架号-->
bv.vinNo,
<!--颜色-->
bmc.carColor color,
<!--存放地点-->
bv.location,
<!--销售指导价-->
bv.guidedPrice,
bmc.configName,
DATE_FORMAT(bv.priceDate, '%Y-%m-%d') as priceDate,
bv.priced
FROM base_vehicle bv
LEFT JOIN base_vehicle_model bvm ON bv.`modelSid` = bvm.`sid`
LEFT JOIN base_model_config bmc ON bv.modelConfigSid = bmc.`sid`
${ew.customSqlSegment}
</select>
</mapper>

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

@ -313,6 +313,13 @@ public class BaseVehicleRest implements BaseVehicleFeign {
return baseVehicleService.selectStateByVinNo(vinNoList);
}
@Override
public ResultBean<PagerVo<BaseVehicleActualVo>> vehicleActualList(PagerQuery<BaseVehicleReturnQuery> pagerQuery) {
ResultBean<PagerVo<BaseVehicleActualVo>> rb = ResultBean.fireFail();
PagerVo<BaseVehicleActualVo> pv = baseVehicleService.vehicleActualList(pagerQuery);
return rb.success().setData(pv);
}
/**
* 手机端现车列表
*

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

@ -969,6 +969,12 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
return qw;
}
/**
* 根据车架号更新车辆的车辆状态key和value
*
* @param baseVehicleUpdateQuery 参数
* @return
*/
public ResultBean updateByVinNo(BaseVehicleUpdateQuery baseVehicleUpdateQuery) {
List<String> stringList = baseVehicleUpdateQuery.getVinNoLis();
String vehicleState = baseVehicleUpdateQuery.getVehicleState();
@ -996,7 +1002,7 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
/**
* 查询该车辆数组中是否包含车辆结算状态为预买断的状态
*
* @param vinNoList
* @param vinNoList 车架号集合
* @return
*/
public ResultBean<Boolean> selectStatusByVinNo(List<String> vinNoList) {
@ -1010,9 +1016,104 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
return resultBean.success().setData(isTrue);
}
/**
* 根据车架号批量更新车辆的结算状态
*
* @param baseVehicleUpdateQuery 参数
* @return
*/
public int updateStatusByVinNo(BaseVehicleUpdateQuery baseVehicleUpdateQuery) {
List<String> stringList = baseVehicleUpdateQuery.getVinNoLis();
String settlementStatus = baseVehicleUpdateQuery.getSettlementStatus();
return baseMapper.updateStatusByVinNo(stringList, settlementStatus);
}
/**
* 未售买断选择车辆分页列表
*
* @param pagerQuery 查询条件
* @return
*/
public PagerVo<BaseVehicleActualVo> vehicleActualList(PagerQuery<BaseVehicleReturnQuery> pagerQuery) {
IPage<BaseVehicleActualVo> page = vehicleActualPageList(pagerQuery);
PagerVo<BaseVehicleActualVo> pv = new PagerVo<>();
PagerVo<BaseVehicleActualVo> pv1 = PagerUtil.pageToVo(page, pv);
return pv1;
}
/**
* 未售买断车辆的数据
*
* @param pagerQuery 查询条件
* @return
*/
private IPage<BaseVehicleActualVo> vehicleActualPageList(PagerQuery<BaseVehicleReturnQuery> pagerQuery) {
IPage<BaseVehicleActualVo> page = PagerUtil.queryToPage(pagerQuery);
QueryWrapper<BaseVehicle> qw = vehicleActualWrapper(pagerQuery.getParams());
return baseMapper.vehicleActualPageList(page, qw);
}
/**
* 构造未售买断查询条件
*
* @param params 查询条件
* @return
*/
private QueryWrapper<BaseVehicle> vehicleActualWrapper(BaseVehicleReturnQuery params) {
QueryWrapper<BaseVehicle> qw = new QueryWrapper<>();
if (params != null) {
//品牌
if (StringUtils.isNotBlank(params.getBrandSid())) {
qw.eq("bvm.carBrand", params.getBrandSid());
}
//功能
if (StringUtils.isNotBlank(params.getVehicleType())) {
qw.like("bvm.vehicleType", params.getVehicleType());
}
//系列
if (StringUtils.isNotBlank(params.getProductLine())) {
qw.like("bvm.productLine", params.getProductLine());
}
//变速箱
if (StringUtils.isNotBlank(params.getGearboxType())) {
qw.eq("bvm.gearboxType", params.getGearboxType());
}
//驱动
if (StringUtils.isNotBlank(params.getDriveForm())) {
qw.eq("bvm.driveForm", params.getDriveForm());
}
//排放标准
if (StringUtils.isNotBlank(params.getEmissionStandard())) {
qw.eq("bvm.emissionStandard", params.getEmissionStandard());
}
//马力
if (StringUtils.isNotBlank(params.getPower())) {
qw.eq("bvm.power", params.getPower());
}
//燃料
if (StringUtils.isNotBlank(params.getFuelType())) {
qw.eq("bvm.fuelType", params.getFuelType());
}
//版本
if (StringUtils.isNotBlank(params.getVehicleVersion())) {
qw.eq("bvm.vehicleVersion", params.getVehicleVersion());
}
//车型
if (StringUtils.isNotBlank(params.getVehicleAlias())) {
qw.eq("bvm.vehicleAlias", params.getVehicleAlias());
}
//快捷检索车型
if (StringUtils.isNotBlank(params.getModelName())) {
qw.like("bvm.modelName", params.getModelName());
}
if (params.getVinNoList().size() > 0) {
qw.notIn("bv.vinNo", params.getVinNoList());
}
//结算状态:0没买断
qw.eq("bv.settlementStatus", "0");
//车辆状态:现车
qw.eq("bv.vehicleStateValue", "现车");
}
return qw;
}
}

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java

@ -204,7 +204,7 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
//判断车辆的结算状态是否包含预买断的状态,如果是的话,返回审核失败
//判断车辆的结算状态是否包含预买断的状态,如果是的话,返回提交失败
boolean isTrue = isTrue(resultBean.getData().toString());
if (isTrue) {
return rb.setMsg("提交失败!该申请中包含结算状态已是预买断状态的车辆");

Loading…
Cancel
Save