Browse Source

Merge remote-tracking branch 'origin/master'

master
God 2 years ago
parent
commit
232f8926cf
  1. 3
      anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/kaipiaoguanliFlow/finginvoiceapplyByFileDaiBanInfo.vue
  2. 3
      anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/kaipiaoguanliFlow/finginvoiceapplyDaiBanInfo.vue
  3. 3
      anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/kaipiaoguanliFlow/finginvoiceapplyYiBanInfo.vue
  4. 178
      anrui-riskcenter-ui/src/components/uploadFile/FaImages.vue
  5. 155
      anrui-riskcenter-ui/src/components/uploadFile/FileUpload.vue
  6. 132
      anrui-riskcenter-ui/src/components/uploadFile/ImageUpload.vue
  7. 159
      anrui-riskcenter-ui/src/components/uploadFile/ImageUploadChe.vue
  8. 229
      anrui-riskcenter-ui/src/components/uploadFile/ManyImageUpload.vue
  9. 116
      anrui-riskcenter-ui/src/components/uploadFile/index.vue
  10. 194
      anrui-riskcenter-ui/src/components/uploadFile/upload.vue
  11. 23
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyFeign.java
  12. 7
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyFeignFallback.java
  13. 1
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/AppPolicyDetailsVo.java
  14. 3
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyVo.java
  15. 7
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyFeign.java
  16. 5
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyMapper.java
  17. 35
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyRest.java
  18. 105
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyService.java
  19. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyMapper.xml
  20. 60
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyService.java
  21. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyMapper.xml
  22. 9
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyRest.java
  23. 26
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyService.java
  24. 17
      anrui-riskcenter/anrui-riskcenter-biz/src/main/resources/application.yml
  25. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/financialPolicy/FinancialOtherPolicyVo.java
  26. 20
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/financialPolicy/FinancialPolicyDetailsVo.java
  27. 3
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/financialPolicy/FinancialPolicyFeign.java
  28. 4
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/policyrecordapply/AppFinPolicyApplyInitVo.java
  29. 4
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/policyrecordapply/AppPolicyApplyInitListVo.java
  30. 4
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/policyrecordapply/PolicyRecordApplyService.java

3
anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/kaipiaoguanliFlow/finginvoiceapplyByFileDaiBanInfo.vue

@ -66,7 +66,7 @@
<el-row>
<el-col :span="8">
<div class="span-sty">单台开票金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.oneBillMoney }}</span></el-form-item>
<el-form-item><span class="addinputInfo">{{ formobj.oneBillMoney }}</span><span style="padding-left: 10px;color: red" v-show="formobj.showValueCustomer">价值客户</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">开票类型默认</div>
@ -303,6 +303,7 @@ export default {
saleDeptSid: '',
saleTypeKey: '',
saleTypeValue: '',
showValueCustomer: false,
sid: '',
staffName: '',
staffSid: '',

3
anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/kaipiaoguanliFlow/finginvoiceapplyDaiBanInfo.vue

@ -66,7 +66,7 @@
<el-row>
<el-col :span="8">
<div class="span-sty">单台开票金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.oneBillMoney }}</span></el-form-item>
<el-form-item><span class="addinputInfo">{{ formobj.oneBillMoney }}</span><span style="padding-left: 10px;color: red" v-show="formobj.showValueCustomer">价值客户</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">开票类型默认</div>
@ -303,6 +303,7 @@ export default {
saleDeptSid: '',
saleTypeKey: '',
saleTypeValue: '',
showValueCustomer: false,
sid: '',
staffName: '',
staffSid: '',

3
anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/kaipiaoguanliFlow/finginvoiceapplyYiBanInfo.vue

@ -64,7 +64,7 @@
<el-row>
<el-col :span="8">
<div class="span-sty">单台开票金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.oneBillMoney }}</span></el-form-item>
<el-form-item><span class="addinputInfo">{{ formobj.oneBillMoney }}</span><span style="padding-left: 10px;color: red" v-show="formobj.showValueCustomer">价值客户</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">开票类型默认</div>
@ -274,6 +274,7 @@ export default {
saleDeptSid: '',
saleTypeKey: '',
saleTypeValue: '',
showValueCustomer: false,
sid: '',
staffName: '',
staffSid: '',

178
anrui-riskcenter-ui/src/components/uploadFile/FaImages.vue

@ -1,178 +0,0 @@
<template>
<div>
<div>
<el-upload v-loading="loadding" ref="imgUpload" class="avatar-uploader" :headers="accessToken" :action="uploadFile" accept=".jpg,.jpeg,.png,.bmp,.pdf,.JPG,.JPEG,.BMP" list-type="picture-card" :file-list="files" :on-remove="removeImage" :on-preview="handlePictureCardPreview" :on-progress="uploadProgrees" :on-error="uploadError" :on-success="uploadImgSuccess_FuJian">
<i class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</div>
<el-dialog :visible.sync="showpicture" :append-to-body="true" title="查看图片">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
</div>
</template>
<script>
import { imageUpload } from '@/api/portal/Upload.js'
import { mapGetters } from 'vuex'
export default {
model: {
prop: 'imageFileList',
event: 'fileListChange',
},
props: {
placeholder: {
type: String,
default: '',
},
//
width: {
type: String,
default: '270px',
},
//
imageFileList: {
type: Array,
required: [],
},
num: {
type: String,
default: '',
},
},
data() {
return {
dialogImageUrl: '',
accessToken: {},
fileUrl: fileUrl,
uploadFile: imageUpload,
files: [],
showpicture: false,
loadding: false,
}
},
computed: {
...mapGetters([
'id',
'departmentCode',
'departmentLevel',
'departmentType',
'token',
]),
},
watch: {
imageFileList: {
deep: true,
handler(newVal, oldVal) {
this.files = []
for (var i = 0; i < newVal.length; i++) {
this.files.push({
name: newVal[i].name,
url: fileUrl + newVal[i].url,
})
}
},
},
},
mounted() {
this.$nextTick(() => {
this.Init()
})
},
created() {
if (this.imageFileList !== undefined) {
this.files = []
for (var i = 0; i < this.imageFileList.length; i++) {
this.files.push({
name: this.imageFileList[i].name,
url: fileUrl + this.imageFileList[i].url,
})
}
}
},
methods: {
//
Init() {
//
// 1. token
this.accessToken = {
accessToken: this.token,
}
}, // --
uploadImgSuccess_FuJian(response, file, ImageFileList) {
this.loadding = false
if (file.response.code === 20000) {
//
var imageUrl = this.fileUrl + file.response.data
var uid = file.response.data
this.files.push({ name: file.name, url: imageUrl })
var fileList = []
for (var i = 0; i < this.files.length; i++) {
console.log(this.files[i].url, 'this.files[i].url')
fileList.push({
name: this.files[i].name,
url: this.files[i].url.substr(this.fileUrl.length),
num: this.num,
})
}
this.$emit('fileListChange', fileList)
}
},
removeImage(file, ImageFileList) {
this.files.splice(this.files.indexOf(file), 1)
var fileList = []
for (var i = 0; i < this.files.length; i++) {
fileList.push({
name: this.files[i].name,
url: this.files[i].url.substr(this.fileUrl.length),
})
}
this.$emit('fileListChange', fileList)
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url
this.showpicture = true
},
//
uploadError() {
this.loadding = false
},
uploadProgrees(event, file, fileList) {
if (Number(event.percent) > 0) {
this.loadding = true
}
// console.log('event:', event)
},
},
}
</script>
<style lang="scss" scoped>
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409eff;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 100px;
height: 250px;
line-height: 100px;
text-align: center;
}
.avatar {
width: 200px;
height: 200px;
display: block;
// float: left;
}
</style>

