From bd28e0ab635f43b608df6a2ab1823dcc6f78da93 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 01 二月 2024 20:46:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
server/company/src/main/java/com/doumee/api/business/DispatchUnitController.java | 2
server/service/src/main/java/com/doumee/dao/business/model/Member.java | 9
server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java | 37
server/service/src/main/java/com/doumee/service/business/impl/ApplyChagneDetailServiceImpl.java | 23
server/service/src/main/java/com/doumee/service/business/impl/NoticesServiceImpl.java | 106 -
server/platform/src/main/java/com/doumee/api/business/NoticesController.java | 2
server/service/src/main/java/com/doumee/service/business/ApplyChagneDetailService.java | 2
server/company/src/main/java/com/doumee/api/business/NoticesController.java | 8
server/service/src/main/java/com/doumee/core/utils/Constants.java | 175 ++++
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java | 118 ++
company/src/components/enterprise/confirmJobType.vue | 2
server/service/src/main/java/com/doumee/dao/business/model/Notices.java | 51 +
company/src/components/business/OperaApplyChangeUnitDetailWindow.vue | 48 +
company/src/views/enterprise/switchCourt.vue | 111 +-
company/src/views/business/switchCourt.vue | 2
server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java | 105 ++
company/src/components/enterprise/additionSubtractionApplication.vue | 7
company/src/components/enterprise/factoryChange.vue | 6
company/src/api/business/applyChange.js | 5
company/src/components/enterprise/reinsurance.vue | 594 +++++++++++++++
server/company/src/main/java/com/doumee/api/business/InsuranceApplyController.java | 3
server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java | 74 -
server/company/src/main/java/com/doumee/api/business/ApplyChagneDetailController.java | 7
server/service/src/main/java/com/doumee/dao/business/model/MemberInsurance.java | 36
server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 24
company/src/components/business/OperaApplyChangeDetailWindow.vue | 28
server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java | 50 +
company/src/components/enterprise/add_subtract_return.vue | 72 +
company/src/views/enterprise/add_subtract.vue | 7
company/src/components/enterprise/editFactoryChange.vue | 501 +++++++++++++
server/service/src/main/java/com/doumee/dao/business/join/NoticesJoinMapper.java | 13
31 files changed, 1,955 insertions(+), 273 deletions(-)
diff --git a/company/src/api/business/applyChange.js b/company/src/api/business/applyChange.js
index 7f34754..de60e43 100644
--- a/company/src/api/business/applyChange.js
+++ b/company/src/api/business/applyChange.js
@@ -36,3 +36,8 @@
export function applyChagneDetailList (data) {
return request.post('/business/applyChagneDetail/list', data)
}
+
+// 淇敼
+export function update (data) {
+ return request.post('/business/applyChange/update', data)
+}
diff --git a/company/src/components/business/OperaApplyChangeDetailWindow.vue b/company/src/components/business/OperaApplyChangeDetailWindow.vue
index 6f2e20d..7b74b15 100644
--- a/company/src/components/business/OperaApplyChangeDetailWindow.vue
+++ b/company/src/components/business/OperaApplyChangeDetailWindow.vue
@@ -12,21 +12,26 @@
<div class="desc_item_label_left">
<span>鎶曚繚浼佷笟锛歿{ apply.companyName }}</span>
<span v-if="model.status === 0">淇濆崟鐘舵�侊細寰呯缃�</span>
+<<<<<<< HEAD
+ <span v-if="model.status === 1">淇濆崟鐘舵�侊細寰呭鏍�</span>
+ <span v-if="model.status === 2">淇濆崟鐘舵�侊細宸蹭笂浼犳壒鍗�</span>
+=======
<span v-if="model.status === 1">淇濆崟鐘舵�侊細宸茬绔�</span>
<span v-if="model.status === 2">淇濆崟鐘舵�侊細宸茬敓鏁�</span>
+>>>>>>> 35bd55ad951fe8c5fb997dfa7bd836ad53db96fe
<span v-if="model.status === 3 || model.status === 4">淇濆崟鐘舵�侊細閫�鍥炵敵璇�</span>
<span v-if="model.status === 5 || model.status === 8">淇濆崟鐘舵�侊細宸查��鍥�</span>
- <span v-if="model.status ===7">淇濆崟鐘舵�侊細宸插叧闂�</span>
+ <span v-if="model.status === 7 || model.status === 6">淇濆崟鐘舵�侊細宸插叧闂�</span>
<span>鎻愪氦鏃堕棿锛歿{ model.createDate }}</span>
</div>
<div class="desc_item_label_right">
<template v-if="userInfo.type === 1">
<el-button type="primary" @click="$refs.ApplyChangeDetails.open('鍔犲噺淇濊鍗�',apply,model)">瀵煎嚭璇﹀崟</el-button>
- <el-button v-if="[5, 8].includes(model.status)" type="primary" @click="$refs.additionSubtractionApplication.open('鍔犲噺淇濈敵璇�', {id: dataId})">鍐嶆鎶曚繚</el-button>
+ <el-button v-if="[5, 8].includes(model.status)" type="primary" @click="$refs.reinsurance.open('鍔犲噺淇濈敵璇�', {id: dataId, applyChangId: modelId})">鍐嶆鎶曚繚</el-button>
<el-button type="primary" v-if="model.status == 0" @click="goSign">绛剧讲鐢宠鍗�</el-button>
- <el-button v-if="[2, 3, 7].includes(model.status)" type="primary">鐢宠閫�鍥�</el-button>
+ <el-button v-if="[0, 1, 2, 3, 7].includes(model.status)" type="primary" @click="$refs.add_subtract_return.open('鐢宠閫�鍥�', { id: modelId })">鐢宠閫�鍥�</el-button>
<el-button v-if="model.status == 5" type="primary" @click="viewApplyFile">鏌ョ湅鐢宠鍗�</el-button>
- <el-button v-if="model.status == 5" type="primary" @click="viewPidan">鏌ョ湅鎵瑰崟</el-button>
+ <el-button v-if="model.status == 2" type="primary" @click="viewPidan">鏌ョ湅鎵瑰崟</el-button>
<el-button v-if="[5, 8].includes(model.status)" type="primary" @click="closeOrder">鍏抽棴璁㈠崟</el-button>
</template>
<template v-else>
@@ -180,11 +185,12 @@
<ApplyChangeDetails ref="ApplyChangeDetails" @success="successEvent" />
<OperaApplyChangeCheckWindow ref="OperaApplyChangeCheckWindow" @success="successEvent" />
<!-- 浼佷笟鐢宠閫�鍥� -->
- <applyReturn ref="applyReturn" @success="successEvent" />
+<!-- <applyReturn ref="applyReturn" @success="successEvent" />-->
+ <add_subtract_return ref="add_subtract_return" @success="successEvent" />
<!-- 鏂板鎶曚繚 -->
<OperaInsuranceApply ref="OperaInsuranceApply" @success="successEvent" />
<!-- 鍔犲噺淇濈敵璇� -->
- <additionSubtractionApplication ref="additionSubtractionApplication" @success="successEvent" />
+ <reinsurance ref="reinsurance" @success="successEvent" />
<!-- 鎹㈠巶鐢宠 -->
<factoryChange ref="factoryChange" @success="successEvent" />
</GlobalWindow>
@@ -195,9 +201,9 @@
import GlobalWindow from '@/components/common/GlobalWindow'
import ApplyChangeDetails from '@/components/business/ApplyChangeDetails'
import OperaApplyChangeCheckWindow from '@/components/business/OperaApplyChangeCheckWindow'
-import additionSubtractionApplication from '@/components/enterprise/additionSubtractionApplication'
+import reinsurance from '@/components/enterprise/reinsurance'
import factoryChange from '@/components/enterprise/factoryChange'
-import applyReturn from '@/components/enterprise/applyReturn'
+import add_subtract_return from '@/components/enterprise/add_subtract_return'
import {
getDetail,
getChangeDetail,
@@ -215,9 +221,9 @@
GlobalWindow,
ApplyChangeDetails,
OperaApplyChangeCheckWindow,
- applyReturn,
+ add_subtract_return,
OperaInsuranceApply,
- additionSubtractionApplication,
+ reinsurance,
factoryChange
},
data () {
@@ -273,7 +279,7 @@
this.search()
},
closeOrder() {
- this.$confirm('纭鍏抽棴娆′繚鍗曞悧?', '鎻愮ず', {
+ this.$confirm('纭鍏抽棴姝よ鍗曞悧?', '鎻愮ず', {
confirmButtonText: '纭畾',
cancelButtonText: '鍙栨秷',
type: 'warning'
diff --git a/company/src/components/business/OperaApplyChangeUnitDetailWindow.vue b/company/src/components/business/OperaApplyChangeUnitDetailWindow.vue
index 085150b..40346f0 100644
--- a/company/src/components/business/OperaApplyChangeUnitDetailWindow.vue
+++ b/company/src/components/business/OperaApplyChangeUnitDetailWindow.vue
@@ -12,8 +12,13 @@
<div class="desc_item_label_left">
<span>鎶曚繚浼佷笟锛歿{ apply.companyName }}</span>
<span v-if="model.status === 0">淇濆崟鐘舵�侊細寰呯缃�</span>
+<<<<<<< HEAD
+ <span v-if="model.status === 1">淇濆崟鐘舵�侊細寰呭鏍�</span>
+ <span v-if="model.status === 2">淇濆崟鐘舵�侊細宸蹭笂浼犳壒鍗�</span>
+=======
<span v-if="model.status === 1">淇濆崟鐘舵�侊細宸茬绔�</span>
<span v-if="model.status === 2">淇濆崟鐘舵�侊細宸茬敓鏁�</span>
+>>>>>>> 35bd55ad951fe8c5fb997dfa7bd836ad53db96fe
<span v-if="model.status === 3 || model.status === 4">淇濆崟鐘舵�侊細閫�鍥炵敵璇�</span>
<span v-if="model.status ===5 || model.status === 8">淇濆崟鐘舵�侊細宸查��鍥�</span>
<span v-if="model.status ===7">淇濆崟鐘舵�侊細宸插叧闂�</span>
@@ -21,13 +26,14 @@
</div>
<div class="desc_item_label_right">
<template v-if="userInfo.type === 1">
- <el-button v-if="[0, 2, 3, 10].includes(model.status)" type="danger" @click="$refs.applyReturn.open('鐢宠閫�鍥�', {id: dataId})">鐢宠閫�鍥�</el-button>
- <el-button v-if="model.status == 4" type="primary" @click="$refs.OperaInsuranceApply.open('鎶曚繚鐢宠', {id: dataId})">鍐嶆鎶曚繚</el-button>
- <el-button type="primary" @click="$refs.InsuranceDetails.open('鎶曚繚璇︽儏鍗�',model,0)">绛剧讲鐢宠鍗�</el-button>
- <el-button v-if="[2, 3, 5, 7, 8].includes(model.status)" type="primary" @click="viewToubaodan">鐢宠閫�鍥�</el-button>
- <el-button v-if="model.status == 5" type="primary" @click="viewBaoxiandan">鏌ョ湅鐢宠鍗�</el-button>
- <el-button v-if="model.status == 5" type="primary" @click="viewBaoxiandan">鏌ョ湅鎵瑰崟</el-button>
- <el-button v-if="model.status == 2" type="primary" @click="goSign">鍏抽棴璁㈠崟</el-button>
+ <el-button type="primary" @click="$refs.ApplyChangeDetails.open('鎹㈠巶鐢宠璇﹀崟',apply,model)">瀵煎嚭璇﹀崟</el-button>
+<!-- <el-button v-if="[0, 2, 3, 10].includes(model.status)" type="danger" @click="$refs.applyReturn.open('鐢宠閫�鍥�', {id: dataId})">鐢宠閫�鍥�</el-button>-->
+ <el-button v-if="[5, 8].includes(model.status)" type="primary" @click="$refs.editFactoryChange.open('鎹㈠巶鐢宠', {id: dataId, applyChangId: modelId})">鍐嶆鎶曚繚</el-button>
+ <el-button type="primary" v-if="model.status == 0" @click="goSign">绛剧讲鐢宠鍗�</el-button>
+ <el-button v-if="[0, 1, 2, 3, 7].includes(model.status)" type="primary" @click="$refs.add_subtract_return.open('鐢宠閫�鍥�', { id: modelId })">鐢宠閫�鍥�</el-button>
+ <el-button v-if="model.status == 5" type="primary" @click="viewApplyFile">鏌ョ湅鐢宠鍗�</el-button>
+ <el-button v-if="model.status == 5" type="primary" @click="viewPidan">鏌ョ湅鎵瑰崟</el-button>
+ <el-button v-if="[5, 8].includes(model.status)" type="primary" @click="closeOrder">鍏抽棴璁㈠崟</el-button>
</template>
<template v-else>
<el-button type="primary" @click="$refs.ApplyChangeDetails.open('鎹㈠巶鐢宠璇﹀崟',apply,model)">瀵煎嚭璇﹀崟</el-button>
@@ -170,12 +176,15 @@
<OperaApplyChangeUnitCheckWindow ref="OperaApplyChangeCheckWindow" @success="successEvent" />
<!-- 浼佷笟鐢宠閫�鍥� -->
<applyReturn ref="applyReturn" @success="successEvent" />
+ <add_subtract_return ref="add_subtract_return" @success="successEvent" />
<!-- 鏂板鎶曚繚 -->
<OperaInsuranceApply ref="OperaInsuranceApply" @success="successEvent" />
<!-- 鍔犲噺淇濈敵璇� -->
<additionSubtractionApplication ref="additionSubtractionApplication" @success="successEvent" />
<!-- 鎹㈠巶鐢宠 -->
<factoryChange ref="factoryChange" @success="successEvent" />
+
+ <editFactoryChange ref="editFactoryChange" @success="successEvent" />
</GlobalWindow>
</template>
@@ -186,13 +195,16 @@
import OperaApplyChangeUnitCheckWindow from '@/components/business/OperaApplyChangeUnitCheckWindow'
import additionSubtractionApplication from '@/components/enterprise/additionSubtractionApplication'
import factoryChange from '@/components/enterprise/factoryChange'
+import editFactoryChange from '@/components/enterprise/editFactoryChange'
import applyReturn from '@/components/enterprise/applyReturn'
+import add_subtract_return from '@/components/enterprise/add_subtract_return'
import {
getDetail,
getChangeDetail,
applyChagneDetailPage,
getChangeUnitSignLink
} from '@/api/business/insuranceApply'
+import { applyChangeOpt } from '@/api/business/applyChange'
import OperaInsuranceApply from '@/components/enterprise/OperaInsuranceApplyWindow'
import { mapState } from 'vuex'
@@ -206,7 +218,9 @@
applyReturn,
OperaInsuranceApply,
additionSubtractionApplication,
- factoryChange
+ factoryChange,
+ add_subtract_return,
+ editFactoryChange
},
data () {
return {
@@ -257,6 +271,24 @@
this.getDetail()
this.getList()
},
+ closeOrder() {
+ this.$confirm('纭鍏抽棴姝よ鍗曞悧?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ applyChangeOpt({
+ optType: 6,
+ applyId: this.model.id
+ }).then(res => {
+ this.getDetail()
+ }).catch(e => {
+ this.$message.error(e)
+ })
+ }).catch(() => {
+
+ });
+ },
resetting() {
this.search()
},
diff --git a/company/src/components/enterprise/add_subtract_return.vue b/company/src/components/enterprise/add_subtract_return.vue
new file mode 100644
index 0000000..402f62a
--- /dev/null
+++ b/company/src/components/enterprise/add_subtract_return.vue
@@ -0,0 +1,72 @@
+<template>
+ <GlobalWindow
+ :title="title"
+ width="40%"
+ :visible.sync="visible"
+ :confirm-working="isWorking"
+ @confirm="confirm"
+ >
+ <el-form ref="form" :model="form" label-width="130px">
+ <el-form-item label="濉啓鐢宠璇存槑">
+ <el-input type="textarea" v-model="form.remark"></el-input>
+ </el-form-item>
+ </el-form>
+ </GlobalWindow>
+</template>
+
+<script>
+ import BaseOpera from '@/components/base/BaseOpera'
+ import GlobalWindow from '@/components/common/GlobalWindow'
+ import { applyChangeOpt } from '@/api/business/applyChange'
+
+ export default {
+ name: 'add_subtract_return',
+ extends: BaseOpera,
+ components: { GlobalWindow },
+ data () {
+ return {
+ // 琛ㄥ崟鏁版嵁
+ form: {
+ id: null,
+ remark: ''
+ }
+ }
+ },
+ created () {
+ this.config({
+ api: '/business/insurance',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+ open (title, target) {
+ this.title = title
+ this.visible = true
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ this.form[this.configData['field.id']] = null
+ })
+ this.$nextTick(() => {
+ for (const key in this.form) {
+ this.form[key] = target[key]
+ }
+ })
+ },
+ confirm() {
+ this.isWorking = true
+ applyChangeOpt({ applyId: this.form.id, optIllustration: this.form.remark, optType: 3 })
+ .then(res => {
+ this.visible = false
+ this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
+ this.$emit('success')
+ })
+ .catch(e => {
+ this.$tip.apiFailed(e)
+ })
+ .finally(() => {
+ this.isWorking = false
+ })
+ }
+ }
+ }
+</script>
diff --git a/company/src/components/enterprise/additionSubtractionApplication.vue b/company/src/components/enterprise/additionSubtractionApplication.vue
index 2d369a8..6db50bd 100644
--- a/company/src/components/enterprise/additionSubtractionApplication.vue
+++ b/company/src/components/enterprise/additionSubtractionApplication.vue
@@ -183,7 +183,7 @@
import confirmJobType from '@/components/enterprise/confirmJobType'
import { all } from '@/api/business/solutions'
import { getDetail } from '@/api/business/insuranceApply'
- import { create, getChangeCountCyclePriceVO, applyChagneDetailList } from '@/api/business/applyChange'
+ import { create, getChangeCountCyclePriceVO } from '@/api/business/applyChange'
export default {
name: 'additionSubtractionApplication',
extends: BaseOpera,
@@ -265,11 +265,6 @@
},
handleClick(e) {
this.activeName = e.index
- },
- getApplyChagneDetailList() {
- applyChagneDetailList({
-
- })
},
// 鑾峰彇鎶曚繚璇︽儏
getDetails() {
diff --git a/company/src/components/enterprise/confirmJobType.vue b/company/src/components/enterprise/confirmJobType.vue
index b371ad2..07917d1 100644
--- a/company/src/components/enterprise/confirmJobType.vue
+++ b/company/src/components/enterprise/confirmJobType.vue
@@ -55,6 +55,8 @@
methods: {
open (title, arr) {
this.title = title
+ this.dw = ''
+ this.gz = ''
this.form.solutionId = arr.solutionId
this.data = arr.seleData
this.visible = true
diff --git a/company/src/components/enterprise/editFactoryChange.vue b/company/src/components/enterprise/editFactoryChange.vue
new file mode 100644
index 0000000..16619aa
--- /dev/null
+++ b/company/src/components/enterprise/editFactoryChange.vue
@@ -0,0 +1,501 @@
+<template>
+ <GlobalWindow
+ :title="title"
+ width="100%"
+ text="鎶曚繚鐢宠"
+ :visible.sync="visible"
+ :confirm-working="isWorking"
+ @confirm="confirm"
+ >
+ <div class="list">
+ <el-form :inline="true" ref="form" :model="form" :rules="rules" class="demo-form-inline">
+ <el-form-item label="淇濋櫓鏂规">
+ <span>{{form.solutionsName}}</span>
+ </el-form-item>
+ <el-form-item label="鎵瑰崟鐢熸晥璧锋湡" prop="applyStartTime">
+ <div style="display: flex; flex-direction: column;">
+ <el-date-picker
+ v-model="form.applyStartTime"
+ type="datetime"
+ :picker-options="pickerOptions"
+ value-format="yyyy-MM-dd hh:mm:ss"
+ format="yyyy-MM-dd hh:mm:ss"
+ placeholder="閫夋嫨鏃ユ湡">
+ </el-date-picker>
+ <span style="color: #F95601; font-size: 14px;">锛堟鏃ョ敓鏁堟姇淇濊浜�17:30鍓嶆彁浜わ紝瓒呮椂鎻愪氦浠ヤ繚闄╁崟涓哄噯锛�</span>
+ </div>
+ </el-form-item>
+ <el-form-item label="鎶曚繚骞撮緞" v-if="item">
+ <span>{{item.minAge}} 鑷� {{item.maxAge}}</span>
+ </el-form-item>
+ <el-form-item label="璐圭敤" v-if="item">
+ <span>{{item.price}}鍏�</span>
+ <span v-if="item.timeUnit === 0">/澶�</span>
+ <span v-if="item.timeUnit === 1">/鍗婃湀</span>
+ <span v-if="item.timeUnit === 2">/鏈�</span>
+ <span v-if="item.timeUnit === 3">/骞�</span>
+ <span>/浜�</span>
+ </el-form-item>
+ </el-form>
+ </div>
+ <div class="desc_item_from">
+ <el-table
+ :data="list"
+ border
+ style="width: 100%">
+ <el-table-column
+ prop="code"
+ align="center"
+ label="鍏宠仈淇濆崟鍙�">
+ </el-table-column>
+ <el-table-column
+ prop="solutionsName"
+ label="淇濋櫓鏂规"
+ align="center"
+ width="180">
+ </el-table-column>
+ <el-table-column
+ prop="startTime"
+ align="center"
+ label="淇濋櫓鐢熸晥璧锋湡">
+ </el-table-column>
+ <el-table-column
+ prop="endTime"
+ align="center"
+ label="淇濋櫓鐢熸晥姝㈡湡">
+ </el-table-column>
+ <el-table-column
+ prop="insureNum"
+ align="center"
+ label="鎶曚繚浜烘暟">
+ </el-table-column>
+ <el-table-column
+ prop="serviceDays"
+ align="center"
+ label="鍦ㄤ繚鏃堕暱锛堝ぉ锛�">
+ </el-table-column>
+ <el-table-column
+ prop="currentFee"
+ align="center"
+ label="褰撳墠璐圭敤(鍏�)">
+ </el-table-column>
+ <el-table-column
+ prop="fee"
+ align="center"
+ label="鎬昏垂鐢�(鍏�)">
+ </el-table-column>
+ </el-table>
+ </div>
+ <div class="btns">
+ <div class="btns_item">
+ <el-button type="primary" @click="seleUser">閫夊彇鍛樺伐</el-button>
+ <el-button type="danger" @click="deleItem">鍒犻櫎</el-button>
+ </div>
+ <div class="btns_item">
+ <el-button type="primary" @click="sele">閫夊彇娲鹃仯鍗曚綅</el-button>
+ </div>
+ </div>
+ <el-table
+ :data="form.factory"
+ border
+ ref="multipleTable"
+ @selection-change="handleSelectionChange"
+ style="width: 100%;margin-bottom: 15px;">
+ <el-table-column
+ type="selection"
+ width="55">
+ </el-table-column>
+ <el-table-column label="搴忓彿" width="80px">
+ <template slot-scope="scope">
+ <span>{{scope.$index + 1}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="memberName"
+ label="濮撳悕">
+ </el-table-column>
+ <el-table-column
+ prop="idCard"
+ label="韬唤璇佸彿">
+ </el-table-column>
+ <el-table-column
+ prop="oldDuName"
+ label="鍘熸淳閬e崟浣�">
+ </el-table-column>
+ <el-table-column
+ prop="oldWorkTypeName"
+ label="鍘熸墍灞炲伐绉�">
+ </el-table-column>
+ <el-table-column
+ prop="duName"
+ label="鍙樻洿鍚庢淳閬e崟浣�">
+ </el-table-column>
+ <el-table-column
+ prop="workTypeName"
+ label="鍙樻洿鍚庢墍灞炲伐绉�">
+ </el-table-column>
+ <el-table-column
+ label="鎿嶄綔">
+ <template slot-scope="scope">
+ <el-button type="text" style="color: red;" @click="dele(scope.$index)">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="info" v-if="item">
+ <span v-if="item.specialAgreement">{{item.specialAgreement}}</span>
+ <span v-if="item.specialInfo">{{item.specialInfo}}</span>
+ <span v-if="item.ortherInfo">{{item.ortherInfo}}</span>
+ </div>
+ <!-- 閫夋嫨鍛樺伐 -->
+ <selectEmployees ref="selectEmployees" @result="getValue" />
+ <!-- 娣诲姞鍛樺伐 -->
+ <addEmployee ref="addEmployee" @result="getValue" />
+ <!-- 瀵煎叆鍚嶅崟 -->
+ <importEmployees ref="importEmployees" @result="getValue" />
+ <!-- 纭宸ョ -->
+ <confirmJobType ref="confirmJobType" @result="getUser" />
+ </GlobalWindow>
+</template>
+
+<script>
+ import BaseOpera from '@/components/base/BaseOpera'
+ import GlobalWindow from '@/components/common/GlobalWindow'
+ import selectEmployees from '@/components/enterprise/selectEmployees'
+ import addEmployee from '@/components/enterprise/addEmployee'
+ import importEmployees from '@/components/enterprise/importEmployees'
+ import confirmJobType from '@/components/enterprise/confirmJobType'
+ import { all } from '@/api/business/solutions'
+ import { getDetail, findList } from '@/api/business/insuranceApply'
+ import { create, update, applyChagneDetailList } from '@/api/business/applyChange'
+ export default {
+ name: 'editFactoryChange',
+ extends: BaseOpera,
+ components: { GlobalWindow, selectEmployees, addEmployee, importEmployees, confirmJobType },
+ data () {
+ return {
+ form: {
+ id: null,
+ applyChangId: '',
+ solutionId: '',
+ solutionsName: '',
+ applyStartTime: '',
+ applyEndTime: '',
+ factory: []
+ },
+ pickerOptions: {},
+ price: '',
+ endTime: '', // 瀹為檯淇濋櫓鐢熸晥姝㈡湡
+ company: [],
+ seleData: [],
+ item: null,
+ // 楠岃瘉瑙勫垯
+ rules: {
+ applyStartTime: [
+ { required: true, message: '璇烽�夋嫨鎵瑰崟鐢熸晥璧锋湡' }
+ ]
+ },
+ list: []
+ }
+ },
+ created () {
+ this.config({
+ api: '/business/insuranceApply',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+ open (title, target) {
+ this.title = title
+ this.form.addDetailList = []
+ this.form.delDetailList = []
+ this.list = []
+ this.form.id = null
+ this.item = null
+ this.form.solutionId = ''
+ this.form.solutionsName = ''
+ this.form.applyStartTime = ''
+ this.form.applyEndTime = ''
+ if (target && target.id) {
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ this.form.id = target.id
+ this.form.applyChangId = target.applyChangId
+ this.getDetails()
+ this.getapplyChagneDetailList()
+ })
+ } else {
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ this.form[this.configData['field.id']] = null
+ })
+ }
+ this.getCompany()
+ this.visible = true
+ // this.updatePickerOptions()
+ },
+ // 鑾峰彇鎹㈠巶浜哄憳
+ getapplyChagneDetailList() {
+ applyChagneDetailList({
+ applyChangId: this.form.applyChangId,
+ types: [2]
+ }).then(res => {
+ res.forEach(item => {
+ item.idCard = item.memberIdcardNo
+ item.oldDuId = item.duId
+ item.oldDuName = item.duName
+ item.oldWorkTypeName = item.workTypeName
+ item.oldWorktypeId = item.worktypeId
+ item.workTypeName = ''
+ item.worktypeId = ''
+ item.duId = ''
+ item.duName = ''
+ })
+ this.form.factory = res
+ })
+ },
+ // 鑾峰彇鎶曚繚璇︽儏
+ getDetails() {
+ findList({ applyId: this.form.id })
+ .then(res => {
+ res.forEach(item => {
+ item.idCard = item.idcardNo
+ item.fee = ''
+ })
+ res.forEach(item => {
+ item.oldDuId = item.duId
+ item.oldDuName = item.duName
+ item.oldWorkTypeName = item.workTypeName
+ item.oldWorktypeId = item.worktypeId
+ item.workTypeName = ''
+ item.worktypeId = ''
+ item.duId = ''
+ item.duName = ''
+ })
+ // this.form.factory = res
+ })
+ getDetail(this.form.id)
+ .then(res => {
+ this.list.push(res)
+ this.endTime = res.endTime
+ this.form.solutionId = res.solutionId
+ this.form.solutionsName = res.solutionsName
+ this.pickerOptions = {
+ disabledDate(time) {
+ // - 8.64e7
+ return time.getTime() > new Date(res.endTime).getTime() || time.getTime() < new Date().getTime()
+ }
+ };
+ this.changeSolution1(res.solutionId)
+ })
+ },
+ deleItem() {
+ if (this.seleData.length === 0) {
+ this.$message.warning('鑷冲皯閫夋嫨涓�椤瑰唴瀹�')
+ return
+ }
+ this.seleData.forEach(item => {
+ this.form.factory.forEach((row, index) => {
+ if (item === row.memberName) {
+ this.form.factory.splice(index, 1)
+ }
+ })
+ })
+ },
+ confirm() {
+ this.$refs.form.validate((valid) => {
+ if (valid) {
+ // if (this.form.addDetailList.length === 0) {
+ // this.$message.warning('鑷冲皯娣诲姞涓�椤瑰憳宸�')
+ // return
+ // }
+ for (let i = 0; i < this.form.factory.length; i++) {
+ if (!this.form.factory[i].worktypeId || !this.form.factory[i].duId) {
+ this.$message.warning('璇峰畬鍠勬淳閬e崟浣嶅拰宸ョ淇℃伅')
+ return
+ }
+ }
+ this.form.factory.forEach(item => {
+ item.idcardNo = item.idCard
+ })
+ // let arr = JSON.parse(JSON.stringify(this.form.factory))
+ // arr.forEach(item => {
+ // item.idcardNo = item.idCard
+ // })
+ this.isWorking = true
+ update({
+ id: this.form.applyChangId,
+ applyId: this.form.id,
+ changeDetailList: this.form.factory,
+ validTime: this.form.applyStartTime,
+ type: 1
+ }).then(() => {
+ this.visible = false
+ this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
+ this.$emit('success')
+ }).catch(e => {
+ this.$tip.apiFailed(e)
+ }).finally(() => {
+ this.isWorking = false
+ })
+ }
+ })
+ },
+ seleUser() {
+ if (!this.form.solutionId) {
+ this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
+ return
+ }
+ this.$refs.selectEmployees.open('閫夊彇鍛樺伐', { arr: this.form.delDetailList, price: this.price, insuranceApplyId: this.form.id })
+ },
+ addUser() {
+ if (!this.form.solutionId) {
+ this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
+ return
+ }
+ this.$refs.addEmployee.open('娣诲姞鍛樺伐', { arr: this.form.factory, price: this.price })
+ },
+ uploadUser() {
+ if (!this.form.solutionId) {
+ this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
+ return
+ }
+ this.$refs.importEmployees.open('涓婁紶鍚嶅崟', { arr: this.form.factory, price: this.price })
+ },
+ // 鍒囨崲鏂规
+ changeSolution1(e) {
+ this.company.forEach(item => {
+ if (item.id === e) {
+ this.item = item
+ }
+ })
+ // this.tableData.forEach(item => {
+ // item.fee = this.price
+ // })
+ },
+ dele(index) {
+ this.form.factory.splice(index, 1)
+ },
+ getUser(obj) {
+ console.log(obj)
+ this.seleData.forEach(item => {
+ this.form.factory.forEach(row => {
+ if (item === row.memberName) {
+ row.workTypeName = obj.workTypeName
+ row.worktypeId = obj.worktypeId
+ row.duName = obj.duName
+ row.duId = obj.duId
+ }
+ })
+ })
+ this.seleData = []
+ this.$refs.multipleTable.clearSelection();
+ },
+ // 閫夋嫨鍛樺伐
+ sele() {
+ if (!this.form.solutionId) {
+ this.$message.warning('璇烽�夋嫨淇濋櫓鏂规')
+ return
+ }
+ if (this.seleData.length === 0) {
+ this.$message.warning('璇烽�夋嫨鍛樺伐')
+ return
+ }
+ this.$refs.confirmJobType.open('纭宸ョ', { solutionId: this.form.solutionId })
+ },
+ // 鏌ヨ鍏ㄩ儴鏂规
+ getCompany() {
+ all({})
+ .then(res => {
+ this.company = res
+ })
+ },
+ getAgeByIdCard(idCard){
+ const sexAndAge = {}
+ //鑾峰彇鐢ㄦ埛韬唤璇佸彿鐮�
+ const userCard = idCard
+ //濡傛灉鐢ㄦ埛韬唤璇佸彿鐮佷负undefined鍒欒繑鍥炵┖
+ if (!userCard) {
+ return sexAndAge
+ }
+ // 鑾峰彇鍑虹敓鏃ユ湡
+ const yearBirth = userCard.substring(6, 10)
+ const monthBirth = userCard.substring(10, 12)
+ const dayBirth = userCard.substring(12, 14)
+ // 鑾峰彇褰撳墠骞存湀鏃ュ苟璁$畻骞撮緞
+ const myDate = new Date()
+ const monthNow = myDate.getMonth() + 1
+ const dayNow = myDate.getDate()
+ let age = myDate.getFullYear() - yearBirth
+ if (monthNow < monthBirth || (monthNow == monthBirth && dayNow < dayBirth)) {
+ age--
+ }
+ // 寰楀埌骞撮緞
+ sexAndAge.age = age
+ return sexAndAge.age
+ },
+ handleSelectionChange (e) {
+ this.seleData = e.map(item => item.memberName)
+ },
+ getValue(list) {
+ let arr = JSON.parse(JSON.stringify(list))
+
+ arr.forEach(item => {
+ item.oldDuId = item.duId
+ item.oldDuName = item.duName
+ item.oldWorkTypeName = item.workTypeName
+ item.oldWorktypeId = item.worktypeId
+
+ item.duId = ''
+ item.duName = ''
+ item.workTypeName = ''
+ item.worktypeId = ''
+ })
+ this.form.factory.push(...arr)
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .list {
+ width: 100%;
+ }
+ .btns {
+ width: 100%;
+ margin-bottom: 15px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ .btns_item {
+ display: flex;
+ align-items: center;
+ }
+ }
+ .submit {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-bottom: 15px;
+ }
+ .desc_item_from {
+ width: 100%;
+ margin-bottom: 10px;
+ .desc_item_from_page {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: end;
+ margin-top: 10px;
+ }
+ }
+ .desc_item_cate {
+ width: 100%;
+ margin-bottom: 10px;
+ }
+ .info {
+ width: 100%;
+ font-size: 14px;
+ color: black;
+ }
+</style>
diff --git a/company/src/components/enterprise/factoryChange.vue b/company/src/components/enterprise/factoryChange.vue
index b2fe3b0..cf2bfb7 100644
--- a/company/src/components/enterprise/factoryChange.vue
+++ b/company/src/components/enterprise/factoryChange.vue
@@ -16,10 +16,10 @@
<div style="display: flex; flex-direction: column;">
<el-date-picker
v-model="form.applyStartTime"
- type="date"
+ type="datetime"
:picker-options="pickerOptions"
- value-format="yyyy-MM-dd"
- format="yyyy 骞� MM 鏈� dd 鏃�"
+ value-format="yyyy-MM-dd hh:mm:ss"
+ format="yyyy-MM-dd hh:mm:ss"
placeholder="閫夋嫨鏃ユ湡">
</el-date-picker>
<span style="color: #F95601; font-size: 14px;">锛堟鏃ョ敓鏁堟姇淇濊浜�17:30鍓嶆彁浜わ紝瓒呮椂鎻愪氦浠ヤ繚闄╁崟涓哄噯锛�</span>
diff --git a/company/src/components/enterprise/reinsurance.vue b/company/src/components/enterprise/reinsurance.vue
new file mode 100644
index 0000000..cd566c5
--- /dev/null
+++ b/company/src/components/enterprise/reinsurance.vue
@@ -0,0 +1,594 @@
+<template>
+ <GlobalWindow
+ :title="title"
+ width="100%"
+ text="鎶曚繚鐢宠"
+ :visible.sync="visible"
+ :confirm-working="isWorking"
+ @confirm="confirm"
+ >
+ <div class="list">
+ <el-form :inline="true" ref="form" :model="form" :rules="rules" class="demo-form-inline">
+ <el-form-item label="淇濋櫓鏂规">
+ <span>{{form.solutionsName}}</span>
+ </el-form-item>
+ <el-form-item label="鎵瑰崟鐢熸晥璧锋湡" prop="applyStartTime">
+ <div style="display: flex; flex-direction: column;">
+ <el-date-picker
+ @change="changeApplyStartTime"
+ v-model="form.applyStartTime"
+ type="date"
+ :picker-options="pickerOptions"
+ value-format="yyyy-MM-dd"
+ format="yyyy 骞� MM 鏈� dd 鏃�"
+ placeholder="閫夋嫨鏃ユ湡">
+ </el-date-picker>
+ <span style="color: #F95601; font-size: 14px;">锛堟鏃ョ敓鏁堟姇淇濊浜�17:30鍓嶆彁浜わ紝瓒呮椂鎻愪氦浠ヤ繚闄╁崟涓哄噯锛�</span>
+ </div>
+ </el-form-item>
+ <el-form-item label="鎶曚繚骞撮緞" v-if="item">
+ <span>{{item.minAge}} 鑷� {{item.maxAge}}</span>
+ </el-form-item>
+ <el-form-item label="璐圭敤" v-if="item">
+ <span>{{item.price}}鍏�</span>
+ <span v-if="item.timeUnit === 0">/澶�</span>
+ <span v-if="item.timeUnit === 1">/鍗婃湀</span>
+ <span v-if="item.timeUnit === 2">/鏈�</span>
+ <span v-if="item.timeUnit === 3">/骞�</span>
+ <span>/浜�</span>
+ </el-form-item>
+ </el-form>
+ </div>
+ <div class="desc_item_from">
+ <el-table
+ :data="list"
+ border
+ style="width: 100%">
+ <el-table-column
+ prop="code"
+ align="center"
+ label="鍏宠仈淇濆崟鍙�">
+ </el-table-column>
+ <el-table-column
+ prop="solutionsName"
+ label="淇濋櫓鏂规"
+ align="center"
+ width="180">
+ </el-table-column>
+ <el-table-column
+ prop="startTime"
+ align="center"
+ label="淇濋櫓鐢熸晥璧锋湡">
+ </el-table-column>
+ <el-table-column
+ prop="endTime"
+ align="center"
+ label="淇濋櫓鐢熸晥姝㈡湡">
+ </el-table-column>
+ <el-table-column
+ prop="insureNum"
+ align="center"
+ label="鎶曚繚浜烘暟">
+ </el-table-column>
+ <el-table-column
+ prop="serviceDays"
+ align="center"
+ label="鍦ㄤ繚鏃堕暱锛堝ぉ锛�">
+ </el-table-column>
+ <el-table-column
+ prop="currentFee"
+ align="center"
+ label="褰撳墠璐圭敤(鍏�)">
+ </el-table-column>
+ <el-table-column
+ prop="fee"
+ align="center"
+ label="鎬昏垂鐢�(鍏�)">
+ </el-table-column>
+ </el-table>
+ </div>
+ <div class="desc_item_cate">
+ <el-tabs v-model="activeName" @tab-click="handleClick">
+ <el-tab-pane label="鍔犱繚鍛樺伐" name="0"></el-tab-pane>
+ <el-tab-pane label="鍑忎繚鍛樺伐" name="1"></el-tab-pane>
+ </el-tabs>
+ </div>
+ <div class="btns">
+ <div class="btns_item">
+ <el-button type="primary" @click="seleUser">閫夊彇鍛樺伐</el-button>
+ <el-button type="primary" @click="uploadUser" v-if="activeName !== '1'">瀵煎叆鍛樺伐</el-button>
+ <el-button type="primary" @click="addUser" v-if="activeName !== '1'">娣诲姞鍛樺伐</el-button>
+ <el-button type="danger" @click="deleItem">鍒犻櫎</el-button>
+ </div>
+ <div class="btns_item" v-if="activeName !== '1'">
+ <el-button type="primary" @click="sele">閫夊彇娲鹃仯鍗曚綅</el-button>
+ </div>
+ </div>
+ <el-table
+ :data="activeName === '0' ? form.addDetailList : form.delDetailList"
+ border
+ show-summary
+ :summary-method="getSummaries"
+ ref="multipleTable"
+ @selection-change="handleSelectionChange"
+ style="width: 100%;margin-bottom: 15px;">
+ <el-table-column
+ type="selection"
+ width="55">
+ </el-table-column>
+ <el-table-column label="搴忓彿" width="80px">
+ <template slot-scope="scope">
+ <span>{{scope.$index + 1}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="memberName"
+ label="濮撳悕">
+ </el-table-column>
+ <el-table-column
+ prop="idCard"
+ label="韬唤璇佸彿">
+ </el-table-column>
+ <el-table-column
+ label="骞撮緞">
+ <template slot-scope="{row}">
+ <template v-if="item">
+ <span style="color: red;" v-if="(getAgeByIdCard(row.idCard) < item.minAge) || (getAgeByIdCard(row.idCard) > item.maxAge)">{{getAgeByIdCard(row.idCard)}}</span>
+ <span v-else>{{ getAgeByIdCard(row.idCard) }}</span>
+ </template>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="duName"
+ label="娲鹃仯鍗曚綅">
+ </el-table-column>
+ <el-table-column
+ prop="workTypeName"
+ label="鎵�灞炲伐绉�">
+ </el-table-column>
+ <el-table-column
+ label="璐圭敤">
+ <template slot-scope="{row}">
+ <span v-if="activeName === '0'">{{row.fee}}</span>
+ <span v-else>-{{row.fee}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鎿嶄綔">
+ <template slot-scope="scope">
+ <el-button type="text" style="color: red;" @click="dele(scope.$index)">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="info" v-if="item">
+ <span v-if="item.specialAgreement">{{item.specialAgreement}}</span>
+ <span v-if="item.specialInfo">{{item.specialInfo}}</span>
+ <span v-if="item.ortherInfo">{{item.ortherInfo}}</span>
+ </div>
+ <!-- 閫夋嫨鍛樺伐 -->
+ <selectEmployees ref="selectEmployees" @result="getValue" />
+ <!-- 娣诲姞鍛樺伐 -->
+ <addEmployee ref="addEmployee" @result="getValue" />
+ <!-- 瀵煎叆鍚嶅崟 -->
+ <importEmployees ref="importEmployees" @result="getValue" />
+ <!-- 纭宸ョ -->
+ <confirmJobType ref="confirmJobType" @result="getUser" />
+ </GlobalWindow>
+</template>
+
+<script>
+ import BaseOpera from '@/components/base/BaseOpera'
+ import GlobalWindow from '@/components/common/GlobalWindow'
+ import selectEmployees from '@/components/enterprise/selectEmployees'
+ import addEmployee from '@/components/enterprise/addEmployee'
+ import importEmployees from '@/components/enterprise/importEmployees'
+ import confirmJobType from '@/components/enterprise/confirmJobType'
+ import { all } from '@/api/business/solutions'
+ import { getDetail } from '@/api/business/insuranceApply'
+ import { update, getChangeCountCyclePriceVO, applyChagneDetailList } from '@/api/business/applyChange'
+ export default {
+ name: 'reinsurance',
+ extends: BaseOpera,
+ components: { GlobalWindow, selectEmployees, addEmployee, importEmployees, confirmJobType },
+ data () {
+ return {
+ form: {
+ id: null,
+ applyChangId: '',
+ solutionId: '',
+ solutionsName: '',
+ applyStartTime: '',
+ applyEndTime: '',
+ addDetailList: [],
+ delDetailList: [],
+ },
+ activeName: '0',
+ pickerOptions: {},
+ price: '',
+ endTime: '', // 瀹為檯淇濋櫓鐢熸晥姝㈡湡
+ company: [],
+ seleData: [],
+ item: null,
+ // 楠岃瘉瑙勫垯
+ rules: {
+ applyStartTime: [
+ { required: true, message: '璇烽�夋嫨鎵瑰崟鐢熸晥璧锋湡' }
+ ]
+ },
+ list: []
+ }
+ },
+ created () {
+ this.config({
+ api: '/business/insuranceApply',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+ open (title, target) {
+ this.title = title
+ this.form.addDetailList = []
+ this.form.delDetailList = []
+ this.list = []
+ this.form.id = null
+ this.item = null
+ this.form.solutionId = ''
+ this.form.solutionsName = ''
+ this.form.applyStartTime = ''
+ this.form.applyEndTime = ''
+ if (target && target.id) {
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ this.form.id = target.id
+ this.form.applyChangId = target.applyChangId
+ this.getDetails()
+ })
+ } else {
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ this.form[this.configData['field.id']] = null
+ })
+ }
+ this.getCompany()
+ this.visible = true
+ // this.updatePickerOptions()
+ },
+ changeApplyStartTime(e) {
+ getChangeCountCyclePriceVO({
+ applyId: this.form.id,
+ validTime: e
+ }).then(res => {
+ this.price = res.cyclePrice
+ this.form.addDetailList.forEach(item => {
+ item.fee = res.cyclePrice
+ })
+ this.form.delDetailList.forEach(item => {
+ item.fee = res.cyclePrice
+ })
+ })
+ },
+ handleClick(e) {
+ this.activeName = e.index
+ },
+ // 鑾峰彇鎶曚繚璇︽儏
+ getDetails() {
+ applyChagneDetailList({
+ applyChangId: this.form.applyChangId,
+ types: [0]
+ }).then(res => {
+ res.forEach(item => {
+ item.fee = ''
+ item.idCard = item.memberIdcardNo
+ item.workTypeName = ''
+ item.worktypeId = ''
+ item.duName = ''
+ item.duId = ''
+ })
+ this.form.addDetailList = res
+ })
+ applyChagneDetailList({
+ applyChangId: this.form.applyChangId,
+ types: [1]
+ }).then(res => {
+ res.forEach(item => {
+ item.fee = ''
+ item.idCard = item.memberIdcardNo
+ item.workTypeName = ''
+ item.worktypeId = ''
+ item.duName = ''
+ item.duId = ''
+ })
+ this.form.delDetailList = res
+ })
+ getDetail(this.form.id)
+ .then(res => {
+ this.list.push(res)
+ this.endTime = res.endTime
+ this.form.solutionId = res.solutionId
+ this.form.solutionsName = res.solutionsName
+ this.pickerOptions = {
+ disabledDate(time) {
+ // - 8.64e7
+ return time.getTime() > new Date(res.endTime).getTime() || time.getTime() < new Date().getTime()
+ }
+ };
+ this.changeSolution1(res.solutionId)
+ })
+ },
+ getSummaries(param) {
+ const { columns, data } = param
+ const sums = []
+ columns.forEach((column, index) => {
+ if (index === 0) {
+ sums[index] = '鎬讳环'
+ return
+ } else if (index === 7) {
+ let total = 0
+ if (this.activeName === '0') {
+ this.form.addDetailList.forEach(item => {
+ total += item.fee
+ })
+ sums[index] = total
+ return
+ } else {
+ this.form.delDetailList.forEach(item => {
+ total += item.fee
+ })
+ sums[index] = '-' + total
+ return
+ }
+ sums[index] = ''
+ }
+ })
+ return sums
+ },
+ deleItem() {
+ if (this.seleData.length === 0) {
+ this.$message.warning('鑷冲皯閫夋嫨涓�椤瑰唴瀹�')
+ return
+ }
+ if (this.activeName === '0') {
+ this.seleData.forEach(item => {
+ this.form.addDetailList.forEach((row, index) => {
+ if (item === row.name) {
+ this.form.addDetailList.splice(index, 1)
+ }
+ })
+ })
+ } else {
+ this.seleData.forEach(item => {
+ this.form.delDetailList.forEach((row, index) => {
+ if (item === row.name) {
+ this.form.delDetailList.splice(index, 1)
+ }
+ })
+ })
+ }
+ },
+ confirm() {
+ this.$refs.form.validate((valid) => {
+ if (valid) {
+ // if (this.form.addDetailList.length === 0) {
+ // this.$message.warning('鑷冲皯娣诲姞涓�椤瑰憳宸�')
+ // return
+ // }
+ for (let i = 0; i < this.form.addDetailList.length; i++) {
+ if (!this.form.addDetailList[i].worktypeId || !this.form.addDetailList[i].duId) {
+ this.$message.warning('璇峰畬鍠勫姞淇濇淳閬e崟浣嶅拰宸ョ淇℃伅')
+ return
+ }
+ }
+ for (let i = 0; i < this.form.delDetailList.length; i++) {
+ if (!this.form.delDetailList[i].worktypeId || !this.form.delDetailList[i].duId) {
+ this.$message.warning('璇峰畬鍠勫噺淇濇淳閬e崟浣嶅拰宸ョ淇℃伅')
+ return
+ }
+ }
+ this.form.addDetailList.forEach(item => {
+ item.idcardNo = item.idCard
+ })
+ this.form.delDetailList.forEach(item => {
+ item.idcardNo = item.idCard
+ })
+ // let arr = JSON.parse(JSON.stringify(this.form.addDetailList))
+ // arr.forEach(item => {
+ // item.idcardNo = item.idCard
+ // })
+ this.isWorking = true
+ update({
+ id: this.form.applyChangId,
+ applyId: this.form.id,
+ addDetailList: this.form.addDetailList,
+ delDetailList: this.form.delDetailList,
+ validTime: this.form.applyStartTime,
+ type: 0
+ }).then(() => {
+ this.visible = false
+ this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
+ this.$emit('success')
+ }).catch(e => {
+ this.$tip.apiFailed(e)
+ }).finally(() => {
+ this.isWorking = false
+ })
+ }
+ })
+ },
+ seleUser() {
+ if (!this.form.solutionId) {
+ this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
+ return
+ }
+ if (this.activeName === '0') {
+ this.$refs.selectEmployees.open('閫夊彇鍛樺伐', { arr: this.form.addDetailList, price: this.price, notInInsuranceApplyId: this.form.id })
+ } else {
+ this.$refs.selectEmployees.open('閫夊彇鍛樺伐', { arr: this.form.delDetailList, price: this.price, insuranceApplyId: this.form.id })
+ }
+ },
+ addUser() {
+ if (!this.form.solutionId) {
+ this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
+ return
+ }
+ if (this.activeName === '0') {
+ this.$refs.addEmployee.open('娣诲姞鍛樺伐', { arr: this.form.addDetailList, price: this.price })
+ } else {
+ this.$refs.addEmployee.open('娣诲姞鍛樺伐', { arr: this.form.delDetailList, price: this.price })
+ }
+ },
+ uploadUser() {
+ if (!this.form.solutionId) {
+ this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
+ return
+ }
+ if (this.activeName === '0') {
+ this.$refs.importEmployees.open('涓婁紶鍚嶅崟', { arr: this.form.addDetailList, price: this.price })
+ } else {
+ this.$refs.importEmployees.open('涓婁紶鍚嶅崟', { arr: this.form.delDetailList, price: this.price })
+ }
+ },
+ // 鍒囨崲鏂规
+ changeSolution1(e) {
+ this.company.forEach(item => {
+ if (item.id === e) {
+ this.item = item
+ }
+ })
+ // this.tableData.forEach(item => {
+ // item.fee = this.price
+ // })
+ },
+ dele(index) {
+ if (this.activeName === '0') {
+ this.form.addDetailList.splice(index, 1)
+ } else {
+ this.form.delDetailList.splice(index, 1)
+ }
+ },
+ getUser(obj) {
+ this.seleData.forEach(item => {
+ if (this.activeName === '0') {
+ this.form.addDetailList.forEach(row => {
+ if (item === row.name) {
+ row.workTypeName = obj.workTypeName
+ row.worktypeId = obj.worktypeId
+ row.duName = obj.duName
+ row.duId = obj.duId
+ }
+ })
+ } else {
+ this.form.delDetailList.forEach(row => {
+ if (item === row.name) {
+ row.workTypeName = obj.workTypeName
+ row.worktypeId = obj.worktypeId
+ row.duName = obj.duName
+ row.duId = obj.duId
+ }
+ })
+ }
+ })
+ this.seleData = []
+ this.$refs.multipleTable.clearSelection();
+ },
+ // 閫夋嫨鍛樺伐
+ sele() {
+ if (!this.form.solutionId) {
+ this.$message.warning('璇烽�夋嫨淇濋櫓鏂规')
+ return
+ }
+ if (this.seleData.length === 0) {
+ this.$message.warning('璇烽�夋嫨鍛樺伐')
+ return
+ }
+ this.$refs.confirmJobType.open('纭宸ョ', { solutionId: this.form.solutionId })
+ },
+ // 鏌ヨ鍏ㄩ儴鏂规
+ getCompany() {
+ all({})
+ .then(res => {
+ this.company = res
+ })
+ },
+ getAgeByIdCard(idCard){
+ if (!idCard) return ''
+ const sexAndAge = {}
+ //鑾峰彇鐢ㄦ埛韬唤璇佸彿鐮�
+ const userCard = idCard
+ //濡傛灉鐢ㄦ埛韬唤璇佸彿鐮佷负undefined鍒欒繑鍥炵┖
+ if (!userCard) {
+ return sexAndAge
+ }
+ // 鑾峰彇鍑虹敓鏃ユ湡
+ const yearBirth = userCard.substring(6, 10)
+ const monthBirth = userCard.substring(10, 12)
+ const dayBirth = userCard.substring(12, 14)
+ // 鑾峰彇褰撳墠骞存湀鏃ュ苟璁$畻骞撮緞
+ const myDate = new Date()
+ const monthNow = myDate.getMonth() + 1
+ const dayNow = myDate.getDate()
+ let age = myDate.getFullYear() - yearBirth
+ if (monthNow < monthBirth || (monthNow == monthBirth && dayNow < dayBirth)) {
+ age--
+ }
+ // 寰楀埌骞撮緞
+ sexAndAge.age = age
+ return sexAndAge.age
+ },
+ handleSelectionChange (e) {
+ this.seleData = e.map(item => item.name)
+ },
+ getValue(list) {
+ console.log(list)
+ if (this.activeName === '0') {
+ this.form.addDetailList.push(...list)
+ } else {
+ this.form.delDetailList.push(...list)
+ }
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .list {
+ width: 100%;
+ }
+ .btns {
+ width: 100%;
+ margin-bottom: 15px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ .btns_item {
+ display: flex;
+ align-items: center;
+ }
+ }
+ .submit {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-bottom: 15px;
+ }
+ .desc_item_from {
+ width: 100%;
+ margin-bottom: 10px;
+ .desc_item_from_page {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: end;
+ margin-top: 10px;
+ }
+ }
+ .desc_item_cate {
+ width: 100%;
+ margin-bottom: 10px;
+ }
+ .info {
+ width: 100%;
+ font-size: 14px;
+ color: black;
+ }
+</style>
diff --git a/company/src/views/business/switchCourt.vue b/company/src/views/business/switchCourt.vue
index 9fece68..5bf3682 100644
--- a/company/src/views/business/switchCourt.vue
+++ b/company/src/views/business/switchCourt.vue
@@ -109,7 +109,7 @@
import {all as solutionAll, all} from '@/api/business/solutions'
import {pageAll as companyAll} from "@/api/business/company";
export default {
- name: 'add_subtract',
+ name: 'switchCourt',
extends: BaseTable,
components: { TableLayout, Pagination, OperaApplyChangeUnitDetailWindow },
data () {
diff --git a/company/src/views/enterprise/add_subtract.vue b/company/src/views/enterprise/add_subtract.vue
index 80bf584..6fcd255 100644
--- a/company/src/views/enterprise/add_subtract.vue
+++ b/company/src/views/enterprise/add_subtract.vue
@@ -55,9 +55,10 @@
<el-table-column prop="status" label="淇濆崟鐘舵��" min-width="100px">
<template slot-scope="{row}">
<span v-if="row.status === 0">寰呯缃�</span>
- <span v-if="row.status === 1">宸茬绔�</span>
- <span v-if="row.status === 2">宸蹭笂浼犳壒鍗�</span>
- <span v-if="row.status === 3">閫�鍥炵敵璇�</span>
+ <span v-if="row.status === 1">寰呭鏍�</span>
+ <span v-if="row.status === 2">宸茬敓鏁�</span>
+ <span v-if="row.status === 3 || row.status === 4">鐢宠閫�鍥�</span>
+ <span v-if="row.status === 5 || row.status === 8">宸查��鍥�</span>
</template>
</el-table-column>
<el-table-column prop="applyCode" label="鍏宠仈淇濆崟鍙�" min-width="100px"></el-table-column>
diff --git a/company/src/views/enterprise/switchCourt.vue b/company/src/views/enterprise/switchCourt.vue
index 6ca0b5a..b967cef 100644
--- a/company/src/views/enterprise/switchCourt.vue
+++ b/company/src/views/enterprise/switchCourt.vue
@@ -2,38 +2,34 @@
<TableLayout :permissions="['business:applychange:query']">
<!-- 鎼滅储琛ㄥ崟 -->
<el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
- <el-form-item label="淇濆崟鐘舵��" prop="status">
+ <el-form-item label="鐘舵��" prop="status">
<el-select v-model="searchForm.status" placeholder="璇烽�夋嫨" @change="search">
+ <el-option label="鍏ㄩ儴" value=""></el-option>
<el-option label="寰呯缃�" value="0"></el-option>
- <el-option label="宸茬绔� " value="1"></el-option>
- <el-option label="宸蹭笂浼犳壒鍗�" value="2"></el-option>
- <el-option label="閫�鍥炵敵璇�" value="3"></el-option>
+ <el-option label="寰呭鏍�" value="1"></el-option>
+ <el-option label="宸茬敓鏁�" value="2"></el-option>
+ <el-option label="鐢宠閫�鍥�" value="3"></el-option>
+ <!-- 3 4 閮芥槸閫�鍥炵敵璇蜂腑-->
+ <el-option label="宸查��鍥�" value="5"></el-option>
+ <el-option label="宸插叧闂�" value="6"></el-option>
</el-select>
</el-form-item>
- <el-form-item label="鎶曚繚浼佷笟" prop="status">
- <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨">
+ <el-form-item label="淇濋櫓鏂规" prop="baseSolutionsId">
+ <el-select v-model="searchForm.baseSolutionsId" placeholder="璇烽�夋嫨" @change="search">
<el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="淇濋櫓鏂规" prop="status">
- <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
+ v-for="item in solutionList"
+ :key="item.baseId"
+ :label="item.name"
+ :value="item.baseId">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="鎻愪氦鏃ユ湡" prop="status">
<el-date-picker
- v-model="searchForm.status"
+ @change="changeTime"
+ v-model="searchForm.time"
type="daterange"
+ value-format="yyyy-MM-dd"
range-separator="鑷�"
start-placeholder="寮�濮嬫棩鏈�"
end-placeholder="缁撴潫鏃ユ湡">
@@ -56,21 +52,21 @@
<span>{{scope.$index + 1}}</span>
</template>
</el-table-column>
- <el-table-column prop="status" label="淇濆崟鐘舵��" min-width="100px">
+ <el-table-column prop="status" label="鐘舵��" min-width="100px">
<template slot-scope="{row}">
<span v-if="row.status === 0">寰呯缃�</span>
- <span v-if="row.status === 1">宸茬绔�</span>
- <span v-if="row.status === 2">宸蹭笂浼犳壒鍗�</span>
- <span v-if="row.status === 3">閫�鍥炵敵璇�</span>
+ <span v-if="row.status === 1">寰呭鏍�</span>
+ <span v-if="row.status === 2">宸茬敓鏁�</span>
+ <span v-if="row.status === 3 || row.status === 4">鐢宠閫�鍥�</span>
+ <span v-if="row.status === 5 || row.status === 8">宸查��鍥�</span>
</template>
</el-table-column>
- <el-table-column prop="code" label="鎶曚繚浼佷笟" min-width="100px"></el-table-column>
+ <el-table-column prop="validCode" label="鎵瑰崟鍙�" min-width="100px"></el-table-column>
<el-table-column prop="code" label="鍏宠仈淇濆崟鍙�" min-width="100px"></el-table-column>
- <el-table-column prop="code" label="淇濋櫓鏂规" min-width="100px"></el-table-column>
- <el-table-column prop="code" label="鍔犱繚浜烘暟锛堜汉锛�" min-width="100px"></el-table-column>
- <el-table-column prop="code" label="鍑忎繚浜烘暟锛堜汉锛�" min-width="100px"></el-table-column>
- <el-table-column prop="code" label="璐圭敤鍙樻洿" min-width="100px"></el-table-column>
+ <el-table-column prop="solutionsName" label="淇濋櫓鏂规" min-width="100px"></el-table-column>
+ <el-table-column prop="changeNum" label="鎹㈠巶浜烘暟锛堜汉锛�" min-width="100px"></el-table-column>
<el-table-column prop="createDate" label="鎻愪氦鏃堕棿" min-width="100px"></el-table-column>
+ <el-table-column prop="startTime" label="鎵瑰崟鐢熸晥璧锋湡" min-width="100px"></el-table-column>
<el-table-column
label="鎿嶄綔"
min-width="120"
@@ -98,7 +94,7 @@
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import OperaApplyChangeUnitDetailWindow from '@/components/business/OperaApplyChangeUnitDetailWindow'
- import {all as solutionAll} from "@/api/business/solutions";
+ import {all as solutionAll, all} from '@/api/business/solutions'
import {pageAll as companyAll} from "@/api/business/company";
export default {
name: 'switchCourt',
@@ -109,9 +105,14 @@
// 鎼滅储
searchForm: {
status: '',
- type: ''
+ type: '1',
+ solutionsId: '',
+ createDateE: '',
+ createDateS: '',
+ time: []
},
- options: []
+ solutionList:[],
+ companyList:[]
}
},
created () {
@@ -122,22 +123,36 @@
'field.main': 'id'
})
this.search()
+ this.loadSelectList()
},
- methods:{
- // handlePageChange() {
- // this.search()
- // },
- loadSelectList() {
- solutionAll({dataType:2}).then(res => {
- this.solutionList = res
- }).catch(err => {
- })
- companyAll({}).then(res => {
- this.companyList = res
- }).catch(err => {
- })
+ methods: {
+ loadSelectList() {
+ solutionAll({dataType:2}).then(res => {
+ this.solutionList = res
+ }).catch(err => {
+ })
+ companyAll({}).then(res => {
+ this.companyList = res
+ }).catch(err => {
+ })
+ },
+ changeTime(e) {
+ if (e.length > 0) {
+ this.searchForm.createDateS = e[0]
+ this.searchForm.createDateE = e[1]
+ } else {
+ this.searchForm.createDateS = ''
+ this.searchForm.createDateE = ''
+ }
+ this.search()
+ },
+ reset() {
+ this.searchForm.createDateS = ''
+ this.searchForm.createDateE = ''
+ this.searchForm.time = []
+ this.$refs.searchForm.resetFields();
+ this.search()
+ }
}
-
- }
}
</script>
diff --git a/server/company/src/main/java/com/doumee/api/business/ApplyChagneDetailController.java b/server/company/src/main/java/com/doumee/api/business/ApplyChagneDetailController.java
index 951ea62..5acdfe1 100644
--- a/server/company/src/main/java/com/doumee/api/business/ApplyChagneDetailController.java
+++ b/server/company/src/main/java/com/doumee/api/business/ApplyChagneDetailController.java
@@ -75,6 +75,13 @@
return ApiResponse.success(applyChagneDetailService.findPageForCompany(pageWrap));
}
+ @ApiOperation("鍒楄〃鏌ヨ")
+ @PostMapping("/list")
+ @RequiresPermissions("business:applychagnedetail:query")
+ public ApiResponse<List<ApplyChagneDetail>> findList (@RequestBody ApplyDetailPageDTO applyDetailPageDTO) {
+ return ApiResponse.success(applyChagneDetailService.findListForCompany(applyDetailPageDTO));
+ }
+
@ApiOperation("瀵煎嚭Excel")
@PostMapping("/exportExcel")
@RequiresPermissions("business:applychagnedetail:exportExcel")
diff --git a/server/company/src/main/java/com/doumee/api/business/DispatchUnitController.java b/server/company/src/main/java/com/doumee/api/business/DispatchUnitController.java
index 201fd18..e5af4b1 100644
--- a/server/company/src/main/java/com/doumee/api/business/DispatchUnitController.java
+++ b/server/company/src/main/java/com/doumee/api/business/DispatchUnitController.java
@@ -43,7 +43,7 @@
}
@PreventRepeat
- @ApiOperation("娣诲姞宸ョ")
+ @ApiOperation("娣诲姞鏂规宸ョ")
@PostMapping("/createSolution")
@RequiresPermissions("business:dispatchunit:create")
public ApiResponse createSolution(@RequestBody SaveDispatchUnitDTO saveDispatchUnitDTO) {
diff --git a/server/company/src/main/java/com/doumee/api/business/InsuranceApplyController.java b/server/company/src/main/java/com/doumee/api/business/InsuranceApplyController.java
index be8ece9..ef55325 100644
--- a/server/company/src/main/java/com/doumee/api/business/InsuranceApplyController.java
+++ b/server/company/src/main/java/com/doumee/api/business/InsuranceApplyController.java
@@ -113,7 +113,7 @@
public ApiResponse<InsuranceApply> findById(@PathVariable Integer id) {
return ApiResponse.success(insuranceApplyService.findDetail(id));
}
- @ApiOperation("鏍规嵁ID鏌ヨ")
+ @ApiOperation("浼佷笟绛剧讲淇濆崟")
@GetMapping("/getSignLink/{id}")
@RequiresPermissions("business:insuranceapply:query")
public ApiResponse<String> getSignLink(@PathVariable Integer id) {
@@ -127,7 +127,6 @@
insuranceApplyService.applyOpt(insuranceApplyOptDTO);
return ApiResponse.success("鎿嶄綔鎴愬姛");
}
-
@ApiOperation("鑾峰彇淇濆崟姝㈡湡涓庡垵濮嬮噾棰�")
@PostMapping("/getCountCyclePriceVO")
diff --git a/server/company/src/main/java/com/doumee/api/business/NoticesController.java b/server/company/src/main/java/com/doumee/api/business/NoticesController.java
index 5cd022a..42f845b 100644
--- a/server/company/src/main/java/com/doumee/api/business/NoticesController.java
+++ b/server/company/src/main/java/com/doumee/api/business/NoticesController.java
@@ -4,13 +4,16 @@
import com.doumee.core.annotation.excel.ExcelExporter;
import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.PageData;
+import com.doumee.core.utils.Constants;
import com.doumee.dao.business.model.Notices;
import com.doumee.service.business.NoticesService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.apache.shiro.SecurityUtils;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
@@ -71,6 +74,9 @@
@PostMapping("/page")
@RequiresPermissions("business:notices:query")
public ApiResponse<PageData<Notices>> findPage (@RequestBody PageWrap<Notices> pageWrap) {
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ pageWrap.getModel().setCompanyId(loginUserInfo.getCompanyId());
+ pageWrap.getModel().setPalt(Constants.ONE);
return ApiResponse.success(noticesService.findPage(pageWrap));
}
diff --git a/server/platform/src/main/java/com/doumee/api/business/NoticesController.java b/server/platform/src/main/java/com/doumee/api/business/NoticesController.java
index 5cd022a..d3110c5 100644
--- a/server/platform/src/main/java/com/doumee/api/business/NoticesController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/NoticesController.java
@@ -6,6 +6,7 @@
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.PageData;
+import com.doumee.core.utils.Constants;
import com.doumee.dao.business.model.Notices;
import com.doumee.service.business.NoticesService;
import io.swagger.annotations.Api;
@@ -71,6 +72,7 @@
@PostMapping("/page")
@RequiresPermissions("business:notices:query")
public ApiResponse<PageData<Notices>> findPage (@RequestBody PageWrap<Notices> pageWrap) {
+ pageWrap.getModel().setPalt(Constants.ZERO);
return ApiResponse.success(noticesService.findPage(pageWrap));
}
diff --git a/server/service/src/main/java/com/doumee/core/utils/Constants.java b/server/service/src/main/java/com/doumee/core/utils/Constants.java
index 14fe22d..c6be2c9 100644
--- a/server/service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -910,6 +910,181 @@
}
}
+
+ public enum NoticeObjectType {
+ INSURANCE_APPLY(0, "鎶曚繚鐢宠","淇濋櫓鏂规"),
+ APPLY_CHANGE(1, "鍔犲噺淇濈敵璇�","淇濋櫓鏂规"),
+ CHANGE_FACTORY(2, "鍛樺伐鎹㈠巶鐢宠","淇濋櫓鏂规"),
+ DISPATCH_UNIT(3, "娲鹃仯鍗曚綅鐢宠","娲鹃仯鍗曚綅"),
+ TAXES(4, "寮�绁ㄧ敵璇�","寮�绁ㄩ噾棰�"),
+ SETTLE_CLAIMS(5, "鎶ユ鐞嗚禂","鎶ユ浜�")
+ ;
+ // 鎴愬憳鍙橀噺
+ private int key;
+ private String name;
+ private String info;
+
+ // 鏋勯�犳柟娉�
+ NoticeObjectType(int key, String name,String info) {
+ this.name = name;
+ this.key = key;
+ this.info = info;
+ }
+
+ // 鏅�氭柟娉�
+ public static String getName(int index) {
+ for (NoticeObjectType c : NoticeObjectType.values()) {
+ if (c.getKey() == index) {
+ return c.name;
+ }
+ }
+ return null;
+ }
+
+
+ // get set 鏂规硶
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public int getKey() {
+ return key;
+ }
+
+ public void setKey(int key) {
+ this.key = key;
+ }
+
+ public String getInfo() {
+ return info;
+ }
+
+ public void setInfo(String info) {
+ this.info = info;
+ }
+
+ }
+
+
+ public enum NoticeType {
+
+ ZERO(0, "寰呭鎵�","","","寰呭鏍�","宸茬敵璇�","寰呭彈鐞�"),
+ ONE(1, "浼佷笟寰呯缃�","","","宸ョ寰呭鏍�","","瀹屾垚鍙楃悊"),
+ TWO(2, "寰呭嚭鍗�","寰呭鎵�","寰呭鎵�","","",""),
+ THREE(3, "鐢宠閫�鍥�","鐢宠閫�鍥�","鐢宠閫�鍥�","","",""),
+ FOUR(4, "宸查��鍥�","宸查��鍥�","宸查��鍥�","","",""),
+ FIVE(5, "鐢宠椹冲洖","鐢宠椹冲洖","鐢宠椹冲洖","","","")
+ ;
+
+ // 鎴愬憳鍙橀噺
+ private int status;
+ private String insuranceApplyDetail;
+ private String applyChangeDetail;
+ private String changeFactoryDetail;
+ private String dispatchUnitDetail;
+ private String taxesDetail;
+ private String settleClaimsDetail;
+
+ // 鏋勯�犳柟娉�
+ NoticeType(int status, String insuranceApplyDetail,String applyChangeDetail
+ , String changeFactoryDetail,String dispatchUnitDetail
+ , String taxesDetail,String settleClaimsDetail) {
+ this.status = status;
+ this.insuranceApplyDetail = insuranceApplyDetail;
+ this.applyChangeDetail = applyChangeDetail;
+ this.changeFactoryDetail = changeFactoryDetail;
+ this.dispatchUnitDetail = dispatchUnitDetail;
+ this.taxesDetail = taxesDetail;
+ this.settleClaimsDetail = settleClaimsDetail;
+ }
+
+ // 鏅�氭柟娉�
+ public static String getDetail(int status,int type) {
+ for (NoticeType c : NoticeType.values()) {
+ if (c.getStatus() == status) {
+ if(type==NoticeObjectType.INSURANCE_APPLY.getKey() ){
+ return c.getInsuranceApplyDetail();
+ }else if(type == NoticeObjectType.APPLY_CHANGE.getKey()){
+ return c.getApplyChangeDetail();
+ }else if(type == NoticeObjectType.CHANGE_FACTORY.getKey()){
+ return c.getChangeFactoryDetail();
+ }else if(type == NoticeObjectType.DISPATCH_UNIT.getKey()){
+ return c.getDispatchUnitDetail();
+ }else if(type == NoticeObjectType.TAXES.getKey()){
+ return c.getTaxesDetail();
+ }else if(type == NoticeObjectType.SETTLE_CLAIMS.getKey()){
+ return c.getSettleClaimsDetail();
+ }
+ }
+ }
+ return null;
+ }
+
+ // get set 鏂规硶
+ public int getStatus() {
+ return status;
+ }
+
+ public void setStatus(int status) {
+ this.status = status;
+ }
+
+ public String getInsuranceApplyDetail() {
+ return insuranceApplyDetail;
+ }
+
+ public void setInsuranceApplyDetail(String name) {
+ this.insuranceApplyDetail = insuranceApplyDetail;
+ }
+
+ public String getApplyChangeDetail() {
+ return applyChangeDetail;
+ }
+
+ public void setApplyChangeDetail(String info) {
+ this.applyChangeDetail = applyChangeDetail;
+ }
+
+ public String getChangeFactoryDetail() {
+ return changeFactoryDetail;
+ }
+
+ public void setChangeFactoryDetail(String info) {
+ this.changeFactoryDetail = changeFactoryDetail;
+ }
+
+ public String getDispatchUnitDetail() {
+ return dispatchUnitDetail;
+ }
+
+ public void setDispatchUnitDetail(String info) {
+ this.dispatchUnitDetail = dispatchUnitDetail;
+ }
+
+ public String getTaxesDetail() {
+ return taxesDetail;
+ }
+
+ public void setTaxesDetail(String info) {
+ this.taxesDetail = taxesDetail;
+ }
+
+ public String getSettleClaimsDetail() {
+ return settleClaimsDetail;
+ }
+
+ public void setSettleClaimsDetail(String info) {
+ this.settleClaimsDetail = settleClaimsDetail;
+ }
+
+
+ }
+
+
public static BigDecimal countDetailFee(Solutions solutions,Date startDate, Date endDate){
//鏌ヨ淇濋櫓瀹為檯鍛ㄦ湡
Integer cycle = DateUtil.calculateBetween(endDate,startDate,solutions.getTimeUnit());
diff --git a/server/service/src/main/java/com/doumee/dao/business/join/NoticesJoinMapper.java b/server/service/src/main/java/com/doumee/dao/business/join/NoticesJoinMapper.java
new file mode 100644
index 0000000..22f760a
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/join/NoticesJoinMapper.java
@@ -0,0 +1,13 @@
+package com.doumee.dao.business.join;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.Notices;
+import com.github.yulichang.base.mapper.MPJJoinMapper;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+public interface NoticesJoinMapper extends MPJJoinMapper<Notices> {
+
+}
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/Member.java b/server/service/src/main/java/com/doumee/dao/business/model/Member.java
index 3d0d6fd..3952cdc 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/Member.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -104,4 +104,13 @@
@TableField(exist = false)
private String workTypeName;
+ @ApiModelProperty(value = "浼佷笟鍚嶇О")
+ @TableField(exist = false)
+ private String companyName;
+
+ @ApiModelProperty(value = "淇濋櫓鐘舵��:1=淇濋殰涓�;2=涓嶅湪淇�")
+ @TableField(exist = false)
+ private Integer solutionsStatus;
+
+
}
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/MemberInsurance.java b/server/service/src/main/java/com/doumee/dao/business/model/MemberInsurance.java
index 0ce8b72..6ff0df0 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/MemberInsurance.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/MemberInsurance.java
@@ -78,111 +78,91 @@
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "涓婚敭", example = "1")
- @ExcelColumn(name="涓婚敭")
private Integer id;
@ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
- @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
private Integer creator;
@ApiModelProperty(value = "鍒涘缓鏃堕棿")
- @ExcelColumn(name="鍒涘缓鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd")
private Date createDate;
@ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
- @ExcelColumn(name="鏇存柊浜虹紪鐮�")
private Integer editor;
@ApiModelProperty(value = "鏇存柊鏃堕棿")
- @ExcelColumn(name="鏇存柊鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd")
private Date editDate;
@ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
- @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
private Integer isdeleted;
@ApiModelProperty(value = "澶囨敞")
- @ExcelColumn(name="澶囨敞")
private String remark;
@ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
- @ExcelColumn(name="鎺掑簭鐮�")
private Integer sortnum;
@ApiModelProperty(value = "鎶曚繚鐢宠缂栫爜锛堝叧鑱攊nsurance_apply", example = "1")
- @ExcelColumn(name="鎶曚繚鐢宠缂栫爜锛堝叧鑱攊nsurance_apply")
private Integer applyId;
@ApiModelProperty(value = "浜哄憳缂栫爜锛堝叧鑱攎emeber锛�", example = "1")
- @ExcelColumn(name="浜哄憳缂栫爜锛堝叧鑱攎emeber锛�")
private Integer memberId;
@ApiModelProperty(value = "瀹為檯淇濋櫓鐢熸晥姝㈡湡")
- @ExcelColumn(name="瀹為檯淇濋櫓鐢熸晥姝㈡湡")
+ @ExcelColumn(name="淇濋櫓鐢熸晥姝㈡湡",index = 7)
private Date endTime;
@ApiModelProperty(value = "瀹為檯淇濋櫓鐢熸晥璧锋湡")
- @ExcelColumn(name="瀹為檯淇濋櫓鐢熸晥璧锋湡")
+ @ExcelColumn(name="淇濋櫓鐢熸晥璧锋湡",index = 6)
private Date startTime;
@ApiModelProperty(value = "韬唤璇佸彿鐮�")
- @ExcelColumn(name="韬唤璇佸彿鐮�")
private String idcardNo;
@ApiModelProperty(value = "鏂规涓婚敭", example = "1")
- @ExcelColumn(name="鏂规涓婚敭")
private Integer solutionId;
@ApiModelProperty(value = "娲鹃仯鍗曚綅缂栫爜锛堝叧鑱攄ispatch_unit)", example = "1")
- @ExcelColumn(name="娲鹃仯鍗曚綅缂栫爜锛堝叧鑱攄ispatch_unit)")
private Integer duId;
@ApiModelProperty(value = "宸ョ缂栫爜(鍏宠仈worktype)", example = "1")
- @ExcelColumn(name="宸ョ缂栫爜(鍏宠仈worktype)")
private Integer worktypeId;
@ApiModelProperty(value = "褰撳墠浜х敓璐圭敤", example = "1")
- @ExcelColumn(name="褰撳墠浜х敓璐圭敤")
private BigDecimal currentFee;
@ApiModelProperty(value = "璐圭敤", example = "1")
- @ExcelColumn(name="璐圭敤")
private BigDecimal fee;
@ApiModelProperty(value = "鎬у埆 0鐢� 1濂�", example = "1")
- @ExcelColumn(name="鎬у埆 0鐢� 1濂�")
+// @ExcelColumn(name="鎬у埆",valueMapping = "0=鐢�;1=濂�;")
private Integer sex;
@ApiModelProperty(value = "淇濆崟鍙�")
- @ExcelColumn(name="淇濆崟鍙�")
+ @ExcelColumn(name="淇濆崟鍙�",index = 2)
private String bdCode;
@ApiModelProperty(value = "鎵瑰崟鍙�")
- @ExcelColumn(name="鎵瑰崟鍙�")
+ @ExcelColumn(name="鎵瑰崟鍙�",index = 3)
private String pdCode;
@ApiModelProperty(value = "淇濋櫓鏂规鍚嶇О")
- @ExcelColumn(name="淇濋櫓鏂规鍚嶇О")
+ @ExcelColumn(name="淇濋櫓鏂规",index = 1)
private String solutionName;
@ApiModelProperty(value = "鎵瑰崟鐢宠缂栫爜", example = "1")
- @ExcelColumn(name="鎵瑰崟鐢宠缂栫爜")
private Integer applyChangeId;
@ApiModelProperty(value = "宸ョ鍚嶇О")
- @ExcelColumn(name="宸ョ鍚嶇О")
+ @ExcelColumn(name="宸ョ鍚嶇О",index = 5)
private String worktypeName;
@ApiModelProperty(value = "娲鹃仯鍗曚綅鍚嶇О")
- @ExcelColumn(name="娲鹃仯鍗曚綅鍚嶇О")
+ @ExcelColumn(name="娲鹃仯鍗曚綅",index = 4)
private String duName;
@ApiModelProperty(value = "鍏宠仈鏄庣粏涓婚敭", example = "1")
- @ExcelColumn(name="鍏宠仈鏄庣粏涓婚敭")
private Integer relationId;
// @ApiModelProperty(value = "鍏宠仈鏄庣粏绫诲瀷锛�0=鎶曚繚鐢宠锛�1=鍔犲噺淇�/鎹㈠巶", example = "1")
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/Notices.java b/server/service/src/main/java/com/doumee/dao/business/model/Notices.java
index c9dc43f..f19bab1 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/Notices.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/Notices.java
@@ -1,6 +1,9 @@
package com.doumee.dao.business.model;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.utils.Constants;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
@@ -69,15 +72,20 @@
@ApiModelProperty(value = "鍏宠仈瀵硅薄绫诲瀷")
@ExcelColumn(name="鍏宠仈瀵硅薄绫诲瀷")
- private String objType;
+ private Integer objType;
@ApiModelProperty(value = "鍏宠仈瀵硅薄鍚嶇О")
@ExcelColumn(name="鍏宠仈瀵硅薄鍚嶇О")
private String objName;
- @ApiModelProperty(value = "绫诲瀷 0骞冲彴娑堟伅 1浼佷笟娑堟伅")
- @ExcelColumn(name="绫诲瀷 0骞冲彴娑堟伅 1浼佷笟娑堟伅")
- private String type;
+ @ApiModelProperty(value = "绫诲瀷")
+ @ExcelColumn(name="绫诲瀷")
+ private Integer type;
+
+ @ApiModelProperty(value = "绫诲瀷鎻忚堪")
+ @TableField(exist = false)
+ private String typeDetail;
+
@ApiModelProperty(value = "鍏宠仈鍙傛暟1")
@ExcelColumn(name="鍏宠仈鍙傛暟1")
@@ -107,6 +115,10 @@
@ExcelColumn(name="鍏宠仈浼佷笟缂栫爜(鍏宠仈company锛�")
private Integer companyId;
+ @ApiModelProperty(value = "鍏宠仈浼佷笟鍚嶇О")
+ @TableField(exist = false)
+ private String companyName;
+
@ApiModelProperty(value = "骞冲彴 0骞冲彴娑堟伅 1浼佷笟娑堟伅", example = "1")
@ExcelColumn(name="骞冲彴 0骞冲彴娑堟伅 1浼佷笟娑堟伅")
private Integer palt;
@@ -119,4 +131,35 @@
@ExcelColumn(name="鏄惁宸茶 0鏈 1宸茶")
private Integer readed;
+ public Notices(){
+
+ }
+
+ /**
+ *
+ * @param noticeType 娑堟伅绫诲瀷
+ * @param palt 鏁版嵁骞冲彴 0骞冲彴娑堟伅 1浼佷笟娑堟伅
+ * @param objId 鍏宠仈瀵硅薄涓婚敭
+ * @param content 鏂规鍚嶇О/鍗曚綅鍚嶇О/寮�绁ㄩ噾棰�/鎶ユ浜�
+ * @param companyId 浼佷笟涓婚敭
+ */
+ public Notices(Constants.NoticeObjectType noticeObjectType,Integer palt, Integer objId, String content, Integer companyId,Constants.NoticeType noticeType){
+ this.createDate = new Date();
+ this.creator = userId ;
+ this.isdeleted = Constants.ZERO ;
+ this.title = noticeObjectType.getName();
+ this.objType = noticeObjectType.getKey();
+ this.objId = objId;
+ this.info = noticeObjectType.getInfo();
+ this.content = content;
+ this.status = Constants.ZERO;
+ this.readed = Constants.ZERO;
+ this.type = noticeType.getStatus();
+ this.companyId = companyId;
+ this.palt = palt ;
+ }
+
+
+
+
}
diff --git a/server/service/src/main/java/com/doumee/service/business/ApplyChagneDetailService.java b/server/service/src/main/java/com/doumee/service/business/ApplyChagneDetailService.java
index fd5eb99..5c2f247 100644
--- a/server/service/src/main/java/com/doumee/service/business/ApplyChagneDetailService.java
+++ b/server/service/src/main/java/com/doumee/service/business/ApplyChagneDetailService.java
@@ -90,7 +90,7 @@
PageData<ApplyChagneDetail> findPageForCompany(PageWrap<ApplyDetailPageDTO> pageWrap);
-
+ List<ApplyChagneDetail> findListForCompany(ApplyDetailPageDTO applyDetailPageDTO);
/**
* 鏉′欢缁熻
*
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChagneDetailServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChagneDetailServiceImpl.java
index a6e53bc..ef23ee2 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChagneDetailServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChagneDetailServiceImpl.java
@@ -232,6 +232,29 @@
return pageData;
}
+
+ @Override
+ public List<ApplyChagneDetail> findListForCompany(ApplyDetailPageDTO applyDetailPageDTO) {
+ MPJLambdaWrapper<ApplyChagneDetail> queryWrapper = new MPJLambdaWrapper<>();
+ queryWrapper.selectAll(ApplyChagneDetail.class);
+ queryWrapper.select("t2.name",ApplyChagneDetail::getWorkTypeName);
+ queryWrapper.select("t3.name",ApplyChagneDetail::getDuName);
+ queryWrapper.select("t4.name",ApplyChagneDetail::getOldWorkTypeName);
+ queryWrapper.select("t5.name",ApplyChagneDetail::getOldDuName);
+ queryWrapper.selectAs(Member::getName,ApplyChagneDetail::getMemberName);
+ queryWrapper.selectAs(Member::getSex,ApplyChagneDetail::getSex);
+ queryWrapper.selectAs(Member::getIdcardNo,ApplyChagneDetail::getMemberIdcardNo);
+ queryWrapper.leftJoin(Member.class,Member::getId,ApplyChagneDetail::getMemberId);
+ queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyChagneDetail::getWorktypeId);
+ queryWrapper.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyChagneDetail::getDuId);
+ queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyChagneDetail::getOldWorktypeId);
+ queryWrapper.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyChagneDetail::getOldDuId);
+ queryWrapper.in(CollectionUtils.isNotEmpty(applyDetailPageDTO.getTypes()),ApplyChagneDetail::getType,applyDetailPageDTO.getTypes());
+ queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getApplyChangId()),ApplyChagneDetail::getApplyChangeId,applyDetailPageDTO.getApplyChangId());
+ return applyChangeDetailJoinMapper.selectJoinList(ApplyChagneDetail.class, queryWrapper);
+ }
+
+
@Override
public long count(ApplyChagneDetail applyChagneDetail) {
QueryWrapper<ApplyChagneDetail> wrapper = new QueryWrapper<>(applyChagneDetail);
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
index 0d06fbd..2a99876 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
@@ -101,6 +101,8 @@
@Autowired
private SolutionsMapper solutionsMapper;
+ @Autowired
+ private NoticesMapper noticesMapper;
/**
* 骞冲彴閫�鍥炴姇淇�
* @param param
@@ -126,7 +128,7 @@
ApplyChange update = new ApplyChange();
update.setEditDate(new Date());
update.setEditor(user.getId());
- update.setStatus(Constants.ApplyChangeStatus.PALTFORM_CHECK_PASS_NO.getKey());
+ update.setStatus(Constants.ApplyChangeStatus.PLATFORM_AGREE.getKey());
update.setCheckDate(update.getEditDate());
update.setCheckInfo(param.getCheckInfo());
update.setCheckUserId(user.getId());
@@ -510,10 +512,23 @@
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
+ InsuranceApply insuranceApply = insuranceApplyMapper.selectById(model.getApplyId());
+ if(Objects.isNull(insuranceApply)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ if(insuranceApply.getIsdeleted().equals(Constants.ONE)){
+ throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"鏁版嵁宸插垹闄�,鏃犳硶杩涜璇ユ搷浣�");
+ }
+ Solutions solutions = solutionsMapper.selectById(insuranceApply.getSolutionId());
+ if(Objects.isNull(solutions)){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏈煡璇㈠埌鏂规淇℃伅");
+ }
+
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
Constants.ApplyLogType applyLogType = null;
String info = "";
ApplyChange update = new ApplyChange();
+ Constants.NoticeType noticeType = Constants.NoticeType.FOUR;
if(param.getDealBackApply() ==1){
//濡傛灉鏄┏鍥�,鍙兘鍙┏鍥炲凡绛剧珷鐘舵�佷笅鐨勯��鍥炵敵璇风姸鎬佽繘琛屾搷浣�
if(!Constants.equalsInteger(model.getStatus(),Constants.ApplyChangeStatus.RETURN_APPLY_SIGNATURE.getKey())){
@@ -522,12 +537,8 @@
applyLogType = Constants.ApplyLogType.CA_PALTFORM_REFUSE_APPLY;
info = applyLogType.getInfo();
info = info.replace("${param}", param.getCheckInfo());
-//
- if( Constants.equalsInteger(model.getStatus(),Constants.ApplyChangeStatus.RETURN_APPLY_SIGNATURE.getKey())){
- update.setStatus(Constants.ApplyChangeStatus.SIGNATURE.getKey());
- }else if( Constants.equalsInteger(model.getStatus(),Constants.ApplyChangeStatus.RETURN_APPLY_UPLOAD.getKey())){
- update.setStatus(Constants.ApplyChangeStatus.UPLOAD.getKey());
- }
+ update.setStatus(Constants.ApplyChangeStatus.SIGNATURE.getKey());
+ noticeType = Constants.NoticeType.FIVE;
}else{
//濡傛灉鏄悓鎰�,涓ょ鐢宠閫�鍥炵姸鎬侀兘鍙搷浣�
if(!(Constants.equalsInteger(model.getStatus(),Constants.ApplyChangeStatus.RETURN_APPLY_SIGNATURE.getKey())
@@ -537,6 +548,7 @@
update.setStatus(Constants.ApplyChangeStatus.PLATFORM_AGREE.getKey());
applyLogType = Constants.ApplyLogType.CA_PLATFORM_AGREE_BACK_APPLY;
}
+
update.setEditDate(new Date());
update.setEditor(user.getId());
//鍚屾剰閫�鍥烇紝鐩存帴鍥炲埌鏈�鍒濈姸鎬侊紝濡傛灉椹冲洖閫�鍥炵敵璇凤紝鍒欎繚鍗曠姸鎬佸洖鍒板緟涓婁紶淇濋櫓鍗�
@@ -545,6 +557,18 @@
update.setCheckUserId(user.getId());
update.setId(model.getId());
applyChangeMapper.updateById(update);
+
+
+ //瀛樺偍寰呭姙淇℃伅
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.APPLY_CHANGE;
+ if(model.getType().equals(Constants.ONE)){
+ noticeObjectType = Constants.NoticeObjectType.CHANGE_FACTORY;
+ }
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId()));
+ Notices notices = new Notices(noticeObjectType,Constants.ZERO,model.getId(),solutions.getName(),
+ model.getCompanyId(), noticeType);
+ noticesMapper.insert(notices);
ApplyLog log = new ApplyLog(update,applyLogType.getName(),info,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
applyLogMapper.insert(log);
@@ -568,7 +592,6 @@
if (!loginUserInfo.getType().equals(Constants.ONE)) {
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "鐢ㄦ埛绫诲瀷閿欒锛氶潪浼佷笟鐢ㄦ埛鏃犳硶杩涜璇ユ搷浣�");
}
- BigDecimal fee = BigDecimal.ZERO;
InsuranceApply insuranceApply = insuranceApplyMapper.selectById(applyChange.getApplyId());
if (Objects.isNull(insuranceApply)) {
@@ -606,12 +629,13 @@
applyChange.setStatus(Constants.ZERO);
applyChangeMapper.insert(applyChange);
- this.dealApplyChangeData(applyChange,insuranceApply,companySolution,solutions,loginUserInfo,fee);
+ BigDecimal fee = this.dealApplyChangeData(applyChange,insuranceApply,companySolution,solutions,loginUserInfo,BigDecimal.ZERO);
ApplyChange applyChangeFee = new ApplyChange();
applyChangeFee.setId(applyChange.getId());
applyChangeFee.setFee(fee);
applyChangeMapper.updateById(applyChangeFee);
+
this.saveApplyLog(applyChange,Constants.ApplyChangeLogStatus.UPLOAD,null);
return applyChange.getId();
@@ -640,7 +664,9 @@
if(Objects.isNull(dbApplyChange)){
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
- if(!dbApplyChange.getStatus().equals(Constants.ApplyChangeStatus.PLATFORM_AGREE.getKey())){
+ if(! (dbApplyChange.getStatus().equals(Constants.ApplyChangeStatus.PLATFORM_AGREE.getKey())
+ || dbApplyChange.getStatus().equals(Constants.ApplyChangeStatus.PALTFORM_CHECK_PASS_NO.getKey()) )
+ ){
throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "涓氬姟淇濈敵璇峰崟鐘舵�侀敊璇�");
}
@@ -676,12 +702,12 @@
applyChange.setEditDate(new Date());
applyChange.setEditor(loginUserInfo.getId());
+ applyChange.setApplyStartTime(applyChange.getValidTime());
applyChange.setStatus(Constants.ZERO);
- BigDecimal fee = BigDecimal.ZERO;
//鍒犻櫎鍘嗗彶鏁版嵁
applyChagneDetailJoinMapper.delete(new QueryWrapper<ApplyChagneDetail>().lambda().eq(ApplyChagneDetail::getApplyChangeId,applyChange.getId()));
- this.dealApplyChangeData(applyChange,insuranceApply,companySolution,solutions,loginUserInfo,fee);
+ BigDecimal fee = this.dealApplyChangeData(applyChange,insuranceApply,companySolution,solutions,loginUserInfo,BigDecimal.ZERO);
applyChange.setFee(fee);
applyChangeMapper.updateById(applyChange);
this.saveApplyLog(applyChange,Constants.ApplyChangeLogStatus.UPLOAD,null);
@@ -689,7 +715,7 @@
}
- public void dealApplyChangeData(ApplyChange applyChange,InsuranceApply insuranceApply,CompanySolution companySolution,Solutions solutions,LoginUserInfo loginUserInfo,BigDecimal fee){
+ public BigDecimal dealApplyChangeData(ApplyChange applyChange,InsuranceApply insuranceApply,CompanySolution companySolution,Solutions solutions,LoginUserInfo loginUserInfo,BigDecimal fee){
//鏌ヨ淇濋櫓鏂规涓嬬殑鎵�鏈夋淳閬e崟浣�
@@ -725,7 +751,7 @@
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "璇ヤ紒涓氬垎閰嶄繚闄╂柟妗堟棤娉曡繘琛屽姞淇�");
}
//鍔犱繚鏄庣粏鏁版嵁 璁$畻閲戦 鏍规嵁鎵瑰崟鏃堕棿 璁$畻
- applyChangeCyclePriceDTO.setValidTime(DateUtil.getMontageDate(insuranceApply.getStartTime(),1));
+ applyChangeCyclePriceDTO.setValidTime(DateUtil.getMontageDate(applyChange.getValidTime(),1));
CountCyclePriceVO countCyclePriceVO = this.getChangeCountCyclePriceVO(applyChangeCyclePriceDTO);
BigDecimal detailFee = countCyclePriceVO.getCyclePrice();
@@ -741,7 +767,7 @@
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "璇ヤ紒涓氬垎閰嶄繚闄╂柟妗堟棤娉曡繘琛屽噺淇�");
}
//鍑忎繚鏄庣粏鏁版嵁 璁$畻閲戦 鏍规嵁鎵瑰崟鏃堕棿 鍓嶄竴澶� 璁$畻
- applyChangeCyclePriceDTO.setValidTime(DateUtil.getMontageDate(insuranceApply.getStartTime(),3));
+ applyChangeCyclePriceDTO.setValidTime(DateUtil.getMontageDate(applyChange.getValidTime(),3));
CountCyclePriceVO countCyclePriceVO = this.getChangeCountCyclePriceVO(applyChangeCyclePriceDTO);
BigDecimal detailFee = countCyclePriceVO.getCyclePrice();
this.delChangeDetail(applyChange,delDetailList,insuranceApply,solutions,loginUserInfo,detailFee);
@@ -753,6 +779,7 @@
if (CollectionUtils.isNotEmpty(changeDetailList)) {
this.changeDetail(applyChange,changeDetailList,duWorktypeList,duSolutionList,loginUserInfo);
}
+ return fee;
}
@@ -798,6 +825,7 @@
if (applyChagneDetailJoinMapper.selectJoinCount(
new MPJLambdaWrapper<ApplyChagneDetail>()
.leftJoin(ApplyChange.class, ApplyChange::getId, ApplyChagneDetail::getApplyChangeId)
+ .eq(ApplyChange::getApplyId,applyChange.getApplyId())
.eq(ApplyChagneDetail::getMemberId, applyChagneDetail.getMemberId())
.in(ApplyChange::getStatus, Constants.ZERO, Constants.ONE)
) > Constants.ZERO) {
@@ -822,7 +850,7 @@
applyChagneDetail.setType(Constants.ONE);
applyChagneDetail.setStartTime(DateUtil.getMontageDate(applyDetail.getStartTime(),1));
- applyChagneDetail.setEndTime(DateUtil.getMontageDate(applyChange.getStartTime(),3));
+ applyChagneDetail.setEndTime(DateUtil.getMontageDate(applyChange.getApplyStartTime(),3));
applyChagneDetail.setFee( detailFee.multiply(new BigDecimal(-1)));
applyChagneDetailJoinMapper.insert(applyChagneDetail);
@@ -891,6 +919,7 @@
new MPJLambdaWrapper<ApplyChagneDetail>()
.leftJoin(ApplyChange.class, ApplyChange::getId, ApplyChagneDetail::getApplyChangeId)
.eq(ApplyChagneDetail::getMemberId, applyChagneDetail.getMemberId())
+ .eq(ApplyChange::getApplyId,applyChange.getApplyId())
.in(ApplyChange::getStatus, Constants.ZERO, Constants.ONE)
) > Constants.ZERO) {
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄧ敵璇蜂腑鐨勫姞鍑忎繚/鎹㈠巶鍗曟嵁");
@@ -963,10 +992,11 @@
List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectList(new QueryWrapper<ApplyDetail>().lambda()
.eq(ApplyDetail::getApplyId, applyChange.getApplyId())
.eq(ApplyDetail::getMemberId, applyChagneDetail.getMemberId())
- .le(ApplyDetail::getStartTime, DateUtil.getDate(new Date(),"yyyy-MM-dd HH:mm:ss"))
- .ge(ApplyDetail::getEndTime, DateUtil.getDate(new Date(),"yyyy-MM-dd HH:mm:ss")));
+ .ge(ApplyDetail::getEndTime, new Date()));
if(applyDetailList.size()>Constants.ONE){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鎹㈠巶浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戜繚鍗曚俊鎭紓甯革紝瀛樺湪澶氭潯鏁版嵁");
+ }else if(applyDetailList.size()==Constants.ZERO){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鎹㈠巶浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戞湭鏌ヨ鍒版姇淇濊褰�");
}
ApplyDetail applyDetail = applyDetailList.get(Constants.ZERO);
if(applyChange.getValidTime().compareTo( applyDetail.getEndTime())>0){
@@ -1128,7 +1158,7 @@
public void changeOpt(ApplyChangeOptDTO applyChangeOptDTO){
if(Objects.isNull(applyChangeOptDTO)
||Objects.isNull(applyChangeOptDTO.getApplyId())
- ||StringUtils.isBlank(applyChangeOptDTO.getOptIllustration())){
+ ){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
@@ -1144,11 +1174,20 @@
if(applyChange.getIsdeleted().equals(Constants.ONE)){
throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"鏁版嵁宸插垹闄�,鏃犳硶杩涜璇ユ搷浣�");
}
+ Solutions solutions = solutionsMapper.selectById(insuranceApply.getSolutionId());
+ if(Objects.isNull(solutions)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�");
+ }
+
Constants.ApplyChangeLogStatus applyChangeLogStatus = Constants.ApplyChangeLogStatus.RETURN_APPLY;
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.APPLY_CHANGE;
+ if(applyChange.getType().equals(Constants.ONE)){
+ noticeObjectType = Constants.NoticeObjectType.CHANGE_FACTORY;
+ }
if(applyChangeOptDTO.getOptType().equals(3)){
//鍙戣捣閫�鍥炵敵璇�
- if(loginUserInfo.getType().equals(Constants.ONE)){
+ if(!loginUserInfo.getType().equals(Constants.ONE)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炰紒涓氱鐢ㄦ埛鏃犳硶杩涜璇ユ搷浣�");
}
if(!(applyChange.getStatus().equals(Constants.ApplyChangeStatus.UPLOAD.getKey())
@@ -1161,6 +1200,14 @@
}else{
applyChange.setStatus(Constants.ApplyChangeStatus.RETURN_APPLY_SIGNATURE.getKey());
}
+
+ //瀛樺偍寰呭姙淇℃伅
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,applyChange.getId()));
+ Notices notices = new Notices(noticeObjectType,Constants.ZERO,applyChange.getId(),solutions.getName(),
+ applyChange.getCompanyId(), Constants.NoticeType.THREE);
+ noticesMapper.insert(notices);
+
}else if(applyChangeOptDTO.getOptType().equals(4)){
applyChangeLogStatus = Constants.ApplyChangeLogStatus.PLATFORM_AGREE;
@@ -1192,13 +1239,19 @@
}else if(applyChangeOptDTO.getOptType().equals(6)){
//浼佷笟鍏抽棴
applyChangeLogStatus = Constants.ApplyChangeLogStatus.CLOSE;
- if(loginUserInfo.getType().equals(Constants.ONE)){
+ if(!loginUserInfo.getType().equals(Constants.ONE)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炰紒涓氱鐢ㄦ埛鏃犳硶杩涜璇ユ搷浣�");
}
if(!applyChange.getStatus().equals(Constants.ApplyChangeStatus.PLATFORM_AGREE.getKey())){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�侀敊璇棤娉曡繘琛岃鎿嶄綔!");
}
applyChange.setStatus(Constants.ApplyChangeStatus.CLOSE.getKey());
+
+
+ //瀛樺偍寰呭姙淇℃伅
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,applyChange.getId()));
+
}else{
throw new BusinessException(ResponseStatus.BAD_REQUEST );
}
@@ -1326,6 +1379,14 @@
if(company== null || StringUtils.isBlank( company.getEmail()) || !Constants.equalsInteger(company.getSignStatus(),Constants.THREE)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝浼佷笟灏氭湭鍏峰鍦ㄧ嚎绛剧珷鏉′欢锛岃鑱旂郴骞冲彴绠$悊鍛樼‘璁");
}
+ InsuranceApply insuranceApply = insuranceApplyMapper.selectById(model.getApplyId());
+ if(Objects.isNull(insuranceApply)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇繚鍗曚俊鎭�");
+ }
+ Solutions solutions = solutionsMapper.selectById(insuranceApply.getSolutionId());
+ if(Objects.isNull(solutions)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�");
+ }
String fileUrl = null;
if(Constants.equalsObject(model.getType(), Constants.ONE)){
fileUrl = ExcelExporter.build(ApplyChange.class).exportChangeUnitExcelToPdf(model,"鎹㈠巶鐢宠琛�");
@@ -1349,6 +1410,8 @@
update.setSignApplyNo(applyNo);
applyChangeMapper.updateById(update);
+
+
return link;
}
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
index 078c04e..bc2c5db 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
@@ -8,10 +8,7 @@
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
-import com.doumee.dao.business.DispatchUnitMapper;
-import com.doumee.dao.business.DuLogMapper;
-import com.doumee.dao.business.DuSolutionMapper;
-import com.doumee.dao.business.DuWorktypeMapper;
+import com.doumee.dao.business.*;
import com.doumee.dao.business.dto.*;
import com.doumee.dao.business.join.DispatchUnitJoinMapper;
import com.doumee.dao.business.join.DuLogJoinMapper;
@@ -71,6 +68,9 @@
@Autowired
private SystemDictDataBiz systemDictDataBiz;
+ @Autowired
+ private NoticesMapper noticesMapper;
+
@Override
@Transactional(rollbackFor = {Exception.class,BusinessException.class})
public Integer checkWorktype(DispatchUnit param) {
@@ -126,6 +126,13 @@
//瀛樺偍鎿嶄綔鍘嗗彶
this.saveDuLog(update,Constants.DispatchUnitLogType.WORK_TYPE_AUDIT_UN_PASS,update.getCheckInfo());
}
+
+
+ //瀛樺偍寰呭姙淇℃伅
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.DISPATCH_UNIT;
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId()));
+
return 1;
}
@@ -263,6 +270,13 @@
//瀛樺偍鎿嶄綔鍘嗗彶
this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.AUDIT_UN_PASS,update.getCheckInfo());
}
+
+ //瀛樺偍寰呭姙淇℃伅
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.DISPATCH_UNIT;
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,dispatchUnit.getId()));
+
+
return 1;
}
@Override
@@ -356,6 +370,16 @@
duWorktypeMapper.insert(duWorktype);
}
}
+
+
+ //瀛樺偍寰呭姙淇℃伅
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.DISPATCH_UNIT;
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,dispatchUnit.getId()));
+ Notices notices = new Notices(noticeObjectType,Constants.ZERO,dispatchUnit.getId(),dispatchUnit.getName(),
+ dispatchUnit.getCompanyId(), Constants.NoticeType.ZERO);
+ noticesMapper.insert(notices);
+
return dispatchUnit.getId();
}
@@ -402,6 +426,15 @@
// this.dealDuData(saveDispatchUnitDTO,loginUserInfo);
+
+ //瀛樺偍寰呭姙淇℃伅
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.DISPATCH_UNIT;
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,dispatchUnit.getId()));
+ Notices notices = new Notices(noticeObjectType,Constants.ZERO,dispatchUnit.getId(),dispatchUnit.getName(),
+ dispatchUnit.getCompanyId(), Constants.NoticeType.ZERO);
+ noticesMapper.insert(notices);
+
return dispatchUnit.getId();
}
@@ -433,6 +466,15 @@
//瀛樺偍鎿嶄綔鍘嗗彶
this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.ADD_WORK_TYPE,null);
this.dealDuData(saveDispatchUnitDTO,loginUserInfo);
+
+ //瀛樺偍寰呭姙淇℃伅
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.DISPATCH_UNIT;
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,dispatchUnit.getId()));
+ Notices notices = new Notices(noticeObjectType,Constants.ZERO,dispatchUnit.getId(),dispatchUnit.getName(),
+ dispatchUnit.getCompanyId(), Constants.NoticeType.ONE);
+ noticesMapper.insert(notices);
+
return dispatchUnit.getId();
}
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
index c3e08a2..9da93db 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
@@ -96,6 +96,9 @@
@Autowired
private DuWorktypeMapper duWorktypeMapper;
+ @Autowired
+ private NoticesMapper noticesMapper;
+
@Override
@Transactional(rollbackFor = {Exception.class,BusinessException.class})
public Integer back(InsuranceApply insuranceApply) {
@@ -110,6 +113,12 @@
if(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
}
+
+ Solutions solutions = solutionsMapper.selectById(model.getSolutionId());
+ if(Objects.isNull(solutions)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�");
+ }
+
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
InsuranceApply update = new InsuranceApply();
update.setEditDate(new Date());
@@ -120,6 +129,15 @@
update.setCheckUserId(user.getId());
update.setId(model.getId());
insuranceApplyMapper.updateById(update);
+
+ //瀛樺偍寰呭姙淇℃伅
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY;
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,insuranceApply.getId()));
+ Notices notices = new Notices(noticeObjectType,Constants.ONE,insuranceApply.getId(),solutions.getName(),
+ model.getCompanyId(), Constants.NoticeType.FOUR);
+ noticesMapper.insert(notices);
+
Constants.ApplyLogType applyLogType = Constants.ApplyLogType.PLATFORM_RETURN;
String info =applyLogType.getInfo();
@@ -344,7 +362,10 @@
if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
-
+ Solutions solutions = solutionsMapper.selectById(model.getSolutionId());
+ if(Objects.isNull(solutions)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�");
+ }
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
Constants.ApplyLogType applyLogType = null;
String info = "";
@@ -384,6 +405,7 @@
update.setEditDate(new Date());
update.setSignApplyNo(applyNo);
insuranceApplyMapper.updateById(update);
+
return link;
}
public String uploadSignFile(String link){
@@ -418,6 +440,13 @@
update.setId(model.getId());
insuranceApplyMapper.updateById(update);
+ //瀛樺偍寰呭姙淇℃伅
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY;
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId()));
+ Notices notices = new Notices(noticeObjectType,Constants.ZERO,model.getId(),model.getSolutionsName(),model.getCompanyId(),Constants.NoticeType.TWO);
+ noticesMapper.insert(notices);
+
Multifile f = new Multifile();
f.setIsdeleted(Constants.ZERO);
f.setCreator(model.getCreator());
@@ -448,6 +477,17 @@
update.setCheckUserId(model.getCreator());
update.setId(model.getId());
applyChangeMapper.updateById(update);
+
+ //瀛樺偍寰呭姙淇℃伅
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.APPLY_CHANGE;
+ if(model.getType().equals(Constants.ONE)){
+ noticeObjectType = Constants.NoticeObjectType.CHANGE_FACTORY;
+ }
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId()));
+ Notices notices = new Notices(noticeObjectType,Constants.ONE,model.getId(),model.getSolutionsName(),
+ model.getCompanyId(), Constants.NoticeType.TWO);
+ noticesMapper.insert(notices);
Multifile f = new Multifile();
f.setIsdeleted(Constants.ZERO);
@@ -651,6 +691,11 @@
// info = info.replace("${param}", update.getCheckInfo());
ApplyLog log = new ApplyLog(update,applyLogType.getName(),StringUtils.isNotBlank(update.getCheckInfo())?info:"",update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
applyLogMapper.insert(log);
+
+ //鍒犻櫎鍏朵粬寰呭姙
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY;
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,insuranceApply.getId()));
+
return 1;
}
@@ -675,6 +720,11 @@
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
}
+ Solutions solutions = solutionsMapper.selectById(model.getSolutionId());
+ if(Objects.isNull(solutions)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�");
+ }
+
Constants.ApplyLogType applyLogType = null;
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
InsuranceApply update = new InsuranceApply();
@@ -684,15 +734,26 @@
update.setCheckInfo(insuranceApply.getCheckInfo());
update.setCheckUserId(user.getId());
update.setId(model.getId());
+ Constants.NoticeType noticeType = Constants.NoticeType.ONE;
if(insuranceApply.getDealBackApply() ==1){
//濡傛灉鏄笉閫氳繃
applyLogType = Constants.ApplyLogType.PLATFORM_RETURN ;
update.setStatus(Constants.InsuranceApplyStatus.PLATFORM_RETURN.getKey());
+
+ noticeType = Constants.NoticeType.FOUR;
}else{
applyLogType = Constants.ApplyLogType.PLATFORM_CHECK_PASS;
update.setStatus(Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey());
}
insuranceApplyMapper.updateById(update);
+
+ //瀛樺偍寰呭姙淇℃伅
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY;
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId()));
+ Notices notices = new Notices(noticeObjectType,Constants.ONE,model.getId(),solutions.getName(),model.getCompanyId(),noticeType);
+ noticesMapper.insert(notices);
+
String info =applyLogType.getInfo();
info = info.replace("${param}", update.getCheckInfo());
ApplyLog log = new ApplyLog(update,applyLogType.getName(),info,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
@@ -716,6 +777,10 @@
LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
if(!loginUserInfo.getType().equals(Constants.ONE)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛绫诲瀷閿欒锛氶潪浼佷笟鐢ㄦ埛鏃犳硶杩涜璇ユ搷浣�");
+ }
+ Solutions solutions = solutionsMapper.selectById(insuranceApply.getSolutionId());
+ if(Objects.isNull(solutions)){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏈煡璇㈠埌鏂规淇℃伅");
}
List<ApplyDetail> applyDetailList = insuranceApply.getApplyDetailList();
//鍒ゆ柇鏄惁瀛樺湪閲嶅淇℃伅
@@ -746,13 +811,22 @@
//澶勭悊涓嬬骇鏁版嵁
- this.dealApplyDetailData(insuranceApply,applyDetailList,loginUserInfo,countCyclePriceVO);
+ this.dealApplyDetailData(insuranceApply,solutions,applyDetailList,loginUserInfo,countCyclePriceVO);
InsuranceApply updBean = new InsuranceApply();
updBean.setId(insuranceApply.getId());
updBean.setFee(applyDetailList.stream().map(ApplyDetail::getFee).reduce(BigDecimal.ZERO,BigDecimal::add));
insuranceApplyMapper.updateById(updBean);
//瀛樺偍鏃ュ織鏁版嵁
this.saveApplyLog(insuranceApply,insuranceApplyStatus,null);
+ //鍙戦�佸緟鍔炰笟鍔�
+
+ //瀛樺偍寰呭姙淇℃伅
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY;
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,insuranceApply.getId()));
+ Notices notices = new Notices(noticeObjectType,Constants.ZERO,insuranceApply.getId(),solutions.getName(),insuranceApply.getCompanyId(),Constants.NoticeType.ZERO);
+ noticesMapper.insert(notices);
+
return insuranceApply.getId();
}
@@ -811,22 +885,33 @@
insuranceApply.setEndTime(countCyclePriceVO.getEndDate());
applyDetailMapper.delete(new QueryWrapper<ApplyDetail>().lambda().eq(ApplyDetail::getApplyId,insuranceApply.getId()));
+
+ Solutions solutions = solutionsMapper.selectById(insuranceApply.getSolutionId());
+ if(Objects.isNull(solutions)){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏈煡璇㈠埌鏂规淇℃伅");
+ }
+
//澶勭悊涓嬬骇鏁版嵁
- this.dealApplyDetailData(insuranceApply,applyDetailList,loginUserInfo,countCyclePriceVO);
+ this.dealApplyDetailData(insuranceApply,solutions,applyDetailList,loginUserInfo,countCyclePriceVO);
insuranceApply.setFee(applyDetailList.stream().map(ApplyDetail::getFee).reduce(BigDecimal.ZERO,BigDecimal::add));
insuranceApplyMapper.updateById(insuranceApply);
//瀛樺偍鏃ュ織鏁版嵁
this.saveApplyLog(insuranceApply,insuranceApplyStatus,null);
+
+
+ //瀛樺偍寰呭姙淇℃伅
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY;
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,insuranceApply.getId()));
+ Notices notices = new Notices(noticeObjectType,Constants.ZERO,insuranceApply.getId(),solutions.getName(),insuranceApply.getCompanyId(),Constants.NoticeType.ZERO);
+ noticesMapper.insert(notices);
+
return insuranceApply.getId();
}
- public void dealApplyDetailData(InsuranceApply insuranceApply,List<ApplyDetail> applyDetailList,LoginUserInfo loginUserInfo,CountCyclePriceVO countCyclePriceVO){
- Solutions solutions = solutionsMapper.selectById(insuranceApply.getSolutionId());
- if(Objects.isNull(solutions)){
- throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏈煡璇㈠埌鏂规淇℃伅");
- }
+ public void dealApplyDetailData(InsuranceApply insuranceApply,Solutions solutions,List<ApplyDetail> applyDetailList,LoginUserInfo loginUserInfo,CountCyclePriceVO countCyclePriceVO){
//鏌ヨ淇濋櫓鏂规涓嬬殑鎵�鏈夋淳閬e崟浣�
List<DuSolution> duSolutionList = duSolutionJoinMapper.selectJoinList(DuSolution.class,new MPJLambdaWrapper<DuSolution>()
.selectAll(DuSolution.class)
@@ -1331,8 +1416,14 @@
if(insuranceApply.getIsdeleted().equals(Constants.ONE)){
throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"鏁版嵁宸插垹闄�,鏃犳硶杩涜璇ユ搷浣�");
}
+ Solutions solutions = solutionsMapper.selectById(insuranceApply.getSolutionId());
+ if(Objects.isNull(solutions)){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏈煡璇㈠埌鏂规淇℃伅");
+ }
+
//-----TODU-------RJ-------瀹屽杽閫�鍥炵姸鎬佸垎寮�鏍囪------------------
Constants.InsuranceApplyStatus insuranceApplyStatus = Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_SIGNATURE;
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY;
if(insuranceApplyOptDTO.getOptType().equals(Constants.ONE)){
if(!(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.UPLOAD.getKey())
||insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey())
@@ -1346,6 +1437,15 @@
}else if(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.SIGNATURE.getKey())){
insuranceApplyStatus = Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_SIGNATURE;
}
+
+ //瀛樺偍寰呭姙淇℃伅
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,insuranceApply.getId()));
+ Notices notices = new Notices(noticeObjectType,Constants.ONE,insuranceApply.getId(),solutions.getName(),
+ insuranceApply.getCompanyId(), Constants.NoticeType.THREE);
+ noticesMapper.insert(notices);
+
+
}else if(insuranceApplyOptDTO.getOptType().equals(Constants.TWO)){
insuranceApplyStatus = Constants.InsuranceApplyStatus.CLOSE;
if(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.CLOSE.getKey())){
@@ -1356,6 +1456,8 @@
||insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey()))){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�侀潪鍙敵璇烽��鍥�!");
}
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,insuranceApply.getId()));
}
insuranceApply.setStatus(insuranceApplyStatus.getKey());
insuranceApply.setCheckDate(new Date());
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index a81f8fe..5f1c94c 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -181,6 +181,7 @@
.selectAs(DispatchUnit::getName,Member::getDuName)
.selectAs(Worktype::getName,Member::getWorkTypeName)
.selectAs(Solutions::getName,Member::getSolutionName)
+ .select(" case when now() between t.start_time and t.end_time then 1 else 0 end solutionsStatus ")
.leftJoin(InsuranceApply.class,InsuranceApply::getId,Member::getApplyId)
.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
.leftJoin(DispatchUnit.class,DispatchUnit::getId,Member::getDuId)
@@ -191,15 +192,9 @@
.like(StringUtils.isNotBlank(memberQueryDTO.getIdCard()),Member::getIdcardNo, memberQueryDTO.getIdCard())
.eq(!Objects.isNull(memberQueryDTO.getDuId()),Member::getDuId, memberQueryDTO.getDuId())
.eq(!Objects.isNull(memberQueryDTO.getSolutionsId()),Solutions::getId, memberQueryDTO.getSolutionsId())
- .ge(!Objects.isNull(memberQueryDTO.getSolutionsStatus())&&!memberQueryDTO.getSolutionsStatus().equals(Constants.ZERO),
- Member::getStartTime, DateUtil.getDate(new Date(),"yyyy-MM-dd")+" 00:00:00")
- .le(!Objects.isNull(memberQueryDTO.getSolutionsStatus())&&memberQueryDTO.getSolutionsStatus().equals(Constants.ONE),
- Member::getEndTime, DateUtil.getDate(new Date(),"yyyy-MM-dd")+" 23:59:59")
- .ge(!Objects.isNull(memberQueryDTO.getSolutionsStatus())&&memberQueryDTO.getSolutionsStatus().equals(Constants.TWO),
- Member::getEndTime, DateUtil.getDate(new Date(),"yyyy-MM-dd")+" 23:59:59")
+ .apply(!Objects.isNull(memberQueryDTO.getSolutionsStatus())&&memberQueryDTO.getSolutionsStatus().equals(Constants.ONE),"now() between t.start_time and t.end_time")
+ .apply(!Objects.isNull(memberQueryDTO.getSolutionsStatus())&&memberQueryDTO.getSolutionsStatus().equals(Constants.TWO),"now() > t.end_time")
;
-
-
for(PageWrap.SortData sortData: pageWrap.getSorts()) {
if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
queryWrapper.orderByDesc(sortData.getProperty());
@@ -220,15 +215,20 @@
@Override
public List<Member> findListByDTO(MemberQueryDTO memberQueryDTO) {
- MPJLambdaWrapper<Member> lambdaWrapper = new MPJLambdaWrapper<Member>()
- .selectAll(Member.class)
+ MPJLambdaWrapper<Member> lambdaWrapper = new MPJLambdaWrapper<Member>();
+ lambdaWrapper.selectAll(Member.class)
.selectAs(DispatchUnit::getName,Member::getDuName)
.selectAs(Worktype::getName,Member::getWorkTypeName)
+ .selectAs(Company::getName,Member::getCompanyName)
+ .select(" case when now() between t.start_time and t.end_time then 1 else 2 end solutionsStatus ")
.leftJoin(DispatchUnit.class,DispatchUnit::getId,Member::getDuId)
.leftJoin(Worktype.class,Worktype::getId,Member::getWorktypeId)
+ .leftJoin(Company.class,Company::getId,Member::getCompanyId)
.notIn(CollectionUtils.isNotEmpty(memberQueryDTO.getMemberIds()),Member::getId,memberQueryDTO.getMemberIds())
.eq(!Objects.isNull(memberQueryDTO.getCompanyId()),Member::getCompanyId,memberQueryDTO.getCompanyId())
.eq(Member::getIsdeleted, Constants.ZERO)
+ .apply(!Objects.isNull(memberQueryDTO.getSolutionsStatus())&&memberQueryDTO.getSolutionsStatus().equals(Constants.ONE),"now() between t.start_time and t.end_time")
+ .apply(!Objects.isNull(memberQueryDTO.getSolutionsStatus())&&memberQueryDTO.getSolutionsStatus().equals(Constants.TWO),"now() > t.end_time")
.like(StringUtils.isNotBlank(memberQueryDTO.getName()),Member::getName, memberQueryDTO.getName())
.notExists(!Objects.isNull(memberQueryDTO.getNotInInsuranceApplyId()),
" select 1 from apply_detail ad where ad.apply_id = "+memberQueryDTO.getNotInInsuranceApplyId()+" and ad.END_TIME > now() and ad.isdeleted = 0 " +
@@ -238,6 +238,7 @@
.selectAll(Member.class)
.selectAs(DispatchUnit::getName,Member::getDuName)
.selectAs(Worktype::getName,Member::getWorkTypeName)
+ .selectAs(Company::getName,Member::getCompanyName)
.leftJoin(ApplyDetail.class,ApplyDetail::getMemberId,Member::getId)
.leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId)
.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyDetail::getDuId)
@@ -248,8 +249,7 @@
" select 1 from apply_detail ad where ad.apply_id = "+memberQueryDTO.getInsuranceApplyId()+" and ad.END_TIME > now() and ad.isdeleted = 0 " +
" and ad.member_id = t.id ");
}
- List<Member> memberList = memberJoinMapper.selectJoinList(Member.class,lambdaWrapper
- );
+ List<Member> memberList = memberJoinMapper.selectJoinList(Member.class,lambdaWrapper);
return memberList;
}
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/NoticesServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/NoticesServiceImpl.java
index 56982c7..23965eb 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/NoticesServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/NoticesServiceImpl.java
@@ -2,18 +2,23 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.NoticesMapper;
+import com.doumee.dao.business.join.NoticesJoinMapper;
+import com.doumee.dao.business.model.ApplyChagneDetail;
+import com.doumee.dao.business.model.Company;
+import com.doumee.dao.business.model.InsuranceApply;
import com.doumee.dao.business.model.Notices;
import com.doumee.service.business.NoticesService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
-
import java.util.List;
/**
@@ -25,7 +30,7 @@
public class NoticesServiceImpl implements NoticesService {
@Autowired
- private NoticesMapper noticesMapper;
+ private NoticesJoinMapper noticesMapper;
@Override
public Integer create(Notices notices) {
@@ -87,90 +92,51 @@
@Override
public PageData<Notices> findPage(PageWrap<Notices> pageWrap) {
IPage<Notices> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
- QueryWrapper<Notices> queryWrapper = new QueryWrapper<>();
+ MPJLambdaWrapper<Notices> queryWrapper = new MPJLambdaWrapper<>();
Utils.MP.blankToNull(pageWrap.getModel());
- if (pageWrap.getModel().getId() != null) {
- queryWrapper.lambda().eq(Notices::getId, pageWrap.getModel().getId());
- }
- if (pageWrap.getModel().getCreator() != null) {
- queryWrapper.lambda().eq(Notices::getCreator, pageWrap.getModel().getCreator());
- }
- if (pageWrap.getModel().getCreateDate() != null) {
- queryWrapper.lambda().ge(Notices::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
- queryWrapper.lambda().le(Notices::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
- }
- if (pageWrap.getModel().getEditor() != null) {
- queryWrapper.lambda().eq(Notices::getEditor, pageWrap.getModel().getEditor());
- }
- if (pageWrap.getModel().getEditDate() != null) {
- queryWrapper.lambda().ge(Notices::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
- queryWrapper.lambda().le(Notices::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
- }
+ queryWrapper.selectAll(Notices.class);
+ queryWrapper.selectAs(Company::getName,Notices::getCompanyName);
+ queryWrapper.leftJoin(Company.class,Company::getId,Notices::getCompanyId);
if (pageWrap.getModel().getIsdeleted() != null) {
- queryWrapper.lambda().eq(Notices::getIsdeleted, pageWrap.getModel().getIsdeleted());
- }
- if (pageWrap.getModel().getRemark() != null) {
- queryWrapper.lambda().eq(Notices::getRemark, pageWrap.getModel().getRemark());
- }
- if (pageWrap.getModel().getTitle() != null) {
- queryWrapper.lambda().eq(Notices::getTitle, pageWrap.getModel().getTitle());
- }
- if (pageWrap.getModel().getInfo() != null) {
- queryWrapper.lambda().eq(Notices::getInfo, pageWrap.getModel().getInfo());
- }
- if (pageWrap.getModel().getContent() != null) {
- queryWrapper.lambda().eq(Notices::getContent, pageWrap.getModel().getContent());
- }
- if (pageWrap.getModel().getObjId() != null) {
- queryWrapper.lambda().eq(Notices::getObjId, pageWrap.getModel().getObjId());
+ queryWrapper.eq(Notices::getIsdeleted, pageWrap.getModel().getIsdeleted());
}
if (pageWrap.getModel().getObjType() != null) {
- queryWrapper.lambda().eq(Notices::getObjType, pageWrap.getModel().getObjType());
- }
- if (pageWrap.getModel().getObjName() != null) {
- queryWrapper.lambda().eq(Notices::getObjName, pageWrap.getModel().getObjName());
+ queryWrapper.eq(Notices::getObjType, pageWrap.getModel().getObjType());
}
if (pageWrap.getModel().getType() != null) {
- queryWrapper.lambda().eq(Notices::getType, pageWrap.getModel().getType());
- }
- if (pageWrap.getModel().getParam1() != null) {
- queryWrapper.lambda().eq(Notices::getParam1, pageWrap.getModel().getParam1());
- }
- if (pageWrap.getModel().getParam2() != null) {
- queryWrapper.lambda().eq(Notices::getParam2, pageWrap.getModel().getParam2());
- }
- if (pageWrap.getModel().getParam3() != null) {
- queryWrapper.lambda().eq(Notices::getParam3, pageWrap.getModel().getParam3());
- }
- if (pageWrap.getModel().getParam4() != null) {
- queryWrapper.lambda().eq(Notices::getParam4, pageWrap.getModel().getParam4());
- }
- if (pageWrap.getModel().getParam5() != null) {
- queryWrapper.lambda().eq(Notices::getParam5, pageWrap.getModel().getParam5());
- }
- if (pageWrap.getModel().getUserId() != null) {
- queryWrapper.lambda().eq(Notices::getUserId, pageWrap.getModel().getUserId());
+ queryWrapper.eq(Notices::getType, pageWrap.getModel().getType());
}
if (pageWrap.getModel().getCompanyId() != null) {
- queryWrapper.lambda().eq(Notices::getCompanyId, pageWrap.getModel().getCompanyId());
+ queryWrapper.eq(Notices::getCompanyId, pageWrap.getModel().getCompanyId());
}
if (pageWrap.getModel().getPalt() != null) {
- queryWrapper.lambda().eq(Notices::getPalt, pageWrap.getModel().getPalt());
+ queryWrapper.eq(Notices::getPalt, pageWrap.getModel().getPalt());
}
if (pageWrap.getModel().getStatus() != null) {
- queryWrapper.lambda().eq(Notices::getStatus, pageWrap.getModel().getStatus());
+ queryWrapper.eq(Notices::getStatus, pageWrap.getModel().getStatus());
}
if (pageWrap.getModel().getReaded() != null) {
- queryWrapper.lambda().eq(Notices::getReaded, pageWrap.getModel().getReaded());
+ queryWrapper.eq(Notices::getReaded, pageWrap.getModel().getReaded());
}
- for(PageWrap.SortData sortData: pageWrap.getSorts()) {
- if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
- queryWrapper.orderByDesc(sortData.getProperty());
- } else {
- queryWrapper.orderByAsc(sortData.getProperty());
+ if(CollectionUtils.isNotEmpty(pageWrap.getSorts())){
+ for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+ if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+ queryWrapper.orderByDesc(sortData.getProperty());
+ } else {
+ queryWrapper.orderByAsc(sortData.getProperty());
+ }
}
+ }else{
+ queryWrapper.orderByDesc(Notices::getCreateDate);
}
- return PageData.from(noticesMapper.selectPage(page, queryWrapper));
+
+ PageData<Notices> pageData = PageData.from(noticesMapper.selectJoinPage(page,Notices.class, queryWrapper));
+ pageData.getRecords().forEach(i->{
+ i.setTypeDetail(
+ Constants.NoticeType.getDetail(i.getObjType(),i.getType())
+ );
+ });
+ return pageData;
}
@Override
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java
index d9e8421..5a501ce 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java
@@ -10,6 +10,7 @@
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.NoticesMapper;
import com.doumee.dao.business.SettleClaimsLogMapper;
import com.doumee.dao.business.SettleClaimsMapper;
import com.doumee.dao.business.dto.SCSupplementDTO;
@@ -67,6 +68,8 @@
@Autowired
private SettleClaimsLogJoinMapper settleClaimsLogJoinMapper;
+ @Autowired
+ private NoticesMapper noticesMapper;
/**
* 鍒犻櫎闄勪欢
* @return
@@ -117,6 +120,12 @@
update.setStatus(Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey());
settleClaimsMapper.updateById(update);
+
+ //瀛樺偍寰呭姙淇℃伅
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.SETTLE_CLAIMS;
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId()));
+
Constants.SettleClaimsLogType applyLogType = Constants.SettleClaimsLogType.PLATFORM_RETURN;
String info =applyLogType.getInfo();
info = info.replace("${param}", update.getCheckInfo());
@@ -155,6 +164,12 @@
update.setId(model.getId());
update.setStatus(Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey());
settleClaimsMapper.updateById(update);
+
+
+ //瀛樺偍寰呭姙淇℃伅
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.SETTLE_CLAIMS;
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId()));
Constants.SettleClaimsLogType applyLogType = Constants.SettleClaimsLogType.PLATFORM_CONFIRM_INFORMATION;
String info =applyLogType.getInfo();
@@ -239,6 +254,14 @@
update.setScClaimAccount(Constants.formatBigdecimal(param.getScClaimAccount()));
update.setClaimAccount(update.getYlClaimAccount().add(update.getSwClaimAccount()).add(update.getScClaimAccount()).add(update.getWgClaimAccount()));
settleClaimsMapper.updateById(update);
+
+ //瀛樺偍寰呭姙淇℃伅
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.SETTLE_CLAIMS;
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId()));
+ Notices notices = new Notices(noticeObjectType,Constants.ONE,model.getId(),model.getInformantName(),
+ model.getCompanyId(), Constants.NoticeType.ONE);
+ noticesMapper.insert(notices);
Constants.SettleClaimsLogType applyLogType = Constants.SettleClaimsLogType.PLATFORM_FINISH;
String info =applyLogType.getInfo();
@@ -385,6 +408,17 @@
}
//璁板綍鏃ュ織
this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.UPLOAD,null);
+
+
+ //瀛樺偍寰呭姙淇℃伅
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.SETTLE_CLAIMS;
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,settleClaims.getId()));
+ Notices notices = new Notices(noticeObjectType,Constants.ZERO,settleClaims.getId(),settleClaims.getInformantName(),
+ settleClaims.getCompanyId(), Constants.NoticeType.ZERO);
+ noticesMapper.insert(notices);
+
+
return settleClaims.getId();
}
@@ -555,6 +589,7 @@
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏃犳硶淇敼鏂规淇℃伅");
}
if(!(oldSettleClaims.getStatus().equals(Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey())
+ || oldSettleClaims.getStatus().equals(Constants.SettleClaimsStatus.DEAL_ING.getKey())
|| oldSettleClaims.getStatus().equals(Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey()))){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠鐘舵�佹棤娉曡繘琛岃鎿嶄綔");
}
@@ -593,6 +628,7 @@
}
SettleClaims settleClaims = settleClaimsMapper.selectById(scSupplementDTO.getId());
if(!(settleClaims.getStatus().equals(Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey())
+ || settleClaims.getStatus().equals(Constants.SettleClaimsStatus.DEAL_ING.getKey())
|| settleClaims.getStatus().equals(Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey()))){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠鐘舵�佹棤娉曡繘琛岃鎿嶄綔");
}
@@ -624,6 +660,7 @@
SettleClaims settleClaims = settleClaimsMapper.selectById(scSupplementDTO.getId());
if(!(settleClaims.getStatus().equals(Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey())
+ || settleClaims.getStatus().equals(Constants.SettleClaimsStatus.DEAL_ING.getKey())
|| settleClaims.getStatus().equals(Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey()))){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠鐘舵�佹棤娉曡繘琛岃鎿嶄綔");
}
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java
index b81bc0a..c744882 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java
@@ -8,10 +8,7 @@
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
-import com.doumee.dao.business.CompanyMapper;
-import com.doumee.dao.business.SolutionsMapper;
-import com.doumee.dao.business.TaxDetialMapper;
-import com.doumee.dao.business.TaxesMapper;
+import com.doumee.dao.business.*;
import com.doumee.dao.business.dto.DirectInvoicingDTO;
import com.doumee.dao.business.dto.DirectInvoicingDetailDTO;
import com.doumee.dao.business.dto.EntrustInvoicingDTO;
@@ -67,7 +64,8 @@
private ApplyChangeJoinMapper applyChangeJoinMapper;
@Autowired
private SolutionsMapper solutionsMapper;
-
+ @Autowired
+ private NoticesMapper noticesMapper;
@Override
public Integer create(Taxes taxes) {
taxesMapper.insert(taxes);
@@ -118,6 +116,10 @@
}
}
}
+ //瀛樺偍寰呭姙淇℃伅
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.TAXES;
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId()));
}
private List<TaxDetial> getDetailListById(Integer id) {
@@ -150,6 +152,8 @@
queryWrapper.leftJoin(Taxes.class,Taxes::getId,TaxDetial::getDelTaxId);
queryWrapper.eq( TaxDetial::getTaxId,id);
List<TaxDetial> detialList = taxDetailJoinMapper.selectJoinList(TaxDetial.class,queryWrapper.orderByAsc(TaxDetial::getType));
+
+
return detialList;
}
@@ -184,6 +188,12 @@
update.setDoneDate(update.getEditDate());
update.setImgurl(taxes.getImgurl());
taxesMapper.updateById(update);
+
+ //瀛樺偍寰呭姙淇℃伅
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.TAXES;
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,taxes.getId()));
+
}
@Override
@@ -430,6 +440,17 @@
taxDetial.setType(Constants.ZERO);
}
taxDetailJoinMapper.insertBatchSomeColumn(taxDetialList);
+
+
+ //瀛樺偍寰呭姙淇℃伅
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.TAXES;
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,taxes.getId()));
+ Notices notices = new Notices(noticeObjectType,Constants.ZERO,taxes.getId(),taxes.getPrice().toString(),
+ taxes.getCompanyId(), Constants.NoticeType.ZERO);
+ noticesMapper.insert(notices);
+
+
}
@@ -622,43 +643,14 @@
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏃犲彲寮�绁ㄦ暟鎹紝鎿嶄綔澶辫触");
}
+ //瀛樺偍寰呭姙淇℃伅
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.TAXES;
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,taxes.getId()));
+ Notices notices = new Notices(noticeObjectType,Constants.ZERO,taxes.getId(),taxes.getPrice().toString(),
+ taxes.getCompanyId(), Constants.NoticeType.ZERO);
+ noticesMapper.insert(notices);
-// List<DirectInvoicingDetailDTO> directInvoicingDetailDTOList = directInvoicingDTO.getDirectInvoicingDetailDTOList();
-// for (DirectInvoicingDetailDTO directInvoicingDetailDTO:directInvoicingDetailDTOList) {
-// if(Objects.isNull(directInvoicingDetailDTO)
-// || Objects.isNull(directInvoicingDetailDTO.getId())
-// || Objects.isNull(directInvoicingDetailDTO.getType())
-// || Objects.isNull(directInvoicingDetailDTO.getFee())
-// ){
-// throw new BusinessException(ResponseStatus.BAD_REQUEST);
-// }
-//
-// if(directInvoicingDetailDTO.getType().equals(Constants.ZERO)){
-// //淇濆崟
-// InsuranceApply insuranceApply = insuranceApplyJoinMapper.selectJoinOne(InsuranceApply.class,
-// new MPJLambdaWrapper<InsuranceApply>()
-// .selectAll(InsuranceApply.class)
-// .selectAs(Solutions::getName,InsuranceApply::getSolutionsName)
-// .select(" ( select count(1) from apply_detail ad where ad.apply_id = t.id ) as insureNum")
-// .notExists(" select 1 from taxes t1 inner join tax_detial t2 on t1.id = t2.tax_id where t2.type = 0 and t1.status != 2 and t.id = t2.INSURANCE_APPLY_ID ")
-// .eq(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())
-// .eq(InsuranceApply::getId,directInvoicingDetailDTO.getId())
-// );
-// if(Objects.isNull(insuranceApply)){
-// throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"淇濆崟鍙枫��"+insuranceApply.getCode()+"銆戞湭鏌ヨ鍒颁繚鍗曚俊鎭�");
-// }
-//
-//
-//
-// }else if(directInvoicingDetailDTO.getType().equals(Constants.ZERO)){
-// //鍔犲噺淇�
-// }else{
-// //鍐茬孩鍗�
-// }
-//
-//
-// }
-// taxDetailJoinMapper.insertBatchSomeColumn(taxDetialList);
}
--
Gitblit v1.9.3