company/src/api/business/settleClaims.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
company/src/components/business/OperaSettleClaimsCheckWindow.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
company/src/components/business/OperaSettleClaimsWindow.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
company/src/views/business/settleClaims.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
server/platform/src/main/java/com/doumee/api/business/SettleClaimsController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
server/service/src/main/java/com/doumee/core/utils/Constants.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
server/service/src/main/java/com/doumee/dao/business/model/SettleClaims.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
server/service/src/main/java/com/doumee/dao/business/model/SettleClaimsLog.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
company/src/api/business/settleClaims.js
@@ -6,8 +6,48 @@ trim: true }) } export function confirmFile (data) { return request.post('/business/settleClaims/confirm', data, { trim: true }) } export function remark (data) { return request.post('/business/settleClaims/remark', data, { trim: true }) } export function addCode (data) { return request.post('/business/settleClaims/addCode', data, { trim: true }) } export function dealBiz (data) { return request.post('/business/settleClaims/dealBiz', data, { trim: true }) } export function doneCommit (data) { return request.post('/business/settleClaims/doneCommit', data, { trim: true }) } export function back (data) { return request.post('/business/settleClaims/back', data, { trim: true }) } export function exportFiles (data) { return request.post('/business/settleClaims/exportFiles', data, { trim: true, download: true }) } // ä¿®æ¹ export function updateById (data) { return request.post('/business/settleClaims/updateById', data) } export function findById (id) { return request.get(`business/settleClaims/${id}`) } company/src/components/business/OperaSettleClaimsCheckWindow.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,499 @@ <template> <GlobalWindow :title="title" width="60%" :visible.sync="visible" :confirm-working="isWorking" @confirm="confirm" > <div v-if="visible1==true" class="form"> <div class="form_item"> <div class="form_item_label"> <span>*</span>æ¥æ¡å·ï¼ </div> <div class="form_item_val"> <input type="text" v-model="form.reportNum" placeholder="请è¾å ¥"> </div> </div> </div> <div v-if="visible2==true" class="form"> <div class="form_item"> <div class="form_item_label"> <span>*</span>å¤çè¿å±ï¼ </div> <div class="form_item_val"> <textarea v-model="form.bizInfo" placeholder="请è¾å ¥"></textarea> </div> </div> </div> <div v-if="visible3==true" class="form"> <div class="form_item"> <div class="form_item_label"> <span>*</span>填忤é说æï¼ </div> <div class="form_item_val"> <textarea v-model="form.backInfo" placeholder="请è¾å ¥"></textarea> </div> </div> </div> <div v-if="visible4==true" class="form"> <div class="form_item"> <div class="form_item_label"> <span>*</span>ç»æ¡å å®¹ï¼ </div> <div class="form_item_val"> <textarea v-model="form.doneInfo" placeholder="请è¾å ¥"></textarea> </div> </div> <div class="form_item"> <div class="form_item_label"> å»ççèµï¼ </div> <div class="form_item_val"> <input v-model="form.ylClaimAccount" placeholder="请è¾å ¥" /> </div> </div> <div class="form_item"> <div class="form_item_label"> 误工çèµï¼ </div> <div class="form_item_val"> <input v-model="form.wgClaimAccount" placeholder="请è¾å ¥" /> </div> </div> <div class="form_item"> <div class="form_item_label"> 伤æ®çèµï¼ </div> <div class="form_item_val"> <input v-model="form.scClaimAccount" placeholder="请è¾å ¥" /> </div> </div> <div class="form_item"> <div class="form_item_label"> æ»äº¡çèµï¼ </div> <div class="form_item_val"> <input v-model="form.swClaimAccount" placeholder="请è¾å ¥" /> </div> </div> </div> <div v-if="visible5 ==true" class="form"> <div class="form_span" v-for="(item,index) in remarkLogList" :key="index"> <span>çèµå-{{ item.creatorName }} {{item.createDate }}</span> <span>{{item.content }}</span> </div> <div class="form_item"> <div class="form_item_label"> <span>*</span>å¡«å夿³¨æ ç¾ï¼ </div> <div class="form_item_val"> <textarea v-model="form.remarkInfo" placeholder="请è¾å ¥"></textarea> </div> </div> </div> <template v-slot:footer> <el-button type="primary" @click="doSubmit">ç¡®å®</el-button> <el-button @click="visible=false">è¿å</el-button> </template> </GlobalWindow> </template> <script> import BaseOpera from '@/components/base/BaseOpera' import GlobalWindow from '@/components/common/GlobalWindow' import {addCode, back, dealBiz,doneCommit, remark} from "@/api/business/settleClaims"; export default { name: 'OperaSettleClaimsCheckWindow', extends: BaseOpera, components: { GlobalWindow }, data () { return { remarkLogList:[], type:0, // è¡¨åæ°æ® form: { id: null, checkInfo: null, bizInfo: null, doneInfo: null, backInfo: null, remarkInfo: null, ylClaimAccount: null, wgClaimAccount: null, swClaimAccount: null, scClaimAccount: null, reportNum: null, }, model:{}, activeName: 'first', reverse: true, tableData: [], visible1: false, visible2: false, visible3: false, visible4: false, visible5: false } }, created () { this.config({ api: '/business/settleClaims', 'field.id': 'id' }) }, methods: { open(title,target,target1,type){ this.model ={} this.model = target this.title=title this.visible=true this.type=type this.remarkLogList= target1 this.visible1=false, this.visible2= false, this.visible3=false, this. visible4= false, this. visible5= false this.form=target this. form= { id: null, checkInfo: null, doneInfo: null, remarkInfo: null, bizInfo: null, backInfo: null, ylClaimAccount: null, wgClaimAccount: null, swClaimAccount: null, scClaimAccount: null, reportNum: null, } if(type==1){ this.visible1=true } if(type==2){ this.visible2=true } if(type==3){ this.visible3=true } if(type==4){ this.visible4=true } if(type==5){ this.visible5=true } }, doSubmit(type) { var that =this if(this.type ===5){ // this.isWorking = true remark({id:that.model.id,checkInfo:that.form.remarkInfo}) .then(response => { this.visible=false this.$emit('success') }).catch(err => { this.$tip.apiFailed(err) }) }else if(this.type === 4){ // this.isWorking = true doneCommit({id: that.model.id, checkInfo: that.form.doneInfo, ylClaimAccount: that.form.ylClaimAccount, wgClaimAccount: that.form.wgClaimAccount, swClaimAccount: that.form.swClaimAccount, scClaimAccount: that.form.scClaimAccount}) .then(response => { this.visible=false this.$emit('success') }).catch(err => { this.$tip.apiFailed(err) }) }else if(this.type===2){ //çèµå¤ç dealBiz({ id: that.model.id, checkInfo:that.form.bizInfo }) .then(response => { this.visible=false this.$emit('success') }).catch(err => { console.log(err) this.$tip.apiFailed(err) }).finally(() => { this.isWorking = false }) }else if(this.type===3){ //çèµå¤ç back({ id: that.model.id, checkInfo:that.form.backInfo }) .then(response => { this.visible=false this.$emit('success') }).catch(err => { console.log(err) this.$tip.apiFailed(err) }).finally(() => { this.isWorking = false }) }else if(this.type===1){ //æ·»å 夿¡å· addCode({ id: that.model.id, reportNum:that.form.reportNum }) .then(response => { this.visible=false this.$emit('success') }).catch(err => { console.log(err) this.$tip.apiFailed(err) }).finally(() => { this.isWorking = false }) } } } } </script> <style> .v-modal { z-index: 2000 !important; } </style> <style lang="scss" scoped> .form { width: 100%; display: flex; align-items: center; flex-direction: column; .form_span { width: 100%; display: flex; align-items: start; flex-direction: column; margin-bottom: 20px; span { font-size: 14px; &:nth-child(1) { color: #8c939d; margin-bottom: 5px; } &:nth-child(2) { color: #8c939d; color: black; } } } .form_item { width: 100%; display: flex; align-items: start; margin-bottom: 20px; &:last-child { margin: 0 !important; } .form_item_label { flex-shrink: 0; color: black; font-size: 14px; span { color: red; font-size: 14px; } } .form_item_val { flex: 1; /*height: 40px;*/ margin-left: 20px; textarea { width: 100%; height: 70px; border: 1px solid #cbcbcb; padding: 10px; outline: none; box-sizing: border-box; } input { width: 100%; height: 100%; outline: none; border-radius: 5px; border: 1px solid #cbcbcb; padding: 0 20px; box-sizing: border-box; } } } } .desc { width: 100%; display: flex; align-items: center; flex-direction: column; .desc_label { width: 100%; display: flex; align-items: center; justify-content: space-between; .desc_label_left { flex: 1; display: flex; align-items: center; .desc_label_left_title { font-size: 20px; font-weight: bold; color: black; } .desc_label_left_time { font-size: 14px; color: rgba(249, 86, 1, 0.996); margin-left: 10px; } .desc_label_left_code { font-size: 15px; color: black; margin-left: 30px; } } .desc_label_right { flex-shrink: 0; } } .desc_list { width: 100%; margin-top: 20px; display: flex; align-items: center; flex-wrap: wrap; .desc_list_item { width: 33.3%; display: flex; align-items: center; margin-bottom: 10px; .desc_list_item_label { width: 130px; flex-shrink: 0; font-size: 15px; color: black; } .desc_list_item_val { flex: 1; font-size: 15px; color: black; } .desc_list_item_videos { flex: 1; display: flex; align-items: center; flex-wrap: wrap; .desc_list_item_imgs_video { width: 150px; height: 150px; background: black; margin-right: 10px; video { width: 100%; height: 100%; } } } } } .desc_xian { width: 100%; height: 1px; margin: 10px 0; background: #ececec; } .desc_data { width: 100%; display: flex; flex-direction: column; margin-top: 20px; .desc_data_label { font-size: 16px; color: black; font-weight: 600; margin-bottom: 20px; } .desc_data_cate { width: 100%; margin: 0 0 10px 0; } .desc_data_list { width: 100%; display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; .desc_data_list_item1 { width: 24.5%; } .desc_data_list_item { width: 24.5%; padding: 10px; box-sizing: border-box; border: 1px solid #e2e2e2; display: flex; align-items: center; justify-content: space-between; position: relative; margin-bottom: 10px; .desc_data_list_item_dele { position: absolute; top: 10px; right: 10px; font-size: 14px; cursor: pointer; color: rgba(249, 86, 1, 0.996078431372549); } .desc_data_list_item_upload { flex: 1; height: 80px; display: flex; align-items: center; justify-content: center; } .desc_data_list_item_img { flex-shrink: 0; width: 80px; height: 80px; display: flex; align-items: center; justify-content: center; overflow: hidden; .el-icon-plus { font-size: 26px; color: #ffffff; } img { width: 100%; height: 100%; } } .desc_data_list_item_info { flex: 1; height: 80px; display: flex; flex-direction: column; justify-content: space-between; span { &:nth-child(1) { font-size: 14px; color: black; } &:nth-child(2) { font-size: 14px; color: #888888; } &:nth-child(3) { font-size: 14px; color: #888888; } } } } } } .desc_times { width: 100%; margin-top: 20px; } } </style> company/src/components/business/OperaSettleClaimsWindow.vue
@@ -1,7 +1,7 @@ <template> <GlobalWindow :title="title" width="80%" width="100%" :visible.sync="visible" :confirm-working="isWorking" @confirm="confirm" @@ -13,17 +13,17 @@ æ¥æ¡è¯¦æ </span> <span class="desc_label_left_time"> æ¥æ¡æ¥æï¼2015-10-03 10:15:22 æ¥æ¡æ¥æï¼{{ model.createDate }} </span> <span class="desc_label_left_code"> æ¥æ¡å·ï¼214141241241 æ¥æ¡å·ï¼{{ model.reportNum }} </span> </div> <div class="desc_label_right"> <el-button type="primary" @click="visible1 = true">æ·»å æ¥æ¡å·</el-button> <el-button type="primary" @click="visible2 = true">çèµå¤ç</el-button> <el-button type="primary" @click="visible4 = true">ç»æ¡æäº¤</el-button> <el-button type="danger" @click="visible3 = true">æ¤éç³è¯·</el-button> <el-button type="primary" v-if="model.status !=1 && model.status !=4" @click="$refs.operaInsuranceApplyCheckWindow.open('æ·»å æ¥æ¡å·',model,remarkLogList,1)">æ·»å æ¥æ¡å·</el-button> <el-button type="primary" v-if="model.status !=1 && model.status !=4" @click="$refs.operaInsuranceApplyCheckWindow.open('çèµå¤ç',model,remarkLogList,2)">çèµå¤ç</el-button> <el-button type="primary" v-if="model.status !=1 && model.status !=4" @click="$refs.operaInsuranceApplyCheckWindow.open('ç»æ¡æäº¤',model,remarkLogList,4)">ç»æ¡æäº¤</el-button> <el-button type="danger" v-if="model.status !=1 && model.status !=4" @click="$refs.operaInsuranceApplyCheckWindow.open('æ¤éç³è¯·',model,remarkLogList,3)">æ¤éç³è¯·</el-button> </div> </div> <div class="desc_list"> @@ -32,7 +32,7 @@ åºé©äººå§åï¼ </div> <div class="desc_list_item_val"> å´ä¸ä¸ {{model.memberName}} </div> </div> <div class="desc_list_item"> @@ -40,7 +40,7 @@ åºé©äººèº«ä»½è¯å·ï¼ </div> <div class="desc_list_item_val"> 320224403660011111 {{ model.memberIdcardNo }} </div> </div> <div class="desc_list_item"> @@ -48,7 +48,7 @@ äºæ åçæ¶é´ï¼ </div> <div class="desc_list_item_val"> 2015-10-02 10:15:22 {{ model.createDate }} </div> </div> <div class="desc_list_item"> @@ -56,8 +56,8 @@ æå±ä¿åå·ï¼ </div> <div class="desc_list_item_val" style="cursor: pointer; color: rgba(39, 157, 255, 0.968627450980392);"> 11121624116241 <el-button type="primary" style="margin-left: 10px;">æ¥çä¿é©å</el-button> {{ model.applyCode }} <el-button v-if="model.baoxiandanFile && model.baoxiandanFile.fileurlFull" type="primary" style="margin-left: 10px;" @click="openBaoxiandan">æ¥çä¿é©å</el-button> </div> </div> <div class="desc_list_item"> @@ -65,7 +65,7 @@ ä¿é©çæèµ·æï¼ </div> <div class="desc_list_item_val"> 2015-10-02 10:15:22 {{ model.baoxianStartTime }} </div> </div> <div class="desc_list_item"> @@ -73,7 +73,7 @@ ä¿é©çææ¢æï¼ </div> <div class="desc_list_item_val"> 2015-10-02 10:15:22 {{ model.baoxianEndTime }} </div> </div> <div class="desc_list_item"> @@ -81,7 +81,7 @@ æ´¾é£åä½ï¼ </div> <div class="desc_list_item_val"> èæ¹æ ¼åç²¾å¯å¶é æéå ¬å¸ {{ model.duName }} </div> </div> <div class="desc_list_item"> @@ -89,7 +89,7 @@ æå±å·¥ç§ï¼ </div> <div class="desc_list_item_val"> 4ç±»æºæ¢°å å·¥ {{ model.worktypeName }} </div> </div> <div class="desc_list_item"> @@ -97,39 +97,39 @@ å°±è¯å»çæºæï¼ </div> <div class="desc_list_item_val"> å®å¾½ç人æ°å»é¢ {{ model.hospital }} </div> </div> <div class="desc_list_item"> <div class="desc_list_item_label"> äºæ ç±»åï¼ </div> <div class="desc_list_item_val"> 工使é´å伤 </div> <div class="desc_list_item_val" v-if="model.medicalInsurance ===1">ä¸ä¸çéä¸å伤</div> <div class="desc_list_item_val" v-else-if="model.medicalInsurance ===2">é工使¶é´å伤</div> <div class="desc_list_item_val" v-else-if="model.medicalInsurance ===3">æå¤å</div> <div class="desc_list_item_val" v-else>工使é´å伤</div> </div> <div class="desc_list_item"> <div class="desc_list_item_label"> æ¯å¦ä½é¢ï¼ </div> <div class="desc_list_item_val"> å¦ <div class="desc_list_item_val" v-if="model.inHospital ===1">æ¯</div> <div class="desc_list_item_val" v-else>å¦</div> </div> </div> <div class="desc_list_item"> <div class="desc_list_item_label"> æ¯å¦æå»çä¿é©ï¼ </div> <div class="desc_list_item_val"> å¦ </div> <div class="desc_list_item_val">{{ model.medicalInsurance ===1?"æ¯":"å¦" }}</div> </div> <div class="desc_list_item"> <div class="desc_list_item_label"> åºé©å°åºï¼ </div> <div class="desc_list_item_val"> å®å¾½çåè¥å¸ {{model.areaInfo}} </div> </div> <div class="desc_list_item"> @@ -137,37 +137,27 @@ æ¥æ¡äººå§åï¼ </div> <div class="desc_list_item_val"> çæ {{model.informantName}} </div> </div> <div class="desc_list_item"> <div class="desc_list_item_label"> æ¥æ¡äººèç³»æ¹å¼ï¼ </div> <div class="desc_list_item_val"> 13355667788 </div> <div class="desc_list_item_label"> æ¥æ¡äººèç³»æ¹å¼ï¼ </div> <div class="desc_list_item_val"> {{model.informantPhone}} </div> </div> <div class="desc_list_item" style="width: 100%;"> <div class="desc_list_item_label"> äºæ æè¿°ï¼ </div> <div class="desc_list_item_val"> 2021å¹´01æ24æ¥åæ¨03ç¹å·¦å³ï¼åå·¥å¨å ç£å¨èå·å·¥ä¸ååºé¿å®å çµç§ææéå ¬å¸å çµç产é¨å å¦èè£å课车é´ï¼ç¨æå¨å车æ¬è¿åæææ¶ï¼åæææè½ç ¸å°å³èï¼åæ¨3ï¼30å·¦å³å ¬å¸æ´¾ä¸è½¦éå¾èå·å·¥ä¸ååºææ¹å»é¢å°±è¯ï¼ä¸ºå工伤å£è¿è¡å ææ¢è¡åï¼åæ¨05ï¼45转éè³èå·çå骨ç§å»é¢è¿ä¸æ¥æ²»çã </div> <div class="desc_list_item_label"> äºæ æè¿°ï¼ </div> <div class="desc_list_item_val">{{model.content}}</div> </div> <div class="desc_list_item" style="width: 100%;"> <div class="desc_list_item_label"> æ¥æ¡è§é¢ï¼ </div> <div class="desc_list_item_videos"> <div class="desc_list_item_imgs_video"> <video src="blob:https://www.bilibili.com/f8718314-82c5-43d2-9b26-2c4d701b6bab"></video> </div> <div class="desc_list_item_imgs_video"> <video src="blob:https://www.bilibili.com/f8718314-82c5-43d2-9b26-2c4d701b6bab"></video> <div v-if="model.reportFileList && model.reportFileList.length>0" class="desc_list_item_videos"> <div class="desc_list_item_imgs_video" v-for="(item, index) in reportFileList" :key="index"> <video src="${item.fileurlFull}"></video> </div> </div> <div v-else class="desc_list_item_videos">-</div> </div> </div> <div class="desc_xian"></div> @@ -176,14 +166,14 @@ <span class="desc_label_left_title"> çèµèµæ </span> <span class="desc_label_left_time" style="color: black"> èµæå®ææ¥æï¼2015-10-03 10:15:22 <span v-if="doneFileDate!=null" class="desc_label_left_time" style="color: black"> èµæå®ææ¥æï¼{{doneFileDate}} </span> </div> <div class="desc_label_right"> <el-button type="primary" @click="visible5 = true">夿³¨æ ç¾</el-button> <el-button type="primary" @click="submit">èµæç¡®è®¤</el-button> <el-button type="primary">èµæä¸è½½</el-button> <el-button type="primary" v-if="model.status !=1 && model.status !=4" @click="$refs.operaInsuranceApplyCheckWindow.open('夿³¨æ ç¾',model,remarkLogList,5)">夿³¨æ ç¾</el-button> <el-button type="primary" v-if="model.status !=1 && model.status !=4" @click="submit(0)">èµæç¡®è®¤</el-button> <el-button type="primary" @click="submit(1)">èµæä¸è½½</el-button> </div> </div> <div class="desc_data"> @@ -284,196 +274,72 @@ <div class="desc_times"> <el-timeline :reverse="reverse"> <el-timeline-item v-for="(activity, index) in activities" v-for="(activity, index) in model.settleClaimsLogList" :key="index" :timestamp="activity.timestamp"> {{activity.content}} <div style="display: flex; flex-direction: column;" v-if="activity.objType==3"> <span style="font-size: 16px; font-weight: bold; color: #0d5ada;"> {{activity.title}} <span style="font-size: 16px; font-weight: bold; color: #0d5ada; margin-left: 10px;" > <span v-if=" model.ylClaimAccount && model.ylClaimAccount>0">å»ççèµ{{ model.ylClaimAccount }}å ï¼</span> <span v-if=" model.wgClaimAccount && model.wgClaimAccount>0">误工çèµ{{ model.wgClaimAccount }}å ï¼</span> <span v-if=" model.scClaimAccount && model.scClaimAccount>0">伤æ®çèµ{{ model.scClaimAccount }}å ï¼</span> <span v-if=" model.swClaimAccount && model.swClaimAccount>0">æ»äº¡çèµ{{ model.swClaimAccount }}å ï¼</span> çèµæ»é¢ï¼{{ model.claimAccount }}å </span> </span> <span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;"> {{activity.content}} </span> <span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;"> æä½å-{{activity.creatorName}}ï¼{{activity.creatorType==1? activity.companyName: "å¹³å°ç«¯"}}ï¼{{activity.createDate}} </span> </div> <div style="display: flex; flex-direction: column;" v-else> <span style="font-size: 16px; font-weight: 400; color: black;"> {{activity.title}} <span style="font-size: 16px; font-weight: 400; color: black; margin-left: 10px;" > {{activity.content}} </span> </span> <span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;"> æä½å-{{activity.creatorName}}ï¼{{activity.creatorType==1? activity.companyName: "å¹³å°ç«¯"}}ï¼{{activity.createDate}} </span> </div> </el-timeline-item> </el-timeline> </div> </div> <el-dialog title="æ·»å æ¥æ¡å·" :visible.sync="visible1" :show-close="false" :close-on-click-modal="false" width="30%" center> <div class="form"> <div class="form_item"> <div class="form_item_label"> <span>*</span>æ¥æ¡å·ï¼ </div> <div class="form_item_val"> <input type="text" placeholder="请è¾å ¥"> </div> </div> </div> <span slot="footer" class="dialog-footer"> <el-button @click="visible1 = false">å æ¶</el-button> <el-button type="primary" @click="visible1 = false">ç¡® å®</el-button> </span> </el-dialog> <el-dialog title="çèµå¤ç" :visible.sync="visible2" :show-close="false" :close-on-click-modal="false" width="30%" center> <div class="form"> <div class="form_item"> <div class="form_item_label"> <span>*</span>å¤çè¿å±ï¼ </div> <div class="form_item_val"> <textarea placeholder="请è¾å ¥"></textarea> </div> </div> </div> <span slot="footer" class="dialog-footer"> <el-button @click="visible2 = false">å æ¶</el-button> <el-button type="primary" @click="visible2 = false">ç¡® å®</el-button> </span> </el-dialog> <el-dialog title="æ¤éç³è¯·" :visible.sync="visible3" :show-close="false" :close-on-click-modal="false" width="30%" center> <div class="form"> <div class="form_item"> <div class="form_item_label"> <span>*</span>填忤é说æï¼ </div> <div class="form_item_val"> <textarea placeholder="请è¾å ¥"></textarea> </div> </div> </div> <span slot="footer" class="dialog-footer"> <el-button @click="visible3 = false">å æ¶</el-button> <el-button type="primary" @click="visible3 = false">ç¡® å®</el-button> </span> </el-dialog> <el-dialog title="çèµç»æ¡" :visible.sync="visible4" :show-close="false" :close-on-click-modal="false" width="30%" center> <div class="form"> <div class="form_item"> <div class="form_item_label"> <span>*</span>ç»æ¡å å®¹ï¼ </div> <div class="form_item_val"> <textarea placeholder="请è¾å ¥"></textarea> </div> </div> <div class="form_item"> <div class="form_item_label"> <span>*</span>çèµè´¹ç¨ï¼ </div> <div class="form_item_val"> <el-table :data="tableData" border style="width: 100%"> <el-table-column prop="date" label="å»ççèµ"> </el-table-column> <el-table-column prop="name" label="误工çèµ"> </el-table-column> <el-table-column prop="address" label="伤æ®çèµ"> </el-table-column> <el-table-column prop="address" label="æ»äº¡çèµ"> </el-table-column> <el-table-column prop="address" label="çèµæ»é¢"> </el-table-column> </el-table> </div> </div> </div> <span slot="footer" class="dialog-footer"> <el-button @click="visible4 = false">å æ¶</el-button> <el-button type="primary" @click="visible4 = false">ç¡® å®</el-button> </span> </el-dialog> <el-dialog title="夿³¨æ ç¾" :visible.sync="visible5" :show-close="false" :close-on-click-modal="false" width="30%" center> <div class="form"> <div class="form_span"> <span>çèµå-çæ 2023-11-11 10:33:12</span> <span>æç¦è´¤ å³ä¸æè¿èæéª¨éª¨ææå å¤ç5000(å«å»ç误工 伤)å é´å®å认å®å¯ä»¥å?</span> </div> <div class="form_span"> <span>çèµå-ææ 2023-11-11 10:33:12</span> <span>çèµè¯çç³è¯·ä¸ éæä¾æ£æ¥æ¥åå åä»¶å¯ä¿å¸</span> </div> <div class="form_item"> <div class="form_item_label"> <span>*</span>填忤é说æï¼ </div> <div class="form_item_val"> <textarea placeholder="请è¾å ¥"></textarea> </div> </div> </div> <span slot="footer" class="dialog-footer"> <el-button @click="visible5 = false">å æ¶</el-button> <el-button type="primary" @click="visible5 = false">æ·» å </el-button> </span> </el-dialog> <template v-slot:footer> <el-button @click="visible=false">è¿å</el-button> </template> <OperaSettleClaimsCheckWindow ref="operaInsuranceApplyCheckWindow" @success="callback" /> </GlobalWindow> </template> <script> import BaseOpera from '@/components/base/BaseOpera' import GlobalWindow from '@/components/common/GlobalWindow' import OperaSettleClaimsCheckWindow from '@/components/business/OperaSettleClaimsCheckWindow' import {confirmFile, findById,exportFiles} from '@/api/business/settleClaims'; export default { name: 'OperaSettleClaimsWindow', extends: BaseOpera, components: { GlobalWindow }, components: { GlobalWindow, OperaSettleClaimsCheckWindow }, data () { return { doneFileDate:null, remarkLogList:[], // è¡¨åæ°æ® form: { id: null, }, model:{}, // éªè¯è§å rules: { }, activeName: 'first', reverse: true, activities: [ { content: 'æäº¤æ¥æ¡ç³è¯·\n' + '\n' + '\n' + 'æäº¤æè§ï¼-', timestamp: 'æä½å-å¼ ä¼ï¼å®å¾½å¹³å®äººåèµæºæéå ¬å¸ï¼\n' + '\n' + '2023-09-11 00:00:00' } ], tableData: [], visible1: false, visible2: false, @@ -489,24 +355,80 @@ }) }, methods: { open(title,target){ this.model ={} this.model = target this.title=title this.visible=true this.doneFileDate=null this.remarkLogList=[] this.getDetail() }, openBaoxiandan(){ window.open(this.model.baoxiandanFile.fileurlFull); }, getDetail(){ findById( this.model.id) .then(res => { this.model = res this.remarkLogList=[] var logList = this.model.settleClaimsLogList if(logList){ logList.forEach(item => { if( item.objType==2){ this.doneFileDate = item.createDate } if(item.objType==7){ this.remarkLogList.push(item) } }) } }).catch(err => { }) }, handleClick(tab, event) { console.log(tab, event); }, submit() { this.$confirm('çèµæææ¶é宿ï¼è¯·åæ¶æäº¤ä¿é©å ¬å¸ï¼', 'èµææ¶é宿', { confirmButtonText: 'æäº¤', cancelButtonText: 'åæ¶', type: 'warning' }).then(() => { this.$message({ type: 'success', message: 'æäº¤æå!' }); }).catch(() => { callback(){ this.getDetail() this.$emit('success') }, submit(type) { var that =this if(type ==0){ this.$dialog.messageConfirm('çèµæææ¶é宿ï¼è¯·åæ¶æäº¤ä¿é©å ¬å¸ï¼') .then(() => { // this.isWorking = true confirmFile({id:that.model.id}) .then(response => { that.getDetail() }).catch(err => { this.$tip.apiFailed(err) }) }) }else if(type==1){ //èµæä¸è½½ this.$dialog.exportConfirm('确认è¿è¡èµæä¸è½½åï¼') .then(() => { this.isWorking = true exportFiles({ id: that.model.id }) .then(response => { this.download(response) }).catch(err => { console.log(err) this.$message.error("ä¸è½½èµæå¤±è´¥ï¼è¯·ç¡®è®¤èµææ°æ®ä¸ä¸ºç©º") }).finally(() => { this.isWorking = false }) }) .catch(() => { }) } }); } } } </script> <style> company/src/views/business/settleClaims.vue
@@ -2,26 +2,26 @@ <TableLayout :permissions="['business:settleclaims:query']"> <!-- æç´¢è¡¨å --> <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> <el-form-item label="åå·¥å§å" prop="informantName"> <el-input v-model="searchForm.informantName" placeholder="请è¾å ¥" @keypress.enter.native="search"></el-input> <el-form-item label="åå·¥å§å" prop="memberName"> <el-input v-model="searchForm.memberName" placeholder="请è¾å ¥" @keypress.enter.native="search"></el-input> </el-form-item> <el-form-item label="æ¥æ¡åä½" prop="companyId"> <el-select v-model="searchForm.companyId" placeholder="è¯·éæ©" @keypress.enter.native="search"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> v-for="item in companyList" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> </el-form-item> <el-form-item label="ä¿é©æ¹æ¡" prop="solutionId"> <el-select v-model="searchForm.solutionId" placeholder="è¯·éæ©" @keypress.enter.native="search"> <el-form-item label="ä¿é©æ¹æ¡" prop="baseSolutionId"> <el-select v-model="searchForm.baseSolutionId" placeholder="è¯·éæ©" @keypress.enter.native="search"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> v-for="item in solutionList" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> </el-form-item> @@ -32,15 +32,8 @@ <el-option label="å·²ç»æ¡" value="2"></el-option> </el-select> </el-form-item> <el-form-item label="æ´¾é£åä½" prop="duId"> <el-select v-model="searchForm.duId" placeholder="è¯·éæ©" @keypress.enter.native="search"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> <el-form-item label="æ´¾é£åä½" prop="duName"> <el-input v-model="searchForm.duName" placeholder="请è¾å ¥" @keypress.enter.native="search"></el-input> </el-form-item> <section> <el-button type="primary" @click="search">æç´¢</el-button> @@ -61,18 +54,18 @@ </template> </el-table-column> <el-table-column prop="reportNum" label="æ¥æ¡å·" min-width="100px"></el-table-column> <el-table-column prop="companyId" label="æ¥æ¡ä¼ä¸" min-width="100px"></el-table-column> <el-table-column prop="companyId" label="åºé©äºº" min-width="100px"></el-table-column> <el-table-column prop="solutionId" label="ä¿é©æ¹æ¡" min-width="100px"></el-table-column> <el-table-column prop="duId" label="æ´¾é£åä½" min-width="100px"></el-table-column> <el-table-column prop="worktypeId" label="æå±å·¥ç§" min-width="100px"></el-table-column> <el-table-column prop="worktypeId" label="ä¿é©çæèµ·æ" min-width="100px"></el-table-column> <el-table-column prop="create_date" label="æ¥æ¡æ¶é´" min-width="100px"></el-table-column> <el-table-column prop="companyName" label="æ¥æ¡ä¼ä¸" min-width="100px"></el-table-column> <el-table-column prop="memberName" label="åºé©äºº" min-width="100px"></el-table-column> <el-table-column prop="solutionName" label="ä¿é©æ¹æ¡" min-width="100px"></el-table-column> <el-table-column prop="duName" label="æ´¾é£åä½" min-width="100px"></el-table-column> <el-table-column prop="worktypeName" label="æå±å·¥ç§" min-width="100px"></el-table-column> <el-table-column prop="baoxianStartTime" label="ä¿é©çæèµ·æ" min-width="100px"></el-table-column> <el-table-column prop="createDate" label="æ¥æ¡æ¶é´" min-width="100px"></el-table-column> <el-table-column prop="status" label="æ¡ä»¶ç¶æ" min-width="100px"> <template slot-scope="{row}"> <span v-if="row.status === 0 || row.status === 2">å¤çä¸</span> <span v-if="row.status === 1">å·²æ¤æ¡</span> <span v-if="row.status === 3">å·²ç»æ¡</span> <span style="color: #2E68EC" v-if="row.status === 0 || row.status === 2 || row.status === 3">å¤çä¸</span> <span style="color: red" v-if="row.status === 1">å·²æ¤æ¡</span> <span style="color: green " v-if="row.status ===4">å·²ç»æ¡</span> </template> </el-table-column> <el-table-column @@ -82,7 +75,7 @@ fixed="right" > <template slot-scope="{row}"> <el-button type="text" @click="$refs.operaSettleClaimsWindow.open('ç¼è¾çèµç³è¯·è¡¨', row)" icon="el-icon-edit" v-permissions="['business:settleclaims:update']">æ¥ç详æ </el-button> <el-button type="text" @click="$refs.operaSettleClaimsWindow.open('æ¥æ¡çèµç³è¯·è¡¨', row)" icon="el-icon-view" v-permissions="['business:settleclaims:update']">æ¥ç详æ </el-button> </template> </el-table-column> </el-table> @@ -103,6 +96,8 @@ import TableLayout from '@/layouts/TableLayout' import Pagination from '@/components/common/Pagination' import OperaSettleClaimsWindow from '@/components/business/OperaSettleClaimsWindow' import {all as solutionAll} from '@/api/business/solutions' import {pageAll as companyAll} from '@/api/business/company' export default { name: 'SettleClaims', extends: BaseTable, @@ -110,10 +105,13 @@ data () { return { // æç´¢ solutionList:[], companyList:[], searchForm: { solutionId: '', baseSolutionId: '', companyId: '', duId: '', duName: '', memberName:'', status: '', informantName: '' } @@ -127,6 +125,23 @@ 'field.main': 'id' }) this.search() this.loadSelectList() }, methods:{ // handlePageChange() { // this.search() // }, loadSelectList() { solutionAll({dataType:0}).then(res => { this.solutionList = res }).catch(err => { }) companyAll({}).then(res => { this.companyList = res }).catch(err => { }) } } } </script> server/platform/src/main/java/com/doumee/api/business/SettleClaimsController.java
@@ -8,6 +8,7 @@ import com.doumee.core.model.ApiResponse; import com.doumee.core.model.PageWrap; import com.doumee.core.model.PageData; import com.doumee.dao.business.dto.SCSupplementDTO; import com.doumee.dao.business.model.SettleClaims; import com.doumee.service.business.SettleClaimsService; import io.swagger.annotations.Api; @@ -63,6 +64,15 @@ public ApiResponse back(@RequestBody SettleClaims settleClaims) { return ApiResponse.success(settleClaimsService.back(settleClaims)); } @ApiOperation("éä»¶ä¸ä¼ ") @PostMapping("/claimsUploadFile") @RequiresPermissions("business:settleclaims:update") public ApiResponse claimsUploadFile(@RequestBody SCSupplementDTO scSupplementDTO) { settleClaimsService.claimsUploadFile(scSupplementDTO); return ApiResponse.success(null); } @ApiOperation("夿³¨æ ç¾") @PostMapping("/remark") @RequiresPermissions("business:settleclaims:remark") @@ -77,12 +87,12 @@ } @ApiOperation("èµæä¸è½½") @PostMapping("/exportFiles") @RequiresPermissions("business:locks:exportExcel") public void exportFiles(@RequestParam Integer id,HttpServletResponse response) { if(id == null){ @RequiresPermissions("business:settleclaims:exportExcel") public void exportFiles(@RequestBody SettleClaims model,HttpServletResponse response) { if(model.getId() == null){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } settleClaimsService.exportFiles(id,response); settleClaimsService.exportFiles(model.getId(),response); } @ApiOperation("æ ¹æ®IDå é¤") @GetMapping("/delete/{id}") server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -1012,12 +1012,12 @@ UPLOAD(0, "æäº¤æ¥æ¡","æäº¤æè§ï¼${param}"), PLATFORM_RETURN(1, "å¹³å°éå","æäº¤æè§ï¼${param}"), PLATFORM_CONFIRM_INFORMATION(2, "å¹³å°ç¡®è®¤èµæ",""), PLATFORM_FINISH(3, "å¹³å°å®æåç","æäº¤æè§ï¼${param}"), PLATFORM_FINISH(3, "ç»æ¡æäº¤","æäº¤æè§ï¼${param}"), UPDATE_DATA(4, "ä¿®æ¹ä¿¡æ¯","æäº¤æè§ï¼${param}"), SUPPLEMENT(5, "è¡¥å 说æ","æäº¤æè§ï¼${param}"), PLATFORM_LP_DEAL(6, "å¹³å°çèµå¤ç","æäº¤æè§ï¼${param}"), PLATFORM_REMARK(7, "å¹³å°å¤æ³¨æ ç¾",""), PLATFORM_ADDCODE(8, "平尿·»å æ¥æ¡å·",""), PLATFORM_REMARK(7, "å¹³å°å¤æ³¨æ ç¾","${param}"), PLATFORM_ADDCODE(8, "平尿·»å æ¥æ¡å·","夿¡å·ï¼${param}"), PLATFORM_UN_AGREE_BACK(9, "ä¼ä¸ä¸è½½èµæ",""), PLATFORM_DOWNLOAD(10, "å¹³å°ä¸è½½èµæ",""), PLATFORM_CHECK_PASS(11, "å¹³å°ä¸ä¼ èµæ",""), server/service/src/main/java/com/doumee/dao/business/model/SettleClaims.java
@@ -73,10 +73,9 @@ @ExcelColumn(name="äºæ åçæ¶é´") private String happenTime; @ApiModelProperty(value = "æè¿æä½æ¶é´") @ExcelColumn(name="æè¿æä½æ¶é´") private Date idcardNo; @ApiModelProperty(value = "è¯ä»¶å·") @ExcelColumn(name="è¯ä»¶å·") private String idcardNo; @ApiModelProperty(value = "æ´¾é£åä½ç¼ç ï¼å ³èdispatch_unit)", example = "1") @ExcelColumn(name="æ´¾é£åä½ç¼ç ï¼å ³èdispatch_unit)") @@ -144,11 +143,12 @@ @ExcelColumn(name="çèµæ»é¢") private BigDecimal claimAccount; @ApiModelProperty(value = "æ¥æ¡äººèç³»æ¹å¼") @ExcelColumn(name="æ¥æ¡äººèç³»æ¹å¼") private String informantPhone; @ApiModelProperty(value = "å°±è¯å»çæºæ") @ExcelColumn(name="å°±è¯å»çæºæ") private String hospital; @ApiModelProperty(value = "åºé©å°åº(å ³èareas)", example = "1") @ExcelColumn(name="åºé©å°åº(å ³èareas)") @@ -167,6 +167,9 @@ private Integer insuranceApplyId; @ApiModelProperty(value = "ä¿é©åéä»¶") @TableField(exist = false) private Multifile baoxiandanFile; @ApiModelProperty(value = "æ¥æ¡è§é¢") @TableField(exist = false) private List<Multifile> reportFileList; @@ -194,4 +197,41 @@ @ApiModelProperty(value = "æ¥å¿å表") @TableField(exist = false) List<SettleClaimsLog> settleClaimsLogList; @ApiModelProperty(value = "åºé©äºº") @TableField(exist = false) private String memberName; @ApiModelProperty(value = "åºé©äººèº«ä»½è¯") @TableField(exist = false) private String memberIdcardNo; @ApiModelProperty(value = "ä¼ä¸åç§°") @TableField(exist = false) private String companyName; @ApiModelProperty(value = "ä¿é©æ¹æ¡åç§°") @TableField(exist = false) private String solutionName; @ApiModelProperty(value = "æ´¾é£åä½åç§°") @TableField(exist = false) private String duName; @ApiModelProperty(value = "å·¥ç§åç§°") @TableField(exist = false) private String worktypeName; @ApiModelProperty(value = "ä¿åå·") @TableField(exist = false) private String applyCode; @ApiModelProperty(value = "ä¿é©çæèµ·æ") @TableField(exist = false) private Date baoxianStartTime; @ApiModelProperty(value = "ä¿é©çæèµ·æ") @TableField(exist = false) private Date baoxianEndTime; @ApiModelProperty(value = "æ¹æ¡åºè¡¨ç¼ç ï¼å ³èsolutionsï¼", example = "1") @TableField(exist = false) private Integer baseSolutionId; @ApiModelProperty(value = "æ´¾é£åä½åºè¡¨ç¼ç ï¼å ³èsolutionsï¼", example = "1") @TableField(exist = false) private Integer baseDuId; } server/service/src/main/java/com/doumee/dao/business/model/SettleClaimsLog.java
@@ -31,6 +31,7 @@ this.objId=objId; this.objType = objType; this.beforeContent=before; this.settleClainmsId=apply.getId(); this.afterContent=after; } @TableId(type = IdType.AUTO) @@ -95,6 +96,9 @@ @ApiModelProperty(value = "å建人åç§°", example = "1") @TableField(exist = false) private String creatorName; @ApiModelProperty(value = "å建人类å 0å¹³å° 1ä¼ä¸ç¨æ·", example = "1") @TableField(exist = false) private Integer creatorType; @ApiModelProperty(value = "å ¬å¸åç§°", example = "1") @TableField(exist = false) server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java
@@ -17,6 +17,7 @@ import com.doumee.dao.business.join.SettleClaimsJoinMapper; import com.doumee.dao.business.join.SettleClaimsLogJoinMapper; import com.doumee.dao.business.model.*; import com.doumee.dao.system.model.SystemUser; import com.doumee.service.business.SettleClaimsLogService; import com.doumee.service.business.SettleClaimsService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -114,8 +115,7 @@ */ @Override public Integer confirm(SettleClaims param){ if(param.getId() == null ||StringUtils.isBlank( param.getCheckInfo()) ){ if(param.getId() == null ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } @@ -141,7 +141,7 @@ Constants.SettleClaimsLogType applyLogType = Constants.SettleClaimsLogType.PLATFORM_CONFIRM_INFORMATION; String info =applyLogType.getInfo(); info = info.replace("${param}", update.getCheckInfo()); // info = info.replace("${param}", update.getCheckInfo()); SettleClaimsLog log = new SettleClaimsLog(update,applyLogType.getName(), info,update.getId(),applyLogType.getKey(), JSONObject.toJSONString(model), JSONObject.toJSONString(update)); settleClaimsLogMapper.insert(log); return 1; @@ -162,17 +162,17 @@ if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){ throw new BusinessException(ResponseStatus.DATA_EMPTY); } if((Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.FINISH_ACCEPTANCE.getKey()) /* if((Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.FINISH_ACCEPTANCE.getKey()) ||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey()))){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼è¯¥ç³è¯·å½å䏿¯æè¯¥æä½~"); } */ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); SettleClaims update = new SettleClaims(); update.setEditDate(new Date()); update.setEditor(user.getId()); update.setCheckDate(update.getEditDate()); update.setCheckInfo(param.getCheckInfo()); update.setCheckInfo("æ·»å 夿³¨æ ç¾"); update.setCheckUserId(user.getId()); update.setId(model.getId()); settleClaimsMapper.updateById(update); @@ -277,7 +277,7 @@ @Override public Integer addCode(SettleClaims param){ if(param.getId() == null ||StringUtils.isBlank( param.getCode()) ){ ||StringUtils.isBlank( param.getReportNum()) ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } @@ -285,10 +285,10 @@ if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){ throw new BusinessException(ResponseStatus.DATA_EMPTY); } if(!Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey())){ if((Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.FINISH_ACCEPTANCE.getKey()) ||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey()))){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼è¯¥ç³è¯·å½å䏿¯æè¯¥æä½~"); } LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); SettleClaims update = new SettleClaims(); update.setEditDate(new Date()); @@ -298,11 +298,13 @@ update.setCheckUserId(user.getId()); update.setId(model.getId()); update.setStatus(Constants.SettleClaimsStatus.DEAL_ING.getKey()); update.setCode(param.getCode()); update.setReportNum(param.getReportNum()); settleClaimsMapper.updateById(update); Constants.SettleClaimsLogType applyLogType = Constants.SettleClaimsLogType.PLATFORM_ADDCODE; SettleClaimsLog log = new SettleClaimsLog(update,applyLogType.getName(), null,update.getId(),applyLogType.getKey(), JSONObject.toJSONString(model), JSONObject.toJSONString(update)); String info =applyLogType.getInfo(); info = info.replace("${param}", update.getReportNum()); SettleClaimsLog log = new SettleClaimsLog(update,applyLogType.getName(), info,update.getId(),applyLogType.getKey(), JSONObject.toJSONString(model), JSONObject.toJSONString(update)); settleClaimsLogMapper.insert(log); return 1; @@ -419,25 +421,55 @@ } } @Override public SettleClaims getSettleClaimsDetail(Integer id){ SettleClaims settleClaims = settleClaimsJoinMapper.selectJoinOne(SettleClaims.class,new MPJLambdaWrapper<SettleClaims>() .selectAll(SettleClaims.class) MPJLambdaWrapper<SettleClaims> queryWrapper = new MPJLambdaWrapper<SettleClaims>(); queryWrapper.selectAll(SettleClaims.class) .selectAs(Company::getName,SettleClaims::getCompanyName) .selectAs(Solutions::getName,SettleClaims::getSolutionName) .selectAs(Member::getName,SettleClaims::getMemberName) .selectAs(Member::getIdcardNo,SettleClaims::getMemberIdcardNo) .selectAs(InsuranceApply::getCode,SettleClaims::getApplyCode) .selectAs(Worktype::getName,SettleClaims::getWorktypeName) .selectAs(InsuranceApply::getStartTime,SettleClaims::getBaoxianStartTime) .selectAs(InsuranceApply::getEndTime,SettleClaims::getBaoxianEndTime) .selectAs(DispatchUnit::getName,SettleClaims::getDuName) .leftJoin(Company.class,Company::getId,SettleClaims::getCompanyId) .leftJoin(Member.class,Member::getId,SettleClaims::getMemberId) .leftJoin(InsuranceApply.class,InsuranceApply::getId,SettleClaims::getInsuranceApplyId) .leftJoin(DispatchUnit.class,DispatchUnit::getId,SettleClaims::getDuId) .leftJoin(Worktype.class,Worktype::getId,SettleClaims::getWorktypeId) .eq(SettleClaims::getId,id) .last(" limit 1 ") ); .leftJoin(InsuranceApply.class,InsuranceApply::getId,SettleClaims::getInsuranceApplyId) .leftJoin(Solutions.class,Solutions::getId,SettleClaims::getSolutionId) .eq(SettleClaims::getId,id); SettleClaims settleClaims = settleClaimsJoinMapper.selectJoinOne(SettleClaims.class,queryWrapper); if(settleClaims == null){ throw new BusinessException(ResponseStatus.DATA_EMPTY); } List<Multifile> multifileList = multifileMapper.selectList(new QueryWrapper<Multifile>() .lambda().eq(Multifile::getObjId,id) .eq(Multifile::getIsdeleted,Constants.ZERO) .orderByAsc(Multifile::getCreateDate) ); String rPath = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode(); String path = rPath+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.SETTLE_FILE).getCode(); if(multifileList!=null){ for(Multifile f : multifileList){ if(f!=null&& StringUtils.isNotBlank(f.getFileurl())){ f.setFileurlFull(path+f.getFileurl()); } } } Multifile baoxiandanFile = multifileMapper.selectOne(new QueryWrapper<Multifile>() .lambda().eq(Multifile::getObjId,settleClaims.getInsuranceApplyId()) .eq(Multifile::getIsdeleted,Constants.ZERO) .eq(Multifile::getObjType,Constants.MultiFile.BD_DONE_PDF.getKey()) .last("limit 1")); if(baoxiandanFile!=null&& StringUtils.isNotBlank(baoxiandanFile.getFileurl())){ path = rPath+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.APPLY_FILE).getCode(); baoxiandanFile.setFileurlFull(path+baoxiandanFile.getFileurl()); } settleClaims.setBaoxiandanFile(baoxiandanFile);//ä¿é©å if(CollectionUtils.isNotEmpty(multifileList)){ settleClaims.setReportFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_SGXC_FILE.getKey())).collect(Collectors.toList())); @@ -450,17 +482,17 @@ settleClaims.setDisabilityFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_SCZL_FILE.getKey())).collect(Collectors.toList())); settleClaims.setCompensationFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_JACL_FILE.getKey())).collect(Collectors.toList())); } //æ¥è¯¢æä½è®°å½ List<SettleClaimsLog> settleClaimsLogList = settleClaimsLogJoinMapper.selectJoinList(SettleClaimsLog.class, new MPJLambdaWrapper<SettleClaimsLog>() .selectAll(SettleClaimsLog.class) .selectAs(Member::getName,SettleClaimsLog::getCreatorName) .selectAs(SystemUser::getRealname,SettleClaimsLog::getCreatorName) .selectAs(SystemUser::getType,SettleClaimsLog::getCreatorType) .selectAs(Company::getName,SettleClaimsLog::getCompanyName) .leftJoin(Member.class,Member::getId,SettleClaimsLog::getCreator) .leftJoin(Company.class,Company::getId,Member::getCompanyId) .leftJoin(SystemUser.class,SystemUser::getId,SettleClaimsLog::getCreator) .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId) .eq(SettleClaimsLog::getSettleClainmsId,settleClaims.getId()) .orderByAsc(SettleClaimsLog::getCreateDate) ); @@ -640,6 +672,7 @@ @Override public SettleClaims findById(Integer id) { return settleClaimsMapper.selectById(id); } @@ -658,109 +691,142 @@ @Override public PageData<SettleClaims> findPage(PageWrap<SettleClaims> pageWrap) { IPage<SettleClaims> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); QueryWrapper<SettleClaims> queryWrapper = new QueryWrapper<>(); LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); Utils.MP.blankToNull(pageWrap.getModel()); MPJLambdaWrapper<SettleClaims> queryWrapper = new MPJLambdaWrapper<SettleClaims>(); queryWrapper.selectAll(SettleClaims.class) .selectAs(Company::getName,SettleClaims::getCompanyName) .selectAs(Solutions::getName,SettleClaims::getSolutionName) .selectAs(Member::getName,SettleClaims::getMemberName) .selectAs(Worktype::getName,SettleClaims::getWorktypeName) .selectAs(InsuranceApply::getStartTime,SettleClaims::getBaoxianStartTime) .selectAs(DispatchUnit::getName,SettleClaims::getDuName) .leftJoin(Company.class,Company::getId,SettleClaims::getCompanyId) .leftJoin(Member.class,Member::getId,SettleClaims::getMemberId) .leftJoin(DispatchUnit.class,DispatchUnit::getId,SettleClaims::getDuId) .leftJoin(Worktype.class,Worktype::getId,SettleClaims::getWorktypeId) .leftJoin(InsuranceApply.class,InsuranceApply::getId,SettleClaims::getInsuranceApplyId) .leftJoin(Solutions.class,Solutions::getId,SettleClaims::getSolutionId); queryWrapper.eq(DispatchUnit::getIsdeleted,Constants.ZERO); if(Constants.equalsInteger(user.getType(),Constants.ZERO)){ //åªè½çæéèå´å if(user.getCompanyIdList() == null || user.getCompanyIdList().size() == 0){ queryWrapper. eq(Company::getId,-1);//è®¾ç½®æ æè®¿é® }else { queryWrapper. in(Company::getId, user.getCompanyIdList()); } } else { //ä¼ä¸ç¨æ·åªçèªå·±çæ°æ® pageWrap.getModel().setCompanyId(user.getCompanyId()); } queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()),Member::getName, pageWrap.getModel().getMemberName()); queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getDuName()),DispatchUnit::getName, pageWrap.getModel().getDuName()); queryWrapper.eq(pageWrap.getModel().getBaseSolutionId()!=null,Solutions::getBaseId, pageWrap.getModel().getBaseSolutionId()); queryWrapper.eq(pageWrap.getModel().getBaseDuId()!=null,DispatchUnit::getBaseId, pageWrap.getModel().getBaseDuId()); if (pageWrap.getModel().getId() != null) { queryWrapper.lambda().eq(SettleClaims::getId, pageWrap.getModel().getId()); queryWrapper.eq(SettleClaims::getId, pageWrap.getModel().getId()); } if (pageWrap.getModel().getCreator() != null) { queryWrapper.lambda().eq(SettleClaims::getCreator, pageWrap.getModel().getCreator()); queryWrapper.eq(SettleClaims::getCreator, pageWrap.getModel().getCreator()); } if (pageWrap.getModel().getCreateDate() != null) { queryWrapper.lambda().ge(SettleClaims::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); queryWrapper.lambda().le(SettleClaims::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); queryWrapper.ge(SettleClaims::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); queryWrapper.le(SettleClaims::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); } if (pageWrap.getModel().getEditor() != null) { queryWrapper.lambda().eq(SettleClaims::getEditor, pageWrap.getModel().getEditor()); queryWrapper.eq(SettleClaims::getEditor, pageWrap.getModel().getEditor()); } if (pageWrap.getModel().getEditDate() != null) { queryWrapper.lambda().ge(SettleClaims::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); queryWrapper.lambda().le(SettleClaims::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); queryWrapper.ge(SettleClaims::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); queryWrapper.le(SettleClaims::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); } if (pageWrap.getModel().getIsdeleted() != null) { queryWrapper.lambda().eq(SettleClaims::getIsdeleted, pageWrap.getModel().getIsdeleted()); queryWrapper.eq(SettleClaims::getIsdeleted, pageWrap.getModel().getIsdeleted()); } if (pageWrap.getModel().getRemark() != null) { queryWrapper.lambda().eq(SettleClaims::getRemark, pageWrap.getModel().getRemark()); queryWrapper.eq(SettleClaims::getRemark, pageWrap.getModel().getRemark()); } if (pageWrap.getModel().getSortnum() != null) { queryWrapper.lambda().eq(SettleClaims::getSortnum, pageWrap.getModel().getSortnum()); queryWrapper.eq(SettleClaims::getSortnum, pageWrap.getModel().getSortnum()); } if (pageWrap.getModel().getSolutionId() != null) { queryWrapper.lambda().eq(SettleClaims::getSolutionId, pageWrap.getModel().getSolutionId()); queryWrapper.eq(SettleClaims::getSolutionId, pageWrap.getModel().getSolutionId()); } if (pageWrap.getModel().getCompanyId() != null) { queryWrapper.lambda().eq(SettleClaims::getCompanyId, pageWrap.getModel().getCompanyId()); queryWrapper.eq(SettleClaims::getCompanyId, pageWrap.getModel().getCompanyId()); } if (pageWrap.getModel().getMemberId() != null) { queryWrapper.lambda().eq(SettleClaims::getMemberId, pageWrap.getModel().getMemberId()); queryWrapper.eq(SettleClaims::getMemberId, pageWrap.getModel().getMemberId()); } if (pageWrap.getModel().getHappenTime() != null) { queryWrapper.lambda().eq(SettleClaims::getHappenTime, pageWrap.getModel().getHappenTime()); queryWrapper.eq(SettleClaims::getHappenTime, pageWrap.getModel().getHappenTime()); } if (pageWrap.getModel().getIdcardNo() != null) { queryWrapper.lambda().ge(SettleClaims::getIdcardNo, Utils.Date.getStart(pageWrap.getModel().getIdcardNo())); queryWrapper.lambda().le(SettleClaims::getIdcardNo, Utils.Date.getEnd(pageWrap.getModel().getIdcardNo())); queryWrapper.eq(SettleClaims::getIdcardNo, pageWrap.getModel().getIdcardNo()); } if (pageWrap.getModel().getDuId() != null) { queryWrapper.lambda().eq(SettleClaims::getDuId, pageWrap.getModel().getDuId()); queryWrapper.eq(SettleClaims::getDuId, pageWrap.getModel().getDuId()); } if (pageWrap.getModel().getWorktypeId() != null) { queryWrapper.lambda().eq(SettleClaims::getWorktypeId, pageWrap.getModel().getWorktypeId()); queryWrapper.eq(SettleClaims::getWorktypeId, pageWrap.getModel().getWorktypeId()); } if (pageWrap.getModel().getFee() != null) { queryWrapper.lambda().eq(SettleClaims::getFee, pageWrap.getModel().getFee()); queryWrapper.eq(SettleClaims::getFee, pageWrap.getModel().getFee()); } if (pageWrap.getModel().getCheckInfo() != null) { queryWrapper.lambda().eq(SettleClaims::getCheckInfo, pageWrap.getModel().getCheckInfo()); queryWrapper.eq(SettleClaims::getCheckInfo, pageWrap.getModel().getCheckInfo()); } if (pageWrap.getModel().getCheckUserId() != null) { queryWrapper.lambda().eq(SettleClaims::getCheckUserId, pageWrap.getModel().getCheckUserId()); queryWrapper.eq(SettleClaims::getCheckUserId, pageWrap.getModel().getCheckUserId()); } if (pageWrap.getModel().getCode() != null) { queryWrapper.lambda().eq(SettleClaims::getCode, pageWrap.getModel().getCode()); queryWrapper.eq(SettleClaims::getCode, pageWrap.getModel().getCode()); } if (pageWrap.getModel().getStatus() != null) { queryWrapper.lambda().eq(SettleClaims::getStatus, pageWrap.getModel().getStatus()); queryWrapper.eq(SettleClaims::getStatus, pageWrap.getModel().getStatus()); } if (pageWrap.getModel().getType() != null) { queryWrapper.lambda().eq(SettleClaims::getType, pageWrap.getModel().getType()); queryWrapper.eq(SettleClaims::getType, pageWrap.getModel().getType()); } if (pageWrap.getModel().getInHospital() != null) { queryWrapper.lambda().eq(SettleClaims::getInHospital, pageWrap.getModel().getInHospital()); queryWrapper.eq(SettleClaims::getInHospital, pageWrap.getModel().getInHospital()); } if (pageWrap.getModel().getMedicalInsurance() != null) { queryWrapper.lambda().eq(SettleClaims::getMedicalInsurance, pageWrap.getModel().getMedicalInsurance()); queryWrapper.eq(SettleClaims::getMedicalInsurance, pageWrap.getModel().getMedicalInsurance()); } if (pageWrap.getModel().getContent() != null) { queryWrapper.lambda().eq(SettleClaims::getContent, pageWrap.getModel().getContent()); queryWrapper.eq(SettleClaims::getContent, pageWrap.getModel().getContent()); } if (pageWrap.getModel().getInformantName() != null) { queryWrapper.lambda().eq(SettleClaims::getInformantName, pageWrap.getModel().getInformantName()); queryWrapper.eq(SettleClaims::getInformantName, pageWrap.getModel().getInformantName()); } if (pageWrap.getModel().getInformantPhone() != null) { queryWrapper.lambda().eq(SettleClaims::getInformantPhone, pageWrap.getModel().getInformantPhone()); queryWrapper.eq(SettleClaims::getInformantPhone, pageWrap.getModel().getInformantPhone()); } if (pageWrap.getModel().getAreaId() != null) { queryWrapper.lambda().eq(SettleClaims::getAreaId, pageWrap.getModel().getAreaId()); queryWrapper.eq(SettleClaims::getAreaId, pageWrap.getModel().getAreaId()); } if (pageWrap.getModel().getAreaInfo() != null) { queryWrapper.lambda().eq(SettleClaims::getAreaInfo, pageWrap.getModel().getAreaInfo()); queryWrapper.eq(SettleClaims::getAreaInfo, pageWrap.getModel().getAreaInfo()); } if (pageWrap.getModel().getReportNum() != null) { queryWrapper.lambda().eq(SettleClaims::getReportNum, pageWrap.getModel().getReportNum()); queryWrapper.eq(SettleClaims::getReportNum, pageWrap.getModel().getReportNum()); } if (pageWrap.getModel().getInsuranceApplyId() != null) { queryWrapper.lambda().eq(SettleClaims::getInsuranceApplyId, pageWrap.getModel().getInsuranceApplyId()); queryWrapper.eq(SettleClaims::getInsuranceApplyId, pageWrap.getModel().getInsuranceApplyId()); } for(PageWrap.SortData sortData: pageWrap.getSorts()) { queryWrapper.orderByAsc(SettleClaims::getCreateDate); /*for(PageWrap.SortData sortData: pageWrap.getSorts()) { if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { queryWrapper.orderByDesc(sortData.getProperty()); } else { queryWrapper.orderByAsc(sortData.getProperty()); } } return PageData.from(settleClaimsMapper.selectPage(page, queryWrapper)); }*/ PageData<SettleClaims> pageData = PageData.from(settleClaimsJoinMapper.selectJoinPage(page,SettleClaims.class, queryWrapper)); return pageData; } @Override