155
anrui-riskcenter-ui/src/components/uploadFile/FileUpload.vue

@ -1,155 +0,0 @@
<template>
<div>
<el-upload class="upload-demo" :data="datas" :accept="accept" :on-success="uploadImgSuccess"
:on-change="handleChange" :on-remove="handleRemove" :file-list="fileList_FuJian"
:http-request="uploadSectionFile">
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">单个文件大小不允许超过100M,支持上传文件类型{{ accept }}</div>
</el-upload>
</div>
</template>
<script>
import {
uploadFile
} from '@/api/business/beiAn'
import {
mapGetters
} from 'vuex'
export default {
props: {
placeholder: {
type: String,
default: '',
},
//
width: {
type: String,
default: '270px',
},
accept: {
type: String,
default: '.jpg,.jpeg,.png,.bmp,.pdf,.JPG,.JPEG,.BMP,.PDF,.xls,.docx,.xlsx,.ppt,.pptx',
},
//
files: {
type: String,
required: true,
},
//
name: {
type: String,
required: true,
},
},
data() {
return {
datas: null,
name:null,
accessToken: {},
fileList_FuJian: [],
enclosure: '',
file_add: '',
idsz: '',
file_catch: '',
files_list: [],
}
},
computed: {
...mapGetters([
'id',
'departmentCode',
'departmentLevel',
'departmentType',
'token',
]),
},
watch: {
// files: {
// deep: true,
// handler(val) {
// this.pageLoad(val, '')
// },
// },
},
creatd() {
},
mounted() {
this.$nextTick(() => {})
},
methods: {
handleChange(file, fileList) {},
//
pageLoad(files) {
// console.log('' + files)
if (files !== null && files !== '') {
this.files_list = JSON.parse(files)
var ids = ''
this.fileList_FuJian = []
// 1.
for (var i = 0; i < this.files_list.length; i++) {
var body = {
name: this.files_list[i].name,
url: '',
status: 'finished',
}
this.fileList_FuJian.push(body)
ids = ids + this.files_list[i].id + ','
}
// 2. id
if (ids !== '') {
ids = ids.substring(0, ids.length - 1)
}
this.enclosure = ids
this.file_catch = ids
} else {
this.file_add = ''
this.file_catch = ''
this.enclosure = ''
this.files_list = []
this.fileList_FuJian = []
}
},
// --
uploadImgSuccess(response, file, fileList) {
this.$emit('change', this.enclosure)
},
handleRemove(file, fileList) {
if (this.idsz != '') {
this.$emit('handleRemove', this.idsz)
}
},
// FrontPhoto
uploadSectionFile(params) {
const file = params.file
//
const form = new FormData()
// console.log('77777777777777',form)
//
form.append('file', file)
//
uploadFile(form).then((res) => {
//
if (res.code === '200') {
let a = ''
a = res.data.filePath
this.idsz = a
this.$emit('handleSuccess', res)
}
if (res.msg == '操作成功') {
this.$message({
message: '上传成功!',
type: 'success',
})
}
})
.catch((err) => {
console.log(err)
// ,
})
},
},
}
</script>
<style lang="scss" scoped></style>

132
anrui-riskcenter-ui/src/components/uploadFile/ImageUpload.vue

@ -1,132 +0,0 @@
<template>
<el-upload ref="upload" class="avatar-uploader" action="imageUrl" :show-file-list="true" list-type="picture-card"
:data="datas" :on-change="uploadchangeFile" :http-request="uploadSectionFile" :on-remove="onRemove">
<i class="el-icon-plus" />
<img v-if="FrontPhoto" :src="FrontPhoto" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon" />
<div slot="tip" class="el-upload__tip">{{ tip }}</div>
</el-upload>
</template>
<script>
// import { imageUpload } from '@/api/portal/Upload.js'
import {
imgUploadz
} from '@/api/jichuxinxi/baseaffiliatcompany' //
export default {
props: {
tip: {
type: String,
default: '',
},
types: {
type: String,
default: '',
},
},
data() {
return {
FrontPhoto: '',
imageUrl: imgUploadz,
datas: null,
imgId: '',
}
},
created() {
console.log('5522555',types)
this.datas = {
type: this.types
}
},
methods: {
// FrontPhoto
uploadSectionFile(params) {
// console.log(params, 111111111111)
const file = params.file
const fileType = file.type
const isImage = fileType.indexOf('image') != -1
const isLt2M = file.size / 1024 / 1024 < 2
// console.log(params)
//
if (!isImage) {
this.$message.error('只能上传图片格式png、jpg、gif、jpeg!')
return
}
if (!isLt2M) {
this.$message.error('只能上传图片大小小于2M')
return
}
//
const form = new FormData()
// console.log(form)
//
form.append('file', file)
// '',
imgUploadz(form).then((res) => {
//
if (res.code === '200') {
this.imgId = ''
res.data.attachType = this.types
this.imgId = res.data.filePath
this.$emit('imgdata', res)
}
// this.FrontPhoto = res.fullUrl
if (res.msg == '操作成功') {
this.$message({
message: '上传成功!',
type: 'success',
})
}
})
.catch((err) => {
console.log(err)
})
},
onRemove() {
if (this.imgId != '') {
this.$emit('removeIds', this.imgId)
}
},
uploadchangeFile(file) {
this.FrontPhoto = URL.createObjectURL(file.raw)
},
},
}
</script>
<style>
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409eff;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 200px;
height: 178px;
line-height: 178px;
text-align: center;
}
.avatar {
width: 178px;
height: 178px;
display: block;
}
.el-upload__tip {
line-height: 25px;
margin-top: 0;
}
</style>

159
anrui-riskcenter-ui/src/components/uploadFile/ImageUploadChe.vue

