
35 changed files with 1297 additions and 16 deletions
@ -0,0 +1,65 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<div class="tab-header webtop"> |
|||
<div>车型配置详情</div> |
|||
<div> |
|||
<el-button type="info" size="small" @click="handleReturn">关闭</el-button> |
|||
</div> |
|||
</div> |
|||
<vehicleconfiguration ref="divConfig" :params="sid_list"/> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import vehicleconfiguration from './vehicleconfiguration' |
|||
|
|||
export default { |
|||
name: 'BiaoZhun', |
|||
components: { |
|||
vehicleconfiguration |
|||
}, |
|||
data() { |
|||
return { |
|||
FormLoading: false, |
|||
isDown: true, |
|||
isDownOther: true, |
|||
sid_list: { |
|||
modelSid: '', |
|||
configSid: '', |
|||
vehModelConfigSid: '', |
|||
guidedPrice: '' |
|||
} |
|||
} |
|||
}, |
|||
methods: { |
|||
// 返回 |
|||
handleReturn() { |
|||
this.sid_list = { |
|||
modelSid: '', |
|||
configSid: '', |
|||
vehModelConfigSid: '', |
|||
guidedPrice: '' |
|||
} |
|||
this.$emit('doback') |
|||
}, |
|||
// 查看 |
|||
showInfo(row) { |
|||
this.FormLoading = true |
|||
this.sid_list.modelSid = row.modelSid |
|||
this.sid_list.configSid = row.modelConfigSid |
|||
this.sid_list.vehModelConfigSid = row.vehModelConfigSid |
|||
if (row.guidedPrice !== '' || row.guidedPrice !== null) { |
|||
const guidedPrice_two = parseFloat(Number(row.guidedPrice) / 10000).toFixed(2) |
|||
this.sid_list.guidedPrice = guidedPrice_two |
|||
} |
|||
if (row.guidedPrice === '' || row.guidedPrice == null) { |
|||
this.sid_list.guidedPrice = '' |
|||
} |
|||
// this.sid_list.guidedPrice = row.guidedPrice |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style scoped> |
|||
|
|||
</style> |
@ -0,0 +1,307 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<div class=""> |
|||
<el-form ref="dataForm" :model="formobj" class="formaddcopy02"> |
|||
<div class="title" style="display: flex;flex-direction: row;justify-content: space-between;align-items: center"> |
|||
<div>{{ formobj.vehicleAlias }}</div> |
|||
<div>销售指导价:<span>{{guidedPrice}} 万元</span></div> |
|||
</div> |
|||
<el-row> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>品牌</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.brandName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>功能</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.vehicleTypeValue }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>系列</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.productLineValue }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>驱动</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.driveFormValue }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="tlineheightb"> |
|||
<div class="span-sty"><span>马力</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.powerValue }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>版本</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.vehicleVersionValue }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>燃料</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.fuelTypeValue }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>排放标准</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.emissionStandardValue }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>发动机型号</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.engineTypeValue }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="tlineheightb"> |
|||
<div class="span-sty"><span>变速箱类型</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.tranCaseTypeValue }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>变速箱</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.gearboxTypeValue }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>细分市场</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.marketSegmentsValue }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>规格型号</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.specifications }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>系别</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.departmentValue }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="tlineheightb"> |
|||
<div class="span-sty"><span>编码</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.vehicleTypeCode }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<div class="title">常用配置<span>({{ formobj.configCode }})</span></div> |
|||
<el-row> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>后桥</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.rearAxleValue }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>速比</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.rearAxleRatio }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>轴距</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.wheelbase }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>悬架</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.suspension }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="tlineheightb"> |
|||
<div class="span-sty"><span>鞍座</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.saddle }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>颜色</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.carColor }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>驾驶室</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.specification }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>保险杠</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.bumper }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>燃料箱</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.fuelTank }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="tlineheightb"> |
|||
<div class="span-sty"><span>导流罩</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.baffleModel }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>独立热源</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.independentSources }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>缓速器</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.slowMachine }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>护轮罩</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.tireCover }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>后视镜</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.rearViewMirror }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="tlineheightb"> |
|||
<div class="span-sty"><span>轮胎</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.tireSize }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>轮毂材质</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.hubMaterial }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>空调</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.airConditioner }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>座椅</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.seat }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>多媒体</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.multimedia }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="tlineheightb"> |
|||
<div class="span-sty"><span>配置包</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.configuringBao }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>门窗</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.doorAndWindowValue }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>门锁</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.doorLockValue }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>大灯</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.headlightValue }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>上车踏板</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.boardPedalValue }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="tlineheightb"> |
|||
<div class="span-sty"><span>方向盘</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.steerWheelValue }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>离合器</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.clutchValue }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>方向机</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.dirMachineValue }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>前桥</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.proponsValue }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="5" class="tlineheightb"> |
|||
<div class="span-sty"><span>货箱内部长度</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.packingCase }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="tlineheightb"> |
|||
<div class="span-sty"><span>蓄电池</span></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.storagBatteryValue }}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<div class="title"> |
|||
更多配置 |
|||
</div> |
|||
<el-row> |
|||
<el-col :span="24"> |
|||
<el-form-item>{{ formobj.otherConfig }}</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { selectExiCarConfig } from '@/api/Common/dictcommons' |
|||
|
|||
export default { |
|||
name: 'CheXingPeiZhiBiaoZhun', |
|||
props: { |
|||
params: { |
|||
type: Object |
|||
} |
|||
}, |
|||
data() { |
|||
return { |
|||
FormLoading: false, |
|||
priceValidity: '', |
|||
guidedPrice: '', |
|||
formobj: {}, |
|||
isDown: true, |
|||
isDownOther: true, |
|||
sid_list: { |
|||
modelSid: '', |
|||
configSid: '', |
|||
vehModelConfigSid: '', |
|||
userSid: window.sessionStorage.getItem('userSid') |
|||
} |
|||
} |
|||
}, |
|||
watch: { |
|||
params: { |
|||
deep: true, |
|||
immediate: false, |
|||
handler(newVal, oldVal) { |
|||
if (newVal.configSid !== '' && newVal.modelSid !== '') { |
|||
this.guidedPrice = newVal.guidedPrice |
|||
selectExiCarConfig({ |
|||
modelSid: newVal.modelSid, |
|||
configSid: newVal.configSid, |
|||
vehModelConfigSid: newVal.vehModelConfigSid |
|||
}).then((response) => { |
|||
this.FormLoading = false |
|||
if (response.success) { |
|||
this.formobj = response.data |
|||
} else { |
|||
this.$message({ |
|||
showClose: true, |
|||
message: '查看失败!', |
|||
type: 'error' |
|||
}) |
|||
} |
|||
}) |
|||
} else { |
|||
this.formobj = {} |
|||
this.guidedPrice = '' |
|||
} |
|||
} |
|||
} |
|||
}, |
|||
methods: { |
|||
} |
|||
} |
|||
</script> |
|||
<style scoped> |
|||
.span-sty { |
|||
width: 100px !important; |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: flex-end; |
|||
align-items: center; |
|||
} |
|||
.addinputInfo { |
|||
margin-left: 90px !important; |
|||
} |
|||
.tlineheightb { |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: flex-start; |
|||
align-items: center; |
|||
} |
|||
/deep/ .tlineheightb .el-form-item .el-form-item__content .addinputInfo { |
|||
line-height: 15px !important; |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: flex-start; |
|||
align-items: center; |
|||
} |
|||
</style> |
@ -0,0 +1,12 @@ |
|||
package com.yxt.anrui.riskcenter.api.loanreturninboundapply; |
|||
|
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/22 |
|||
**/ |
|||
@Data |
|||
public class ReturnAppVo { |
|||
} |
@ -0,0 +1,65 @@ |
|||
package com.yxt.anrui.riskcenter.api.loanreturnvehledger; |
|||
|
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/22 |
|||
**/ |
|||
@Data |
|||
public class LoanReturnVehLedgerDto { |
|||
|
|||
private String sid; |
|||
|
|||
@ApiModelProperty("车牌号") |
|||
private String vehMark; |
|||
@ApiModelProperty("车辆类型") |
|||
private String vehType; |
|||
@ApiModelProperty("车辆类型key") |
|||
private String vehTypeKey; |
|||
@ApiModelProperty("车型") |
|||
private String vehModel; |
|||
@ApiModelProperty("车型sid") |
|||
private String vehModelSid; |
|||
@ApiModelProperty("配置sid") |
|||
private String configSid; |
|||
@ApiModelProperty("配置") |
|||
private String configName; |
|||
@ApiModelProperty("客户名称") |
|||
private String customer; |
|||
@ApiModelProperty("客户sid") |
|||
private String customerSid; |
|||
@ApiModelProperty("贷款人") |
|||
private String borrowerName; |
|||
@ApiModelProperty("贷款人sid") |
|||
private String borrowerSid; |
|||
@ApiModelProperty("存放地点") |
|||
private String location; |
|||
@ApiModelProperty("存放地点sid") |
|||
private String locationSid; |
|||
@ApiModelProperty("处置方式key") |
|||
private String disposalKey; |
|||
@ApiModelProperty("处置方式") |
|||
private String disposal; |
|||
@ApiModelProperty("入库价") |
|||
private int inboundMoney; |
|||
@ApiModelProperty("入库日期") |
|||
private String inboundDate; |
|||
@ApiModelProperty("出库日期") |
|||
private String outboundDate; |
|||
@ApiModelProperty("逾期金额") |
|||
private String overMoney; |
|||
@ApiModelProperty("未到期金额") |
|||
private String notBecomeDueMoney; |
|||
|
|||
@ApiModelProperty("库存状态") |
|||
private String vehicleState; |
|||
@ApiModelProperty("库存状态key") |
|||
private String vehicleStateKey; |
|||
|
|||
} |
@ -0,0 +1,32 @@ |
|||
package com.yxt.anrui.riskcenter.api.loanreturnvehledger; |
|||
|
|||
import com.yxt.common.core.query.PagerQuery; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import com.yxt.common.core.vo.PagerVo; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import org.springframework.cloud.openfeign.FeignClient; |
|||
import org.springframework.web.bind.annotation.PostMapping; |
|||
import org.springframework.web.bind.annotation.RequestBody; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/22 |
|||
**/ |
|||
@FeignClient( |
|||
contextId = "anrui-riskcenter-LoanReturnVehLedger", |
|||
name = "anrui-riskcenter", |
|||
path = "v1/LoanReturnVehLedger", |
|||
fallback = LoanReturnVehLedgerFeignFallback.class) |
|||
public interface LoanReturnVehLedgerFeign { |
|||
|
|||
@ApiOperation("分页列表") |
|||
@PostMapping("/listPage") |
|||
ResultBean<PagerVo<LoanReturnVehLedgerVo>> pageList(@RequestBody PagerQuery<LoanReturnVehLedgerQuery> pagerQuery); |
|||
|
|||
@ApiOperation("编辑") |
|||
@PostMapping("/update") |
|||
ResultBean update(@RequestBody LoanReturnVehLedgerDto dto); |
|||
|
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.yxt.anrui.riskcenter.api.loanreturnvehledger; |
|||
|
|||
import org.springframework.stereotype.Component; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/22 |
|||
**/ |
|||
@Component |
|||
public class LoanReturnVehLedgerFeignFallback { |
|||
} |
@ -0,0 +1,48 @@ |
|||
package com.yxt.anrui.riskcenter.api.loanreturnvehledger; |
|||
|
|||
import com.yxt.common.core.query.Query; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/22 |
|||
**/ |
|||
@Data |
|||
public class LoanReturnVehLedgerQuery implements Query { |
|||
private static final long serialVersionUID = 6282512872080068571L; |
|||
|
|||
@ApiModelProperty("分公司") |
|||
private String useOrgName; |
|||
@ApiModelProperty("车架号") |
|||
private String vinNo; |
|||
@ApiModelProperty("车牌号") |
|||
private String vehMark; |
|||
@ApiModelProperty("车辆类型") |
|||
private String vehType; |
|||
@ApiModelProperty("车型") |
|||
private String vehModel; |
|||
@ApiModelProperty("客户名称") |
|||
private String customer; |
|||
@ApiModelProperty("贷款人") |
|||
private String borrowerName; |
|||
@ApiModelProperty("存放地点") |
|||
private String location; |
|||
@ApiModelProperty("处置方式key") |
|||
private String disposalKey; |
|||
@ApiModelProperty("入库日期开始") |
|||
private String inboundDateStart; |
|||
@ApiModelProperty("入库日期结束") |
|||
private String inboundDateEnd; |
|||
@ApiModelProperty("出库日期开始") |
|||
private String outboundDateStart; |
|||
@ApiModelProperty("出库日期结束") |
|||
private String outboundDateEnd; |
|||
@ApiModelProperty("库存状态") |
|||
private String vehicleState; |
|||
|
|||
private String menuUrl; |
|||
private String orgPath; |
|||
private String userSid; |
|||
} |
@ -0,0 +1,47 @@ |
|||
package com.yxt.anrui.riskcenter.api.loanreturnvehledger; |
|||
|
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/22 |
|||
**/ |
|||
@Data |
|||
public class LoanReturnVehLedgerVo { |
|||
|
|||
private String sid; |
|||
|
|||
@ApiModelProperty("分公司") |
|||
private String useOrgName; |
|||
@ApiModelProperty("车架号") |
|||
private String vinNo; |
|||
@ApiModelProperty("车牌号") |
|||
private String vehMark; |
|||
@ApiModelProperty("车辆类型") |
|||
private String vehType; |
|||
@ApiModelProperty("车型") |
|||
private String vehModel; |
|||
@ApiModelProperty("客户名称") |
|||
private String customer; |
|||
@ApiModelProperty("贷款人") |
|||
private String borrowerName; |
|||
@ApiModelProperty("逾期金额") |
|||
private String overMoney; |
|||
@ApiModelProperty("未到期金额") |
|||
private String notBecomeDueMoney; |
|||
@ApiModelProperty("存放地点") |
|||
private String location; |
|||
@ApiModelProperty("处置方式") |
|||
private String disposal; |
|||
@ApiModelProperty("入库价") |
|||
private int inboundMoney; |
|||
@ApiModelProperty("入库日期") |
|||
private String inboundDate; |
|||
@ApiModelProperty("出库日期") |
|||
private String outboundDate; |
|||
@ApiModelProperty("库存状态") |
|||
private String vehicleState; |
|||
|
|||
} |
@ -1,4 +1,38 @@ |
|||
<?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.riskcenter.biz.loanreturnvehledger.LoanReturnVehLedgerMapper"> |
|||
<select id="selectByBusVinSid" resultType="com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedger"> |
|||
select * |
|||
from loan_return_veh_ledger |
|||
where busVinSid = #{busVinSid} |
|||
</select> |
|||
|
|||
<select id="selectBusVinSid" resultType="com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle"> |
|||
select * |
|||
from anrui_buscenter.bus_sales_order_vehicle |
|||
where sid = #{busVinSid} |
|||
</select> |
|||
|
|||
<select id="selectPageVo" resultType="com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedgerVo"> |
|||
select lv.sid, |
|||
lv.useOrgName, |
|||
lv.vinNo, |
|||
lv.vehMark, |
|||
lv.vehType, |
|||
lv.vehModel, |
|||
lv.customer, |
|||
lv.borrowerName, |
|||
lv.overMoney, |
|||
lv.notBecomeDueMoney, |
|||
lv.location, |
|||
lv.disposal, |
|||
lv.inboundMoney, |
|||
DATE_FORMAT(lv.inboundDate, '%Y-%m-%d') AS inboundDate, |
|||
DATE_FORMAT(lv.outboundDate, '%Y-%m-%d') AS outboundDate, |
|||
lv.vehicleState |
|||
from loan_return_veh_ledger lv |
|||
<where> |
|||
${ew.sqlSegment} |
|||
</where> |
|||
</select> |
|||
</mapper> |
@ -0,0 +1,37 @@ |
|||
package com.yxt.anrui.riskcenter.biz.loanreturnvehledger; |
|||
|
|||
import com.yxt.anrui.riskcenter.api.loanreturninboundapply.LoanReturnInboundApplyVo; |
|||
import com.yxt.anrui.riskcenter.api.loanreturnvehledger.*; |
|||
import com.yxt.common.core.query.PagerQuery; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import com.yxt.common.core.vo.PagerVo; |
|||
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: 2024/1/22 |
|||
**/ |
|||
@RestController |
|||
@RequestMapping("v1/LoanReturnVehLedger") |
|||
@Api(tags = "交回车辆台账管理") |
|||
public class LoanReturnVehLedgerRest implements LoanReturnVehLedgerFeign { |
|||
|
|||
@Autowired |
|||
private LoanReturnVehLedgerService loanReturnVehLedgerService; |
|||
|
|||
@Override |
|||
public ResultBean<PagerVo<LoanReturnVehLedgerVo>> pageList(PagerQuery<LoanReturnVehLedgerQuery> pagerQuery) { |
|||
ResultBean<PagerVo<LoanReturnVehLedgerVo>> rb = ResultBean.fireFail(); |
|||
PagerVo<LoanReturnVehLedgerVo> pv = loanReturnVehLedgerService.listPageVo(pagerQuery); |
|||
return rb.success().setData(pv); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean update(LoanReturnVehLedgerDto dto) { |
|||
return loanReturnVehLedgerService.updateDto(dto); |
|||
} |
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.yxt.anrui.terminal.api.risk.returninbound; |
|||
|
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/22 |
|||
**/ |
|||
@Data |
|||
public class ReturnInboundAppVo { |
|||
} |
@ -0,0 +1,64 @@ |
|||
package com.yxt.anrui.terminal.api.risk.returninbound; |
|||
|
|||
import com.yxt.anrui.terminal.api.risk.overduefin.OverDueFnAppVo; |
|||
import com.yxt.anrui.terminal.api.risk.overduefin.flowable.FinDelegateQuery; |
|||
import com.yxt.anrui.terminal.api.risk.overduefin.flowable.OverdueFinDto; |
|||
import com.yxt.anrui.terminal.api.risk.overduefin.flowable.OverdueFinQuery; |
|||
import com.yxt.anrui.terminal.api.risk.overduefin.flowable.OverdueFinTaskQuery; |
|||
import com.yxt.anrui.terminal.api.risk.returninbound.flowable.ReturnInboundDelegateQuery; |
|||
import com.yxt.anrui.terminal.api.risk.returninbound.flowable.ReturnInboundDto; |
|||
import com.yxt.anrui.terminal.api.risk.returninbound.flowable.ReturnInboundQuery; |
|||
import com.yxt.anrui.terminal.api.risk.returninbound.flowable.ReturnInboundTaskQuery; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import org.springframework.cloud.openfeign.FeignClient; |
|||
import org.springframework.cloud.openfeign.SpringQueryMap; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/22 |
|||
**/ |
|||
@FeignClient( |
|||
contextId = "terminal-ReturnInbound", |
|||
name = "anrui-terminal", |
|||
path = "/risk/v1/ReturnInbound", |
|||
fallback = ReturnInboundFeignFallback.class) |
|||
public interface ReturnInboundFeign { |
|||
|
|||
@ApiOperation("办理") |
|||
@PutMapping("/agreeReturnInbound") |
|||
@ResponseBody |
|||
ResultBean agreeReturnInbound(@RequestBody ReturnInboundDto dto); |
|||
|
|||
@ApiOperation("驳回") |
|||
@PutMapping("/rejectReturnInbound") |
|||
@ResponseBody |
|||
ResultBean rejectReturnInbound(@RequestBody ReturnInboundTaskQuery query); |
|||
|
|||
@ApiOperation("撤回") |
|||
@PutMapping("/recallReturnInbound") |
|||
@ResponseBody |
|||
ResultBean recallReturnInbound(@RequestBody ReturnInboundTaskQuery query); |
|||
|
|||
@ApiOperation("终止") |
|||
@PutMapping("/stopReturnInbound") |
|||
@ResponseBody |
|||
ResultBean stopReturnInbound(@RequestBody ReturnInboundTaskQuery query); |
|||
|
|||
@ApiOperation("获取流程操作标题") |
|||
@GetMapping("/getFlowOperateTitle") |
|||
@ResponseBody |
|||
ResultBean<String> getFlowOperateTitle(@SpringQueryMap ReturnInboundQuery query); |
|||
|
|||
@ApiOperation("详情") |
|||
@GetMapping("/getReturnInbound/{sid}") |
|||
@ResponseBody |
|||
ResultBean<ReturnInboundAppVo> getReturnInbound(@PathVariable("sid") String sid); |
|||
|
|||
@ApiOperation(value = "加签") |
|||
@PutMapping(value = "/delegate") |
|||
@ResponseBody |
|||
public ResultBean delegate(@RequestBody ReturnInboundDelegateQuery delegateQuery); |
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.yxt.anrui.terminal.api.risk.returninbound; |
|||
|
|||
import org.springframework.stereotype.Component; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/22 |
|||
**/ |
|||
@Component |
|||
public class ReturnInboundFeignFallback { |
|||
} |
@ -0,0 +1,25 @@ |
|||
package com.yxt.anrui.terminal.api.risk.returninbound.flowable; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonProperty; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/22 |
|||
**/ |
|||
@Data |
|||
public class ReturnInboundDelegateQuery { |
|||
|
|||
private String userSid; |
|||
@ApiModelProperty("流程实例id") |
|||
@JsonProperty("procInsId") |
|||
private String instanceId; |
|||
@ApiModelProperty("任务Id") |
|||
private String taskId; |
|||
@ApiModelProperty("审批人sid") |
|||
private String assignee; |
|||
@ApiModelProperty("填写意见") |
|||
private String views; |
|||
} |
@ -0,0 +1,35 @@ |
|||
package com.yxt.anrui.terminal.api.risk.returninbound.flowable; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonProperty; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/22 |
|||
**/ |
|||
@Data |
|||
public class ReturnInboundDto { |
|||
|
|||
@ApiModelProperty(value = "任务id") |
|||
@NotBlank(message = "参数错误:taskId") |
|||
private String taskId; |
|||
@ApiModelProperty(value = "流程id") |
|||
@NotBlank(message = "参数错误:procInsId") |
|||
@JsonProperty("procInsId") |
|||
private String instanceId; |
|||
@ApiModelProperty(value = "意见") |
|||
private String comment; |
|||
@ApiModelProperty(value = "业务sid") |
|||
@NotBlank(message = "参数错误:businessSid") |
|||
private String businessSid; |
|||
@ApiModelProperty(value = "用户sid") |
|||
@NotBlank(message = "参数错误:userSid") |
|||
private String userSid; |
|||
@ApiModelProperty(value = "节点id") |
|||
@NotBlank(message = "参数错误:taskDefKey") |
|||
private String taskDefKey; |
|||
} |
@ -0,0 +1,23 @@ |
|||
package com.yxt.anrui.terminal.api.risk.returninbound.flowable; |
|||
|
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotNull; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/22 |
|||
**/ |
|||
@Data |
|||
public class ReturnInboundQuery { |
|||
|
|||
@ApiModelProperty(value = "节点key") |
|||
private String taskDefKey; |
|||
@ApiModelProperty(value = "业务sid") |
|||
private String businessSid; |
|||
@ApiModelProperty(value = "0 上一环节 1下一环节") |
|||
@NotNull(message = "参数错误:next") |
|||
private Integer next; |
|||
} |
@ -0,0 +1,45 @@ |
|||
package com.yxt.anrui.terminal.api.risk.returninbound.flowable; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonProperty; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/22 |
|||
**/ |
|||
@Data |
|||
public class ReturnInboundTaskQuery { |
|||
|
|||
/** |
|||
* 终止、驳回、撤回 |
|||
*/ |
|||
@ApiModelProperty("任务Id") |
|||
@NotBlank(message = "参数错误:taskId") |
|||
private String taskId; |
|||
/** |
|||
* 终止、驳回、撤回 |
|||
*/ |
|||
@ApiModelProperty("业务sid") |
|||
@NotBlank(message = "参数错误:businessSid") |
|||
private String businessSid; |
|||
/** |
|||
* 终止、驳回 |
|||
*/ |
|||
@ApiModelProperty("任务意见") |
|||
private String comment; |
|||
/** |
|||
* 终止、撤回、驳回 |
|||
*/ |
|||
@ApiModelProperty("用户Sid") |
|||
private String userSid; |
|||
/** |
|||
* 终止 |
|||
*/ |
|||
@ApiModelProperty("流程实例Id") |
|||
@JsonProperty("procInsId") |
|||
private String instanceId; |
|||
} |
@ -0,0 +1,62 @@ |
|||
package com.yxt.anrui.terminal.biz.risk.returninbound; |
|||
|
|||
import com.yxt.anrui.terminal.api.risk.returninbound.ReturnInboundAppVo; |
|||
import com.yxt.anrui.terminal.api.risk.returninbound.ReturnInboundFeign; |
|||
import com.yxt.anrui.terminal.api.risk.returninbound.flowable.ReturnInboundDelegateQuery; |
|||
import com.yxt.anrui.terminal.api.risk.returninbound.flowable.ReturnInboundDto; |
|||
import com.yxt.anrui.terminal.api.risk.returninbound.flowable.ReturnInboundQuery; |
|||
import com.yxt.anrui.terminal.api.risk.returninbound.flowable.ReturnInboundTaskQuery; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import io.swagger.annotations.Api; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Controller; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/22 |
|||
**/ |
|||
@Controller |
|||
@RequestMapping("/risk/v1/ReturnInbound") |
|||
@Api(tags = "交回车辆入库申请审批") |
|||
public class ReturnInboundRest implements ReturnInboundFeign { |
|||
|
|||
@Autowired |
|||
private ReturnInboundService returnInboundService; |
|||
|
|||
@Override |
|||
public ResultBean agreeReturnInbound(ReturnInboundDto dto) { |
|||
return returnInboundService.agreeReturnInbound(dto); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean rejectReturnInbound(ReturnInboundTaskQuery query) { |
|||
return returnInboundService.rejectReturnInbound(query); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean recallReturnInbound(ReturnInboundTaskQuery query) { |
|||
return returnInboundService.recallReturnInbound(query); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean stopReturnInbound(ReturnInboundTaskQuery query) { |
|||
return returnInboundService.stopReturnInbound(query); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean<String> getFlowOperateTitle(ReturnInboundQuery query) { |
|||
return returnInboundService.getFlowOperateTitle(query); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean<ReturnInboundAppVo> getReturnInbound(String sid) { |
|||
return returnInboundService.getReturnInbound(sid); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean delegate(ReturnInboundDelegateQuery delegateQuery) { |
|||
return returnInboundService.delegate(delegateQuery); |
|||
} |
|||
} |
@ -0,0 +1,115 @@ |
|||
package com.yxt.anrui.terminal.biz.risk.returninbound; |
|||
|
|||
import cn.hutool.core.bean.BeanUtil; |
|||
import com.yxt.anrui.riskcenter.api.loanoverduefin.flowable.*; |
|||
import com.yxt.anrui.riskcenter.api.loanreturninboundapply.LoanReturnInboundApply; |
|||
import com.yxt.anrui.riskcenter.api.loanreturninboundapply.LoanReturnInboundApplyFeign; |
|||
import com.yxt.anrui.riskcenter.api.loanreturninboundapply.flowable.*; |
|||
import com.yxt.anrui.terminal.api.risk.returninbound.ReturnInboundAppVo; |
|||
import com.yxt.anrui.terminal.api.risk.returninbound.flowable.ReturnInboundDelegateQuery; |
|||
import com.yxt.anrui.terminal.api.risk.returninbound.flowable.ReturnInboundDto; |
|||
import com.yxt.anrui.terminal.api.risk.returninbound.flowable.ReturnInboundQuery; |
|||
import com.yxt.anrui.terminal.api.risk.returninbound.flowable.ReturnInboundTaskQuery; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.Collections; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/1/22 |
|||
**/ |
|||
@Service |
|||
public class ReturnInboundService { |
|||
@Autowired |
|||
private LoanReturnInboundApplyFeign loanReturnInboundApplyFeign; |
|||
|
|||
public ResultBean agreeReturnInbound(ReturnInboundDto dto) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
CompleteReturnInboundDto completeDto = new CompleteReturnInboundDto(); |
|||
BeanUtil.copyProperties(dto, completeDto); |
|||
ResultBean resultBean = loanReturnInboundApplyFeign.complete(completeDto); |
|||
if (!resultBean.getSuccess()) { |
|||
return rb.setMsg(resultBean.getMsg()); |
|||
} |
|||
return rb.success().setData(resultBean.getData()); |
|||
} |
|||
|
|||
public ResultBean rejectReturnInbound(ReturnInboundTaskQuery query) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
ReturnInboundApplyTaskQuery returnInboundApplyTaskQuery = new ReturnInboundApplyTaskQuery(); |
|||
BeanUtil.copyProperties(query, returnInboundApplyTaskQuery); |
|||
ResultBean resultBean = loanReturnInboundApplyFeign.taskReject(returnInboundApplyTaskQuery); |
|||
if (!resultBean.getSuccess()) { |
|||
return rb.setMsg(resultBean.getMsg()); |
|||
} |
|||
return rb.success().setData(resultBean.getData()); |
|||
} |
|||
|
|||
public ResultBean recallReturnInbound(ReturnInboundTaskQuery query) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
ReturnInboundApplyTaskQuery returnInboundApplyTaskQuery = new ReturnInboundApplyTaskQuery(); |
|||
BeanUtil.copyProperties(query, returnInboundApplyTaskQuery); |
|||
ResultBean resultBean = loanReturnInboundApplyFeign.revokeProcess(returnInboundApplyTaskQuery); |
|||
if (!resultBean.getSuccess()) { |
|||
return rb.setMsg(resultBean.getMsg()); |
|||
} |
|||
return rb.success().setData(resultBean.getData()); |
|||
} |
|||
|
|||
public ResultBean stopReturnInbound(ReturnInboundTaskQuery query) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
ReturnInboundApplyTaskQuery returnInboundApplyTaskQuery = new ReturnInboundApplyTaskQuery(); |
|||
BeanUtil.copyProperties(query, returnInboundApplyTaskQuery); |
|||
ResultBean resultBean = loanReturnInboundApplyFeign.breakProcess(returnInboundApplyTaskQuery); |
|||
if (!resultBean.getSuccess()) { |
|||
return rb.setMsg(resultBean.getMsg()); |
|||
} |
|||
return rb.success().setData(resultBean.getData()); |
|||
} |
|||
|
|||
public ResultBean<String> getFlowOperateTitle(ReturnInboundQuery query) { |
|||
ResultBean<String> rb = ResultBean.fireFail(); |
|||
//0 上一环节 1下一环节
|
|||
int next = query.getNext(); |
|||
ReturnInboundApplyNodeQuery getNodeQuery = new ReturnInboundApplyNodeQuery(); |
|||
BeanUtil.copyProperties(query, getNodeQuery); |
|||
String data = ""; |
|||
if (next == 0) { |
|||
ResultBean<List<ReturnInboundApplyNodeVo>> getPreviousNodesForReject = loanReturnInboundApplyFeign.getPreviousNodesForReject(getNodeQuery); |
|||
if (getPreviousNodesForReject.getSuccess()) { |
|||
getPreviousNodesForReject.getData().removeAll(Collections.singleton(null)); |
|||
data = getPreviousNodesForReject.getData().get(0).getName(); |
|||
} else { |
|||
return rb.setMsg(getPreviousNodesForReject.getMsg()); |
|||
} |
|||
} else if (next == 1) { |
|||
ResultBean<List<ReturnInboundApplyNodeVo>> getNextNodesForSubmit = loanReturnInboundApplyFeign.getNextNodesForSubmit(getNodeQuery); |
|||
if (getNextNodesForSubmit.getSuccess()) { |
|||
getNextNodesForSubmit.getData().removeAll(Collections.singleton(null)); |
|||
data = getNextNodesForSubmit.getData().get(0).getName(); |
|||
} else { |
|||
return rb.setMsg(getNextNodesForSubmit.getMsg()); |
|||
} |
|||
} else { |
|||
return rb.setMsg("参数错误:next"); |
|||
} |
|||
return rb.success().setData(data); |
|||
} |
|||
|
|||
public ResultBean<ReturnInboundAppVo> getReturnInbound(String sid) { |
|||
return null; |
|||
} |
|||
|
|||
public ResultBean delegate(ReturnInboundDelegateQuery delegateQuery) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
ReturnInboundApplyDelegateQuery delegateQuery1 = new |
|||
ReturnInboundApplyDelegateQuery(); |
|||
BeanUtil.copyProperties(delegateQuery, delegateQuery1); |
|||
ResultBean delegate = loanReturnInboundApplyFeign.delegate(delegateQuery1); |
|||
return rb.success(); |
|||
} |
|||
} |
Loading…
Reference in new issue