Browse Source

Merge remote-tracking branch 'origin/master'

master
God 1 year ago
parent
commit
2465995ae5
  1. 4
      anrui-riskcenter-ui/src/views/alsotransfer/alsotransfer.vue
  2. 2
      anrui-riskcenter-ui/src/views/returntostorage/returntostorage.vue
  3. 2
      anrui-riskcenter-ui/src/views/workFlow/jiaohuirukuFlow/returntostorageDaiBan.vue
  4. 2
      anrui-riskcenter-ui/src/views/workFlow/jiaohuirukuFlow/returntostorageEdit.vue
  5. 2
      anrui-riskcenter-ui/src/views/workFlow/jiaohuirukuFlow/returntostorageYiBan.vue
  6. 65
      anrui-riskcenter-ui/src/views/workFlow/publicPage/criterion.vue
  7. 307
      anrui-riskcenter-ui/src/views/workFlow/publicPage/vehicleconfiguration.vue
  8. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturninboundapply/LoanReturnInboundApplyDto.java
  9. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturninboundapply/LoanReturnInboundApplyFeign.java
  10. 12
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturninboundapply/ReturnAppVo.java
  11. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturnvehledger/LoanReturnVehLedger.java
  12. 65
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturnvehledger/LoanReturnVehLedgerDto.java
  13. 32
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturnvehledger/LoanReturnVehLedgerFeign.java
  14. 12
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturnvehledger/LoanReturnVehLedgerFeignFallback.java
  15. 48
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturnvehledger/LoanReturnVehLedgerQuery.java
  16. 47
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturnvehledger/LoanReturnVehLedgerVo.java
  17. 6
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml
  18. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java
  19. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturninboundapply/LoanReturnInboundApplyMapper.java
  20. 9
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturninboundapply/LoanReturnInboundApplyMapper.xml
  21. 5
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturninboundapply/LoanReturnInboundApplyRest.java
  22. 19
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturninboundapply/LoanReturnInboundApplyService.java
  23. 12
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturnvehledger/LoanReturnVehLedgerMapper.java
  24. 34
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturnvehledger/LoanReturnVehLedgerMapper.xml
  25. 37
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturnvehledger/LoanReturnVehLedgerRest.java
  26. 184
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturnvehledger/LoanReturnVehLedgerService.java
  27. 12
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/returninbound/ReturnInboundAppVo.java
  28. 64
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/returninbound/ReturnInboundFeign.java
  29. 12
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/returninbound/ReturnInboundFeignFallback.java
  30. 25
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/returninbound/flowable/ReturnInboundDelegateQuery.java
  31. 35
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/returninbound/flowable/ReturnInboundDto.java
  32. 23
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/returninbound/flowable/ReturnInboundQuery.java
  33. 45
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/returninbound/flowable/ReturnInboundTaskQuery.java
  34. 62
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/returninbound/ReturnInboundRest.java
  35. 115
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/returninbound/ReturnInboundService.java

4
anrui-riskcenter-ui/src/views/alsotransfer/alsotransfer.vue

@ -67,8 +67,8 @@
<!-- <el-table-column prop="spread" label="息差" align="center" width="100" />-->
<el-table-column prop="transferPrincipal" label="转付资方月还" align="center" width="120" />
<el-table-column prop="defaultInterest" label="转付资方逾期利息" align="center" width="140" />
<el-table-column prop="account" label="收款账户名称" align="center" width="120" />
<el-table-column prop="accountNumber" label="收款账号" align="center" width="100" />
<el-table-column prop="account" label="收款账户名称" align="center" width="160" />
<el-table-column prop="accountNumber" label="收款账号" align="center" width="160" />
</el-table>
</div>
<div class="pages">

2
anrui-riskcenter-ui/src/views/returntostorage/returntostorage.vue

