
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