Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
God 1 year ago
parent
commit
3e300d5a85
  1. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml
  2. 16
      anrui-riskcenter-ui/src/api/courseofthecase/relation/execute.js
  3. 2
      anrui-riskcenter-ui/src/views/courseofthecase/relation/examineagain/examineagain.vue
  4. 2
      anrui-riskcenter-ui/src/views/courseofthecase/relation/examineagain/examineagainInfo.vue
  5. 278
      anrui-riskcenter-ui/src/views/courseofthecase/relation/execute/execute.vue
  6. 285
      anrui-riskcenter-ui/src/views/courseofthecase/relation/execute/executeInfo.vue
  7. 338
      anrui-riskcenter-ui/src/views/courseofthecase/relation/shangsuInfo/shangsuInfo.vue
  8. 2
      anrui-riskcenter-ui/src/views/courseofthecase/relation/trialofsecondinstance/trialofsecondinstance.vue
  9. 2
      anrui-riskcenter-ui/src/views/courseofthecase/relation/trialofsecondinstance/trialofsecondinstanceInfo.vue
  10. 8
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancaseprogress/LoanCaseProgressFeign.java
  11. 11
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancaseprogress/LoanCaseProgressFeignFallback.java
  12. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancaseprogress/zhixing/ExecuteVo.java
  13. 33
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancaseprogress/zhixing/ExecuteVoList.java
  14. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogress/LoanCaseProgressMapper.java
  15. 18
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogress/LoanCaseProgressMapper.xml
  16. 11
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogress/LoanCaseProgressRest.java
  17. 100
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogress/LoanCaseProgressService.java
  18. 197
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml
  19. 15
      anrui-scm/anrui-scm-ui/src/views/ruzhang/ruzhangguanli/ruzhangAdd.vue
  20. 9
      anrui-scm/anrui-scm-ui/src/views/ruzhang/ruzhangguanli/ruzhangInfo.vue
  21. 9
      anrui-scm/anrui-scm-ui/src/views/workFlow/ruzhangguanliFlow/ruzhangguanli/ruzhangDaiBanInfo.vue
  22. 14
      anrui-scm/anrui-scm-ui/src/views/workFlow/ruzhangguanliFlow/ruzhangguanli/ruzhangEdit.vue
  23. 9
      anrui-scm/anrui-scm-ui/src/views/workFlow/ruzhangguanliFlow/ruzhangguanli/ruzhangYiBanInfo.vue
  24. 89
      doc/databases/统计报表更新.sql

5
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml

@ -1108,7 +1108,7 @@
or bv.vehicleStateValue = '在途' or bv.vehicleStateValue = '在途'
or bv.vehicleStateValue = '调入' or bv.vehicleStateValue = '调入'
) )
and bv.isDelete = 0 and bv.isDelete = 0 and length(bv.vinNo)>8
order by isFictitious, bv.locationName, bv.vinNo desc order by isFictitious, bv.locationName, bv.vinNo desc
</select> </select>
@ -1128,7 +1128,7 @@
or bv.vehicleStateValue = '在途' or bv.vehicleStateValue = '在途'
or bv.vehicleStateValue = '调入' or bv.vehicleStateValue = '调入'
) )
and bv.isDelete = 0 and bv.isDelete = 0 and length(bv.vinNo)>8
<if test="list != null and list.size() != 0"> <if test="list != null and list.size() != 0">
and bv.sid in and bv.sid in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")"> <foreach collection="list" item="item" index="index" open="(" separator="," close=")">
@ -1416,6 +1416,7 @@
<if test="names != null and names != ''"> <if test="names != null and names != ''">
and bv.vinNo LIKE concat('%', #{names}, '%') and bv.vinNo LIKE concat('%', #{names}, '%')
</if> </if>
AND LENGTH(bv.vinNo)>8
</where> </where>
</select> </select>

16
anrui-riskcenter-ui/src/api/courseofthecase/relation/execute.js

@ -53,5 +53,21 @@ export default {
data: data, data: data,
headers: { 'Content-Type': 'application/json' } headers: { 'Content-Type': 'application/json' }
}) })
},
// 执行 -- 历史执行记录列表
getExecuteList: function(data) {
return request({
url: '/riskcenter/v1/LoanCaseProgress/getExecuteList',
method: 'get',
params: data
})
},
// 执行 -- 历史执行记录列表 -- 查看详情
getHistoryExecuteDetail: function(data) {
return request({
url: '/riskcenter/v1/LoanCaseProgress/getHistoryExecuteDetail',
method: 'get',
params: data
})
} }
} }

2
anrui-riskcenter-ui/src/views/courseofthecase/relation/examineagain/examineagain.vue