@ -1,159 +0,0 @@
<template>
<el-upload ref="upload" class="avatar-uploader" action="imageUrl" :show-file-list="true" list-type="picture-card" :data="datas" :on-change="uploadchangeFile" :http-request="uploadSectionFile" :on-remove="onRemove">
<i class="el-icon-plus" />
<img v-if="FrontPhoto" :src="FrontPhoto" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon" />
<div slot="tip" class="el-upload__tip">{{ tip }}</div>
</el-upload>
</template>
<script>
import { imageUpload } from '@/api/portal/Upload.js'
import { imgUploadz } from '@/api/jichuxinxi/baseaffiliatcompany' //
export default {
props: {
tip: {
type: String,
default: ''
},
types: {
type: String,
default: ''
},
linkChange: {
type: String,
default: ''
}
},
data() {
return {
FrontPhoto: '',
imageUrl: imgUploadz,
datas: null,
imgId: ''
}
},
created() {
this.datas = { type: this.types }
console.log(this.linkChange, 111111111111)
// console.log(this.datas, 11)
},
methods: {
// FrontPhoto
uploadSectionFile(params) {
// console.log(params, 111111111111)
const file = params.file
const fileType = file.type
const isImage = fileType.indexOf('image') != -1
const isLt2M = file.size / 1024 / 1024 < 2
// console.log(params)
//
if (!isImage) {
this.$message.error('只能上传图片格式png、jpg、gif、jpeg!')
return
}
if (!isLt2M) {
this.$message.error('只能上传图片大小小于2M')
return
}
//
const form = new FormData()
// console.log(form)
//
form.append('file', file)
// '',
//
if (this.linkChange == '') {
imageUpload(form)
.then((res) => {
//
if (res.code === '200') {
this.imgId = ''
res.data.attachType = this.types
this.imgId = res.data.filePath
this.$emit('imgdata', res)
}
// this.FrontPhoto = res.fullUrl
if (res.msg == '操作成功') {
this.$message({
message: '上传成功!',
type: 'success'
})
}
})
.catch((err) => {
console.log(err)
})
// ,
}
// else if (this.linkChange == 'keepOnRecord') {
// imageUpload(form)
// .then((res) => {
// //
// if (res.code === '200') {
// this.imgId = ''
// res.data.attachType = this.types
// this.imgId = res.data.filePath
// this.$emit('imgdata', res)
// }
// // this.FrontPhoto = res.fullUrl
// if (res.msg == '') {
// this.$message({
// message: '',
// type: 'success',
// })
// }
// })
// .catch((err) => {
// console.log(err)
// })
// }
},
onRemove() {
if (this.imgId != '') {
this.$emit('removeIds', this.imgId)
}
},
uploadchangeFile(file) {
this.FrontPhoto = URL.createObjectURL(file.raw)
}
}
}
</script>
<style>
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409eff;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 200px;
height: 178px;
line-height: 178px;
text-align: center;
}
.avatar {
width: 178px;
height: 178px;
display: block;
}
.el-upload__tip {
line-height: 25px;
margin-top: 0;
}
</style>

229
anrui-riskcenter-ui/src/components/uploadFile/ManyImageUpload.vue

@ -1,229 +0,0 @@
<template>
<div>
<div>
<el-upload ref="imgUpload" v-loading="loadding" class="avatar-uploader" :headers="accessToken"
:action="uploadFile" accept=".jpg,.jpeg,.png,.bmp,.pdf,.JPG,.JPEG,.BMP" list-type="picture-card"
:file-list="files" :on-remove="removeImage" :on-preview="handlePictureCardPreview" :on-progress="uploadProgrees"
:on-error="uploadError" :on-success="uploadImgSuccess_FuJian">
<i class="el-icon-plus avatar-uploader-icon" />
</el-upload>
<!-- <button @click="test()">test</button> -->
</div>
<el-dialog :visible.sync="showpicture" :append-to-body="true" title="查看图片">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
</div>
</template>
<script>
import {
uploadFile,
deleteFilesOss
} from '@/api/portal/Upload.js'
import {
getStorage
} from '@/utils/auth.js'
import {
mapGetters
} from 'vuex'
export default {
model: {
prop: 'imageFileList',
event: 'fileListChange'
},
props: {
placeholder: {
type: String,
default: ''
},
//
width: {
type: String,
default: '270px'
},
// --
imageFileList: {
type: Array,
required: []
},
num: {
type: String,
default: ''
}
},
data() {
return {
dialogImageUrl: '',
accessToken: null,
uploadFile: uploadFile,
files: [],
showpicture: false,
loadding: false
}
},
computed: {
...mapGetters([
'id',
'departmentCode',
'departmentLevel',
'departmentType',
'token'
])
},
watch: {
imageFileList: {
deep: true,
immediate: true,
handler(newVal, oldVal) {
// debugger
console.log('aaaa1', newVal)
this.files = []
this.$nextTick(() => {
for (var i = 0; i < newVal.length; i++) {
// debugger
this.files.push({
name: newVal[i],
url: newVal[i],
// fullUrl: newVal[i]
})
}
})
}
}
},
mounted() {
this.$nextTick(() => {
this.Init()
})
},
created() {
this.uploadFile = uploadFile //
this.accessToken = {
'token': getStorage()
}
console.log('token', this.accessToken)
// console.log('imageFileList', this.imageFileList)
},
methods: {
//
Init() {
// 1. token
// this.accessToken = {
// token: this.token
// }
//
console.log('aaaa2', this.imageFileList)
if (this.imageFileList !== undefined) {
this.files = []
for (var i = 0; i < this.imageFileList.length; i++) {
// console.log('aaaa', i)
this.files.push({
name: this.imageFileList[i],
url: this.imageFileList[i]
})
}
}
}, // --
uploadImgSuccess_FuJian(response, file, ImageFileList) {
console.log('上传成功!',this.imageFileList)
// debugger
this.loadding = false
if (file.response.code === '200') {
// debugger
//
this.dialogImageUrl = file.response.data.fullUrl
var uid = file.response.data
this.files.push({
name: file.response.data.sourceFileName,
url: file.response.data.fullUrl,
// url: file.response.data.fullUrl,
// fullUrl: file.response.data.filePath,
// size: file.response.data.size,
// sourceFileName: file.response.data.sourceFileName
})
const imgFiles = []
this.files.forEach(o => {
imgFiles.push(o.url)
})
this.$emit('fileListChange', imgFiles)
console.log('上传成功:' + JSON.stringify(this.files))
// this.$emit('fileChange', this.files)
}
},
removeImage(file, ImageFileList) {
const fullPath = {
fullPath:file.url
}
deleteFilesOss(fullPath).then((res)=>{
console.log('移除',res)
if(res.code === '200'){
this.files = res.data
this.$notify({
title: '提示',
message: '移除成功',
type: 'success',
duration: 2000,
})
}
})
console.log('000000',this.files)
this.$emit('fileChange', this.files)
console.log(file,ImageFileList,'移除前')
this.imageFileList.forEach((e,index)=>{
if(e==file.name){
this.imageFileList.splice(index,1)
}
})
console.log('移除成功',this.imageFileList)
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url
this.showpicture = true
},
//
uploadError() {
this.loadding = false
},
uploadProgrees(event, file, fileList) {
if (Number(event.percent) > 0) {
this.loadding = true
}
// console.log('event:', event)
},
test() {
console.log('aaa', this.files)
this.$set(this.files, this.files)
}
}
}
</script>
<style lang="scss" scoped>
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409eff;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 100px;
height: 250px;
line-height: 100px;
text-align: center;
}
.avatar {
width: 200px;
height: 200px;
display: block;
// float: left;
}
</style>

