
10 changed files with 327 additions and 4 deletions
@ -0,0 +1,41 @@ |
|||
package com.yxt.anrui.base.api.basevehiclestate; |
|||
|
|||
import com.yxt.common.core.domain.BaseEntity; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @description: 车辆持久状态 |
|||
* @author: dimengzhe |
|||
* @date: 2023/7/19 |
|||
**/ |
|||
@Data |
|||
public class BaseVehicleState extends BaseEntity { |
|||
private static final long serialVersionUID = -8658861219326308912L; |
|||
@ApiModelProperty("车辆sid") |
|||
private String vinSid; |
|||
@ApiModelProperty("车架号") |
|||
private String vinNo; |
|||
@ApiModelProperty("销售订单车辆sid") |
|||
private String busSid; |
|||
@ApiModelProperty("业务阶段序号") |
|||
private String busNo; |
|||
@ApiModelProperty("业务阶段名称") |
|||
private String busName; |
|||
@ApiModelProperty("业务状态") |
|||
private String busState; |
|||
@ApiModelProperty("款项状态") |
|||
private String finState; |
|||
@ApiModelProperty("发票状态") |
|||
private String invoiceState; |
|||
@ApiModelProperty("欠款提车状态") |
|||
private String carryVehicleState; |
|||
@ApiModelProperty("欠款开票状态") |
|||
private String carryInvoiceState; |
|||
@ApiModelProperty("包牌业务") |
|||
private String packageBusiness; |
|||
@ApiModelProperty("合同状态") |
|||
private String contractState; |
|||
|
|||
|
|||
} |
@ -0,0 +1,27 @@ |
|||
package com.yxt.anrui.base.api.basevehiclestate; |
|||
|
|||
import com.yxt.common.core.dto.Dto; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2023/7/19 |
|||
**/ |
|||
@Data |
|||
public class BaseVehicleStateDto implements Dto { |
|||
private static final long serialVersionUID = -3250371728132610725L; |
|||
@ApiModelProperty("车辆sid") |
|||
private String vinSid; |
|||
@ApiModelProperty("车架号") |
|||
private String vinNo; |
|||
@ApiModelProperty("销售订单车辆sid") |
|||
private String busSid; |
|||
@ApiModelProperty("业务阶段序号") |
|||
private String busNo; |
|||
@ApiModelProperty("业务阶段名称") |
|||
private String busName; |
|||
@ApiModelProperty("操作类型") |
|||
private String operateType; |
|||
} |
@ -0,0 +1,80 @@ |
|||
package com.yxt.anrui.base.api.basevehiclestate; |
|||
|
|||
import lombok.Getter; |
|||
|
|||
/** |
|||
* @description: 车辆持久状态 |
|||
* @author: dimengzhe |
|||
* @date: 2023/7/19 |
|||
**/ |
|||
public class BaseVehicleStateEnum { |
|||
|
|||
@Getter |
|||
public static enum BusNoEnum { |
|||
/** |
|||
* 车辆业务阶段序号 |
|||
*/ |
|||
DDBA("200", "订单备案"), |
|||
CKKP("400", "出库开票"), |
|||
JC("500", "交车"), |
|||
YWJS("600", "业务结束"), |
|||
; |
|||
|
|||
private String busNoKey; |
|||
private String busNoValue; |
|||
|
|||
BusNoEnum(String busNoKey, String busNoValue) { |
|||
this.busNoKey = busNoKey; |
|||
this.busNoValue = busNoValue; |
|||
} |
|||
} |
|||
|
|||
|
|||
@Getter |
|||
public static enum BusStateEnum { |
|||
/** |
|||
* 车辆阶段状态 |
|||
*/ |
|||
CKKP_STATE_1("401", "待出库"), |
|||
CKKP_STATE_2("402", "出库中"), |
|||
JC_STATE_1("501", "待准备"), |
|||
JC_STATE_2("502", "待交车"), |
|||
JC_STATE_3("503", "已交车"), |
|||
YWJS_STATE_1("601", "业务完成"), |
|||
YWJS_STATE_2("602", "业务终止"), |
|||
|
|||
; |
|||
|
|||
private String stateKey; |
|||
private String stateValue; |
|||
|
|||
BusStateEnum(String stateKey, String stateValue) { |
|||
this.stateKey = stateKey; |
|||
this.stateValue = stateValue; |
|||
} |
|||
} |
|||
|
|||
@Getter |
|||
public static enum OperateTypeEnum { |
|||
/** |
|||
* 操作类型 |
|||
*/ |
|||
DDBA_SUBMIT("201", "订单提交"), |
|||
DDBA_PASS("202", "订单审核通过"), |
|||
CKKP_PASS("401", "出库开票审核通过"), |
|||
JC_PASS("402", "交车审核通过"), |
|||
BUS_STOP("602", "业务终止"), |
|||
|
|||
; |
|||
|
|||
private String typeKey; |
|||
private String typeValue; |
|||
|
|||
OperateTypeEnum(String typeKey, String typeValue) { |
|||
this.typeKey = typeKey; |
|||
this.typeValue = typeValue; |
|||
} |
|||
} |
|||
|
|||
|
|||
} |
@ -0,0 +1,24 @@ |
|||
package com.yxt.anrui.base.api.basevehiclestate; |
|||
|
|||
import com.yxt.common.core.result.ResultBean; |
|||
import io.swagger.annotations.Api; |
|||
import org.springframework.cloud.openfeign.FeignClient; |
|||
import org.springframework.web.bind.annotation.PostMapping; |
|||
import org.springframework.web.bind.annotation.RequestBody; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2023/7/19 |
|||
**/ |
|||
@Api(tags = "车辆持久状态") |
|||
@FeignClient( |
|||
contextId = "anrui-base-BaseVehicleState", |
|||
name = "anrui-base", |
|||
path = "v1/BaseVehicleState", |
|||
fallback = BaseVehicleStateFeignFallback.class) |
|||
public interface BaseVehicleStateFeign { |
|||
|
|||
@PostMapping("saveOrUpdate") |
|||
ResultBean saveOrUpdate(@RequestBody BaseVehicleStateDto dto); |
|||
} |
@ -0,0 +1,9 @@ |
|||
package com.yxt.anrui.base.api.basevehiclestate; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2023/7/19 |
|||
**/ |
|||
public class BaseVehicleStateFeignFallback { |
|||
} |
@ -0,0 +1,15 @@ |
|||
package com.yxt.anrui.base.biz.basevehiclestate; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleState; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2023/7/19 |
|||
**/ |
|||
@Mapper |
|||
public interface BaseVehicleStateMapper extends BaseMapper<BaseVehicleState> { |
|||
BaseVehicleState selectOnes(String busSid); |
|||
} |
@ -0,0 +1,9 @@ |
|||
<?xml version="1.0" encoding="UTF-8" ?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="com.yxt.anrui.base.biz.basevehiclestate.BaseVehicleStateMapper"> |
|||
<select id="selectOnes" resultType="com.yxt.anrui.base.api.basevehiclestate.BaseVehicleState"> |
|||
select * |
|||
from base_vehicle_state |
|||
where busSid = #{busSid} |
|||
</select> |
|||
</mapper> |
@ -0,0 +1,29 @@ |
|||
package com.yxt.anrui.base.biz.basevehiclestate; |
|||
|
|||
import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleStateDto; |
|||
import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleStateFeign; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import io.swagger.annotations.Api; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2023/7/19 |
|||
**/ |
|||
|
|||
@Api(tags = "车辆持久状态") |
|||
@RestController |
|||
@RequestMapping("v1/BaseVehicleState") |
|||
public class BaseVehicleStateRest implements BaseVehicleStateFeign { |
|||
|
|||
@Autowired |
|||
private BaseVehicleStateService baseVehicleStateService; |
|||
|
|||
@Override |
|||
public ResultBean saveOrUpdate(BaseVehicleStateDto dto) { |
|||
return baseVehicleStateService.saveOrUpdateState(dto); |
|||
} |
|||
} |
@ -0,0 +1,56 @@ |
|||
package com.yxt.anrui.base.biz.basevehiclestate; |
|||
|
|||
import cn.hutool.core.bean.BeanUtil; |
|||
import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleState; |
|||
import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleStateDto; |
|||
import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleStateEnum; |
|||
import com.yxt.common.base.service.MybatisBaseService; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2023/7/19 |
|||
**/ |
|||
@Service |
|||
public class BaseVehicleStateService extends MybatisBaseService<BaseVehicleStateMapper, BaseVehicleState> { |
|||
|
|||
public ResultBean saveOrUpdateState(BaseVehicleStateDto dto) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
String operateType = dto.getOperateType(); |
|||
String busSid = dto.getBusSid(); |
|||
BaseVehicleState baseVehicleState = baseMapper.selectOnes(busSid); |
|||
if (BaseVehicleStateEnum.OperateTypeEnum.DDBA_SUBMIT.equals(operateType)) { |
|||
//销售订单提交时
|
|||
baseVehicleState = new BaseVehicleState(); |
|||
BeanUtil.copyProperties(dto, baseVehicleState, "sid"); |
|||
baseMapper.insert(baseVehicleState); |
|||
} else if (BaseVehicleStateEnum.OperateTypeEnum.DDBA_PASS.equals(operateType)) { |
|||
//销售订单办理通过后更新业务阶段为出库开票、小状态为待出库,款项状态为0
|
|||
baseVehicleState.setFinState("0"); |
|||
baseVehicleState.setBusNo(BaseVehicleStateEnum.BusNoEnum.CKKP.getBusNoKey()); |
|||
baseVehicleState.setBusName(BaseVehicleStateEnum.BusNoEnum.CKKP.getBusNoValue()); |
|||
baseVehicleState.setBusState(BaseVehicleStateEnum.BusStateEnum.CKKP_STATE_1.getStateKey()); |
|||
} else if (BaseVehicleStateEnum.OperateTypeEnum.CKKP_PASS.equals(operateType)) { |
|||
//出库通过后更新业务阶段为交车,小状态为待准备501
|
|||
baseVehicleState.setBusNo(BaseVehicleStateEnum.BusNoEnum.JC.getBusNoKey()); |
|||
baseVehicleState.setBusName(BaseVehicleStateEnum.BusNoEnum.JC.getBusNoValue()); |
|||
baseVehicleState.setBusState(BaseVehicleStateEnum.BusStateEnum.JC_STATE_1.getStateKey()); |
|||
|
|||
} else if (BaseVehicleStateEnum.OperateTypeEnum.JC_PASS.equals(operateType)) { |
|||
//交车确认通过后更新业务状态为业务结束,小状态为业务完成601
|
|||
baseVehicleState.setBusNo(BaseVehicleStateEnum.BusNoEnum.YWJS.getBusNoKey()); |
|||
baseVehicleState.setBusName(BaseVehicleStateEnum.BusNoEnum.YWJS.getBusNoValue()); |
|||
baseVehicleState.setBusState(BaseVehicleStateEnum.BusStateEnum.YWJS_STATE_1.getStateKey()); |
|||
} else if (BaseVehicleStateEnum.OperateTypeEnum.BUS_STOP.equals(operateType)) { |
|||
//如果为终止或作废,则更新小状态为业务终止602
|
|||
baseVehicleState.setBusState(BaseVehicleStateEnum.BusStateEnum.YWJS_STATE_2.getStateKey()); |
|||
} |
|||
|
|||
//认款办理确认以及结转审核通过的更新款项状态为1,否则为0
|
|||
|
|||
baseMapper.updateById(baseVehicleState); |
|||
return rb.success(); |
|||
} |
|||
} |
Loading…
Reference in new issue