@ -207,7 +207,7 @@
<script> <script>
import req from '@/api/courseofthecase/relation/examineagain' import req from '@/api/courseofthecase/relation/examineagain'
import uploadImg from '@/components/uploadFile/uploadImg' import uploadImg from '@/components/uploadFile/uploadImg'
import caseappealInfo from '../../../caseappeal/caseappealInfo' import caseappealInfo from '../shangsuInfo/shangsuInfo'
export default { export default {
name: 'ZaiShen', name: 'ZaiShen',

2
anrui-riskcenter-ui/src/views/courseofthecase/relation/examineagain/examineagainInfo.vue

@ -188,7 +188,7 @@
<script> <script>
import req from '@/api/courseofthecase/relation/examineagain' import req from '@/api/courseofthecase/relation/examineagain'
import caseappealInfo from '../../../caseappeal/caseappealInfo' import caseappealInfo from '../shangsuInfo/shangsuInfo'
export default { export default {
name: 'ZaiShenInfo', name: 'ZaiShenInfo',

278
anrui-riskcenter-ui/src/views/courseofthecase/relation/execute/execute.vue

@ -4,7 +4,10 @@
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02"> <el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<div class="title titleOne"> <div class="title titleOne">
<div>准备执行材料</div> <div>准备执行材料</div>
<el-button type="primary" size="mini" class="btntopblueline" @click="ZBZXSave">保存</el-button> <div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
<el-button type="primary" size="mini" class="btntopblueline" @click="lookHistory">历史执行记录</el-button>
<el-button type="primary" size="mini" class="btntopblueline" @click="ZBZXSave">保存</el-button>
</div>
</div> </div>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
@ -199,6 +202,155 @@
<el-dialog :visible.sync="dialogVisible"> <el-dialog :visible.sync="dialogVisible">
<el-image style="width: 150px; height: 150px" v-for="(item, index) in list" :key="index" :src="item" :preview-src-list="list"/> <el-image style="width: 150px; height: 150px" v-for="(item, index) in list" :key="index" :src="item" :preview-src-list="list"/>
</el-dialog> </el-dialog>
<!-- 历史执行记录 -->
<el-dialog :visible.sync="historyVisible" width="70%">
<div v-show="tableVisible">
<el-form ref="form_obj" :rules="rules" class="formaddcopy02">
<div class="title">历史执行记录</div>
<el-table :key="historyKey" :data="historyList" :index="index" border style="width: 100%">
<el-table-column fixed width="60" label="序号" type="index" :index="index + 1" align="center" />
<el-table-column prop="prepareTime" label="转执行日期" align="center" width="150" />
<el-table-column prop="executeTime" label="执行立案日期" align="center" width="230" />
<el-table-column label="执行案件号" align="center" width="200">
<template slot-scope="scope">
<span class="bluezi" @click="lookDetail(scope.row.recordSid)">{{ scope.row.executeCaseNo }}</span>
</template>
</el-table-column>
<el-table-column prop="executeMoney" label="执行立案金额" align="center" width="200" />
<el-table-column prop="executeAmountAll" label="执行回款总金额" align="center" width="200" />
<el-table-column prop="endTime" label="终止日期" align="center" width="150" />
<el-table-column prop="endReason" label="终止原因" align="center" min-width="300" />
</el-table>
</el-form>
</div>
<div v-show="!tableVisible">
<div style="text-align: right">
<el-button type="info" size="small" @click="handleClose()">关闭</el-button>
</div>
<el-form ref="form_obj" :model="history" :rules="rules" class="formaddcopy02">
<div class="title">
<div>准备执行材料</div>
</div>
<el-row>
<el-col :span="8">
<div class="span-sty">转执行日期</div>
<el-form-item><span class="addinputInfo">{{ history.readyInfo.prepareTime }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">材料递交日期</div>
<el-form-item><span class="addinputInfo">{{ history.readyInfo.transferTime }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">负责人</div>
<el-form-item><span class="addinputInfo">{{ history.readyInfo.header }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">材料</div>
<el-form-item><el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in history.readyInfo.file" :key="index" :src="item" :preview-src-list="history.readyInfo.file" /></el-form-item>
</el-col>
</el-row>
<div class="title">已执行立案</div>
<el-row>
<el-col :span="8">
<div class="span-sty">执行立案日期</div>
<el-form-item><span class="addinputInfo">{{ history.yiZhiXingInfo.executeTime }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">执行案件号</div>
<el-form-item><span class="addinputInfo">{{ history.yiZhiXingInfo.executeCaseNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">执行时限()</div>
<el-form-item><span class="addinputInfo">{{ history.yiZhiXingInfo.executeDays }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">执行立案金额</div>
<el-form-item><span class="addinputInfo">{{ history.yiZhiXingInfo.executeMoney }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">执行回款总金额</div>
<el-form-item><span class="addinputInfo">{{ history.yiZhiXingInfo.executeAmountAll }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">执行未回款金额</div>
<el-form-item><span class="addinputInfo">{{ history.yiZhiXingInfo.executeNotAmount }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">执行法官
</div>
<el-table :key="tableKey" :data="history.yiZhiXingInfo.executeMeasure" :index="index" border style="width: 100%">
<el-table-column prop="measure" label="执行措施" align="center" width="150" />
<el-table-column prop="measureTime" label="执行日期" align="center" width="230" />
<el-table-column prop="measureMoney" label="执行回款金额" align="center" min-width="300" />
<el-table-column prop="measureShows" label="执行说明" align="center" min-width="300" />
<el-table-column prop="operatorTime" label="操作时间" align="center" width="200" />
<el-table-column prop="operator" label="操作人" align="center" width="150" />
<el-table-column label="附件" align="center" width="120">
<template slot-scope="scope">
<el-button type="primary" size="mini" style="padding-left: 5px" v-show="scope.row.file.length > 0" @click="handleLook(scope.row.file)">查看</el-button>
</template>
</el-table-column>
</el-table>
<div class="title">列入失信人名单</div>
<el-row>
<el-col :span="24">
<div class="span-sty">列入日期</div>
<el-form-item><span class="addinputInfo">{{ history.promiseInfo.promiseTime }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">材料</div>
<el-form-item><el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in history.promiseInfo.file" :key="index" :src="item" :preview-src-list="history.promiseInfo.file" /></el-form-item>
</el-col>
</el-row>
<div class="title">查封冻结资产</div>
<el-row>
<el-col :span="16">
<div class="span-sty">查封内容</div>
<el-form-item><span class="addinputInfo">{{ history.closeInfo.closePart }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">查封日期</div>
<el-form-item><span class="addinputInfo">{{ history.closeInfo.closeTime }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">材料</div>
<el-form-item><el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in history.closeInfo.file" :key="index" :src="item" :preview-src-list="history.closeInfo.file" /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">财产处置</div>
<el-form-item><span class="addinputInfo">{{ history.closeInfo.closeDisposal }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">终止本次执行</div>
<el-row>
<el-col :span="8">
<div class="span-sty">终止日期</div>
<el-form-item><span class="addinputInfo">{{ history.endCaseInfo.endTime }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">终止原因</div>
<el-form-item><span class="addinputInfo">{{ history.endCaseInfo.endReason }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">材料</div>
<el-form-item><el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in history.endCaseInfo.file" :key="index" :src="item" :preview-src-list="history.endCaseInfo.file" /></el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</el-dialog>
</div> </div>
</template> </template>
@ -260,6 +412,46 @@ export default {
file: [] file: []
} }
}, },
historyVisible: false,
tableVisible: true,
historyList: [],
historyKey: 1,
history: {
sid: '',
recordSid: '',
readyInfo: {
prepareTime: '',
transferTime: '',
header: '',
headerSid: '',
file: []
},
yiZhiXingInfo: {
executeTime: '',
executeCaseNo: '',
executeDays: '',
executeMoney: '',
executeAmountAll: '',
executeNotAmount: '',
executeJudge: '',
executeMeasure: []
},
closeInfo: {
closePart: '',
closeTime: '',
closeDisposal: '',
file: []
},
endCaseInfo: {
endTime: '',
endReason: '',
file: []
},
promiseInfo: {
promiseTime: '',
file: []
}
},
rules: {} rules: {}
} }
}, },
@ -279,6 +471,90 @@ export default {
} }
}) })
}, },
lookHistory() {
this.historyVisible = true
req.getExecuteList({ sid: this.formobj.sid }).then((resp) => {
if (resp.success) {
this.tableVisible = true
this.historyList = resp.data
}
})
},
lookDetail(sid) {
req.getHistoryExecuteDetail({ recordSid: sid }).then((resp) => {
if (resp.success) {
this.tableVisible = false
this.history = resp.data
if (this.history.readyInfo.file.length > 0) {
const aa = []
this.history.readyInfo.file.forEach((e) => {
aa.push(e.url)
})
this.history.readyInfo.file = aa
}
if (this.history.closeInfo.file.length > 0) {
const aa = []
this.history.closeInfo.file.forEach((e) => {
aa.push(e.url)
})
this.history.closeInfo.file = aa
}
if (this.history.promiseInfo.file.length > 0) {
const aa = []
this.history.promiseInfo.file.forEach((e) => {
aa.push(e.url)
})
this.history.promiseInfo.file = aa
}
if (this.history.endCaseInfo.file.length > 0) {
const aa = []
this.history.endCaseInfo.file.forEach((e) => {
aa.push(e.url)
})
this.history.endCaseInfo.file = aa
}
}
})
},
handleClose() {
this.tableVisible = true
this.history = {
sid: '',
recordSid: '',
readyInfo: {
prepareTime: '',
transferTime: '',
header: '',
headerSid: '',
file: []
},
yiZhiXingInfo: {
executeTime: '',
executeCaseNo: '',
executeDays: '',
executeMoney: '',
executeAmountAll: '',
executeNotAmount: '',
executeJudge: '',
executeMeasure: []
},
closeInfo: {
closePart: '',
closeTime: '',
closeDisposal: '',
file: []
},
endCaseInfo: {
endTime: '',
endReason: '',
file: []
},
promiseInfo: {
promiseTime: '',
file: []
}
}
},
ZBZXSave() { ZBZXSave() {
this.$refs['form_obj'].validate((valid) => { this.$refs['form_obj'].validate((valid) => {
if (valid) { if (valid) {

285
anrui-riskcenter-ui/src/views/courseofthecase/relation/execute/executeInfo.vue

@ -2,7 +2,10 @@
<div class="app-container"> <div class="app-container">
<div class=""> <div class="">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02"> <el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<div class="title">准备执行材料</div> <div class="title titleOne">
<div>准备执行材料</div>
<el-button type="primary" size="mini" class="btntopblueline" @click="lookHistory">历史执行记录</el-button>
</div>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">转执行日期</div> <div class="span-sty">转执行日期</div>
@ -126,6 +129,155 @@
<el-dialog :visible.sync="dialogVisible"> <el-dialog :visible.sync="dialogVisible">
<el-image style="width: 150px; height: 150px" v-for="(item, index) in list" :key="index" :src="item" :preview-src-list="list"/> <el-image style="width: 150px; height: 150px" v-for="(item, index) in list" :key="index" :src="item" :preview-src-list="list"/>
</el-dialog> </el-dialog>
<!-- 历史执行记录 -->
<el-dialog :visible.sync="historyVisible" width="70%">
<div v-show="tableVisible">
<el-form ref="form_obj" :rules="rules" class="formaddcopy02">
<div class="title">历史执行记录</div>
<el-table :key="historyKey" :data="historyList" :index="index" border style="width: 100%">
<el-table-column fixed width="60" label="序号" type="index" :index="index + 1" align="center" />
<el-table-column prop="prepareTime" label="转执行日期" align="center" width="150" />
<el-table-column prop="executeTime" label="执行立案日期" align="center" width="230" />
<el-table-column label="执行案件号" align="center" width="200">
<template slot-scope="scope">
<span class="bluezi" @click="lookDetail(scope.row.recordSid)">{{ scope.row.executeCaseNo }}</span>
</template>
</el-table-column>
<el-table-column prop="executeMoney" label="执行立案金额" align="center" width="200" />
<el-table-column prop="executeAmountAll" label="执行回款总金额" align="center" width="200" />
<el-table-column prop="endTime" label="终止日期" align="center" width="150" />
<el-table-column prop="endReason" label="终止原因" align="center" min-width="300" />
</el-table>
</el-form>
</div>
<div v-show="!tableVisible">
<div style="text-align: right">
<el-button type="info" size="small" @click="handleClose()">关闭</el-button>
</div>
<el-form ref="form_obj" :model="history" :rules="rules" class="formaddcopy02">
<div class="title">
<div>准备执行材料</div>
</div>
<el-row>
<el-col :span="8">
<div class="span-sty">转执行日期</div>
<el-form-item><span class="addinputInfo">{{ history.readyInfo.prepareTime }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">材料递交日期</div>
<el-form-item><span class="addinputInfo">{{ history.readyInfo.transferTime }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">负责人</div>
<el-form-item><span class="addinputInfo">{{ history.readyInfo.header }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">材料</div>
<el-form-item><el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in history.readyInfo.file" :key="index" :src="item" :preview-src-list="history.readyInfo.file" /></el-form-item>
</el-col>
</el-row>
<div class="title">已执行立案</div>
<el-row>
<el-col :span="8">
<div class="span-sty">执行立案日期</div>
<el-form-item><span class="addinputInfo">{{ history.yiZhiXingInfo.executeTime }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">执行案件号</div>
<el-form-item><span class="addinputInfo">{{ history.yiZhiXingInfo.executeCaseNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">执行时限()</div>
<el-form-item><span class="addinputInfo">{{ history.yiZhiXingInfo.executeDays }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">执行立案金额</div>
<el-form-item><span class="addinputInfo">{{ history.yiZhiXingInfo.executeMoney }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">执行回款总金额</div>
<el-form-item><span class="addinputInfo">{{ history.yiZhiXingInfo.executeAmountAll }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">执行未回款金额</div>
<el-form-item><span class="addinputInfo">{{ history.yiZhiXingInfo.executeNotAmount }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">执行法官
</div>
<el-table :key="tableKey" :data="history.yiZhiXingInfo.executeMeasure" :index="index" border style="width: 100%">
<el-table-column prop="measure" label="执行措施" align="center" width="150" />
<el-table-column prop="measureTime" label="执行日期" align="center" width="230" />
<el-table-column prop="measureMoney" label="执行回款金额" align="center" min-width="300" />
<el-table-column prop="measureShows" label="执行说明" align="center" min-width="300" />
<el-table-column prop="operatorTime" label="操作时间" align="center" width="200" />
<el-table-column prop="operator" label="操作人" align="center" width="150" />
<el-table-column label="附件" align="center" width="120">
<template slot-scope="scope">
<el-button type="primary" size="mini" style="padding-left: 5px" v-show="scope.row.file.length > 0" @click="handleLook(scope.row.file)">查看</el-button>
</template>
</el-table-column>
</el-table>
<div class="title">列入失信人名单</div>
<el-row>
<el-col :span="24">
<div class="span-sty">列入日期</div>
<el-form-item><span class="addinputInfo">{{ history.promiseInfo.promiseTime }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">材料</div>
<el-form-item><el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in history.promiseInfo.file" :key="index" :src="item" :preview-src-list="history.promiseInfo.file" /></el-form-item>
</el-col>
</el-row>
<div class="title">查封冻结资产</div>
<el-row>
<el-col :span="16">
<div class="span-sty">查封内容</div>
<el-form-item><span class="addinputInfo">{{ history.closeInfo.closePart }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">查封日期</div>
<el-form-item><span class="addinputInfo">{{ history.closeInfo.closeTime }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">材料</div>
<el-form-item><el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in history.closeInfo.file" :key="index" :src="item" :preview-src-list="history.closeInfo.file" /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">财产处置</div>
<el-form-item><span class="addinputInfo">{{ history.closeInfo.closeDisposal }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">终止本次执行</div>
<el-row>
<el-col :span="8">
<div class="span-sty">终止日期</div>
<el-form-item><span class="addinputInfo">{{ history.endCaseInfo.endTime }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">终止原因</div>
<el-form-item><span class="addinputInfo">{{ history.endCaseInfo.endReason }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center">材料</div>
<el-form-item><el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in history.endCaseInfo.file" :key="index" :src="item" :preview-src-list="history.endCaseInfo.file" /></el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</el-dialog>
</div> </div>
</template> </template>
@ -181,6 +333,46 @@ export default {
file: [] file: []
} }
}, },
historyVisible: false,
tableVisible: true,
historyList: [],
historyKey: 1,
history: {
sid: '',
recordSid: '',
readyInfo: {
prepareTime: '',
transferTime: '',
header: '',
headerSid: '',
file: []
},
yiZhiXingInfo: {
executeTime: '',
executeCaseNo: '',
executeDays: '',
executeMoney: '',
executeAmountAll: '',
executeNotAmount: '',
executeJudge: '',
executeMeasure: []
},
closeInfo: {
closePart: '',
closeTime: '',
closeDisposal: '',
file: []
},
endCaseInfo: {
endTime: '',
endReason: '',
file: []
},
promiseInfo: {
promiseTime: '',
file: []
}
},
rules: {} rules: {}
} }
}, },
@ -220,6 +412,90 @@ export default {
} }
}) })
}, },
lookHistory() {
this.historyVisible = true
req.getExecuteList({ sid: this.formobj.sid }).then((resp) => {
if (resp.success) {
this.tableVisible = true
this.historyList = resp.data
}
})
},
lookDetail(sid) {
req.getHistoryExecuteDetail({ recordSid: sid }).then((resp) => {
if (resp.success) {
this.tableVisible = false
this.history = resp.data
if (this.formobj.readyInfo.file.length > 0) {
const aa = []
this.formobj.readyInfo.file.forEach((e) => {
aa.push(e.url)
})
this.formobj.readyInfo.file = aa
}
if (this.formobj.closeInfo.file.length > 0) {
const aa = []
this.formobj.closeInfo.file.forEach((e) => {
aa.push(e.url)
})
this.formobj.closeInfo.file = aa
}
if (this.formobj.promiseInfo.file.length > 0) {
const aa = []
this.formobj.promiseInfo.file.forEach((e) => {
aa.push(e.url)
})
this.formobj.promiseInfo.file = aa
}
if (this.formobj.endCaseInfo.file.length > 0) {
const aa = []
this.formobj.endCaseInfo.file.forEach((e) => {
aa.push(e.url)
})
this.formobj.endCaseInfo.file = aa
}
}
})
},
handleClose() {
this.tableVisible = true
this.history = {
sid: '',
recordSid: '',
readyInfo: {
prepareTime: '',
transferTime: '',
header: '',
headerSid: '',
file: []
},
yiZhiXingInfo: {
executeTime: '',
executeCaseNo: '',
executeDays: '',
executeMoney: '',
executeAmountAll: '',
executeNotAmount: '',
executeJudge: '',
executeMeasure: []
},
closeInfo: {
closePart: '',
closeTime: '',
closeDisposal: '',
file: []
},
endCaseInfo: {
endTime: '',
endReason: '',
file: []
},
promiseInfo: {
promiseTime: '',
file: []
}
}
},
// -- // --
handleLook(row) { handleLook(row) {
this.dialogVisible = true this.dialogVisible = true
@ -245,4 +521,11 @@ export default {
.addinputInfo { .addinputInfo {
margin-left: 140px !important; margin-left: 140px !important;
} }
.titleOne {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
</style> </style>

338
anrui-riskcenter-ui/src/views/courseofthecase/relation/shangsuInfo/shangsuInfo.vue

@ -0,0 +1,338 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.deptName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createTime }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">案件创建日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.caseCreateDate }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">公司负责人</div>
<el-form-item><span class="addinputInfo">{{ formobj.compHead }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">法务部门负责人</div>
<el-form-item><span class="addinputInfo">{{ formobj.legalDeptHead }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">案件编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.caseNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">案件类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.caseType }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.loanContract }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">贷款人</div>
<el-form-item><span class="addinputInfo">{{ formobj.lenderName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">贷款人证件号码</div>
<el-form-item><span class="addinputInfo">{{ formobj.lenderIdNo }}</span></el-form-item>
</el-col>
<el-col :span="8" class="tlineheightb">
<div class="span-sty">贷款人户籍/注册地址</div>
<el-form-item><span class="addinputInfo">{{ formobj.lenderAddress }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">客户</div>
<el-form-item><span class="addinputInfo">{{ formobj.customName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">资方</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">资方合同编号</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankContract }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">欠款合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.arrearsTotal }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">是否全额诉讼</div>
<el-form-item><span class="addinputInfo">{{ formobj.isFullLitigation }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">起诉金额合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.sueMoneyTotal }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">部分诉讼说明</div>
<el-form-item><span class="addinputInfo">{{ formobj.partProceRemarks }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">判决日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.judgDate }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">判决结果</div>
<el-form-item><span class="addinputInfo">{{ formobj.judgResult }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">判决金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.judgMoney }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">领取判决书日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.receivejudgDate }}</span></el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">判决备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.judgRemarks }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">判决资料</div>
<el-form-item><el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.pjclFiles" :key="index" :src="item" :preview-src-list="formobj.pjclFiles" /></el-form-item>
</el-col>
</el-row>
<div class="title">车辆信息</div>
<el-table :key="tableKey" :data="formobj.loanCaseAppealVehList" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column prop="vinNo" label="车架号" align="center" />
<el-table-column prop="carNum" label="车牌号" align="center" />
<el-table-column prop="affiliatedCompany" label="挂靠公司" align="center" />
<el-table-column prop="carState" label="车辆状态" align="center" />
<el-table-column prop="remarks" label="备注" align="center" />
</el-table>
<el-row>
<el-col :span="8">
<div class="span-sty">案件阶段</div>
<el-form-item><span class="addinputInfo">{{ formobj.caseStage }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">预上/应诉日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.expectDate }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">上诉到期日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.appealDueDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24" class="tlineheightb">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.remarks }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">/应诉材料</div>
<el-form-item>
<el-form-item><el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.ysclFiles" :key="index" :src="item" :preview-src-list="formobj.ysclFiles" /></el-form-item>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</div>
</template>
<script>
import req from '@/api/caseappeal/caseappeal'
export default {
name: 'ShangSuInfo',
data() {
return {
viewTitle: '',
viewState: 1,
tableKey: 0,
index: 0,
formobj: {
appealDueDate: '',
arrearsTotal: '',
bankContract: '',
bankName: '',
billNo: '',
busSid: '',
caseCreateDate: '',
caseNo: '',
caseStage: '',
caseType: '',
compHead: '',
createByName: '',
createBySid: '',
createTime: '',
customName: '',
deptName: '',
deptSid: '',
expectCourt: '',
expectDate: '',
isFullLitigation: '',
judgDate: '',
judgMoney: '',
judgRemarks: '',
judgResult: '',
legalDeptHead: '',
lenderAddress: '',
lenderIdNo: '',
lenderName: '',
loanCaseAppealVehList: [],
loanContract: '',
nodeSid: '',
nodeState: '',
orgPath: '',
partProceRemarks: '',
pjclFiles: [],
priCourtRefer: '',
procDefId: '',
procInstSid: '',
receivejudgDate: '',
remarks: '',
sid: '',
sueMoneyTotal: '',
taskId: '',
useOrgName: '',
useOrgSid: '',
ysclFiles: []
},
rules: {}
}
},
methods: {
showInfo(row) {
this.viewTitle = '案件上/应诉申请详情'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.fetchBySid(row.sid).then((res) => {
if (res.success) {
this.formobj = res.data
if (this.formobj.pjclFiles.length > 0) {
const aa = []
this.formobj.pjclFiles.forEach((e) => {
aa.push(e.url)
})
this.formobj.pjclFiles = aa
}
if (this.formobj.ysclFiles.length > 0) {
const aa = []
this.formobj.ysclFiles.forEach((e) => {
aa.push(e.url)
})
this.formobj.ysclFiles = aa
}
}
})
},
handleReturn() {
this.formobj = {
appealDueDate: '',
arrearsTotal: '',
bankContract: '',
bankName: '',
billNo: '',
busSid: '',
caseCreateDate: '',
caseNo: '',
caseStage: '',
caseType: '',
compHead: '',
createByName: '',
createBySid: '',
createTime: '',
customName: '',
deptName: '',
deptSid: '',
expectCourt: '',
expectDate: '',
isFullLitigation: '',
judgDate: '',
judgMoney: '',
judgRemarks: '',
judgResult: '',
legalDeptHead: '',
lenderAddress: '',
lenderIdNo: '',
lenderName: '',
loanCaseAppealVehList: [],
loanContract: '',
nodeSid: '',
nodeState: '',
orgPath: '',
partProceRemarks: '',
pjclFiles: [],
priCourtRefer: '',
procDefId: '',
procInstSid: '',
receivejudgDate: '',
remarks: '',
sid: '',
sueMoneyTotal: '',
taskId: '',
useOrgName: '',
useOrgSid: '',
ysclFiles: []
}
this.$emit('doback')
}
}
}
</script>
<style scoped>
.span-sty {
width: 150px !important;
}
.addinputInfo {
margin-left: 140px !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-ui/src/views/courseofthecase/relation/trialofsecondinstance/trialofsecondinstance.vue

@ -207,7 +207,7 @@
<script> <script>
import req from '@/api/courseofthecase/relation/trialofsecondinstance' import req from '@/api/courseofthecase/relation/trialofsecondinstance'
import uploadImg from '@/components/uploadFile/uploadImg' import uploadImg from '@/components/uploadFile/uploadImg'
import caseappealInfo from '../../../caseappeal/caseappealInfo' import caseappealInfo from '../shangsuInfo/shangsuInfo'
export default { export default {
name: 'ErShen', name: 'ErShen',

2
anrui-riskcenter-ui/src/views/courseofthecase/relation/trialofsecondinstance/trialofsecondinstanceInfo.vue

@ -188,7 +188,7 @@
<script> <script>
import req from '@/api/courseofthecase/relation/trialofsecondinstance' import req from '@/api/courseofthecase/relation/trialofsecondinstance'
import caseappealInfo from '../../../caseappeal/caseappealInfo' import caseappealInfo from '../shangsuInfo/shangsuInfo'
export default { export default {
name: 'ErShenInfo', name: 'ErShenInfo',

8
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancaseprogress/LoanCaseProgressFeign.java

@ -3,6 +3,7 @@ package com.yxt.anrui.riskcenter.api.loancaseprogress;
import com.yxt.anrui.riskcenter.api.loancaseprogress.jiean.JieAnVo; import com.yxt.anrui.riskcenter.api.loancaseprogress.jiean.JieAnVo;
import com.yxt.anrui.riskcenter.api.loancaseprogress.tingshen.ReviewVo; import com.yxt.anrui.riskcenter.api.loancaseprogress.tingshen.ReviewVo;
import com.yxt.anrui.riskcenter.api.loancaseprogress.zhixing.ExecuteVo; import com.yxt.anrui.riskcenter.api.loancaseprogress.zhixing.ExecuteVo;
import com.yxt.anrui.riskcenter.api.loancaseprogress.zhixing.ExecuteVoList;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
@ -167,6 +168,13 @@ public interface LoanCaseProgressFeign {
@PostMapping("/saveEndCaseInfo") @PostMapping("/saveEndCaseInfo")
public ResultBean saveEndCaseInfo(@RequestBody ExecuteVo dto); public ResultBean saveEndCaseInfo(@RequestBody ExecuteVo dto);
@ApiOperation("查询执行历史记录列表")
@GetMapping("/getExecuteList")
public ResultBean<List<ExecuteVoList>> getExecuteList(@RequestParam("sid") String sid);
@ApiOperation("查询执行历史记录列表")
@GetMapping("/getHistoryExecuteDetail")
public ResultBean<ExecuteVo> getHistoryExecuteDetail(@RequestParam("recordSid") String recordSid);
//-------------------结案----------------------------- //-------------------结案-----------------------------
@ApiOperation("结案详情") @ApiOperation("结案详情")

11
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancaseprogress/LoanCaseProgressFeignFallback.java

@ -3,6 +3,7 @@ package com.yxt.anrui.riskcenter.api.loancaseprogress;
import com.yxt.anrui.riskcenter.api.loancaseprogress.jiean.JieAnVo; import com.yxt.anrui.riskcenter.api.loancaseprogress.jiean.JieAnVo;
import com.yxt.anrui.riskcenter.api.loancaseprogress.tingshen.ReviewVo; import com.yxt.anrui.riskcenter.api.loancaseprogress.tingshen.ReviewVo;
import com.yxt.anrui.riskcenter.api.loancaseprogress.zhixing.ExecuteVo; import com.yxt.anrui.riskcenter.api.loancaseprogress.zhixing.ExecuteVo;
import com.yxt.anrui.riskcenter.api.loancaseprogress.zhixing.ExecuteVoList;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
@ -173,6 +174,16 @@ public class LoanCaseProgressFeignFallback implements LoanCaseProgressFeign {
return null; return null;
} }
@Override
public ResultBean<List<ExecuteVoList>> getExecuteList(String sid) {
return null;
}
@Override
public ResultBean<ExecuteVo> getHistoryExecuteDetail(String recordSid) {
return null;
}
@Override @Override
public ResultBean<JieAnVo> getEndCaseDetails(String sid) { public ResultBean<JieAnVo> getEndCaseDetails(String sid) {
return null; return null;

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancaseprogress/zhixing/ExecuteVo.java

@ -11,7 +11,7 @@ import lombok.Data;
public class ExecuteVo { public class ExecuteVo {
private String sid; private String sid;
private String recordSid; //执行记录sid // private String recordSid; //执行记录sid
private ReadyInfo readyInfo = new ReadyInfo(); //准备执行材料 private ReadyInfo readyInfo = new ReadyInfo(); //准备执行材料
private YiZhiXingInfo yiZhiXingInfo = new YiZhiXingInfo(); //已执行立案 private YiZhiXingInfo yiZhiXingInfo = new YiZhiXingInfo(); //已执行立案
private CloseInfo closeInfo = new CloseInfo(); //查封、冻结财产 private CloseInfo closeInfo = new CloseInfo(); //查封、冻结财产

33
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancaseprogress/zhixing/ExecuteVoList.java

@ -0,0 +1,33 @@
package com.yxt.anrui.riskcenter.api.loancaseprogress.zhixing;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author Fan
* @description
* @date 2024/3/5 9:20
*/
@Data
public class ExecuteVoList {
private String recordSid;
@ApiModelProperty("准备执行材料-转执行日期")
private String prepareTime;
@ApiModelProperty("已执行立案-执行立案日期")
private String executeTime;
@ApiModelProperty("已执行立案-执行案件号")
private String executeCaseNo;
@ApiModelProperty("已执行立案-执行立案金额")
private String executeMoney;
@ApiModelProperty("已执行立案-执行回款总金额")
private String executeAmountAll;
@ApiModelProperty("终止本次执行-终止日期")
private String endTime;
@ApiModelProperty("终止本次执行-终止原因")
private String endReason;
}

3
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogress/LoanCaseProgressMapper.java

@ -10,6 +10,7 @@ import com.yxt.anrui.riskcenter.api.loancaseprogress.LoanCaseProgress;
import com.yxt.anrui.riskcenter.api.loancaseprogress.LoanCaseProgressVo; import com.yxt.anrui.riskcenter.api.loancaseprogress.LoanCaseProgressVo;
import com.yxt.anrui.riskcenter.api.loancaseprogress.tingshen.DelegateInfo; import com.yxt.anrui.riskcenter.api.loancaseprogress.tingshen.DelegateInfo;
import com.yxt.anrui.riskcenter.api.loancaseprogress.tingshen.ShangSuApplyVo; import com.yxt.anrui.riskcenter.api.loancaseprogress.tingshen.ShangSuApplyVo;
import com.yxt.anrui.riskcenter.api.loancaseprogress.zhixing.ExecuteVoList;
import com.yxt.anrui.riskcenter.api.loancaseprogressexecute.LoanCaseProgressExecute; import com.yxt.anrui.riskcenter.api.loancaseprogressexecute.LoanCaseProgressExecute;
import com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedger; import com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedger;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -52,4 +53,6 @@ public interface LoanCaseProgressMapper extends BaseMapper<LoanCaseProgress> {
LoanCaseProgressExecute getExecuteDetailsBySid(@Param("sid") String sid); LoanCaseProgressExecute getExecuteDetailsBySid(@Param("sid") String sid);
LoanCaseCloseApply selCloseApplyBySid(@Param("sid") String sid); LoanCaseCloseApply selCloseApplyBySid(@Param("sid") String sid);
List<ExecuteVoList> getExecuteList(@Param("sid") String sid);
} }

18
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogress/LoanCaseProgressMapper.xml

@ -110,5 +110,23 @@
resultType="com.yxt.anrui.riskcenter.api.loancasecloseapply.LoanCaseCloseApply"> resultType="com.yxt.anrui.riskcenter.api.loancasecloseapply.LoanCaseCloseApply">
SELECT * FROM loan_case_close_apply WHERE busSid = #{sid} and nodeState = '已办结' SELECT * FROM loan_case_close_apply WHERE busSid = #{sid} and nodeState = '已办结'
</select> </select>
<select id="getExecuteList"
resultType="com.yxt.anrui.riskcenter.api.loancaseprogress.zhixing.ExecuteVoList">
SELECT
sid AS recordSid,
date_format( prepareTime, '%Y-%m-%d' ) AS prepareTime,
date_format( executeTime, '%Y-%m-%d' ) AS executeTime,
executeCaseNo,
executeMoney,
executeAmountAll,
date_format( endTime, '%Y-%m-%d' ) AS endTime,
endReason
FROM
loan_case_progress_execute
WHERE
mainSid = '0a4c63e2-9f06-4840-9305-c66246e04416'
AND terminate = 1
ORDER BY endTime DESC
</select>
</mapper> </mapper>

11
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogress/LoanCaseProgressRest.java

@ -5,6 +5,7 @@ import com.yxt.anrui.riskcenter.api.loancaseprogress.*;
import com.yxt.anrui.riskcenter.api.loancaseprogress.jiean.JieAnVo; import com.yxt.anrui.riskcenter.api.loancaseprogress.jiean.JieAnVo;
import com.yxt.anrui.riskcenter.api.loancaseprogress.tingshen.ReviewVo; import com.yxt.anrui.riskcenter.api.loancaseprogress.tingshen.ReviewVo;
import com.yxt.anrui.riskcenter.api.loancaseprogress.zhixing.ExecuteVo; import com.yxt.anrui.riskcenter.api.loancaseprogress.zhixing.ExecuteVo;
import com.yxt.anrui.riskcenter.api.loancaseprogress.zhixing.ExecuteVoList;
import com.yxt.anrui.riskcenter.api.loanlawsuitapply.LoanLawsuitApplyVo; import com.yxt.anrui.riskcenter.api.loanlawsuitapply.LoanLawsuitApplyVo;
import com.yxt.anrui.riskcenter.api.loanparameter.*; import com.yxt.anrui.riskcenter.api.loanparameter.*;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
@ -192,6 +193,16 @@ public class LoanCaseProgressRest implements LoanCaseProgressFeign {
return loanCaseProgressService.saveEndCaseInfo(dto); return loanCaseProgressService.saveEndCaseInfo(dto);
} }
@Override
public ResultBean<List<ExecuteVoList>> getExecuteList(String sid) {
return loanCaseProgressService.getExecuteList(sid);
}
@Override
public ResultBean<ExecuteVo> getHistoryExecuteDetail(String recordSid) {
return loanCaseProgressService.getHistoryExecuteDetail(recordSid);
}
@Override @Override
public ResultBean<JieAnVo> getEndCaseDetails(String sid) { public ResultBean<JieAnVo> getEndCaseDetails(String sid) {
return loanCaseProgressService.getEndCaseDetails(sid); return loanCaseProgressService.getEndCaseDetails(sid);

100
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogress/LoanCaseProgressService.java

@ -2298,7 +2298,7 @@ public class LoanCaseProgressService extends MybatisBaseService<LoanCaseProgress
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if (null != execute) { if (null != execute) {
vo.setSid(execute.getMainSid()); vo.setSid(execute.getMainSid());
vo.setRecordSid(execute.getSid()); // vo.setRecordSid(execute.getSid());
//准备执行材料 //准备执行材料
ReadyInfo readyInfo = new ReadyInfo(); ReadyInfo readyInfo = new ReadyInfo();
BeanUtil.copyProperties(execute, readyInfo); BeanUtil.copyProperties(execute, readyInfo);
@ -2415,8 +2415,8 @@ public class LoanCaseProgressService extends MybatisBaseService<LoanCaseProgress
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String sid = dto.getSid(); String sid = dto.getSid();
ReadyInfo readyInfo = dto.getReadyInfo(); ReadyInfo readyInfo = dto.getReadyInfo();
if (StringUtils.isNotBlank(dto.getRecordSid())) { LoanCaseProgressExecute execute = baseMapper.getExecuteDetailsBySid(sid);
LoanCaseProgressExecute execute = loanCaseProgressExecuteService.fetchBySid(dto.getRecordSid()); if (execute != null) {
BeanUtil.copyProperties(readyInfo, execute); BeanUtil.copyProperties(readyInfo, execute);
if (StringUtils.isBlank(execute.getCaseTache())) { if (StringUtils.isBlank(execute.getCaseTache())) {
execute.setCaseTacheNo("1"); execute.setCaseTacheNo("1");
@ -2467,11 +2467,11 @@ public class LoanCaseProgressService extends MybatisBaseService<LoanCaseProgress
} }
} }
} else { } else {
LoanCaseProgressExecute execute = new LoanCaseProgressExecute(); LoanCaseProgressExecute executeEntity = new LoanCaseProgressExecute();
BeanUtil.copyProperties(readyInfo, execute); BeanUtil.copyProperties(readyInfo, executeEntity);
execute.setMainSid(sid); executeEntity.setMainSid(sid);
execute.setCaseTacheNo("1"); executeEntity.setCaseTacheNo("1");
execute.setCaseTache("准备执行材料"); executeEntity.setCaseTache("准备执行材料");
//保存附件 //保存附件
List<UrlQuery> filss = readyInfo.getFile(); List<UrlQuery> filss = readyInfo.getFile();
filss.removeAll(Collections.singleton(null)); filss.removeAll(Collections.singleton(null));
@ -2480,10 +2480,10 @@ public class LoanCaseProgressService extends MybatisBaseService<LoanCaseProgress
filesList.removeAll(Collections.singleton(null)); filesList.removeAll(Collections.singleton(null));
if (!filesList.isEmpty()) { if (!filesList.isEmpty()) {
String files = String.join(",", filesList).replaceAll(fileUploadComponent.getUrlPrefix(), ""); String files = String.join(",", filesList).replaceAll(fileUploadComponent.getUrlPrefix(), "");
execute.setPrepareFiles(files); executeEntity.setPrepareFiles(files);
} }
} }
loanCaseProgressExecuteService.insert(execute); loanCaseProgressExecuteService.insert(executeEntity);
LoanCaseProgress progress = fetchBySid(sid); LoanCaseProgress progress = fetchBySid(sid);
if (null != progress) { if (null != progress) {
String caseStage = progress.getCaseStageNo(); String caseStage = progress.getCaseStageNo();
@ -2527,26 +2527,26 @@ public class LoanCaseProgressService extends MybatisBaseService<LoanCaseProgress
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
YiZhiXingInfo yiZhiXingInfo = dto.getYiZhiXingInfo(); YiZhiXingInfo yiZhiXingInfo = dto.getYiZhiXingInfo();
List<ExecuteMeasureVo> executeMeasure = yiZhiXingInfo.getExecuteMeasure(); List<ExecuteMeasureVo> executeMeasure = yiZhiXingInfo.getExecuteMeasure();
if (StringUtils.isNotBlank(dto.getRecordSid())) { LoanCaseProgressExecute updateEntity = baseMapper.getExecuteDetailsBySid(sid);
LoanCaseProgressExecute execute = loanCaseProgressExecuteService.fetchBySid(dto.getRecordSid()); if (updateEntity != null) {
BeanUtil.copyProperties(yiZhiXingInfo, execute); BeanUtil.copyProperties(yiZhiXingInfo, updateEntity);
if (StringUtils.isBlank(execute.getCaseTache())) { if (StringUtils.isBlank(updateEntity.getCaseTache())) {
execute.setCaseTacheNo("2"); updateEntity.setCaseTacheNo("2");
execute.setCaseTache("已执行立案"); updateEntity.setCaseTache("已执行立案");
} else { } else {
String caseTacheNo = execute.getCaseTacheNo(); String caseTacheNo = updateEntity.getCaseTacheNo();
int i = Integer.parseInt(caseTacheNo); int i = Integer.parseInt(caseTacheNo);
if (i < 2) { if (i < 2) {
execute.setCaseTacheNo("2"); updateEntity.setCaseTacheNo("2");
execute.setCaseTache("已执行立案"); updateEntity.setCaseTache("已执行立案");
} }
} }
loanCaseProgressExecuteService.updateById(execute); loanCaseProgressExecuteService.updateById(updateEntity);
loanCaseProgressExecuteMeasureService.delByMainSid(dto.getRecordSid()); loanCaseProgressExecuteMeasureService.delByMainSid(updateEntity.getSid());
if (!executeMeasure.isEmpty()) { if (!executeMeasure.isEmpty()) {
for (ExecuteMeasureVo measureVo : executeMeasure) { for (ExecuteMeasureVo measureVo : executeMeasure) {
LoanCaseProgressExecuteMeasure measure = new LoanCaseProgressExecuteMeasure(); LoanCaseProgressExecuteMeasure measure = new LoanCaseProgressExecuteMeasure();
measure.setMainSid(execute.getSid()); measure.setMainSid(updateEntity.getSid());
BeanUtil.copyProperties(measureVo, measure); BeanUtil.copyProperties(measureVo, measure);
//保存附件 //保存附件
List<UrlQuery> filss = measureVo.getFile(); List<UrlQuery> filss = measureVo.getFile();
@ -2691,9 +2691,9 @@ public class LoanCaseProgressService extends MybatisBaseService<LoanCaseProgress
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
String sid = dto.getSid(); String sid = dto.getSid();
PromiseInfo promiseInfo = dto.getPromiseInfo(); PromiseInfo promiseInfo = dto.getPromiseInfo();
if (StringUtils.isNotBlank(dto.getRecordSid())) { LoanCaseProgressExecute updateEntity = baseMapper.getExecuteDetailsBySid(sid);
LoanCaseProgressExecute execute = loanCaseProgressExecuteService.fetchBySid(dto.getRecordSid()); if (null != updateEntity) {
BeanUtil.copyProperties(promiseInfo, execute); BeanUtil.copyProperties(promiseInfo, updateEntity);
//保存附件 //保存附件
List<UrlQuery> filss = promiseInfo.getFile(); List<UrlQuery> filss = promiseInfo.getFile();
filss.removeAll(Collections.singleton(null)); filss.removeAll(Collections.singleton(null));
@ -2702,10 +2702,10 @@ public class LoanCaseProgressService extends MybatisBaseService<LoanCaseProgress
filesList.removeAll(Collections.singleton(null)); filesList.removeAll(Collections.singleton(null));
if (!filesList.isEmpty()) { if (!filesList.isEmpty()) {
String files = String.join(",", filesList).replaceAll(fileUploadComponent.getUrlPrefix(), ""); String files = String.join(",", filesList).replaceAll(fileUploadComponent.getUrlPrefix(), "");
execute.setPromiseFiles(files); updateEntity.setPromiseFiles(files);
} }
} }
loanCaseProgressExecuteService.updateById(execute); loanCaseProgressExecuteService.updateById(updateEntity);
} else { } else {
LoanCaseProgressExecute execute = new LoanCaseProgressExecute(); LoanCaseProgressExecute execute = new LoanCaseProgressExecute();
BeanUtil.copyProperties(promiseInfo, execute); BeanUtil.copyProperties(promiseInfo, execute);
@ -2731,9 +2731,9 @@ public class LoanCaseProgressService extends MybatisBaseService<LoanCaseProgress
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
String sid = dto.getSid(); String sid = dto.getSid();
CloseInfo closeInfo = dto.getCloseInfo(); CloseInfo closeInfo = dto.getCloseInfo();
if (StringUtils.isNotBlank(dto.getRecordSid())) { LoanCaseProgressExecute updateEntity = baseMapper.getExecuteDetailsBySid(sid);
LoanCaseProgressExecute execute = loanCaseProgressExecuteService.fetchBySid(dto.getRecordSid()); if (null != updateEntity) {
BeanUtil.copyProperties(closeInfo, execute); BeanUtil.copyProperties(closeInfo, updateEntity);
//保存附件 //保存附件
List<UrlQuery> filss = closeInfo.getFile(); List<UrlQuery> filss = closeInfo.getFile();
filss.removeAll(Collections.singleton(null)); filss.removeAll(Collections.singleton(null));
@ -2742,10 +2742,10 @@ public class LoanCaseProgressService extends MybatisBaseService<LoanCaseProgress
filesList.removeAll(Collections.singleton(null)); filesList.removeAll(Collections.singleton(null));
if (!filesList.isEmpty()) { if (!filesList.isEmpty()) {
String files = String.join(",", filesList).replaceAll(fileUploadComponent.getUrlPrefix(), ""); String files = String.join(",", filesList).replaceAll(fileUploadComponent.getUrlPrefix(), "");
execute.setCloseFiles(files); updateEntity.setCloseFiles(files);
} }
} }
loanCaseProgressExecuteService.updateById(execute); loanCaseProgressExecuteService.updateById(updateEntity);
} else { } else {
LoanCaseProgressExecute execute = new LoanCaseProgressExecute(); LoanCaseProgressExecute execute = new LoanCaseProgressExecute();
BeanUtil.copyProperties(closeInfo, execute); BeanUtil.copyProperties(closeInfo, execute);
@ -2770,13 +2770,11 @@ public class LoanCaseProgressService extends MybatisBaseService<LoanCaseProgress
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public ResultBean saveEndCaseInfo(ExecuteVo dto) { public ResultBean saveEndCaseInfo(ExecuteVo dto) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
if (StringUtils.isNotBlank(dto.getRecordSid())) { LoanCaseProgressExecute updateEntity = baseMapper.getExecuteDetailsBySid(dto.getSid());
if (null != updateEntity) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String sid = dto.getSid();
String recordSid = dto.getRecordSid();
EndCaseInfo endCaseInfo = dto.getEndCaseInfo(); EndCaseInfo endCaseInfo = dto.getEndCaseInfo();
LoanCaseProgressExecute execute = loanCaseProgressExecuteService.fetchBySid(recordSid); BeanUtil.copyProperties(endCaseInfo, updateEntity);
BeanUtil.copyProperties(endCaseInfo, execute);
//保存附件 //保存附件
List<UrlQuery> filss = endCaseInfo.getFile(); List<UrlQuery> filss = endCaseInfo.getFile();
filss.removeAll(Collections.singleton(null)); filss.removeAll(Collections.singleton(null));
@ -2785,17 +2783,17 @@ public class LoanCaseProgressService extends MybatisBaseService<LoanCaseProgress
filesList.removeAll(Collections.singleton(null)); filesList.removeAll(Collections.singleton(null));
if (!filesList.isEmpty()) { if (!filesList.isEmpty()) {
String files = String.join(",", filesList).replaceAll(fileUploadComponent.getUrlPrefix(), ""); String files = String.join(",", filesList).replaceAll(fileUploadComponent.getUrlPrefix(), "");
execute.setEndFiles(files); updateEntity.setEndFiles(files);
} }
} }
execute.setTerminate(1); updateEntity.setTerminate(1);
loanCaseProgressExecuteService.updateById(execute); loanCaseProgressExecuteService.updateById(updateEntity);
LoanCaseProgressExecute newExecute = new LoanCaseProgressExecute(); LoanCaseProgressExecute newExecute = new LoanCaseProgressExecute();
newExecute.setMainSid(sid); newExecute.setMainSid(dto.getSid());
newExecute.setCaseTache("准备执行材料"); newExecute.setCaseTache("准备执行材料");
newExecute.setCaseTacheNo("1"); newExecute.setCaseTacheNo("1");
loanCaseProgressExecuteService.insert(newExecute); loanCaseProgressExecuteService.insert(newExecute);
LoanCaseProgress progress = fetchBySid(sid); LoanCaseProgress progress = fetchBySid(dto.getSid());
if (null != progress) { if (null != progress) {
String caseStage = progress.getCaseStageNo(); String caseStage = progress.getCaseStageNo();
int i = Integer.parseInt(caseStage); int i = Integer.parseInt(caseStage);
@ -2989,4 +2987,22 @@ public class LoanCaseProgressService extends MybatisBaseService<LoanCaseProgress
} }
return rb.success(); return rb.success();
} }
public ResultBean<List<ExecuteVoList>> getExecuteList(String sid) {
ResultBean rb = ResultBean.fireFail();
List<ExecuteVoList> voLists = baseMapper.getExecuteList(sid);
return rb.success().setData(voLists);
}
public ResultBean<ExecuteVo> getHistoryExecuteDetail(String recordSid) {
ResultBean rb = ResultBean.fireFail();
LoanCaseProgressExecute loanCaseProgressExecute = loanCaseProgressExecuteService.fetchBySid(recordSid);
if (null != loanCaseProgressExecute) {
ExecuteVo executeVo = returnExecuteVo(loanCaseProgressExecute);
return rb.success().setData(executeVo);
} else {
ExecuteVo vo = new ExecuteVo();
return rb.success().setData(vo);
}
}
} }

197
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml

@ -141,23 +141,30 @@
'1' '1'
END AS overdueState END AS overdueState
FROM ( FROM (
SELECT a.* SELECT a.*,
(SELECT (fjj.reveivableMoney - fjj.m)
FROM (SELECT IFNULL((SELECT SUM(subscriptionMoney)
FROM anrui_fin.fin_selected_receivables_detailed as s
WHERE s.auditState = '3'
and s.receivablesSid = fj.sid), 0) as m,
fj.*
FROM (SELECT j.busSid, j.sid, j.reveivableMoney
FROM anrui_fin.fin_uncollected_receivables_detailed_jr as j
WHERE j.payCostTitleKey = '006') as fj) as fjj
WHERE fjj.busSid = a.sid) as fund
FROM ( FROM (
SELECT pd.dueDate, SELECT pd.dueDate,
pd.useOrgSid, pd.useOrgSid,
pd.sid, pd.sid,
IFNULL(pd.fund, 0) AS fund,
pd.dueMoney, pd.dueMoney,
pd.overdue, pd.overdue,
t.repaidMoney, t.repaidMoney,
t.outstandingMoney, t.outstandingMoney,
-- IFNULL(v.bankBeInter, 0) AS bankBeInter,
IFNULL(pd.paymentInterest, 0) AS bankBeInter, IFNULL(pd.paymentInterest, 0) AS bankBeInter,
pd.overdue AS dueOverdue, pd.overdue AS dueOverdue,
pd.updateTime AS updateDate pd.updateTime AS updateDate
FROM loan_repayment_plan_details AS pd FROM loan_repayment_plan_details AS pd
LEFT JOIN anrui_buscenter.bus_sales_order AS s ON s.sid = pd.salesOrderSid LEFT JOIN anrui_buscenter.bus_sales_order AS s ON s.sid = pd.salesOrderSid
-- LEFT JOIN loan_be_padsincere_veh AS v ON v.saleVehSid = pd.busVinSid
LEFT JOIN ( LEFT JOIN (
SELECT p.sid, SELECT p.sid,
IFNULL(( IFNULL((
@ -262,7 +269,17 @@
b.busVinSid, b.busVinSid,
b.salesOrderSid b.salesOrderSid
FROM ( FROM (
SELECT a.* SELECT a.*,
(SELECT (fjj.reveivableMoney - fjj.m)
FROM (SELECT IFNULL((SELECT SUM(subscriptionMoney)
FROM anrui_fin.fin_selected_receivables_detailed as s
WHERE s.auditState = '3'
and s.receivablesSid = fj.sid), 0) as m,
fj.*
FROM (SELECT j.busSid, j.sid, j.reveivableMoney
FROM anrui_fin.fin_uncollected_receivables_detailed_jr as j
WHERE j.payCostTitleKey = '006') as fj) as fjj
WHERE fjj.busSid = a.sid) as fund
FROM ( FROM (
SELECT pd.loanContractNo, SELECT pd.loanContractNo,
pd.oweState, pd.oweState,
@ -271,19 +288,16 @@
pd.deptSid, pd.deptSid,
pd.busVinSid, pd.busVinSid,
pd.sid, pd.sid,
IFNULL(pd.fund, 0) AS fund,
pd.dueMoney, pd.dueMoney,
pd.overdue, pd.overdue,
pd.salesOrderSid, pd.salesOrderSid,
t.repaidMoney, t.repaidMoney,
t.outstandingMoney, t.outstandingMoney,
-- IFNULL( v.bankBeInter, 0 ) AS bankBeInter,
IFNULL(pd.paymentInterest, 0) AS bankBeInter, IFNULL(pd.paymentInterest, 0) AS bankBeInter,
pd.overdue AS dueOverdue, pd.overdue AS dueOverdue,
pd.updateTime AS updateDate pd.updateTime AS updateDate
FROM loan_repayment_plan_details AS pd FROM loan_repayment_plan_details AS pd
LEFT JOIN anrui_buscenter.bus_sales_order AS s ON s.sid = pd.salesOrderSid LEFT JOIN anrui_buscenter.bus_sales_order AS s ON s.sid = pd.salesOrderSid
-- LEFT JOIN loan_be_padsincere_veh AS v ON v.saleVehSid = pd.busVinSid
LEFT JOIN ( LEFT JOIN (
SELECT p.sid, SELECT p.sid,
IFNULL(( IFNULL((
@ -319,78 +333,86 @@
</select> </select>
<select id="selForPushBuckleVoucher" resultType="java.lang.String"> <select id="selForPushBuckleVoucher" resultType="java.lang.String">
SELECT c.overdueState SELECT c.overdueState
FROM (SELECT b.sid AS planSid, FROM (
b.paymentMoney, SELECT b.sid AS planSid,
b.dueDate, b.paymentMoney,
b.updateDate, b.dueDate,
CASE b.updateDate,
WHEN (b.outstandingMoney + b.bankBeInter + b.fund) > 0 b.fund,
AND b.dueDate &lt;= b.updateDate b.bankBeInter,
AND IFNULL(b.paymentMoney, 0) > 0 CASE
THEN '0' WHEN (b.outstandingMoney + b.bankBeInter + b.fund) > 0
WHEN (b.outstandingMoney + b.bankBeInter + b.fund) > 0 AND b.dueDate &lt;= b.updateDate AND IFNULL(b.paymentMoney, 0) > 0 THEN
AND b.dueDate &lt;= b.updateDate '0'
AND IFNULL(b.paymentMoney, 0) &lt;= 0 WHEN (b.outstandingMoney + b.bankBeInter + b.fund) > 0
THEN '1' AND b.dueDate &lt;= b.updateDate
ELSE '2' AND IFNULL(b.paymentMoney, 0) &lt;= 0 THEN
END AS overdueState, '1'
-- 0逾期已垫款1逾期未垫款2正常 ELSE '2'
b.outstandingMoney, END AS overdueState,-- 0逾期已垫款1逾期未垫款2正常
b.useOrgSid, b.outstandingMoney,
b.deptSid, b.useOrgSid,
b.busVinSid, b.deptSid,
b.salesOrderSid b.busVinSid,
FROM ( b.salesOrderSid
SELECT a.* FROM (
FROM ( SELECT a.*,
SELECT pd.paymentMoney, (SELECT (fjj.reveivableMoney - fjj.m)
pd.oweState, FROM (SELECT IFNULL((SELECT SUM(subscriptionMoney)
pd.dueDate, FROM anrui_fin.fin_selected_receivables_detailed as s
pd.useOrgSid, WHERE s.auditState = '3'
pd.deptSid, and s.receivablesSid = fj.sid), 0) as m,
pd.busVinSid, fj.*
pd.sid, FROM (SELECT j.busSid, j.sid, j.reveivableMoney
IFNULL(pd.fund, 0) AS fund, FROM anrui_fin.fin_uncollected_receivables_detailed_jr as j
pd.dueMoney, WHERE j.payCostTitleKey = '006') as fj) as fjj
pd.overdue, WHERE fjj.busSid = a.sid) as fund
pd.salesOrderSid, FROM (
t.repaidMoney, SELECT pd.paymentMoney,
t.outstandingMoney, pd.oweState,
-- IFNULL( v.bankBeInter, 0 ) AS bankBeInter, pd.dueDate,
IFNULL(pd.paymentInterest, 0) AS bankBeInter, pd.useOrgSid,
pd.overdue AS dueOverdue, pd.deptSid,
pd.updateTime AS updateDate pd.busVinSid,
FROM loan_repayment_plan_details AS pd pd.sid,
LEFT JOIN anrui_buscenter.bus_sales_order AS s ON s.sid = pd.salesOrderSid pd.dueMoney,
-- LEFT JOIN loan_be_padsincere_veh AS v ON v.saleVehSid = pd.busVinSid pd.overdue,
LEFT JOIN ( pd.salesOrderSid,
SELECT p.sid, t.repaidMoney,
IFNULL(( t.outstandingMoney,
SELECT SUM( IFNULL(pd.paymentInterest, 0) AS bankBeInter,
IFNULL(h.actualMoney, 0)) pd.overdue AS dueOverdue,
FROM loan_repayment_history AS h pd.updateTime AS updateDate
WHERE h.planDetailSid = p.sid FROM loan_repayment_plan_details AS pd
AND h.updateState = '1' LEFT JOIN (
), SELECT p.sid,
0 IFNULL((
) AS repaidMoney, SELECT SUM(
IFNULL( IFNULL(h.actualMoney, 0))
( FROM loan_repayment_history AS h
p.dueMoney - IFNULL(( WHERE h.planDetailSid = p.sid
SELECT SUM( AND h.updateState = '1'
IFNULL(h.actualMoney, 0)) ),
FROM loan_repayment_history AS h 0
WHERE h.planDetailSid = p.sid ) AS repaidMoney,
AND h.updateState = '1' IFNULL(
), (
0 p.dueMoney - IFNULL((
)), SELECT SUM(
0 IFNULL(h.actualMoney, 0))
) AS outstandingMoney FROM loan_repayment_history AS h
FROM loan_repayment_plan_details AS p WHERE h.planDetailSid = p.sid
) AS t ON pd.sid = t.sid AND h.updateState = '1'
) AS a ),
) AS b) as c 0
)),
0
) AS outstandingMoney
FROM loan_repayment_plan_details AS p
) AS t ON pd.sid = t.sid
) AS a
) AS b
) AS c
WHERE c.planSid = #{planDetailSid} WHERE c.planSid = #{planDetailSid}
</select> </select>
<select id="getMainBankName" resultType="java.lang.String"> <select id="getMainBankName" resultType="java.lang.String">
@ -434,7 +456,17 @@
b.busVinSid, b.busVinSid,
b.salesOrderSid b.salesOrderSid
FROM ( FROM (
SELECT a.* SELECT a.*,
(SELECT (fjj.reveivableMoney - fjj.m)
FROM (SELECT IFNULL((SELECT SUM(subscriptionMoney)
FROM anrui_fin.fin_selected_receivables_detailed as s
WHERE s.auditState = '3'
and s.receivablesSid = fj.sid), 0) as m,
fj.*
FROM (SELECT j.busSid, j.sid, j.reveivableMoney
FROM anrui_fin.fin_uncollected_receivables_detailed_jr as j
WHERE j.payCostTitleKey = '006') as fj) as fjj
WHERE fjj.busSid = a.sid) as fund
FROM ( FROM (
SELECT pd.paymentMoney, SELECT pd.paymentMoney,
pd.oweState, pd.oweState,
@ -443,19 +475,16 @@
pd.deptSid, pd.deptSid,
pd.busVinSid, pd.busVinSid,
pd.sid, pd.sid,
IFNULL(pd.fund, 0) AS fund,
pd.dueMoney, pd.dueMoney,
pd.overdue, pd.overdue,
pd.salesOrderSid, pd.salesOrderSid,
t.repaidMoney, t.repaidMoney,
t.outstandingMoney, t.outstandingMoney,
-- IFNULL( v.bankBeInter, 0 ) AS bankBeInter,
IFNULL(pd.paymentInterest, 0) AS bankBeInter, IFNULL(pd.paymentInterest, 0) AS bankBeInter,
pd.overdue AS dueOverdue, pd.overdue AS dueOverdue,
pd.updateTime AS updateDate pd.updateTime AS updateDate
FROM loan_repayment_plan_details AS pd FROM loan_repayment_plan_details AS pd
LEFT JOIN anrui_buscenter.bus_sales_order AS s ON s.sid = pd.salesOrderSid LEFT JOIN anrui_buscenter.bus_sales_order AS s ON s.sid = pd.salesOrderSid
-- LEFT JOIN loan_be_padsincere_veh AS v ON v.saleVehSid = pd.busVinSid
LEFT JOIN ( LEFT JOIN (
SELECT p.sid, SELECT p.sid,
IFNULL(( IFNULL((

15
anrui-scm/anrui-scm-ui/src/views/ruzhang/ruzhangguanli/ruzhangAdd.vue

@ -5,7 +5,7 @@
<div>{{ viewTitle }}</div> <div>{{ viewTitle }}</div>
<div> <div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveEdit()">保存</el-button> <el-button type="primary" size="small" :disabled="submitdisabled" @click="saveEdit()">保存</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="submitVehicleApply()">确认</el-button> <el-button type="primary" size="small" :disabled="submitdisabled" @click="submitVehicleApply()">确认</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> <el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div> </div>
</div> </div>
@ -32,11 +32,15 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="8">
<div class="span-sty spanOneWidth"><span>采购订单编号</span></div> <div class="span-sty spanOneWidth"><span>采购订单编号</span></div>
<el-form-item><el-input v-model="formobj.purchaseOrderNo" placeholder="" clearable class="addinputw addinputwOne" style="width: 75% !important;"/></el-form-item> <el-form-item><el-input v-model="formobj.purchaseOrderNo" placeholder="" clearable class="addinputw addinputwOne" style="width: 75% !important;"/></el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="8">
<div class="span-sty spanOneWidth"><span>采购系统</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.purchaseSystemName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty spanOneWidth"><span>内部编码</span></div> <div class="span-sty spanOneWidth"><span>内部编码</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.insideCode }}</span></el-form-item> <el-form-item><span class="addinputInfo addinputwOne">{{ formobj.insideCode }}</span></el-form-item>
</el-col> </el-col>
@ -290,6 +294,7 @@ export default {
policyTwoo: '', // 2 policyTwoo: '', // 2
priceDate: '', priceDate: '',
purchaseOrderNo: '', purchaseOrderNo: '',
purchaseSystemName: '',
remarks: '', remarks: '',
secondaryFreight: '', secondaryFreight: '',
userSid: '', userSid: '',
@ -726,8 +731,8 @@ export default {
} }
}, },
changeVinNo(val) { changeVinNo(val) {
if (val.length < 17 && val.length !== 8) { if (val.length < 17) {
const message = '车架号的长度应为8位或17位' const message = '车架号的长度应为17位'
this.$message({ showClose: true, type: 'error', message: message }) this.$message({ showClose: true, type: 'error', message: message })
} }
}, },

9
anrui-scm/anrui-scm-ui/src/views/ruzhang/ruzhangguanli/ruzhangInfo.vue

@ -30,11 +30,15 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="8">
<div class="span-sty spanOneWidth"><span>采购订单编号</span></div> <div class="span-sty spanOneWidth"><span>采购订单编号</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.purchaseOrderNo }}</span></el-form-item> <el-form-item><span class="addinputInfo addinputwOne">{{ formobj.purchaseOrderNo }}</span></el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="8">
<div class="span-sty spanOneWidth">采购系统</div>
<el-form-item><span class="addinputwOne addinputInfo">{{ formobj.purchaseSystemName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty spanOneWidth"><span>内部编码</span></div> <div class="span-sty spanOneWidth"><span>内部编码</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.insideCode }}</span></el-form-item> <el-form-item><span class="addinputInfo addinputwOne">{{ formobj.insideCode }}</span></el-form-item>
</el-col> </el-col>
@ -287,6 +291,7 @@ export default {
policyTwoo: '', policyTwoo: '',
priceDate: '', priceDate: '',
purchaseOrderNo: '', purchaseOrderNo: '',
purchaseSystemName: '',
remarks: '', remarks: '',
secondaryFreight: '', secondaryFreight: '',
userSid: '', userSid: '',

9
anrui-scm/anrui-scm-ui/src/views/workFlow/ruzhangguanliFlow/ruzhangguanli/ruzhangDaiBanInfo.vue

@ -32,11 +32,15 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="8">
<div class="span-sty spanOneWidth"><span>采购订单编号</span></div> <div class="span-sty spanOneWidth"><span>采购订单编号</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.purchaseOrderNo }}</span></el-form-item> <el-form-item><span class="addinputInfo addinputwOne">{{ formobj.purchaseOrderNo }}</span></el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="8">
<div class="span-sty spanOneWidth">采购系统</div>
<el-form-item><span class="addinputwOne addinputInfo">{{ formobj.purchaseSystemName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty spanOneWidth"><span>内部编码</span></div> <div class="span-sty spanOneWidth"><span>内部编码</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.insideCode }}</span></el-form-item> <el-form-item><span class="addinputInfo addinputwOne">{{ formobj.insideCode }}</span></el-form-item>
</el-col> </el-col>
@ -322,6 +326,7 @@ export default {
policyTwoo: '', policyTwoo: '',
priceDate: '', priceDate: '',
purchaseOrderNo: '', purchaseOrderNo: '',
purchaseSystemName: '',
remarks: '', remarks: '',
secondaryFreight: '', secondaryFreight: '',
userSid: '', userSid: '',

14
anrui-scm/anrui-scm-ui/src/views/workFlow/ruzhangguanliFlow/ruzhangguanli/ruzhangEdit.vue

@ -31,11 +31,15 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="8">
<div class="span-sty spanOneWidth"><span>采购订单编号</span></div> <div class="span-sty spanOneWidth"><span>采购订单编号</span></div>
<el-form-item><el-input v-model="formobj.purchaseOrderNo" placeholder="" clearable class="addinputw addinputwOne"/></el-form-item> <el-form-item><el-input v-model="formobj.purchaseOrderNo" placeholder="" clearable class="addinputw addinputwOne"/></el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="8">
<div class="span-sty spanOneWidth"><span>采购系统</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.purchaseSystemName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty spanOneWidth"><span>内部编码</span></div> <div class="span-sty spanOneWidth"><span>内部编码</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.insideCode }}</span></el-form-item> <el-form-item><span class="addinputInfo addinputwOne">{{ formobj.insideCode }}</span></el-form-item>
</el-col> </el-col>
@ -233,7 +237,6 @@
<script> <script>
import req from '@/api/ruzhang/scmapplyinbound' import req from '@/api/ruzhang/scmapplyinbound'
import upload_picture from '@/components/uploadFile/upload_picture' import upload_picture from '@/components/uploadFile/upload_picture'
import { getOrgSidByPath, fetchBySid } from '@/api/cheliang/dictcommons'
export default { export default {
name: 'ruzhangEdit', name: 'ruzhangEdit',
components: { components: {
@ -289,6 +292,7 @@ export default {
policyTwoo: '', policyTwoo: '',
priceDate: '', priceDate: '',
purchaseOrderNo: '', purchaseOrderNo: '',
purchaseSystemName: '',
remarks: '', remarks: '',
secondaryFreight: '', secondaryFreight: '',
userSid: '', userSid: '',
@ -724,8 +728,8 @@ export default {
} }
}, },
changeVinNo(val) { changeVinNo(val) {
if (val.length < 17 && val.length !== 8) { if (val.length < 17) {
const message = '车架号的长度应为8位或17位' const message = '车架号的长度应为17位'
this.$message({ showClose: true, type: 'error', message: message }) this.$message({ showClose: true, type: 'error', message: message })
} }
}, },

9
anrui-scm/anrui-scm-ui/src/views/workFlow/ruzhangguanliFlow/ruzhangguanli/ruzhangYiBanInfo.vue

@ -30,11 +30,15 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="8">
<div class="span-sty spanOneWidth"><span>采购订单编号</span></div> <div class="span-sty spanOneWidth"><span>采购订单编号</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.purchaseOrderNo }}</span></el-form-item> <el-form-item><span class="addinputInfo addinputwOne">{{ formobj.purchaseOrderNo }}</span></el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="8">
<div class="span-sty spanOneWidth">采购系统</div>
<el-form-item><span class="addinputwOne addinputInfo">{{ formobj.purchaseSystemName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty spanOneWidth"><span>内部编码</span></div> <div class="span-sty spanOneWidth"><span>内部编码</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.insideCode }}</span></el-form-item> <el-form-item><span class="addinputInfo addinputwOne">{{ formobj.insideCode }}</span></el-form-item>
</el-col> </el-col>
@ -287,6 +291,7 @@ export default {
policyTwoo: '', policyTwoo: '',
priceDate: '', priceDate: '',
purchaseOrderNo: '', purchaseOrderNo: '',
purchaseSystemName: '',
remarks: '', remarks: '',
secondaryFreight: '', secondaryFreight: '',
userSid: '', userSid: '',

89
doc/databases/统计报表更新.sql

@ -64,9 +64,13 @@ BEGIN
-- 更新库存-排产-未定(排产订单中未入库,且未被销售订单锁定) -- 更新库存-排产-未定(排产订单中未入库,且未被销售订单锁定)
UPDATE daily_report r UPDATE daily_report r
INNER JOIN ( INNER JOIN (
select sum(v.scount) as scount, v.useOrgSid, v.modelSid, v.modelConfigSid,v.carBrand select sum(v.scount) as scount, v.useOrgSid, v.modelSid, v.modelConfigSid, v.carBrand
from ( from (
select ifnull(si.num, 0) as scount, si.useOrgSid, si.modelSid, si.configSid modelConfigSid,bbm.carBrand select ifnull(si.num, 0) as scount,
si.useOrgSid,
si.modelSid,
si.configSid modelConfigSid,
bbm.carBrand
from anrui_base.bus_vehicle_apply bo from anrui_base.bus_vehicle_apply bo
left join anrui_scm.scm_apply_inbound si on bo.sid = si.vehicleOrderSid left join anrui_scm.scm_apply_inbound si on bo.sid = si.vehicleOrderSid
left join anrui_base.bus_vehicle_order bbo on bbo.purchaseRequisitionSid = bo.sid left join anrui_base.bus_vehicle_order bbo on bbo.purchaseRequisitionSid = bo.sid
@ -75,12 +79,13 @@ BEGIN
and bo.isDelete <> 1 and bo.isDelete <> 1
and bo.applyTypeKey = '001' and bo.applyTypeKey = '001'
and bo.sid not in (select bbbbo.linkSid from anrui_buscenter.bus_sales_vehicle_order bbbbo) and bo.sid not in (select bbbbo.linkSid from anrui_buscenter.bus_sales_vehicle_order bbbbo)
group by si.applicationCode,bo.createOrgSid,si.modelSid,si.configSid group by si.applicationCode, bo.createOrgSid, si.modelSid, si.configSid
union all union all
select ifnull(sum(bo.platformNo), 0) as scount, select ifnull(sum(bo.platformNo), 0) as scount,
bo.useOrgSid, bo.useOrgSid,
bd.vehicleSid, bd.vehicleSid,
bd.configSid modelConfigSid,bbm.carBrand bd.configSid modelConfigSid,
bbm.carBrand
from anrui_base.bus_vehicle_order bo from anrui_base.bus_vehicle_order bo
left join anrui_base.bus_vehicle_apply_detail bd left join anrui_base.bus_vehicle_apply_detail bd
on bd.sid = bo.purchaseApplyMediumModelSid on bd.sid = bo.purchaseApplyMediumModelSid
@ -89,16 +94,20 @@ BEGIN
and LENGTH(offlineDate) = 0 and LENGTH(offlineDate) = 0
and bo.orderStatus != '已作废' and bo.orderStatus != '已作废'
and bo.sid not in (select bbbbo.linkSid from anrui_buscenter.bus_sales_vehicle_order bbbbo) and bo.sid not in (select bbbbo.linkSid from anrui_buscenter.bus_sales_vehicle_order bbbbo)
group by bo.createOrgSid,bd.vehicleSid,bd.configSid group by bo.createOrgSid, bd.vehicleSid, bd.configSid
union all union all
select ifnull(si.num, 0) as scount, si.useOrgSid, si.modelSid, si.configSid modelConfigSid,bbm.carBrand select ifnull(si.num, 0) as scount,
from anrui_base.bus_vehicle_apply bo si.useOrgSid,
left join anrui_scm.scm_apply_inbound si on bo.sid = si.vehicleOrderSid si.modelSid,
left join anrui_base.base_vehicle_model bbm on bbm.sid = si.modelSid si.configSid modelConfigSid,
where (si.nodeState != '已办结' and si.nodeState != '终止') bbm.carBrand
and bo.isDelete <> 1 from anrui_base.bus_vehicle_apply bo
and bo.applyTypeKey = '004' left join anrui_scm.scm_apply_inbound si on bo.sid = si.vehicleOrderSid
group by si.applicationCode,bo.createOrgSid,si.modelSid,si.configSid left join anrui_base.base_vehicle_model bbm on bbm.sid = si.modelSid
where (si.nodeState != '已办结' and si.nodeState != '终止')
and bo.isDelete <> 1
and bo.applyTypeKey = '004'
group by si.applicationCode, bo.createOrgSid, si.modelSid, si.configSid
) as v ) as v
GROUP BY v.`useOrgSid`, GROUP BY v.`useOrgSid`,
v.`modelSid`, v.`modelSid`,
@ -132,7 +141,7 @@ BEGIN
) ab ON ab.linkSid = bo.sid ) ab ON ab.linkSid = bo.sid
WHERE (si.nodeState != '已办结' AND si.nodeState != '终止') WHERE (si.nodeState != '已办结' AND si.nodeState != '终止')
AND bo.isDelete <> 1 AND bo.isDelete <> 1
group by si.applicationCode,bo.createOrgSid,si.modelSid,si.configSid group by si.applicationCode, bo.createOrgSid, si.modelSid, si.configSid
) as v ) as v
GROUP BY v.`useOrgSid`, GROUP BY v.`useOrgSid`,
v.`modelSid`, v.`modelSid`,
@ -258,15 +267,51 @@ BEGIN
SET saleOrder_subtotal_month=saleOrder_loan_month + saleOrder_full_month SET saleOrder_subtotal_month=saleOrder_loan_month + saleOrder_full_month
WHERE DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE(); WHERE DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE();
-- 销售订单-待交车累计(销售订单已办结且库存状态为库存和在途的) -- 销售订单-待交车累计(销售订单已办结且库存状态为库存和在途的)
/* UPDATE daily_report r
INNER JOIN (select count(bv.id) as scount, bv.useOrgSid, bv.modelSid, bv.modelConfigSid, bo.contractNo
from anrui_base.base_vehicle bv
left join anrui_buscenter.bus_sales_order_vehicle bov on bov.linkSid = bv.sid
left join anrui_buscenter.bus_sales_order bo on bo.sid = bov.salesOrderSid
where bo.nodeState = '已办结'
and (bv.vehicleState = '0001' or bv.vehicleState = '0005')
group by bo.useOrgSid, bv.modelSid, bv.modelConfigSid
) AS s ON r.useOrgSid = s.useOrgSid
AND r.vehModelSid = s.modelSid
AND r.vehMConfigSid = s.modelConfigSid
SET r.`saleOrder_waitVeh_total` = s.scount
WHERE DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE();*/
UPDATE daily_report r UPDATE daily_report r
INNER JOIN (select count(bv.id) as scount, bv.useOrgSid, bv.modelSid, bv.modelConfigSid, bo.contractNo INNER JOIN (select (b.scount - b.ssscount) as scount, b.useOrgSid, b.modelConfigSid, b.modelSid
from anrui_base.base_vehicle bv from (SELECT a.scount,
left join anrui_buscenter.bus_sales_order_vehicle bov on bov.linkSid = bv.sid a.useOrgSid,
left join anrui_buscenter.bus_sales_order bo on bo.sid = bov.salesOrderSid a.modelConfigSid,
where bo.nodeState = '已办结' a.modelSid,
and (bv.vehicleState = '0001' or bv.vehicleState = '0005') (SELECT count(bov.id) AS scount
group by bo.useOrgSid, bv.modelSid, bv.modelConfigSid FROM anrui_base.base_vehicle bv
LEFT JOIN anrui_buscenter.bus_sales_order_vehicle bov ON bov.linkSid = bv.sid
LEFT JOIN anrui_buscenter.bus_sales_order bo ON bo.sid = bov.salesOrderSid
LEFT JOIN anrui_buscenter.bus_sales_order_model bm ON bm.salesOrderSid = bo.sid
WHERE bo.nodeState = '已办结'
AND bv.vehicleState = '0002'
and bo.useOrgSid = a.useOrgSid
and bm.modelSid = a.modelSid
and bm.modelConfigSid = a.modelConfigSid) as ssscount
FROM (
SELECT count(bov.id) AS scount,
bo.useOrgSid,
bm.modelSid,
bm.modelConfigSid,
bo.contractNo
FROM anrui_buscenter.bus_sales_order_vehicle bov
LEFT JOIN anrui_buscenter.bus_sales_order bo ON bo.sid = bov.salesOrderSid
LEFT JOIN anrui_buscenter.bus_sales_order_model bm ON bm.salesOrderSid = bo.sid
WHERE bo.nodeState = '已办结'
GROUP BY bo.useOrgSid,
bm.modelSid,
bm.modelConfigSid
) a) b
) AS s ON r.useOrgSid = s.useOrgSid ) AS s ON r.useOrgSid = s.useOrgSid
AND r.vehModelSid = s.modelSid AND r.vehModelSid = s.modelSid
AND r.vehMConfigSid = s.modelConfigSid AND r.vehMConfigSid = s.modelConfigSid

Loading…
Cancel
Save