116
anrui-riskcenter-ui/src/components/uploadFile/index.vue

@ -1,116 +0,0 @@
<template>
<el-upload class="avatar-uploader" ref="upload" :action="fakeaction" :show-file-list="false" :on-change="uploadchangeFile" :http-request="uploadSectionFile">
<!-- <el-button size="small" type="primary">点击上传</el-button> -->
<img v-if="Photo" :src="Photo" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
<div slot="tip" class="el-upload__tip">{{tip}}</div>
</el-upload>
</template>
<script>
import { imageUpload } from '@/api/Common/Upload.js'
export default {
props: {
tip: {
type: String,
default: '',
},
FrontPhoto: {
type: String,
default: '',
},
},
data() {
return {
Photo: this.FrontPhoto,
loading: null,
}
},
methods: {
openFullScreen2() {
this.loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)',
})
},
// FrontPhoto
uploadSectionFile(params) {
const file = params.file,
fileType = file.type,
isImage = fileType.indexOf('image') != -1,
isLt2M = file.size / 1024 / 1024 < 10
this.openFullScreen2()
console.log(params)
//
if (!isImage) {
this.$message.error('只能上传图片格式png、jpg、gif!')
this.loading.close()
return
}
if (!isLt2M) {
this.$message.error('只能上传图片大小小于10M')
this.loading.close()
return
}
//
const form = new FormData()
console.log(form)
//
form.append('file', file)
//
imageUpload(form)
.then((res) => {
//
console.log(res)
this.$emit('imgUrl', res.data)
this.Photo = res.data.fullUrl
if (res.code == 200) {
this.loading.close()
this.$message({
message: '上传成功!',
type: 'success',
})
}
})
.catch((err) => {
console.log(err)
})
},
uploadchangeFile(file) {
// this.Photo = URL.createObjectURL(file.raw)
},
},
}
</script>
<style>
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409eff;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 200px;
height: 178px;
line-height: 178px;
text-align: center;
}
.avatar {
width: 178px;
height: 178px;
display: block;
}
</style>

194
anrui-riskcenter-ui/src/components/uploadFile/upload.vue

@ -1,194 +0,0 @@
<template>
<div>
<el-upload class="upload-demo" :data="datas" :accept="accept" :on-success="uploadImgSuccess" :on-change="handleChange" :on-remove="handleRemove" :file-list="fileList_FuJian" :http-request="uploadSectionFile">
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">单个文件大小不允许超过100M,支持上传文件类型{{ accept }}</div>
</el-upload>
</div>
</template>
<script>
import { imgUploadz } from '@/api/jichuxinxi/baseaffiliatcompany'
import { mapGetters } from 'vuex'
export default {
props: {
placeholder: {
type: String,
default: '',
},
//
width: {
type: String,
default: '270px',
},
accept: {
type: String,
default:
'.jpg,.jpeg,.png,.bmp,.pdf,.JPG,.JPEG,.BMP,.PDF,.xls,.docx,.xlsx,.ppt,.pptx',
},
//
files: {
type: String,
required: true,
},
//
name: {
type: String,
required: true,
},
types:{
type:String,
required: true,
},
linkChange: {
type: String,
default: '',
},
},
data() {
return {
datas: null,
types:types,
accessToken: {},
fileList_FuJian: [],
enclosure: '',
file_add: '',
idsz: '',
file_catch: '',
files_list: [],
}
},
computed: {
...mapGetters([
'id',
'departmentCode',
'departmentLevel',
'departmentType',
'token',
]),
},
watch: {
files: {
deep: true,
handler(val) {
this.pageLoad(val, '')
},
},
},
creatd() {
this.datas = { type: this.types }
// console.log(this.datas,7777777)
console.log(this.type, '船只被')
},
mounted() {
this.$nextTick(() => {
// this.Init()
})
},
methods: {
//
Init() {
// 1. token
// this.accessToken = {
// token: this.token,
// }
this.pageLoad(this.files)
},
handleChange(file, fileList) {
},
//
pageLoad(files) {
// console.log('' + files)
if (files !== null && files !== '') {
this.files_list = JSON.parse(files)
var ids = ''
this.fileList_FuJian = []
// 1.
for (var i = 0; i < this.files_list.length; i++) {
var body = {
name: this.files_list[i].name,
url: '',
status: 'finished',
}
this.fileList_FuJian.push(body)
ids = ids + this.files_list[i].id + ','
}
// 2. id
if (ids !== '') {
ids = ids.substring(0, ids.length - 1)
}
this.enclosure = ids
this.file_catch = ids
} else {
this.file_add = ''
this.file_catch = ''
this.enclosure = ''
this.files_list = []
this.fileList_FuJian = []
}
},
// --
uploadImgSuccess(response, file, fileList) {
// console.log('fileList:' + JSON.stringify(fileList))
// this.enclosure = ''
// 1. id(this.file_add)
// this.getNewFileId(fileList)
// 2. id
// this.getFileId()
// console.log('4. ' + this.enclosure)
// 3. id
this.$emit('change', this.enclosure)
},
handleRemove(file, fileList) {
// console.log('file:' + JSON.stringify(file))
// console.log('fileList:' + JSON.stringify(fileList))
// this.enclosure = ''
// 1. id(this.file_add)
// this.getNewFileId(fileList)
// 2. id(this.file_catch)
// this.getCatchFileId(file)
// 3. id
// this.getFileId()
// 4. id
if (this.idsz != '') {
this.$emit('handleRemove', this.idsz)
}
},
// FrontPhoto
uploadSectionFile(params) {
const file = params.file
//
const form = new FormData()
console.log('77777777777777',form)
//
form.append('file', file)
//
console.log('988888',form.append)
imgUploadz(form).then((res) => {
//
if (res.code === '200') {
res.data.attachType = this.types
let a = ''
a = res.data.filePath
this.idsz = a
this.$emit('handleSuccess', res)
}
// this.FrontPhoto = res.fullUrl
if (res.msg == '操作成功') {
this.$message({
message: '上传成功!',
type: 'success',
})
}
})
.catch((err) => {
console.log(err)
// ,
})
},
},
}
</script>
<style lang="scss" scoped></style>

23
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyFeign.java

