Merge remote-tracking branch 'origin/master'
# Conflicts:
# server/service/src/main/java/com/doumee/core/utils/Constants.java
| | |
| | | trim: true |
| | | }) |
| | | } |
| | | |
| | | // å表æ¥è¯¢ |
| | | export function list(data) { |
| | | return request.post('/business/taxes/list', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | |
| | | <el-date-picker |
| | | @change="getTimeVal" |
| | | v-model="form.applyStartTime" |
| | | type="datetime" |
| | | type="date" |
| | | class="date_picker" |
| | | default-time="00:00:00" |
| | | :disabled="!form.solutionId" |
| | | :picker-options="pickerOptions" |
| | | value-format="yyyy-MM-dd hh:mm:ss" |
| | | format="yyyy-MM-dd hh:mm:ss" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="éæ©æ¥æ"> |
| | | </el-date-picker> |
| | | <span style="color: #F95601; font-size: 14px;">ï¼æ¬¡æ¥çææä¿è¯·äº17:30åæäº¤ï¼è¶
æ¶æäº¤ä»¥ä¿é©å为åï¼</span> |
| | |
| | | <el-date-picker |
| | | disabled |
| | | v-model="form.applyEndTime" |
| | | type="datetime" |
| | | default-time="00:00:00" |
| | | value-format="yyyy-MM-dd hh:mm:ss" |
| | | format="yyyy-MM-dd hh:mm:ss" |
| | | type="date" |
| | | class="date_picker" |
| | | :picker-options="pickerOptions" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="éæ©æ¥æ"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | |
| | | startDate: time |
| | | }).then(res => { |
| | | this.price = res.cyclePrice |
| | | this.form.applyEndTime = res.endDate.substring(0, 10) |
| | | this.form.applyEndTime = res.endDate |
| | | this.tableData.forEach(item => { |
| | | item.fee = res.cyclePrice |
| | | }) |
| | |
| | | v-model="form.applyStartTime" |
| | | type="date" |
| | | :picker-options="pickerOptions" |
| | | value-format="yyyy-MM-dd" |
| | | format="yyyy å¹´ MM æ dd æ¥" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="éæ©æ¥æ"> |
| | | </el-date-picker> |
| | | <span style="color: #F95601; font-size: 14px;">ï¼æ¬¡æ¥çææä¿è¯·äº17:30åæäº¤ï¼è¶
æ¶æäº¤ä»¥ä¿é©å为åï¼</span> |
| | |
| | | <div style="display: flex; flex-direction: column;"> |
| | | <el-date-picker |
| | | v-model="form.applyStartTime" |
| | | type="datetime" |
| | | type="date" |
| | | :picker-options="pickerOptions" |
| | | value-format="yyyy-MM-dd hh:mm:ss" |
| | | format="yyyy-MM-dd hh:mm:ss" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="éæ©æ¥æ"> |
| | | </el-date-picker> |
| | | <span style="color: #F95601; font-size: 14px;">ï¼æ¬¡æ¥çææä¿è¯·äº17:30åæäº¤ï¼è¶
æ¶æäº¤ä»¥ä¿é©å为åï¼</span> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | width="100%" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | | > |
| | | <div class="info"> |
| | | <div class="info_list"> |
| | | <div class="info_list_item"> |
| | | <div class="info_list_item_label">å¼ç¥¨åç§°ï¼</div> |
| | | <div class="info_list_item_val">{{userInfo.company.name}}</div> |
| | | </div> |
| | | <div class="info_list_item"> |
| | | <div class="info_list_item_label">纳ç¨äººè¯å«å·ï¼</div> |
| | | <div class="info_list_item_val">{{userInfo.company.code}}</div> |
| | | </div> |
| | | <div class="info_list_item"> |
| | | <div class="info_list_item_label">弿·è¡ï¼</div> |
| | | <div class="info_list_item_val">{{userInfo.company.taxBank}}</div> |
| | | </div> |
| | | <div class="info_list_item"> |
| | | <div class="info_list_item_label">è´¦å·ï¼</div> |
| | | <div class="info_list_item_val"> |
| | | {{userInfo.company.taxAccount}} |
| | | </div> |
| | | </div> |
| | | <div class="info_list_item" style="width: 100%;"> |
| | | <div class="info_list_item_label">å°åãçµè¯ï¼</div> |
| | | <div class="info_list_item_val">{{userInfo.company.invoiceAddr}} {{userInfo.company.phone}}</div> |
| | | </div> |
| | | <div class="info_list_item" style="width: 100%;"> |
| | | <div class="info_list_item_label">å¼ç¥¨éé¢ï¼</div> |
| | | <div class="info_list_item_val" style="color:rgba(249, 86, 1, 0.996078431372549);">{{total}}</div> |
| | | </div> |
| | | <div class="info_list_item" style="width: 100%;"> |
| | | <div class="info_list_item_label">æ¥æ¶æ¹å¼ï¼</div> |
| | | <div class="info_list_item_val">çµåå票</div> |
| | | <!-- <div v-if="model.type === 1" class="info_list_item_val">纸质å票</div>--> |
| | | </div> |
| | | </div> |
| | | <el-table |
| | | :data="form.list" |
| | | border |
| | | show-summary |
| | | :summary-method="getSummaries" |
| | | style="width: 100%; margin-bottom: 20px;"> |
| | | <el-table-column |
| | | label="åºå·" |
| | | align="center" |
| | | width="80"> |
| | | <template slot-scope="scope"> |
| | | <span>{{scope.$index + 1}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | align="center" |
| | | prop="solutionsName" |
| | | label="ä¿é©æ¹æ¡"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | align="center" |
| | | prop="code" |
| | | label="ä¿åå·"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | align="center" |
| | | label="éé¢"> |
| | | <template slot-scope="{row}"> |
| | | <span style="color:rgba(249, 86, 1, 0.996078431372549);">{{row.totalPrice}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { mapState } from 'vuex' |
| | | export default { |
| | | name: 'entrustedInvoicingApplication', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | data () { |
| | | return { |
| | | form: { |
| | | id: null, |
| | | backInfo:'', |
| | | list: [] |
| | | }, |
| | | rules: { |
| | | backInfo: [ |
| | | { required: true, message: '请è¾å
¥éå说æ' } |
| | | ] |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | console.log(this.userInfo) |
| | | this.config({ |
| | | api: '/business/taxes', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | computed: { |
| | | ...mapState(['userInfo']), |
| | | total () { |
| | | let price = 0 |
| | | this.form.list.forEach(item => { |
| | | price += item.totalPrice |
| | | }) |
| | | return price; |
| | | } |
| | | }, |
| | | methods: { |
| | | open (title, target) { |
| | | this.title = title |
| | | this.visible = true |
| | | this.$nextTick(() => { |
| | | for (const key in this.form) { |
| | | this.form[key] = target[key] |
| | | } |
| | | }) |
| | | }, |
| | | getSummaries (param) { |
| | | const { columns, data } = param |
| | | const sums = [] |
| | | columns.forEach((column, index) => { |
| | | if (index === 0) { |
| | | sums[index] = 'å计' |
| | | } else if (index == 4) { |
| | | let price = 0 |
| | | data.forEach(item => { |
| | | price += item.totalPrice |
| | | }) |
| | | sums[index] = price |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | ::v-deep .el-table__footer-wrapper tbody td { |
| | | cursor: pointer; |
| | | text-align: center; |
| | | &:nth-child(5) { |
| | | color:rgba(249, 86, 1, 0.996078431372549); |
| | | } |
| | | } |
| | | /* ::v-deep .el-table__header-wrapper th:first-child .cell{ |
| | | color:rgba(249, 86, 1, 0.996078431372549) !important |
| | | } |
| | | ::v-deep table:first-of-type th:first-child .cell{ |
| | | //color:rgba(249, 86, 1, 0.996078431372549) !important |
| | | } |
| | | ::v-deep .el-table--border th:first-child .cell { |
| | | &:nth-child(2) { |
| | | color:rgba(249, 86, 1, 0.996078431372549); |
| | | } |
| | | }*/ |
| | | |
| | | |
| | | .info { |
| | | width: 100%; |
| | | .info_label { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | margin-bottom: 20px; |
| | | span { |
| | | font-size: 14px; |
| | | font-weight: 500; |
| | | color: #000000; |
| | | } |
| | | } |
| | | .info_list { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: left; |
| | | flex-wrap: wrap; |
| | | .info_list_item { |
| | | width: 50%; |
| | | display: flex; |
| | | align-items: start; |
| | | font-size: 14px; |
| | | margin-bottom: 20px; |
| | | .info_list_item_label { |
| | | width: 150px; |
| | | flex-shrink: 0; |
| | | } |
| | | .info_list_item_val { |
| | | flex: 1; |
| | | display: flex; |
| | | align-items: center; |
| | | .image { |
| | | width: 100px; |
| | | height: 100px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | overflow: hidden; |
| | | img { |
| | | width: 100%; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .form { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | .form_item { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 20px; |
| | | &:last-child { |
| | | margin-bottom: 0 !important; |
| | | } |
| | | .form_item_label { |
| | | width: 100px; |
| | | flex-shrink: 0; |
| | | font-size: 14px; |
| | | color: black; |
| | | } |
| | | .form_item_val { |
| | | flex: 1; |
| | | min-height: 35px; |
| | | display: flex; |
| | | align-items: center; |
| | | input { |
| | | width: 100%; |
| | | height: 100%; |
| | | font-size: 14px; |
| | | color: black; |
| | | padding: 5px 10px; |
| | | outline: none; |
| | | box-sizing: border-box; |
| | | border: 1px solid #ececec; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | width="100%" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | | > |
| | | <div style="width: 100%; display: flex; align-items: center; margin-bottom: 20px;"> |
| | | ä¿é©æ¹æ¡ï¼{{form.solutionsName}} <div style="width: 20px;"></div> ä¿åå·ï¼{{form.code || '-'}} |
| | | </div> |
| | | <el-table |
| | | :data="list" |
| | | border |
| | | ref="table" |
| | | style="width: 100%"> |
| | | <el-table-column label="åºå·" width="80px"> |
| | | <template slot-scope="scope"> |
| | | <span>{{scope.$index + 1}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="solutionName" |
| | | label="ç³è¯·å¼ç¥¨æ¶é´"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="bdCode" |
| | | label="å¼ç¥¨ç¶æ"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="applyChangeId" |
| | | label="å¼ç¥¨éé¢ï¼å
ï¼"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="duName" |
| | | label="æ¥æ¶æ¹å¼"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="æä½"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text">ç³è¯·è¯¦æ
</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { list } from '@/api/business/taxes' |
| | | export default { |
| | | name: 'entrustmentHistory', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | data () { |
| | | return { |
| | | form: { |
| | | id: null, |
| | | solutionsName: '', |
| | | code: '' |
| | | }, |
| | | list: [] |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/dispatchUnit', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | open (title, target) { |
| | | this.title = title |
| | | this.visible = true |
| | | // ç¼è¾ |
| | | this.$nextTick(() => { |
| | | for (const key in this.form) { |
| | | this.form[key] = target[key] |
| | | } |
| | | this.getList() |
| | | }) |
| | | }, |
| | | getList() { |
| | | list({ insuranceApplyId: this.form.id }) |
| | | .then(res => { |
| | | console.log(res) |
| | | this.list = res |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <div style="display: flex; flex-direction: column;"> |
| | | <el-date-picker |
| | | v-model="form.applyStartTime" |
| | | type="datetime" |
| | | type="date" |
| | | :picker-options="pickerOptions" |
| | | value-format="yyyy-MM-dd hh:mm:ss" |
| | | format="yyyy-MM-dd hh:mm:ss" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="éæ©æ¥æ"> |
| | | </el-date-picker> |
| | | <span style="color: #F95601; font-size: 14px;">ï¼æ¬¡æ¥çææä¿è¯·äº17:30åæäº¤ï¼è¶
æ¶æäº¤ä»¥ä¿é©å为åï¼</span> |
| | |
| | | end-placeholder="ç»ææ¥æ"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="ç³è¯·å¼ç¥¨ä¼ä¸" prop="companyId"> |
| | | <el-form-item label="ç³è¯·å¼ç¥¨ä¼ä¸" prop="companyId" v-if="userInfo.type === 0"> |
| | | <el-select v-model="searchForm.companyId" placeholder="è¯·éæ©" @change="search"> |
| | | <el-option |
| | | v-for="item in companyList" |
| | |
| | | <span v-if="row.status === 3">å·²å²çº¢</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="companyName" label="ç³è¯·ä¼ä¸" min-width="100px"></el-table-column> |
| | | <el-table-column prop="companyName" label="ç³è¯·ä¼ä¸" min-width="100px" v-if="userInfo.type === 0"></el-table-column> |
| | | <el-table-column prop="createDate" label="ç³è¯·å¼ç¥¨æ¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column prop="creatorName" label="ç³è¯·äºº" min-width="100px"></el-table-column> |
| | | <el-table-column prop="price" label="å¼ç¥¨éé¢ï¼å
ï¼" min-width="100px"></el-table-column> |
| | |
| | | </el-table-column> |
| | | <el-table-column label="æä½" min-width="180px"> |
| | | <template slot-scope="{row}"> |
| | | <el-button v-if="row.status==0" type="text" @click="$refs.OperaTaxesUploadWindow.open('ä¸ä¼ å票',row)">ä¸ä¼ å票</el-button> |
| | | <el-button v-if="row.status ==1 " type="text" @click="$refs.OperaTaxesUploadWindow.open('ä¿®æ¹å票',row)">ä¿®æ¹å票</el-button> |
| | | <el-button type="text" @click="$refs.OperaTaxesWindow.open('ç³è¯·è¯¦æ
',row)">ç³è¯·è¯¦æ
</el-button> |
| | | <el-button v-if="row.status == 0" type="text" @click="$refs.OperaTaxesUploadWindow.open('ä¸ä¼ å票',row)">ä¸ä¼ å票</el-button> |
| | | <el-button v-if="row.status == 1 && userInfo.type === 0" type="text" @click="$refs.OperaTaxesUploadWindow.open('ä¿®æ¹å票',row)">ä¿®æ¹å票</el-button> |
| | | <el-button type="text" @click="$refs.OperaTaxesWindow.open('ç³è¯·è¯¦æ
',row)">ç³è¯·è¯¦æ
</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | import { pageAll as companyAll } from '@/api/business/company' |
| | | import { doneApply } from '@/api/business/taxes' |
| | | import UploadAvatarImage from '@/components/common/UploadAvatarImage' |
| | | import { mapState } from 'vuex' |
| | | export default { |
| | | name: 'Taxes', |
| | | extends: BaseTable, |
| | |
| | | visible: false |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapState(['userInfo']) |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: 'å票信æ¯è¡¨', |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <TableLayout> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul style="margin-bottom: 30px;width: 100%;display: flex;align-items: center;justify-content: space-between;"> |
| | | <li style="font-size: 18px;font-weight: bold;">ç³è¯·å¼ç¥¨</li> |
| | | <li><el-button type="primary" @click="apply">æäº¤å¼ç¥¨</el-button></li> |
| | | </ul> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" fixed="left" 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="statusInfo" label="ç¶æ"></el-table-column> |
| | | <el-table-column prop="solutionsName" label="ä¿é©æ¹æ¡"></el-table-column> |
| | | <el-table-column prop="code" label="ä¿åå·"></el-table-column> |
| | | <el-table-column label="产çè´¹ç¨ï¼å
ï¼"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{row.currentFee}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="å·²å¼ç¥¨è´¹ç¨ï¼å
ï¼"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{row.taxesMoney}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="fee" label="æªå¼ç¥¨è´¹ç¨ï¼å
ï¼"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{row.currentFee - row.taxesMoney}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="taxesLast" 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 label="æä½" min-width="180px"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.entrustmentHistory.open('å¼ç¥¨åå²', row)">å¼ç¥¨åå²</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | <!-- ç³è¯· --> |
| | | <entrustedInvoicingApplication ref="entrustedInvoicingApplication" @success="handlePageChange" /> |
| | | <!-- å¼ç¥¨åå² --> |
| | | <entrustmentHistory ref="entrustmentHistory" @success="handlePageChange" /> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import entrustedInvoicingApplication from '@/components/enterprise/entrustedInvoicingApplication' |
| | | import entrustmentHistory from '@/components/enterprise/entrustmentHistory' |
| | | export default { |
| | | name: 'directInvoicing', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, entrustedInvoicingApplication, entrustmentHistory }, |
| | | data () { |
| | | return { |
| | | searchForm: { |
| | | type: 0 |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: 'æä¿ç³è¯·ä¿¡æ¯è¡¨', |
| | | api: '/business/insuranceApply', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | this.search() |
| | | }, |
| | | methods: { |
| | | apply() { |
| | | if (this.tableData.selectedRows.length === 0) { |
| | | this.$message.warning('è³å°éæ©ä¸é¡¹å
容') |
| | | return |
| | | } |
| | | for (let i = 0; i < this.tableData.selectedRows.length; i++) { |
| | | if (this.tableData.selectedRows[i].currentFee - this.tableData.selectedRows[i].taxesMoney === 0) { |
| | | this.$message.warning(`第${i + 1}项å¯å¼ç¥¨éé¢ä¸º0ï¼ä¸è½è¿è¡å¼ç¥¨ï¼`) |
| | | return |
| | | } |
| | | } |
| | | let obj = {} |
| | | obj.list = JSON.parse(JSON.stringify(this.tableData.selectedRows)) |
| | | obj.list.forEach(item => { |
| | | item.totalPrice = item.currentFee - item.taxesMoney |
| | | }) |
| | | console.log(obj.list) |
| | | this.$refs.entrustedInvoicingApplication.open('ç³è¯·å¼ç¥¨', obj) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .form { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | .form_item { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 20px; |
| | | &:last-child { |
| | | margin-bottom: 0 !important; |
| | | } |
| | | .form_item_label { |
| | | width: 100px; |
| | | flex-shrink: 0; |
| | | font-size: 14px; |
| | | color: black; |
| | | } |
| | | .form_item_val { |
| | | flex: 1; |
| | | min-height: 35px; |
| | | display: flex; |
| | | align-items: center; |
| | | input { |
| | | width: 100%; |
| | | height: 100%; |
| | | font-size: 14px; |
| | | color: black; |
| | | padding: 5px 10px; |
| | | outline: none; |
| | | box-sizing: border-box; |
| | | border: 1px solid #ececec; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <TableLayout> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul style="margin-bottom: 30px;width: 100%;display: flex;align-items: center;justify-content: space-between;"> |
| | | <li style="font-size: 18px;font-weight: bold;">ç³è¯·å¼ç¥¨</li> |
| | | <li><el-button type="primary" @click="apply">æäº¤å¼ç¥¨</el-button></li> |
| | | </ul> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" fixed="left" 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="statusInfo" label="ç¶æ"></el-table-column> |
| | | <el-table-column prop="solutionsName" label="ä¿é©æ¹æ¡"></el-table-column> |
| | | <el-table-column prop="code" label="ä¿åå·"></el-table-column> |
| | | <el-table-column label="产çè´¹ç¨ï¼å
ï¼"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{row.currentFee}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="å·²å¼ç¥¨è´¹ç¨ï¼å
ï¼"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{row.taxesMoney}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="fee" label="æªå¼ç¥¨è´¹ç¨ï¼å
ï¼"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{row.currentFee - row.taxesMoney}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="taxesLast" 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 label="æä½" min-width="180px"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.entrustmentHistory.open('å¼ç¥¨åå²', row)">å¼ç¥¨åå²</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | <!-- ç³è¯· --> |
| | | <entrustedInvoicingApplication ref="entrustedInvoicingApplication" @success="handlePageChange" /> |
| | | <!-- å¼ç¥¨åå² --> |
| | | <entrustmentHistory ref="entrustmentHistory" @success="handlePageChange" /> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import entrustedInvoicingApplication from '@/components/enterprise/entrustedInvoicingApplication' |
| | | import entrustmentHistory from '@/components/enterprise/entrustmentHistory' |
| | | export default { |
| | | name: 'entrustedInvoicing', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, entrustedInvoicingApplication, entrustmentHistory }, |
| | | data () { |
| | | return { |
| | | searchForm: { |
| | | type: 1 |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: 'æä¿ç³è¯·ä¿¡æ¯è¡¨', |
| | | api: '/business/insuranceApply', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | this.search() |
| | | }, |
| | | methods: { |
| | | apply() { |
| | | if (this.tableData.selectedRows.length === 0) { |
| | | this.$message.warning('è³å°éæ©ä¸é¡¹å
容') |
| | | return |
| | | } |
| | | for (let i = 0; i < this.tableData.selectedRows.length; i++) { |
| | | if (this.tableData.selectedRows[i].currentFee - this.tableData.selectedRows[i].taxesMoney === 0) { |
| | | this.$message.warning(`第${i + 1}项å¯å¼ç¥¨éé¢ä¸º0ï¼ä¸è½è¿è¡å¼ç¥¨ï¼`) |
| | | return |
| | | } |
| | | } |
| | | let obj = {} |
| | | obj.list = JSON.parse(JSON.stringify(this.tableData.selectedRows)) |
| | | obj.list.forEach(item => { |
| | | item.totalPrice = item.currentFee - item.taxesMoney |
| | | }) |
| | | console.log(obj.list) |
| | | this.$refs.entrustedInvoicingApplication.open('ç³è¯·å¼ç¥¨', obj) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .form { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | .form_item { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 20px; |
| | | &:last-child { |
| | | margin-bottom: 0 !important; |
| | | } |
| | | .form_item_label { |
| | | width: 100px; |
| | | flex-shrink: 0; |
| | | font-size: 14px; |
| | | color: black; |
| | | } |
| | | .form_item_val { |
| | | flex: 1; |
| | | min-height: 35px; |
| | | display: flex; |
| | | align-items: center; |
| | | input { |
| | | width: 100%; |
| | | height: 100%; |
| | | font-size: 14px; |
| | | color: black; |
| | | padding: 5px 10px; |
| | | outline: none; |
| | | box-sizing: border-box; |
| | | border: 1px solid #ececec; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | return ApiResponse.success(taxesService.findPageForCompany(pageWrap)); |
| | | } |
| | | |
| | | @ApiOperation("å表æ¥è¯¢") |
| | | @PostMapping("/list") |
| | | @RequiresPermissions("business:taxes:query") |
| | | public ApiResponse<List<Taxes>> findList (@RequestBody Taxes taxes) { |
| | | return ApiResponse.success(taxesService.findListForCompany(taxes)); |
| | | } |
| | | |
| | | @ApiOperation("导åºExcel") |
| | | @PostMapping("/exportExcel") |
| | | @RequiresPermissions("business:taxes:exportExcel") |
| | |
| | | ExcelExporter.build(Taxes.class).export(taxesService.findPage(pageWrap).getRecords(), "å票信æ¯è¡¨", response); |
| | | } |
| | | |
| | | @ApiOperation("è·åä¼ä¸ä¿¡æ¯") |
| | | @GetMapping("/getCompanyDetail") |
| | | |
| | | @ApiOperation("æ ¹æ®IDæ¥è¯¢") |
| | | @GetMapping("/{id}") |
| | | @RequiresPermissions("business:taxes:query") |
| | | public ApiResponse<Taxes> getCompanyDetail() { |
| | | LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | if(!loginUserInfo.getType().equals(Constants.ONE)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"éä¼ä¸ç±»ç¨æ·æ æ³è¿è¡è¯¥æä½"); |
| | | } |
| | | return ApiResponse.success(taxesService.findById(loginUserInfo.getCompanyId())); |
| | | public ApiResponse<Taxes> findById(@PathVariable Integer id) { |
| | | return ApiResponse.success(taxesService.findById(id)); |
| | | } |
| | | |
| | | // @ApiOperation("è·åä¼ä¸ä¿¡æ¯") |
| | | // @GetMapping("/getCompanyDetail") |
| | | // @RequiresPermissions("business:taxes:query") |
| | | // public ApiResponse<Taxes> getCompanyDetail() { |
| | | // LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | // if(!loginUserInfo.getType().equals(Constants.ONE)){ |
| | | // throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"éä¼ä¸ç±»ç¨æ·æ æ³è¿è¡è¯¥æä½"); |
| | | // } |
| | | // return ApiResponse.success(taxesService.findById(loginUserInfo.getCompanyId())); |
| | | // } |
| | | |
| | | @ApiOperation("æäº¤å§æææ¥å¼ç¥¨") |
| | | @PostMapping("/entrustInvoicing") |
| | | public ApiResponse entrustInvoicing(@RequestBody EntrustInvoicingDTO entrustInvoicingDTOs) { |
| | |
| | | public static CountCyclePriceVO countPriceVO(Date startDate, Solutions solutions){ |
| | | CountCyclePriceVO countCyclePriceVO = new CountCyclePriceVO(); |
| | | if(solutions.getInsureCycleUnit().equals(Constants.ZERO)){ |
| | | countCyclePriceVO.setEndDate(DateUtil.afterDateByType(startDate,0,solutions.getInsureCycle())); |
| | | countCyclePriceVO.setEndDate( |
| | | DateUtil.getMontageDate( |
| | | DateUtil.afterDateByType(startDate,0,solutions.getInsureCycle()) |
| | | ,2) |
| | | ); |
| | | }else if(solutions.getInsureCycleUnit().equals(Constants.TWO)){ |
| | | //è·åå½æå¤©æ° |
| | | Integer monthDays = DateUtil.monthDays(startDate); |
| | | //è·å天æ°åçæ¥æ |
| | | Date afterDate = DateUtil.afterDateByType(startDate,0,monthDays); |
| | | countCyclePriceVO.setEndDate(DateUtil.afterDateByType(afterDate,0,-1)); |
| | | //èµå¼ æ¯æ¥ç»ææ¶åç§ |
| | | countCyclePriceVO.setEndDate(DateUtil.getMontageDate(afterDate,2)); |
| | | }else if(solutions.getInsureCycleUnit().equals(Constants.THREE)){ |
| | | //è·åX年忥æ å¤äºä¸å¤© |
| | | Date afterDate = DateUtil.afterDateByType(startDate,2,solutions.getInsureCycle()); |
| | | countCyclePriceVO.setEndDate(DateUtil.afterDateByType(afterDate,0,-1)); |
| | | //èµå¼ æ¯æ¥ç»ææ¶åç§ ç¶ååå°ä¸å¤© |
| | | countCyclePriceVO.setEndDate(DateUtil.getMontageDate(afterDate,3)); |
| | | } |
| | | countCyclePriceVO.setCyclePrice(Constants.countDetailFee(solutions,countCyclePriceVO.getEndDate(),startDate)); |
| | | return countCyclePriceVO; |
| | |
| | | AUDIT_UN_PASS(2, "æ´¾é£åä½ä¸éè¿"), |
| | | EDIT_UNIT(3, "ä¿®æ¹æ´¾é£åä½ä¿¡æ¯"), |
| | | ADD_WORK_TYPE(4, "æäº¤æ·»å å·¥ç§"), |
| | | WORK_TYPE_AUDIT_PASS(5, "æ·»å å·¥ç§å®¡æ ¸éè¿"), |
| | | WORK_TYPE_AUDIT_UN_PASS(6, "æ·»å å·¥ç§å®¡æ ¸ä¸éè¿"), |
| | | WORK_TYPE_AUDIT_PASS(5, "æ·»å å·¥ç§å®¡æ¹éè¿"), |
| | | WORK_TYPE_AUDIT_UN_PASS(6, "æ·»å å·¥ç§å®¡æ¹ä¸éè¿"), |
| | | ; |
| | | // æååé |
| | | private String name; |
| | |
| | | } |
| | | |
| | | public enum ApplyCollectStatus { |
| | | DSP(0, "å¾
å®¡æ ¸"), |
| | | DSP(0, "å¾
审æ¹"), |
| | | DCD(1, "å¾
åºå"), |
| | | BZZ(2, "ä¿éä¸"), |
| | | YGQ(3, "å·²è¿æ"), |
| | |
| | | |
| | | |
| | | public enum ApplyLogType { |
| | | UPLOAD(0, "æäº¤æä¿","æäº¤æè§ï¼${param}"), |
| | | PLATFORM_RETURN(1, "éåæä¿","æäº¤æè§ï¼${param}"), |
| | | WAIT_SIGNATURE(2, "ä¸ä¼ æä¿å","æäº¤æè§ï¼${param}"), |
| | | SIGNATURE(3, "ä¼ä¸ç¾ç« ",""), |
| | | FAIL_RETURN(4, "ä¿ååºå
·å¤±è´¥éå","æäº¤æè§ï¼${param}"), |
| | | UPLOAD_INSURANCE(5, "ä¿å宿","ä¿é©çæèµ·æï¼${param1}åæ´ä¸º${param2}"), |
| | | COMPANY_APPLY_RETURN(6, "ç³è¯·éå","æäº¤æè§ï¼${param}"), |
| | | COMPANY_APPLY_CLOSE(7, "å
³éç³è¯·",""), |
| | | PLATFORM_AGREE_BACK(8, "åæéåç³è¯·",""), |
| | | PLATFORM_UN_AGREE_BACK(9, "驳åéåç³è¯·","æäº¤æè§ï¼${param}"), |
| | | COMPANY_EDIT(10, "ä¿åä¿®æ¹","æäº¤æè§ï¼${param1}\n${param2}"), |
| | | PLATFORM_CHECK_PASS(11, "æä¿å®¡æ ¸éè¿",""), |
| | | CA_PLATFORM_CHECK_PASS_NO(12, "éåæä¿","æäº¤æè§ï¼${param}"), |
| | | CA_PLATFORM_AGREE_BACK_APPLY(13, "åæéåç³è¯·","æäº¤æè§ï¼${param}"), |
| | | CA_PLATFORM_APPROVE(14, "æ¹å宿","ä¿é©çæèµ·æï¼${param1}åæ´ä¸º${param2}"), |
| | | CA_PLATFORM_CHECK_SIGNATURE(15, "ä¼ä¸ç¾ç« ",""), |
| | | CA_COMPANY_EDIT(16, "æ¹åä¿®æ¹","æäº¤æè§ï¼${param1}\n${param2}"), |
| | | CA_COMPANY_COMMIT(17, "æäº¤æä¿","æäº¤æè§ï¼${param}"), |
| | | CA_COMPANY_BACK_APPLY(18, "ç³è¯·éå","æäº¤æè§ï¼${param}"), |
| | | CA_COMPANY_CLOSE(19, "å
³é订å",""), |
| | | CA_PALTFORM_REFUSE_APPLY(20, "驳åéåç³è¯·",""), |
| | | CA_PALTFORM_EDIT_PIDAN(21, "ä¿®æ¹æ¹å","ä¿®æ¹åå ï¼${param}"), |
| | | PALTFORM_EDIT_BD(22, "ä¿®æ¹ä¿å","ä¿®æ¹åå ï¼${param}"), |
| | | CA_JIAJIAN_APPLY_SIGN(23, "å åä¿ç³è¯·ä¼ä¸ç¾ç« ",""), |
| | | UPLOAD(0, "æäº¤æä¿","æäº¤æè§ï¼${param}",0), |
| | | PLATFORM_RETURN(1, "éåæä¿","æäº¤æè§ï¼${param}",0), |
| | | WAIT_SIGNATURE(2, "ä¸ä¼ æä¿å","æäº¤æè§ï¼${param}",0), |
| | | SIGNATURE(3, "ä¼ä¸ç¾ç« ","",0), |
| | | FAIL_RETURN(4, "ä¿ååºå
·å¤±è´¥éå","æäº¤æè§ï¼${param}",0), |
| | | UPLOAD_INSURANCE(5, "ä¿å宿","ä¿é©çæèµ·æï¼${param1}åæ´ä¸º${param2}",0), |
| | | COMPANY_APPLY_RETURN(6, "ç³è¯·éå","æäº¤æè§ï¼${param}",0), |
| | | COMPANY_APPLY_CLOSE(7, "å
³éç³è¯·","",0), |
| | | PLATFORM_AGREE_BACK(8, "åæéåç³è¯·","",0), |
| | | PLATFORM_UN_AGREE_BACK(9, "驳åéåç³è¯·","æäº¤æè§ï¼${param}",0), |
| | | COMPANY_EDIT(10, "ä¿åä¿®æ¹","æäº¤æè§ï¼${param1}\n${param2}",0), |
| | | PLATFORM_CHECK_PASS(11, "æä¿å®¡æ ¸éè¿","",0), |
| | | UPLOAD_AGAIN(26, "忬¡æä¿","",0), |
| | | |
| | | CA_CHANGUNIT_APPLY_SIGN(24, "æ¢æç³è¯·ä¼ä¸ç¾ç« ",""), |
| | | |
| | | CA_PLATFORM_CHECK_PASS_NO(12, "éåæä¿","æäº¤æè§ï¼${param}",1), |
| | | CA_PLATFORM_AGREE_BACK_APPLY(13, "åæéåç³è¯·","æäº¤æè§ï¼${param}",1), |
| | | CA_PLATFORM_APPROVE(14, "æ¹å宿","ä¿é©çæèµ·æï¼${param1}åæ´ä¸º${param2}",1), |
| | | CA_PLATFORM_CHECK_SIGNATURE(15, "ä¼ä¸ç¾ç« ","",1), |
| | | CA_COMPANY_EDIT(16, "æ¹åä¿®æ¹","æäº¤æè§ï¼${param1}\n${param2}",1), |
| | | CA_COMPANY_COMMIT(17, "æäº¤æä¿","æäº¤æè§ï¼${param}",1), |
| | | CA_COMPANY_BACK_APPLY(18, "ç³è¯·éå","æäº¤æè§ï¼${param}",1), |
| | | CA_COMPANY_CLOSE(19, "å
³é订å","",1), |
| | | CA_PALTFORM_REFUSE_APPLY(20, "驳åéåç³è¯·","",1), |
| | | CA_PALTFORM_EDIT_PIDAN(21, "ä¿®æ¹æ¹å","ä¿®æ¹åå ï¼${param}",1), |
| | | PALTFORM_EDIT_BD(22, "ä¿®æ¹ä¿å","ä¿®æ¹åå ï¼${param}",1), |
| | | CA_JIAJIAN_APPLY_SIGN(23, "å åä¿ç³è¯·ä¼ä¸ç¾ç« ","",1), |
| | | CA_CHANGUNIT_APPLY_SIGN(24, "æ¢æç³è¯·ä¼ä¸ç¾ç« ","",1), |
| | | CA_UPLOAD_AGAIN(25, "忬¡æä¿","",1), |
| | | ; |
| | | // æååé |
| | | private String name; |
| | | private String info; |
| | | private int key; |
| | | private int type; |
| | | |
| | | // æé æ¹æ³ |
| | | ApplyLogType(int key, String name,String info) { |
| | | ApplyLogType(int key, String name,String info,int type) { |
| | | this.name = name; |
| | | this.info = info; |
| | | this.key = key; |
| | | this.type = type; |
| | | } |
| | | |
| | | // æ®éæ¹æ³ |
| | |
| | | } |
| | | return null; |
| | | } |
| | | public static List<Integer> getTypeList(int type) { |
| | | List<Integer> list = new ArrayList<>(); |
| | | for (ApplyLogType c : ApplyLogType.values()) { |
| | | if (c.getType() == type) { |
| | | list.add(c.getKey()); |
| | | } |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | |
| | | // get set æ¹æ³ |
| | | public String getName() { |
| | |
| | | public void setInfo(String info) { |
| | | this.info = info; |
| | | } |
| | | |
| | | |
| | | public int getType() { |
| | | return type; |
| | | } |
| | | |
| | | public void setType(int type) { |
| | | this.type = type; |
| | | } |
| | | } |
| | | |
| | | public enum InsuranceApplyStatus { |
| | |
| | | COMPANY_BACK_APPLY_WAIT_SIGNATURE(7, "ä¼ä¸ç³è¯·éå(å¾
ç¾ç« )","æäº¤æè§ï¼${param}",5), |
| | | COMPANY_BACK_APPLY_SIGNATURE(8, "ä¼ä¸ç³è¯·éå(å·²ç¾ç« )","æäº¤æè§ï¼${param}",5), |
| | | CLOSE(9, "订åå
³é","",6), |
| | | PLATFORM_CHECK_PASS(10,"平尿ä¿å®¡æ ¸éè¿","æäº¤æè§ï¼${param}",0), |
| | | PLATFORM_CHECK_PASS(10,"平尿ä¿å®¡æ ¸éè¿","æäº¤æè§ï¼${param}",1), |
| | | ; |
| | | // æååé |
| | | private String name; |
| | |
| | | |
| | | public enum NoticeType { |
| | | |
| | | ZERO(0, "å¾
å®¡æ ¸","","","å¾
å®¡æ ¸","å·²ç³è¯·","å¾
åç"), |
| | | ZERO(0, "å¾
审æ¹","","","å¾
å®¡æ ¸","å·²ç³è¯·","å¾
åç"), |
| | | ONE(1, "ä¼ä¸å¾
ç¾ç½²","","","å·¥ç§å¾
å®¡æ ¸","","宿åç"), |
| | | TWO(2, "å¾
åºå","å¾
å®¡æ ¸","å¾
å®¡æ ¸","","",""), |
| | | TWO(2, "å¾
åºå","å¾
审æ¹","å¾
审æ¹","","",""), |
| | | THREE(3, "ç³è¯·éå","ç³è¯·éå","ç³è¯·éå","","",""), |
| | | FOUR(4, "å·²éå","å·²éå","å·²éå","","",""), |
| | | FIVE(5, "ç³è¯·é©³å","ç³è¯·é©³å","ç³è¯·é©³å","","","") |
| | |
| | | calo.setTime(oldDate); |
| | | caln.setTime(newDate); |
| | | if(type==0||type==1){ |
| | | return calculateDaysBetweenDates(caln, calo) ; |
| | | return calculateDaysBetweenDates(caln, calo) + 1 ; |
| | | }else if(type==2){ |
| | | |
| | | int day = caln.get(Calendar.DATE); |
| | |
| | | PageData<Taxes> findPage(PageWrap<Taxes> pageWrap); |
| | | |
| | | PageData<Taxes> findPageForCompany(PageWrap<Taxes> pageWrap); |
| | | |
| | | List<Taxes> findListForCompany(Taxes queryModel); |
| | | /** |
| | | * æ¡ä»¶ç»è®¡ |
| | | * |
| | |
| | | applyChangeMapper.updateById(applyChangeFee); |
| | | |
| | | |
| | | this.saveApplyLog(applyChange,Constants.ApplyChangeLogStatus.UPLOAD,null); |
| | | |
| | | Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_COMPANY_COMMIT; |
| | | String info =applyLogType.getInfo(); |
| | | // info = info.replace("${param}", update.getCheckInfo()); |
| | | ApplyLog log = new ApplyLog(applyChange,applyLogType.getName(),info,applyChange.getId(),applyLogType.getKey(), null, null); |
| | | applyLogMapper.insert(log); |
| | | |
| | | |
| | | return applyChange.getId(); |
| | | } |
| | | |
| | |
| | | BigDecimal fee = this.dealApplyChangeData(applyChange,insuranceApply,companySolution,solutions,loginUserInfo,BigDecimal.ZERO); |
| | | applyChange.setFee(fee); |
| | | applyChangeMapper.updateById(applyChange); |
| | | this.saveApplyLog(applyChange,Constants.ApplyChangeLogStatus.UPLOAD,null); |
| | | |
| | | |
| | | Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_UPLOAD_AGAIN; |
| | | String info =applyLogType.getInfo(); |
| | | // info = info.replace("${param}", update.getCheckInfo()); |
| | | ApplyLog log = new ApplyLog(applyChange,applyLogType.getName(),info,applyChange.getId(),applyLogType.getKey(), null, null); |
| | | applyLogMapper.insert(log); |
| | | |
| | | |
| | | return applyChange.getId(); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | public void saveApplyLog(ApplyChange applyChange,Constants.ApplyChangeLogStatus applyChangeLogStatus,String content){ |
| | | public void saveApplyLog(ApplyChange applyChange,Constants.ApplyLogType applyLogType,String content){ |
| | | LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | ApplyLog applyLog = new ApplyLog(); |
| | | applyLog.setCreateDate(new Date()); |
| | | applyLog.setCreator(loginUserInfo.getId()); |
| | | applyLog.setIsdeleted(Constants.ZERO); |
| | | applyLog.setApplyId(applyChange.getApplyId()); |
| | | applyLog.setTitle(applyChangeLogStatus.getName()); |
| | | applyLog.setTitle(applyLogType.getName()); |
| | | if(StringUtils.isNotBlank(content)){ |
| | | applyLog.setContent(applyChangeLogStatus.getInfo().replace("${param}",content)); |
| | | }else{ |
| | | applyLog.setContent(applyChangeLogStatus.getInfo()); |
| | | applyLog.setContent(applyLogType.getInfo().replace("${param}",content)); |
| | | } |
| | | applyLog.setObjType(applyChangeLogStatus.getKey()); |
| | | applyLog.setObjType(applyLogType.getKey()); |
| | | applyLog.setObjId( applyChange.getId()); |
| | | applyLog.setStatus(applyChange.getStatus()); |
| | | applyLogMapper.insert(applyLog); |
| | |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"æªæ¥è¯¢æ¹æ¡ä¿¡æ¯"); |
| | | } |
| | | |
| | | Constants.ApplyChangeLogStatus applyChangeLogStatus = Constants.ApplyChangeLogStatus.RETURN_APPLY; |
| | | Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_PLATFORM_CHECK_PASS_NO; |
| | | |
| | | Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.APPLY_CHANGE; |
| | | if(applyChange.getType().equals(Constants.ONE)){ |
| | |
| | | |
| | | |
| | | }else if(applyChangeOptDTO.getOptType().equals(4)){ |
| | | applyChangeLogStatus = Constants.ApplyChangeLogStatus.PLATFORM_AGREE; |
| | | applyLogType = Constants.ApplyLogType.CA_PLATFORM_AGREE_BACK_APPLY; |
| | | //å¹³å°åæéå |
| | | if(loginUserInfo.getType().equals(Constants.ZERO)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"éå¹³å°ç«¯ç¨æ·æ æ³è¿è¡è¯¥æä½"); |
| | |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"æ°æ®ç¶æéè¯¯æ æ³è¿è¡è¯¥æä½!"); |
| | | } |
| | | }else if(applyChangeOptDTO.getOptType().equals(5)){ |
| | | applyChangeLogStatus = Constants.ApplyChangeLogStatus.PLATFORM_UN_AGREE; |
| | | applyLogType = Constants.ApplyLogType.CA_PALTFORM_REFUSE_APPLY; |
| | | //å¹³å°é©³åéå |
| | | if(loginUserInfo.getType().equals(Constants.ZERO)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"éå¹³å°ç«¯ç¨æ·æ æ³è¿è¡è¯¥æä½"); |
| | |
| | | } |
| | | }else if(applyChangeOptDTO.getOptType().equals(6)){ |
| | | //ä¼ä¸å
³é |
| | | applyChangeLogStatus = Constants.ApplyChangeLogStatus.CLOSE; |
| | | applyLogType = Constants.ApplyLogType.CA_COMPANY_CLOSE; |
| | | if(!loginUserInfo.getType().equals(Constants.ONE)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"éä¼ä¸ç«¯ç¨æ·æ æ³è¿è¡è¯¥æä½"); |
| | | } |
| | |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"æ°æ®ç¶æéè¯¯æ æ³è¿è¡è¯¥æä½!"); |
| | | } |
| | | applyChange.setStatus(Constants.ApplyChangeStatus.CLOSE.getKey()); |
| | | |
| | | |
| | | //åå¨å¾
åä¿¡æ¯ |
| | | //å é¤å
¶ä»å¾
å |
| | |
| | | applyChange.setEditDate(new Date()); |
| | | applyChangeMapper.updateById(applyChange); |
| | | |
| | | //å卿¥å¿æ°æ® |
| | | this.saveApplyLog(applyChange,applyChangeLogStatus,applyChangeOptDTO.getOptIllustration()); |
| | | String info = applyLogType.getInfo(); |
| | | info = info.replace("${param}", applyChangeOptDTO.getOptIllustration()); |
| | | ApplyLog log = new ApplyLog(applyChange,applyLogType.getName(),info,applyChange.getId(),applyLogType.getKey(), null, null); |
| | | applyLogMapper.insert(log); |
| | | } |
| | | |
| | | |
| | |
| | | .selectAs(Company::getName,ApplyLog::getCompanyName) |
| | | .leftJoin(SystemUser.class,SystemUser::getId,ApplyLog::getCreator) |
| | | .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId) |
| | | .in(ApplyLog::getObjType,Constants.ApplyLogType.getTypeList(Constants.ONE)) |
| | | .eq(ApplyLog::getObjId,applyChange.getId()) |
| | | .orderByAsc(ApplyLog::getCreateDate) |
| | | ); |
| | |
| | | updBean.setFee(applyDetailList.stream().map(ApplyDetail::getFee).reduce(BigDecimal.ZERO,BigDecimal::add)); |
| | | insuranceApplyMapper.updateById(updBean); |
| | | //å卿¥å¿æ°æ® |
| | | this.saveApplyLog(insuranceApply,insuranceApplyStatus,null); |
| | | Constants.ApplyLogType applyLogType = Constants.ApplyLogType.UPLOAD; |
| | | String info =applyLogType.getInfo(); |
| | | // info = info.replace("${param}", update.getCheckInfo()); |
| | | ApplyLog log = new ApplyLog(insuranceApply,applyLogType.getName(),info,insuranceApply.getId(),applyLogType.getKey(),null, null); |
| | | applyLogMapper.insert(log); |
| | | |
| | | |
| | | |
| | | //åéå¾
åä¸å¡ |
| | | |
| | | //åå¨å¾
åä¿¡æ¯ |
| | |
| | | insuranceApply.setFee(applyDetailList.stream().map(ApplyDetail::getFee).reduce(BigDecimal.ZERO,BigDecimal::add)); |
| | | insuranceApplyMapper.updateById(insuranceApply); |
| | | //å卿¥å¿æ°æ® |
| | | this.saveApplyLog(insuranceApply,insuranceApplyStatus,null); |
| | | |
| | | Constants.ApplyLogType applyLogType = Constants.ApplyLogType.UPLOAD_AGAIN; |
| | | String info =applyLogType.getInfo(); |
| | | // info = info.replace("${param}", update.getCheckInfo()); |
| | | ApplyLog log = new ApplyLog(insuranceApply,applyLogType.getName(),info,insuranceApply.getId(),applyLogType.getKey(),null, null); |
| | | applyLogMapper.insert(log); |
| | | |
| | | |
| | | //åå¨å¾
åä¿¡æ¯ |
| | |
| | | } |
| | | |
| | | |
| | | public void saveApplyLog(InsuranceApply insuranceApply,Constants.InsuranceApplyStatus insuranceApplyStatus,String content){ |
| | | LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | ApplyLog applyLog = new ApplyLog(); |
| | | applyLog.setCreateDate(new Date()); |
| | | applyLog.setCreator(loginUserInfo.getId()); |
| | | applyLog.setIsdeleted(Constants.ZERO); |
| | | applyLog.setApplyId(insuranceApply.getId()); |
| | | applyLog.setTitle(insuranceApplyStatus.getName()); |
| | | applyLog.setContent(content); |
| | | applyLog.setObjType(insuranceApplyStatus.getKey()); |
| | | applyLog.setObjId( insuranceApply.getId()); |
| | | applyLog.setStatus(insuranceApply.getStatus()); |
| | | applyLogMapper.insert(applyLog); |
| | | } |
| | | |
| | | |
| | | |
| | | // public BigDecimal countDetailFee(Solutions solutions ,Date startDate,Date endDate){ |
| | | // //æ¥è¯¢ä¿é©å®é
卿 |
| | | // Integer cycle = DateUtil.calculateBetween(endDate,startDate,solutions.getDataType()); |
| | | // if(cycle==-1){ |
| | | // throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"æ¥æä¿¡æ¯é误!"); |
| | | // } |
| | | // return solutions.getPrice().multiply(new BigDecimal(cycle)); |
| | | // } |
| | | |
| | | // public static void main(String[] args) { |
| | | // Date date1 = DateUtil.StringToDate("2023-03-01 00:00:00"); |
| | | // Date date2 = DateUtil.StringToDate("2023-04-01 00:00:00"); |
| | | // System.out.println(DateUtil.calculateBetween(date1,date2,0)); |
| | | // System.out.println(DateUtil.calculateBetween(date1,date2,1)); |
| | | // System.out.println(DateUtil.calculateBetween(date1,date2,2)); |
| | | // System.out.println(DateUtil.calculateBetween(date1,date2,3)); |
| | | // |
| | | // } |
| | | |
| | | |
| | | @Override |
| | | public void deleteById(Integer id) { |
| | | insuranceApplyMapper.deleteById(id); |
| | |
| | | queryWrapper.select(" DATEDIFF( t.END_TIME ,now() ) AS loseEfficacyDays "); |
| | | queryWrapper.select(" ( select count(1) from apply_detail ad where ad.apply_id = t.id ) as insureNum"); |
| | | if(!Objects.isNull(pageWrap.getModel())&&!Objects.isNull(pageWrap.getModel().getType())){ |
| | | queryWrapper.select(" ( select sum(td.fee) from taxes ts inner join tax_detial td on td.TAX_ID = ts.id where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id ) as taxesMoney"); |
| | | queryWrapper.select(" ifnull(( select sum(td.fee) from taxes ts inner join tax_detial td on td.TAX_ID = ts.id where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id ),0) as taxesMoney"); |
| | | queryWrapper.select(" ( select td.CREATE_DATE from taxes ts inner join tax_detial td on td.TAX_ID = ts.id where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id order by td.CREATE_DATE desc limit 1 ) as taxesLast "); |
| | | } |
| | | queryWrapper.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId); |
| | |
| | | .selectAs(Company::getName,ApplyLog::getCompanyName) |
| | | .leftJoin(SystemUser.class,SystemUser::getId,ApplyLog::getCreator) |
| | | .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId) |
| | | .in(ApplyLog::getObjType,Constants.ApplyLogType.getTypeList(Constants.ZERO)) |
| | | .eq(ApplyLog::getApplyId,insuranceApply.getId()) |
| | | .orderByAsc(ApplyLog::getCreateDate) |
| | | ); |
| | |
| | | info = info.replace("${param}", insuranceApplyOptDTO.getOptIllustration()); |
| | | ApplyLog log = new ApplyLog(insuranceApply,applyLogType.getName(),info,insuranceApply.getId(),applyLogType.getKey(),JSONObject.toJSONString(insuranceApply), JSONObject.toJSONString(insuranceApply)); |
| | | applyLogMapper.insert(log); |
| | | // this.saveApplyLog(insuranceApply,insuranceApplyStatus,null); |
| | | } |
| | | |
| | | |
| | |
| | | queryWrapper.selectAll(Taxes.class); |
| | | queryWrapper.selectAs(SystemUser::getRealname,Taxes::getCreatorName); |
| | | queryWrapper.leftJoin(SystemUser.class,SystemUser::getId,Taxes::getCreator); |
| | | |
| | | Utils.MP.blankToNull(pageWrap.getModel()); |
| | | queryWrapper.eq(Taxes::getIsdeleted, Constants.ZERO); |
| | | Taxes queryModel = pageWrap.getModel(); |
| | |
| | | |
| | | |
| | | |
| | | @Override |
| | | public List<Taxes> findListForCompany(Taxes queryModel) { |
| | | LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | MPJLambdaWrapper<Taxes> queryWrapper = new MPJLambdaWrapper<>(); |
| | | queryWrapper.selectAll(Taxes.class); |
| | | queryWrapper.selectAs(SystemUser::getRealname,Taxes::getCreatorName); |
| | | queryWrapper.leftJoin(SystemUser.class,SystemUser::getId,Taxes::getCreator); |
| | | |
| | | queryWrapper.eq(Taxes::getIsdeleted, Constants.ZERO); |
| | | if(!user.getType().equals(Constants.ONE)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"éä¼ä¸ç¨æ·æ æ³è¿è¡è¯¥ä¸å¡æ¥è¯¢"); |
| | | } |
| | | if(!Objects.isNull(queryModel)){ |
| | | queryWrapper.ge(queryModel.getStartDate() != null,Taxes::getCreateDate, (queryModel.getStartDate())); |
| | | queryWrapper.le(queryModel.getEndDate() != null,Taxes::getCreateDate, (queryModel.getEndDate())); |
| | | queryWrapper.eq(!Objects.isNull(queryModel.getInsuranceApplyId()),Taxes::getInsuranceApplyId,queryModel.getInsuranceApplyId()); |
| | | queryWrapper.eq(!Objects.isNull(queryModel.getStatus()),Taxes::getStatus,queryModel.getStatus()); |
| | | } |
| | | queryWrapper.orderByAsc(Taxes::getCreateDate); |
| | | return taxesJoinMapper.selectJoinList(Taxes.class, queryWrapper); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | @Override |