Browse Source

车辆持久状态部分代码

master
dimengzhe 2 years ago
parent
commit
f8d75e3499
  1. 41
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclestate/BaseVehicleState.java
  2. 27
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclestate/BaseVehicleStateDto.java
  3. 80
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclestate/BaseVehicleStateEnum.java
  4. 24
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclestate/BaseVehicleStateFeign.java
  5. 9
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclestate/BaseVehicleStateFeignFallback.java
  6. 15
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclestate/BaseVehicleStateMapper.java
  7. 9
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclestate/BaseVehicleStateMapper.xml
  8. 29
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclestate/BaseVehicleStateRest.java
  9. 56
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclestate/BaseVehicleStateService.java
  10. 41
      doc/databases/base_tables.sql

41
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclestate/BaseVehicleState.java

@ -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;
}

27
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclestate/BaseVehicleStateDto.java

@ -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;
}

80
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclestate/BaseVehicleStateEnum.java

@ -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;
}
}
}

24
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclestate/BaseVehicleStateFeign.java

@ -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);
}

9
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclestate/BaseVehicleStateFeignFallback.java

@ -0,0 +1,9 @@
package com.yxt.anrui.base.api.basevehiclestate;
/**
* @description:
* @author: dimengzhe
* @date: 2023/7/19
**/
public class BaseVehicleStateFeignFallback {
}

15
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclestate/BaseVehicleStateMapper.java

@ -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);
}

9
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclestate/BaseVehicleStateMapper.xml

@ -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>

29
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclestate/BaseVehicleStateRest.java

@ -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);
}
}

56
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclestate/BaseVehicleStateService.java

@ -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();
}
}

41
doc/databases/base_tables.sql

@ -935,7 +935,7 @@ CREATE TABLE `base_vehicle_out`
) ENGINE = INNODB ) ENGINE = INNODB
DEFAULT CHARSET = utf8 COMMENT ='车辆出库信息'; DEFAULT CHARSET = utf8 COMMENT ='车辆出库信息';
DROP TABLE IF EXISTS `base_vehicle_state`; /*DROP TABLE IF EXISTS `base_vehicle_state`;
CREATE TABLE `base_vehicle_state` CREATE TABLE `base_vehicle_state`
( (
`id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id', `id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id',
@ -952,10 +952,10 @@ CREATE TABLE `base_vehicle_state`
`vinNo` VARCHAR(64) DEFAULT NULL COMMENT '车架号', `vinNo` VARCHAR(64) DEFAULT NULL COMMENT '车架号',
`vinSid` varchar(64) DEFAULT NULL COMMENT '车辆sid', `vinSid` varchar(64) DEFAULT NULL COMMENT '车辆sid',
`busSid` varchar(64) DEFAULT NULL COMMENT '业务sid', `busSid` varchar(64) DEFAULT NULL COMMENT '业务sid',
`arrears` varchar(64) DEFAULT NULL COMMENT '欠款开票:1是0否', `arrears` varchar(64) DEFAULT NULL COMMENT '欠款开票:1是0否',
`carArrears` varchar(64) DEFAULT NULL COMMENT '欠款提车:1是,0否', `carArrears` varchar(64) DEFAULT NULL COMMENT '欠款提车:1是,0否',
`depositState` varchar(255) DEFAULT NULL COMMENT '款项-订金状态', `depositState` varchar(255) DEFAULT NULL COMMENT '款项-订金状态',
`carState` varchar(255) DEFAULT NULL COMMENT '款项-车款状态', `carState` varchar(255) DEFAULT NULL COMMENT '款项-车款状态',
`invoiceState` varchar(255) DEFAULT NULL COMMENT '发票状态', `invoiceState` varchar(255) DEFAULT NULL COMMENT '发票状态',
`deliverState` varchar(255) DEFAULT NULL COMMENT '交车状态', `deliverState` varchar(255) DEFAULT NULL COMMENT '交车状态',
`blueState` varchar(255) DEFAULT NULL COMMENT '蓝票来票状态', `blueState` varchar(255) DEFAULT NULL COMMENT '蓝票来票状态',
@ -964,6 +964,39 @@ CREATE TABLE `base_vehicle_state`
KEY `id` (`id`) KEY `id` (`id`)
) ENGINE = INNODB ) ENGINE = INNODB
DEFAULT CHARSET = utf8 COMMENT ='车辆业务状态表'; DEFAULT CHARSET = utf8 COMMENT ='车辆业务状态表';
*/
DROP TABLE IF EXISTS `base_vehicle_state`;
CREATE TABLE `base_vehicle_state`
(
`id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id',
`sid` varchar(64) NOT NULL COMMENT 'sid',
`lockVersion` int(32) DEFAULT '0' COMMENT '版本锁',
`createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
`isEnable` int(32) DEFAULT '1' COMMENT '是否可用:1可用,0不可用',
`state` int(32) DEFAULT '1' COMMENT '状态',
`isDelete` int(32) DEFAULT '0' COMMENT '是否删除:0未删除,1已删除',
`remarks` varchar(255) DEFAULT NULL COMMENT '备注',
`createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid',
`updateBySid` varchar(64) DEFAULT NULL COMMENT '修改人sid',
`vinNo` VARCHAR(64) DEFAULT NULL COMMENT '车架号',
`vinSid` varchar(64) DEFAULT NULL COMMENT '车辆sid',
`busSid` varchar(64) DEFAULT NULL COMMENT '业务sid',
`busNo` varchar(64) DEFAULT NULL COMMENT '业务阶段序号',
`busName` varchar(64) DEFAULT NULL COMMENT '业务阶段名称',
`busState` varchar(64) DEFAULT NULL COMMENT '业务状态',
`finState` varchar(64) DEFAULT NULL COMMENT '款项状态',
`invoiceState` varchar(64) DEFAULT NULL COMMENT '发票状态',
`carryVehicleState` varchar(64) DEFAULT NULL COMMENT '欠款提车状态',
`carryInvoiceState` varchar(64) DEFAULT NULL COMMENT '欠款开票状态',
`packageBusiness` varchar(64) DEFAULT NULL COMMENT '包牌业务',
`contractState` varchar(64) DEFAULT NULL COMMENT '合同状态',
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE = INNODB
DEFAULT CHARSET = utf8 COMMENT ='车辆业务状态表';

Loading…
Cancel
Save