已添加8个文件
已删除5个文件
已修改30个文件
已重命名1个文件
| | |
| | | <div class="value">{{ info.companyName }} </div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">åçå°ç¹</div> |
| | | <div class="label">ä½ç½®</div> |
| | | <div class="value">{{ info.locationName }}</div> |
| | | </div> |
| | | <div class="item"> |
| | |
| | | <div class="value">{{ info.happenTime}}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">åçå°ç¹</div> |
| | | <div class="label">ä½ç½®</div> |
| | | <div class="value">{{ info.locationName }}</div> |
| | | </div> |
| | | <div class="item"> |
| | |
| | | <div class="value">{{ info.locationName }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">å
·ä½ä½ç½®</div> |
| | | <div class="value">{{ info.remark }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">å¤é¨å°±å»</div> |
| | | <div class="value">{{ info.outJiuyi == "0" ? "å¦" : "æ¯" }}</div> |
| | | </div> |
| | |
| | | <span style="color: #2E68EC;cursor: pointer" @click="$refs.operaWorkorderWindow.open('SHEäºä»¶å·¥å详æ
', row)" >{{ row.code || '-'}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="typeName" label="伤害类å" min-width="100px"></el-table-column> |
| | | <el-table-column prop="memberName" label="䏿¥äººå" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.memberPhone" >{{row.memberName}} - {{row.memberPhone }}</span> |
| | | <span v-else >{{row.memberName}} </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="companyName" label="æå¨é¨é¨" min-width="100px"></el-table-column> |
| | | <el-table-column prop="typeName" label="é£é©ç±»å" min-width="100px"></el-table-column> |
| | | <el-table-column prop="status" label="ç¶æ" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span :class="'statusInfo'+row.status" v-if="row.status ==0">å¾
å¤ç</span> |
| | |
| | | <el-table-column prop="submitDate" label="䏿¥æ¶é´" min-width="150px"></el-table-column> |
| | | <el-table-column prop="happenTime" label="åç°æ¶é´" min-width="150px"></el-table-column> |
| | | <el-table-column prop="riskInfo" label="é£é©æè¿°" min-width="100px"></el-table-column> |
| | | <el-table-column prop="memberName" label="䏿¥äººå" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.memberPhone" >{{row.memberName}} - {{row.memberPhone }}</span> |
| | | <span v-else >{{row.memberName}} </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="companyName" label="æå±é¨é¨" min-width="100px"></el-table-column> |
| | | <el-table-column prop="createDate" label="å建æ¶é´" min-width="150px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:workorder:update', 'business:workorder:delete'])" |
| | |
| | | <!-- æç´¢è¡¨å --> |
| | | <div slot="search-form"> |
| | | <el-form ref="searchForm" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="é£é©ç±»å" prop="typeId"> |
| | | <el-form-item label="è§å¯ä¸»é¢" prop="typeId"> |
| | | <el-select v-model="searchForm.typeId" @change="search"> |
| | | <el-option clearable filterable |
| | | v-for="item in categorys" |
| | |
| | | > |
| | | <el-table-column prop="code" label="å·¥åå·" min-width="150px" fixed> |
| | | <template slot-scope="{row}"> |
| | | <span style="color: #2E68EC;cursor: pointer" @click="$refs.operaWorkorderWindow.open('SHEäºä»¶å·¥å详æ
', row)" >{{ row.code || '-'}}</span> |
| | | <span style="color: #2E68EC;cursor: pointer" @click="$refs.operaWorkorderWindow.open('DCAäºä»¶å·¥åè®°å½è¯¦æ
', row)" >{{ row.code || '-'}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="memberName" label="䏿¥äººå" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.memberPhone" >{{row.memberName}} - {{row.memberPhone }}</span> |
| | | <span v-else >{{row.memberName}} </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="companyName" label="æå¨é¨é¨" min-width="100px"></el-table-column> |
| | | <el-table-column prop="typeName" label="è§å¯ä¸»é¢" min-width="150px"></el-table-column> |
| | | <el-table-column prop="dcaYesNum" label="è§å¯é¡¹ç»è®¡" min-width="150px"> |
| | | <template slot-scope="{row}"> |
| | | <span style="color: #1562e2" >符åï¼{{row.dcaYesNum}} ï¼ä¸ç¬¦åï¼<span style="color:red;">{{row.dcaNoNum}}</span> </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="locationName" label="ä½ç½®" min-width="150px"></el-table-column> |
| | | <el-table-column prop="submitDate" label="䏿¥æ¶é´" min-width="150px"></el-table-column> |
| | | <el-table-column prop="happenTime" label="åç°æ¶é´" min-width="150px"></el-table-column> |
| | | <el-table-column prop="memberName" label="䏿¥äººå" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.memberPhone" >{{row.memberName}} - {{row.memberPhone }}</span> |
| | | <span v-else >{{row.memberName}} </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="companyName" label="æå±é¨é¨" min-width="100px"></el-table-column> |
| | | <el-table-column prop="createDate" label="å建æ¶é´" min-width="150px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:workorder:update', 'business:workorder:delete'])" |
| | |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.operaWorkorderWindow.open('DCAäºä»¶å·¥å详æ
', row)" icon="el-icon-zoom-out" >æ¥ç详æ
</el-button> |
| | | <el-button type="text" @click="$refs.operaWorkorderWindow.open('DCAäºä»¶å·¥åè®°å½è¯¦æ
', row)" icon="el-icon-zoom-out" >æ¥ç详æ
</el-button> |
| | | <!--<el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:workorder:delete']">å é¤</el-button>--> |
| | | </template> |
| | | </el-table-column> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:workorder:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <div slot="search-form"> |
| | | <el-form ref="searchForm" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="è§å¯ä¸»é¢" prop="typeId"> |
| | | <el-select v-model="searchForm.typeId" @change="changeType" style="width: 120px"> |
| | | <el-option clearable filterable |
| | | v-for="item in categorys" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select>- |
| | | <el-select v-model="searchForm.categoryId" @change="search" style="width: 120px"> |
| | | <el-option clearable filterable |
| | | v-for="item in categorys1" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="䏿¥äººå" prop="memberName"> |
| | | <el-input v-model="searchForm.memberName" clearable placeholder="人åå§åæææºå·" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="å·¥åå·" prop="code"> |
| | | <el-input v-model="searchForm.code" clearable placeholder="请è¾å
¥å·¥åå·" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">æç´¢</el-button> |
| | | <el-button @click="reset">éç½®</el-button> |
| | | </section> |
| | | </el-form> |
| | | </div> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:workorder:exportExcel']"> |
| | | <li> <el-button type="primary" :loading="isWorking.export" @click="exportExcel">导åº</el-button></li> |
| | | </ul> |
| | | <el-table |
| | | :height="tableHeightNew" |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column prop="code" label="å·¥åå·" min-width="150px" fixed> |
| | | <template slot-scope="{row}"> |
| | | <span style="color: #2E68EC;cursor: pointer" @click="$refs.operaWorkorderWindow.open('DCAäºä»¶å·¥å详æ
', row)" >{{ row.code || '-'}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="typeName" label="è§å¯ä¸»é¢" min-width="150px"></el-table-column> |
| | | <el-table-column prop="categoryName" label="äºçº§è§å¯ä¸»é¢" min-width="150px"></el-table-column> |
| | | <el-table-column prop="problemTitle" label="ä¸ç¬¦å项" min-width="150px"></el-table-column> |
| | | <el-table-column prop="status" label="ç¶æ" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span :class="'statusInfo'+row.status" v-if="row.status ==0">å¾
å¤ç</span> |
| | | <span :class="'statusInfo'+row.status" v-else-if="row.status ==3 ||row.status ==4||row.status ==5">å·²å¤ç</span> |
| | | <span :class="'statusInfo'+row.status" v-else>å¤çä¸</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="locationName" label="ä½ç½®" min-width="150px"></el-table-column> |
| | | <el-table-column prop="submitDate" label="䏿¥æ¶é´" min-width="150px"></el-table-column> |
| | | <el-table-column prop="happenTime" label="åç°æ¶é´" min-width="150px"></el-table-column> |
| | | <el-table-column prop="memberName" label="䏿¥äººå" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.memberPhone" >{{row.memberName}} - {{row.memberPhone }}</span> |
| | | <span v-else >{{row.memberName}} </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="companyName" label="æå±é¨é¨" min-width="100px"></el-table-column> |
| | | <el-table-column prop="createDate" label="å建æ¶é´" min-width="150px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:workorder:update', 'business:workorder:delete'])" |
| | | label="æä½" |
| | | min-width="120" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.operaWorkorderWindow.open('DCAäºä»¶å·¥å详æ
', row)" icon="el-icon-zoom-out" >æ¥ç详æ
</el-button> |
| | | <!--<el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:workorder:delete']">å é¤</el-button>--> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | <!-- æ°å»º/ä¿®æ¹ --> |
| | | <OperaWorkorderDetailDcaInfoWindow ref="operaWorkorderWindow" @success="handlePageChange"/> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaWorkorderDetailDcaInfoWindow from '@/components/business/OperaWorkorderDetailDcaInfoWindow' |
| | | import { allList } from '@/api/business/category' |
| | | export default { |
| | | name: 'Workorder', |
| | | extends: BaseTable, |
| | | components: {TableLayout, Pagination, OperaWorkorderDetailDcaInfoWindow }, |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | | searchForm: { |
| | | type: '2', |
| | | memberName: '', |
| | | memberCompanyId: '', |
| | | localtionId: '', |
| | | categoryId: '', |
| | | typeId: '', |
| | | code: '', |
| | | categoryList: [] |
| | | }, |
| | | categoryprops: { |
| | | label: 'name', |
| | | value: 'id', |
| | | checkStrictly: true, |
| | | lazyLoad: this.lazyLoad |
| | | }, |
| | | categorys: [], |
| | | categorys1: [] |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: 'å·¥åä¿¡æ¯è¡¨', |
| | | api: '/business/workorder', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | this.loadCategorys() |
| | | this.search() |
| | | }, |
| | | methods: { |
| | | changeType(){ |
| | | this.search() |
| | | this.categorys1 = [] |
| | | this.searchForm.categoryId = null |
| | | this.loadCategorys1() |
| | | }, |
| | | handleChangeCategory (value) { |
| | | if (this.searchForm.categoryList && this.searchForm.categoryList.length >= 1) { |
| | | this.searchForm.typeId = this.searchForm.categoryList[this.searchForm.categoryList.length - 1] |
| | | } |
| | | }, |
| | | loadCategorys () { |
| | | allList({ type: 4, isRoot:1}) |
| | | .then(res => { |
| | | if (res && res.length > 0) { |
| | | this.categorys = res |
| | | } |
| | | }) |
| | | }, |
| | | loadCategorys1 ( ) { |
| | | if (!this.searchForm.typeId) { |
| | | return |
| | | } |
| | | allList({ type: 4, parentId: this.searchForm.typeId }) |
| | | .then(res => { |
| | | if (res && res.length > 0) { |
| | | this.categorys1 = res |
| | | } |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <span :class="'statusInfo'+row.status" v-else>å¤çä¸</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="memberName" label="䏿¥äººå" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.memberPhone" >{{row.memberName}} - {{row.memberPhone }}</span> |
| | | <span v-else >{{row.memberName}} </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="companyName" label="æå¨é¨é¨" min-width="100px"></el-table-column> |
| | | <el-table-column prop="memberType" label="æ¶å人å" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.memberType == 2">ä¾åºå-{{row.memberNames}}</span> |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="locationName" label="åçå°ç¹" min-width="100px"></el-table-column> |
| | | <el-table-column prop="remark" label="å
·ä½ä½ç½®" min-width="100px"></el-table-column> |
| | | <el-table-column prop="outJiuyi" label="就廿
åµ" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.outJiuyi == 0">éå¤é¨å°±å»- |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="eventInfo" label="äºä»¶è¯´æ" min-width="100px"></el-table-column> |
| | | <el-table-column prop="createDate" label="å建æ¶é´" min-width="150px"></el-table-column> |
| | | <el-table-column prop="memberName" label="䏿¥äººå" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.memberPhone" >{{row.memberName}} - {{row.memberPhone }}</span> |
| | | <span v-else >{{row.memberName}} </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="companyName" label="æå±é¨é¨" min-width="100px"></el-table-column> |
| | | <el-table-column prop="createDate" label="æäº¤æ¶é´" min-width="150px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:workorder:update', 'business:workorder:delete'])" |
| | | label="æä½" |
| | |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.dao.business.model.Category; |
| | | import com.doumee.dao.business.model.Company; |
| | | import com.doumee.service.business.CategoryService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | |
| | | import org.springframework.web.bind.annotation.*; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | @PostMapping("/exportExcel") |
| | | @RequiresPermissions("business:category:exportExcel") |
| | | public void exportExcel (@RequestBody PageWrap<Category> pageWrap, HttpServletResponse response) { |
| | | ExcelExporter.build(Category.class).exportData(categoryService.findPage(pageWrap).getRecords(), "å类信æ¯è¡¨", response); |
| | | ExcelExporter.build(Category.class).export(categoryService.findPage(pageWrap).getRecords(), "å类信æ¯è¡¨", response); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDæ¥è¯¢") |
| | |
| | | import com.doumee.dao.business.model.Company; |
| | | import com.doumee.service.business.CompanyService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.shiro.authz.annotation.RequiresPermissions; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | @PostMapping("/exportExcel") |
| | | @RequiresPermissions("business:company:exportExcel") |
| | | public void exportExcel (@RequestBody PageWrap<Company> pageWrap, HttpServletResponse response) { |
| | | ExcelExporter.build(Company.class).exportData(companyService.findPage(pageWrap).getRecords(), "ç»ç»ä¿¡æ¯è¡¨", response); |
| | | ExcelExporter.build(Company.class).export(companyService.findPage(pageWrap).getRecords(), "ç»ç»ä¿¡æ¯è¡¨", response); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDæ¥è¯¢") |
| | |
| | | import org.springframework.web.bind.annotation.*; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author æ±è¹è¹ |
| | | * @since 2025/04/03 16:30 |
| | |
| | | @PostMapping("/exportExcel") |
| | | @RequiresPermissions("business:companymember:exportExcel") |
| | | public void exportExcel (@RequestBody PageWrap<CompanyMember> pageWrap, HttpServletResponse response) { |
| | | ExcelExporter.build(CompanyMember.class).exportData(companyMemberService.findPage(pageWrap).getRecords(), "人åä¿¡æ¯è¡¨", response); |
| | | ExcelExporter.build(CompanyMember.class).export(companyMemberService.findPage(pageWrap).getRecords(), "人åä¿¡æ¯è¡¨", response); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDæ¥è¯¢") |
| | |
| | | import org.springframework.web.bind.annotation.*; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author æ±è¹è¹ |
| | | * @since 2025/04/02 17:49 |
| | |
| | | @PostMapping("/exportExcel") |
| | | @RequiresPermissions("business:managers:exportExcel") |
| | | public void exportExcel (@RequestBody PageWrap<Managers> pageWrap, HttpServletResponse response) { |
| | | ExcelExporter.build(Managers.class).exportData(managersService.findPage(pageWrap).getRecords(), "责任人信æ¯è¡¨", response); |
| | | ExcelExporter.build(Managers.class).export(managersService.findPage(pageWrap).getRecords(), "责任人信æ¯è¡¨", response); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDæ¥è¯¢") |
| | |
| | | import com.doumee.api.BaseController; |
| | | import com.doumee.core.annotation.excel.ExcelExporter; |
| | | import com.doumee.core.annotation.pr.PreventRepeat; |
| | | import com.doumee.core.constants.Constants; |
| | | import com.doumee.core.model.ApiResponse; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.model.PageData; |
| | |
| | | import org.springframework.web.bind.annotation.*; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | @PostMapping("/exportExcel") |
| | | @RequiresPermissions("business:member:exportExcel") |
| | | public void exportExcel (@RequestBody PageWrap<Member> pageWrap, HttpServletResponse response) { |
| | | ExcelExporter.build(Member.class).exportData(memberService.findPage(pageWrap).getRecords(), "人åä¿¡æ¯è¡¨", response); |
| | | ExcelExporter.build(Member.class).export(memberService.findPage(pageWrap).getRecords(), "人åä¿¡æ¯è¡¨", response); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDæ¥è¯¢") |
| | |
| | | package com.doumee.api.business; |
| | | |
| | | import com.doumee.api.BaseController; |
| | | import com.doumee.core.annotation.excel.ExcelExporter; |
| | | import com.doumee.core.annotation.pr.PreventRepeat; |
| | | import com.doumee.core.model.ApiResponse; |
| | | import com.doumee.core.model.PageWrap; |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author æ±è¹è¹ |
| | |
| | | return ApiResponse.success(multifileService.findPage(pageWrap)); |
| | | } |
| | | |
| | | @ApiOperation("导åºExcel") |
| | | @PostMapping("/exportExcel") |
| | | @RequiresPermissions("business:multifile:exportExcel") |
| | | public void exportExcel (@RequestBody PageWrap<Multifile> pageWrap, HttpServletResponse response) { |
| | | ExcelExporter.build(Multifile.class).exportData(multifileService.findPage(pageWrap).getRecords(), "éä»¶ä¸ä¼ ä¿¡æ¯è¡¨", response); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDæ¥è¯¢") |
| | | @GetMapping("/{id}") |
| | |
| | | import org.springframework.web.bind.annotation.*; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author æ±è¹è¹ |
| | | * @since 2025/04/02 17:49 |
| | |
| | | @PostMapping("/exportExcel") |
| | | @RequiresPermissions("business:notices:exportExcel") |
| | | public void exportExcel (@RequestBody PageWrap<Notices> pageWrap, HttpServletResponse response) { |
| | | ExcelExporter.build(Notices.class).exportData(noticesService.findPage(pageWrap).getRecords(), "ç³»ç»æ¶æ¯ä¿¡æ¯è¡¨", response); |
| | | ExcelExporter.build(Notices.class).export(noticesService.findPage(pageWrap).getRecords(), "ç³»ç»æ¶æ¯ä¿¡æ¯è¡¨", response); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDæ¥è¯¢") |
| | |
| | | import com.doumee.api.BaseController; |
| | | import com.doumee.core.annotation.excel.ExcelExporter; |
| | | import com.doumee.core.annotation.pr.PreventRepeat; |
| | | import com.doumee.core.constants.Constants; |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | | import com.doumee.core.model.ApiResponse; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.utils.DateUtil; |
| | | import com.doumee.dao.business.model.Workorder; |
| | | import com.doumee.dao.business.vo.WorkorderDbhDto; |
| | | import com.doumee.dao.business.vo.WorkorderDcaChildDto; |
| | | import com.doumee.dao.business.vo.WorkorderDcaDto; |
| | | import com.doumee.dao.business.vo.WorkorderSheDto; |
| | | import com.doumee.service.business.WorkorderService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.shiro.authz.annotation.RequiresPermissions; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.shiro.authz.annotation.RequiresPermissions; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.util.ObjectUtils; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | @PostMapping("/exportExcel") |
| | | @RequiresPermissions("business:workorder:exportExcel") |
| | | public void exportExcel (@RequestBody PageWrap<Workorder> pageWrap, HttpServletResponse response) { |
| | | ExcelExporter.build(Workorder.class).exportData(workorderService.findPage(pageWrap).getRecords(), "å·¥åä¿¡æ¯è¡¨", response); |
| | | //0SHEäºä»¶ 1DCAäºä»¶æäº¤è®°å½ 2DCAå·¥å 3è·ç»æ»äºä»¶ |
| | | long index = 1; |
| | | if(Constants.equalsInteger(pageWrap.getModel().getType(),Constants.ZERO)){ |
| | | List<Workorder> records = workorderService.findPage(pageWrap).getRecords(); |
| | | List<WorkorderSheDto> list = new ArrayList<>(); |
| | | if(records!=null){ |
| | | for(Workorder model : records){ |
| | | WorkorderSheDto t = new WorkorderSheDto(); |
| | | t.setIndex(index++); |
| | | BeanUtils.copyProperties(model,t); |
| | | if(Constants.equalsInteger(model.getOutJiuyi(),Constants.ONE)){ |
| | | t.setJiuyiInfo("å¤é¨å°±å»"); |
| | | }else{ |
| | | t.setJiuyiInfo("éå¤é¨å°±å»"); |
| | | if(Constants.equalsInteger(model.getIsYiwushi(),Constants.ONE)){ |
| | | t.setJiuyiInfo(t.getJiuyiInfo() + "-å»å¡å®¤"); |
| | | }else{ |
| | | t.setJiuyiInfo(t.getJiuyiInfo() + "-éå»å¡å®¤"); |
| | | if(Constants.equalsInteger(model.getIsHurted(),Constants.ONE)){ |
| | | t.setJiuyiInfo(t.getJiuyiInfo() + "-å伤"); |
| | | }else{ |
| | | t.setJiuyiInfo(t.getJiuyiInfo() + "-æªå伤"); |
| | | } |
| | | } |
| | | } |
| | | t.setMemberNames("æ¬äºº"); |
| | | t.setMemberNames(t.getMemberNames()+"-"+StringUtils.defaultString(model.getMemberNames(),"")); |
| | | list.add(t); |
| | | } |
| | | } |
| | | ExcelExporter.build(WorkorderSheDto.class).export(list, "SHEäºä»¶å·¥åæ¥è¡¨_"+ DateUtil.formatDate(new Date(),"yyyyMMddHHmmss"), response); |
| | | }else if(Constants.equalsInteger(pageWrap.getModel().getType(),Constants.ONE)){ |
| | | List<Workorder> records = workorderService.findPage(pageWrap).getRecords(); |
| | | List<WorkorderDcaDto> list = new ArrayList<>(); |
| | | if(records!=null){ |
| | | for(Workorder model : records){ |
| | | WorkorderDcaDto t = new WorkorderDcaDto(); |
| | | t.setIndex(index++); |
| | | BeanUtils.copyProperties(model,t); |
| | | list.add(t); |
| | | } |
| | | } |
| | | ExcelExporter.build(WorkorderDcaDto.class).export(list, "DCAäºä»¶å·¥åæäº¤è®°å½æ¥è¡¨_"+ DateUtil.formatDate(new Date(),"yyyyMMddHHmmss"), response); |
| | | }else if(Constants.equalsInteger(pageWrap.getModel().getType(),Constants.TWO)){ |
| | | List<Workorder> records = workorderService.findPage(pageWrap).getRecords(); |
| | | List<WorkorderDcaChildDto> list = new ArrayList<>(); |
| | | if(records!=null){ |
| | | for(Workorder model : records){ |
| | | WorkorderDcaChildDto t = new WorkorderDcaChildDto(); |
| | | t.setIndex(index++); |
| | | BeanUtils.copyProperties(model,t); |
| | | list.add(t); |
| | | } |
| | | } |
| | | ExcelExporter.build(WorkorderDcaChildDto.class).export(list, "DCAäºä»¶å·¥åæ¥è¡¨_"+ DateUtil.formatDate(new Date(),"yyyyMMddHHmmss"), response); |
| | | }else if(Constants.equalsInteger(pageWrap.getModel().getType(),Constants.THREE)){ |
| | | List<Workorder> records = workorderService.findPage(pageWrap).getRecords(); |
| | | List<WorkorderDbhDto> list = new ArrayList<>(); |
| | | if(records!=null){ |
| | | for(Workorder model : records){ |
| | | WorkorderDbhDto t = new WorkorderDbhDto(); |
| | | t.setIndex(index++); |
| | | BeanUtils.copyProperties(model,t); |
| | | list.add(t); |
| | | } |
| | | } |
| | | ExcelExporter.build(WorkorderDbhDto.class).export(list, "è·ç»æ»äºä»¶å·¥åæ¥è¡¨_"+ DateUtil.formatDate(new Date(),"yyyyMMddHHmmss"), response); |
| | | }else{ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDæ¥è¯¢") |
| | |
| | | import org.springframework.web.bind.annotation.*; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author æ±è¹è¹ |
| | | * @since 2025/04/02 17:49 |
| | |
| | | @PostMapping("/exportExcel") |
| | | @RequiresPermissions("business:workorderlog:exportExcel") |
| | | public void exportExcel (@RequestBody PageWrap<WorkorderLog> pageWrap, HttpServletResponse response) { |
| | | ExcelExporter.build(WorkorderLog.class).exportData(workorderLogService.findPage(pageWrap).getRecords(), "å·¥åæä½åå²è¡¨", response); |
| | | ExcelExporter.build(WorkorderLog.class).export(workorderLogService.findPage(pageWrap).getRecords(), "å·¥åæä½åå²è¡¨", response); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDæ¥è¯¢") |
| | |
| | | @ApiOperation("导åºExcel") |
| | | @RequiresPermissions("system:loginLog:query") |
| | | public void export (@RequestBody PageWrap<QuerySystemLoginLogDTO> pageWrap, HttpServletResponse response) { |
| | | ExcelExporter.build(SystemLoginLog.class).exportData(systemLoginLogService.findPage(pageWrap).getRecords(), "ç»å½æ¥å¿", response); |
| | | ExcelExporter.build(SystemLoginLog.class).export(systemLoginLogService.findPage(pageWrap).getRecords(), "ç»å½æ¥å¿", response); |
| | | } |
| | | } |
| | |
| | | import com.doumee.api.BaseController; |
| | | import com.doumee.core.annotation.excel.ExcelExporter; |
| | | import com.doumee.core.model.ApiResponse; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.system.dto.QuerySystemTraceLogDTO; |
| | | import com.doumee.dao.system.model.SystemTraceLog; |
| | |
| | | @PostMapping("/exportExcel") |
| | | @RequiresPermissions("system:traceLog:query") |
| | | public void exportExcel (@RequestBody PageWrap<QuerySystemTraceLogDTO> pageWrap, HttpServletResponse response) { |
| | | ExcelExporter.build(SystemTraceLog.class).exportData(systemTraceLogService.findPage(pageWrap).getRecords(), "æä½æ¥å¿", response); |
| | | ExcelExporter.build(SystemTraceLog.class).export(systemTraceLogService.findPage(pageWrap).getRecords(), "æä½æ¥å¿", response); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.core.annotation.excel; |
| | | |
| | | import org.apache.poi.ss.usermodel.HorizontalAlignment; |
| | | import org.apache.poi.ss.usermodel.IndexedColors; |
| | | |
| | | import java.lang.annotation.*; |
| | | |
| | | /** |
| | | * æ 记为Excelå |
| | | * @author Eva.Caesar Liu |
| | | * @date 2023/02/14 11:14 |
| | | */ |
| | | @Inherited |
| | | //@Target(ElementType.FIELD) |
| | | @Target({ElementType.METHOD, ElementType.FIELD, ElementType.TYPE}) |
| | | @Retention(RetentionPolicy.RUNTIME) |
| | | public @interface ExcelColumn { |
| | | /** |
| | | * 导åºå段åï¼é»è®¤è°ç¨å½ååæ®µçâgetâæ¹æ³ï¼å¦æå®å¯¼åºå段为对象ï¼è¯·å¡«åâ对象å.å¯¹è±¡å±æ§âï¼ä¾ï¼âarea.nameâãâoffice.nameâï¼ |
| | | */ |
| | | String value() default ""; |
| | | /** |
| | | * åæ®µç±»åï¼0ï¼å¯¼åºå¯¼å
¥ï¼1ï¼ä»
导åºï¼2ï¼ä»
导å
¥ï¼ |
| | | */ |
| | | int type() default 0; |
| | | /** |
| | | * åå |
| | | */ |
| | | String name(); |
| | | |
| | | /** |
| | | * å宽ï¼åä½ä¸ºå符ï¼ï¼-1èªå¨è®¡ç® |
| | | */ |
| | | int width() default -1; |
| | | |
| | | /** |
| | | * æåºï¼å¼è¶å°è¶é åï¼-1æå段åå°é¡ºåºæåº |
| | | */ |
| | | int index() default -1; |
| | | |
| | | /** |
| | | * 坹齿¹å¼ |
| | | */ |
| | | HorizontalAlignment align() default HorizontalAlignment.LEFT; |
| | | |
| | | /** |
| | | * åèæ¯è² |
| | | */ |
| | | IndexedColors backgroundColor() default IndexedColors.GREY_25_PERCENT; |
| | | |
| | | /** |
| | | * åæ°æ®åå
æ ¼èæ¯è² |
| | | */ |
| | | IndexedColors dataBackgroundColor() default IndexedColors.WHITE; |
| | | |
| | | /** |
| | | * åä½é¢è² |
| | | */ |
| | | IndexedColors color() default IndexedColors.BLACK; |
| | | |
| | | /** |
| | | * åä½å¤§å°ï¼åç´ ï¼ |
| | | */ |
| | | short fontSize() default 12; |
| | | |
| | | /** |
| | | * ç²ä½ |
| | | */ |
| | | boolean bold() default false; |
| | | |
| | | /** |
| | | * æä½ |
| | | */ |
| | | boolean italic() default false; |
| | | |
| | | /** |
| | | * 弿 å°ï¼å¦0=女;1=ç· |
| | | */ |
| | | String valueMapping() default ""; |
| | | |
| | | /** |
| | | * æ°æ®åç¼ |
| | | */ |
| | | String prefix() default ""; |
| | | |
| | | /** |
| | | * æ°æ®åç¼ |
| | | */ |
| | | String suffix() default ""; |
| | | |
| | | /** |
| | | * æ¥ææ ¼å¼ |
| | | */ |
| | | String dateFormat() default "yyyy-MM-dd"; |
| | | |
| | | /** |
| | | * èªå®ä¹æ°æ®å¤çå¨ |
| | | */ |
| | | Class handler() default ExcelDataHandlerAdapter.class; |
| | | |
| | | /** |
| | | * èªå®ä¹æ°æ®å¤çå¨åæ° |
| | | */ |
| | | String[] args() default {}; |
| | | |
| | | /** |
| | | * åå°ç±»å |
| | | */ |
| | | Class<?> fieldType() default Class.class; |
| | | |
| | | /** |
| | | * åæ®µå½å±ç»ï¼æ ¹æ®åç»å¯¼åºå¯¼å
¥ï¼ |
| | | */ |
| | | int[] groups() default {}; |
| | | } |
| ÎļþÃû´Ó server/src/main/java/com/doumee/core/annotation/excel/ExcelDataConverterAdapter.java ÐÞ¸Ä |
| | |
| | | |
| | | /** |
| | | * Excelæ°æ®æ ¼å¼å¤çéé
å¨ |
| | | * @author dm |
| | | * @since 2025/03/31 16:44 |
| | | * @author Eva.Caesar Liu |
| | | * @date 2023/02/14 11:14 |
| | | */ |
| | | public interface ExcelDataConverterAdapter { |
| | | public interface ExcelDataHandlerAdapter { |
| | | |
| | | /** |
| | | * æ ¼å¼å |
| | | * |
| | | * @param args åæ°éåï¼ç¬¬ä¸ä¸ªåæ°ä¸ºåå
æ ¼æ°æ® |
| | | * |
| | | * @return String |
| | | */ |
| | | Object convert(Object... args); |
| | | Object format (Object... args); |
| | | } |
| | |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.Data; |
| | | import org.apache.poi.ss.usermodel.*; |
| | | import org.apache.poi.ss.util.CellRangeAddress; |
| | | import org.apache.poi.xssf.streaming.SXSSFWorkbook; |
| | | import org.springframework.core.annotation.AnnotationConfigurationException; |
| | | |
| | |
| | | import java.lang.reflect.Field; |
| | | import java.lang.reflect.Method; |
| | | import java.net.URLEncoder; |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.nio.charset.Charset; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * Excel导åºå®ç° |
| | | * @author dm |
| | | * @since 2025/03/31 16:44 |
| | | * @author Eva.Caesar Liu |
| | | * @date 2023/02/14 11:14 |
| | | */ |
| | | @Data |
| | | public class ExcelExporter<T> { |
| | |
| | | private static final String DEFAULT_SHEET_NAME = "Sheet1"; |
| | | |
| | | private Class<T> modelClass; |
| | | private static int maxrows = 50000; |
| | | |
| | | private ExcelExporter(){} |
| | | |
| | | /** |
| | | * æé å¨ |
| | | * |
| | | * @param modelClass å®ä½Class对象 |
| | | */ |
| | | public static <T> ExcelExporter<T> build(Class<T> modelClass) { |
| | |
| | | excelExporter.setModelClass(modelClass); |
| | | return excelExporter; |
| | | } |
| | | |
| | | /** |
| | | * 导åºå°æå®è¾åºæµ |
| | | * |
| | | * @param data æ°æ® |
| | | * @param sheetName Sheetåç§° |
| | | * @param os è¾åºæµ |
| | | */ |
| | | public void exportData(List<T> data, String sheetName, OutputStream os) { |
| | | public void exportWithFirstAndEnd (List<T> data, String sheetName,String first,String end, OutputStream os) { |
| | | SXSSFWorkbook sxssfWorkbook; |
| | | try { |
| | | sxssfWorkbook = new SXSSFWorkbook(); |
| | | Sheet sheet = sxssfWorkbook.createSheet(sheetName); |
| | | // å建å头 |
| | | sheet.createFreezePane(0, 1); |
| | | Row header = sheet.createRow(0); |
| | | sheet.createFreezePane(0, 2); |
| | | sheet.addMergedRegion(new CellRangeAddress(0 ,0,0,this.getColumns().size()-1)); |
| | | Row title = sheet.createRow(0); |
| | | title.setHeight((short) 1000); |
| | | Cell c = title.createCell(0); |
| | | c.setCellValue(first); |
| | | configFirstCell(sxssfWorkbook,c); |
| | | |
| | | Row header = sheet.createRow(1); |
| | | List<ColumnInfo> columns = this.getColumns(); |
| | | for (int columnIndex = 0; columnIndex < columns.size(); columnIndex++) { |
| | | ColumnInfo column = columns.get(columnIndex); |
| | |
| | | // 设置å头åå
æ ¼ |
| | | configHeaderCell(sxssfWorkbook, cell, column.columnConfig); |
| | | } |
| | | List<CellStyle> styleList = new ArrayList<>(); |
| | | for (int columnIndex = 0; columnIndex < columns.size(); columnIndex++) { |
| | | ColumnInfo column = columns.get(columnIndex); |
| | | styleList.add( configDataCell(sxssfWorkbook, column.columnConfig)); |
| | | } |
| | | // åå»ºæ°æ®è®°å½ |
| | | for (int rowIndex = 0; rowIndex < data.size(); rowIndex++) { |
| | | Row row = sheet.createRow(rowIndex + 1); |
| | | Row row = sheet.createRow(rowIndex + 2); |
| | | for (int columnIndex = 0; columnIndex < columns.size(); columnIndex++) { |
| | | ColumnInfo column = columns.get(columnIndex); |
| | | Cell cell = row.createCell(columnIndex); |
| | | cell.setCellValue(getCellData(column, data.get(rowIndex))); |
| | | // è®¾ç½®æ°æ®åå
æ ¼ |
| | | configDataCell(sxssfWorkbook, cell, column.columnConfig); |
| | | cell.setCellStyle(styleList.get(columnIndex)); |
| | | } |
| | | } |
| | | sheet.addMergedRegion(new CellRangeAddress(data.size()+2 ,data.size()+2,0,this.getColumns().size()-1)); |
| | | Row endRow = sheet.createRow(data.size()+2); |
| | | // endRow.setHeight((short) 600); |
| | | Cell c1 = endRow.createCell(0); |
| | | c1.setCellValue(end); |
| | | c1.setCellStyle( configEndCell(sxssfWorkbook)); |
| | | sxssfWorkbook.write(os); |
| | | os.close(); |
| | | } catch (Exception e) { |
| | |
| | | } |
| | | |
| | | /** |
| | | * 导åºå°æå®è¾åºæµ |
| | | * @param data æ°æ® |
| | | * @param sheetName Sheetåç§° |
| | | * @param os è¾åºæµ |
| | | */ |
| | | public void export (List<T> data, String sheetName, OutputStream os) { |
| | | SXSSFWorkbook sxssfWorkbook; |
| | | try { |
| | | sxssfWorkbook = new SXSSFWorkbook(); |
| | | int totalSheet =1; |
| | | if( data!=null && data.size()>0){ |
| | | totalSheet = data.size()/maxrows; |
| | | if(data.size()%maxrows !=0){ |
| | | totalSheet += 1; |
| | | } |
| | | } |
| | | for (int i = 0; i < totalSheet; i++) { |
| | | List<T> list = null; |
| | | if(data.size() < maxrows * (i+1)) { |
| | | list = data.subList(maxrows*i,data.size()); |
| | | }else{ |
| | | list = data.subList(maxrows*i,maxrows*(i+1)); |
| | | } |
| | | createSheetDataBiz(list,"ã"+(i+1)+"ã"+sheetName,sxssfWorkbook); |
| | | } |
| | | sxssfWorkbook.write(os); |
| | | os.close(); |
| | | } catch (Exception e) { |
| | | throw new BusinessException(ResponseStatus.EXPORT_EXCEL_ERROR, e); |
| | | } finally { |
| | | if (os != null) { |
| | | try { |
| | | os.close(); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | private void createSheetDataBiz(List<T> data, String sheetName, SXSSFWorkbook sxssfWorkbook) throws Exception{ |
| | | Sheet sheet = sxssfWorkbook.createSheet(sheetName); |
| | | // å建å头 |
| | | sheet.createFreezePane(0, 1); |
| | | Row header = sheet.createRow(0); |
| | | List<ColumnInfo> columns = this.getColumns(); |
| | | for (int columnIndex = 0; columnIndex < columns.size(); columnIndex++) { |
| | | ColumnInfo column = columns.get(columnIndex); |
| | | Cell cell = header.createCell(columnIndex); |
| | | cell.setCellValue(column.columnConfig.name()); |
| | | // å宽设置 |
| | | if (column.columnConfig.width() == -1) { |
| | | sheet.setColumnWidth(columnIndex, column.columnConfig.name().length() * 2 * 256); |
| | | } else { |
| | | sheet.setColumnWidth(columnIndex, column.columnConfig.width() * 2 * 256); |
| | | } |
| | | // 设置å头åå
æ ¼ |
| | | configHeaderCell(sxssfWorkbook, cell, column.columnConfig); |
| | | } |
| | | List<CellStyle> styleList = new ArrayList<>(); |
| | | for (int columnIndex = 0; columnIndex < columns.size(); columnIndex++) { |
| | | ColumnInfo column = columns.get(columnIndex); |
| | | styleList.add( configDataCell(sxssfWorkbook, column.columnConfig)); |
| | | } |
| | | // åå»ºæ°æ®è®°å½ |
| | | for (int rowIndex = 0; rowIndex < data.size(); rowIndex++) { |
| | | Row row = sheet.createRow(rowIndex + 1); |
| | | for (int columnIndex = 0; columnIndex < columns.size(); columnIndex++) { |
| | | ColumnInfo column = columns.get(columnIndex); |
| | | Cell cell = row.createCell(columnIndex); |
| | | cell.setCellValue(getCellData(column, data.get(rowIndex))); |
| | | // è®¾ç½®æ°æ®åå
æ ¼æ ·å¼ |
| | | cell.setCellStyle(styleList.get(columnIndex)); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 导åºè³ååºæµ |
| | | * |
| | | * @param data æ°æ® |
| | | * @param fileName Excelæä»¶å |
| | | * @param sheetName Sheetåç§° |
| | | * @param response HttpServletResponse对象 |
| | | */ |
| | | public void exportData(List<T> data, String fileName, String sheetName, HttpServletResponse response) { |
| | | public void export (List<T> data, String fileName, String sheetName, HttpServletResponse response) { |
| | | try { |
| | | String encodeFileName = URLEncoder.encode(fileName, StandardCharsets.UTF_8.toString()) + ".xlsx"; |
| | | String encodeFileName = URLEncoder.encode(fileName, Charset.forName("UTF-8").toString()) + ".xlsx"; |
| | | response.setHeader("Content-Disposition","attachment;filename=" + encodeFileName); |
| | | response.setContentType("application/octet-stream"); |
| | | response.setHeader("doumee-opera-type", "download"); |
| | | response.setHeader("doumee-download-filename", encodeFileName); |
| | | this.exportData(data, sheetName, response.getOutputStream()); |
| | | this.export(data, sheetName, response.getOutputStream()); |
| | | } catch (IOException e) { |
| | | throw new BusinessException(ResponseStatus.EXPORT_EXCEL_ERROR, e); |
| | | } |
| | | } |
| | | /** |
| | | * 导åºè³ååºæµ |
| | | * @param data æ°æ® |
| | | * @param fileName Excelæä»¶å |
| | | * @param sheetName Sheetåç§° |
| | | * @param response HttpServletResponse对象 |
| | | */ |
| | | public void exportWithFirstAndEnd (List<T> data, String fileName, String sheetName, String first,String end ,HttpServletResponse response) { |
| | | try { |
| | | String encodeFileName = URLEncoder.encode(fileName, Charset.forName("UTF-8").toString()) + ".xlsx"; |
| | | response.setHeader("Content-Disposition","attachment;filename=" + encodeFileName); |
| | | response.setContentType("application/octet-stream"); |
| | | response.setHeader("doumee-opera-type", "download"); |
| | | response.setHeader("doumee-download-filename", encodeFileName); |
| | | this.exportWithFirstAndEnd(data, sheetName,first,end, response.getOutputStream()); |
| | | } catch (IOException e) { |
| | | throw new BusinessException(ResponseStatus.EXPORT_EXCEL_ERROR, e); |
| | | } |
| | |
| | | |
| | | /** |
| | | * 导åºè³ååºæµ |
| | | * |
| | | * @param data æ°æ® |
| | | * @param fileName Excelæä»¶å |
| | | * @param response HttpServletResponse对象 |
| | | */ |
| | | public void exportData(List<T> data, String fileName, HttpServletResponse response) { |
| | | this.exportData(data, fileName, DEFAULT_SHEET_NAME, response); |
| | | public void export (List<T> data, String fileName, HttpServletResponse response) { |
| | | |
| | | this.export(data, fileName, DEFAULT_SHEET_NAME, response); |
| | | } |
| | | /** |
| | | * 导åºè³ååºæµ |
| | | * @param data æ°æ® |
| | | * @param fileName Excelæä»¶å |
| | | * @param response HttpServletResponse对象 |
| | | */ |
| | | public void exportWithFirstAndEnd (List<T> data, String fileName,String first,String end, HttpServletResponse response) { |
| | | this.exportWithFirstAndEnd(data, fileName, DEFAULT_SHEET_NAME, first,end,response); |
| | | } |
| | | |
| | | /** |
| | | /**O |
| | | * è·ååéå |
| | | */ |
| | | private List<ColumnInfo> getColumns () { |
| | |
| | | Field[] fields = modelClass.getDeclaredFields(); |
| | | int index = 0; |
| | | for (Field field : fields) { |
| | | ExcelExportColumn excelColumn = field.getAnnotation(ExcelExportColumn.class); |
| | | ExcelColumn excelColumn = field.getAnnotation(ExcelColumn.class); |
| | | if (excelColumn == null) { |
| | | continue; |
| | | } |
| | | if (sortedFields.get(excelColumn.index()) != null) { |
| | | throw new AnnotationConfigurationException("EVA: excel column contains the same index."); |
| | | throw new AnnotationConfigurationException("Excel column contains the same index."); |
| | | } |
| | | sortedFields.put(excelColumn.index() == -1 ? index : excelColumn.index(), new ColumnInfo(excelColumn, field)); |
| | | index++; |
| | |
| | | /** |
| | | * é
ç½®æ°æ®åå
æ ¼ |
| | | */ |
| | | private void configDataCell (SXSSFWorkbook workbook, Cell cell, ExcelExportColumn columnConfig) { |
| | | CellStyle style = workbook.createCellStyle(); |
| | | style.setAlignment(columnConfig.align()); |
| | | style.setVerticalAlignment(VerticalAlignment.CENTER); |
| | | // è®¾ç½®èæ¯ |
| | | style.setFillPattern(FillPatternType.SOLID_FOREGROUND); |
| | | style.setFillForegroundColor(columnConfig.dataBackgroundColor().getIndex()); |
| | | // åä½ |
| | | Font font = workbook.createFont(); |
| | | font.setFontHeightInPoints(columnConfig.fontSize()); |
| | | // åä½é¢è² |
| | | font.setColor(columnConfig.color().getIndex()); |
| | | // ç²ä½ |
| | | font.setBold(columnConfig.bold()); |
| | | // æä½ |
| | | font.setItalic(columnConfig.italic()); |
| | | style.setFont(font); |
| | | // è¾¹æ¡ |
| | | configCellBorder(style); |
| | | cell.setCellStyle(style); |
| | | private CellStyle configDataCell (SXSSFWorkbook workbook, ExcelColumn columnConfig) { |
| | | CellStyle configDataCellStyle = workbook.createCellStyle(); |
| | | configDataCellStyle.setAlignment(columnConfig.align()); |
| | | configDataCellStyle.setVerticalAlignment(VerticalAlignment.CENTER); |
| | | // è®¾ç½®èæ¯ |
| | | configDataCellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); |
| | | configDataCellStyle.setFillForegroundColor(columnConfig.dataBackgroundColor().getIndex()); |
| | | // åä½ |
| | | Font font = workbook.createFont(); |
| | | font.setFontHeightInPoints(columnConfig.fontSize()); |
| | | // åä½é¢è² |
| | | font.setColor(columnConfig.color().getIndex()); |
| | | // ç²ä½ |
| | | font.setBold(columnConfig.bold()); |
| | | // æä½ |
| | | font.setItalic(columnConfig.italic()); |
| | | configDataCellStyle.setFont(font); |
| | | // è¾¹æ¡ |
| | | configCellBorder(configDataCellStyle); |
| | | configDataCellStyle.setWrapText(true); |
| | | |
| | | return configDataCellStyle; |
| | | // cell.setCellStyle(configDataCellStyle); |
| | | } |
| | | |
| | | /** |
| | | * é
ç½®å头åå
æ ¼ |
| | | */ |
| | | private void configHeaderCell (SXSSFWorkbook workbook, Cell cell, ExcelExportColumn columnConfig) { |
| | | private void configHeaderCell (SXSSFWorkbook workbook, Cell cell, ExcelColumn columnConfig) { |
| | | CellStyle style = workbook.createCellStyle(); |
| | | style.setAlignment(columnConfig.align()); |
| | | style.setVerticalAlignment(VerticalAlignment.CENTER); |
| | |
| | | // è®¾ç½®è¾¹æ¡ |
| | | configCellBorder(style); |
| | | cell.setCellStyle(style); |
| | | } |
| | | /** |
| | | * é
ç½®å头åå
æ ¼ |
| | | */ |
| | | private void configFirstCell (SXSSFWorkbook workbook, Cell cell ) { |
| | | CellStyle style = workbook.createCellStyle(); |
| | | style.setAlignment(HorizontalAlignment.CENTER); |
| | | style.setVerticalAlignment(VerticalAlignment.CENTER); |
| | | // è®¾ç½®èæ¯ |
| | | style.setFillPattern(FillPatternType.SOLID_FOREGROUND); |
| | | style.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); |
| | | // åä½ |
| | | Font font = workbook.createFont(); |
| | | font.setFontHeightInPoints((short)18); |
| | | style.setFont(font); |
| | | // è®¾ç½®è¾¹æ¡ |
| | | configCellBorder(style); |
| | | cell.setCellStyle(style); |
| | | } |
| | | // public static CellStyle configEndCellStyle =null; |
| | | /** |
| | | * é
ç½®å头åå
æ ¼ |
| | | */ |
| | | private CellStyle configEndCell (SXSSFWorkbook workbook ) { |
| | | CellStyle style = workbook.createCellStyle(); |
| | | style.setAlignment(HorizontalAlignment.RIGHT); |
| | | style.setVerticalAlignment(VerticalAlignment.CENTER); |
| | | // è®¾ç½®èæ¯ |
| | | style.setFillPattern(FillPatternType.SOLID_FOREGROUND); |
| | | style.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); |
| | | // åä½ |
| | | Font font = workbook.createFont(); |
| | | font.setFontHeightInPoints((short)14); |
| | | style.setFont(font); |
| | | // è®¾ç½®è¾¹æ¡ |
| | | configCellBorder(style); |
| | | return style; |
| | | |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | String stringValue = value.toString(); |
| | | // åå¨èªå®ä¹æ°æ®å¤çå¨ |
| | | if (!columnInfo.columnConfig.converter().equals(ExcelDataConverterAdapter.class)) { |
| | | if (!columnInfo.columnConfig.handler().equals(ExcelDataHandlerAdapter.class)) { |
| | | try { |
| | | Object instance = columnInfo.columnConfig.converter().newInstance(); |
| | | Method convertMethod = columnInfo.columnConfig.converter().getMethod("convert", Object[].class); |
| | | Object instance = columnInfo.columnConfig.handler().newInstance(); |
| | | Method formatMethod = columnInfo.columnConfig.handler().getMethod("format", Object[].class); |
| | | List<Object> args = new ArrayList<>(); |
| | | args.add(value); |
| | | for (String arg : columnInfo.columnConfig.args()) { |
| | | args.add(arg); |
| | | } |
| | | value = convertMethod.invoke(instance, new Object[]{args.toArray()}); |
| | | value = formatMethod.invoke(instance, new Object[]{args.toArray()}); |
| | | stringValue = value.toString(); |
| | | } catch (Exception e) { |
| | | throw new IllegalStateException("EVA: can not convert data by " + columnInfo.columnConfig.converter(), e); |
| | | throw new IllegalStateException("Can not format data by " + columnInfo.columnConfig.handler(), e); |
| | | } |
| | | } |
| | | // æ¥æå¤ç |
| | |
| | | return stringValue; |
| | | } |
| | | |
| | | /** |
| | | * åä¿¡æ¯ |
| | | */ |
| | | @Data |
| | | @AllArgsConstructor |
| | | private static class ColumnInfo { |
| | | |
| | | // åé
ç½® |
| | | private ExcelExportColumn columnConfig; |
| | | private ExcelColumn columnConfig; |
| | | |
| | | // åæ®µä¿¡æ¯ |
| | | private Field field; |
| | | } |
| | | |
| | |
| | | package com.doumee.core.annotation.excel; |
| | | |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.Data; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.poi.hssf.usermodel.HSSFWorkbook; |
| | | import org.apache.poi.openxml4j.exceptions.InvalidFormatException; |
| | | import org.apache.poi.ss.usermodel.*; |
| | | import org.apache.poi.xssf.usermodel.XSSFWorkbook; |
| | | import org.springframework.core.annotation.AnnotationConfigurationException; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import java.io.File; |
| | | import java.io.FileInputStream; |
| | | import java.io.IOException; |
| | | import java.io.InputStream; |
| | | import java.lang.reflect.Field; |
| | | import java.lang.reflect.Method; |
| | | import java.lang.reflect.Type; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.TreeMap; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * Excel导å
¥å®ç° |
| | | * @author dm |
| | | * @since 2025/03/31 16:44 |
| | | * 导å
¥Excelæä»¶ï¼æ¯æâXLSâåâXLSXâæ ¼å¼ï¼ |
| | | */ |
| | | public class ExcelImporter<T> { |
| | | public class ExcelImporter { |
| | | |
| | | private Class<T> modelClass; |
| | | |
| | | private ExcelImporter () {} |
| | | private static Logger log = LoggerFactory.getLogger(ExcelImporter.class); |
| | | |
| | | /** |
| | | * æé ExcelImporter对象 |
| | | * |
| | | * @param modelClass å®ä½Class对象 |
| | | * @return ExcelImporterå®ä¾ |
| | | * å·¥ä½è对象 |
| | | */ |
| | | public static <T> ExcelImporter<T> build(Class<T> modelClass) { |
| | | ExcelImporter<T> excelImporter = new ExcelImporter<>(); |
| | | excelImporter.modelClass = modelClass; |
| | | return excelImporter; |
| | | private Workbook wb; |
| | | |
| | | /** |
| | | * å·¥ä½è¡¨å¯¹è±¡ |
| | | */ |
| | | private Sheet sheet; |
| | | |
| | | /** |
| | | * æ é¢è¡å· |
| | | */ |
| | | private int headerNum; |
| | | /** |
| | | * æ é¢è¡å· |
| | | */ |
| | | private CellType changeType; |
| | | |
| | | /** |
| | | * æé 彿° |
| | | * @param--path 导å
¥æä»¶ï¼è¯»å第ä¸ä¸ªå·¥ä½è¡¨ |
| | | * @param headerNum æ é¢è¡å·ï¼æ°æ®è¡å·=æ é¢è¡å·+1 |
| | | * @throws InvalidFormatException |
| | | * @throws IOException |
| | | */ |
| | | public ExcelImporter(String fileName, int headerNum) |
| | | throws InvalidFormatException, IOException { |
| | | this(new File(fileName), headerNum); |
| | | } |
| | | |
| | | /** |
| | | * 导å
¥æ°æ® |
| | | * |
| | | * @param is è¾å
¥æµ |
| | | * @param callback åè° |
| | | * @param sync æ¯å¦åæ¥å·²å卿°æ® |
| | | * @return 导å
¥æåæ° |
| | | * æé 彿° |
| | | * @param--path 导å
¥æä»¶å¯¹è±¡ï¼è¯»å第ä¸ä¸ªå·¥ä½è¡¨ |
| | | * @param headerNum æ é¢è¡å·ï¼æ°æ®è¡å·=æ é¢è¡å·+1 (eg: 1) |
| | | * @throws InvalidFormatException |
| | | * @throws IOException |
| | | */ |
| | | public int importData (InputStream is, ExcelImportCallback<T> callback, boolean sync) { |
| | | return this.importData(is, 0, callback, sync); |
| | | public ExcelImporter(File file, int headerNum) |
| | | throws InvalidFormatException, IOException { |
| | | this(file, headerNum, 0); |
| | | } |
| | | |
| | | /** |
| | | * 导å
¥æ°æ® |
| | | * |
| | | * @param is è¾å
¥æµ |
| | | * @param sheetIndex sheetåæ |
| | | * @param callback åè° |
| | | * @param sync æ¯å¦åæ¥å·²å卿°æ® |
| | | * @return 导å
¥æåæ° |
| | | * æé 彿° |
| | | * @param--path 导å
¥æä»¶ |
| | | * @param headerNum æ é¢è¡å·ï¼æ°æ®è¡å·=æ é¢è¡å·+1 |
| | | * @param sheetIndex å·¥ä½è¡¨ç¼å· |
| | | * @throws InvalidFormatException |
| | | * @throws IOException |
| | | */ |
| | | public int importData (InputStream is, int sheetIndex, ExcelImportCallback<T> callback, boolean sync) { |
| | | try { |
| | | Workbook workbook = new XSSFWorkbook(is); |
| | | Sheet sheet = workbook.getSheetAt(sheetIndex); |
| | | // è·ååä¿¡æ¯ |
| | | List<ColumnInfo> columns = this.getColumns(); |
| | | List<T> data = new ArrayList<>(); |
| | | // 循ç¯è·åexcelè¡è®°å½ |
| | | for (int i = 1; i <= sheet.getLastRowNum(); i++) { |
| | | // æé æ°æ®å®ä¾å¯¹è±¡ |
| | | T instance = modelClass.newInstance(); |
| | | Row row = sheet.getRow(i); |
| | | // 循ç¯è·ååå
æ ¼ä¿¡æ¯ |
| | | for (int columnIndex = 0; columnIndex < columns.size(); columnIndex++) { |
| | | Cell cell = row.getCell(columnIndex); |
| | | if (cell == null) { |
| | | continue; |
| | | } |
| | | if (StringUtils.isBlank(cell.toString())) { |
| | | continue; |
| | | } |
| | | ColumnInfo columnInfo = columns.get(columnIndex); |
| | | if (columnInfo == null) { |
| | | break; |
| | | } |
| | | // åå
¥å¯¹è±¡å±æ§ |
| | | columnInfo.getField().setAccessible(Boolean.TRUE); |
| | | columnInfo.getField().set(instance, this.getCellValue(cell, columnInfo)); |
| | | columnInfo.getField().setAccessible(Boolean.FALSE); |
| | | } |
| | | // 妿æ¯ç©ºè¡åç»æè¡è¯»å |
| | | if (this.isEmptyRow(instance)) { |
| | | break; |
| | | } |
| | | data.add(instance); |
| | | } |
| | | // æ§è¡åè°å½æ° |
| | | return callback.callback(data, sync); |
| | | } catch (Exception e) { |
| | | throw new BusinessException(ResponseStatus.IMPORT_EXCEL_ERROR, e); |
| | | } finally { |
| | | if (is != null) { |
| | | try { |
| | | is.close(); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | public ExcelImporter(String fileName, int headerNum, int sheetIndex) |
| | | throws InvalidFormatException, IOException { |
| | | this(new File(fileName), headerNum, sheetIndex); |
| | | } |
| | | |
| | | /** |
| | | * æé 彿° |
| | | * @param--path 导å
¥æä»¶å¯¹è±¡ |
| | | * @param headerNum æ é¢è¡å·ï¼æ°æ®è¡å·=æ é¢è¡å·+1 |
| | | * @param sheetIndex å·¥ä½è¡¨ç¼å· |
| | | * @throws InvalidFormatException |
| | | * @throws IOException |
| | | */ |
| | | public ExcelImporter(File file, int headerNum, int sheetIndex) |
| | | throws InvalidFormatException, IOException { |
| | | this(file.getName(), new FileInputStream(file), headerNum, sheetIndex); |
| | | } |
| | | |
| | | /** |
| | | * æé 彿° (éè¦) |
| | | * @param--file 导å
¥æä»¶å¯¹è±¡ |
| | | * @param headerNum æ é¢è¡å·ï¼æ°æ®è¡å·=æ é¢è¡å·+1 |
| | | * @param sheetIndex å·¥ä½è¡¨ç¼å· |
| | | * @throws InvalidFormatException |
| | | * @throws IOException |
| | | */ |
| | | public ExcelImporter(MultipartFile multipartFile, int headerNum, int sheetIndex) |
| | | throws InvalidFormatException, IOException { |
| | | this(multipartFile.getOriginalFilename(), multipartFile.getInputStream(), headerNum, sheetIndex); |
| | | } |
| | | /** |
| | | * æé 彿° (éè¦) |
| | | * @param--file 导å
¥æä»¶å¯¹è±¡ |
| | | * @param headerNum æ é¢è¡å·ï¼æ°æ®è¡å·=æ é¢è¡å·+1 |
| | | * @param sheetIndex å·¥ä½è¡¨ç¼å· |
| | | * @throws InvalidFormatException |
| | | * @throws IOException |
| | | */ |
| | | public ExcelImporter(MultipartFile multipartFile, int headerNum, int sheetIndex, CellType cellType) |
| | | throws InvalidFormatException, IOException { |
| | | this(multipartFile.getOriginalFilename(), multipartFile.getInputStream(), headerNum, sheetIndex,cellType); |
| | | } |
| | | |
| | | /** |
| | | * æé 彿° ï¼ï¼ |
| | | * @param--path 导å
¥æä»¶å¯¹è±¡ |
| | | * @param headerNum æ é¢è¡å·ï¼æ°æ®è¡å·=æ é¢è¡å·+1 |
| | | * @param sheetIndex å·¥ä½è¡¨ç¼å· (eg: 0) |
| | | * @throws InvalidFormatException |
| | | * @throws IOException |
| | | */ |
| | | public ExcelImporter(String fileName, InputStream in, int headerNum, int sheetIndex) |
| | | throws InvalidFormatException, IOException { |
| | | if (StringUtils.isBlank(fileName)){ |
| | | throw new RuntimeException("导å
¥ææ¡£ä¸ºç©º!"); |
| | | }else if(fileName.toLowerCase().endsWith("xls")){ |
| | | this.wb = new HSSFWorkbook(in); |
| | | }else if(fileName.toLowerCase().endsWith("xlsx")){ |
| | | this.wb = new XSSFWorkbook(in); |
| | | }else{ |
| | | throw new RuntimeException("ææ¡£æ ¼å¼ä¸æ£ç¡®!"); |
| | | } |
| | | if (this.wb.getNumberOfSheets()<sheetIndex){ |
| | | throw new RuntimeException("ææ¡£ä¸æ²¡æå·¥ä½è¡¨!"); |
| | | } |
| | | this.sheet = this.wb.getSheetAt(sheetIndex); |
| | | this.headerNum = headerNum; |
| | | log.debug("Initialize success."); |
| | | } |
| | | public ExcelImporter(String fileName, InputStream in, int headerNum, int sheetIndex,CellType cellType) |
| | | throws InvalidFormatException, IOException { |
| | | if (StringUtils.isBlank(fileName)){ |
| | | throw new RuntimeException("导å
¥ææ¡£ä¸ºç©º!"); |
| | | }else if(fileName.toLowerCase().endsWith("xls")){ |
| | | this.wb = new HSSFWorkbook(in); |
| | | }else if(fileName.toLowerCase().endsWith("xlsx")){ |
| | | this.wb = new XSSFWorkbook(in); |
| | | }else{ |
| | | throw new RuntimeException("ææ¡£æ ¼å¼ä¸æ£ç¡®!"); |
| | | } |
| | | if (this.wb.getNumberOfSheets()<sheetIndex){ |
| | | throw new RuntimeException("ææ¡£ä¸æ²¡æå·¥ä½è¡¨!"); |
| | | } |
| | | this.sheet = this.wb.getSheetAt(sheetIndex); |
| | | this.headerNum = headerNum; |
| | | this.changeType = cellType; |
| | | log.debug("Initialize success."); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * è·åè¡å¯¹è±¡ |
| | | * @param rownum |
| | | * @return |
| | | */ |
| | | public Row getRow(int rownum){ |
| | | return this.sheet.getRow(rownum); |
| | | } |
| | | |
| | | /** |
| | | * è·åCellå¼ |
| | | * |
| | | * @param cell åå
æ ¼å¯¹è±¡ |
| | | * @param columnInfo åé
ç½® |
| | | * è·åæ°æ®è¡å· |
| | | * @return |
| | | */ |
| | | public int getDataRowNum(){ |
| | | return headerNum+1; |
| | | } |
| | | |
| | | /** |
| | | * è·åæåä¸ä¸ªæ°æ®è¡å· |
| | | * @return |
| | | */ |
| | | public int getLastDataRowNum(){ |
| | | return this.sheet.getLastRowNum()+headerNum; |
| | | } |
| | | |
| | | /** |
| | | * è·åæåä¸ä¸ªåå· |
| | | * @return |
| | | */ |
| | | public int getLastCellNum(){ |
| | | return this.getRow(headerNum).getLastCellNum(); |
| | | } |
| | | |
| | | /** |
| | | * è·ååå
æ ¼å¼ |
| | | * @param row è·åçè¡ |
| | | * @param column è·ååå
æ ¼åå· |
| | | * @return åå
æ ¼å¼ |
| | | */ |
| | | private Object getCellValue (Cell cell, ColumnInfo columnInfo) { |
| | | CellType cellType = cell.getCellType(); |
| | | Type fieldType = columnInfo.getField().getGenericType(); |
| | | Object value = null; |
| | | if (fieldType.getTypeName().equals("java.util.Date")) { |
| | | value = cell.getDateCellValue(); |
| | | } else if (cellType.equals(CellType.NUMERIC)) { |
| | | value = cell.getNumericCellValue(); |
| | | } else if (cellType.equals(CellType.STRING)) { |
| | | value = cell.getStringCellValue(); |
| | | } else if (cellType.equals(CellType.BOOLEAN)) { |
| | | value = cell.getBooleanCellValue(); |
| | | } else if (cellType.equals(CellType.BLANK)) { |
| | | value = ""; |
| | | } else if (cellType.equals(CellType.ERROR)) { |
| | | value = cell.getErrorCellValue(); |
| | | } |
| | | // è°ç¨è½¬æ¢å¨ |
| | | if (!columnInfo.columnConfig.converter().equals(ExcelDataConverterAdapter.class)) { |
| | | try { |
| | | Object instance = columnInfo.columnConfig.converter().newInstance(); |
| | | Method convertMethod = columnInfo.columnConfig.converter().getMethod("convert", Object[].class); |
| | | List<Object> args = new ArrayList<>(); |
| | | args.add(value); |
| | | for (String arg : columnInfo.columnConfig.args()) { |
| | | args.add(arg); |
| | | public Object getCellValue(Row row, int column){ |
| | | Object val = ""; |
| | | try{ |
| | | Cell cell = row.getCell(column); |
| | | if (cell != null){ |
| | | if (cell.getCellType() == CellType.NUMERIC){ |
| | | cell.setCellType(CellType.STRING); // ç¡®ä¿åå
æ ¼ç±»å为å符串 |
| | | val = cell.getStringCellValue(); |
| | | }else if (cell.getCellType() == CellType.STRING){ |
| | | val = cell.getStringCellValue(); |
| | | }else if (cell.getCellType() == CellType.FORMULA){ |
| | | val = cell.getCellFormula(); |
| | | }else if (cell.getCellType() == CellType.BOOLEAN){ |
| | | val = cell.getBooleanCellValue(); |
| | | }else if (cell.getCellType() == CellType.ERROR){ |
| | | val = cell.getErrorCellValue(); |
| | | } |
| | | value = convertMethod.invoke(instance, new Object[]{args.toArray()}); |
| | | } catch (Exception e) { |
| | | throw new IllegalStateException("EVA: can not convert data by " + columnInfo.columnConfig.converter(), e); |
| | | } |
| | | }catch (Exception e) { |
| | | return val; |
| | | } |
| | | return value; |
| | | return val; |
| | | } |
| | | |
| | | /** |
| | | * è·ååéå |
| | | * è·å导å
¥æ°æ®å表 |
| | | * @param cls 导å
¥å¯¹è±¡ç±»å |
| | | * @param groups 导å
¥åç» å¯ä¸ºç©º |
| | | */ |
| | | private List<ColumnInfo> getColumns () { |
| | | Map<Integer, ColumnInfo> sortedFields = new TreeMap<>(); |
| | | Field[] fields = modelClass.getDeclaredFields(); |
| | | int index = 0; |
| | | for (Field field : fields) { |
| | | ExcelImportColumn excelColumn = field.getAnnotation(ExcelImportColumn.class); |
| | | if (excelColumn == null) { |
| | | public <E> List<E> getDataList(Class<E> cls, int... groups) throws InstantiationException, IllegalAccessException{ |
| | | List<Object[]> annotationList = new ArrayList<>(); |
| | | // Get annotation field |
| | | Field[] fs = cls.getDeclaredFields(); |
| | | for (Field f : fs){ |
| | | ExcelColumn ef = f.getAnnotation(ExcelColumn.class); |
| | | if (ef != null && (ef.type()==0 || ef.type()==2)){ |
| | | if (groups!=null && groups.length>0){ |
| | | boolean inGroup = false; |
| | | for (int g : groups){ |
| | | if (inGroup){ |
| | | break; |
| | | } |
| | | for (int efg : ef.groups()){ |
| | | if (g == efg){ |
| | | inGroup = true; |
| | | annotationList.add(new Object[]{ef, f}); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | }else{ |
| | | annotationList.add(new Object[]{ef, f}); |
| | | } |
| | | } |
| | | } |
| | | // Get annotation method |
| | | Method[] ms = cls.getDeclaredMethods(); |
| | | for (Method m : ms){ |
| | | ExcelColumn ef = m.getAnnotation(ExcelColumn.class); |
| | | if (ef != null && (ef.type()==0 || ef.type()==2)){ |
| | | if (groups!=null && groups.length>0){ |
| | | boolean inGroup = false; |
| | | for (int g : groups){ |
| | | if (inGroup){ |
| | | break; |
| | | } |
| | | for (int efg : ef.groups()){ |
| | | if (g == efg){ |
| | | inGroup = true; |
| | | annotationList.add(new Object[]{ef, m}); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | }else{ |
| | | annotationList.add(new Object[]{ef, m}); |
| | | } |
| | | } |
| | | } |
| | | // Field sorting |
| | | Collections.sort(annotationList, (o1, o2) -> { |
| | | int index1 =((ExcelColumn)o1[0]).index(), index2=((ExcelColumn)o2[0]).index(); |
| | | if(index1 == -1){ |
| | | index1 = annotationList.size()+99999; |
| | | } |
| | | if(index2 == -1){ |
| | | index2 = annotationList.size()+99999; |
| | | } |
| | | return new Integer(index1).compareTo(new Integer(index2)); |
| | | }); |
| | | //log.debug("Import column count:"+annotationList.size()); |
| | | // Get excel data |
| | | List<E> dataList = new ArrayList<>(); |
| | | System.out.println("èµ·å§æ°æ®è¡:"+getDataRowNum()); |
| | | System.out.println("ç»ææ°æ®è¡:"+getLastDataRowNum()); |
| | | for (int i = this.getDataRowNum(); i <= this.getLastDataRowNum(); i++) { |
| | | E e = (E)cls.newInstance(); |
| | | int column = 0; |
| | | Row row = this.getRow(i); |
| | | if (Objects.isNull(row)){ |
| | | continue; |
| | | } |
| | | if (sortedFields.get(excelColumn.index()) != null) { |
| | | throw new AnnotationConfigurationException("EVA: Excel column contains the same index."); |
| | | StringBuilder sb = new StringBuilder(); |
| | | for (Object[] os : annotationList){ |
| | | Object val = this.getCellValue(row, column++); |
| | | if (val != null){ |
| | | ExcelColumn ef = (ExcelColumn)os[0]; |
| | | // Get param type and type cast |
| | | Class<?> valType = Class.class; |
| | | if (os[1] instanceof Field){ |
| | | valType = ((Field)os[1]).getType(); |
| | | }else if(os[1] instanceof Method){ |
| | | Method method = ((Method)os[1]); |
| | | if ("get".equals(method.getName().substring(0, 3))){ |
| | | valType = method.getReturnType(); |
| | | }else if("set".equals(method.getName().substring(0, 3))){ |
| | | valType = ((Method)os[1]).getParameterTypes()[0]; |
| | | } |
| | | } |
| | | //log.debug("Import value type: ["+i+","+column+"] " + valType); |
| | | try { |
| | | if (valType == String.class){ |
| | | String s = String.valueOf(val.toString()); |
| | | if(StringUtils.endsWith(s, ".0")){ |
| | | val = StringUtils.substringBefore(s, ".0"); |
| | | }else{ |
| | | val = String.valueOf(val.toString()).trim(); |
| | | } |
| | | } |
| | | else if (valType == Integer.class){ |
| | | val = Double.valueOf(val.toString()).intValue(); |
| | | }else if (valType == Long.class){ |
| | | val = Double.valueOf(val.toString()).longValue(); |
| | | }else if (valType == Double.class){ |
| | | val = Double.valueOf(val.toString()); |
| | | }else if (valType == Float.class){ |
| | | val = Float.valueOf(val.toString()); |
| | | }else if (valType == Date.class){ |
| | | val = DateUtil.getJavaDate((Double)val); |
| | | }else{ |
| | | if (ef.fieldType() != Class.class){ |
| | | val = ef.fieldType().getMethod("getValue", String.class).invoke(null, val.toString()); |
| | | }else{ |
| | | val = Class.forName(this.getClass().getName().replaceAll(this.getClass().getSimpleName(), |
| | | "fieldtype."+valType.getSimpleName()+"Type")).getMethod("getValue", String.class).invoke(null, val.toString()); |
| | | } |
| | | } |
| | | } catch (Exception ex) { |
| | | log.info("Get cell value ["+i+","+column+"] error: " + ex.toString()); |
| | | val = null; |
| | | } |
| | | // set entity value |
| | | if (os[1] instanceof Field){ |
| | | Reflections.invokeSetter(e, ((Field)os[1]).getName(), val); |
| | | }else if (os[1] instanceof Method){ |
| | | String mthodName = ((Method)os[1]).getName(); |
| | | if ("get".equals(mthodName.substring(0, 3))){ |
| | | mthodName = "set"+StringUtils.substringAfter(mthodName, "get"); |
| | | } |
| | | Reflections.invokeMethod(e, mthodName, new Class[] {valType}, new Object[] {val}); |
| | | } |
| | | } |
| | | sb.append(val+", "); |
| | | } |
| | | sortedFields.put(excelColumn.index() == -1 ? index : excelColumn.index(), new ColumnInfo(excelColumn, field)); |
| | | index++; |
| | | dataList.add(e); |
| | | log.debug("Read success: ["+i+"] "+sb.toString()); |
| | | } |
| | | return new ArrayList<>(sortedFields.values()); |
| | | return dataList; |
| | | } |
| | | |
| | | /** |
| | | * 夿æ¯å¦ä¸ºç©ºè¡ |
| | | * |
| | | * @param row è¡å¯¹è±¡ |
| | | * @return Boolean |
| | | * å
³éæµ æ¸
çä¸´æ¶æä»¶ |
| | | */ |
| | | private boolean isEmptyRow(Object row) throws IllegalAccessException{ |
| | | Field[] fields = row.getClass().getDeclaredFields(); |
| | | for (Field field : fields) { |
| | | field.setAccessible(Boolean.TRUE); |
| | | if (field.get(row) != null) { |
| | | field.setAccessible(Boolean.FALSE); |
| | | return Boolean.FALSE; |
| | | public void dispose(){ |
| | | try { |
| | | if(wb!=null){ |
| | | wb.close(); |
| | | } |
| | | field.setAccessible(Boolean.FALSE); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | throw new RuntimeException(e); |
| | | } |
| | | return Boolean.TRUE; |
| | | |
| | | } |
| | | |
| | | /** |
| | | * åä¿¡æ¯ |
| | | */ |
| | | @Data |
| | | @AllArgsConstructor |
| | | private static class ColumnInfo { |
| | | |
| | | // åé
ç½® |
| | | private ExcelImportColumn columnConfig; |
| | | |
| | | // åæ®µä¿¡æ¯ |
| | | private Field field; |
| | | } |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.core.annotation.excel; |
| | | |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.commons.lang3.Validate; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.util.Assert; |
| | | |
| | | import java.lang.reflect.*; |
| | | |
| | | /** |
| | | * åå°å·¥å
·ç±». |
| | | * æä¾è°ç¨getter/setteræ¹æ³, 访é®ç§æåé, è°ç¨ç§ææ¹æ³, è·åæ³åç±»åClass, 被AOPè¿ççå®ç±»çå·¥å
·å½æ°. |
| | | */ |
| | | @SuppressWarnings("rawtypes") |
| | | public class Reflections { |
| | | |
| | | private static final String SETTER_PREFIX = "set"; |
| | | |
| | | private static final String GETTER_PREFIX = "get"; |
| | | |
| | | private static final String CGLIB_CLASS_SEPARATOR = "$$"; |
| | | |
| | | private static Logger logger = LoggerFactory.getLogger(Reflections.class); |
| | | |
| | | /** |
| | | * è°ç¨Getteræ¹æ³. |
| | | * æ¯æå¤çº§ï¼å¦ï¼å¯¹è±¡å.对象å.æ¹æ³ |
| | | */ |
| | | public static Object invokeGetter(Object obj, String propertyName) { |
| | | Object object = obj; |
| | | for (String name : StringUtils.split(propertyName, ".")){ |
| | | String getterMethodName = GETTER_PREFIX + StringUtils.capitalize(name); |
| | | object = invokeMethod(object, getterMethodName, new Class[] {}, new Object[] {}); |
| | | } |
| | | return object; |
| | | } |
| | | |
| | | /** |
| | | * è°ç¨Setteræ¹æ³, ä»
å¹é
æ¹æ³åã |
| | | * æ¯æå¤çº§ï¼å¦ï¼å¯¹è±¡å.对象å.æ¹æ³ |
| | | */ |
| | | public static void invokeSetter(Object obj, String propertyName, Object value) { |
| | | Object object = obj; |
| | | String[] names = StringUtils.split(propertyName, "."); |
| | | for (int i=0; i<names.length; i++){ |
| | | if(i<names.length-1){ |
| | | String getterMethodName = GETTER_PREFIX + StringUtils.capitalize(names[i]); |
| | | object = invokeMethod(object, getterMethodName, new Class[] {}, new Object[] {}); |
| | | }else{ |
| | | String setterMethodName = SETTER_PREFIX + StringUtils.capitalize(names[i]); |
| | | invokeMethodByName(object, setterMethodName, new Object[] { value }); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * ç´æ¥è¯»åå¯¹è±¡å±æ§å¼, æ è§private/protected修饰符, ä¸ç»è¿getter彿°. |
| | | */ |
| | | public static Object getFieldValue(final Object obj, final String fieldName) { |
| | | Field field = getAccessibleField(obj, fieldName); |
| | | |
| | | if (field == null) { |
| | | throw new IllegalArgumentException("Could not find field [" + fieldName + "] on target [" + obj + "]"); |
| | | } |
| | | |
| | | Object result = null; |
| | | try { |
| | | result = field.get(obj); |
| | | } catch (IllegalAccessException e) { |
| | | logger.error("éæ³è®¿é®çå¼å¸¸{}", e.getMessage()); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * ç´æ¥è®¾ç½®å¯¹è±¡å±æ§å¼, æ è§private/protected修饰符, ä¸ç»è¿setter彿°. |
| | | */ |
| | | public static void setFieldValue(final Object obj, final String fieldName, final Object value) { |
| | | Field field = getAccessibleField(obj, fieldName); |
| | | |
| | | if (field == null) { |
| | | throw new IllegalArgumentException("Could not find field [" + fieldName + "] on target [" + obj + "]"); |
| | | } |
| | | |
| | | try { |
| | | field.set(obj, value); |
| | | } catch (IllegalAccessException e) { |
| | | logger.error("éæ³è®¿é®çå¼å¸¸:{}", e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * ç´æ¥è°ç¨å¯¹è±¡æ¹æ³, æ è§private/protected修饰符. |
| | | * ç¨äºä¸æ¬¡æ§è°ç¨çæ
åµï¼å¦ååºä½¿ç¨getAccessibleMethod()彿°è·å¾Methodååå¤è°ç¨. |
| | | * åæ¶å¹é
æ¹æ³å+åæ°ç±»åï¼ |
| | | */ |
| | | public static Object invokeMethod(final Object obj, final String methodName, final Class<?>[] parameterTypes, |
| | | final Object[] args) { |
| | | Method method = getAccessibleMethod(obj, methodName, parameterTypes); |
| | | if (method == null) { |
| | | throw new IllegalArgumentException("Could not find method [" + methodName + "] on target [" + obj + "]"); |
| | | } |
| | | |
| | | try { |
| | | return method.invoke(obj, args); |
| | | } catch (Exception e) { |
| | | throw convertReflectionExceptionToUnchecked(e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * ç´æ¥è°ç¨å¯¹è±¡æ¹æ³, æ è§private/protectedä¿®é¥°ç¬¦ï¼ |
| | | * ç¨äºä¸æ¬¡æ§è°ç¨çæ
åµï¼å¦ååºä½¿ç¨getAccessibleMethodByName()彿°è·å¾Methodååå¤è°ç¨. |
| | | * åªå¹é
彿°åï¼å¦ææå¤ä¸ªåå彿°è°ç¨ç¬¬ä¸ä¸ªã |
| | | */ |
| | | public static Object invokeMethodByName(final Object obj, final String methodName, final Object[] args) { |
| | | Method method = getAccessibleMethodByName(obj, methodName); |
| | | if (method == null) { |
| | | throw new IllegalArgumentException("Could not find method [" + methodName + "] on target [" + obj + "]"); |
| | | } |
| | | |
| | | try { |
| | | return method.invoke(obj, args); |
| | | } catch (Exception e) { |
| | | throw convertReflectionExceptionToUnchecked(e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 循ç¯åä¸è½¬å, è·å对象çDeclaredField, 并强å¶è®¾ç½®ä¸ºå¯è®¿é®. |
| | | * |
| | | * å¦åä¸è½¬åå°Object仿 æ³æ¾å°, è¿ånull. |
| | | */ |
| | | public static Field getAccessibleField(final Object obj, final String fieldName) { |
| | | Validate.notNull(obj, "object can't be null"); |
| | | Validate.notBlank(fieldName, "fieldName can't be blank"); |
| | | for (Class<?> superClass = obj.getClass(); superClass != Object.class; superClass = superClass.getSuperclass()) { |
| | | try { |
| | | Field field = superClass.getDeclaredField(fieldName); |
| | | makeAccessible(field); |
| | | return field; |
| | | } catch (NoSuchFieldException e) {//NOSONAR |
| | | // Fieldä¸å¨å½åç±»å®ä¹,ç»§ç»åä¸è½¬å |
| | | continue;// new add |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * 循ç¯åä¸è½¬å, è·å对象çDeclaredMethod,并强å¶è®¾ç½®ä¸ºå¯è®¿é®. |
| | | * å¦åä¸è½¬åå°Object仿 æ³æ¾å°, è¿ånull. |
| | | * å¹é
彿°å+åæ°ç±»åã |
| | | * |
| | | * ç¨äºæ¹æ³éè¦è¢«å¤æ¬¡è°ç¨çæ
åµ. å
ä½¿ç¨æ¬å½æ°å
åå¾Method,ç¶åè°ç¨Method.invoke(Object obj, Object... args) |
| | | */ |
| | | public static Method getAccessibleMethod(final Object obj, final String methodName, |
| | | final Class<?>... parameterTypes) { |
| | | Validate.notNull(obj, "object can't be null"); |
| | | Validate.notBlank(methodName, "methodName can't be blank"); |
| | | |
| | | for (Class<?> searchType = obj.getClass(); searchType != Object.class; searchType = searchType.getSuperclass()) { |
| | | try { |
| | | Method method = searchType.getDeclaredMethod(methodName, parameterTypes); |
| | | makeAccessible(method); |
| | | return method; |
| | | } catch (NoSuchMethodException e) { |
| | | // Methodä¸å¨å½åç±»å®ä¹,ç»§ç»åä¸è½¬å |
| | | continue;// new add |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * 循ç¯åä¸è½¬å, è·å对象çDeclaredMethod,并强å¶è®¾ç½®ä¸ºå¯è®¿é®. |
| | | * å¦åä¸è½¬åå°Object仿 æ³æ¾å°, è¿ånull. |
| | | * åªå¹é
彿°åã |
| | | * |
| | | * ç¨äºæ¹æ³éè¦è¢«å¤æ¬¡è°ç¨çæ
åµ. å
ä½¿ç¨æ¬å½æ°å
åå¾Method,ç¶åè°ç¨Method.invoke(Object obj, Object... args) |
| | | */ |
| | | public static Method getAccessibleMethodByName(final Object obj, final String methodName) { |
| | | Validate.notNull(obj, "object can't be null"); |
| | | Validate.notBlank(methodName, "methodName can't be blank"); |
| | | |
| | | for (Class<?> searchType = obj.getClass(); searchType != Object.class; searchType = searchType.getSuperclass()) { |
| | | Method[] methods = searchType.getDeclaredMethods(); |
| | | for (Method method : methods) { |
| | | if (method.getName().equals(methodName)) { |
| | | makeAccessible(method); |
| | | return method; |
| | | } |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * æ¹åprivate/protectedçæ¹æ³ä¸ºpublicï¼å°½éä¸è°ç¨å®é
æ¹å¨çè¯å¥ï¼é¿å
JDKçSecurityManageræ±æ¨ã |
| | | */ |
| | | public static void makeAccessible(Method method) { |
| | | if ((!Modifier.isPublic(method.getModifiers()) || !Modifier.isPublic(method.getDeclaringClass().getModifiers())) |
| | | && !method.isAccessible()) { |
| | | method.setAccessible(true); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æ¹åprivate/protectedçæååé为publicï¼å°½éä¸è°ç¨å®é
æ¹å¨çè¯å¥ï¼é¿å
JDKçSecurityManageræ±æ¨ã |
| | | */ |
| | | public static void makeAccessible(Field field) { |
| | | if ((!Modifier.isPublic(field.getModifiers()) || !Modifier.isPublic(field.getDeclaringClass().getModifiers()) || Modifier |
| | | .isFinal(field.getModifiers())) && !field.isAccessible()) { |
| | | field.setAccessible(true); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * éè¿åå°, è·å¾Classå®ä¹ä¸å£°æçæ³ååæ°çç±»å, æ³¨ææ³åå¿
é¡»å®ä¹å¨ç¶ç±»å¤ |
| | | * 妿 æ³æ¾å°, è¿åObject.class. |
| | | * eg. |
| | | * public UserDao extends HibernateDao<User> |
| | | * |
| | | * @param clazz The class to introspect |
| | | * @return the first generic declaration, or Object.class if cannot be determined |
| | | */ |
| | | @SuppressWarnings("unchecked") |
| | | public static <T> Class<T> getClassGenricType(final Class clazz) { |
| | | return getClassGenricType(clazz, 0); |
| | | } |
| | | |
| | | /** |
| | | * éè¿åå°, è·å¾Classå®ä¹ä¸å£°æçç¶ç±»çæ³ååæ°çç±»å. |
| | | * 妿 æ³æ¾å°, è¿åObject.class. |
| | | * |
| | | * å¦public UserDao extends HibernateDao<User,Long> |
| | | * |
| | | * @param clazz clazz The class to introspect |
| | | * @param index the Index of the generic ddeclaration,start from 0. |
| | | * @return the index generic declaration, or Object.class if cannot be determined |
| | | */ |
| | | public static Class getClassGenricType(final Class clazz, final int index) { |
| | | |
| | | Type genType = clazz.getGenericSuperclass(); |
| | | |
| | | if (!(genType instanceof ParameterizedType)) { |
| | | logger.warn(clazz.getSimpleName() + "'s superclass not ParameterizedType"); |
| | | return Object.class; |
| | | } |
| | | |
| | | Type[] params = ((ParameterizedType) genType).getActualTypeArguments(); |
| | | |
| | | if (index >= params.length || index < 0) { |
| | | logger.warn("Index: " + index + ", Size of " + clazz.getSimpleName() + "'s Parameterized Type: " |
| | | + params.length); |
| | | return Object.class; |
| | | } |
| | | if (!(params[index] instanceof Class)) { |
| | | logger.warn(clazz.getSimpleName() + " not set the actual class on superclass generic parameter"); |
| | | return Object.class; |
| | | } |
| | | |
| | | return (Class) params[index]; |
| | | } |
| | | |
| | | public static Class<?> getUserClass(Object instance) { |
| | | Assert.notNull(instance, "Instance must not be null"); |
| | | Class clazz = instance.getClass(); |
| | | if (clazz != null && clazz.getName().contains(CGLIB_CLASS_SEPARATOR)) { |
| | | Class<?> superClass = clazz.getSuperclass(); |
| | | if (superClass != null && !Object.class.equals(superClass)) { |
| | | return superClass; |
| | | } |
| | | } |
| | | return clazz; |
| | | |
| | | } |
| | | |
| | | /** |
| | | * å°åå°æ¶çchecked exception转æ¢ä¸ºunchecked exception. |
| | | */ |
| | | public static RuntimeException convertReflectionExceptionToUnchecked(Exception e) { |
| | | if (e instanceof IllegalAccessException || e instanceof IllegalArgumentException |
| | | || e instanceof NoSuchMethodException) { |
| | | return new IllegalArgumentException(e); |
| | | } else if (e instanceof InvocationTargetException) { |
| | | return new RuntimeException(((InvocationTargetException) e).getTargetException()); |
| | | } else if (e instanceof RuntimeException) { |
| | | return (RuntimeException) e; |
| | | } |
| | | return new RuntimeException("Unexpected Checked Exception.", e); |
| | | } |
| | | } |
| | |
| | | package com.doumee.dao.business.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.doumee.core.annotation.excel.ExcelExportColumn; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import lombok.Data; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | |
| | | |
| | | @TableId(type = IdType.AUTO) |
| | | @ApiModelProperty(value = "主é®", example = "1") |
| | | @ExcelExportColumn(name="主é®") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "å建人ç¼ç ", example = "1") |
| | | @ExcelExportColumn(name="å建人ç¼ç ") |
| | | private Integer creator; |
| | | |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | @ExcelExportColumn(name="å建æ¶é´") |
| | | |
| | | private Date createDate; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") |
| | | @ExcelExportColumn(name="æ´æ°äººç¼ç ") |
| | | private Integer editor; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´") |
| | | @ExcelExportColumn(name="æ´æ°æ¶é´") |
| | | |
| | | private Date editDate; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") |
| | | @ExcelExportColumn(name="æ¯å¦å é¤0å¦ 1æ¯") |
| | | private Integer isdeleted; |
| | | |
| | | @ApiModelProperty(value = "åç§°") |
| | | @ExcelExportColumn(name="åç§°") |
| | | private String name; |
| | | |
| | | @ApiModelProperty(value = "夿³¨") |
| | | @ExcelExportColumn(name="夿³¨") |
| | | private String remark; |
| | | |
| | | @ApiModelProperty(value = "ç¶æ 0å¯ç¨ 1ç¦ç¨", example = "1") |
| | | @ExcelExportColumn(name="ç¶æ 0å¯ç¨ 1ç¦ç¨") |
| | | private Integer status; |
| | | |
| | | @ApiModelProperty(value = "æåºç ", example = "1") |
| | | @ExcelExportColumn(name="æåºç ") |
| | | private Integer sortnum; |
| | | |
| | | @ApiModelProperty(value = "徿 ") |
| | | @ExcelExportColumn(name="徿 ") |
| | | private String imgurl; |
| | | |
| | | @ApiModelProperty(value = "ç±»å 0SHE伤害类å 1è·ç»æ»ä¼¤å®³ç±»å 2è·ç»æ»åçå°ç¹ 3DCAä½ç½® 4DCAä¸»é¢ 5SHEé£é©å°ç¹ 6DCAè§å¯é¡¹", example = "1") |
| | | @ExcelExportColumn(name="ç±»å 0SHE伤害类å 1è·ç»æ»ä¼¤å®³ç±»å 2è·ç»æ»åçå°ç¹ 3DCAä½ç½® 4DCAä¸»é¢ 5SHEé£é©å°ç¹ 6DCAè§å¯é¡¹") |
| | | private Integer type; |
| | | |
| | | @ApiModelProperty(value = "ç¶çº§ç¼ç ï¼èªå
³èï¼", example = "1") |
| | | @ExcelExportColumn(name="ç¶çº§ç¼ç ï¼èªå
³èï¼") |
| | | private Integer parentId; |
| | | |
| | | @ApiModelProperty(value = "åç§°è·¯å¾") |
| | | @ExcelExportColumn(name="åç§°è·¯å¾") |
| | | private String namePath; |
| | | |
| | | @ApiModelProperty(value = "ç¼ç è·¯å¾") |
| | | @ExcelExportColumn(name="ç¼ç è·¯å¾") |
| | | private String idPath; |
| | | @ApiModelProperty(value = "ä¸çº§åç§°") |
| | | @TableField(exist = false) |
| | |
| | | package com.doumee.dao.business.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.doumee.core.annotation.excel.ExcelExportColumn; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import lombok.Data; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | |
| | | |
| | | @TableId(type = IdType.AUTO) |
| | | @ApiModelProperty(value = "主é®", example = "1") |
| | | @ExcelExportColumn(name="主é®") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "å建人ç¼ç ", example = "1") |
| | | @ExcelExportColumn(name="å建人ç¼ç ") |
| | | private Integer creator; |
| | | |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | @ExcelExportColumn(name="å建æ¶é´") |
| | | |
| | | private Date createDate; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") |
| | | @ExcelExportColumn(name="æ´æ°äººç¼ç ") |
| | | private Integer editor; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´") |
| | | @ExcelExportColumn(name="æ´æ°æ¶é´") |
| | | |
| | | private Date editDate; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") |
| | | @ExcelExportColumn(name="æ¯å¦å é¤0å¦ 1æ¯") |
| | | private Integer isdeleted; |
| | | |
| | | @ApiModelProperty(value = "åç§°") |
| | | @ExcelExportColumn(name="åç§°") |
| | | private String name; |
| | | |
| | | @ApiModelProperty(value = "夿³¨") |
| | | @ExcelExportColumn(name="夿³¨") |
| | | private String remark; |
| | | |
| | | @ApiModelProperty(value = "ç¶æ 0æ£å¸¸ 1ç¦ç¨", example = "1") |
| | | @ExcelExportColumn(name="ç¶æ 0æ£å¸¸ 1ç¦ç¨") |
| | | private Integer status; |
| | | |
| | | @ApiModelProperty(value = "æåºç ", example = "1") |
| | | @ExcelExportColumn(name="æåºç ") |
| | | private Integer sortnum; |
| | | |
| | | @ApiModelProperty(value = "头å") |
| | | @ExcelExportColumn(name="头å") |
| | | private String imgurl; |
| | | |
| | | @ApiModelProperty(value = "ç±»å", example = "1") |
| | | @ExcelExportColumn(name="ç±»å") |
| | | private Integer type; |
| | | |
| | | @ApiModelProperty(value = "æå±ç¶çº§ç¼ç ï¼å
³ècompany)", example = "1") |
| | | @ExcelExportColumn(name="æå±ç¶çº§ç¼ç ï¼å
³ècompany)") |
| | | private Integer parentId; |
| | | |
| | | @ApiModelProperty(value = "ç¼ç ") |
| | | @ExcelExportColumn(name="ç¼ç ") |
| | | private String code; |
| | | |
| | | @ApiModelProperty(value = "ä¼å¾®æ è¯") |
| | | @ExcelExportColumn(name="ä¼å¾®æ è¯") |
| | | private String qwId; |
| | | |
| | | @ApiModelProperty(value = "åç§°è·¯å¾") |
| | | @ExcelExportColumn(name="åç§°è·¯å¾") |
| | | private String namePath; |
| | | |
| | | @ApiModelProperty(value = "ç¼ç è·¯å¾") |
| | | @ExcelExportColumn(name="ç¼ç è·¯å¾") |
| | | private String idPath; |
| | | @ApiModelProperty(value = "ä¼ä¸å¾®ä¿¡æå±ç¶çº§ç¼ç ï¼å
³ècompany)", example = "1") |
| | | @ExcelExportColumn(name="ä¼ä¸å¾®ä¿¡æå±ç¶çº§ç¼ç ï¼å
³ècompany)") |
| | | private String qwParentId; |
| | | |
| | | |
| | |
| | | package com.doumee.dao.business.model; |
| | | |
| | | import com.doumee.core.annotation.excel.ExcelExportColumn; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import lombok.Data; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | |
| | | |
| | | @TableId(type = IdType.AUTO) |
| | | @ApiModelProperty(value = "主é®", example = "1") |
| | | @ExcelExportColumn(name="主é®") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "å建人ç¼ç ", example = "1") |
| | | @ExcelExportColumn(name="å建人ç¼ç ") |
| | | private Integer creator; |
| | | |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | @ExcelExportColumn(name="å建æ¶é´") |
| | | |
| | | private Date createDate; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") |
| | | @ExcelExportColumn(name="æ´æ°äººç¼ç ") |
| | | private Integer editor; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´") |
| | | @ExcelExportColumn(name="æ´æ°æ¶é´") |
| | | |
| | | private Date editDate; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") |
| | | @ExcelExportColumn(name="æ¯å¦å é¤0å¦ 1æ¯") |
| | | private Integer isdeleted; |
| | | |
| | | @ApiModelProperty(value = "夿³¨") |
| | | @ExcelExportColumn(name="夿³¨") |
| | | private String remark; |
| | | |
| | | @ApiModelProperty(value = "æåºç ", example = "1") |
| | | @ExcelExportColumn(name="æåºç ") |
| | | private Integer sortnum; |
| | | |
| | | @ApiModelProperty(value = "æå±ç»ç»ç¼ç ï¼å
³ècompany)", example = "1") |
| | | @ExcelExportColumn(name="æå±ç»ç»ç¼ç ï¼å
³ècompany)") |
| | | private Integer companyId; |
| | | @ApiModelProperty(value = "æå±ç»ç»ç¼ç è·¯å¾ ", example = "1") |
| | | @ExcelExportColumn(name="æå±ç»ç»ç¼ç è·¯å¾ ") |
| | | private String companyIdPath; |
| | | |
| | | @ApiModelProperty(value = "人åç¼ç ï¼å
³èmember", example = "1") |
| | | @ExcelExportColumn(name="人åç¼ç ï¼å
³èmember") |
| | | private Integer memberId; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦ä¸ºé¨é¨è´è´£äºº0-å¦ï¼1-æ¯", example = "1") |
| | | @ExcelExportColumn(name="æ¯å¦ä¸ºé¨é¨è´è´£äºº0-å¦ï¼1-æ¯") |
| | | private Integer isLeader; |
| | | |
| | | } |
| | |
| | | package com.doumee.dao.business.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.doumee.core.annotation.excel.ExcelExportColumn; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import lombok.Data; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | |
| | | |
| | | @TableId(type = IdType.AUTO) |
| | | @ApiModelProperty(value = "主é®", example = "1") |
| | | @ExcelExportColumn(name="主é®") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "å建人ç¼ç ", example = "1") |
| | | @ExcelExportColumn(name="å建人ç¼ç ") |
| | | private Integer creator; |
| | | |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | @ExcelExportColumn(name="å建æ¶é´") |
| | | |
| | | private Date createDate; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") |
| | | @ExcelExportColumn(name="æ´æ°äººç¼ç ") |
| | | private Integer editor; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´") |
| | | @ExcelExportColumn(name="æ´æ°æ¶é´") |
| | | |
| | | private Date editDate; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") |
| | | @ExcelExportColumn(name="æ¯å¦å é¤0å¦ 1æ¯") |
| | | private Integer isdeleted; |
| | | |
| | | @ApiModelProperty(value = "æå±åç±»ç¼ï¼å
³ècategory)") |
| | | @ExcelExportColumn(name="æå±åç±»ç¼ï¼å
³ècategory)") |
| | | private String categoryId; |
| | | |
| | | @ApiModelProperty(value = "夿³¨") |
| | | @ExcelExportColumn(name="夿³¨") |
| | | private String remark; |
| | | |
| | | @ApiModelProperty(value = "ç¶æ 0å¯ç¨ 1ç¦ç¨", example = "1") |
| | | @ExcelExportColumn(name="ç¶æ 0å¯ç¨ 1ç¦ç¨") |
| | | private Integer status; |
| | | |
| | | @ApiModelProperty(value = "æåºç ", example = "1") |
| | | @ExcelExportColumn(name="æåºç ") |
| | | private Integer sortnum; |
| | | |
| | | @ApiModelProperty(value = "ç±»å 0SHEè´è´£äºº 1DCAæå¨æé人å 2DCAæé人å", example = "1") |
| | | @ExcelExportColumn(name="ç±»å 0SHEè´è´£äºº 1DCAæå¨æé人å 2DCAæé人å") |
| | | private Integer type; |
| | | |
| | | @ApiModelProperty(value = "人åç¼ç ï¼å
³èmember)", example = "1") |
| | | @ExcelExportColumn(name="人åç¼ç ï¼å
³èmember)") |
| | | private Integer memberId; |
| | | @ApiModelProperty(value = "ç»ç»åç§°") |
| | | @TableField(exist = false) |
| | |
| | | package com.doumee.dao.business.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.doumee.core.annotation.excel.ExcelExportColumn; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import lombok.Data; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | |
| | | |
| | | @TableId(type = IdType.AUTO) |
| | | @ApiModelProperty(value = "主é®", example = "1") |
| | | @ExcelExportColumn(name="主é®") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "å建人ç¼ç ", example = "1") |
| | | @ExcelExportColumn(name="å建人ç¼ç ") |
| | | private Integer creator; |
| | | |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | @ExcelExportColumn(name="å建æ¶é´") |
| | | |
| | | private Date createDate; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") |
| | | @ExcelExportColumn(name="æ´æ°äººç¼ç ") |
| | | private Integer editor; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´") |
| | | @ExcelExportColumn(name="æ´æ°æ¶é´") |
| | | |
| | | private Date editDate; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") |
| | | @ExcelExportColumn(name="æ¯å¦å é¤0å¦ 1æ¯") |
| | | private Integer isdeleted; |
| | | |
| | | @ApiModelProperty(value = "å§å") |
| | | @ExcelExportColumn(name="å§å") |
| | | private String name; |
| | | |
| | | @ApiModelProperty(value = "夿³¨") |
| | | @ExcelExportColumn(name="夿³¨") |
| | | private String remark; |
| | | |
| | | @ApiModelProperty(value = "ç¶æ 0æ£å¸¸ 1ç¦ç¨", example = "1") |
| | | @ExcelExportColumn(name="ç¶æ 0æ£å¸¸ 1ç¦ç¨") |
| | | private Integer status; |
| | | |
| | | @ApiModelProperty(value = "æåºç ", example = "1") |
| | | @ExcelExportColumn(name="æåºç ") |
| | | private Integer sortnum; |
| | | |
| | | @ApiModelProperty(value = "头å") |
| | | @ExcelExportColumn(name="头å") |
| | | private String imgurl; |
| | | |
| | | @ApiModelProperty(value = "ç±»å", example = "1") |
| | | @ExcelExportColumn(name="ç±»å") |
| | | private Integer type; |
| | | |
| | | @ApiModelProperty(value = "æå±ç»ç»ç¼ç ï¼å
³ècompany)", example = "1") |
| | | @ExcelExportColumn(name="æå±ç»ç»ç¼ç ï¼å
³ècompany)") |
| | | private String companyId; |
| | | |
| | | @ApiModelProperty(value = "ææºå·") |
| | | @ExcelExportColumn(name="ææºå·") |
| | | private String phone; |
| | | |
| | | @ApiModelProperty(value = "é®ç®±") |
| | | @ExcelExportColumn(name="é®ç®±") |
| | | private String email; |
| | | |
| | | @ApiModelProperty(value = "æ§å« 0ç· 1女 2ä½ç½®", example = "1") |
| | | @ExcelExportColumn(name="æ§å« 0ç· 1女 2ä½ç½®") |
| | | private Integer sex; |
| | | |
| | | @ApiModelProperty(value = "å·¥å·") |
| | | @ExcelExportColumn(name="å·¥å·") |
| | | private String code; |
| | | |
| | | @ApiModelProperty(value = "ä¼å¾®æ è¯") |
| | | @ExcelExportColumn(name="ä¼å¾®æ è¯") |
| | | private String qwId; |
| | | |
| | | @ApiModelProperty(value = "è¯ä»¶å·") |
| | | @ExcelExportColumn(name="è¯ä»¶å·") |
| | | private String idcard; |
| | | |
| | | @ApiModelProperty(value = "æè¿ä¸çº¿æ¶é´") |
| | | @ExcelExportColumn(name="æè¿ä¸çº¿æ¶é´") |
| | | private Date lastLoginDate; |
| | | |
| | | @ApiModelProperty(value = "ç»å½æ¬¡æ°", example = "1") |
| | | @ExcelExportColumn(name="ç»å½æ¬¡æ°") |
| | | private Integer loginCount; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å
å«ä¸çº§ç»ç»ç¨æ·") |
| | |
| | | package com.doumee.dao.business.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.doumee.core.annotation.excel.ExcelExportColumn; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import lombok.Data; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | |
| | | public class Multifile { |
| | | |
| | | @ApiModelProperty(value = "主é®", example = "1") |
| | | @ExcelExportColumn(name="主é®") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "å建人ç¼ç ", example = "1") |
| | | @ExcelExportColumn(name="å建人ç¼ç ") |
| | | private Integer creator; |
| | | |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | @ExcelExportColumn(name="å建æ¶é´") |
| | | |
| | | private Date createDate; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") |
| | | @ExcelExportColumn(name="æ´æ°äººç¼ç ") |
| | | private Integer editor; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´") |
| | | @ExcelExportColumn(name="æ´æ°æ¶é´") |
| | | |
| | | private Date editDate; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") |
| | | @ExcelExportColumn(name="æ¯å¦å é¤0å¦ 1æ¯") |
| | | private Integer isdeleted; |
| | | |
| | | @ApiModelProperty(value = "æä»¶å") |
| | | @ExcelExportColumn(name="æä»¶å") |
| | | private String name; |
| | | |
| | | @ApiModelProperty(value = "夿³¨") |
| | | @ExcelExportColumn(name="夿³¨") |
| | | private String info; |
| | | |
| | | @ApiModelProperty(value = "å
³è对象ç¼ç ", example = "1") |
| | | @ExcelExportColumn(name="å
³è对象ç¼ç ") |
| | | private Integer objId; |
| | | |
| | | @ApiModelProperty(value = "ç±»å0å¾ç 1è§é¢ 2å
¶ä»", example = "1") |
| | | @ExcelExportColumn(name="ç±»å0å¾ç 1è§é¢ 2å
¶ä»") |
| | | private Integer type; |
| | | |
| | | // @ApiModelProperty(value = "å
³è对象类å 0SHE䏿¥ 1è·ç»æ»ä¸æ¥ 2è·ç»æ»å¤ç 3è·ç»æ»åé
ç©ä¸ä¸»ç®¡ 4è·ç»æ»åé
å¤ç人 5DCAé£é©ä¸æ¥ 6DCAé£é©å¤ç 7DCAå·¥åå¾ç", example = "1") |
| | | // @ExcelExportColumn(name="å
³è对象类å 0SHE䏿¥ 1è·ç»æ»ä¸æ¥ 2è·ç»æ»å¤ç 3è·ç»æ»åé
ç©ä¸ä¸»ç®¡ 4è·ç»æ»åé
å¤ç人 5DCAé£é©ä¸æ¥ 6DCAé£é©å¤ç 7DCAå·¥åå¾ç") |
| | | @ApiModelProperty(value = "å
³è对象类å 0å·¥å䏿¥ 1å·¥åå¤ç 2å·¥å转交", example = "1") |
| | | @ExcelExportColumn(name="å
³è对象类å 0å·¥å䏿¥ 1å·¥åå¤ç 2å·¥å转交") |
| | | private Integer objType; |
| | | |
| | | @ApiModelProperty(value = "æä»¶å°å") |
| | | @ExcelExportColumn(name="æä»¶å°å") |
| | | private String fileurl; |
| | | |
| | | @ApiModelProperty(value = "æåºç ", example = "1") |
| | | @ExcelExportColumn(name="æåºç ") |
| | | private Integer sortnum; |
| | | |
| | | @ApiModelProperty(value = "ä¼ä¸ç¼ç (å
³ècompany表ï¼", example = "1") |
| | | @ExcelExportColumn(name="ä¼ä¸ç¼ç (å
³ècompany表ï¼") |
| | | private Integer companyId; |
| | | |
| | | @ApiModelProperty(value = "æä»¶å°å") |
| | |
| | | package com.doumee.dao.business.model; |
| | | |
| | | import com.doumee.core.annotation.excel.ExcelExportColumn; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import lombok.Data; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | |
| | | |
| | | @TableId(type = IdType.AUTO) |
| | | @ApiModelProperty(value = "主é®", example = "1") |
| | | @ExcelExportColumn(name="主é®") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "å建人ç¼ç ", example = "1") |
| | | @ExcelExportColumn(name="å建人ç¼ç ") |
| | | private Integer creator; |
| | | |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | @ExcelExportColumn(name="å建æ¶é´") |
| | | |
| | | private Date createDate; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") |
| | | @ExcelExportColumn(name="æ´æ°äººç¼ç ") |
| | | private Integer editor; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´") |
| | | @ExcelExportColumn(name="æ´æ°æ¶é´") |
| | | |
| | | private Date editDate; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") |
| | | @ExcelExportColumn(name="æ¯å¦å é¤0å¦ 1æ¯") |
| | | private Integer isdeleted; |
| | | |
| | | @ApiModelProperty(value = "夿³¨") |
| | | @ExcelExportColumn(name="夿³¨") |
| | | private String remark; |
| | | |
| | | @ApiModelProperty(value = "æ é¢") |
| | | @ExcelExportColumn(name="æ é¢") |
| | | private String title; |
| | | |
| | | @ApiModelProperty(value = "ç®ä»") |
| | | @ExcelExportColumn(name="ç®ä»") |
| | | private String info; |
| | | |
| | | @ApiModelProperty(value = "å
容") |
| | | @ExcelExportColumn(name="å
容") |
| | | private String content; |
| | | |
| | | @ApiModelProperty(value = "å
³è对象ç¼ç ", example = "1") |
| | | @ExcelExportColumn(name="å
³è对象ç¼ç ") |
| | | private Integer objId; |
| | | |
| | | @ApiModelProperty(value = "å
³è对象类å 0å·¥å") |
| | | @ExcelExportColumn(name="å
³è对象类å 0å·¥å") |
| | | private String objType; |
| | | |
| | | @ApiModelProperty(value = "å
³è对象åç§°") |
| | | @ExcelExportColumn(name="å
³è对象åç§°") |
| | | private String objName; |
| | | |
| | | @ApiModelProperty(value = "ç±»å 0å·¥å䏿¥ 1æé 2转交") |
| | | private String type; |
| | | |
| | | @ApiModelProperty(value = "ç¨æ·ä¼å¾®ä¸»é®") |
| | | @ExcelExportColumn(name="å
³èåæ°1") |
| | | private String param1; |
| | | |
| | | @ApiModelProperty(value = "å
³èåæ°2") |
| | | @ExcelExportColumn(name="å
³èåæ°2") |
| | | private String param2; |
| | | |
| | | @ApiModelProperty(value = "å
³èåæ°3") |
| | | @ExcelExportColumn(name="å
³èåæ°3") |
| | | private String param3; |
| | | |
| | | @ApiModelProperty(value = "å
³èåæ°4") |
| | | @ExcelExportColumn(name="å
³èåæ°4") |
| | | private String param4; |
| | | |
| | | @ApiModelProperty(value = "å
³èåæ°5") |
| | | @ExcelExportColumn(name="å
³èåæ°5") |
| | | private String param5; |
| | | |
| | | @ApiModelProperty(value = "å
³èç¨æ·å§å") |
| | | @ExcelExportColumn(name="å
³èç¨æ·å§å") |
| | | private String memberName; |
| | | |
| | | @ApiModelProperty(value = "å
³èç¨æ·ä¼å¾®ç¼ç ") |
| | | @ExcelExportColumn(name="å
³èç¨æ·ä¼å¾®ç¼ç ") |
| | | private String qwId; |
| | | |
| | | @ApiModelProperty(value = "å
³èç¨æ·ç¼ç ï¼å
³èmember)", example = "1") |
| | | @ExcelExportColumn(name="å
³èç¨æ·ç¼ç ï¼å
³èmember)") |
| | | private Integer memberId; |
| | | |
| | | @ApiModelProperty(value = "å
³èä¼ä¸ç»ç»ç¼ç (å
³ècompanyï¼", example = "1") |
| | | @ExcelExportColumn(name="å
³èä¼ä¸ç»ç»ç¼ç (å
³ècompanyï¼") |
| | | private Integer companyId; |
| | | |
| | | @ApiModelProperty(value = "ç¶æ 0æ£å¸¸ 1å·²å
³é", example = "1") |
| | | @ExcelExportColumn(name="ç¶æ 0æ£å¸¸ 1å·²å
³é") |
| | | private Integer status; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦æé 0䏿¯ 1æ¯", example = "1") |
| | | @ExcelExportColumn(name="æ¯å¦æé 0䏿¯ 1æ¯") |
| | | private Integer sendacopy; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å·²è¯» 0æªè¯» 1已读", example = "1") |
| | | @ExcelExportColumn(name="æ¯å¦å·²è¯» 0æªè¯» 1已读") |
| | | private Integer readed; |
| | | |
| | | } |
| | |
| | | package com.doumee.dao.business.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.doumee.core.annotation.excel.ExcelExportColumn; |
| | | import com.doumee.dao.web.dto.DCANoProblemDTO; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | |
| | | |
| | | @TableId(type = IdType.AUTO) |
| | | @ApiModelProperty(value = "主é®", example = "1") |
| | | @ExcelExportColumn(name="主é®") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "å建人ç¼ç ", example = "1") |
| | | @ExcelExportColumn(name="å建人ç¼ç ") |
| | | private Integer creator; |
| | | |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | @ExcelExportColumn(name="å建æ¶é´") |
| | | |
| | | private Date createDate; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") |
| | | @ExcelExportColumn(name="æ´æ°äººç¼ç ") |
| | | private Integer editor; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´") |
| | | @ExcelExportColumn(name="æ´æ°æ¶é´") |
| | | |
| | | private Date editDate; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") |
| | | @ExcelExportColumn(name="æ¯å¦å é¤0å¦ 1æ¯") |
| | | private Integer isdeleted; |
| | | |
| | | @ApiModelProperty(value = "DCAåç±»ï¼å
³ècategory)") |
| | | @ExcelExportColumn(name="DCAåç±»ï¼å
³ècategory)") |
| | | private String categoryId; |
| | | |
| | | @ApiModelProperty(value = "夿³¨") |
| | | @ExcelExportColumn(name="夿³¨") |
| | | private String remark; |
| | | |
| | | @ApiModelProperty(value = "ç¶æ ç¶æ 0å¾
确认/å¾
å审 1å¾
åé
/å¾
ç»å®¡ 2å¾
å¤ç 3SHEå
³é 4WTSå
³é 5å·¥ç¨å¸å
³é", example = "1") |
| | | @ExcelExportColumn(name="ç¶æ ç¶æ 0å¾
确认/å¾
å审 1å¾
åé
/å¾
ç»å®¡ 2å¾
å¤ç 3SHEå
³é 4WTSå
³é 5å·¥ç¨å¸å
³é") |
| | | private Integer status; |
| | | |
| | | @ApiModelProperty(value = "æåºç ", example = "1") |
| | | @ExcelExportColumn(name="æåºç ") |
| | | private Integer sortnum; |
| | | |
| | | @ApiModelProperty(value = "ç±»å 0SHEäºä»¶ 1DCAäºä»¶æäº¤è®°å½ 2DCAå·¥å 3è·ç»æ»äºä»¶", example = "1") |
| | | @ExcelExportColumn(name="ç±»å 0SHEäºä»¶ 1DCAäºä»¶æäº¤è®°å½ 2DCAå·¥å 3è·ç»æ»äºä»¶") |
| | | private Integer type; |
| | | |
| | | @ApiModelProperty(value = "䏿¥äººåç¼ç ï¼å
³èmember)", example = "1") |
| | | @ExcelExportColumn(name="䏿¥äººåç¼ç ï¼å
³èmember)") |
| | | private Integer memberId; |
| | | |
| | | @ApiModelProperty(value = "é¨é¨ç¼ç ", example = "1") |
| | | @ExcelExportColumn(name="é¨é¨ç¼ç ") |
| | | private Integer companyId; |
| | | |
| | | @ApiModelProperty(value = "䏿¥æ¶é´", example = "1") |
| | | @ExcelExportColumn(name="䏿¥æ¶é´") |
| | | private Date submitDate; |
| | | |
| | | @ApiModelProperty(value = "SHEæ¶å人åç±»å 0æ¬äºº 1åäº 2ä¾åºå", example = "1") |
| | | @ExcelExportColumn(name="SHEæ¶å人åç±»å 0æ¬äºº 1åäº 2ä¾åºå") |
| | | private Integer memberType; |
| | | |
| | | @ApiModelProperty(value = "SHEæ¶å人åä¼ä¸ç¼ç éå") |
| | | @ExcelExportColumn(name="SHEæ¶å人åä¼ä¸ç¼ç éå") |
| | | private String memberQwids; |
| | | |
| | | @ApiModelProperty(value = "SHEæ¶å人åä¾åºåéå") |
| | | @ExcelExportColumn(name="SHEæ¶å人åä¾åºåéå") |
| | | private String memberNames; |
| | | |
| | | @ApiModelProperty(value = "åçå°ç¹/ä½ç½®ç¼ç ï¼å
³ècategoryï¼", example = "1") |
| | | @ExcelExportColumn(name="åçå°ç¹/ä½ç½®ç¼ç ï¼å
³ècategoryï¼") |
| | | private Integer localtionId; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å¤é¨å°±å» 0å¦ 1æ¯") |
| | | @ExcelExportColumn(name="æ¯å¦å¤é¨å°±å» 0å¦ 1æ¯") |
| | | private Integer outJiuyi; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å»å¡å®¤ 0å¦ 1æ¯", example = "1") |
| | | @ExcelExportColumn(name="æ¯å¦å»å¡å®¤ 0å¦ 1æ¯") |
| | | private Integer isYiwushi; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å伤 0å¦ 1æ¯", example = "1") |
| | | @ExcelExportColumn(name="æ¯å¦å伤 0å¦ 1æ¯") |
| | | private Integer isHurted; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦åå·¥ä½ç¸å
³", example = "1") |
| | | @ExcelExportColumn(name="æ¯å¦åå·¥ä½ç¸å
³") |
| | | private Integer workRelated; |
| | | |
| | | @ApiModelProperty(value = "äºä»¶è¯´æ", example = "1") |
| | | @ExcelExportColumn(name="äºä»¶è¯´æ") |
| | | private String eventInfo; |
| | | |
| | | @ApiModelProperty(value = "é®ä»¶éç¥äººåç¼ç éå") |
| | | @ExcelExportColumn(name="é®ä»¶éç¥äººåç¼ç éå") |
| | | private String emialMemberIds; |
| | | |
| | | @ApiModelProperty(value = "ä¼ä¸å¾®ä¿¡éç¥äººåç¼ç éå") |
| | | @ExcelExportColumn(name="ä¼ä¸å¾®ä¿¡éç¥äººåç¼ç éå") |
| | | private String qwnoticeMemberIds; |
| | | |
| | | @ApiModelProperty(value = "åçæ¶é´") |
| | | @ExcelExportColumn(name="åçæ¶é´") |
| | | private Date happenTime; |
| | | |
| | | @ApiModelProperty(value = "é£é©ã伤害ãè§å¯ä¸»é¢ç±»å(å
³ècategoryï¼") |
| | | @ExcelExportColumn(name="é£é©ã伤害ãè§å¯ä¸»é¢ç±»å(å
³ècategoryï¼") |
| | | private Integer typeId; |
| | | |
| | | @ApiModelProperty(value = "é£é©æè¿°", example = "1") |
| | | @ExcelExportColumn(name="é£é©æè¿°") |
| | | private String riskInfo; |
| | | @ApiModelProperty(value = "å½åç©ä¸ä¸»ç®¡ä¼ä¸å¾®ä¿¡ç¼ç ", example = "1") |
| | | @ExcelExportColumn(name="å½åç©ä¸ä¸»ç®¡ä¼ä¸å¾®ä¿¡ç¼ç ") |
| | | private String managerId; |
| | | @ApiModelProperty(value = "å½åå¤ç人åä¼ä¸å¾®ä¿¡ç¼ç ", example = "1") |
| | | @ExcelExportColumn(name="å½åå¤ç人åä¼ä¸å¾®ä¿¡ç¼ç ") |
| | | private String dealerId; |
| | | |
| | | @ApiModelProperty(value = "åé
æ¶é´") |
| | | @ExcelExportColumn(name="åé
æ¶é´") |
| | | private Date dispatchTime; |
| | | |
| | | @ApiModelProperty(value = "åé
夿³¨") |
| | | @ExcelExportColumn(name="åé
夿³¨") |
| | | private String dispatchInfo; |
| | | |
| | | @ApiModelProperty(value = "å¤çæ¶é´") |
| | | @ExcelExportColumn(name="å¤çæ¶é´") |
| | | private Date dealTime; |
| | | |
| | | @ApiModelProperty(value = "å¤ç夿³¨") |
| | | @ExcelExportColumn(name="å¤ç夿³¨") |
| | | private String dealInfo; |
| | | |
| | | @ApiModelProperty(value = "DCAé®é¢æ é¢") |
| | | @ExcelExportColumn(name="DCAé®é¢æ é¢") |
| | | private String problemTitle; |
| | | |
| | | @ApiModelProperty(value = "DCAé®é¢ç¼ç (å
³ècategoryï¼", example = "1") |
| | | @ExcelExportColumn(name="DCAé®é¢ç¼ç (å
³ècategoryï¼") |
| | | private Integer problemId; |
| | | |
| | | @ApiModelProperty(value = "DCAé®é¢æè¿°") |
| | | @ExcelExportColumn(name="DCAé®é¢æè¿°") |
| | | private String problemInfo; |
| | | |
| | | @ApiModelProperty(value = "ä½ç½®å°ç¹è·¯å¾åç§°") |
| | | @ExcelExportColumn(name="ä½ç½®å°ç¹è·¯å¾åç§°") |
| | | private String locationName; |
| | | |
| | | @ApiModelProperty(value = "å·¥åå·") |
| | | @ExcelExportColumn(name="å·¥åå·") |
| | | private String code; |
| | | |
| | | @ApiModelProperty(value = "DCAç¬¦åæ°é", example = "1") |
| | | @ExcelExportColumn(name="DCAç¬¦åæ°é") |
| | | private Integer dcaYesNum; |
| | | |
| | | @ApiModelProperty(value = "DCAä¸ç¬¦åæ°é", example = "1") |
| | | @ExcelExportColumn(name="DCAä¸ç¬¦åæ°é") |
| | | private Integer dcaNoNum; |
| | | |
| | | @ApiModelProperty(value = "DCAæäº¤è®°å½ç¼ç ï¼èªå
³èï¼", example = "1") |
| | | @ExcelExportColumn(name="DCAæäº¤è®°å½ç¼ç ï¼èªå
³èï¼") |
| | | private Integer dcaRecordId; |
| | | |
| | | @ApiModelProperty(value = "DCAå·¥åæé人åä¼ä¸å¾®ä¿¡ç¼ç éå(å¤ä¸ªè±æéå·éå¼ï¼") |
| | | @ExcelExportColumn(name="DCAå·¥åæé人åä¼ä¸å¾®ä¿¡ç¼ç éå(å¤ä¸ªè±æéå·éå¼ï¼") |
| | | private String dcaCsIds; |
| | | |
| | | @ApiModelProperty(value = "䏿¬¡å¬ä¿æ¶é´") |
| | | @ExcelExportColumn(name="䏿¬¡å¬ä¿æ¶é´") |
| | | private Date urgeDate; |
| | | |
| | | @ApiModelProperty("éä»¶ä¿¡æ¯") |
| | |
| | | package com.doumee.dao.business.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.doumee.core.annotation.excel.ExcelExportColumn; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import lombok.Data; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | |
| | | |
| | | @TableId(type = IdType.AUTO) |
| | | @ApiModelProperty(value = "主é®", example = "1") |
| | | @ExcelExportColumn(name="主é®") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "å建人ç¼ç ", example = "1") |
| | | @ExcelExportColumn(name="å建人ç¼ç ") |
| | | private Integer creator; |
| | | |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | @ExcelExportColumn(name="å建æ¶é´") |
| | | |
| | | private Date createDate; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") |
| | | @ExcelExportColumn(name="æ´æ°äººç¼ç ") |
| | | private Integer editor; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´") |
| | | @ExcelExportColumn(name="æ´æ°æ¶é´") |
| | | |
| | | private Date editDate; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") |
| | | @ExcelExportColumn(name="æ¯å¦å é¤0å¦ 1æ¯") |
| | | private Integer isdeleted; |
| | | |
| | | @ApiModelProperty(value = "夿³¨") |
| | | @ExcelExportColumn(name="夿³¨") |
| | | private String remark; |
| | | |
| | | @ApiModelProperty(value = "å·¥åç¼ç ï¼å
³èworkorder)", example = "1") |
| | | @ExcelExportColumn(name="å·¥åç¼ç ï¼å
³èworkorder)") |
| | | private Integer workorderId; |
| | | |
| | | @ApiModelProperty(value = "æ é¢") |
| | | @ExcelExportColumn(name="æ é¢") |
| | | private String title; |
| | | |
| | | @ApiModelProperty(value = "ç®ä»") |
| | | @ExcelExportColumn(name="ç®ä»") |
| | | private String content; |
| | | |
| | | @ApiModelProperty(value = "æä½ç±»å 0ä»»å¡ä¸æ¥ 1ä»»å¡åé
ç©ä¸ä¸»ç®¡ 2ä»»å¡åé
å¤ç人 3ä»»å¡å¤çå
³é 4ä»»å¡å¬ä¿", example = "1") |
| | | @ExcelExportColumn(name="æä½ç±»å 0ä»»å¡ä¸æ¥ 1ä»»å¡åé
ç©ä¸ä¸»ç®¡ 2ä»»å¡åé
å¤ç人 3ä»»å¡å¤çå
³é 4ä»»å¡å¬ä¿") |
| | | private Integer objType; |
| | | |
| | | @ApiModelProperty(value = "å
³è对象ç¼ç ") |
| | | @ExcelExportColumn(name="å
³è对象ç¼ç ") |
| | | private String objId; |
| | | |
| | | @ApiModelProperty(value = "æä½åå
容") |
| | | @ExcelExportColumn(name="æä½åå
容") |
| | | private String beforeContent; |
| | | |
| | | @ApiModelProperty(value = "æä½åå
容") |
| | | @ExcelExportColumn(name="æä½åå
容") |
| | | private String afterContent; |
| | | |
| | | @ApiModelProperty(value = "æä½äºº") |
| | | @ExcelExportColumn(name="åæ°1") |
| | | private String param1; |
| | | |
| | | @ApiModelProperty(value = "å¤ç人") |
| | | @ExcelExportColumn(name="åæ°2") |
| | | private String param2; |
| | | |
| | | @ApiModelProperty(value = "åæ°3") |
| | | @ExcelExportColumn(name="åæ°3") |
| | | private String param3; |
| | | |
| | | @ApiModelProperty(value = "åæ°4") |
| | | @ExcelExportColumn(name="åæ°4") |
| | | private String param4; |
| | | |
| | | @ApiModelProperty(value = "æä½äººåç§°") |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.business.vo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.doumee.core.annotation.excel.ExcelColumn; |
| | | import com.doumee.dao.business.model.Multifile; |
| | | import com.doumee.dao.business.model.Workorder; |
| | | import com.doumee.dao.business.model.WorkorderLog; |
| | | import com.doumee.dao.web.dto.DCANoProblemDTO; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * Created by IntelliJ IDEA. |
| | | * |
| | | * @Author : Rk |
| | | * @create 2023/7/13 10:40 |
| | | */ |
| | | @Data |
| | | @ApiModel("å·¥å导åºä¿¡æ¯") |
| | | public class WorkorderAllDto { |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | @ExcelColumn(name="æäº¤æ¶é´",index =10 ,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 10) |
| | | private Date createDate; |
| | | @ApiModelProperty(value = "æè¿æä½æ¶é´") |
| | | @ExcelColumn(name="æäº¤æ¶é´",index =10 ,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 10) |
| | | private Date editDate; |
| | | @ApiModelProperty(value = "夿³¨") |
| | | @ExcelColumn(name="夿³¨",index =10 ,width = 10) |
| | | private String remark; |
| | | @ApiModelProperty(value = "ç¶æ ç¶æ 0å¾
确认/å¾
å审 1å¾
åé
/å¾
ç»å®¡ 2å¾
å¤ç 4WTSå
³é 5å·¥ç¨å¸å
³é", example = "1") |
| | | @ExcelColumn(name="ç¶æ",index =13,width = 6, valueMapping = "0=å¾
å¤ç;1=å¾
åé
;2=å¾
å¤ç;3=SHEå
³é;4=WTSå
³é;5=å·¥ç¨å¸å
³é;") |
| | | private Integer status; |
| | | @ApiModelProperty(value = "䏿¥æ¶é´", example = "1") |
| | | @ExcelColumn(name="䏿¥æ¶é´",index =10 ,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 10) |
| | | private Date submitDate; |
| | | @ApiModelProperty(value = "SHEæ¶å人åä¾åºåéå") |
| | | private String memberNames; |
| | | @ApiModelProperty(value = "æ¯å¦å¤é¨å°±å»") |
| | | @ExcelColumn(name="æ¯å¦å¤é¨å°±å»",index =13,width = 6, valueMapping = "0=å¦;1=æ¯;") |
| | | private Integer outJiuyi; |
| | | @ApiModelProperty(value = "æ¯å¦å»å¡å®¤", example = "1") |
| | | @ExcelColumn(name="æ¯å¦å»å¡å®¤",index =13,width = 6, valueMapping = "0=å¦;1=æ¯;") |
| | | private Integer isYiwushi; |
| | | @ApiModelProperty(value = "æ¯å¦å伤", example = "1") |
| | | @ExcelColumn(name="æ¯å¦å伤",index =13,width = 6, valueMapping = "0=å¦;1=æ¯;") |
| | | private Integer isHurted; |
| | | @ApiModelProperty(value = "æ¯å¦åå·¥ä½ç¸å
³", example = "1") |
| | | @ExcelColumn(name="æ¯å¦åå·¥ä½ç¸å
³",index =13,width = 6, valueMapping = "0=å¦;1=æ¯;") |
| | | private Integer workRelated; |
| | | @ApiModelProperty(value = "äºä»¶è¯´æ", example = "1") |
| | | @ExcelColumn(name="äºä»¶è¯´æ",index =13,width = 6) |
| | | private String eventInfo; |
| | | @ApiModelProperty(value = "åçæ¶é´") |
| | | @ExcelColumn(name="åçæ¶é´",index =10 ,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 10) |
| | | private Date happenTime; |
| | | @ApiModelProperty(value = "é£é©æè¿°", example = "1") |
| | | @ExcelColumn(name="é£é©æè¿°",index =13,width = 6) |
| | | private String riskInfo; |
| | | @ApiModelProperty(value = "è§å¯é¡¹") |
| | | @ExcelColumn(name="é£é©æè¿°",index =13,width = 6) |
| | | private String problemTitle; |
| | | @ApiModelProperty(value = "DCAé®é¢æè¿°") |
| | | @ExcelColumn(name="DCAé®é¢æè¿°",index =13,width = 6) |
| | | private String problemInfo; |
| | | @ApiModelProperty(value = "ä½ç½®å°ç¹è·¯å¾åç§°") |
| | | @ExcelColumn(name="ä½ç½®å°ç¹è·¯å¾åç§°",index =13,width = 6) |
| | | private String locationName; |
| | | @ApiModelProperty(value = "符å项æ°é", example = "1") |
| | | @ExcelColumn(name="符å项æ°é",index =13,width = 6) |
| | | private Integer dcaYesNum; |
| | | @ApiModelProperty(value = "DCAä¸ç¬¦åæ°é", example = "1") |
| | | @ExcelColumn(name="符å项æ°é",index =13,width = 6) |
| | | private Integer dcaNoNum; |
| | | @ApiModelProperty("ææ¥äººååç§°") |
| | | @ExcelColumn(name="ææ¥äººå",index =13,width = 6) |
| | | private String memberName; |
| | | @ApiModelProperty("åå·¥ææºå·") |
| | | @ExcelColumn(name="åå·¥ææºå·",index =13,width = 6) |
| | | private String memberPhone; |
| | | @ApiModelProperty("ææ¥äººåæå±é¨é¨") |
| | | @ExcelColumn(name="æå±é¨é¨",index =13,width = 6) |
| | | private String companyName; |
| | | @ApiModelProperty("é£é©ç±»ååç§°") |
| | | @ExcelColumn(name="é£é©ç±»å",index =13,width = 6) |
| | | private String typeName; |
| | | @ApiModelProperty("äºçº§ä¸»é¢åç§°") |
| | | @ExcelColumn(name="äºçº§ä¸»é¢",index =13,width = 6) |
| | | @TableField(exist = false) |
| | | private String categoryName; |
| | | |
| | | |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.business.vo; |
| | | |
| | | import com.doumee.core.annotation.excel.ExcelColumn; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * Created by IntelliJ IDEA. |
| | | * |
| | | * @Author : Rk |
| | | * @create 2023/7/13 10:40 |
| | | */ |
| | | @Data |
| | | @ApiModel("è·ç»æ»å·¥å导åºä¿¡æ¯") |
| | | public class WorkorderDbhDto { |
| | | @ApiModelProperty(value = "åºå·") |
| | | @ExcelColumn(name="åºå·",index =1 ,width = 4) |
| | | private Long index; |
| | | @ApiModelProperty(value = "å·¥åå·") |
| | | @ExcelColumn(name="å·¥åå·",index =2 ,width = 8) |
| | | private String code; |
| | | @ApiModelProperty("é£é©ç±»å") |
| | | @ExcelColumn(name="é£é©ç±»å",index =3,width = 6) |
| | | private String typeName; |
| | | @ApiModelProperty(value = "ç¶æ ç¶æ 0å¾
确认/å¾
å审 1å¾
åé
/å¾
ç»å®¡ 2å¾
å¤ç 4WTSå
³é 5å·¥ç¨å¸å
³é", example = "1") |
| | | @ExcelColumn(name="ç¶æ",index =4,width = 4, valueMapping = "0=å¾
å¤ç;1=å¤çä¸;2=å¤çä¸;3=å·²å¤ç;4=å·²å¤ç;5=å·²å¤ç;") |
| | | private Integer status; |
| | | @ApiModelProperty(value = "䏿¥æ¶é´", example = "1") |
| | | @ExcelColumn(name="䏿¥æ¶é´",index =5 ,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 10) |
| | | private Date submitDate; |
| | | @ApiModelProperty(value = "åç°æ¶é´", example = "1") |
| | | @ExcelColumn(name="åç°æ¶é´",index =6 ,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 10) |
| | | private Date happenTime; |
| | | @ApiModelProperty(value = "ä½ç½®", example = "1") |
| | | @ExcelColumn(name="ä½ç½®",index =7 ,width = 6) |
| | | private String locationName; |
| | | @ApiModelProperty(value = "é£é©æè¿°", example = "1") |
| | | @ExcelColumn(name="riskInfo",index =11,width = 10) |
| | | private String eventInfo; |
| | | @ApiModelProperty("ææ¥äººååç§°") |
| | | @ExcelColumn(name="䏿¥åå·¥",index =12,width = 4) |
| | | private String memberName; |
| | | @ApiModelProperty("åå·¥ææºå·") |
| | | @ExcelColumn(name="åå·¥ææºå·",index =13,width = 6) |
| | | private String memberPhone; |
| | | @ApiModelProperty("ææ¥äººåæå±é¨é¨") |
| | | @ExcelColumn(name="æå±é¨é¨",index =14,width = 8) |
| | | private String companyName; |
| | | @ApiModelProperty(value = "æäº¤æ¶é´") |
| | | @ExcelColumn(name="æäº¤æ¶é´",index =15 ,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 10) |
| | | private Date createDate; |
| | | |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.business.vo; |
| | | |
| | | import com.doumee.core.annotation.excel.ExcelColumn; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * Created by IntelliJ IDEA. |
| | | * |
| | | * @Author : Rk |
| | | * @create 2023/7/13 10:40 |
| | | */ |
| | | @Data |
| | | @ApiModel("DCAå·¥åè®°å½å¯¼åºä¿¡æ¯") |
| | | public class WorkorderDcaChildDto { |
| | | @ApiModelProperty(value = "åºå·") |
| | | @ExcelColumn(name="åºå·",index =1 ,width = 4) |
| | | private Long index; |
| | | @ApiModelProperty(value = "å·¥åå·") |
| | | @ExcelColumn(name="å·¥åå·",index =2 ,width = 8) |
| | | private String code; |
| | | @ApiModelProperty("ä¸çº§è§å¯ä¸»é¢") |
| | | @ExcelColumn(name="ä¸çº§è§å¯ä¸»é¢",index =3,width = 6) |
| | | private String typeName; |
| | | @ApiModelProperty("äºçº§è§å¯ä¸»é¢") |
| | | @ExcelColumn(name="äºçº§è§å¯ä¸»é¢",index =4,width = 6) |
| | | private String categoryName; |
| | | @ApiModelProperty("ä¸ç¬¦å项") |
| | | @ExcelColumn(name="ä¸ç¬¦å项",index =5,width = 10) |
| | | private String problemTitle; |
| | | @ApiModelProperty(value = "ç¶æ ç¶æ 0å¾
确认/å¾
å审 1å¾
åé
/å¾
ç»å®¡ 2å¾
å¤ç 4WTSå
³é 5å·¥ç¨å¸å
³é", example = "1") |
| | | @ExcelColumn(name="ç¶æ",index =6,width = 4, valueMapping = "0=å¾
å¤ç;1=å¤çä¸;2=å¤çä¸;3=å·²å¤ç;4=å·²å¤ç;5=å·²å¤ç;") |
| | | private Integer status; |
| | | @ApiModelProperty(value = "䏿¥æ¶é´", example = "1") |
| | | @ExcelColumn(name="䏿¥æ¶é´",index =7 ,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 10) |
| | | private Date submitDate; |
| | | @ApiModelProperty(value = "åç°æ¶é´", example = "1") |
| | | @ExcelColumn(name="åç°æ¶é´",index =8 ,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 10) |
| | | private Date happenTime; |
| | | @ApiModelProperty(value = "ä½ç½®", example = "1") |
| | | @ExcelColumn(name="ä½ç½®",index =9 ,width = 6) |
| | | private String locationName; |
| | | @ApiModelProperty(value = "é®é¢æè¿°", example = "1") |
| | | @ExcelColumn(name="é®é¢æè¿°",index =10,width = 4) |
| | | private String eventInfo; |
| | | @ApiModelProperty("ææ¥äººååç§°") |
| | | @ExcelColumn(name="䏿¥åå·¥",index =12,width = 4) |
| | | private String memberName; |
| | | @ApiModelProperty("åå·¥ææºå·") |
| | | @ExcelColumn(name="åå·¥ææºå·",index =13,width = 6) |
| | | private String memberPhone; |
| | | @ApiModelProperty("ææ¥äººåæå±é¨é¨") |
| | | @ExcelColumn(name="æå±é¨é¨",index =14,width = 8) |
| | | private String companyName; |
| | | @ApiModelProperty(value = "æäº¤æ¶é´") |
| | | @ExcelColumn(name="æäº¤æ¶é´",index =15 ,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 10) |
| | | private Date createDate; |
| | | |
| | | |
| | | |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.business.vo; |
| | | |
| | | import com.doumee.core.annotation.excel.ExcelColumn; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * Created by IntelliJ IDEA. |
| | | * |
| | | * @Author : Rk |
| | | * @create 2023/7/13 10:40 |
| | | */ |
| | | @Data |
| | | @ApiModel("DCAå·¥åè®°å½å¯¼åºä¿¡æ¯") |
| | | public class WorkorderDcaDto { |
| | | @ApiModelProperty(value = "åºå·") |
| | | @ExcelColumn(name="åºå·",index =1 ,width = 4) |
| | | private Long index; |
| | | @ApiModelProperty(value = "å·¥åå·") |
| | | @ExcelColumn(name="å·¥åå·",index =2 ,width = 8) |
| | | private String code; |
| | | @ApiModelProperty("è§å¯ä¸»é¢") |
| | | @ExcelColumn(name="è§å¯ä¸»é¢",index =3,width = 6) |
| | | private String typeName; |
| | | @ApiModelProperty(value = "䏿¥æ¶é´", example = "1") |
| | | @ExcelColumn(name="䏿¥æ¶é´",index =5 ,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 10) |
| | | private Date submitDate; |
| | | @ApiModelProperty(value = "åç°æ¶é´", example = "1") |
| | | @ExcelColumn(name="åç°æ¶é´",index =6 ,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 10) |
| | | private Date happenTime; |
| | | @ApiModelProperty(value = "符å项æ°é", example = "1") |
| | | @ExcelColumn(name="符å项æ°é",index =7,width = 4) |
| | | private Integer dcaYesNum; |
| | | @ApiModelProperty(value = "ä¸ç¬¦å项æ°é", example = "1") |
| | | @ExcelColumn(name="ä¸ç¬¦å项æ°é",index =8,width = 4) |
| | | private Integer dcaNoNum; |
| | | @ApiModelProperty("ææ¥äººååç§°") |
| | | @ExcelColumn(name="䏿¥åå·¥",index =12,width = 4) |
| | | private String memberName; |
| | | @ApiModelProperty("åå·¥ææºå·") |
| | | @ExcelColumn(name="åå·¥ææºå·",index =13,width = 6) |
| | | private String memberPhone; |
| | | @ApiModelProperty("ææ¥äººåæå±é¨é¨") |
| | | @ExcelColumn(name="æå±é¨é¨",index =14,width = 8) |
| | | private String companyName; |
| | | @ApiModelProperty(value = "æäº¤æ¶é´") |
| | | @ExcelColumn(name="æäº¤æ¶é´",index =15 ,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 10) |
| | | private Date createDate; |
| | | |
| | | |
| | | |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.business.vo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.doumee.core.annotation.excel.ExcelColumn; |
| | | import com.doumee.dao.business.model.Category; |
| | | import com.doumee.dao.business.model.Multifile; |
| | | import com.doumee.dao.business.model.Workorder; |
| | | import com.doumee.dao.business.model.WorkorderLog; |
| | | import com.doumee.dao.web.dto.DCANoProblemDTO; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * Created by IntelliJ IDEA. |
| | | * |
| | | * @Author : Rk |
| | | * @create 2023/7/13 10:40 |
| | | */ |
| | | @Data |
| | | @ApiModel("SHEå·¥å导åºä¿¡æ¯") |
| | | public class WorkorderSheDto { |
| | | @ApiModelProperty(value = "åºå·") |
| | | @ExcelColumn(name="åºå·",index =1 ,width = 4) |
| | | private Long index; |
| | | @ApiModelProperty(value = "å·¥åå·") |
| | | @ExcelColumn(name="å·¥åå·",index =2 ,width = 8) |
| | | private String code; |
| | | @ApiModelProperty("伤害类å") |
| | | @ExcelColumn(name="伤害类å",index =3,width = 6) |
| | | private String typeName; |
| | | @ApiModelProperty(value = "䏿¥æ¶é´", example = "1") |
| | | @ExcelColumn(name="䏿¥æ¶é´",index =4 ,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 10) |
| | | private Date submitDate; |
| | | @ApiModelProperty(value = "ç¶æ ç¶æ 0å¾
确认/å¾
å审 1å¾
åé
/å¾
ç»å®¡ 2å¾
å¤ç 4WTSå
³é 5å·¥ç¨å¸å
³é", example = "1") |
| | | @ExcelColumn(name="ç¶æ",index =5,width = 4, valueMapping = "0=å¾
å¤ç;1=å¤çä¸;2=å¤çä¸;3=å·²å¤ç;4=å·²å¤ç;5=å·²å¤ç;") |
| | | private Integer status; |
| | | @ApiModelProperty(value = "åçå°ç¹") |
| | | @ExcelColumn(name="åçå°ç¹",index =6,width = 8) |
| | | private String locationName; |
| | | @ApiModelProperty(value = "SHEæ¶å人åä¾åºåéå") |
| | | @ExcelColumn(name="æ¶å人å",index =7,width = 8) |
| | | private String memberNames; |
| | | @ApiModelProperty(value = "å
·ä½ä½ç½®") |
| | | @ExcelColumn(name="å
·ä½ä½ç½®",index =8,width = 8) |
| | | private String remark; |
| | | @ApiModelProperty(value = "就廿
åµ") |
| | | @ExcelColumn(name="就廿
åµ",index =9,width = 8) |
| | | private String jiuyiInfo; |
| | | @ApiModelProperty(value = "æ¯å¦åå·¥ä½ç¸å
³", example = "1") |
| | | @ExcelColumn(name="æ¯å¦åå·¥ä½ç¸å
³",index =10,width = 4, valueMapping = "0=å¦;1=æ¯;") |
| | | private Integer workRelated; |
| | | @ApiModelProperty(value = "äºä»¶è¯´æ", example = "1") |
| | | @ExcelColumn(name="äºä»¶è¯´æ",index =11,width = 10) |
| | | private String eventInfo; |
| | | |
| | | @ApiModelProperty("ææ¥äººååç§°") |
| | | @ExcelColumn(name="䏿¥åå·¥",index =12,width = 4) |
| | | private String memberName; |
| | | @ApiModelProperty("åå·¥ææºå·") |
| | | @ExcelColumn(name="åå·¥ææºå·",index =13,width = 6) |
| | | private String memberPhone; |
| | | @ApiModelProperty("ææ¥äººåæå±é¨é¨") |
| | | @ExcelColumn(name="æå±é¨é¨",index =14,width = 8) |
| | | private String companyName; |
| | | |
| | | @ApiModelProperty(value = "æäº¤æ¶é´") |
| | | @ExcelColumn(name="æäº¤æ¶é´",index =15 ,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 10) |
| | | private Date createDate; |
| | | |
| | | |
| | | } |
| | |
| | | package com.doumee.dao.system.model; |
| | | |
| | | import com.doumee.core.annotation.excel.ExcelExportColumn; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import lombok.Data; |
| | | import org.apache.poi.ss.usermodel.HorizontalAlignment; |
| | | import org.apache.poi.ss.usermodel.IndexedColors; |
| | | |
| | | import java.util.Date; |
| | | |
| | |
| | | private Integer userId; |
| | | |
| | | @ApiModelProperty(value = "ç»å½ç¨æ·å") |
| | | @ExcelExportColumn(name="ç»å½ç¨æ·å") |
| | | private String loginUsername; |
| | | |
| | | @ApiModelProperty(value = "ç»å½IP") |
| | | @ExcelExportColumn(name="ç»å½IP", color = IndexedColors.RED, width = 8) |
| | | private String ip; |
| | | |
| | | @ApiModelProperty(value = "ç»å½å°å") |
| | | @ExcelExportColumn(name="ç»å½å°å", width = 10) |
| | | private String location; |
| | | |
| | | @ApiModelProperty(value = "客æ·ç«¯") |
| | | @ExcelExportColumn(name="客æ·ç«¯", width = 10) |
| | | private String clientInfo; |
| | | |
| | | @ApiModelProperty(value = "æä½ç³»ç»") |
| | | @ExcelExportColumn(name="æä½ç³»ç»") |
| | | private String osInfo; |
| | | |
| | | @ApiModelProperty(value = "ç»å½å¹³å°") |
| | | @ExcelExportColumn(name="ç»å½å¹³å°") |
| | | private String platform; |
| | | |
| | | @ApiModelProperty(value = "ç³»ç»çæ¬") |
| | | @ExcelExportColumn(name="ç³»ç»çæ¬") |
| | | private String systemVersion; |
| | | |
| | | @ApiModelProperty(value = "æå¡å¨IP") |
| | | @ExcelExportColumn(name="æå¡å¨IP", width = 8) |
| | | private String serverIp; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦ç»å½æå") |
| | | @ExcelExportColumn(name="æ¯å¦ç»å½æå", valueMapping = "true=æ¯;false=å¦", align = HorizontalAlignment.CENTER) |
| | | private Boolean success; |
| | | |
| | | @ApiModelProperty(value = "失败åå ") |
| | | @ExcelExportColumn(name="失败åå ", color = IndexedColors.RED, width = 16) |
| | | private String reason; |
| | | |
| | | @ApiModelProperty(value = "ç»å½æ¶é´") |
| | | @ExcelExportColumn(name="ç»å½æ¶é´", dateFormat = "yyyy-MM-dd HH:mm:ss", width = 10) |
| | | private Date loginTime; |
| | | |
| | | } |
| | |
| | | package com.doumee.dao.system.model; |
| | | |
| | | import com.doumee.core.annotation.excel.ExcelExportColumn; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | |
| | | private Integer userId; |
| | | |
| | | @ApiModelProperty(value = "åºåç¨æ·å") |
| | | @ExcelExportColumn(name="æä½äººç¨æ·å") |
| | | private String username; |
| | | |
| | | @ApiModelProperty(value = "åºåç¨æ·å§å") |
| | | @ExcelExportColumn(name="æä½äººå§å") |
| | | private String userRealname; |
| | | |
| | | @ApiModelProperty(value = "åºåç¨æ·è§è²") |
| | |
| | | private String userPermissions; |
| | | |
| | | @ApiModelProperty(value = "æä½æ¨¡å") |
| | | @ExcelExportColumn(name="æä½æ¨¡å") |
| | | private String operaModule; |
| | | |
| | | @ApiModelProperty(value = "æä½ç±»å") |
| | | @ExcelExportColumn(name="æä½ç±»å") |
| | | private String operaType; |
| | | |
| | | @ApiModelProperty(value = "æä½å¤æ³¨") |
| | | @ExcelExportColumn(name="夿³¨", width = 5) |
| | | private String operaRemark; |
| | | |
| | | @ApiModelProperty(value = "æä½å¼å§æ¶é´") |
| | | @ExcelExportColumn(name="æä½å¼å§æ¶é´", dateFormat = "yyyy-MM-dd HH:mm:ss", width = 10) |
| | | private Date operaTime; |
| | | |
| | | @ApiModelProperty(value = "èæ¶", example = "1") |
| | | @ExcelExportColumn(name="èæ¶ï¼msï¼") |
| | | private Integer operaSpendTime; |
| | | |
| | | @ApiModelProperty(value = "è¯·æ±æ¹å¼") |
| | | @ExcelExportColumn(name="è¯·æ±æ¹å¼") |
| | | private String requestMethod; |
| | | |
| | | @ApiModelProperty(value = "请æ±å°å") |
| | | @ExcelExportColumn(name="请æ±å°å", width = 14) |
| | | private String requestUri; |
| | | |
| | | @ApiModelProperty(value = "请æ±åæ°") |
| | | @ExcelExportColumn(name="请æ±åæ°", width = 16) |
| | | private String requestParams; |
| | | |
| | | @ApiModelProperty(value = "请æ±ç»æ") |
| | | @ExcelExportColumn(name="请æ±ç»æ", width = 10) |
| | | private String requestResult; |
| | | |
| | | @ApiModelProperty(value = "ç¶æï¼0æä½å¤±è´¥ï¼1æä½æåï¼-1æªå¾å°å¤çï¼", example = "1") |
| | | @ExcelExportColumn(name="ç¶æ", valueMapping = "0=æä½å¤±è´¥;1=æä½æå;-1=æªå¤ç", width = 4) |
| | | private Integer status; |
| | | |
| | | @ApiModelProperty(value = "å¼å¸¸ç级") |
| | | @ExcelExportColumn(name="å¼å¸¸ç级", valueMapping = "0=ä½;5=ä¸;10=é«") |
| | | private Integer exceptionLevel; |
| | | |
| | | @ApiModelProperty(value = "å¼å¸¸ä¿¡æ¯") |
| | | @ExcelExportColumn(name="å¼å¸¸ä¿¡æ¯", width = 16) |
| | | private String exceptionStack; |
| | | |
| | | @ApiModelProperty(value = "IP") |
| | | @ExcelExportColumn(name="IP", width = 8) |
| | | private String ip; |
| | | |
| | | @ApiModelProperty(value = "æå¡å¨IP") |
| | | @ExcelExportColumn(name="æå¡å¨IP", width = 8) |
| | | private String serverIp; |
| | | |
| | | @ApiModelProperty(value = "æ¥å£çæ¬") |
| | | @ExcelExportColumn(name="æ¥å£çæ¬") |
| | | private String systemVersion; |
| | | |
| | | @ApiModelProperty(value = "æä½å¹³å°") |
| | | @ExcelExportColumn(name="æä½å¹³å°") |
| | | private String platform; |
| | | |
| | | @ApiModelProperty(value = "客æ·ç«¯ä¿¡æ¯") |
| | | @ExcelExportColumn(name="客æ·ç«¯ä¿¡æ¯", width = 10) |
| | | private String clientInfo; |
| | | |
| | | @ApiModelProperty(value = "ç³»ç»ä¿¡æ¯") |
| | | @ExcelExportColumn(name="ç³»ç»ä¿¡æ¯") |
| | | private String osInfo; |
| | | |
| | | } |