@ -350,7 +350,7 @@ export default {
this.centerDialogVisible = true
var params = {
deployId: row.procDefId,
procInsId: row.procInstSid,
procInsId: row.procInstId,
token: getStorage()
}
this.url = '/#/flow/flowRecordForBusiness?data=' + encodeURI((JSON.stringify(params)))

2
anrui-riskcenter-ui/src/views/workFlow/jiaohuirukuFlow/returntostorageDaiBan.vue

@ -206,7 +206,7 @@
<script>
import req from '@/api/returntostorage/returntostorage'
import criterion from '@/components/publicPage/criterion'
import criterion from '../publicPage/criterion'
import { selectStaffListss } from '@/api/Common/dictcommons'
export default {

2
anrui-riskcenter-ui/src/views/workFlow/jiaohuirukuFlow/returntostorageEdit.vue

@ -179,7 +179,7 @@
import req from '@/api/returntostorage/returntostorage'
import { typeValues } from '@/api/Common/dictcommons'
import uploadImg from '@/components/uploadFile/uploadImg'
import criterion from '@/components/publicPage/criterion'
import criterion from '../publicPage/criterion'
export default {
name: 'ReturnToStorageEdit',

2
anrui-riskcenter-ui/src/views/workFlow/jiaohuirukuFlow/returntostorageYiBan.vue

@ -165,7 +165,7 @@
<script>
import req from '@/api/returntostorage/returntostorage'
import criterion from '@/components/publicPage/criterion'
import criterion from '../publicPage/criterion'
export default {
name: 'ReturnToStorageYiBan',

65
anrui-riskcenter-ui/src/views/workFlow/publicPage/criterion.vue

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

307
anrui-riskcenter-ui/src/views/workFlow/publicPage/vehicleconfiguration.vue

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

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturninboundapply/LoanReturnInboundApplyDto.java

@ -96,5 +96,7 @@ public class LoanReturnInboundApplyDto implements Dto {
private String orgPath;
private String userSid;
private String busVinSid;
}

4
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturninboundapply/LoanReturnInboundApplyFeign.java

@ -76,4 +76,8 @@ public interface LoanReturnInboundApplyFeign {
@PostMapping(value = "/delegate")
public ResultBean delegate(@RequestBody ReturnInboundApplyDelegateQuery query);
@ApiOperation(value = "移动端详情")
@GetMapping(value = "/getDetailsApp")
ResultBean<ReturnAppVo> getDetailsApp(@RequestParam("sid") String sid);
}

12
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturninboundapply/ReturnAppVo.java

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

4
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturnvehledger/LoanReturnVehLedger.java

@ -71,6 +71,10 @@ public class LoanReturnVehLedger extends BaseEntity {
private String saleOrderSid;
@ApiModelProperty("销售订单车辆sid")
private String busVinSid;
@ApiModelProperty("库存状态")
private String vehicleState;
@ApiModelProperty("库存状态key")
private String vehicleStateKey;
}

65
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturnvehledger/LoanReturnVehLedgerDto.java

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

32
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturnvehledger/LoanReturnVehLedgerFeign.java

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

12
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturnvehledger/LoanReturnVehLedgerFeignFallback.java

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

48
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturnvehledger/LoanReturnVehLedgerQuery.java

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

47
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturnvehledger/LoanReturnVehLedgerVo.java

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

6
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml

@ -179,8 +179,10 @@
resultType="com.yxt.anrui.riskcenter.api.loanrepaymenthistory.RepaymentStatisticsVo">
SELECT DISTINCT
a.*,
(SELECT c.bankBeInter FROM loan_be_padsincere_veh as c WHERE c.saleVehSid = a.busVinSid AND c.period = a.period)
as bankBeInter
IFNULL((SELECT SUM(c.bankBeInter) FROM loan_be_padsincere_apply as ap
LEFT JOIN loan_be_padsincere_veh as c on ap.sid = c.mainSid
WHERE c.saleVehSid = a.busVinSid AND c.period = a.period AND ap.nodeState = '已办结'
),0) as bankBeInter
FROM
(
SELECT

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java

@ -773,7 +773,7 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
Date today = new Date();
String f = sdf.format(today);
Date date = sdf.parse(f);
if (u.compareTo(date) == 0) {
if (u.compareTo(date) >= 0) {
Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历
cal_1.setTime(date);
cal_1.add(Calendar.DAY_OF_MONTH, -1);

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturninboundapply/LoanReturnInboundApplyMapper.java

@ -37,4 +37,6 @@ public interface LoanReturnInboundApplyMapper extends BaseMapper<LoanReturnInbou
IPage<ReturnInboundVo> getInboundList(IPage<LoanReturnInboundApply> page, @Param(Constants.WRAPPER) QueryWrapper<LoanReturnInboundApply> qw, @Param("list") List<String> busVinSid);
BusSalesOrder selectOrder(String busVinSid);
int selectByBusVinSid(String busVinSid);
}

9
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturninboundapply/LoanReturnInboundApplyMapper.xml

@ -155,4 +155,13 @@
left join anrui_buscenter.bus_sales_order_vehicle bv on bv.salesOrderSid = bo.sid
where bv.sid = #{busVinSid}
</select>
<select id="selectByBusVinSid" resultType="int">
select ifnull(sum(a.vehcount),0) from (
select count(*) as vehcount from loan_return_veh_ledger where busVinSid = #{busVinSid}
union all
select count(*) as vehcount from loan_return_inbound_apply where busVinSid = #{busVinSid} and
LENGTH(nodeState)>0 and nodeState != '终止'
) a
</select>
</mapper>

5
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturninboundapply/LoanReturnInboundApplyRest.java

@ -98,4 +98,9 @@ public class LoanReturnInboundApplyRest implements LoanReturnInboundApplyFeign {
public ResultBean delegate(ReturnInboundApplyDelegateQuery query) {
return loanReturnInboundApplyService.delegate(query);
}
@Override
public ResultBean<ReturnAppVo> getDetailsApp(String sid) {
return loanReturnInboundApplyService.getDetailsApp(sid);
}
}

19
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturninboundapply/LoanReturnInboundApplyService.java

@ -458,8 +458,11 @@ public class LoanReturnInboundApplyService extends MybatisBaseService<LoanReturn
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
//根据busVinSid查询车辆是否已入库
//根据busVinSid查询车辆是否已入库或审批中
int count = baseMapper.selectByBusVinSid(dto.getBusVinSid());
if (count > 0) {
return rb.setMsg("该车辆交回入库审批中或已入库");
}
ResultBean<String> resultBean = saveOrUpdateReturnInbound(dto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
@ -701,11 +704,11 @@ public class LoanReturnInboundApplyService extends MybatisBaseService<LoanReturn
QueryWrapper<LoanReturnInboundApply> qw = new QueryWrapper<>();
List<String> busVinSid = new ArrayList<>();
if (query != null) {
if(StringUtils.isNotBlank(query.getVinNo())){
qw.like("la.vinNo",query.getVinNo());
if (StringUtils.isNotBlank(query.getVinNo())) {
qw.like("la.vinNo", query.getVinNo());
}
if(StringUtils.isNotBlank(query.getVehMark())){
qw.like("la.carNum",query.getVehMark());
if (StringUtils.isNotBlank(query.getVehMark())) {
qw.like("la.carNum", query.getVehMark());
}
if (StringUtils.isNotBlank(query.getOrgPath())) {
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(query.getOrgPath()).getData();
@ -722,6 +725,10 @@ public class LoanReturnInboundApplyService extends MybatisBaseService<LoanReturn
return p;
}
public ResultBean<ReturnAppVo> getDetailsApp(String sid) {
return null;
}
/* public ResultBean<List<ReturnInboundVo>> getInboundList(String useOrgSid) {
ResultBean<List<ReturnInboundVo>> rb = ResultBean.fireFail();
List<String> busVinSid = baseMapper.selectVehInbound(useOrgSid);

12
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturnvehledger/LoanReturnVehLedgerMapper.java

@ -1,8 +1,15 @@
package com.yxt.anrui.riskcenter.biz.loanreturnvehledger;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedger;
import com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedgerQuery;
import com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedgerVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* @description:
@ -11,4 +18,9 @@ import org.apache.ibatis.annotations.Mapper;
**/
@Mapper
public interface LoanReturnVehLedgerMapper extends BaseMapper<LoanReturnVehLedger> {
LoanReturnVehLedger selectByBusVinSid(String busVinSid);
BusSalesOrderVehicle selectBusVinSid(String busVinSid);
IPage<LoanReturnVehLedgerVo> selectPageVo(IPage<LoanReturnVehLedger> page, @Param(Constants.WRAPPER) QueryWrapper<LoanReturnVehLedgerQuery> qw);
}

34
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturnvehledger/LoanReturnVehLedgerMapper.xml

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

37
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturnvehledger/LoanReturnVehLedgerRest.java

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

184
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturnvehledger/LoanReturnVehLedgerService.java

@ -1,15 +1,34 @@
package com.yxt.anrui.riskcenter.biz.loanreturnvehledger;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.riskcenter.api.loanreturninboundapply.LoanReturnInboundApply;
import com.yxt.anrui.riskcenter.api.loanreturninboundapply.LoanReturnInboundApplyQuery;
import com.yxt.anrui.riskcenter.api.loanreturninboundapply.LoanReturnInboundApplyVo;
import com.yxt.anrui.riskcenter.api.loanreturninboundtrailer.LoanReturnInboundTrailer;
import com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedger;
import com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedgerDto;
import com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedgerQuery;
import com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedgerVo;
import com.yxt.anrui.riskcenter.biz.loanreturninboundapply.LoanReturnInboundApplyService;
import com.yxt.anrui.riskcenter.biz.loanreturninboundtrailer.LoanReturnInboundTrailerService;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.Date;
import java.util.List;
/**
* @description:
* @author: dimengzhe
@ -23,8 +42,11 @@ public class LoanReturnVehLedgerService extends MybatisBaseService<LoanReturnVeh
private LoanReturnInboundApplyService loanReturnInboundApplyService;
@Autowired
private LoanReturnInboundTrailerService loanReturnInboundTrailerService;
@Autowired
private SysUserFeign sysUserFeign;
public ResultBean saveVehLedger(String businessSid) {
ResultBean rb = ResultBean.fireFail();
//查询交回入库申请办结的主车信息
LoanReturnInboundApply loanReturnInboundApply = loanReturnInboundApplyService.fetchBySid(businessSid);
LoanReturnInboundTrailer loanReturnInboundTrailer = null;
@ -33,7 +55,167 @@ public class LoanReturnVehLedgerService extends MybatisBaseService<LoanReturnVeh
loanReturnInboundTrailer = loanReturnInboundTrailerService.selectByMainSid(businessSid);
}
//ToDo:查询该车是否已入库,若已入库则不重复入库
LoanReturnVehLedger loanReturnVehLedger = baseMapper.selectByBusVinSid(loanReturnInboundApply.getBusVinSid());
if (loanReturnVehLedger == null) {
loanReturnVehLedger = new LoanReturnVehLedger();
loanReturnVehLedger.setVinSid(loanReturnInboundApply.getVinSid());
loanReturnVehLedger.setVinNo(loanReturnInboundApply.getVinNo());
loanReturnVehLedger.setVehMark(loanReturnInboundApply.getVehMark());
loanReturnVehLedger.setVehType("主车");
loanReturnVehLedger.setVehModel(loanReturnInboundApply.getModelName());
loanReturnVehLedger.setVehModelSid(loanReturnInboundApply.getModelSid());
loanReturnVehLedger.setConfigSid(loanReturnInboundApply.getConfigSid());
loanReturnVehLedger.setConfigName(loanReturnInboundApply.getConfigName());
loanReturnVehLedger.setCustomer(loanReturnInboundApply.getCustomerName());
loanReturnVehLedger.setCustomerSid(loanReturnInboundApply.getCustomerSid());
loanReturnVehLedger.setBorrowerName(loanReturnInboundApply.getLoanName());
loanReturnVehLedger.setBorrowerSid(loanReturnInboundApply.getLoanSid());
loanReturnVehLedger.setLocation(loanReturnInboundApply.getLocationName());
// loanReturnVehLedger.setDisposal();
// loanReturnVehLedger.setDisposalKey();
loanReturnVehLedger.setInboundMoney(loanReturnInboundApply.getInboundMoney());
loanReturnVehLedger.setInboundDate(new Date());
loanReturnVehLedger.setUseOrgSid(loanReturnInboundApply.getUseOrgSid());
loanReturnVehLedger.setUseOrgName(loanReturnInboundApply.getUseOrgName());
loanReturnVehLedger.setOrgSidPath(loanReturnInboundApply.getOrgSidPath());
loanReturnVehLedger.setPSid("0");
loanReturnVehLedger.setBusVinSid(loanReturnInboundApply.getBusVinSid());
BusSalesOrderVehicle busSalesOrderVehicle = baseMapper.selectBusVinSid(loanReturnVehLedger.getBusVinSid());
loanReturnVehLedger.setSaleOrderSid(busSalesOrderVehicle.getSalesOrderSid());
loanReturnVehLedger.setVehicleState("库存");
baseMapper.insert(loanReturnVehLedger);
if (loanReturnInboundTrailer != null) {
LoanReturnVehLedger loanReturnVehLedgerTrailer = new LoanReturnVehLedger();
loanReturnVehLedgerTrailer.setVehMark(loanReturnInboundTrailer.getVehMark());
loanReturnVehLedgerTrailer.setVinNo(loanReturnInboundTrailer.getVinNo());
loanReturnVehLedgerTrailer.setVinSid(loanReturnInboundTrailer.getVinSid());
loanReturnVehLedgerTrailer.setVehModel(loanReturnInboundTrailer.getTrailerType());
loanReturnVehLedgerTrailer.setUseOrgName(loanReturnInboundApply.getUseOrgName());
loanReturnVehLedgerTrailer.setUseOrgSid(loanReturnInboundApply.getUseOrgSid());
loanReturnVehLedgerTrailer.setPSid(loanReturnVehLedger.getSid());
loanReturnVehLedgerTrailer.setCustomer(loanReturnInboundApply.getCustomerName());
loanReturnVehLedgerTrailer.setCustomerSid(loanReturnInboundApply.getCustomerSid());
loanReturnVehLedgerTrailer.setVehicleState("库存");
loanReturnVehLedgerTrailer.setBorrowerSid(loanReturnInboundApply.getLoanSid());
loanReturnVehLedgerTrailer.setBorrowerName(loanReturnInboundApply.getLoanName());
// loanReturnVehLedgerTrailer.setDisposal();
// loanReturnVehLedgerTrailer.setDisposalKey();
loanReturnVehLedgerTrailer.setInboundMoney(loanReturnInboundApply.getInboundMoney());
loanReturnVehLedgerTrailer.setInboundDate(new Date());
loanReturnVehLedgerTrailer.setOrgSidPath(loanReturnInboundApply.getOrgSidPath());
baseMapper.insert(loanReturnVehLedgerTrailer);
}
}
return rb.success();
}
return null;
public PagerVo<LoanReturnVehLedgerVo> listPageVo(PagerQuery<LoanReturnVehLedgerQuery> pagerQuery) {
LoanReturnVehLedgerQuery query = pagerQuery.getParams();
QueryWrapper<LoanReturnVehLedgerQuery> qw = new QueryWrapper<>();
if (query != null) {
//分公司
if (StringUtils.isNotBlank(query.getUseOrgName())) {
qw.like("lv.useOrgName", query.getUseOrgName());
}
//车架号
if (StringUtils.isNotBlank(query.getVinNo())) {
qw.like("lv.vinNo", query.getVinNo());
}
//车牌号
if (StringUtils.isNotBlank(query.getVehMark())) {
qw.like("lv.vehMark", query.getVehMark());
}
//车辆类型
if (StringUtils.isNotBlank(query.getVehType())) {
qw.like("lv.vehType", query.getVehType());
}
//车型
if (StringUtils.isNotBlank(query.getVehModel())) {
qw.like("lv.vehModel", query.getVehModel());
}
//客户名称
if (StringUtils.isNotBlank(query.getCustomer())) {
qw.like("lv.customer", query.getCustomer());
}
//贷款人
if (StringUtils.isNotBlank(query.getBorrowerName())) {
qw.like("lv.borrowerName", query.getBorrowerName());
}
//存放地点
if (StringUtils.isNotBlank(query.getLocation())) {
qw.like("lv.location", query.getLocation());
}
//处置方式
if (StringUtils.isNotBlank(query.getDisposalKey())) {
qw.eq("lv.disposalKey", query.getDisposalKey());
}
//入库日期开始
qw.apply(StringUtils.isNotBlank(query.getInboundDateStart()), "date_format (lv.inboundDate,'%Y-%m-%d') >= date_format('" + query.getInboundDateStart() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getInboundDateEnd()), "date_format (lv.inboundDate,'%Y-%m-%d') <= date_format('" + query.getInboundDateEnd() + "','%Y-%m-%d')"
);
//出库日期开始
qw.apply(StringUtils.isNotBlank(query.getInboundDateStart()), "date_format (lv.outboundDate,'%Y-%m-%d') >= date_format('" + query.getInboundDateStart() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getInboundDateEnd()), "date_format (lv.outboundDate,'%Y-%m-%d') <= date_format('" + query.getInboundDateEnd() + "','%Y-%m-%d')"
);
//========================================数据授权开始
if (StringUtils.isNotBlank(query.getMenuUrl())) {
//=======================
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setMenuUrl(query.getMenuUrl());
privilegeQuery.setUserSid(query.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = query.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("lv.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("lv.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("lv.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("lv.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("lv.createBySid", query.getUserSid());
} else {
PagerVo<LoanReturnVehLedgerVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<LoanReturnVehLedgerVo> p = new PagerVo<>();
return p;
}
}
}
qw.orderByDesc("lv.createTime");
IPage<LoanReturnVehLedger> page = PagerUtil.queryToPage(pagerQuery);
IPage<LoanReturnVehLedgerVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<LoanReturnVehLedgerVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public ResultBean updateDto(LoanReturnVehLedgerDto dto) {
ResultBean rb = ResultBean.fireFail();
String sid = dto.getSid();
LoanReturnVehLedger loanReturnVehLedger = fetchBySid(sid);
if (loanReturnVehLedger == null) {
return rb.setMsg("该车辆台账不存在");
}
BeanUtil.copyProperties(dto, loanReturnVehLedger, "sid");
baseMapper.updateById(loanReturnVehLedger);
return rb.success();
}
}

12
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/returninbound/ReturnInboundAppVo.java

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

64
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/returninbound/ReturnInboundFeign.java

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

12
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/returninbound/ReturnInboundFeignFallback.java

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

25
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/returninbound/flowable/ReturnInboundDelegateQuery.java

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

35
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/returninbound/flowable/ReturnInboundDto.java

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

23
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/returninbound/flowable/ReturnInboundQuery.java

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

45
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/returninbound/flowable/ReturnInboundTaskQuery.java

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

62
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/returninbound/ReturnInboundRest.java

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

115
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/returninbound/ReturnInboundService.java

@ -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…
Cancel
Save