@ -1,4 +1,5 @@
package com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply;
import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.flow.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
@ -52,17 +53,17 @@ public interface LoanFinOtherPolicyRecordApplyFeign {
/**
* 金融产品政策报备初始化
* 其他融产品报备初始化
*
* @param dto
* @param sids
*/
@ApiOperation("金融产品政策报备保存初始化")
@GetMapping("/policyRecordInit")
@PostMapping("/policyRecordInit")
@ResponseBody
public ResultBean<LoanFinOtherPolicyApplyInitVo> policyRecordInit(@RequestBody LoanFinOtherPolicyApplyDto dto);
public ResultBean<LoanFinOtherPolicyApplyInitVo> policyRecordInit(@RequestBody String[] sids);
/**
* 金融产品政策报备初始化
* 其他融产品报备初始化
*
* @param sid
*/
@ -72,8 +73,18 @@ public interface LoanFinOtherPolicyRecordApplyFeign {
public ResultBean<LoanFinOtherPolicyApplyInitVo> fetchDetailsBySid(@PathVariable("sid") String sid);
/**
* 批量删除已测试
*
* @param sids
*/
@ApiOperation("批量删除")
@DeleteMapping("/deleteBySids")
@ResponseBody
public ResultBean deleteBySids(@RequestBody String[] sids);
/******************流程接口**************************************/
@ApiOperation("金融政策产品备案提交")
@ApiOperation("其他融产品备案提交")
@PostMapping("/submit")
public ResultBean submitRecordApplication(@RequestBody @Valid SubmitLoanOtherPolicyApplyDto dto);

7
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyFeignFallback.java

@ -30,7 +30,7 @@ public class LoanFinOtherPolicyRecordApplyFeignFallback implements LoanFinOtherP
}
@Override
public ResultBean<LoanFinOtherPolicyApplyInitVo> policyRecordInit(LoanFinOtherPolicyApplyDto dto) {
public ResultBean<LoanFinOtherPolicyApplyInitVo> policyRecordInit(String[] sids) {
return null;
}
@ -39,6 +39,11 @@ public class LoanFinOtherPolicyRecordApplyFeignFallback implements LoanFinOtherP
return null;
}
@Override
public ResultBean deleteBySids(String[] sids) {
return null;
}
@Override
public ResultBean submitRecordApplication(SubmitLoanOtherPolicyApplyDto dto) {
return null;

1
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/AppPolicyDetailsVo.java

@ -25,6 +25,7 @@ public class AppPolicyDetailsVo implements Vo {
private String busTypeValue;
@ApiModelProperty("车辆大类")
private String vehCategoryValue;
private String vehTypeValue;
@ApiModelProperty("是否打包")
private String isPack;
@ApiModelProperty("是否担保")

3
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyVo.java

@ -40,5 +40,8 @@ public class LoanFinPolicyApplyVo implements Vo {
private String nodeState;
@ApiModelProperty("备注")
private String remarks;
private String procDefId;
@ApiModelProperty("实例id")
private String procInstId;
}

7
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyFeign.java

@ -8,6 +8,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
@ -58,7 +59,7 @@ public interface LoanFinPolicyRecordApplyFeign {
* @param
*/
@ApiOperation("金融产品政策报备保存初始化")
@GetMapping("/policyRecordInit")
@PostMapping("/policyRecordInit")
@ResponseBody
public ResultBean<LoanFinPolicyApplyInitVo> policyRecordInit(@RequestBody String[] sids);
@ -115,10 +116,10 @@ public interface LoanFinPolicyRecordApplyFeign {
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
ResultBean<List<GetNodeVo>> getNextNodesForSubmit(@Valid @RequestBody GetNodeQuery query);
ResultBean<List<GetNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap GetNodeQuery query);
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
ResultBean<List<GetNodeVo>> getPreviousNodesForReject(@Valid @RequestBody GetNodeQuery query);
ResultBean<List<GetNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap GetNodeQuery query);
}

5
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyMapper.java

@ -6,9 +6,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.LoanFinOtherPolicyApplyVo;
import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.LoanFinOtherPolicyRecordApply;
import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.LoanFinPolicyRecordApply;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
import java.util.Map;
@ -22,4 +22,7 @@ public interface LoanFinOtherPolicyRecordApplyMapper extends BaseMapper<LoanFinO
IPage<LoanFinOtherPolicyApplyVo> selectPageVo(IPage<LoanFinOtherPolicyRecordApply> page, @Param(Constants.WRAPPER) QueryWrapper<LoanFinOtherPolicyRecordApply> qw);
int updateFlowFiled(Map<String, Object> map);
@Update("update loan_fin_other_policy_record_apply set isDelete = 1 where sid =#{sid}")
int updateBySidDelete(String sid);
}

35
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyRest.java

@ -1,6 +1,7 @@
package com.yxt.anrui.riskcenter.biz.loanfinotherpolicyrecordapply;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.base.api.basediscountpackageapply.BaseDiscountpackageApply;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.*;
@ -48,9 +49,9 @@ public class LoanFinOtherPolicyRecordApplyRest implements LoanFinOtherPolicyReco
}
@Override
public ResultBean<LoanFinOtherPolicyApplyInitVo> policyRecordInit(LoanFinOtherPolicyApplyDto dto) {
public ResultBean<LoanFinOtherPolicyApplyInitVo> policyRecordInit(String[] sids) {
ResultBean<LoanFinOtherPolicyApplyInitVo> rb = ResultBean.fireFail();
LoanFinOtherPolicyApplyInitVo vo = loanFinOtherPolicyRecordApplyService.policyRecordInit(dto);
LoanFinOtherPolicyApplyInitVo vo = loanFinOtherPolicyRecordApplyService.policyRecordInit(sids);
return rb.success().setData(vo);
}
@ -61,6 +62,24 @@ public class LoanFinOtherPolicyRecordApplyRest implements LoanFinOtherPolicyReco
return rb.success().setData(vo);
}
@Override
public ResultBean deleteBySids(String[] sids) {
ResultBean rb = ResultBean.fireFail();
for (String sid : sids) {
LoanFinOtherPolicyRecordApply recordApply = loanFinOtherPolicyRecordApplyService.fetchBySid(sid);
if (null != recordApply) {
if (!recordApply.getNodeState().equals("待提交")) {
return rb.setMsg("删除的数据中包含已经提交审批的数据,删除失败");
}
}
int count = loanFinOtherPolicyRecordApplyService.updateBySidDelete(sid);
if (count == 0) {
return rb.setMsg("删除失败");
}
}
return ResultBean.fireSuccess().setMsg("删除成功");
}
@Override
public ResultBean submitRecordApplication(SubmitLoanOtherPolicyApplyDto dto) {
return loanFinOtherPolicyRecordApplyService.submitRecordApplication(dto);
@ -76,8 +95,8 @@ public class LoanFinOtherPolicyRecordApplyRest implements LoanFinOtherPolicyReco
@Override
public ResultBean companyToDivisionOperate(LoanOtherPolicyApplyCompleteDto query) {
BusinessVariables bv=new BusinessVariables();
BeanUtil.copyProperties(query,bv);
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.LOANOTHERPOLICYRECORDAPPLY.getProDefId());
return loanFinOtherPolicyRecordApplyService.companyToDivisionOperate(bv);
}
@ -94,21 +113,21 @@ public class LoanFinOtherPolicyRecordApplyRest implements LoanFinOtherPolicyReco
@Override
public ResultBean breakProcess(LoanOtherPolicyApplyTaskQuery query) {
return null;
return loanFinOtherPolicyRecordApplyService.breakProcess(query);
}
@Override
public ResultBean flowRecord(String procInsId) {
return null;
return loanFinOtherPolicyRecordApplyService.flowRecord(procInsId);
}
@Override
public ResultBean<List<GetNodeVo>> getNextNodesForSubmit(GetNodeQuery query) {
return null;
return loanFinOtherPolicyRecordApplyService.getNextNodesForSubmit(query);
}
@Override
public ResultBean<List<GetNodeVo>> getPreviousNodesForReject(GetNodeQuery query) {
return null;
return loanFinOtherPolicyRecordApplyService.getPreviousNodesForReject(query);
}
}

