Merge remote-tracking branch 'origin/master'
| | |
| | | export function updateById (data) { |
| | | return request.post('/business/applyChange/updateById', data) |
| | | } |
| | | |
| | | // æ°å»º |
| | | export function create (data) { |
| | | return request.post('/business/applyChange/create', data) |
| | | } |
| | | |
| | | // æ°å»º |
| | | export function getChangeCountCyclePriceVO (data) { |
| | | return request.post('/business/applyChange/getChangeCountCyclePriceVO', data) |
| | | } |
| | |
| | | > |
| | | <div class="desc"> |
| | | <div class="desc_item"> |
| | | <div class="desc_item_label" v-if="model.statusCollect === 2 || model.statusCollect === 3"> |
| | | <div class="desc_item_label_left"> |
| | | <span>ä¿é©å°æè¿æ <b style="color: #F95601;">{{model.loseEfficacyDays ? model.loseEfficacyDays : '-'}}</b> 天</span> |
| | | <el-button type="primary" v-if="model.statusCollect === 2 || model.statusCollect === 3" @click="$refs.OperaInsuranceApply.open('æä¿ç³è¯·', { id: dataId })">ä¸é®ç»ä¿</el-button> |
| | | <el-button type="primary" v-if="model.statusCollect === 2" @click="$refs.additionSubtractionApplication.open('å åä¿ç³è¯·', { id: dataId })">å åä¿ç³è¯·</el-button> |
| | | <el-button type="primary" v-if="model.statusCollect === 2" @click="$refs.factoryChange.open('æ¢åç³è¯·', { id: dataId })">æ¢åç³è¯·</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="desc_item_label"> |
| | | <div class="desc_item_label_left"> |
| | | <span>æä¿ä¼ä¸ï¼{{ model.companyName }}</span> |
| | |
| | | <el-button v-if="model.status != 5 && model.status != 4 && model.status != 1" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('éåæä¿',model,1)">éåæä¿</el-button> |
| | | <el-button v-if="model.status == 5" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('ä¿®æ¹ä¿é©å',model,4)">ä¿®æ¹ä¿é©å</el-button> |
| | | </template> |
| | | |
| | | |
| | | </div> |
| | | </div> |
| | | <div class="desc_item_from"> |
| | |
| | | <applyReturn ref="applyReturn" @success="successEvent" /> |
| | | <!-- æ°å¢æä¿ --> |
| | | <OperaInsuranceApply ref="OperaInsuranceApply" @success="successEvent" /> |
| | | <!-- å åä¿ç³è¯· --> |
| | | <additionSubtractionApplication ref="additionSubtractionApplication" @success="successEvent" /> |
| | | <!-- æ¢åç³è¯· --> |
| | | <factoryChange ref="factoryChange" @success="successEvent" /> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import InsuranceDetails from '@/components/business/InsuranceDetails' |
| | | import OperaInsuranceApplyCheckWindow from '@/components/business/OperaInsuranceApplyCheckWindow' |
| | | import additionSubtractionApplication from '@/components/enterprise/additionSubtractionApplication' |
| | | import factoryChange from '@/components/enterprise/factoryChange' |
| | | |
| | | import applyReturn from '@/components/enterprise/applyReturn' |
| | | import { getDetail, getSignLink, applyDetailPage, applyChagneDetailPage, exportExcel, applyChagneDetailExcel } from "@/api/business/insuranceApply"; |
| | |
| | | export default { |
| | | name: 'OperaInsuranceApplyWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow, InsuranceDetails ,OperaInsuranceApplyCheckWindow, applyReturn, OperaInsuranceApply }, |
| | | components: { |
| | | GlobalWindow, |
| | | InsuranceDetails, |
| | | OperaInsuranceApplyCheckWindow, |
| | | applyReturn, |
| | | OperaInsuranceApply, |
| | | additionSubtractionApplication, |
| | | factoryChange |
| | | }, |
| | | data () { |
| | | return { |
| | | // è¡¨åæ°æ® |
| | |
| | | this.form.applyStartTime = '' |
| | | this.form.applyEndTime = '' |
| | | if (target && target.id) { |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | this.form.id = target.id |
| | | this.getDetails() |
| | | }) |
| | | } else { |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <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}"> |
| | | <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> |
| | | </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 { create, getChangeCountCyclePriceVO } from '@/api/business/applyChange' |
| | | export default { |
| | | name: 'additionSubtractionApplication', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow, selectEmployees, addEmployee, importEmployees, confirmJobType }, |
| | | data () { |
| | | return { |
| | | form: { |
| | | id: null, |
| | | 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.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() { |
| | | // findList({ applyId: this.form.id }) |
| | | // .then(res => { |
| | | // res.forEach(item => { |
| | | // item.idCard = item.idcardNo |
| | | // item.fee = '' |
| | | // }) |
| | | // this.tableData = 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 |
| | | }) |
| | | } else { |
| | | this.form.delDetailList.forEach(item => { |
| | | total += item.fee |
| | | }) |
| | | } |
| | | sums[index] = '-' + total |
| | | return |
| | | } |
| | | }) |
| | | 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('请å®åå ä¿æ´¾é£åä½åå·¥ç§ä¿¡æ¯') |
| | | 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('请å®ååä¿æ´¾é£åä½åå·¥ç§ä¿¡æ¯') |
| | | 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 |
| | | create({ |
| | | 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){ |
| | | 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> |
| | |
| | | </div> |
| | | <div class="info_list_item"> |
| | | <div class="info_list_item_label">æ´¾é£åä½ç¶æï¼</div> |
| | | <div class="info_list_item_val" v-if="form.unitStatus === 0">å¾
å®¡æ ¸</div> |
| | | <div class="info_list_item_val" style="color: green;" v-if="form.unitStatus === 1">å®¡æ ¸éè¿</div> |
| | | <div class="info_list_item_val" style="color:#2E68EC;" v-if="form.unitStatus === 0">å¾
å®¡æ ¸</div> |
| | | <div class="info_list_item_val" v-if="form.unitStatus === 1"> |
| | | <span style="color:#2E68EC;" v-if="form.worktypeStatus ==null||form.worktypeStatus === 0">å·¥ç§å¾
审</span> |
| | | <span style="color: green" v-if="form.worktypeStatus === 1">å®¡æ ¸éè¿</span> |
| | | <span style="color: red;" v-if="form.worktypeStatus === 2">å·¥ç§å®¡æ ¸ä¸éè¿</span> |
| | | </div> |
| | | <div class="info_list_item_val" style="color: red;" v-if="form.unitStatus === 2">å®¡æ ¸ä¸éè¿</div> |
| | | </div> |
| | | <div class="info_list_item"> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <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="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="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="åæ´¾é£åä½"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="oldWorkTypeName" |
| | | label="åæå±å·¥ç§"> |
| | | </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="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 } from '@/api/business/applyChange' |
| | | export default { |
| | | name: 'factoryChange', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow, selectEmployees, addEmployee, importEmployees, confirmJobType }, |
| | | data () { |
| | | return { |
| | | form: { |
| | | id: null, |
| | | 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.getDetails() |
| | | }) |
| | | } else { |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | this.form[this.configData['field.id']] = null |
| | | }) |
| | | } |
| | | this.getCompany() |
| | | this.visible = true |
| | | // this.updatePickerOptions() |
| | | }, |
| | | // è·åæä¿è¯¦æ
|
| | | 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('请å®åæ´¾é£åä½åå·¥ç§ä¿¡æ¯') |
| | | 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 |
| | | create({ |
| | | 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> |
| | |
| | | val: '', |
| | | list: [], |
| | | price: '', |
| | | insuranceApplyId: '', |
| | | notInInsuranceApplyId: '', |
| | | seleData: [], |
| | | oldList: [] |
| | | } |
| | |
| | | }, |
| | | methods: { |
| | | open (title, obj) { |
| | | this.insuranceApplyId = '' |
| | | this.notInInsuranceApplyId = '' |
| | | this.price = obj.price |
| | | this.oldList = obj.arr |
| | | this.list = [] |
| | | if (obj.insuranceApplyId) { |
| | | this.insuranceApplyId = obj.insuranceApplyId |
| | | } |
| | | if (obj.notInInsuranceApplyId) { |
| | | this.notInInsuranceApplyId = obj.notInInsuranceApplyId |
| | | } |
| | | this.title = title |
| | | this.visible = true |
| | | this.getList() |
| | |
| | | this.seleData.forEach(item => { |
| | | item.idCard = item.idcardNo |
| | | item.memberName = item.name |
| | | item.memberId = item.id |
| | | if (this.notInInsuranceApplyId) { |
| | | item.workTypeName = '' |
| | | item.worktypeId = '' |
| | | item.duId = '' |
| | | item.duName = '' |
| | | } |
| | | item.fee = this.price |
| | | }) |
| | | this.$emit('result', this.seleData) |
| | |
| | | }, |
| | | getList() { |
| | | findListByDTO({ |
| | | name: this.val |
| | | name: this.val, |
| | | insuranceApplyId: this.insuranceApplyId, |
| | | notInInsuranceApplyId: this.notInInsuranceApplyId |
| | | }).then(res => { |
| | | res.forEach(item => { |
| | | item.fee = '' |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | width="100%" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | | > |
| | | <el-input v-model="val" placeholder="æ¥è¯¢åå·¥å§å" @keypress.enter.native="getList" style="margin-bottom: 15px;"></el-input> |
| | | <el-table |
| | | :data="list" |
| | | border |
| | | @selection-change="handleSelectionChange" |
| | | style="width: 100%"> |
| | | <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="name" |
| | | label="å§å"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="idcardNo" |
| | | label="身份è¯å·"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="duName" |
| | | label="æ´¾é£åä½"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="workTypeName" |
| | | label="æå±å·¥ç§"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { findListByDTO } from '@/api/business/member' |
| | | export default { |
| | | name: 'selectEmployeesCopy', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | data () { |
| | | return { |
| | | val: '', |
| | | list: [], |
| | | price: '', |
| | | insuranceApplyId: '', |
| | | notInInsuranceApplyId: '', |
| | | seleData: [], |
| | | oldList: [] |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/dispatchUnit', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | open (title, obj) { |
| | | this.insuranceApplyId = '' |
| | | this.notInInsuranceApplyId = '' |
| | | this.price = obj.price |
| | | this.oldList = obj.arr |
| | | this.list = [] |
| | | if (obj.insuranceApplyId) { |
| | | this.insuranceApplyId = obj.insuranceApplyId |
| | | } |
| | | if (obj.notInInsuranceApplyId) { |
| | | this.notInInsuranceApplyId = obj.notInInsuranceApplyId |
| | | } |
| | | this.title = title |
| | | this.visible = true |
| | | this.getList() |
| | | }, |
| | | confirm() { |
| | | if (this.seleData.length === 0) { |
| | | this.$message.warning('è³å°éæ©ä¸é¡¹å
容') |
| | | return |
| | | } |
| | | for (let i = 0; i < this.seleData.length; i++) { |
| | | for (let a = 0; a < this.oldList.length; a++) { |
| | | if (this.seleData[i].name === this.oldList[a].memberName || this.seleData[i].idCard === this.oldList[a].idcardNo) { |
| | | this.$message.warning(`[${this.seleData[i].name}]åå·¥éå¤`) |
| | | return |
| | | } |
| | | } |
| | | } |
| | | this.seleData.forEach(item => { |
| | | item.idCard = item.idcardNo |
| | | item.memberName = item.name |
| | | item.memberId = item.id |
| | | |
| | | item.oldDuId = JSON.parse(JSON.stringify(item.duId)) |
| | | item.oldDuName = JSON.parse(JSON.stringify(item.duName)) |
| | | item.oldWorkTypeName = JSON.parse(JSON.stringify(item.workTypeName)) |
| | | item.oldWorktypeId = JSON.parse(JSON.stringify(item.worktypeId)) |
| | | |
| | | item.duId = '' |
| | | item.duName = '' |
| | | item.workTypeName = '' |
| | | item.worktypeId = '' |
| | | |
| | | item.fee = this.price |
| | | }) |
| | | this.$emit('result', this.seleData) |
| | | this.visible = false |
| | | }, |
| | | handleSelectionChange (e) { |
| | | this.seleData = e |
| | | }, |
| | | getList() { |
| | | findListByDTO({ |
| | | name: this.val, |
| | | insuranceApplyId: this.insuranceApplyId, |
| | | notInInsuranceApplyId: this.notInInsuranceApplyId |
| | | }).then(res => { |
| | | res.forEach(item => { |
| | | item.fee = '' |
| | | }) |
| | | this.list = res |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | |
| | | </style> |
| | |
| | | <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="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="solutionsId"> |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="æ´¾é£åä½"></el-table-column> |
| | | <el-table-column label="ä¼ä¸ç¶æ"> |
| | | <el-table-column label="æ´¾é£åä½ç¶æ" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.unitStatus === 0">å¾
å®¡æ ¸</span> |
| | | <span v-if="row.unitStatus === 1" style="color: green;">å®¡æ ¸éè¿</span> |
| | | <span v-if="row.unitStatus === 2" style="color: red;">å®¡æ ¸ä¸éè¿</span> |
| | | <span style="color: #2E68EC" v-if="row.unitStatus === 0">å¾
å®¡æ ¸</span> |
| | | <span v-if="row.unitStatus === 1"> |
| | | <span style="color:#2E68EC" v-if="row.worktypeStatus ==null || row.worktypeStatus === 0">å·¥ç§å¾
审</span> |
| | | <span style="color: green" v-else-if="row.worktypeStatus === 1">å®¡æ ¸éè¿</span> |
| | | <span style="color: red" v-else-if="row.worktypeStatus === 2">å·¥ç§å®¡æ ¸ä¸éè¿</span> |
| | | </span> |
| | | <span style="color: red" v-if="row.unitStatus === 2">å®¡æ ¸ä¸éè¿</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="createDate" label="æ·»å æ¥æ"></el-table-column> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:insuranceapply:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="ä¿åå·" prop="code"> |
| | | <el-input v-model="searchForm.code" placeholder="请è¾å
¥" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ä¿é©æ¹æ¡" prop="baseSolutionId"> |
| | | <el-select v-model="searchForm.baseSolutionId" placeholder="è¯·éæ©" @change="search"> |
| | | <el-option |
| | | v-for="item in solutionList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="ç¶æ" prop="statusCollect"> |
| | | <el-select v-model="searchForm.statusCollect" placeholder="è¯·éæ©" @change="search"> |
| | | <el-option label="å¾
审æ¹" value="0"></el-option> |
| | | <el-option label="å¾
åºå" value="1"></el-option> |
| | | <el-option label="å¾
ç¾ç« " value="7"></el-option> |
| | | <el-option label="ä¿éä¸" value="2"></el-option> |
| | | <el-option label="å·²è¿æ" value="3"></el-option> |
| | | <el-option label="å·²éå" value="4"></el-option> |
| | | <el-option label="éåç³è¯·ä¸" value="5"></el-option> |
| | | <el-option label="å·²å
³é" value="6"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="ä¿é©çæèµ·æ" prop="time1"> |
| | | <el-date-picker |
| | | v-model="time1" |
| | | @change="changeS" |
| | | type="daterange" |
| | | range-separator="è³" |
| | | value-format="yyyy-MM-dd" |
| | | start-placeholder="å¼å§æ¥æ" |
| | | end-placeholder="ç»ææ¥æ"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="ä¿é©çææ¢æ" prop="time2"> |
| | | <el-date-picker |
| | | v-model="time2" |
| | | @change="changeE" |
| | | type="daterange" |
| | | range-separator="è³" |
| | | value-format="yyyy-MM-dd" |
| | | start-placeholder="å¼å§æ¥æ" |
| | | end-placeholder="ç»ææ¥æ"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">æç´¢</el-button> |
| | | <el-button @click="reset">éç½®</el-button> |
| | | </section> |
| | | </el-form> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:dispatchunit:create']"> |
| | | <li><el-button type="primary" @click="$refs.OperaInsuranceApplyWindow.open('æä¿ç³è¯·')">æä¿ç³è¯·</el-button></li> |
| | | </ul> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | > |
| | | <el-table-column label="åºå·" width="80px"> |
| | | <template slot-scope="scope"> |
| | | <span>{{scope.$index + 1}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="statusInfo" label="ç¶æ"></el-table-column> |
| | | <el-table-column prop="solutionsName" label="ä¿é©æ¹æ¡"></el-table-column> |
| | | <el-table-column prop="insureNum" label="æä¿äººæ°"></el-table-column> |
| | | <el-table-column prop="serviceDays" label="æä¿æ¶é¿ï¼å¤©ï¼"></el-table-column> |
| | | <el-table-column prop="fee" label="æ»è´¹ç¨ï¼å
ï¼"></el-table-column> |
| | | <el-table-column prop="checkDate" label="æäº¤æ¥æ"></el-table-column> |
| | | <el-table-column prop="startTime" label="æä¿çææ¥æ"></el-table-column> |
| | | <el-table-column prop="endTime" label="æä¿å¤±ææ¥æ"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:insuranceapply:update', 'business:insuranceapply:delete'])" |
| | | label="æä½" |
| | | min-width="150" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.OperaInsuranceApplyDetails.open('æä¿è¯¦æ
', { id: row.id })" v-permissions="['business:insuranceapply:update']">æ¥ç详æ
</el-button> |
| | | <el-button type="text" @click="$refs.additionSubtractionApplication.open('å åä¿ç³è¯·', { id: row.id })">å åä¿ç³è¯·</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | <!-- æ°å¢æä¿ --> |
| | | <OperaInsuranceApplyWindow ref="OperaInsuranceApplyWindow" @success="handlePageChange" /> |
| | | <!-- æä¿è¯¦æ
--> |
| | | <OperaInsuranceApplyDetails ref="OperaInsuranceApplyDetails" @success="handlePageChange" /> |
| | | <!-- å åä¿ç³è¯· --> |
| | | <additionSubtractionApplication ref="additionSubtractionApplication" @success="handlePageChange" /> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaInsuranceApplyWindow from '@/components/enterprise/OperaInsuranceApplyWindow' |
| | | import OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow' |
| | | import additionSubtractionApplication from '@/components/enterprise/additionSubtractionApplication' |
| | | |
| | | import { all as solutionAll} from '@/api/business/solutions' |
| | | export default { |
| | | name: 'myPolicy', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaInsuranceApplyWindow, OperaInsuranceApplyDetails, additionSubtractionApplication }, |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | | searchForm: { |
| | | code: '', |
| | | endTimeE: '', |
| | | endTimeS: '', |
| | | startTimeE: '', |
| | | startTimeS: '', |
| | | baseSolutionId: '', |
| | | statusCollect: '2' |
| | | }, |
| | | time1: [], |
| | | time2: [], |
| | | solutionList:[] |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: 'æä¿ç³è¯·ä¿¡æ¯è¡¨', |
| | | api: '/business/insuranceApply', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | this.search() |
| | | this.loadSelectList() |
| | | }, |
| | | methods:{ |
| | | reset() { |
| | | this.time1 = [] |
| | | this.time2 = [] |
| | | this.searchForm.endTimeE = '' |
| | | this.searchForm.endTimeS = '' |
| | | this.searchForm.startTimeE = '' |
| | | this.searchForm.startTimeS = '' |
| | | this.$refs.searchForm.resetFields() |
| | | this.search() |
| | | }, |
| | | changeE(e) { |
| | | if (e.length > 0) { |
| | | this.searchForm.endTimeS = e[0] |
| | | this.searchForm.endTimeE = e[1] |
| | | } else { |
| | | this.searchForm.endTimeS = '' |
| | | this.searchForm.endTimeE = '' |
| | | } |
| | | this.search() |
| | | }, |
| | | changeS(e) { |
| | | if (e.length > 0) { |
| | | this.searchForm.startTimeS = e[0] |
| | | this.searchForm.startTimeE = e[1] |
| | | } else { |
| | | this.searchForm.startTimeS = '' |
| | | this.searchForm.startTimeE = '' |
| | | } |
| | | this.search() |
| | | }, |
| | | loadSelectList() { |
| | | solutionAll({ dataType: 0 }).then(res => { |
| | | this.solutionList = res |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | import com.doumee.core.model.ApiResponse; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.dao.business.dto.ApplyChangeCyclePriceDTO; |
| | | import com.doumee.dao.business.dto.ApplyChangeOptDTO; |
| | | import com.doumee.dao.business.dto.CountCyclePriceDTO; |
| | | import com.doumee.dao.business.dto.InsuranceApplyOptDTO; |
| | | import com.doumee.dao.business.model.ApplyChange; |
| | | import com.doumee.dao.business.vo.CountCyclePriceVO; |
| | | import com.doumee.service.business.ApplyChangeService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | | |
| | | @ApiOperation("å åä¿ä¸å¡è¡¥å
éé¢") |
| | | @PostMapping("/getChangeCountCyclePriceVO") |
| | | public ApiResponse<CountCyclePriceVO> getChangeCountCyclePriceVO (@RequestBody ApplyChangeCyclePriceDTO applyChangeCyclePriceDTO) { |
| | | return ApiResponse.success("æä½æå",applyChangeService.getChangeCountCyclePriceVO(applyChangeCyclePriceDTO)); |
| | | } |
| | | |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | @ApiOperation("æµè¯å®é
éé¢") |
| | | @GetMapping("/testFee") |
| | | public ApiResponse testFee(@RequestParam Integer id) { |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.business.dto; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @author RenKang |
| | | */ |
| | | @Data |
| | | public class ApplyChangeCyclePriceDTO { |
| | | |
| | | @ApiModelProperty(value = "ä¿å主é®", example = "1") |
| | | private Integer applyId; |
| | | |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @JsonFormat(pattern="yyyy-MM-dd") |
| | | @ApiModelProperty(value = "æ¹åæ¥æ") |
| | | private Date validTime; |
| | | |
| | | |
| | | } |
| | |
| | | @ApiModelProperty(value = "éè¿æ»¤æ°æ®éå") |
| | | private List<Integer> memberIds; |
| | | |
| | | @ApiModelProperty(value = "è¿æ»¤ä¿å主é®ä¸æ°æ®") |
| | | @ApiModelProperty(value = "è¿æ»¤ä¿å主é®ä¸æ°æ®" ,notes = "å ä¿ç³è¯·") |
| | | private Integer notInInsuranceApplyId; |
| | | |
| | | @ApiModelProperty(value = "ä¿å主é®ä¸æ°æ®" , notes = "åä¿ç³è¯·/æ¢åç³è¯·") |
| | | private Integer insuranceApplyId; |
| | | |
| | | @ApiModelProperty(value = "ä¼ä¸ä¸»é®") |
| | |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import lombok.Data; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.Date; |
| | |
| | | private String signApplyNo; |
| | | @ApiModelProperty(value = "ææä¿é©çæèµ·æ") |
| | | @ExcelColumn(name="ææä¿é©çæèµ·æ") |
| | | //å
¥å |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | //åºå |
| | | @JsonFormat(pattern="yyyy-MM-dd") |
| | | private Date validTime; |
| | | |
| | | @ApiModelProperty(value = "æ¹åå·") |
| | |
| | | |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.business.dto.ApplyChangeCyclePriceDTO; |
| | | import com.doumee.dao.business.dto.ApplyChangeOptDTO; |
| | | import com.doumee.dao.business.model.ApplyChange; |
| | | import com.doumee.dao.business.model.InsuranceApply; |
| | | import com.doumee.dao.business.vo.CountCyclePriceVO; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | String getSignLinkJiajiabao(ApplyChange model); |
| | | |
| | | String getSignLinkChangeUnit(ApplyChange model); |
| | | |
| | | CountCyclePriceVO getChangeCountCyclePriceVO(ApplyChangeCyclePriceDTO applyChangeCyclePriceDTO); |
| | | } |
| | |
| | | import com.doumee.core.utils.DateUtil; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.dao.business.*; |
| | | import com.doumee.dao.business.dto.ApplyChangeCyclePriceDTO; |
| | | import com.doumee.dao.business.dto.ApplyChangeOptDTO; |
| | | import com.doumee.dao.business.dto.CountCyclePriceDTO; |
| | | import com.doumee.dao.business.dto.InsuranceApplyOptDTO; |
| | | import com.doumee.dao.business.join.ApplyChagneDetailJoinMapper; |
| | | import com.doumee.dao.business.join.ApplyChangeJoinMapper; |
| | | import com.doumee.dao.business.join.ApplyDetailJoinMapper; |
| | | import com.doumee.dao.business.join.DuSolutionJoinMapper; |
| | | import com.doumee.dao.business.model.*; |
| | | import com.doumee.dao.business.vo.CountCyclePriceVO; |
| | | import com.doumee.service.business.ApplyChangeService; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | |
| | | @Autowired |
| | | private ApplyChangeMapper applyChangeMapper; |
| | | |
| | | @Autowired |
| | | private DuSolutionJoinMapper duSolutionJoinMapper; |
| | | @Autowired |
| | | private InsuranceApplyMapper insuranceApplyMapper; |
| | | |
| | |
| | | || Objects.isNull(applyChange.getApplyId()) |
| | | || Objects.isNull(applyChange.getValidTime()) |
| | | || Objects.isNull(applyChange.getType()) |
| | | || !(applyChange.getType().equals(Constants.ZERO) || applyChange.getType().equals(Constants.TWO)) |
| | | || !(applyChange.getType().equals(Constants.ZERO) || applyChange.getType().equals(Constants.ONE)) |
| | | ) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | |
| | | if (Objects.isNull(insuranceApply)) { |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | if (insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())) { |
| | | System.out.println(Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()); |
| | | if (!Constants.equalsInteger(insuranceApply.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())) { |
| | | throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "ä¿åç¶æé误"); |
| | | } |
| | | if (DateUtil.compareDate(new Date(), insuranceApply.getEndTime()) >= Constants.ZERO |
| | | if (DateUtil.compareDate(insuranceApply.getEndTime(),new Date()) >= Constants.ZERO |
| | | ) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "ä¿åå·²è¿ä¿ï¼æ æ³è¿è¡è¯¥æä½"); |
| | | } |
| | |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"æªæ¥è¯¢å°ä¼ä¸åé
ä¿é©æ¹æ¡ä¿¡æ¯"); |
| | | } |
| | | //ç³è¯·æ¶é´å¿
é¡»å¤äºä¿åçæ¶é´èå´å
|
| | | if (!(DateUtil.compareDate(applyChange.getValidTime(), insuranceApply.getStartTime()) >= Constants.ZERO |
| | | && DateUtil.compareDate(insuranceApply.getEndTime(), applyChange.getValidTime()) >= Constants.ZERO)) { |
| | | if (!(DateUtil.compareDate( insuranceApply.getStartTime(),applyChange.getValidTime()) >= Constants.ZERO |
| | | && DateUtil.compareDate( applyChange.getValidTime(),insuranceApply.getEndTime()) >= Constants.ZERO)) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "ç³è¯·æ¥ææªå¤äºä¿åæ¥æå
ï¼æ æ³è¿è¡è¯¥æä½"); |
| | | } |
| | | applyChange.setCreateDate(new Date()); |
| | | applyChange.setCreator(loginUserInfo.getId()); |
| | | applyChange.setIsdeleted(Constants.ZERO); |
| | | applyChange.setApplyStartTime(applyChange.getValidTime()); |
| | | applyChange.setStatus(Constants.ZERO); |
| | | applyChangeMapper.insert(applyChange); |
| | | |
| | | |
| | | List<DuSolution> duSolutionList = duSolutionMapper.selectList(new QueryWrapper<DuSolution>().lambda() |
| | | //æ¥è¯¢ä¿é©æ¹æ¡ä¸çæææ´¾é£åä½ |
| | | List<DuSolution> duSolutionList = duSolutionJoinMapper.selectJoinList(DuSolution.class,new MPJLambdaWrapper<DuSolution>() |
| | | .selectAll(DuSolution.class) |
| | | .innerJoin(DispatchUnit.class,DispatchUnit::getId,DuSolution::getDispatchUnitId) |
| | | .eq(DispatchUnit::getCompanyId,insuranceApply.getCompanyId()) |
| | | .eq(DispatchUnit::getIsdeleted,Constants.ZERO) |
| | | .eq(DispatchUnit::getUnitStatus,Constants.ONE) |
| | | .eq(DuSolution::getIsdeleted, Constants.ZERO) |
| | | .eq(DuSolution::getStatus, Constants.ONE) |
| | | .eq(DuSolution::getSolutionId, insuranceApply.getSolutionId())); |
| | |
| | | if (!CollectionUtils.isNotEmpty(duWorktypeList)) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "æ°æ®å¼å¸¸ï¼ä¿é©æ¹æ¡ä¸æªæ¥è¯¢å°å·¥ç§ä¿¡æ¯"); |
| | | } |
| | | BigDecimal fee = BigDecimal.ZERO; |
| | | //å ä¿æ°æ® |
| | | List<ApplyChagneDetail> addDetailList = applyChange.getAddDetailList(); |
| | | if (CollectionUtils.isNotEmpty(addDetailList)) { |
| | |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "该ä¼ä¸åé
ä¿é©æ¹æ¡æ æ³è¿è¡å ä¿"); |
| | | } |
| | | this.addChangeDetail(applyChange,addDetailList,duWorktypeList,duSolutionList,insuranceApply,solutions,loginUserInfo); |
| | | |
| | | fee = addDetailList.stream().map(ApplyChagneDetail::getFee).reduce(BigDecimal.ZERO,BigDecimal::add); |
| | | |
| | | } |
| | | |
| | | //åä¿æ°æ® |
| | | List<ApplyChagneDetail> delDetailList = applyChange.getDelDetailList(); |
| | | if (CollectionUtils.isNotEmpty(delDetailList)) { |
| | | if(companySolution.getCanReduce().equals(Constants.ZERO)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "该ä¼ä¸åé
ä¿é©æ¹æ¡æ æ³è¿è¡å ä¿"); |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "该ä¼ä¸åé
ä¿é©æ¹æ¡æ æ³è¿è¡åä¿"); |
| | | } |
| | | this.delChangeDetail(applyChange,delDetailList,insuranceApply,solutions,loginUserInfo); |
| | | fee = fee.add(delDetailList.stream().map(ApplyChagneDetail::getFee).reduce(BigDecimal.ZERO,BigDecimal::add)); |
| | | } |
| | | ApplyChange applyChangeFee = new ApplyChange(); |
| | | applyChangeFee.setId(applyChange.getId()); |
| | | applyChangeFee.setFee(fee); |
| | | applyChangeMapper.updateById(applyChangeFee); |
| | | |
| | | //æ¢åä¸å¡ |
| | | List<ApplyChagneDetail> changeDetailList = applyChange.getChangeDetailList(); |
| | | if (CollectionUtils.isNotEmpty(changeDetailList)) { |
| | |
| | | applyLog.setIsdeleted(Constants.ZERO); |
| | | applyLog.setApplyId(applyChange.getApplyId()); |
| | | applyLog.setTitle(applyChangeLogStatus.getName()); |
| | | if(StringUtils.isNotBlank(content)){ |
| | | applyLog.setContent(applyChangeLogStatus.getInfo().replace("${param}",content)); |
| | | }else{ |
| | | applyLog.setContent(applyChangeLogStatus.getInfo()); |
| | | } |
| | | applyLog.setObjType(applyChangeLogStatus.getKey()); |
| | | applyLog.setObjId( applyChange.getId()); |
| | | applyLog.setStatus(applyChange.getStatus()); |
| | |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "åä¿äººåã" + applyChagneDetail.getMemberName() + "ãä¿åä¿¡æ¯å¼å¸¸ï¼åå¨å¤æ¡æ°æ®"); |
| | | } |
| | | ApplyDetail applyDetail = applyDetailList.get(Constants.ZERO); |
| | | if (applyChange.getValidTime().compareTo(applyDetail.getEndTime()) <= 0) { |
| | | if (applyChange.getValidTime().compareTo(applyDetail.getEndTime()) > 0) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "åä¿äººåã" + applyChagneDetail.getMemberName() + "ãä¿åä¿éæ¥æè³ï¼ã" + applyDetail.getEndTime() + "ãæ æ³éè¿æ¬æ¬¡ç³è¯·"); |
| | | } |
| | | applyChagneDetail.setCreateDate(new Date()); |
| | |
| | | applyChagneDetail.setIsdeleted(Constants.ZERO); |
| | | applyChagneDetail.setApplyChangeId(applyChange.getId()); |
| | | applyChagneDetail.setType(Constants.ONE); |
| | | |
| | | System.out.println(DateUtil.dateToString(applyDetail.getEndTime(),"yyyy-MM-dd")); |
| | | System.out.println(DateUtil.dateToString(applyDetail.getStartTime(),"yyyy-MM-dd")); |
| | | System.out.println(DateUtil.dateToString(applyChange.getValidTime(),"yyyy-MM-dd")); |
| | | |
| | | BigDecimal sumFee = Constants.countDetailFee(solutions, applyDetail.getEndTime(),applyDetail.getStartTime()); |
| | | BigDecimal useFee = Constants.countDetailFee(solutions, applyChange.getValidTime(),applyDetail.getStartTime()); |
| | | |
| | | applyChagneDetail.setFee( |
| | | Constants.countDetailFee(solutions, applyDetail.getEndTime(),applyDetail.getStartTime()) |
| | | .subtract(Constants.countDetailFee(solutions,applyChange.getValidTime(), applyDetail.getStartTime())) |
| | | .subtract(Constants.countDetailFee(solutions,applyChange.getValidTime(), applyDetail.getStartTime())).multiply(new BigDecimal(-1)) |
| | | ); |
| | | applyChagneDetailJoinMapper.insert(applyChagneDetail); |
| | | } |
| | |
| | | */ |
| | | public void addChangeDetail(ApplyChange applyChange ,List<ApplyChagneDetail> addDetailList,List<DuWorktype> duWorktypeList,List<DuSolution> duSolutionList,InsuranceApply insuranceApply,Solutions solutions,LoginUserInfo loginUserInfo){ |
| | | for (ApplyChagneDetail applyChagneDetail : addDetailList) { |
| | | if (Objects.isNull(applyChagneDetail.getMemberId()) |
| | | || Objects.isNull(applyChagneDetail.getDuId()) |
| | | if ( Objects.isNull(applyChagneDetail.getDuId()) |
| | | || Objects.isNull(applyChagneDetail.getWorktypeId()) |
| | | || StringUtils.isBlank(applyChagneDetail.getIdcardNo()) |
| | | ) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "å ä¿äººåã" + applyChagneDetail.getMemberName() + "ãå¿
填项缺失"); |
| | | } |
| | | Member member = memberMapper.selectById(applyChagneDetail.getMemberId()); |
| | | |
| | | |
| | | Member member = new Member(); |
| | | if(Objects.isNull(applyChagneDetail.getMemberId())){ |
| | | //æ¥è¯¢æ¯å¦åå¨è¯¥ç¨æ· |
| | | member = memberMapper.selectOne(new QueryWrapper<Member>().lambda() |
| | | .eq(Member::getCompanyId,insuranceApply.getCompanyId()) |
| | | .eq(Member::getIsdeleted,Constants.ZERO) |
| | | .eq(Member::getIdcardNo,applyChagneDetail.getIdcardNo()) |
| | | .last(" limit 1") |
| | | ); |
| | | if(Objects.isNull(member)){ |
| | | member = new Member(); |
| | | member.setCreateDate(new Date()); |
| | | member.setCreator(loginUserInfo.getId()); |
| | | member.setIsdeleted(Constants.ZERO); |
| | | member.setName(applyChagneDetail.getMemberName()); |
| | | member.setCompanyId(insuranceApply.getCompanyId()); |
| | | member.setSex(Constants.getSexByIdCard(applyChagneDetail.getIdcardNo())); |
| | | member.setIdcardNo(applyChagneDetail.getIdcardNo()); |
| | | member.setApplyId(insuranceApply.getId()); |
| | | member.setDuId(applyChagneDetail.getDuId()); |
| | | member.setWorktypeId(applyChagneDetail.getWorktypeId()); |
| | | memberMapper.insert(member); |
| | | }else{ |
| | | member.setApplyId(insuranceApply.getId()); |
| | | member.setDuId(applyChagneDetail.getDuId()); |
| | | member.setWorktypeId(applyChagneDetail.getWorktypeId()); |
| | | memberMapper.updateById(member); |
| | | } |
| | | }else{ |
| | | member = memberMapper.selectById(applyChagneDetail.getMemberId()); |
| | | if (Objects.isNull(member)) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "å ä¿äººåã" + applyChagneDetail.getMemberName() + "ãæªæ¥è¯¢å°ç³»ç»äººåä¿¡æ¯"); |
| | | } |
| | | member.setApplyId(insuranceApply.getId()); |
| | | member.setDuId(applyChagneDetail.getDuId()); |
| | | member.setWorktypeId(applyChagneDetail.getWorktypeId()); |
| | | memberMapper.updateById(member); |
| | | } |
| | | //æ¥è¯¢åå·¥æ¯å¦åå¨ 0å¾
ç¾ç½² 1å·²ç¾ç« çæ¤ç±»ä¸å¡ä¿æ°æ® åä¸ä¸»åä¸ |
| | | if (applyChagneDetailJoinMapper.selectJoinCount( |
| | |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "å ä¿äººåã" + applyChagneDetail.getMemberName() + "ãåå¨ç³è¯·ä¸çå åä¿/æ¢ååæ®"); |
| | | } |
| | | //æ¥è¯¢åå·¥æ¯å¨ä¸»åä¸ æ¯å¦åå¨çæä¸çæ°æ® |
| | | if(!Objects.isNull(applyChagneDetail.getMemberId())){ |
| | | if (applyDetailJoinMapper.selectCount(new QueryWrapper<ApplyDetail>().lambda() |
| | | .eq(ApplyDetail::getApplyId, applyChange.getApplyId()) |
| | | .eq(ApplyDetail::getMemberId, applyChagneDetail.getMemberId()) |
| | |
| | | ) > Constants.ZERO) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "å ä¿äººåã" + applyChagneDetail.getMemberName() + "ãåå¨ä¿éä¸çä¿åä¿¡æ¯ï¼æ æ³è¿è¡å ä¿"); |
| | | } |
| | | |
| | | } |
| | | //éªè¯æ´¾é£åä½ä¿¡æ¯ ä¸å·¥ç§ä¿¡æ¯ æ¯å¦åå¨ |
| | | if (duSolutionList.stream().filter(d -> d.getDispatchUnitId().equals(applyChagneDetail.getDuId())).collect(Collectors.toList()).size() <= Constants.ZERO) { |
| | | throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "ã" + applyChagneDetail.getMemberName() + "ãå工派é£å使ªæ¥è¯¢å°ï¼"); |
| | | } |
| | | if (duWorktypeList.stream().filter(d -> d.getDuSolutionId().equals(applyChagneDetail.getDuId()) && d.getWorkTypeId().equals(applyChagneDetail.getWorktypeId())) |
| | | if (duWorktypeList.stream().filter(d -> d.getWorkTypeId().equals(applyChagneDetail.getWorktypeId())) |
| | | .collect(Collectors.toList()).size() <= Constants.ZERO) { |
| | | throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "ã" + applyChagneDetail.getMemberName() + "ãå工工ç§ä¿¡æ¯æªæ¥è¯¢å°ï¼"); |
| | | } |
| | | applyChagneDetail.setMemberId(member.getId()); |
| | | applyChagneDetail.setCreateDate(new Date()); |
| | | applyChagneDetail.setCreator(loginUserInfo.getId()); |
| | | applyChagneDetail.setIsdeleted(Constants.ZERO); |
| | | applyChagneDetail.setApplyChangeId(applyChange.getId()); |
| | | applyChagneDetail.setType(Constants.ZERO); |
| | | applyChagneDetail.setFee( |
| | | |
| | | Constants.countDetailFee(solutions,insuranceApply.getEndTime(),applyChange.getValidTime()) |
| | | ); |
| | | applyChagneDetailJoinMapper.insert(applyChagneDetail); |
| | |
| | | List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectList(new QueryWrapper<ApplyDetail>().lambda() |
| | | .eq(ApplyDetail::getApplyId, applyChange.getApplyId()) |
| | | .eq(ApplyDetail::getMemberId, applyChagneDetail.getMemberId()) |
| | | .le(ApplyDetail::getStartTime, "now()") |
| | | .ge(ApplyDetail::getEndTime, "now()")); |
| | | .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"))); |
| | | if(applyDetailList.size()>Constants.ONE){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "æ¢å人åã" + applyChagneDetail.getMemberName() + "ãä¿åä¿¡æ¯å¼å¸¸ï¼åå¨å¤æ¡æ°æ®"); |
| | | } |
| | | ApplyDetail applyDetail = applyDetailList.get(Constants.ZERO); |
| | | if(applyChange.getValidTime().compareTo( applyDetail.getEndTime())<=0){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "æ¢å人åã" + applyChagneDetail.getMemberName() + "ãä¿åä¿éæ¥æè³ï¼ã"+applyDetail.getEndTime()+"ãæ æ³éè¿æ¬æ¬¡ç³è¯·"); |
| | | if(applyChange.getValidTime().compareTo( applyDetail.getEndTime())>0){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "æ¢å人åã" + applyChagneDetail.getMemberName() + "ãä¿åä¿éæ¥æè³ï¼ã"+DateUtil.getDate(applyDetail.getEndTime(),"yyyy-MM-dd HH:mm:ss")+"ãæ æ³éè¿æ¬æ¬¡ç³è¯·"); |
| | | } |
| | | //éªè¯æ´¾é£åä½ä¿¡æ¯ ä¸å·¥ç§ä¿¡æ¯ æ¯å¦åå¨ |
| | | if (duSolutionList.stream().filter(d -> d.getDispatchUnitId().equals(applyChagneDetail.getDuId())).collect(Collectors.toList()).size() <= Constants.ZERO) { |
| | | throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "æ¢å人åã" + applyChagneDetail.getMemberName() + "ãå工派é£å使ªæ¥è¯¢å°ï¼"); |
| | | } |
| | | if (duWorktypeList.stream().filter(d -> d.getDuSolutionId().equals(applyChagneDetail.getDuId()) && d.getWorkTypeId().equals(applyChagneDetail.getWorktypeId())) |
| | | if (duWorktypeList.stream().filter(d -> d.getWorkTypeId().equals(applyChagneDetail.getWorktypeId())) |
| | | .collect(Collectors.toList()).size() <= Constants.ZERO) { |
| | | throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "æ¢å人åã" + applyChagneDetail.getMemberName() + "ãå工工ç§ä¿¡æ¯æªæ¥è¯¢å°ï¼"); |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public CountCyclePriceVO getChangeCountCyclePriceVO(ApplyChangeCyclePriceDTO applyChangeCyclePriceDTO){ |
| | | if(Objects.isNull(applyChangeCyclePriceDTO) |
| | | || Objects.isNull(applyChangeCyclePriceDTO.getApplyId()) |
| | | || Objects.isNull(applyChangeCyclePriceDTO.getValidTime())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | |
| | | InsuranceApply insuranceApply = insuranceApplyMapper.selectById(applyChangeCyclePriceDTO.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(),"æªæ¥è¯¢æ¹æ¡ä¿¡æ¯"); |
| | | } |
| | | CountCyclePriceVO countCyclePriceVO = new CountCyclePriceVO(); |
| | | countCyclePriceVO.setCyclePrice(Constants.countDetailFee(solutions,insuranceApply.getEndTime(),applyChangeCyclePriceDTO.getValidTime())); |
| | | return countCyclePriceVO; |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | .eq(DispatchUnit::getIsdeleted,Constants.ZERO) |
| | | .eq(loginUserInfo.getType().equals(Constants.ONE),DispatchUnit::getCompanyId,loginUserInfo.getCompanyId()) |
| | | .eq(DispatchUnit::getStatus,Constants.ZERO) |
| | | .eq(DispatchUnit::getDataType,dispatchUnitQueryDTO.getDataType()) |
| | | //.eq(DispatchUnit::getDataType,dispatchUnitQueryDTO.getDataType()) |
| | | .eq(DispatchUnit::getDataType,Constants.TWO) |
| | | .eq(!Objects.isNull(dispatchUnitQueryDTO.getSolutionId()),DuSolution::getSolutionId,dispatchUnitQueryDTO.getSolutionId()) |
| | | .exists(!Objects.isNull(dispatchUnitQueryDTO.getApplyId()), |
| | | " select 1 from apply_detail ad where ad.isdeleted = 0 and ad.apply_id = "+dispatchUnitQueryDTO.getApplyId()+" " + |
| | |
| | | import com.doumee.dao.business.dto.InsuranceApplyQueryDTO; |
| | | import com.doumee.dao.business.join.ApplyDetailJoinMapper; |
| | | import com.doumee.dao.business.join.ApplyLogJoinMapper; |
| | | import com.doumee.dao.business.join.DuSolutionJoinMapper; |
| | | import com.doumee.dao.business.join.InsuranceApplyJoinMapper; |
| | | import com.doumee.dao.business.model.*; |
| | | import com.doumee.dao.business.vo.CountCyclePriceVO; |
| | |
| | | private MemberMapper memberMapper; |
| | | @Autowired |
| | | private DuSolutionMapper duSolutionMapper; |
| | | @Autowired |
| | | private DuSolutionJoinMapper duSolutionJoinMapper; |
| | | @Autowired |
| | | private DuWorktypeMapper duWorktypeMapper; |
| | | |
| | |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"æªæ¥è¯¢å°æ¹æ¡ä¿¡æ¯"); |
| | | } |
| | | //æ¥è¯¢ä¿é©æ¹æ¡ä¸çæææ´¾é£åä½ |
| | | List<DuSolution> duSolutionList = duSolutionMapper.selectList(new QueryWrapper<DuSolution>().lambda() |
| | | List<DuSolution> duSolutionList = duSolutionJoinMapper.selectJoinList(DuSolution.class,new MPJLambdaWrapper<DuSolution>() |
| | | .selectAll(DuSolution.class) |
| | | .innerJoin(DispatchUnit.class,DispatchUnit::getId,DuSolution::getDispatchUnitId) |
| | | .eq(DispatchUnit::getCompanyId,insuranceApply.getCompanyId()) |
| | | .eq(DispatchUnit::getIsdeleted,Constants.ZERO) |
| | | .eq(DispatchUnit::getUnitStatus,Constants.ONE) |
| | | .eq(DuSolution::getIsdeleted,Constants.ZERO) |
| | | .eq(DuSolution::getStatus,Constants.ONE) |
| | | .eq(DuSolution::getSolutionId,insuranceApply.getSolutionId())); |
| | |
| | | MPJLambdaWrapper wrapper= new MPJLambdaWrapper<InsuranceApply>() |
| | | .selectAll(InsuranceApply.class) |
| | | .selectAs(Solutions::getName,InsuranceApply::getSolutionsName) |
| | | .selectAs(Company::getName,ApplyLog::getCompanyName) |
| | | .selectAs(Company::getName,InsuranceApply::getCompanyName) |
| | | .select(" ( select count(1) from apply_detail ad where ad.apply_id = t.id ) as insureNum") |
| | | .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) |
| | | .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) |
| | |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | |
| | | if(insuranceApply.getStartTime().compareTo(new Date())<0 && insuranceApply.getEndTime().compareTo(new Date()) > 0 ){ |
| | | insuranceApply.setLoseEfficacyDays(DateUtil.daysBetweenDates(insuranceApply.getEndTime(),new Date())); |
| | | } |
| | | |
| | | |
| | | initApplyStatus(insuranceApply); |
| | | |
| | | //æ¥è¯¢éä»¶æ°æ® |
| | |
| | | |
| | | @Override |
| | | public List<Member> findListByDTO(MemberQueryDTO memberQueryDTO) { |
| | | List<Member> memberList = memberJoinMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>() |
| | | |
| | | MPJLambdaWrapper<Member> lambdaWrapper = new MPJLambdaWrapper<Member>() |
| | | .selectAll(Member.class) |
| | | .selectAs(DispatchUnit::getName,Member::getDuName) |
| | | .selectAs(Worktype::getName,Member::getWorkTypeName) |
| | |
| | | .eq(!Objects.isNull(memberQueryDTO.getCompanyId()),Member::getCompanyId,memberQueryDTO.getCompanyId()) |
| | | .eq(Member::getIsdeleted, Constants.ZERO) |
| | | .like(StringUtils.isNotBlank(memberQueryDTO.getName()),Member::getName, memberQueryDTO.getName()) |
| | | .notExists(!Objects.isNull(memberQueryDTO.getInsuranceApplyId()), |
| | | " select 1 from apply_detail ad where ad.applyId = "+memberQueryDTO.getInsuranceApplyId()+" and ad.END_TIME > now() and ad.isdeleted = 0 " + |
| | | " and ad.member_id = t.id ") |
| | | .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 " + |
| | | " and ad.member_id = t.id "); |
| | | if(!Objects.isNull(memberQueryDTO.getInsuranceApplyId())){ |
| | | lambdaWrapper = new MPJLambdaWrapper<Member>() |
| | | .selectAll(Member.class) |
| | | .selectAs(DispatchUnit::getName,Member::getDuName) |
| | | .selectAs(Worktype::getName,Member::getWorkTypeName) |
| | | .leftJoin(ApplyDetail.class,ApplyDetail::getMemberId,Member::getId) |
| | | .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId) |
| | | .leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyDetail::getDuId) |
| | | .leftJoin(Worktype.class,Worktype::getId,ApplyDetail::getWorktypeId) |
| | | .eq(Member::getIsdeleted, Constants.ZERO) |
| | | .eq(InsuranceApply::getId,memberQueryDTO.getInsuranceApplyId()) |
| | | .exists(!Objects.isNull(memberQueryDTO.getInsuranceApplyId()), |
| | | " 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 |
| | | ); |
| | | return memberList; |
| | | } |
| | |
| | | public List<Worktype> findListByDTO(WorkTypeQueryDTO workTypeQueryDTO){ |
| | | List<Worktype> list = worktypeMapper.selectList(new QueryWrapper<Worktype>().lambda() |
| | | .eq(Worktype::getIsdeleted,Constants.ZERO) |
| | | .eq(Worktype::getDataType,Constants.TWO) |
| | | .apply(workTypeQueryDTO.getQueryType().equals(Constants.ZERO), |
| | | "id in ( select sw.worktype_id from solution_worktype sw where sw.SOLUTION_ID = "+workTypeQueryDTO.getId()+" )") |
| | | .apply(workTypeQueryDTO.getQueryType().equals(Constants.ONE), |