30 changed files with 477 additions and 1207 deletions
@ -1,544 +0,0 @@ |
|||||
<template> |
|
||||
<!-- 合同履约评价--> |
|
||||
<div class="app-container"> |
|
||||
<el-form |
|
||||
:model="queryParams" |
|
||||
ref="queryForm" |
|
||||
:inline="true" |
|
||||
v-show="showSearch" |
|
||||
label-width="68px" |
|
||||
> |
|
||||
<el-form-item label="阶段性交付成果" prop="phasedPaymentResults"> |
|
||||
<el-input |
|
||||
v-model="queryParams.data.phasedPaymentResults" |
|
||||
placeholder="请输入阶段性交付成果" |
|
||||
clearable |
|
||||
size="small" |
|
||||
@keyup.enter.native="handleQuery" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="合同编号" prop="contractNumber"> |
|
||||
<el-input |
|
||||
v-model="queryParams.data.contractNumber" |
|
||||
placeholder="请输入合同编号" |
|
||||
clearable |
|
||||
size="small" |
|
||||
@keyup.enter.native="handleQuery" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="评价描述" prop="evaluationDescription"> |
|
||||
<el-input |
|
||||
v-model="queryParams.data.evaluationDescription" |
|
||||
placeholder="请输入评价描述" |
|
||||
clearable |
|
||||
size="small" |
|
||||
@keyup.enter.native="handleQuery" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="当前季度评价状态" prop="evaluationStatus"> |
|
||||
<el-select |
|
||||
v-model="queryParams.data.evaluationStatus" |
|
||||
placeholder="请选择当前季度评价状态" |
|
||||
clearable |
|
||||
size="small" |
|
||||
> |
|
||||
<el-option label="请选择字典生成" value="" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="项目编码" prop="proCode"> |
|
||||
<el-input |
|
||||
v-model="queryParams.data.proCode" |
|
||||
placeholder="请输入项目编码" |
|
||||
clearable |
|
||||
size="small" |
|
||||
@keyup.enter.native="handleQuery" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="项目编号" prop="proNo"> |
|
||||
<el-input |
|
||||
v-model="queryParams.data.proNo" |
|
||||
placeholder="请输入项目编号" |
|
||||
clearable |
|
||||
size="small" |
|
||||
@keyup.enter.native="handleQuery" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="创建人" prop="createUid"> |
|
||||
<el-input |
|
||||
v-model="queryParams.data.createUid" |
|
||||
placeholder="请输入创建人" |
|
||||
clearable |
|
||||
size="small" |
|
||||
@keyup.enter.native="handleQuery" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="创建时间" prop="createTime"> |
|
||||
<el-date-picker |
|
||||
clearable |
|
||||
size="small" |
|
||||
style="width: 200px" |
|
||||
v-model="queryParams.createTime" |
|
||||
type="date" |
|
||||
value-format="yyyy-MM-dd" |
|
||||
placeholder="选择创建时间" |
|
||||
> |
|
||||
</el-date-picker> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="UPDATE_UID" prop="updateUid"> |
|
||||
<el-input |
|
||||
v-model="queryParams.data.updateUid" |
|
||||
placeholder="请输入UPDATE_UID" |
|
||||
clearable |
|
||||
size="small" |
|
||||
@keyup.enter.native="handleQuery" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="UPDATE_UID" prop="updateTime"> |
|
||||
<el-date-picker |
|
||||
clearable |
|
||||
size="small" |
|
||||
style="width: 200px" |
|
||||
v-model="queryParams.updateTime" |
|
||||
type="date" |
|
||||
value-format="yyyy-MM-dd" |
|
||||
placeholder="选择UPDATE_UID" |
|
||||
> |
|
||||
</el-date-picker> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="数源部门" prop="owerDept"> |
|
||||
<el-input |
|
||||
v-model="queryParams.data.owerDept" |
|
||||
placeholder="请输入数源部门" |
|
||||
clearable |
|
||||
size="small" |
|
||||
@keyup.enter.native="handleQuery" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item> |
|
||||
<el-button |
|
||||
type="cyan" |
|
||||
icon="el-icon-search" |
|
||||
size="mini" |
|
||||
@click="handleQuery" |
|
||||
>搜索</el-button |
|
||||
> |
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery" |
|
||||
>重置</el-button |
|
||||
> |
|
||||
</el-form-item> |
|
||||
</el-form> |
|
||||
|
|
||||
<el-row :gutter="10" class="mb8"> |
|
||||
<el-col :span="1.5"> |
|
||||
<el-button |
|
||||
type="primary" |
|
||||
icon="el-icon-plus" |
|
||||
size="mini" |
|
||||
@click="handleAdd" |
|
||||
v-hasPermi="['build: eval:add']" |
|
||||
>新增</el-button |
|
||||
> |
|
||||
</el-col> |
|
||||
<el-col :span="1.5"> |
|
||||
<el-button |
|
||||
type="success" |
|
||||
icon="el-icon-edit" |
|
||||
size="mini" |
|
||||
:disabled="single" |
|
||||
@click="handleUpdate" |
|
||||
v-hasPermi="['build: eval:edit']" |
|
||||
>修改</el-button |
|
||||
> |
|
||||
</el-col> |
|
||||
<el-col :span="1.5"> |
|
||||
<el-button |
|
||||
type="danger" |
|
||||
icon="el-icon-delete" |
|
||||
size="mini" |
|
||||
:disabled="multiple" |
|
||||
@click="handleDelete" |
|
||||
v-hasPermi="['build: eval:remove']" |
|
||||
>删除</el-button |
|
||||
> |
|
||||
</el-col> |
|
||||
<el-col :span="1.5"> |
|
||||
<el-button |
|
||||
type="warning" |
|
||||
icon="el-icon-download" |
|
||||
size="mini" |
|
||||
@click="handleExport" |
|
||||
v-hasPermi="['build: eval:export']" |
|
||||
>导出</el-button |
|
||||
> |
|
||||
</el-col> |
|
||||
<right-toolbar |
|
||||
:showSearch.sync="showSearch" |
|
||||
@queryTable="getList" |
|
||||
></right-toolbar> |
|
||||
</el-row> |
|
||||
|
|
||||
<el-table |
|
||||
v-loading="loading" |
|
||||
:data="evalList" |
|
||||
@selection-change="handleSelectionChange" |
|
||||
> |
|
||||
<el-table-column type="selection" width="55" align="center" /> |
|
||||
<el-table-column label="序号" type="index" width="50" align="center" /> |
|
||||
|
|
||||
<el-table-column |
|
||||
label="阶段性交付成果" |
|
||||
align="center" |
|
||||
prop="phasedPaymentResults" |
|
||||
/> |
|
||||
<el-table-column |
|
||||
label="交付成果附件" |
|
||||
align="center" |
|
||||
prop="deliverablesAttachment" |
|
||||
/> |
|
||||
<el-table-column label="合同编号" align="center" prop="contractNumber" /> |
|
||||
<el-table-column |
|
||||
label="评价描述" |
|
||||
align="center" |
|
||||
prop="evaluationDescription" |
|
||||
/> |
|
||||
<el-table-column |
|
||||
label="当前季度评价状态" |
|
||||
align="center" |
|
||||
prop="evaluationStatus" |
|
||||
/> |
|
||||
<el-table-column label="项目编码" align="center" prop="proCode" /> |
|
||||
<el-table-column label="项目编号" align="center" prop="proNo" /> |
|
||||
<el-table-column label="创建人" align="center" prop="createUid" /> |
|
||||
<el-table-column |
|
||||
label="创建时间" |
|
||||
align="center" |
|
||||
prop="createTime" |
|
||||
width="180" |
|
||||
> |
|
||||
<template slot-scope="scope"> |
|
||||
<span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column label="UPDATE_UID" align="center" prop="updateUid" /> |
|
||||
<el-table-column |
|
||||
label="UPDATE_UID" |
|
||||
align="center" |
|
||||
prop="updateTime" |
|
||||
width="180" |
|
||||
> |
|
||||
<template slot-scope="scope"> |
|
||||
<span>{{ parseTime(scope.row.updateTime, "{y}-{m}-{d}") }}</span> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column label="数源部门" align="center" prop="owerDept" /> |
|
||||
<el-table-column |
|
||||
label="操作" |
|
||||
align="center" |
|
||||
class-name="small-padding fixed-width" |
|
||||
> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-button |
|
||||
size="mini" |
|
||||
type="text" |
|
||||
icon="el-icon-edit" |
|
||||
@click="handleUpdate(scope.row)" |
|
||||
v-hasPermi="['build: eval:edit']" |
|
||||
>修改</el-button |
|
||||
> |
|
||||
<el-button |
|
||||
size="mini" |
|
||||
type="text" |
|
||||
icon="el-icon-delete" |
|
||||
@click="handleDelete(scope.row)" |
|
||||
v-hasPermi="['build: eval:remove']" |
|
||||
>删除</el-button |
|
||||
> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
|
|
||||
<pagination |
|
||||
v-show="total > 0" |
|
||||
:total="total" |
|
||||
:page.sync="queryParams.pageNum" |
|
||||
:limit.sync="queryParams.pageSize" |
|
||||
@pagination="getList" |
|
||||
/> |
|
||||
|
|
||||
<!-- 添加或修改合同履约评价对话框 --> |
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> |
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
|
||||
<el-form-item label="阶段性交付成果" prop="phasedPaymentResults"> |
|
||||
<el-input |
|
||||
v-model="form.phasedPaymentResults" |
|
||||
placeholder="请输入阶段性交付成果" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="交付成果附件" prop="deliverablesAttachment"> |
|
||||
<el-input |
|
||||
v-model="form.deliverablesAttachment" |
|
||||
type="textarea" |
|
||||
placeholder="请输入内容" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="合同编号" prop="contractNumber"> |
|
||||
<el-input |
|
||||
v-model="form.contractNumber" |
|
||||
placeholder="请输入合同编号" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="评价描述" prop="evaluationDescription"> |
|
||||
<el-input |
|
||||
v-model="form.evaluationDescription" |
|
||||
placeholder="请输入评价描述" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="当前季度评价状态"> |
|
||||
<el-radio-group v-model="form.evaluationStatus"> |
|
||||
<el-radio label="1">请选择字典生成</el-radio> |
|
||||
</el-radio-group> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="项目编码" prop="proCode"> |
|
||||
<el-input v-model="form.proCode" placeholder="请输入项目编码" /> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="项目编号" prop="proNo"> |
|
||||
<el-input v-model="form.proNo" placeholder="请输入项目编号" /> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="创建人" prop="createUid"> |
|
||||
<el-input v-model="form.createUid" placeholder="请输入创建人" /> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="UPDATE_UID" prop="updateUid"> |
|
||||
<el-input v-model="form.updateUid" placeholder="请输入UPDATE_UID" /> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="数源部门" prop="owerDept"> |
|
||||
<el-input v-model="form.owerDept" placeholder="请输入数源部门" /> |
|
||||
</el-form-item> |
|
||||
</el-form> |
|
||||
<div slot="footer" class="dialog-footer"> |
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button> |
|
||||
<el-button @click="cancel">取 消</el-button> |
|
||||
</div> |
|
||||
</el-dialog> |
|
||||
</div> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import { |
|
||||
listeval, |
|
||||
geteval, |
|
||||
deleval, |
|
||||
addeval, |
|
||||
updateeval, |
|
||||
exporteval, |
|
||||
} from "@/api/build/eval"; |
|
||||
|
|
||||
export default { |
|
||||
name: "eval", |
|
||||
data() { |
|
||||
return { |
|
||||
// 遮罩层 |
|
||||
loading: true, |
|
||||
// 选中数组 |
|
||||
ids: [], |
|
||||
// 非单个禁用 |
|
||||
single: true, |
|
||||
// 非多个禁用 |
|
||||
multiple: true, |
|
||||
// 显示搜索条件 |
|
||||
showSearch: true, |
|
||||
// 总条数 |
|
||||
total: 0, |
|
||||
// 合同履约评价表格数据 |
|
||||
evalList: [], |
|
||||
// 弹出层标题 |
|
||||
title: "", |
|
||||
// 是否显示弹出层 |
|
||||
open: false, |
|
||||
// 查询参数 |
|
||||
queryParams: { |
|
||||
pageNum: 1, |
|
||||
pageSize: 10, |
|
||||
ids: null, |
|
||||
data: { |
|
||||
phasedPaymentResults: null, |
|
||||
deliverablesAttachment: null, |
|
||||
contractNumber: null, |
|
||||
evaluationDescription: null, |
|
||||
evaluationStatus: null, |
|
||||
proCode: null, |
|
||||
proNo: null, |
|
||||
createUid: null, |
|
||||
createTime: null, |
|
||||
updateUid: null, |
|
||||
updateTime: null, |
|
||||
owerDept: null, |
|
||||
}, |
|
||||
}, |
|
||||
// 表单参数 |
|
||||
form: {}, |
|
||||
// 表单校验 |
|
||||
rules: {}, |
|
||||
}; |
|
||||
}, |
|
||||
created() { |
|
||||
this.getList(); |
|
||||
}, |
|
||||
methods: { |
|
||||
/** 查询合同履约评价列表 */ |
|
||||
getList() { |
|
||||
this.loading = true; |
|
||||
listeval(this.queryParams).then((response) => { |
|
||||
this.evalList = response.records; |
|
||||
this.total = response.total; |
|
||||
this.loading = false; |
|
||||
}); |
|
||||
}, |
|
||||
// 取消按钮 |
|
||||
cancel() { |
|
||||
this.open = false; |
|
||||
this.reset(); |
|
||||
}, |
|
||||
// 表单重置 |
|
||||
reset() { |
|
||||
this.form = { |
|
||||
id: null, |
|
||||
phasedPaymentResults: null, |
|
||||
deliverablesAttachment: null, |
|
||||
contractNumber: null, |
|
||||
evaluationDescription: null, |
|
||||
evaluationStatus: "0", |
|
||||
proCode: null, |
|
||||
proNo: null, |
|
||||
createUid: null, |
|
||||
createTime: null, |
|
||||
updateUid: null, |
|
||||
updateTime: null, |
|
||||
owerDept: null, |
|
||||
}; |
|
||||
this.resetForm("form"); |
|
||||
}, |
|
||||
// 查询表单重置 |
|
||||
resetQueryForm() { |
|
||||
this.queryParams = { |
|
||||
pageNum: 1, |
|
||||
pageSize: 10, |
|
||||
data: { |
|
||||
id: null, |
|
||||
phasedPaymentResults: null, |
|
||||
deliverablesAttachment: null, |
|
||||
contractNumber: null, |
|
||||
evaluationDescription: null, |
|
||||
evaluationStatus: "0", |
|
||||
proCode: null, |
|
||||
proNo: null, |
|
||||
createUid: null, |
|
||||
createTime: null, |
|
||||
updateUid: null, |
|
||||
updateTime: null, |
|
||||
owerDept: null, |
|
||||
}, |
|
||||
}; |
|
||||
this.resetForm("form"); |
|
||||
}, |
|
||||
/** 搜索按钮操作 */ |
|
||||
handleQuery() { |
|
||||
this.queryParams.pageNum = 1; |
|
||||
this.getList(); |
|
||||
}, |
|
||||
/** 重置按钮操作 */ |
|
||||
resetQuery() { |
|
||||
this.resetQueryForm(); |
|
||||
this.handleQuery(); |
|
||||
}, |
|
||||
// 多选框选中数据 |
|
||||
handleSelectionChange(selection) { |
|
||||
this.ids = selection.map((item) => item.id); |
|
||||
this.single = selection.length !== 1; |
|
||||
this.multiple = !selection.length; |
|
||||
}, |
|
||||
/** 新增按钮操作 */ |
|
||||
handleAdd() { |
|
||||
this.reset(); |
|
||||
this.open = true; |
|
||||
this.title = "添加合同履约评价"; |
|
||||
}, |
|
||||
/** 修改按钮操作 */ |
|
||||
handleUpdate(row) { |
|
||||
this.reset(); |
|
||||
const id = row.id || this.ids; |
|
||||
geteval(id).then((response) => { |
|
||||
this.form = response.data; |
|
||||
this.open = true; |
|
||||
this.title = "修改合同履约评价"; |
|
||||
}); |
|
||||
}, |
|
||||
/** 提交按钮 */ |
|
||||
submitForm() { |
|
||||
this.$refs["form"].validate((valid) => { |
|
||||
if (valid) { |
|
||||
if (this.form.id != null) { |
|
||||
updateeval(this.form).then((response) => { |
|
||||
if (response.code === 200) { |
|
||||
this.msgSuccess("修改成功"); |
|
||||
this.open = false; |
|
||||
this.getList(); |
|
||||
} |
|
||||
}); |
|
||||
} else { |
|
||||
addeval(this.form).then((response) => { |
|
||||
if (response.code === 200) { |
|
||||
this.msgSuccess("新增成功"); |
|
||||
this.open = false; |
|
||||
this.getList(); |
|
||||
} |
|
||||
}); |
|
||||
} |
|
||||
} |
|
||||
}); |
|
||||
}, |
|
||||
/** 删除按钮操作 */ |
|
||||
handleDelete(row) { |
|
||||
const ids = row.id || this.ids; |
|
||||
if (ids) { |
|
||||
this.$confirm("是否删除选中的数据?", "警告", { |
|
||||
confirmButtonText: "确定", |
|
||||
cancelButtonText: "取消", |
|
||||
type: "warning", |
|
||||
}) |
|
||||
.then(function () { |
|
||||
return deleval(ids); |
|
||||
}) |
|
||||
.then(() => { |
|
||||
this.getList(); |
|
||||
this.msgSuccess("删除成功"); |
|
||||
}) |
|
||||
.catch(function () {}); |
|
||||
} else { |
|
||||
this.$message.warning("请选择要删除的数据!!"); |
|
||||
} |
|
||||
}, |
|
||||
/** 导出按钮操作 */ |
|
||||
handleExport() { |
|
||||
const queryParams = this.queryParams; |
|
||||
let message = "是否确认导出所有的数据项?"; |
|
||||
if (this.ids) { |
|
||||
message = "是否确认导出选中的数据项?"; |
|
||||
queryParams.ids = this.ids; |
|
||||
} |
|
||||
this.$confirm(message, "警告", { |
|
||||
confirmButtonText: "确定", |
|
||||
cancelButtonText: "取消", |
|
||||
type: "warning", |
|
||||
}) |
|
||||
.then(function () { |
|
||||
return exporteval(queryParams); |
|
||||
}) |
|
||||
.then((response) => { |
|
||||
this.downloadFile(response, true, response.msg); |
|
||||
// this.download(response.msg); |
|
||||
}) |
|
||||
.catch(function () {}); |
|
||||
}, |
|
||||
}, |
|
||||
}; |
|
||||
</script> |
|
@ -1,571 +0,0 @@ |
|||||
<template> |
|
||||
<!-- 安全风险处理结果--> |
|
||||
<div class="app-container"> |
|
||||
<el-form |
|
||||
:model="queryParams" |
|
||||
ref="queryForm" |
|
||||
:inline="true" |
|
||||
v-show="showSearch" |
|
||||
label-width="68px" |
|
||||
> |
|
||||
<el-form-item label="整改通知单信息" prop="rectificationNoticeInfo"> |
|
||||
<el-input |
|
||||
v-model="queryParams.data.rectificationNoticeInfo" |
|
||||
placeholder="请输入整改通知单信息" |
|
||||
clearable |
|
||||
size="small" |
|
||||
@keyup.enter.native="handleQuery" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="整改时间" prop="rectificationTime"> |
|
||||
<el-date-picker |
|
||||
clearable |
|
||||
size="small" |
|
||||
style="width: 200px" |
|
||||
v-model="queryParams.rectificationTime" |
|
||||
type="date" |
|
||||
value-format="yyyy-MM-dd" |
|
||||
placeholder="选择整改时间" |
|
||||
> |
|
||||
</el-date-picker> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="整改措施" prop="rectificationMeasures"> |
|
||||
<el-input |
|
||||
v-model="queryParams.data.rectificationMeasures" |
|
||||
placeholder="请输入整改措施" |
|
||||
clearable |
|
||||
size="small" |
|
||||
@keyup.enter.native="handleQuery" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="整改状态" prop="rectificationStatus"> |
|
||||
<el-select |
|
||||
v-model="queryParams.data.rectificationStatus" |
|
||||
placeholder="请选择整改状态" |
|
||||
clearable |
|
||||
size="small" |
|
||||
> |
|
||||
<el-option label="请选择字典生成" value="" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="整改前后图片对比结果" prop="rectificationResult"> |
|
||||
<el-input |
|
||||
v-model="queryParams.data.rectificationResult" |
|
||||
placeholder="请输入整改前后图片对比结果" |
|
||||
clearable |
|
||||
size="small" |
|
||||
@keyup.enter.native="handleQuery" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="整改后审核信息" prop="rectificationAuditInfo"> |
|
||||
<el-input |
|
||||
v-model="queryParams.data.rectificationAuditInfo" |
|
||||
placeholder="请输入整改后审核信息" |
|
||||
clearable |
|
||||
size="small" |
|
||||
@keyup.enter.native="handleQuery" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="项目编码" prop="proCode"> |
|
||||
<el-input |
|
||||
v-model="queryParams.data.proCode" |
|
||||
placeholder="请输入项目编码" |
|
||||
clearable |
|
||||
size="small" |
|
||||
@keyup.enter.native="handleQuery" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="项目编号" prop="proNo"> |
|
||||
<el-input |
|
||||
v-model="queryParams.data.proNo" |
|
||||
placeholder="请输入项目编号" |
|
||||
clearable |
|
||||
size="small" |
|
||||
@keyup.enter.native="handleQuery" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="创建人" prop="createUid"> |
|
||||
<el-input |
|
||||
v-model="queryParams.data.createUid" |
|
||||
placeholder="请输入创建人" |
|
||||
clearable |
|
||||
size="small" |
|
||||
@keyup.enter.native="handleQuery" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="创建时间" prop="createTime"> |
|
||||
<el-input |
|
||||
v-model="queryParams.data.createTime" |
|
||||
placeholder="请输入创建时间" |
|
||||
clearable |
|
||||
size="small" |
|
||||
@keyup.enter.native="handleQuery" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="更新人" prop="updateUid"> |
|
||||
<el-input |
|
||||
v-model="queryParams.data.updateUid" |
|
||||
placeholder="请输入更新人" |
|
||||
clearable |
|
||||
size="small" |
|
||||
@keyup.enter.native="handleQuery" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="更新时间" prop="updateTime"> |
|
||||
<el-input |
|
||||
v-model="queryParams.data.updateTime" |
|
||||
placeholder="请输入更新时间" |
|
||||
clearable |
|
||||
size="small" |
|
||||
@keyup.enter.native="handleQuery" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="数源部门" prop="owerDept"> |
|
||||
<el-input |
|
||||
v-model="queryParams.data.owerDept" |
|
||||
placeholder="请输入数源部门" |
|
||||
clearable |
|
||||
size="small" |
|
||||
@keyup.enter.native="handleQuery" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item> |
|
||||
<el-button |
|
||||
type="cyan" |
|
||||
icon="el-icon-search" |
|
||||
size="mini" |
|
||||
@click="handleQuery" |
|
||||
>搜索</el-button |
|
||||
> |
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery" |
|
||||
>重置</el-button |
|
||||
> |
|
||||
</el-form-item> |
|
||||
</el-form> |
|
||||
|
|
||||
<el-row :gutter="10" class="mb8"> |
|
||||
<el-col :span="1.5"> |
|
||||
<el-button |
|
||||
type="primary" |
|
||||
icon="el-icon-plus" |
|
||||
size="mini" |
|
||||
@click="handleAdd" |
|
||||
v-hasPermi="['build: handl:add']" |
|
||||
>新增</el-button |
|
||||
> |
|
||||
</el-col> |
|
||||
<el-col :span="1.5"> |
|
||||
<el-button |
|
||||
type="success" |
|
||||
icon="el-icon-edit" |
|
||||
size="mini" |
|
||||
:disabled="single" |
|
||||
@click="handleUpdate" |
|
||||
v-hasPermi="['build: handl:edit']" |
|
||||
>修改</el-button |
|
||||
> |
|
||||
</el-col> |
|
||||
<el-col :span="1.5"> |
|
||||
<el-button |
|
||||
type="danger" |
|
||||
icon="el-icon-delete" |
|
||||
size="mini" |
|
||||
:disabled="multiple" |
|
||||
@click="handleDelete" |
|
||||
v-hasPermi="['build: handl:remove']" |
|
||||
>删除</el-button |
|
||||
> |
|
||||
</el-col> |
|
||||
<el-col :span="1.5"> |
|
||||
<el-button |
|
||||
type="warning" |
|
||||
icon="el-icon-download" |
|
||||
size="mini" |
|
||||
@click="handleExport" |
|
||||
v-hasPermi="['build: handl:export']" |
|
||||
>导出</el-button |
|
||||
> |
|
||||
</el-col> |
|
||||
<right-toolbar |
|
||||
:showSearch.sync="showSearch" |
|
||||
@queryTable="getList" |
|
||||
></right-toolbar> |
|
||||
</el-row> |
|
||||
|
|
||||
<el-table |
|
||||
v-loading="loading" |
|
||||
:data="handlList" |
|
||||
@selection-change="handleSelectionChange" |
|
||||
> |
|
||||
<el-table-column type="selection" width="55" align="center" /> |
|
||||
<el-table-column label="序号" type="index" width="50" align="center" /> |
|
||||
|
|
||||
<el-table-column |
|
||||
label="整改通知单信息" |
|
||||
align="center" |
|
||||
prop="rectificationNoticeInfo" |
|
||||
/> |
|
||||
<el-table-column |
|
||||
label="整改时间" |
|
||||
align="center" |
|
||||
prop="rectificationTime" |
|
||||
width="180" |
|
||||
> |
|
||||
<template slot-scope="scope"> |
|
||||
<span>{{ |
|
||||
parseTime(scope.row.rectificationTime, "{y}-{m}-{d}") |
|
||||
}}</span> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column |
|
||||
label="整改措施" |
|
||||
align="center" |
|
||||
prop="rectificationMeasures" |
|
||||
/> |
|
||||
<el-table-column |
|
||||
label="整改状态" |
|
||||
align="center" |
|
||||
prop="rectificationStatus" |
|
||||
/> |
|
||||
<el-table-column |
|
||||
label="整改前后图片对比结果" |
|
||||
align="center" |
|
||||
prop="rectificationResult" |
|
||||
/> |
|
||||
<el-table-column |
|
||||
label="整改后审核信息" |
|
||||
align="center" |
|
||||
prop="rectificationAuditInfo" |
|
||||
/> |
|
||||
<el-table-column label="项目编码" align="center" prop="proCode" /> |
|
||||
<el-table-column label="项目编号" align="center" prop="proNo" /> |
|
||||
<el-table-column label="创建人" align="center" prop="createUid" /> |
|
||||
<el-table-column label="创建时间" align="center" prop="createTime" /> |
|
||||
<el-table-column label="更新人" align="center" prop="updateUid" /> |
|
||||
<el-table-column label="更新时间" align="center" prop="updateTime" /> |
|
||||
<el-table-column label="数源部门" align="center" prop="owerDept" /> |
|
||||
<el-table-column |
|
||||
label="操作" |
|
||||
align="center" |
|
||||
class-name="small-padding fixed-width" |
|
||||
> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-button |
|
||||
size="mini" |
|
||||
type="text" |
|
||||
icon="el-icon-edit" |
|
||||
@click="handleUpdate(scope.row)" |
|
||||
v-hasPermi="['build: handl:edit']" |
|
||||
>修改</el-button |
|
||||
> |
|
||||
<el-button |
|
||||
size="mini" |
|
||||
type="text" |
|
||||
icon="el-icon-delete" |
|
||||
@click="handleDelete(scope.row)" |
|
||||
v-hasPermi="['build: handl:remove']" |
|
||||
>删除</el-button |
|
||||
> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
|
|
||||
<pagination |
|
||||
v-show="total > 0" |
|
||||
:total="total" |
|
||||
:page.sync="queryParams.pageNum" |
|
||||
:limit.sync="queryParams.pageSize" |
|
||||
@pagination="getList" |
|
||||
/> |
|
||||
|
|
||||
<!-- 添加或修改安全风险处理结果对话框 --> |
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> |
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
|
||||
<el-form-item label="整改通知单信息" prop="rectificationNoticeInfo"> |
|
||||
<el-input |
|
||||
v-model="form.rectificationNoticeInfo" |
|
||||
placeholder="请输入整改通知单信息" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="整改时间" prop="rectificationTime"> |
|
||||
<el-date-picker |
|
||||
clearable |
|
||||
size="small" |
|
||||
style="width: 200px" |
|
||||
v-model="form.rectificationTime" |
|
||||
type="date" |
|
||||
value-format="yyyy-MM-dd" |
|
||||
placeholder="选择整改时间" |
|
||||
> |
|
||||
</el-date-picker> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="整改措施" prop="rectificationMeasures"> |
|
||||
<el-input |
|
||||
v-model="form.rectificationMeasures" |
|
||||
placeholder="请输入整改措施" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="整改状态"> |
|
||||
<el-radio-group v-model="form.rectificationStatus"> |
|
||||
<el-radio label="1">请选择字典生成</el-radio> |
|
||||
</el-radio-group> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="整改前后图片对比结果" prop="rectificationResult"> |
|
||||
<el-input |
|
||||
v-model="form.rectificationResult" |
|
||||
placeholder="请输入整改前后图片对比结果" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="整改后审核信息" prop="rectificationAuditInfo"> |
|
||||
<el-input |
|
||||
v-model="form.rectificationAuditInfo" |
|
||||
placeholder="请输入整改后审核信息" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="项目编码" prop="proCode"> |
|
||||
<el-input v-model="form.proCode" placeholder="请输入项目编码" /> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="项目编号" prop="proNo"> |
|
||||
<el-input v-model="form.proNo" placeholder="请输入项目编号" /> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="创建人" prop="createUid"> |
|
||||
<el-input v-model="form.createUid" placeholder="请输入创建人" /> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="更新人" prop="updateUid"> |
|
||||
<el-input v-model="form.updateUid" placeholder="请输入更新人" /> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="数源部门" prop="owerDept"> |
|
||||
<el-input v-model="form.owerDept" placeholder="请输入数源部门" /> |
|
||||
</el-form-item> |
|
||||
</el-form> |
|
||||
<div slot="footer" class="dialog-footer"> |
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button> |
|
||||
<el-button @click="cancel">取 消</el-button> |
|
||||
</div> |
|
||||
</el-dialog> |
|
||||
</div> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import { |
|
||||
listhandl, |
|
||||
gethandl, |
|
||||
delhandl, |
|
||||
addhandl, |
|
||||
updatehandl, |
|
||||
exporthandl, |
|
||||
} from "@/api/build/handl"; |
|
||||
|
|
||||
export default { |
|
||||
name: " handl", |
|
||||
data() { |
|
||||
return { |
|
||||
// 遮罩层 |
|
||||
loading: true, |
|
||||
// 选中数组 |
|
||||
ids: [], |
|
||||
// 非单个禁用 |
|
||||
single: true, |
|
||||
// 非多个禁用 |
|
||||
multiple: true, |
|
||||
// 显示搜索条件 |
|
||||
showSearch: true, |
|
||||
// 总条数 |
|
||||
total: 0, |
|
||||
// 安全风险处理结果表格数据 |
|
||||
handlList: [], |
|
||||
// 弹出层标题 |
|
||||
title: "", |
|
||||
// 是否显示弹出层 |
|
||||
open: false, |
|
||||
// 查询参数 |
|
||||
queryParams: { |
|
||||
pageNum: 1, |
|
||||
pageSize: 10, |
|
||||
ids: null, |
|
||||
data: { |
|
||||
rectificationNoticeInfo: null, |
|
||||
rectificationTime: null, |
|
||||
rectificationMeasures: null, |
|
||||
rectificationStatus: null, |
|
||||
rectificationResult: null, |
|
||||
rectificationAuditInfo: null, |
|
||||
proCode: null, |
|
||||
proNo: null, |
|
||||
createUid: null, |
|
||||
createTime: null, |
|
||||
updateUid: null, |
|
||||
updateTime: null, |
|
||||
owerDept: null, |
|
||||
}, |
|
||||
}, |
|
||||
// 表单参数 |
|
||||
form: {}, |
|
||||
// 表单校验 |
|
||||
rules: {}, |
|
||||
}; |
|
||||
}, |
|
||||
created() { |
|
||||
this.getList(); |
|
||||
}, |
|
||||
methods: { |
|
||||
/** 查询安全风险处理结果列表 */ |
|
||||
getList() { |
|
||||
this.loading = true; |
|
||||
listhandl(this.queryParams).then((response) => { |
|
||||
this.handlList = response.records; |
|
||||
this.total = response.total; |
|
||||
this.loading = false; |
|
||||
}); |
|
||||
}, |
|
||||
// 取消按钮 |
|
||||
cancel() { |
|
||||
this.open = false; |
|
||||
this.reset(); |
|
||||
}, |
|
||||
// 表单重置 |
|
||||
reset() { |
|
||||
this.form = { |
|
||||
id: null, |
|
||||
rectificationNoticeInfo: null, |
|
||||
rectificationTime: null, |
|
||||
rectificationMeasures: null, |
|
||||
rectificationStatus: "0", |
|
||||
rectificationResult: null, |
|
||||
rectificationAuditInfo: null, |
|
||||
proCode: null, |
|
||||
proNo: null, |
|
||||
createUid: null, |
|
||||
createTime: null, |
|
||||
updateUid: null, |
|
||||
updateTime: null, |
|
||||
owerDept: null, |
|
||||
}; |
|
||||
this.resetForm("form"); |
|
||||
}, |
|
||||
// 查询表单重置 |
|
||||
resetQueryForm() { |
|
||||
this.queryParams = { |
|
||||
pageNum: 1, |
|
||||
pageSize: 10, |
|
||||
data: { |
|
||||
id: null, |
|
||||
rectificationNoticeInfo: null, |
|
||||
rectificationTime: null, |
|
||||
rectificationMeasures: null, |
|
||||
rectificationStatus: "0", |
|
||||
rectificationResult: null, |
|
||||
rectificationAuditInfo: null, |
|
||||
proCode: null, |
|
||||
proNo: null, |
|
||||
createUid: null, |
|
||||
createTime: null, |
|
||||
updateUid: null, |
|
||||
updateTime: null, |
|
||||
owerDept: null, |
|
||||
}, |
|
||||
}; |
|
||||
this.resetForm("form"); |
|
||||
}, |
|
||||
/** 搜索按钮操作 */ |
|
||||
handleQuery() { |
|
||||
this.queryParams.pageNum = 1; |
|
||||
this.getList(); |
|
||||
}, |
|
||||
/** 重置按钮操作 */ |
|
||||
resetQuery() { |
|
||||
this.resetQueryForm(); |
|
||||
this.handleQuery(); |
|
||||
}, |
|
||||
// 多选框选中数据 |
|
||||
handleSelectionChange(selection) { |
|
||||
this.ids = selection.map((item) => item.id); |
|
||||
this.single = selection.length !== 1; |
|
||||
this.multiple = !selection.length; |
|
||||
}, |
|
||||
/** 新增按钮操作 */ |
|
||||
handleAdd() { |
|
||||
this.reset(); |
|
||||
this.open = true; |
|
||||
this.title = "添加安全风险处理结果"; |
|
||||
}, |
|
||||
/** 修改按钮操作 */ |
|
||||
handleUpdate(row) { |
|
||||
this.reset(); |
|
||||
const id = row.id || this.ids; |
|
||||
gethandl(id).then((response) => { |
|
||||
this.form = response.data; |
|
||||
this.open = true; |
|
||||
this.title = "修改安全风险处理结果"; |
|
||||
}); |
|
||||
}, |
|
||||
/** 提交按钮 */ |
|
||||
submitForm() { |
|
||||
this.$refs["form"].validate((valid) => { |
|
||||
if (valid) { |
|
||||
if (this.form.id != null) { |
|
||||
updatehandl(this.form).then((response) => { |
|
||||
if (response.code === 200) { |
|
||||
this.msgSuccess("修改成功"); |
|
||||
this.open = false; |
|
||||
this.getList(); |
|
||||
} |
|
||||
}); |
|
||||
} else { |
|
||||
addhandl(this.form).then((response) => { |
|
||||
if (response.code === 200) { |
|
||||
this.msgSuccess("新增成功"); |
|
||||
this.open = false; |
|
||||
this.getList(); |
|
||||
} |
|
||||
}); |
|
||||
} |
|
||||
} |
|
||||
}); |
|
||||
}, |
|
||||
/** 删除按钮操作 */ |
|
||||
handleDelete(row) { |
|
||||
const ids = row.id || this.ids; |
|
||||
if (ids) { |
|
||||
this.$confirm("是否删除选中的数据?", "警告", { |
|
||||
confirmButtonText: "确定", |
|
||||
cancelButtonText: "取消", |
|
||||
type: "warning", |
|
||||
}) |
|
||||
.then(function () { |
|
||||
return delhandl(ids); |
|
||||
}) |
|
||||
.then(() => { |
|
||||
this.getList(); |
|
||||
this.msgSuccess("删除成功"); |
|
||||
}) |
|
||||
.catch(function () {}); |
|
||||
} else { |
|
||||
this.$message.warning("请选择要删除的数据!!"); |
|
||||
} |
|
||||
}, |
|
||||
/** 导出按钮操作 */ |
|
||||
handleExport() { |
|
||||
const queryParams = this.queryParams; |
|
||||
let message = "是否确认导出所有的数据项?"; |
|
||||
if (this.ids) { |
|
||||
message = "是否确认导出选中的数据项?"; |
|
||||
queryParams.ids = this.ids; |
|
||||
} |
|
||||
this.$confirm(message, "警告", { |
|
||||
confirmButtonText: "确定", |
|
||||
cancelButtonText: "取消", |
|
||||
type: "warning", |
|
||||
}) |
|
||||
.then(function () { |
|
||||
return exporthandl(queryParams); |
|
||||
}) |
|
||||
.then((response) => { |
|
||||
this.downloadFile(response, true, response.msg); |
|
||||
// this.download(response.msg); |
|
||||
}) |
|
||||
.catch(function () {}); |
|
||||
}, |
|
||||
}, |
|
||||
}; |
|
||||
</script> |
|
@ -0,0 +1,217 @@ |
|||||
|
package com.kms.system.controller; |
||||
|
|
||||
|
import java.util.ArrayList; |
||||
|
import java.util.Arrays; |
||||
|
import java.util.Date; |
||||
|
import java.util.List; |
||||
|
import java.util.concurrent.ThreadPoolExecutor; |
||||
|
import java.util.concurrent.TimeUnit; |
||||
|
import java.util.concurrent.ArrayBlockingQueue; |
||||
|
|
||||
|
import cn.hutool.core.collection.CollectionUtil; |
||||
|
import cn.hutool.core.util.ObjectUtil; |
||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
||||
|
import com.jianwei.common.core.controller.BaseController; |
||||
|
import com.jianwei.common.core.domain.SearchParam; |
||||
|
import com.jianwei.common.utils.BeanUtils; |
||||
|
import com.jianwei.common.utils.poi.ExcelUtil; |
||||
|
import com.kms.build.domain.BsSgcJsjdBuiAttendanceInformation; |
||||
|
import com.kms.build.domain.BsSgcJsjdBuiRealName; |
||||
|
import com.kms.build.domain.vo.BsSgcJsjdBuiAttendanceInformationExcel; |
||||
|
import com.kms.common.utils.BaseEntityUtils; |
||||
|
|
||||
|
|
||||
|
import com.kms.system.mapper.SysXzqhBfMapper; |
||||
|
import io.swagger.annotations.Api; |
||||
|
import io.swagger.annotations.ApiOperation; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.transaction.annotation.Transactional; |
||||
|
import org.springframework.web.bind.annotation.*; |
||||
|
|
||||
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
|
import com.jianwei.common.mybaitsplus.BeanToWrapper; |
||||
|
|
||||
|
import com.jianwei.common.annotation.Log; |
||||
|
import com.jianwei.common.core.domain.AjaxResult; |
||||
|
import com.jianwei.common.enums.BusinessType; |
||||
|
import com.kms.system.domain.SysXzqhBf; |
||||
|
import com.kms.system.service.SysXzqhBfService; |
||||
|
import org.springframework.web.multipart.MultipartFile; |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* 行政区划Controller |
||||
|
* |
||||
|
* @author kms |
||||
|
* @date 2024-06-28 |
||||
|
*/ |
||||
|
@RestController |
||||
|
@RequestMapping("/system/bf") |
||||
|
@Api(tags = "行政区划") |
||||
|
public class SysXzqhBfController extends BaseController |
||||
|
{ |
||||
|
@Autowired |
||||
|
private SysXzqhBfService sysXzqhBfService; |
||||
|
|
||||
|
|
||||
|
|
||||
|
@Autowired |
||||
|
private SysXzqhBfMapper sysXzqhBfMapper; |
||||
|
/** |
||||
|
* 查询行政区划列表 |
||||
|
*/ |
||||
|
@PostMapping("/list") |
||||
|
@ApiOperation("行政区划列表") |
||||
|
public IPage list(@RequestBody SearchParam<SysXzqhBf> sp) |
||||
|
{ |
||||
|
return sysXzqhBfService.selectPage(sp); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 导出行政区划列表 |
||||
|
*/ |
||||
|
@Log(title = "行政区划导出", businessType = BusinessType.EXPORT) |
||||
|
@PostMapping("/export") |
||||
|
@ApiOperation("行政区划导出") |
||||
|
public AjaxResult export(@RequestBody SysXzqhBf sysXzqhBf) |
||||
|
{ |
||||
|
List<SysXzqhBf> list = sysXzqhBfService.listByIds(sysXzqhBf.getIds()); |
||||
|
ExcelUtil<SysXzqhBf> util = new ExcelUtil<>(SysXzqhBf.class); |
||||
|
return util.exportExcel(list, "bf"); |
||||
|
} |
||||
|
|
||||
|
@Log(title = "农民工人员考勤信息导入", businessType = BusinessType.EXPORT) |
||||
|
@PostMapping("/importData") |
||||
|
@ApiOperation("农民工人员考勤信息导入") |
||||
|
@Transactional |
||||
|
public AjaxResult importData(@RequestParam(value = "file") MultipartFile file){ |
||||
|
try { |
||||
|
ExcelUtil<SysXzqhBf> util = new ExcelUtil<>(SysXzqhBf.class); |
||||
|
|
||||
|
// 从 Excel 文件中导入数据
|
||||
|
List<SysXzqhBf> list = util.importExcel(file.getInputStream()); |
||||
|
|
||||
|
// 创建一个线程池
|
||||
|
ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(10, 10, 0, TimeUnit.SECONDS, new ArrayBlockingQueue<>(list.size())); |
||||
|
|
||||
|
// 处理每一个导入的对象
|
||||
|
for (SysXzqhBf bf : list) { |
||||
|
threadPoolExecutor.execute(() -> { |
||||
|
// 在保存之前设置额外的属性
|
||||
|
bf.setId(bf.getXzqhdm()); |
||||
|
bf.setType("1"); |
||||
|
bf.setStatus("1"); |
||||
|
// 在数据库中保存或更新对象
|
||||
|
sysXzqhBfService.saveOrUpdate(bf); |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
// 关闭线程池
|
||||
|
threadPoolExecutor.shutdown(); |
||||
|
|
||||
|
// 等待所有线程完成
|
||||
|
threadPoolExecutor.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS); |
||||
|
|
||||
|
return AjaxResult.success("多线程插入操作成功完成"); |
||||
|
}catch (Exception e){ |
||||
|
e.printStackTrace(); |
||||
|
} |
||||
|
return AjaxResult.success(); |
||||
|
} |
||||
|
|
||||
|
@PostMapping("/getLayer") |
||||
|
public AjaxResult getLayer(){ |
||||
|
List<SysXzqhBf>list=sysXzqhBfService.list(new QueryWrapper<SysXzqhBf>() |
||||
|
.lambda().isNull(SysXzqhBf::getLayer)); |
||||
|
//总数
|
||||
|
// int size = list.size();
|
||||
|
// //一次2000条
|
||||
|
// int count = 200;
|
||||
|
ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(100, 100, 0, TimeUnit.SECONDS, new ArrayBlockingQueue<>(list.size())); |
||||
|
// int i = size % count == 0 ? size / count : size / count+1;
|
||||
|
// for (int j = 0; j < i; j++) {
|
||||
|
// int toIndex = (j + 1) * count;
|
||||
|
// if (list.size() <= toIndex) {
|
||||
|
// toIndex = list.size();
|
||||
|
// }
|
||||
|
// List<SysXzqhBf> list1 = list.subList(j * count, toIndex);
|
||||
|
for (SysXzqhBf bf : list) { |
||||
|
threadPoolExecutor.execute(() -> { |
||||
|
Integer layer = 0; |
||||
|
Integer upgrades = upgrades(bf, layer); |
||||
|
bf.setLayer(upgrades); |
||||
|
sysXzqhBfService.saveOrUpdate(bf); |
||||
|
}); |
||||
|
}; |
||||
|
|
||||
|
// 关闭线程池
|
||||
|
threadPoolExecutor.shutdown(); |
||||
|
|
||||
|
// 等待所有线程完成
|
||||
|
try { |
||||
|
threadPoolExecutor.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS); |
||||
|
} catch (InterruptedException e) { |
||||
|
throw new RuntimeException(e); |
||||
|
} |
||||
|
// }
|
||||
|
|
||||
|
return AjaxResult.success(); |
||||
|
} |
||||
|
|
||||
|
private Integer upgrades(SysXzqhBf sysXzqhBf,Integer layer){ |
||||
|
while (ObjectUtil.isNotEmpty(sysXzqhBf)){ |
||||
|
LambdaQueryWrapper<SysXzqhBf>lw=new LambdaQueryWrapper<>(); |
||||
|
SysXzqhBf bf = sysXzqhBfMapper.selectOne(lw.eq(SysXzqhBf::getXzqhdm, sysXzqhBf.getParentid())); |
||||
|
layer++; |
||||
|
sysXzqhBf=bf; |
||||
|
} |
||||
|
return layer; |
||||
|
}; |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* 获取行政区划详细信息 |
||||
|
*/ |
||||
|
@ApiOperation(" 行政区划详情") |
||||
|
@GetMapping(value = "/{id}") |
||||
|
public AjaxResult getInfo(@PathVariable("id") String id) |
||||
|
{ |
||||
|
return AjaxResult.success(sysXzqhBfService.getById(id)); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 新增行政区划 |
||||
|
*/ |
||||
|
@Log(title = "行政区划新增", businessType = BusinessType.INSERT) |
||||
|
@PostMapping |
||||
|
@ApiOperation("行政区划新增") |
||||
|
public AjaxResult add(@RequestBody SysXzqhBf sysXzqhBf) |
||||
|
{ |
||||
|
BaseEntityUtils.preInsert(sysXzqhBf); |
||||
|
return toAjax(sysXzqhBfService.save(sysXzqhBf)); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 修改行政区划 |
||||
|
*/ |
||||
|
@ApiOperation("行政区划修改") |
||||
|
@Log(title = "行政区划修改", businessType = BusinessType.UPDATE) |
||||
|
@PutMapping |
||||
|
public AjaxResult edit(@RequestBody SysXzqhBf sysXzqhBf) |
||||
|
{ |
||||
|
return toAjax(sysXzqhBfService.updateById(sysXzqhBf)); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 删除行政区划 |
||||
|
*/ |
||||
|
@ApiOperation("行政区划删除") |
||||
|
@Log(title = "行政区划删除", businessType = BusinessType.DELETE) |
||||
|
@DeleteMapping("/{ids}") |
||||
|
public AjaxResult remove(@PathVariable String[] ids) |
||||
|
{ |
||||
|
return toAjax(sysXzqhBfService.removeByIds(Arrays.asList(ids))); |
||||
|
} |
||||
|
} |
@ -0,0 +1,74 @@ |
|||||
|
package com.kms.system.domain; |
||||
|
|
||||
|
import java.math.BigDecimal; |
||||
|
import io.swagger.annotations.ApiModel; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
import org.apache.commons.lang3.builder.ToStringBuilder; |
||||
|
import org.apache.commons.lang3.builder.ToStringStyle; |
||||
|
import com.jianwei.common.annotation.Excel; |
||||
|
|
||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||
|
|
||||
|
|
||||
|
import com.jianwei.common.core.domain.BaseEntity; |
||||
|
|
||||
|
/** |
||||
|
* 行政区划对象 sys_xzqh_bf |
||||
|
* |
||||
|
* @author kms |
||||
|
* @date 2024-06-28 |
||||
|
*/ |
||||
|
@TableName("sys_xzqh_bf") |
||||
|
@Data |
||||
|
@ApiModel("行政区划") |
||||
|
public class SysXzqhBf extends BaseEntity |
||||
|
{ |
||||
|
private static final long serialVersionUID = 1L; |
||||
|
|
||||
|
/** 行政区划代码 */ |
||||
|
@Excel(name = "字典值") |
||||
|
@ApiModelProperty("行政区划代码") |
||||
|
private String xzqhdm; |
||||
|
|
||||
|
/** 父级区划id */ |
||||
|
@Excel(name = "父字典值") |
||||
|
@ApiModelProperty("父级区划id") |
||||
|
private String parentid; |
||||
|
|
||||
|
/** 区划名称 */ |
||||
|
@Excel(name = "字典标签") |
||||
|
@ApiModelProperty("区划名称") |
||||
|
private String name; |
||||
|
|
||||
|
/** 层级 */ |
||||
|
@Excel(name = "层级") |
||||
|
@ApiModelProperty("层级") |
||||
|
private Integer layer; |
||||
|
|
||||
|
/** 类型 */ |
||||
|
@Excel(name = "类型") |
||||
|
@ApiModelProperty("类型") |
||||
|
private String type; |
||||
|
|
||||
|
/** 状态 */ |
||||
|
@Excel(name = "状态") |
||||
|
@ApiModelProperty("状态") |
||||
|
private String status; |
||||
|
|
||||
|
/** 排序 */ |
||||
|
@Excel(name = "排序") |
||||
|
@ApiModelProperty("排序") |
||||
|
private BigDecimal orderno; |
||||
|
|
||||
|
/** $column.columnComment */ |
||||
|
@Excel(name = "排序") |
||||
|
@ApiModelProperty("排序") |
||||
|
private String createUid; |
||||
|
|
||||
|
/** $column.columnComment */ |
||||
|
@Excel(name = "排序") |
||||
|
@ApiModelProperty("排序") |
||||
|
private String updateUid; |
||||
|
|
||||
|
} |
@ -0,0 +1,16 @@ |
|||||
|
package com.kms.system.mapper; |
||||
|
|
||||
|
import org.springframework.stereotype.Repository; |
||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
|
import com.kms.system.domain.SysXzqhBf; |
||||
|
|
||||
|
/** |
||||
|
* 行政区划Mapper接口 |
||||
|
* |
||||
|
* @author kms |
||||
|
* @date 2024-06-28 |
||||
|
*/ |
||||
|
@Repository |
||||
|
public interface SysXzqhBfMapper extends BaseMapper<SysXzqhBf> { |
||||
|
|
||||
|
} |
@ -0,0 +1,17 @@ |
|||||
|
package com.kms.system.service; |
||||
|
|
||||
|
import org.springframework.stereotype.Service; |
||||
|
import com.jianwei.common.core.service.BaseService; |
||||
|
import com.kms.system.mapper.SysXzqhBfMapper; |
||||
|
import com.kms.system.domain.SysXzqhBf; |
||||
|
|
||||
|
/** |
||||
|
* 行政区划Service接口 |
||||
|
* |
||||
|
* @author kms |
||||
|
* @date 2024-06-28 |
||||
|
*/ |
||||
|
@Service |
||||
|
public class SysXzqhBfService extends BaseService<SysXzqhBfMapper, SysXzqhBf>{ |
||||
|
|
||||
|
} |
Loading…
Reference in new issue