From 18b05b40f7b62962e05250e6a07abca27b5adf67 Mon Sep 17 00:00:00 2001
From: nidapeng <jp@doumee.com>
Date: 星期一, 01 四月 2024 15:02:24 +0800
Subject: [PATCH] 提交一把
---
company/src/views/business/unionApply.vue | 31 ++-
server/service/src/main/java/com/doumee/core/utils/Constants.java | 14 +-
company/src/assets/style/style.scss | 12 +
server/service/src/main/java/com/doumee/dao/business/model/UnionApply.java | 5
server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java | 6
company/src/api/business/unionApply.js | 3
company/src/components/business/OpearaUnionApply.vue | 291 +++++++++++++++++++++++++----------------
server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java | 58 +++++--
8 files changed, 261 insertions(+), 159 deletions(-)
diff --git a/company/src/api/business/unionApply.js b/company/src/api/business/unionApply.js
index cb10f1a..7655b62 100644
--- a/company/src/api/business/unionApply.js
+++ b/company/src/api/business/unionApply.js
@@ -11,6 +11,9 @@
export function create (data) {
return request.post('/business/unionApply/create', data)
}
+export function merge (data) {
+ return request.post('/business/unionApply/merge', data)
+}
// 淇敼
export function updateById (data) {
diff --git a/company/src/assets/style/style.scss b/company/src/assets/style/style.scss
index 1e51656..faf843f 100644
--- a/company/src/assets/style/style.scss
+++ b/company/src/assets/style/style.scss
@@ -77,22 +77,24 @@
::v-deep .el-table__cell {
height: 100% !important;
}
-.apply-status0, .apply-status28,.apply-status20,.apply-status21,.apply-status22,
-.apply-status25,.apply-status2 , .apply-status3, .apply-status10,
+.apply-status0, .apply-status26,.apply-status20,.apply-status21,.apply-status22,
+.apply-status23,.apply-status2 , .apply-status3, .apply-status10,
.change-status0,.change-status1,.change-status2,
.settle-status0,.settle-status2,.settle-status3,
.tax-status0,
+.union-apply-status0,.union-apply-status1,.union-apply-status2
.du-status0 {
color: #216EEE !important;
}
-.apply-status1 ,.apply-status24,.apply-status23, .apply-status4, .apply-status6,
+.apply-status1 ,.apply-status24,.apply-status25, .apply-status4, .apply-status6,
.apply-status7, .apply-status8, .apply-status11,
.change-status3,.change-status4,.change-status5,.change-status8,
.settle-status1,
-.tax-status2,
+.tax-status2,union-apply-status4
.du-status2 {
color: #F95601 !important;
}
- .apply-status5,.apply-status26,.change-status7,.settle-status7,.tax-status1,.du-status1,.settle-status4 {
+ .apply-status5,.apply-status27,.change-status7,.settle-status7,
+ .tax-status1,.du-status1,.settle-status4 .union-apply-status3 {
color: #00BA92 !important;
}
diff --git a/company/src/components/business/OpearaUnionApply.vue b/company/src/components/business/OpearaUnionApply.vue
index 915a281..d7726d3 100644
--- a/company/src/components/business/OpearaUnionApply.vue
+++ b/company/src/components/business/OpearaUnionApply.vue
@@ -9,8 +9,8 @@
>
<div class="list">
<el-form :inline="true" ref="form" :model="form" :rules="rules" class="demo-form-inline">
- <el-form-item label="淇濋櫓鏂规" prop="solutionsId">
- <el-select v-model="form.solutionsId" @change="selectSolutions" placeholder="璇烽�夋嫨">
+ <el-form-item label="淇濋櫓鏂规" prop="baseSolutionId">
+ <el-select v-model="form.baseSolutionId" @change="selectSolutions" placeholder="璇烽�夋嫨">
<el-option
v-for="item in solutions"
:key="item.baseId"
@@ -19,14 +19,14 @@
</el-option>
</el-select>
</el-form-item>
- <el-form-item label="淇濋櫓鐢熸晥璧锋鏈�" prop="applyStartTime">
+ <el-form-item label="淇濋櫓鐢熸晥璧锋鏈�" prop="startDate">
<div style="display: flex; flex-direction: column;">
<el-date-picker
@change="changeTime"
v-model="time"
type="daterange"
- value-format="yyyy-MM-dd HH:mm:ss"
- format="yyyy-MM-dd HH:mm:ss"
+ format="yyyy 骞� MM 鏈� dd 鏃�"
+ value-format="yyyy-MM-dd"
range-separator="鑷�"
start-placeholder="寮�濮嬫棩鏈�"
end-placeholder="缁撴潫鏃ユ湡" />
@@ -56,6 +56,7 @@
:data="list"
border
ref="multipleTable"
+ @selection-change="handleSelectionChange"
style="width: 100%;margin-bottom: 15px;">
<el-table-column
type="selection"
@@ -67,23 +68,23 @@
</template>
</el-table-column>
<el-table-column
- prop="memberName"
+ prop="companyName"
label="琚繚闄╀汉">
</el-table-column>
<el-table-column
- prop="idCard"
+ prop="applyStartTime"
label="鏈熸湜淇濋櫓鐢熸晥璧锋湡">
</el-table-column>
<el-table-column
- prop="oldDuName"
+ prop="applyEndTime"
label="鏈熸湜淇濋櫓鐢熸晥姝㈡湡">
</el-table-column>
<el-table-column
- prop="oldWorkTypeName"
+ prop="insureNum"
label="鎶曚繚浜烘暟">
</el-table-column>
<el-table-column
- prop="duName"
+ prop="fee"
label="鎬昏垂鐢�">
</el-table-column>
<el-table-column
@@ -107,112 +108,172 @@
</template>
<script>
- import BaseOpera from '@/components/base/BaseOpera'
- import GlobalWindow from '@/components/common/GlobalWindow'
- import selectApplicationForm from '@/components/business/selectApplicationForm'
- import employeeList from '@/components/business/employeeList'
- import { all } from '@/api/business/solutions'
- export default {
- name: 'factoryChange',
- extends: BaseOpera,
- components: { GlobalWindow, selectApplicationForm, employeeList },
- data () {
- return {
- form: {
- id: null,
- solutionsId: '',
- applyStartTime: '',
- applyEndTime: ''
- },
- solutions: [],
- list: [],
- endTime: '',
- item: null,
- time: [],
- // 楠岃瘉瑙勫垯
- rules: {
- applyStartTime: [
- { required: true, message: '璇烽�夋嫨淇濋櫓鐢熸晥璧锋湡' }
- ],
- solutionsName: [
- { required: true, message: '璇烽�夋嫨淇濋櫓鏂规' }
- ]
- }
- }
- },
- created () {
- this.config({
- api: '/business/insuranceApply',
- 'field.id': 'id'
- })
- },
- methods: {
- confirm() {
- this.$confirm('纭鎻愪氦锛岃浠旂粏鏍稿淇℃伅銆�', '鎻愮ず', {
- confirmButtonText: '纭畾',
- cancelButtonText: '鍙栨秷',
- type: 'warning',
- center: true
- }).then(() => {
- this.$message({
- type: 'success',
- message: '纭畾!'
- });
- }).catch(() => {
- this.$message({
- type: 'info',
- message: '鍙栨秷'
- });
- });
- },
- getValue(e) {
- console.log(e)
- },
- selectApplicationForm() {
- if (!this.form.solutionsId) return this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
- this.$refs.selectApplicationForm.open('閫夋嫨鐢宠鍗�', this.form.solutionsId)
- },
- changeTime(e) {
- if (e.length > 0) {
- this.form.applyStartTime = e[0]
- this.form.applyEndTime = e[1]
- } else {
- this.form.applyStartTime = ''
- this.form.applyEndTime = ''
- }
- },
- open (title, target) {
- this.getSolutions()
- this.title = title
- if (target) {
- this.$nextTick(() => {
- this.$refs.form.resetFields()
- })
- } else {
- this.$nextTick(() => {
- this.$refs.form.resetFields()
- this.form[this.configData['field.id']] = null
- })
- }
- this.visible = true
- },
- // 鏌ヨ鍏ㄩ儴鏂规
- getSolutions() {
- all({})
- .then(res => {
- this.solutions = res
- })
- },
- // 閫夋嫨淇濋櫓鍗�
- selectSolutions(id) {
- this.solutions.forEach(item => {
- if (item.id === id) {
- this.item = item
- }
- })
- }
- }
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import selectApplicationForm from '@/components/business/selectApplicationForm'
+import employeeList from '@/components/business/employeeList'
+import { all } from '@/api/business/solutions'
+import { closeWtbForShop, fetchList } from '@/api/business/insuranceApply'
+import { merge } from '@/api/business/unionApply'
+export default {
+ name: 'factoryChange',
+ extends: BaseOpera,
+ components: { GlobalWindow, selectApplicationForm, employeeList },
+ data () {
+ return {
+ form: {
+ baseSolutionId: null,
+ applyIds: [],
+ startDate: null,
+ endDate: null
+ },
+ solutions: [],
+ list: [],
+ endTime: '',
+ item: null,
+ time: [],
+ // 楠岃瘉瑙勫垯
+ rules: {
+ baseSolutionId: [
+ { required: true, message: '璇烽�夋嫨淇濋櫓鏂规' }
+ ],
+ startDate: [
+ { required: true, message: '璇烽�夋嫨淇濋櫓鐢熸晥璧锋湡' }
+ ]
+ }
}
+ },
+ created () {
+ this.config({
+ api: '/business/insuranceApply',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+ handleSelectionChange (val) {
+ // this.multipleSelection = val;
+ this.form.applyIds = []
+ // 鍋囪鍙栧嚭 id 瀛楁
+ val.forEach(item => {
+ const id = item.id
+ if ( this.form.applyIds.indexOf(id) === -1) {
+ this.form.applyIds.push(id)
+ }
+ })
+ },
+ confirm () {
+ this.$refs.form.validate((valid) => {
+ // debugger
+ if (!valid) {
+ return
+ }
+ if(this.form.applyIds == null || this.form.applyIds.length ===0){
+ this.$tip.apiFailed({
+ type: 'error',
+ message: '璇烽�夋嫨鑷冲皯涓�鏉$敵璇疯褰曡繘琛屾姇淇濈敵璇凤紒!'
+ })
+ return;
+ }
+ this.$confirm('纭鎻愪氦锛岃浠旂粏鏍稿淇℃伅銆�', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning',
+ center: true
+ }).then(() => {
+ merge(this.form)
+ .then(response => {
+ this.$message({
+ type: 'success',
+ message: '鎻愪氦鎴愬姛!'
+ })
+ this.visible = false
+ this.$emit('success')
+ }).catch(err => {
+ this.$tip.apiFailed(err)
+ })
+ }).catch(() => {
+ this.$message({
+ type: 'info',
+ message: '鍙栨秷'
+ })
+ })
+ })
+ },
+ getValue (e) {
+ console.log(e)
+ },
+ selectApplicationForm () {
+ if (!this.form.solutionsId) return this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
+ this.$refs.selectApplicationForm.open('閫夋嫨鐢宠鍗�', this.form.solutionsId)
+ },
+ changeTime (e) {
+ if (e.length > 0) {
+ this.form.startDate = e[0]
+ this.form.endDate = e[1]
+ } else {
+ this.form.startDate = ''
+ this.form.endDate = ''
+ }
+ },
+ open (title, target) {
+ this.getSolutions()
+ this.title = title
+ this.solutions= []
+ this.list= []
+ this.item= null
+ this.time= []
+ if (target) {
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ })
+ } else {
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ this.form[this.configData['field.id']] = null
+ })
+ }
+ this.visible = true
+ },
+ // 鏌ヨ鍏ㄩ儴鏂规
+ getSolutions () {
+ all({ dataType: 0, type: 1 })
+ .then(res => {
+ this.solutions = res
+ })
+ },
+ search () {
+ this.currentPage = 1
+ this.getList()
+ },
+ getList () {
+ fetchList({
+ capacity: 10,
+ page: this.currentPage,
+ model: {
+ solutionBaseId: this.form.solutionsId,
+ status: 23
+ }
+ }).then(res => {
+ this.list = res.records
+ this.total = res.total
+ this.$nextTick(() => {
+ if (this.$refs.table && this.$refs.table.doLayout) {
+ this.$refs.table.doLayout()
+ }
+ })
+ })
+ },
+ // 閫夋嫨淇濋櫓鍗�
+ selectSolutions (id) {
+ this.search()
+ this.solutions.forEach(item => {
+ if (item.baseId === id) {
+ this.item = item
+ }
+ })
+ }
+ }
+}
</script>
<style lang="scss" scoped>
diff --git a/company/src/views/business/unionApply.vue b/company/src/views/business/unionApply.vue
index 23a90fc..c60d53c 100644
--- a/company/src/views/business/unionApply.vue
+++ b/company/src/views/business/unionApply.vue
@@ -3,21 +3,21 @@
<!-- 鎼滅储琛ㄥ崟 -->
<el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
<el-form-item label="淇濆崟鐘舵��" prop="status">
- <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨" @keypress.enter.native="search">
- <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="4"></el-option>
- <el-option label="宸查��鍥�" value="5"></el-option>
+ <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨" clearable @keypress.enter.native="search">
+ <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="4"></el-option>
</el-select>
</el-form-item>
<el-form-item label="淇濋櫓鏂规" prop="solutionId">
- <el-select v-model="searchForm.solutionId" placeholder="璇烽�夋嫨" @change="search">
+ <el-select v-model="searchForm.solutionId" clearable placeholder="璇烽�夋嫨" @change="search">
<el-option
v-for="item in solutionList"
- :key="item.baseId"
+ :key="item.id"
:label="item.name"
- :value="item.baseId">
+ :value="item.id">
</el-option>
</el-select>
</el-form-item>
@@ -40,7 +40,7 @@
<!-- 琛ㄦ牸鍜屽垎椤� -->
<template v-slot:table-wrap>
<ul class="toolbar" v-permissions="['business:insurance:create']">
- <li><el-button type="primary" @click="$refs.OpearaUnionApply.open('鎶曚繚璇︽儏', row)" v-permissions="['business:insurance:create']">鎻愪氦鐢宠</el-button></li>
+ <li><el-button type="primary" @click="$refs.OpearaUnionApply.open('濮旀墭鎶曚繚鐢宠')" v-permissions="['business:insurance:create']">鎻愪氦鐢宠</el-button></li>
</ul>
<el-table
v-loading="isWorking.search"
@@ -54,10 +54,14 @@
</el-table-column>
<el-table-column prop="statusInfo" label="鐘舵��" min-width="100px">
<template slot-scope="{row}">
- <span :class="'apply-status'+row.status" >{{row.statusInfo}}</span>
+ <span :class="'union-apply-status'+row.status" v-if="row.status==0">寰呭鏍� </span>
+ <span :class="'union-apply-status'+row.status" v-if="row.status==1">寰呯缃� </span>
+ <span :class="'union-apply-status'+row.status" v-if="row.status==2">寰呭嚭鍗� </span>
+ <span :class="'union-apply-status'+row.status" v-if="row.status==3">淇濋殰涓� </span>
+ <span :class="'union-apply-status'+row.status" v-if="row.status==4">宸查��鍥� </span>
</template>
</el-table-column>
- <el-table-column prop="solutionsName" label="淇濋櫓鏂规" min-width="100px"></el-table-column>
+ <el-table-column prop="solutionName" label="淇濋櫓鏂规" min-width="100px"></el-table-column>
<el-table-column prop="insureNum" label="鎶曚繚浜烘暟" min-width="100px"></el-table-column>
<el-table-column prop="fee" label="鎬昏垂鐢紙鍏冿級" min-width="100px"></el-table-column>
<el-table-column prop="createDate" label="鎻愪氦鏃堕棿" min-width="100px"></el-table-column>
@@ -118,6 +122,7 @@
'field.main': 'id'
})
this.search()
+ this.loadSelectList()
},
methods:{
// 鎼滅储妗嗛噸缃�
@@ -138,7 +143,7 @@
this.search()
},
loadSelectList() {
- solutionAll({dataType:2}).then(res => {
+ solutionAll({dataType:0,type:1}).then(res => {
this.solutionList = res
}).catch(err => {
})
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 08a0aca..7403a7e 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
@@ -878,11 +878,11 @@
}
public enum UnionApplyStatus {
- MERGE(1, "寰呬笂浼犱繚鍗�","",0),
- WAIT_SIGNATURE(2, "寰呯缃�","",0),
- UPLOAD_INSURANCE_POLICY(3, "寰呬笂浼犱繚鍗�","",0),
- FINISH(4, "淇濋殰涓�","",0),
- CLOSE(5, "鍏抽棴","",0),
+ MERGE(0, "寰呬笂浼犱繚鍗�","",0),
+ WAIT_SIGNATURE(1, "寰呯缃�","",0),
+ UPLOAD_INSURANCE_POLICY(2, "寰呬笂浼犱繚鍗�","",0),
+ FINISH(3, "淇濋殰涓�","",0),
+ CLOSE(4, "鍏抽棴","",0),
;
// 鎴愬憳鍙橀噺
private String name;
@@ -1052,8 +1052,8 @@
WTB_UPLOAD(20, "鎻愪氦鎶曚繚","",28),
- WTB_COMPANY_APPLY_SIGNATURE(21, "濮旀墭淇�-浼佷笟宸茬缃叉姇淇濈‘璁や功","鎻愪氦鎰忚锛�${param}",28),
- WTB_COMPANY_MEMBER_LIST_SIGNATURE(22, "濮旀墭淇�-浼佷笟宸茬缃蹭汉鍛樺悕鍗�","鎻愪氦鎰忚锛�${param}",22),
+ WTB_COMPANY_APPLY_SIGNATURE(21, "浼佷笟宸茬缃叉姇淇濈‘璁や功","鎻愪氦鎰忚锛�${param}",28),
+ WTB_COMPANY_MEMBER_LIST_SIGNATURE(22, "浼佷笟宸茬缃蹭汉鍛樺悕鍗�","鎻愪氦鎰忚锛�${param}",22),
WTB_BUSINESS_CHECK_PASS(23,"鍟嗘埛鎶曚繚瀹℃牳閫氳繃","鎻愪氦鎰忚锛�${param}",23),
WTB_RETURN(24, "宸查��鍥�","鎻愪氦鎰忚锛�${param}",24),
WTB_CLOSED(25, "宸插叧闂�","鎻愪氦鎰忚锛�${param}",25),
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/UnionApply.java b/server/service/src/main/java/com/doumee/dao/business/model/UnionApply.java
index 3d5f275..4bda0a5 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/UnionApply.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/UnionApply.java
@@ -33,7 +33,6 @@
@ApiModelProperty(value = "鍒涘缓鏃堕棿")
@ExcelColumn(name="鍒涘缓鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd")
private Date createDate;
@ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
@@ -42,7 +41,6 @@
@ApiModelProperty(value = "鏇存柊鏃堕棿")
@ExcelColumn(name="鏇存柊鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd")
private Date editDate;
@ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
@@ -126,4 +124,7 @@
@ApiModelProperty(value = "鏈嶅姟澶╂暟")
@TableField(exist = false)
private Integer serviceDays;
+ @ApiModelProperty(value = "鎶曚繚浜烘暟")
+ @TableField(exist = false)
+ private Integer insureNum;
}
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java
index 82c40bd..2b7c1ed 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java
@@ -362,12 +362,18 @@
@Override
public List<Solutions> findList(Solutions solutions) {
+ LoginUserInfo user = (LoginUserInfo)SecurityUtils.getSubject().getPrincipal();
solutions.setIsdeleted(Constants.ZERO);
solutions.setStatus(Constants.ZERO);
if(solutions.getDataType() == null){
solutions.setDataType(Constants.TWO);
}
+ if(Constants.equalsObject(user.getType(),Constants.TWO)){
+ //濡傛灉鏄垹闄�
+ solutions.setShopId(user.getCompanyId());
+ }
QueryWrapper<Solutions> wrapper = new QueryWrapper<>(solutions);
+
return solutionsMapper.selectList(wrapper);
}
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java
index 04b339c..6f22a3c 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java
@@ -147,13 +147,18 @@
MPJLambdaWrapper<UnionApply> queryWrapper = new MPJLambdaWrapper<>();
Utils.MP.blankToNull(pageWrap.getModel());
queryWrapper.selectAll(UnionApply.class);
+ queryWrapper.selectAs(Solutions::getName,UnionApply::getSolutionName);
+ queryWrapper.select("(select count(b.id) from apply_detail b where b.isdeleted=0 and b.union_apply_id=t.id) as insureNum ");
queryWrapper.leftJoin(Solutions.class,Solutions::getId,UnionApply::getSolutionId);
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
- if(user.getType().equals(Constants.TWO)){
- queryWrapper.eq(UnionApply::getCompanyId, pageWrap.getModel().getCompanyId());
+ if(Constants.equalsInteger(user.getType(),Constants.TWO)){
+ queryWrapper.eq(UnionApply::getCompanyId, user.getCompanyId());
}
if (pageWrap.getModel().getId() != null) {
queryWrapper.eq(UnionApply::getId, pageWrap.getModel().getId());
+ }
+ if (pageWrap.getModel().getSolutionId() != null) {
+ queryWrapper.eq(UnionApply::getSolutionId, pageWrap.getModel().getSolutionId());
}
if (pageWrap.getModel().getCreator() != null) {
queryWrapper.eq(UnionApply::getCreator, pageWrap.getModel().getCreator());
@@ -219,14 +224,18 @@
}
if (pageWrap.getModel().getSignApplyNo() != null) {
queryWrapper.eq(UnionApply::getSignApplyNo, pageWrap.getModel().getSignApplyNo());
- }
- for(PageWrap.SortData sortData: pageWrap.getSorts()) {
- if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
- queryWrapper.orderByDesc(sortData.getProperty());
- } else {
- queryWrapper.orderByAsc(sortData.getProperty());
+ }if(pageWrap.getSorts().size() == 0){
+ queryWrapper.orderByDesc(UnionApply::getCreateDate );
+ }else {
+ for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+ if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+ queryWrapper.orderByDesc(sortData.getProperty());
+ } else {
+ queryWrapper.orderByAsc(sortData.getProperty());
+ }
}
}
+
PageData<UnionApply> pageData = PageData.from(unionApplyJoinMapper.selectJoinPage(page,UnionApply.class, queryWrapper));
return pageData;
}
@@ -273,6 +282,7 @@
@Override
+ @Transactional(rollbackFor ={BusinessException.class,Exception.class} )
public Integer merge(SaveUnionApplyDTO saveUnionApplyDTO){
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
if(!user.getType().equals(Constants.TWO)){
@@ -280,16 +290,27 @@
}
if(Objects.isNull(saveUnionApplyDTO)
|| Objects.isNull(saveUnionApplyDTO.getApplyIds())
+ || saveUnionApplyDTO.getApplyIds().size() == 0
|| Objects.isNull(saveUnionApplyDTO.getStartDate())
|| Objects.isNull(saveUnionApplyDTO.getEndDate())
+ || saveUnionApplyDTO.getStartDate().getTime()>saveUnionApplyDTO.getEndDate().getTime()
|| Objects.isNull(saveUnionApplyDTO.getBaseSolutionId())
){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
+ Solutions solutions = solutionsMapper.selectOne(new QueryWrapper<Solutions>().lambda().
+ eq(Solutions::getType,Constants.ONE)
+ .eq(Solutions::getIsdeleted,Constants.ZERO)
+ .eq(Solutions::getDataType,Constants.ZERO)
+ .eq(Solutions::getBaseId,saveUnionApplyDTO.getBaseSolutionId()));
+ //鏌ヨ鏂规鏁版嵁
+ if(solutions == null){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝鏂规淇℃伅鏈夎锛岃鍒锋柊椤甸潰閲嶈瘯");
+ }
List<InsuranceApply> insuranceApplyList = insuranceApplyJoinMapper.selectJoinList(InsuranceApply.class,
new MPJLambdaWrapper<InsuranceApply>()
.selectAll(InsuranceApply.class)
- .selectAs(InsuranceApply::getSolutionBaseId,Solutions::getBaseId)
+ .selectAs(Solutions::getBaseId,InsuranceApply::getSolutionBaseId)
.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
.eq(InsuranceApply::getIsdeleted, Constants.ZERO)
.eq(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.WTB_BUSINESS_CHECK_PASS.getKey())
@@ -312,11 +333,19 @@
unionApply.setStatus(Constants.UnionApplyStatus.MERGE.getKey());
unionApply.setCheckUserId(user.getId());
unionApply.setCurrentFee(BigDecimal.ZERO);
+ unionApply.setIsdeleted(Constants.ZERO);
+ unionApply.setSolutionId(solutions.getId());
Integer maxDays = DateUtil.calculateBetween(saveUnionApplyDTO.getStartDate(),saveUnionApplyDTO.getEndDate(),0);
- List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectList(new QueryWrapper<ApplyDetail>().lambda().select(ApplyDetail::getPrice)
- .in(ApplyDetail::getApplyId,saveUnionApplyDTO.getApplyIds()));
- unionApply.setFee(applyDetailList.stream().map(i->i.getPrice().multiply(new BigDecimal(maxDays))).reduce(BigDecimal.ZERO,BigDecimal::add));
+
+ List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectList(new QueryWrapper<ApplyDetail>().lambda().select(ApplyDetail::getId,ApplyDetail::getPrice)
+ .in(ApplyDetail::getApplyId,saveUnionApplyDTO.getApplyIds())
+ .eq(ApplyDetail::getIsdeleted,Constants.ZERO));
+ if(applyDetailList.size()==0){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝瀛樺湪濮旀墭鎶曚繚鐢宠璁板綍淇℃伅鏈夎锛岃杩斿洖鏌ョ湅鐢宠浜哄憳鏄惁涓虹┖锛�");
+ }
+ unionApply.setFee(applyDetailList.stream().map(i->Constants.formatBigdecimal(i.getPrice()).multiply(new BigDecimal(maxDays))).reduce(BigDecimal.ZERO,BigDecimal::add));
+
unionApplyMapper.insert(unionApply);
insuranceApplyJoinMapper.update(null,new UpdateWrapper<InsuranceApply>().lambda()
@@ -464,16 +493,11 @@
multifile.setFileurl(uploadMultifileDTO.getFileurl());
multifile.setName(uploadMultifileDTO.getName());
multifileMapper.insert(multifile);
-
-
-
-
}
/**
* 鍚堝苟鍗� - 鎶曚繚鐢宠绛剧讲
- * @param id
* @return
*/
@Override
--
Gitblit v1.9.3