105
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyService.java

@ -21,14 +21,11 @@ import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.portal.api.sysuser.UserRoleQuery;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicy;
import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.*;
import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.flow.GetNodeQuery;
import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.flow.GetNodeVo;
import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.flow.LoanOtherPolicyApplyTaskQuery;
import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.flow.SubmitLoanOtherPolicyApplyDto;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicy;
import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.*;
import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.flow.GetNodeQuery;
import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.flow.GetNodeVo;
import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.flow.LoanFinPolicyApplyTaskQuery;
import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.flow.SubmitLoanFinPolicyApplyDto;
import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.LoanFinPolicyRecordApply;
import com.yxt.anrui.riskcenter.biz.loanfinotherPolicy.LoanFinOtherPolicyService;
import com.yxt.anrui.riskcenter.biz.loanfinpolicy.LoanFinPolicyService;
import com.yxt.common.base.config.component.FileUploadComponent;
@ -184,13 +181,12 @@ public class LoanFinOtherPolicyRecordApplyService extends MybatisBaseService<Loa
return p;
}
public LoanFinOtherPolicyApplyInitVo policyRecordInit(LoanFinOtherPolicyApplyDto dto) {
public LoanFinOtherPolicyApplyInitVo policyRecordInit(String[] sids) {
LoanFinOtherPolicyApplyInitVo vo = new LoanFinOtherPolicyApplyInitVo();
BeanUtil.copyProperties(dto, vo);
vo.setPolicySids(new ArrayList<>());
vo.setApplyDate(new Date());
List<LoanFinOtherPolicyApplyInitListVo> policyList = new ArrayList<>();
List<String> policySids = dto.getPolicySids();
for (String policySid : policySids) {
for (String policySid : sids) {
LoanFinOtherPolicyApplyInitListVo initVo = new LoanFinOtherPolicyApplyInitListVo();
LoanFinOtherPolicy loanFinOtherPolicy = loanFinOtherPolicyService.fetchBySid(policySid);
BeanUtil.copyProperties(loanFinOtherPolicy, initVo);
@ -210,12 +206,7 @@ public class LoanFinOtherPolicyRecordApplyService extends MybatisBaseService<Loa
vo.setInstanceId(entity.getProcInstId());
}
String policySid = entity.getOtherPolicySid();
List<String> pSids = new ArrayList<>();
String[] policySids = policySid.split(",");
for (String s : policySids) {
pSids.add(s);
}
vo.setPolicySids(pSids);
List<LoanFinOtherPolicyApplyInitListVo> policyList = new ArrayList<>();
for (String psid : policySids) {
LoanFinOtherPolicyApplyInitListVo initVo = new LoanFinOtherPolicyApplyInitListVo();
@ -550,7 +541,7 @@ public class LoanFinOtherPolicyRecordApplyService extends MybatisBaseService<Loa
if (userVo != null) {
if (StringUtils.isNotBlank(userVo.getName())) {
messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
}
}
}
}
messageFlowableQuery.setMsgTitle("其他融产品备案");
@ -560,4 +551,86 @@ public class LoanFinOtherPolicyRecordApplyService extends MybatisBaseService<Loa
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean breakProcess(LoanOtherPolicyApplyTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
if (StringUtils.isBlank(query.getComment())) {
return rb.setMsg("请填写意见");
}
LoanFinOtherPolicyRecordApply recordApply = fetchBySid(query.getBusinessSid());
String businessTaskId = recordApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (query.getUserSid().equals(recordApply.getCreateBySid())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
updateFlowFiled(map);
return rb.success().setData(resultBean.getData());
} else {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
updateFlowFiled(map);
return rb.success().setData(resultBean.getData());
}
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean flowRecord(String procInsId) {
return flowTaskFeign.businessFlowRecord(procInsId);
}
public ResultBean<List<GetNodeVo>> getNextNodesForSubmit(GetNodeQuery query) {
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
//根据业务sid查询排产信息
LoanFinOtherPolicyRecordApply recordApply = fetchBySid(query.getBusinessSid());
bv.setFormVariables(variables);
bv.setModelId(recordApply.getProcDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean<List<GetNodeVo>> getPreviousNodesForReject(GetNodeQuery query) {
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
//根据业务sid查询排产信息
LoanFinOtherPolicyRecordApply recordApply = fetchBySid(query.getBusinessSid());
bv.setFormVariables(variables);
bv.setModelId(recordApply.getProcDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public int updateBySidDelete(String sid) {
return baseMapper.updateBySidDelete(sid);
}
}

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyMapper.xml

@ -80,7 +80,9 @@
lfp.depositSettle,
lfp.nominalPrice,
lfp.validDateTo,
lfp.isOtherProduct
lfp.isOtherProduct,
lfp.vehTypeValue,
lfp.bondRatio
from loan_fin_policy lfp
where lfp.sid = #{sid}
</select>

60
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyService.java

@ -76,6 +76,36 @@ public class LoanFinPolicyService extends MybatisBaseService<LoanFinPolicyMapper
loanFinPolicy.setUseOrgName(useOrgName);
loanFinPolicy.setCreateOrgName(useOrgName);
loanFinPolicy.setCreateBySid(dto.getUserSid());
//政策拼接:资方简称+(+担保类型guaranteeTypeValue+、+isPack打包、不打包+)+首付比例+“+”+保证金比例
StringBuilder policyName = new StringBuilder();
if (StringUtils.isNotBlank(loanFinPolicy.getBankShortName())) {
policyName = policyName.append(loanFinPolicy.getBankShortName());
}
if (StringUtils.isNotBlank(loanFinPolicy.getGuaranteeTypeValue())) {
policyName = policyName.append("(").append(loanFinPolicy.getGuaranteeTypeValue());
if (loanFinPolicy.getIsPack() == 1) {//1是打包,2是不打包
policyName = policyName.append("、").append("打包").append(")");
} else {
policyName = policyName.append("、").append("不打包").append(")");
}
} else {
if (loanFinPolicy.getIsPack() == 1) {//1是打包,2是不打包
policyName = policyName.append("(").append("打包").append(")");
} else {
policyName = policyName.append("(").append("不打包").append(")");
}
}
if (StringUtils.isNotBlank(dto.getDownPayRatio())) {
policyName = policyName.append(dto.getDownPayRatio());
if (StringUtils.isNotBlank(dto.getBondRatio())) {
policyName = policyName.append("+").append(dto.getBondRatio());
}
} else {
if (StringUtils.isNotBlank(dto.getBondRatio())) {
policyName = policyName.append(dto.getBondRatio());
}
}
loanFinPolicy.setPolicyName(policyName.toString());
loanFinPolicy.setOrgSidPath(orgPath);
if (dto.isOtherProduct()) {//有其他融
loanFinPolicy.setIsOtherProduct(1);
@ -152,6 +182,36 @@ public class LoanFinPolicyService extends MybatisBaseService<LoanFinPolicyMapper
loanFinOtherPolicyService.insert(loanFinOtherPolicy);
}
}
//政策拼接:资方简称+(+担保类型guaranteeTypeValue+、+isPack打包、不打包+)+首付比例+“+”+保证金比例
StringBuilder policyName = new StringBuilder();
if (StringUtils.isNotBlank(loanFinPolicy.getBankShortName())) {
policyName = policyName.append(loanFinPolicy.getBankShortName());
}
if (StringUtils.isNotBlank(loanFinPolicy.getGuaranteeTypeValue())) {
policyName = policyName.append("(").append(loanFinPolicy.getGuaranteeTypeValue());
if (loanFinPolicy.getIsPack() == 1) {//1是打包,2是不打包
policyName = policyName.append("、").append("打包").append(")");
} else {
policyName = policyName.append("、").append("不打包").append(")");
}
} else {
if (loanFinPolicy.getIsPack() == 1) {//1是打包,2是不打包
policyName = policyName.append("(").append("打包").append(")");
} else {
policyName = policyName.append("(").append("不打包").append(")");
}
}
if (StringUtils.isNotBlank(dto.getDownPayRatio())) {
policyName = policyName.append(dto.getDownPayRatio());
if (StringUtils.isNotBlank(dto.getBondRatio())) {
policyName = policyName.append("+").append(dto.getBondRatio());
}
} else {
if (StringUtils.isNotBlank(dto.getBondRatio())) {
policyName = policyName.append(dto.getBondRatio());
}
}
loanFinPolicy.setPolicyName(policyName.toString());
baseMapper.updateById(loanFinPolicy);
}
return rb.success();

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyMapper.xml

@ -26,7 +26,9 @@
applicant,
applyDate,
nodeState,
remarks
remarks,
procDefId,
procInstId
FROM loan_fin_policy_record_apply
<where>
${ew.sqlSegment}

9
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyRest.java

@ -3,6 +3,7 @@ package com.yxt.anrui.riskcenter.biz.loanfinpolicyrecordapply;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.LoanFinOtherPolicyRecordApply;
import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.*;
import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.flow.*;
import com.yxt.common.core.query.PagerQuery;
@ -59,6 +60,12 @@ public class LoanFinPolicyRecordApplyRest implements LoanFinPolicyRecordApplyFei
ResultBean rb = ResultBean.fireFail();
// int count = baseFinBankService.deleteBySids(sidList);
for (String sid : sids) {
LoanFinPolicyRecordApply recordApply = loanFinPolicyRecordApplyService.fetchBySid(sid);
if (null != recordApply) {
if (!recordApply.getNodeState().equals("待提交")) {
return rb.setMsg("删除的数据中包含已经提交审批的数据,删除失败");
}
}
int count = loanFinPolicyRecordApplyService.updateBySidDelete(sid);
if (count == 0) {
return rb.setMsg("删除失败");
@ -83,7 +90,7 @@ public class LoanFinPolicyRecordApplyRest implements LoanFinPolicyRecordApplyFei
@Override
public ResultBean companyToDivisionOperate(LoanFinPolicyApplyCompleteDto query) {
BusinessVariables bv=new BusinessVariables();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query,bv);
bv.setModelId(ProcDefEnum.LOANFINPOLICYRECORDAPPLY.getProDefId());
return loanFinPolicyRecordApplyService.companyToDivisionOperate(bv);

26
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyService.java

@ -220,6 +220,7 @@ public class LoanFinPolicyRecordApplyService extends MybatisBaseService<LoanFinP
if (StringUtils.isNotBlank(entity.getProcInstId())) {
vo.setInstanceId(entity.getProcInstId());
}
vo.setUserSid(entity.getCreateBySid());
String policySid = entity.getPolicySid();
List<String> pSids = new ArrayList<>();
String[] policySids = policySid.split(",");
@ -410,13 +411,14 @@ public class LoanFinPolicyRecordApplyService extends MybatisBaseService<LoanFinP
}
int i = updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
// LoanFinPolicyApplyInitVo entity = fetchDetailsBySid(businessSid);
// List<String> policySids = entity.getPolicySids();
// for (String policySid : policySids) {
// LoanFinPolicy loanFinPolicy = loanFinPolicyService.fetchBySid(policySid);
// loanFinPolicy.setFilingState(1);
// loanFinPolicyService.updateById(loanFinPolicy);
// }
LoanFinPolicyRecordApply entity = fetchBySid(businessSid);
String policySid = entity.getPolicySid();
String[] policySids = policySid.split(",");
for (String pSid : policySids) {
LoanFinPolicy loanFinPolicy = loanFinPolicyService.fetchBySid(pSid);
loanFinPolicy.setFilingState(1);
loanFinPolicyService.updateById(loanFinPolicy);
}
}
return rb.success().setData(resultBean.getData());
} else {
@ -646,9 +648,9 @@ public class LoanFinPolicyRecordApplyService extends MybatisBaseService<LoanFinP
if (!resultBean1.getSuccess()) {
return rb.setMsg(resultBean1.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean1.getData();
updateFlowFiled(BeanUtil.beanToMap(resultBean1.getData()));
//极光推送
UpdateFlowFieldVo ufVo = resultBean1.getData();
finPolicyRecordApply = fetchBySid(bv.getBusinessSid());
SysUserVo userVo = sysUserFeign.fetchBySid(finPolicyRecordApply.getCreateBySid()).getData();
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
@ -663,14 +665,6 @@ public class LoanFinPolicyRecordApplyService extends MybatisBaseService<LoanFinP
messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("金融产品政策备案");
messageFeign.pushMessage(messageFlowableQuery);
//修改备案状态
LoanFinPolicyApplyInitVo entity = fetchDetailsBySid(bv.getBusinessSid());
List<String> policySids = entity.getPolicySids();
for (String policySid : policySids) {
LoanFinPolicy loanFinPolicy = loanFinPolicyService.fetchBySid(policySid);
loanFinPolicy.setFilingState(1);
loanFinPolicyService.updateById(loanFinPolicy);
}
return rb.success().setData(resultBean1.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");

17
anrui-riskcenter/anrui-riskcenter-biz/src/main/resources/application.yml

@ -38,7 +38,18 @@ mybatis-plus:
call-setters-on-nulls: true
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
#hystrix的超时时间
hystrix:
command:
default:
execution:
timeout:
enabled: true
isolation:
thread:
timeoutInMilliseconds: 30000
#ribbon的超时时间
ribbon:
ReadTimeout: 30000
ConnectTimeout: 30000

2
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/financialPolicy/FinancialOtherPolicyVo.java

@ -1,5 +1,6 @@
package com.yxt.anrui.terminal.api.autoservice.financialPolicy;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -14,6 +15,7 @@ public class FinancialOtherPolicyVo implements Vo {
private static final long serialVersionUID = 3695189220403491871L;
@ApiModelProperty("产品类别")
@JsonProperty("productTypeKey")
private String productTypeValue;
@ApiModelProperty("最高融资额比例(%)")

20
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/financialPolicy/FinancialPolicyDetailsVo.java

@ -1,5 +1,6 @@
package com.yxt.anrui.terminal.api.autoservice.financialPolicy;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -14,15 +15,22 @@ public class FinancialPolicyDetailsVo implements Vo {
private static final long serialVersionUID = -439513352576615253L;
@ApiModelProperty("政策名称")
@JsonProperty("policyName")
private String policyName;
@ApiModelProperty("适用部门,黑龙江销售部或分公司")
@JsonProperty("useDept")
private String useDeptNames;
@ApiModelProperty("资方简称")
@JsonProperty("bankName")
private String bankShortName;
@ApiModelProperty("业务类型")
@JsonProperty("busTypeValue")
private String busTypeValue;
@ApiModelProperty("车辆大类")
@JsonProperty("vehCategoryValue")
private String vehCategoryValue;
@JsonProperty("vehTypeValue")
private String vehTypeValue;
@ApiModelProperty("是否打包")
private String isPack;
@ApiModelProperty("是否担保")
@ -31,28 +39,40 @@ public class FinancialPolicyDetailsVo implements Vo {
private String remarks;
@ApiModelProperty("单车意外险")
@JsonProperty("vehAccidentAmount")
private String vehAccidentAmount;
@ApiModelProperty("最低首付比例")
@JsonProperty("minDownPaymentRatio")
private String downPayRatioLeast;
@ApiModelProperty("首付比例")
@JsonProperty("downPayRatio")
private String downPayRatio;
@ApiModelProperty("保证金比例")
@JsonProperty("bondRatio")
private String bondRatio;
@ApiModelProperty("期数")
@JsonProperty("period")
private String period;
@ApiModelProperty("标准年利率")
@JsonProperty("yearRatio")
private String yearRatio;
@ApiModelProperty("服务费类型")
@JsonProperty("serviceAmountType")
private String serviceAmountTypeValue;
@ApiModelProperty("服务费")
@JsonProperty("serviceAmount")
private String serviceAmount;
@ApiModelProperty("保险保证金")
@JsonProperty("depositPremium")
private String depositPremium;
@ApiModelProperty("落户保证金")
@JsonProperty("depositSettle")
private String depositSettle;
@ApiModelProperty("名义/留购价款")
@JsonProperty("nominalPrice")
private String nominalPrice;
@ApiModelProperty("有效期至")
@JsonProperty("validDateTo")
private String validDateTo;
@ApiModelProperty("其他融")
private FinancialOtherPolicyVo otherInfo;

3
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/financialPolicy/FinancialPolicyFeign.java

@ -6,6 +6,7 @@ import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
@ -28,7 +29,7 @@ public interface FinancialPolicyFeign {
ResultBean<PagerVo<FinancialPolicyVo>> getProductList(@RequestBody PagerQuery<FinancialPolicyQuery> pagerQuery);
@ApiOperation("app金融产品资方常规详情")
@PostMapping("getProductInfo")
@GetMapping("getProductInfo")
ResultBean<FinancialPolicyDetailsVo> getProductInfo(@RequestParam("sid") String sid);
}

4
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/policyrecordapply/AppFinPolicyApplyInitVo.java

@ -27,6 +27,8 @@ public class AppFinPolicyApplyInitVo implements Vo {
private String department;
@ApiModelProperty("申请人")
private String applicant;
@ApiModelProperty("某某部门,某某人")
private String publishInfo;
@ApiModelProperty("申请日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date applyDate;
@ -35,7 +37,7 @@ public class AppFinPolicyApplyInitVo implements Vo {
@ApiModelProperty("实例id")
@JsonProperty("procInsId")
private String instanceId;
// @ApiModelProperty("申请金融产品政策sid")
// @ApiModelProperty("申请金融产品政策sid")
// private List<String> policySids = new ArrayList<>();
@ApiModelProperty("附件路径")
private List<String> annexPaths = new ArrayList<>();

4
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/policyrecordapply/AppPolicyApplyInitListVo.java

@ -34,9 +34,9 @@ public class AppPolicyApplyInitListVo implements Vo {
@ApiModelProperty("保险保证金")
private String depositPremium;
@ApiModelProperty("落户保证金")
private BigDecimal depositSettle;
private String depositSettle;
@ApiModelProperty("名义/留购价款")
private BigDecimal nominalPrice;
private String nominalPrice;
@ApiModelProperty("有效期至")
private String validDateTo;
@ApiModelProperty("是否有其他融政策")

4
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/policyrecordapply/PolicyRecordApplyService.java

@ -13,6 +13,7 @@ import com.yxt.anrui.terminal.api.risk.policyrecordapply.AppFinPolicyApplyInitVo
import com.yxt.anrui.terminal.api.risk.policyrecordapply.flow.CompletePolicyDto;
import com.yxt.anrui.terminal.api.risk.policyrecordapply.flow.PolicyFlowableQuery;
import com.yxt.anrui.terminal.api.risk.policyrecordapply.flow.PolicyTaskQuery;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -44,6 +45,9 @@ public class PolicyRecordApplyService {
if (resultBean.getSuccess()) {
LoanFinPolicyApplyInitVo data = resultBean.getData();
BeanUtil.copyProperties(data, vo);
if (StringUtils.isNotBlank(vo.getApplicant()) && StringUtils.isNotBlank(vo.getDepartment())) {
vo.setPublishInfo(vo.getDepartment() + "-" + vo.getApplicant());
}
}
return rb.success().setData(vo);
}

Loading…
Cancel
Save