Commit edc352c9 authored by 廖旭伟's avatar 廖旭伟

Merge remote-tracking branch 'origin/master'

parents 22665150 75d04a79
...@@ -113,8 +113,6 @@ export default { ...@@ -113,8 +113,6 @@ export default {
}, },
}, },
mounted() { mounted() {
console.log(this.tableData);
console.log(this.loading);
}, },
watch: { watch: {
tableData(val) { tableData(val) {
......
...@@ -22,9 +22,11 @@ ...@@ -22,9 +22,11 @@
<span>&nbsp;</span> <span>&nbsp;</span>
<el-switch <el-switch
v-if="switchBtn" v-if="switchBtn"
v-model="row.check"
@change="$emit('view', row)" @change="$emit('view', row)"
title="核查" title="核查"
v-model="row.check" :active-value="true"
:inactive-value="false"
></el-switch> ></el-switch>
<span>&nbsp;</span> <span>&nbsp;</span>
<el-button <el-button
......
...@@ -66,6 +66,7 @@ ...@@ -66,6 +66,7 @@
notAdd notAdd
notDel notDel
notSearch notSearch
notPagination
:config="tableConfig" :config="tableConfig"
> >
</LayoutTable> </LayoutTable>
...@@ -107,6 +108,7 @@ ...@@ -107,6 +108,7 @@
notAdd notAdd
notDel notDel
notSearch notSearch
notPagination
:config="tableConfig" :config="tableConfig"
> >
</LayoutTable> </LayoutTable>
...@@ -148,6 +150,7 @@ ...@@ -148,6 +150,7 @@
notAdd notAdd
notDel notDel
notSearch notSearch
notPagination
:config="tableConfig" :config="tableConfig"
> >
</LayoutTable> </LayoutTable>
...@@ -189,6 +192,7 @@ ...@@ -189,6 +192,7 @@
notAdd notAdd
notDel notDel
notSearch notSearch
notPagination
:config="tableConfig" :config="tableConfig"
> >
</LayoutTable> </LayoutTable>
...@@ -230,6 +234,7 @@ ...@@ -230,6 +234,7 @@
notAdd notAdd
notDel notDel
notSearch notSearch
notPagination
:config="tableConfig" :config="tableConfig"
> >
</LayoutTable> </LayoutTable>
...@@ -310,7 +315,7 @@ export default { ...@@ -310,7 +315,7 @@ export default {
mixins: [form, table], mixins: [form, table],
components: {}, components: {},
created() { created() {
this.changePath("perform/dept/conf"); this.changePath("perform//staff/conf");
// 获取部门列表 // 获取部门列表
this.$post("/dept/list", { page: 1, size: -1 }).then((res) => { this.$post("/dept/list", { page: 1, size: -1 }).then((res) => {
if (res.code == 1) { if (res.code == 1) {
...@@ -319,6 +324,7 @@ export default { ...@@ -319,6 +324,7 @@ export default {
this.deptArr = []; this.deptArr = [];
} }
}); });
this.checkArr = [];
// this.getKaoQin(); // this.getKaoQin();
}, },
data() { data() {
...@@ -333,30 +339,17 @@ export default { ...@@ -333,30 +339,17 @@ export default {
direction: "rtl", direction: "rtl",
toString: [], toString: [],
toDate: [], toDate: [],
tableData: [ tableData: [],
{
core: "-0.5",
name: "迟到",
simple: "迟到5分钟以内(包含5分钟)",
check: false,
},
],
// 表单校验 // 表单校验
rules: {}, rules: {},
activeName: "1", activeName: "1",
options: [ options: [],
{
value: "1",
label: "工作纪律",
},
{
value: "2",
label: "工作效能",
},
],
type: "", type: "",
keywords: "", keywords: "",
deptArr: [], deptArr: [],
urls: {
saveUrl: "/perform/dept/conf/save",
},
config: { config: {
isshowTabPane: false, isshowTabPane: false,
search: [], search: [],
...@@ -373,36 +366,39 @@ export default { ...@@ -373,36 +366,39 @@ export default {
label: "操作", label: "操作",
width: 100, width: 100,
formatter: (row) => { formatter: (row) => {
return ( if (row.check) {
<table-buttons return <span>不选择</span>;
noAdd } else {
noView return <span style="cursor:pointer">选择</span>;
noEdit }
noDel
switchBtn
row={row}
onEdit={this.eddRules}
onDel={this.toDelRules}
onView={this.switchChange}
/>
);
}, },
}, },
], ],
}, },
cateObj: {}, cateObj: {},
dataArr: [], dataArr: [],
checkArr: [],
}; };
}, },
// watch: {
// query: {
// deep,
// handler(val) {
// console.log(val);
// },
// },
// },
methods: { methods: {
handleRowClick(val) {
val.check = !val.check;
val.check
? this.checkArr.push(val)
: (this.checkArr = this.checkArr.filter((v) => v.id !== val.id));
this.checkArr.length > 0
? this.checkArr.forEach((val) => {
val.ruleId = val.id;
val.ruleName = val.name;
this.tableData.data.forEach((v) => {
val.id == v.id ? (v.check = val.check) : "";
});
})
: "";
this.form.deptConfDetail = this.checkArr;
this.tableData.data = [...this.tableData.data];
this.$forceUpdate(this.tableData.data);
},
typeSelect(val) { typeSelect(val) {
this.getKaoQin(val); this.getKaoQin(val);
}, },
...@@ -423,29 +419,56 @@ export default { ...@@ -423,29 +419,56 @@ export default {
categoryId, categoryId,
type: this.activeName, type: this.activeName,
page: this.query.page, page: this.query.page,
size: -1,
orderColList: this.typeArr, orderColList: this.typeArr,
name: this.searchValue, name: this.searchValue,
}).then((res) => { }).then((res) => {
if (res.code == 1) { if (res.code == 1) {
this.tableData = res.data; this.tableData = res.data;
this.checkArr.length > 0
? this.checkArr.forEach((val) => {
this.tableData.data.forEach((v) => {
val.id == v.id ? (v.check = val.check) : "";
});
})
: this.tableData.data.forEach((v) => {
v.check = false;
});
this.tableData.data = [...this.tableData.data];
this.$forceUpdate(this.tableData); this.$forceUpdate(this.tableData);
} else { } else {
this.tableData = {}; this.tableData = {};
} }
}); });
}, },
switchChange(val) {},
handleClick(val) { handleClick(val) {
this.getData(); this.getData();
this.cateObj = {};
this.type = "";
}, },
/** 编辑 */ /** 编辑 */
edit(row) { edit(row) {
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
// this.urls.currUrl = "perform/dept/conf/edit"; this.checkArr = [];
this.type = "";
this.activeName = "1";
this.$get("/perform/dept/conf/info", { id: row.id }).then((res) => { this.$get("/perform/dept/conf/info", { id: row.id }).then((res) => {
if (res.code == 1) { if (res.code == 1) {
this.form = res.data; this.form = res.data;
this.checkArr = res.data.deptConfDetail;
res.data.deptConfDetail.length > 0
? res.data.deptConfDetail.forEach((val) => {
val.check = true;
val.id = val.ruleId;
this.tableData.data.forEach((v) => {
v.check = false;
val.ruleId == v.id ? (v.check = true) : "";
});
})
: "";
this.tableData.data = [...this.tableData.data];
this.$forceUpdate(this.tableData);
} else { } else {
this.form = {}; this.form = {};
} }
...@@ -459,14 +482,18 @@ export default { ...@@ -459,14 +482,18 @@ export default {
/** 新增 */ /** 新增 */
add(row) { add(row) {
this.reset(); this.reset();
// this.urls.currUrl = "perform/dept/conf/add";
this.getData(); this.getData();
this.open = true; this.open = true;
this.checkArr = [];
this.type = "";
this.activeName = "1";
this.pageInfo.type = "add"; this.pageInfo.type = "add";
this.title = "新增部门自动考核信息"; this.title = "新增部门自动考核信息";
}, },
/** 查看*/ /** 查看*/
view(row) { view(row) {
console.log(123);
return;
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "perform/dept/conf/view"; this.urls.currUrl = "perform/dept/conf/view";
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
<el-row style="width: 100%;margin-bottom: 10px;"> <el-row style="width: 100%;margin-bottom: 10px;">
<el-col style="width: 100%;margin-left: 20px;" :span="24"> <el-col style="width: 100%;margin-left: 20px;" :span="24">
<span>选择人员:</span> <span>选择人员:</span>
<el-button type="primary" @click="() => (dialog = true)">{{ <el-button type="primary" @click="handleDialog">{{
selectArr && selectArr.length > 0 selectArr && selectArr.length > 0
? `已选择(${selectArr.length})` ? `已选择(${selectArr.length})`
: "点击选择人员" : "点击选择人员"
...@@ -33,12 +33,16 @@ ...@@ -33,12 +33,16 @@
请选择自动考核指标: 请选择自动考核指标:
</div> </div>
<div class="search_box"> <div class="search_box">
<el-select v-model="type" placeholder="请选择分类"> <el-select
v-model="type"
placeholder="请选择分类"
@change="typeSelect"
>
<el-option <el-option
v-for="item in options" v-for="item in dataArr"
:key="item.value" :key="item.id"
:label="item.label" :label="item.name"
:value="item.value" :value="item.id"
style="width: 200px;" style="width: 200px;"
> >
</el-option> </el-option>
...@@ -52,29 +56,15 @@ ...@@ -52,29 +56,15 @@
</div> </div>
</div> </div>
<div class="mid_table"> <div class="mid_table">
<el-table :data="tableData" border style="width: 100%"> <LayoutTable
<el-table-column type="index" label="序号" width="50"> :data="tableData"
</el-table-column> notAdd
<el-table-column notDel
prop="name" notSearch
label="考核内容简称" notPagination
width="180" :config="tableConfig"
>
</el-table-column>
<el-table-column prop="simple" label="评分标准">
</el-table-column>
<el-table-column prop="core" label="扣分分值">
</el-table-column>
<el-table-column fixed="right" label="操作" width="120">
<template slot-scope="scope">
<el-switch
v-model="scope.row.check"
@change="handleChange(scope.row)"
> >
</el-switch> </LayoutTable>
</template>
</el-table-column>
</el-table>
</div> </div>
</div> </div>
</el-tab-pane> </el-tab-pane>
...@@ -85,12 +75,16 @@ ...@@ -85,12 +75,16 @@
请选择自动考核指标: 请选择自动考核指标:
</div> </div>
<div class="search_box"> <div class="search_box">
<el-select v-model="type" placeholder="请选择分类"> <el-select
v-model="type"
placeholder="请选择分类"
@change="typeSelect"
>
<el-option <el-option
v-for="item in options" v-for="item in dataArr"
:key="item.value" :key="item.id"
:label="item.label" :label="item.name"
:value="item.value" :value="item.id"
style="width: 200px;" style="width: 200px;"
> >
</el-option> </el-option>
...@@ -104,29 +98,15 @@ ...@@ -104,29 +98,15 @@
</div> </div>
</div> </div>
<div class="mid_table"> <div class="mid_table">
<el-table :data="tableData" border style="width: 100%"> <LayoutTable
<el-table-column type="index" label="序号" width="50"> :data="tableData"
</el-table-column> notAdd
<el-table-column notDel
prop="name" notSearch
label="考核内容简称" notPagination
width="180" :config="tableConfig"
> >
</el-table-column> </LayoutTable>
<el-table-column prop="simple" label="评分标准">
</el-table-column>
<el-table-column prop="core" label="扣分分值">
</el-table-column>
<el-table-column fixed="right" label="操作" width="120">
<template slot-scope="scope">
<el-switch
v-model="scope.row.check"
@change="handleChange(scope.row)"
>
</el-switch>
</template>
</el-table-column>
</el-table>
</div> </div>
</div> </div>
</el-tab-pane> </el-tab-pane>
...@@ -137,12 +117,16 @@ ...@@ -137,12 +117,16 @@
请选择自动考核指标: 请选择自动考核指标:
</div> </div>
<div class="search_box"> <div class="search_box">
<el-select v-model="type" placeholder="请选择分类"> <el-select
v-model="type"
placeholder="请选择分类"
@change="typeSelect"
>
<el-option <el-option
v-for="item in options" v-for="item in dataArr"
:key="item.value" :key="item.id"
:label="item.label" :label="item.name"
:value="item.value" :value="item.id"
style="width: 200px;" style="width: 200px;"
> >
</el-option> </el-option>
...@@ -156,29 +140,15 @@ ...@@ -156,29 +140,15 @@
</div> </div>
</div> </div>
<div class="mid_table"> <div class="mid_table">
<el-table :data="tableData" border style="width: 100%"> <LayoutTable
<el-table-column type="index" label="序号" width="50"> :data="tableData"
</el-table-column> notAdd
<el-table-column notDel
prop="name" notSearch
label="考核内容简称" notPagination
width="180" :config="tableConfig"
>
</el-table-column>
<el-table-column prop="simple" label="评分标准">
</el-table-column>
<el-table-column prop="core" label="扣分分值">
</el-table-column>
<el-table-column fixed="right" label="操作" width="120">
<template slot-scope="scope">
<el-switch
v-model="scope.row.check"
@change="handleChange(scope.row)"
> >
</el-switch> </LayoutTable>
</template>
</el-table-column>
</el-table>
</div> </div>
</div> </div>
</el-tab-pane> </el-tab-pane>
...@@ -189,12 +159,16 @@ ...@@ -189,12 +159,16 @@
请选择自动考核指标: 请选择自动考核指标:
</div> </div>
<div class="search_box"> <div class="search_box">
<el-select v-model="type" placeholder="请选择分类"> <el-select
v-model="type"
placeholder="请选择分类"
@change="typeSelect"
>
<el-option <el-option
v-for="item in options" v-for="item in dataArr"
:key="item.value" :key="item.id"
:label="item.label" :label="item.name"
:value="item.value" :value="item.id"
style="width: 200px;" style="width: 200px;"
> >
</el-option> </el-option>
...@@ -208,29 +182,57 @@ ...@@ -208,29 +182,57 @@
</div> </div>
</div> </div>
<div class="mid_table"> <div class="mid_table">
<el-table :data="tableData" border style="width: 100%"> <LayoutTable
<el-table-column type="index" label="序号" width="50"> :data="tableData"
</el-table-column> notAdd
<el-table-column notDel
prop="name" notSearch
label="考核内容简称" notPagination
width="180" :config="tableConfig"
>
</LayoutTable>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="其他绩效指标" name="5">
<div class="content">
<div class="top">
<div>
请选择自动考核指标:
</div>
<div class="search_box">
<el-select
v-model="type"
placeholder="请选择分类"
@change="typeSelect"
>
<el-option
v-for="item in dataArr"
:key="item.id"
:label="item.name"
:value="item.id"
style="width: 200px;"
> >
</el-table-column> </el-option>
<el-table-column prop="simple" label="评分标准"> </el-select>
</el-table-column> <el-input
<el-table-column prop="core" label="扣分分值"> v-model="keywords"
</el-table-column> placeholder="请输入评分标准关键字搜索"
<el-table-column fixed="right" label="操作" width="120"> style="width: 200px;margin: 0 10px;"
<template slot-scope="scope"> ></el-input>
<el-switch <el-button type="primary"> 搜索 </el-button>
v-model="scope.row.check" </div>
@change="handleChange(scope.row)" </div>
<div class="mid_table">
<LayoutTable
:data="tableData"
notAdd
notDel
notSearch
notPagination
:config="tableConfig"
> >
</el-switch> </LayoutTable>
</template>
</el-table-column>
</el-table>
</div> </div>
</div> </div>
</el-tab-pane> </el-tab-pane>
...@@ -310,7 +312,8 @@ ...@@ -310,7 +312,8 @@
:data="treeData" :data="treeData"
:props="defaultProps" :props="defaultProps"
show-checkbox show-checkbox
node-key="label" style="height: 240px; overflow-y: auto;"
node-key="name"
@check="handleCheckChange" @check="handleCheckChange"
ref="tree" ref="tree"
></el-tree> ></el-tree>
...@@ -322,12 +325,12 @@ ...@@ -322,12 +325,12 @@
<div class="select_content"> <div class="select_content">
<el-tag <el-tag
v-for="tag in selectArr" v-for="tag in selectArr"
:key="tag.label" :key="tag.id"
closable closable
@close="hanleTagClose(tag)" @close="hanleTagClose(tag)"
style="margin-right: 10px;" style="margin-right: 10px;margin-bottom: 10px;"
> >
{{ tag.label }} {{ tag.name }}
</el-tag> </el-tag>
</div> </div>
</div> </div>
...@@ -342,12 +345,22 @@ ...@@ -342,12 +345,22 @@
<script> <script>
import form from "@/assets/mixins/formdialog"; import form from "@/assets/mixins/formdialog";
import table from "@/assets/mixins/table";
export default { export default {
name: "PerformStaffConfDetail", name: "PerformStaffConfDetail",
mixins: [form], mixins: [form, table],
components: {}, components: {},
created() { created() {
this.changePath("perform/staff/conf"); this.changePath("perform/staff/conf");
// 获取工作人员列表
this.$post("/staff/list", { page: 1, size: -1 }).then((res) => {
if (res.code == 1) {
this.treeData = res.data.data;
} else {
this.treeData = [];
}
});
}, },
data() { data() {
return { return {
...@@ -362,103 +375,177 @@ export default { ...@@ -362,103 +375,177 @@ export default {
toString: [], toString: [],
toDate: [], toDate: [],
selectArr: [], selectArr: [],
tableData: [ tableData: [],
{
core: "-0.5",
name: "迟到",
simple: "迟到5分钟以内(包含5分钟)",
check: false,
},
],
// 表单校验 // 表单校验
rules: {}, rules: {},
activeName: "1", activeName: "1",
options: [ options: [],
{
value: "1",
label: "工作纪律",
},
{
value: "2",
label: "工作效能",
},
],
type: "", type: "",
keywords: "", keywords: "",
treeData: [ treeData: [],
{ defaultProps: {
label: "市民中心", children: "children",
children: [ label: "name",
{
label: "部门1",
children: [
{
label: "人员1",
},
{
label: "人员2",
},
{
label: "人员3",
},
],
}, },
{ urls: {
label: "部门2", saveUrl: "/perform/staff/conf/save",
children: [
{
label: "人员4",
}, },
config: {
isshowTabPane: false,
search: [],
columns: [
{ type: "index", label: "序号", width: 50 },
{ label: "考核内容简称", prop: "name" },
{ label: "评分标准", prop: "content" },
{ label: "分值", prop: "score" },
{ {
label: "人员5", label: "操作",
width: 100,
formatter: (row) => {
if (row.check) {
return <span>不选择</span>;
} else {
return <span style="cursor:pointer">选择</span>;
}
}, },
{
label: "人员6",
}, },
], ],
}, },
{ cateObj: {},
label: "部门3", dataArr: [],
children: [ checkArr: [],
{ };
label: "人员7",
label: "人员8",
label: "人员9",
label: "人员10",
}, },
],
methods: {
handleDialog() {
this.dialog = true;
this.$nextTick(() => {
this.$refs.tree.setCheckedNodes(this.selectArr);
});
}, },
], handleRowClick(val) {
val.check = !val.check;
val.check
? this.checkArr.push(val)
: (this.checkArr = this.checkArr.filter((v) => v.id !== val.id));
this.checkArr.length > 0
? this.checkArr.forEach((val) => {
val.ruleId = val.id;
val.ruleName = val.name;
this.tableData.data.forEach((v) => {
val.id == v.id ? (v.check = val.check) : "";
});
})
: "";
this.form.staffConfDetail = this.checkArr;
this.tableData.data = [...this.tableData.data];
this.$forceUpdate(this.tableData.data);
}, },
], typeSelect(val) {
defaultProps: { this.getKaoQin(val);
children: "children",
label: "label",
}, },
}; async getData() {
await this.$post("/perform/rules/category/list", {
type: this.activeName,
}).then((res) => {
this.getKaoQin(this.cateObj ? this.cateObj.id : "");
if (res.code == 1) {
this.dataArr = res.data.data;
} else {
this.dataArr = [];
}
});
},
async getKaoQin(categoryId) {
await this.$post("/perform/rules/list", {
categoryId,
type: this.activeName,
page: this.query.page,
size: -1,
orderColList: this.typeArr,
name: this.searchValue,
}).then((res) => {
if (res.code == 1) {
this.tableData = res.data;
this.checkArr.length > 0
? this.checkArr.forEach((val) => {
this.tableData.data.forEach((v) => {
val.id == v.id ? (v.check = val.check) : "";
});
})
: this.tableData.data.forEach((v) => {
v.check = false;
});
this.tableData.data = [...this.tableData.data];
this.$forceUpdate(this.tableData);
} else {
this.tableData = {};
}
});
}, },
methods: {
hanleTagClose(val) { hanleTagClose(val) {
this.selectArr = this.selectArr.filter((v) => v.label !== val.label); this.selectArr = this.selectArr.filter((v) => v.name != val.name);
this.$refs.tree.setCheckedNodes(this.selectArr); this.$refs.tree.setCheckedNodes(this.selectArr);
this.form.staffIds = this.selectArr.map((v) => v.id).join(",");
}, },
handleCheckChange(checkedNodes, checkedKeys) { handleCheckChange(checkedNodes, checkedKeys) {
console.log(checkedNodes); // checkedKeys.checkedNodes.forEach((v) => {
console.log(checkedKeys); // v.children ? "" : (this.selectArr = [...this.selectArr, v]);
checkedKeys.checkedNodes.forEach((v) => { // });
v.children ? "" : (this.selectArr = [...this.selectArr, v]); this.selectArr = checkedKeys.checkedNodes;
}); this.form.staffIds = this.selectArr.map((v) => v.id).join(",");
}, },
handleChange(val) { handleChange(val) {
console.log(val); console.log(val);
}, },
handleClick() {}, handleClick(val) {
this.getData();
this.cateObj = {};
this.type = "";
},
/** 编辑 */ /** 编辑 */
edit(row) { edit(row) {
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "perform/staff/conf/edit"; // this.urls.currUrl = "perform/staff/conf/edit";
this.checkArr = [];
this.selectArr = [];
this.type = "";
this.activeName = "1";
this.$get("/perform/staff/conf/info", { id: row.id }).then((res) => {
if (res.code == 1) {
this.form = res.data;
console.log(this.treeData);
let arr = res.data.staffIds.split(",");
this.selectArr = [];
arr.forEach((v) => {
this.treeData.forEach((val) => {
v == val.id ? this.selectArr.push(val) : "";
});
});
this.checkArr = res.data.staffConfDetail;
res.data.staffConfDetail.length > 0
? res.data.staffConfDetail.forEach((val) => {
val.check = true;
val.id = val.ruleId;
this.tableData.data.forEach((v) => {
v.check = false;
val.ruleId == v.id ? (v.check = true) : "";
});
})
: "";
this.tableData.data = [...this.tableData.data];
this.$forceUpdate(this.tableData);
} else {
this.form = {};
}
this.open = true;
});
this.getData(); this.getData();
this.pageInfo.type = "edit"; this.pageInfo.type = "edit";
this.title = "修改人员自动考核信息"; this.title = "修改人员自动考核信息";
...@@ -466,8 +553,13 @@ export default { ...@@ -466,8 +553,13 @@ export default {
/** 新增 */ /** 新增 */
add(row) { add(row) {
this.reset(); this.reset();
this.urls.currUrl = "perform/staff/conf/add"; // this.urls.currUrl = "perform/staff/conf/add";
this.checkArr = [];
this.selectArr = [];
this.type = "";
this.activeName = "1";
this.getData(); this.getData();
this.open = true;
this.pageInfo.type = "add"; this.pageInfo.type = "add";
this.title = "新增人员自动考核信息"; this.title = "新增人员自动考核信息";
}, },
...@@ -519,15 +611,18 @@ export default { ...@@ -519,15 +611,18 @@ export default {
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.form_content { .form_content {
overflow-x: hidden;
/deep/.el-col-12 { /deep/.el-col-12 {
width: 98% !important; width: 98% !important;
} }
.content { .content {
width: 100%; width: 100%;
height: 500px; height: 720px;
border: 1px solid #e4e7ed; border: 1px solid #e4e7ed;
border-top: 0; border-top: 0;
padding: 20px; padding: 20px;
overflow-x: hidden;
.top { .top {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
<div class="goal_title"> <div class="goal_title">
<img src="../../../../assets/images/u17641.svg" alt="" /> <img src="../../../../assets/images/u17641.svg" alt="" />
<span> <span>
{{ val.deptName ? val.deptName : "--" }} {{ val.deptName ? val.deptName : val.staffNames }}
</span> </span>
</div> </div>
<p class="goal_txt"> <p class="goal_txt">
...@@ -25,19 +25,19 @@ ...@@ -25,19 +25,19 @@
</p> </p>
<p> <p>
<el-tag style="margin: 0 5px 5px 0" <el-tag style="margin: 0 5px 5px 0"
>考勤绩效指标/工作纪律{{ val.attendCount }}</el-tag >考勤绩效指标:{{ val.attendCount }}</el-tag
> >
<el-tag style="margin: 0 5px 5px 0" <el-tag style="margin: 0 5px 5px 0"
>评价绩效指标/工作纪律{{ val.assessCount }}</el-tag >评价绩效指标:{{ val.assessCount }}</el-tag
> >
<el-tag style="margin: 0 5px 5px 0" <el-tag style="margin: 0 5px 5px 0"
>办件绩效指标/工作效能{{ val.workCount }}</el-tag >办件绩效指标:{{ val.workCount }}</el-tag
> >
<el-tag style="margin: 0 5px 5px 0" <el-tag style="margin: 0 5px 5px 0"
>效能绩效指标/工作纪律{{ val.effectCount }}</el-tag >效能绩效指标:{{ val.effectCount }}</el-tag
> >
<el-tag style="margin: 0 5px 5px 0" <el-tag style="margin: 0 5px 5px 0"
>其他绩效指标/工作纪律{{ val.otherCount }}</el-tag >其他绩效指标:{{ val.otherCount }}</el-tag
> >
</p> </p>
<p class="goal_txt"> <p class="goal_txt">
...@@ -68,7 +68,7 @@ ...@@ -68,7 +68,7 @@
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="窗口负责人管理" name="2"> <el-tab-pane label="窗口负责人管理" name="2">
<div class="content"> <div class="content">
<LayoutTable :data="tableData" notSearch :config="tableConfig"> <LayoutTable :data="tableData" notSearch notDel :config="tableConfig">
</LayoutTable> </LayoutTable>
</div> </div>
</el-tab-pane> </el-tab-pane>
...@@ -99,7 +99,6 @@ export default { ...@@ -99,7 +99,6 @@ export default {
}, },
mixins: [table], mixins: [table],
created() { created() {
console.log(this.tableData);
sessionStorage.removeItem("type"); sessionStorage.removeItem("type");
sessionStorage.setItem("type", this.type); sessionStorage.setItem("type", this.type);
}, },
...@@ -168,6 +167,13 @@ export default { ...@@ -168,6 +167,13 @@ export default {
}) })
: ""; : "";
}, },
// 窗口负责人删除方法
toDel(row) {
this.$get("/window/owner/delete", { id: row }).then((res) => {
this.$message.success(res.msg);
this.getData();
});
},
}, },
data() { data() {
return { return {
...@@ -182,13 +188,11 @@ export default { ...@@ -182,13 +188,11 @@ export default {
{ type: "selection", width: 60 }, { type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 }, { type: "index", label: "序号", width: 50 },
{ label: "部门名称", prop: "deptName" }, { label: "负责人姓名", prop: "name" },
{ label: "姓名", prop: "name" },
{ label: "工号", prop: "number" }, { label: "所属部门", prop: "deptName" },
{ label: "电话号码", prop: "phone" }, { label: "联系电话", prop: "phone" },
{ {
label: "负责窗口数量", label: "负责窗口数量",
...@@ -197,10 +201,17 @@ export default { ...@@ -197,10 +201,17 @@ export default {
}, },
{ {
label: "创建时间", label: "更新时间",
prop: "createTime", prop: "updateTime",
formatter: this.formatterDate, formatter: this.formatterDate,
}, },
{
label: "更新人员",
prop: "updateUserId",
formatter: this.formatter,
},
{ {
label: "操作", label: "操作",
width: 240, width: 240,
...@@ -208,6 +219,7 @@ export default { ...@@ -208,6 +219,7 @@ export default {
return ( return (
<table-buttons <table-buttons
noAdd noAdd
noView
row={row} row={row}
onEdit={this.toEdit} onEdit={this.toEdit}
onView={this.toView} onView={this.toView}
...@@ -319,6 +331,9 @@ export default { ...@@ -319,6 +331,9 @@ export default {
margin-right: 10px; margin-right: 10px;
} }
} }
/deep/.el-tag {
width: 114px !important;
}
.goal_txt { .goal_txt {
font-family: "微软雅黑", sans-serif; font-family: "微软雅黑", sans-serif;
font-weight: 400; font-weight: 400;
......
...@@ -23,18 +23,22 @@ ...@@ -23,18 +23,22 @@
<Field <Field
label="联系电话:" label="联系电话:"
prop="phone" prop="phone"
maxLength="11"
v-model="form.phone" v-model="form.phone"
placeholder="请输入联系电话" placeholder="请输入联系电话"
/> />
<el-col style="width: 100%;" :span="24"> <el-col style="width: 100%;" :span="12">
<Field <el-form-item label="选择部门">
label="选择部门:" <el-select v-model="form.deptId" style="width: 100%;">
prop="deptId" <el-option
v-model="form.deptId" v-for="item in deptArr"
placeholder="选择部门" :key="item.id"
:enumData="deptGroup" :label="item.deptName"
type="select" :value="item.id"
/> >
</el-option
></el-select>
</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
...@@ -42,48 +46,33 @@ ...@@ -42,48 +46,33 @@
<div class="content_top"> <div class="content_top">
<span>请选择窗口工作人员:</span> <span>请选择窗口工作人员:</span>
<div class="search_box"> <div class="search_box">
<el-select v-model="type" placeholder="请选择部门"> <el-select v-model="deptValue" style="width: 100%;">
<el-option <el-option
v-for="item in options" v-for="item in deptArr"
:key="item.value" :key="item.id"
:label="item.label" :label="item.deptName"
:value="item.value" :value="item.id"
style="width: 200px;"
> >
</el-option> </el-option
</el-select> ></el-select>
<el-input <el-input
v-model="keywords" v-model="keywords"
placeholder="请输入姓名关键字搜索" placeholder="请输入姓名关键字搜索"
style="width: 200px;margin: 0 10px;" style="width: 200px;margin: 0 10px;"
></el-input> ></el-input>
<el-button type="primary"> 搜索 </el-button> <el-button type="primary" @click="handleSearch"> 搜索 </el-button>
</div> </div>
</div> </div>
<div class="table_box"> <div class="table_box">
<el-table <LayoutTable
:data="tableData" :data="tableData"
border notAdd
style="width: 100%" notDel
height="520" notSearch
@selection-change="handleSelectionChange" notPagination
:config="tableConfig"
> >
<el-table-column type="selection" width="55"> </el-table-column> </LayoutTable>
<el-table-column type="index" label="序号" width="50">
</el-table-column>
<el-table-column prop="name" label="姓名" width="180">
</el-table-column>
<el-table-column prop="id" label="工号"> </el-table-column>
<el-table-column prop="deptaName" label="部门"> </el-table-column>
<el-table-column prop="zhiwei" label="职位"> </el-table-column>
<el-table-column prop="status" label="状态"> </el-table-column>
<el-table-column prop="phone" label="手机号"> </el-table-column>
<el-table-column fixed="right" label="操作" width="120">
<template slot-scope="scope">
<span>{{ scope.row.check ? "已选择" : "选择" }}</span>
</template>
</el-table-column>
</el-table>
</div> </div>
</div> </div>
</el-row> </el-row>
...@@ -143,12 +132,23 @@ ...@@ -143,12 +132,23 @@
<script> <script>
import form from "@/assets/mixins/formdialog"; import form from "@/assets/mixins/formdialog";
import table from "@/assets/mixins/table";
export default { export default {
name: "WindowOwnerDetail", name: "WindowOwnerDetail",
mixins: [form], mixins: [form, table],
components: {}, components: {},
created() { created() {
this.changePath("window/owner"); this.changePath("window/owner");
// 获取部门列表
this.$post("/dept/list", { page: 1, size: -1 }).then((res) => {
if (res.code == 1) {
this.deptArr = res.data.data;
} else {
this.deptArr = [];
}
});
// this.getData();
}, },
data() { data() {
return { return {
...@@ -159,68 +159,144 @@ export default { ...@@ -159,68 +159,144 @@ export default {
// 是否显示弹出层 // 是否显示弹出层
open: false, open: false,
direction: "rtl", direction: "rtl",
deptValue: "",
toString: [], toString: [],
toDate: [], toDate: [],
deptArr: [],
// 表单校验 // 表单校验
rules: {}, rules: {},
deptGroup: { 1: "部门1", 2: "部门2", 3: "部门3", 4: "部门4", 5: "部门5" },
options: [
{
value: "1",
label: "部门1",
},
{
value: "2",
label: "部门2",
},
],
type: "",
keywords: "", keywords: "",
tableData: [ checkArr: [],
{ urls: {
id: "123456", saveUrl: "/window/owner/save",
name: "xxx",
deptName: "部门1",
zhiwei: "工作人员",
status: "正式",
phone: "130****8888",
check: false,
}, },
config: {
isshowTabPane: false,
search: [],
columns: [
{ type: "index", label: "序号", width: 50 },
{ label: "姓名", prop: "name" },
{ label: "工号", prop: "workNum" },
{ label: "部门", prop: "deptName" },
{ label: "职位", prop: "positionName" },
{ label: "员工状态", prop: "status", formatter: this.formatter },
{ label: "手机号码", prop: "phoneNumber" },
{ {
id: "123456", label: "操作",
name: "xxx", width: 100,
deptName: "部门1", formatter: (row) => {
zhiwei: "工作人员", if (row.check) {
status: "正式", return <span>不选择</span>;
phone: "130****8888", } else {
check: false, return <span style="cursor:pointer">选择</span>;
}
},
}, },
], ],
},
}; };
}, },
methods: { methods: {
handleSelectionChange(val) { handleSearch() {
console.log(val); this.getData();
this.tableData.forEach((v) => (v.check = false)); },
val.forEach((v) => { getData() {
v.check = true; this.$post("/staff/list", {
page: 1,
size: -1,
deptId: this.deptValue,
name: this.keywords,
}).then((res) => {
if (res.code == 1) {
this.tableData = res.data;
this.checkArr.length > 0
? this.checkArr.forEach((val) => {
this.tableData.data.forEach((v) => {
val.id == v.id ? (v.check = val.check) : "";
});
})
: this.tableData.data.forEach((v) => {
v.check = false;
});
this.tableData.data = [...this.tableData.data];
this.$forceUpdate(this.tableData);
} else {
this.deptArr = [];
}
});
},
handleRowClick(val) {
val.check = !val.check;
val.check
? this.checkArr.push(val)
: (this.checkArr = this.checkArr.filter((v) => v.id !== val.id));
this.checkArr.length > 0
? this.checkArr.forEach((val) => {
val.staffId = val.id;
this.tableData.data.forEach((v) => {
val.id == v.id ? (v.check = val.check) : "";
}); });
})
: "";
this.tableData.data = [...this.tableData.data];
this.form.windowOwnerDetailList = this.checkArr;
this.$forceUpdate(this.tableData.data);
}, },
/** 编辑 */ /** 编辑 */
edit(row) { edit(row) {
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "window/owner/edit"; this.deptValue = "";
this.keywords = "";
this.checkArr = [];
this.$get("/window/owner/info", { id: row.id }).then((res) => {
if (res.code == 1) {
this.form = res.data;
this.checkArr = res.data.windowOwnerDetailList;
res.data.windowOwnerDetailList.length > 0
? res.data.windowOwnerDetailList.forEach((val) => {
val.check = true;
val.id = val.staffId;
this.tableData.data.forEach((v) => {
v.check = false;
val.staffId == v.id ? (v.check = true) : "";
});
})
: "";
this.tableData.data = [...this.tableData.data];
this.$forceUpdate(this.tableData);
} else {
this.form = {};
}
this.open = true;
});
this.getData(); this.getData();
// this.urls.currUrl = "window/owner/edit";
// this.getData();
this.pageInfo.type = "edit"; this.pageInfo.type = "edit";
this.title = "修改窗口负责人"; this.title = "修改窗口负责人";
}, },
/** 新增 */ /** 新增 */
add(row) { add(row) {
this.reset(); this.reset();
this.urls.currUrl = "window/owner/add"; // this.urls.currUrl = "window/owner/add";
// this.getData();
this.deptValue = "";
this.checkArr = [];
this.keywords = "";
this.getData(); this.getData();
this.open = true;
this.pageInfo.type = "add"; this.pageInfo.type = "add";
this.title = "新增窗口负责人"; this.title = "新增窗口负责人";
}, },
...@@ -228,8 +304,8 @@ export default { ...@@ -228,8 +304,8 @@ export default {
view(row) { view(row) {
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "window/owner/view"; // this.urls.currUrl = "window/owner/view";
this.getData(); // this.getData();
this.pageInfo.type = "view"; this.pageInfo.type = "view";
this.title = "窗口负责人详细"; this.title = "窗口负责人详细";
}, },
...@@ -250,7 +326,7 @@ export default { ...@@ -250,7 +326,7 @@ export default {
// 表单重置 // 表单重置
reset() { reset() {
this.form = { this.form = {
deptId: 0, deptId: "",
deptName: "", deptName: "",
name: "", name: "",
number: "", number: "",
...@@ -275,7 +351,7 @@ export default { ...@@ -275,7 +351,7 @@ export default {
padding: 0 20px; padding: 0 20px;
.bottom_content { .bottom_content {
width: 100%; width: 100%;
height: 600px; height: 680px;
background-color: rgba(242, 246, 252, 1); background-color: rgba(242, 246, 252, 1);
box-sizing: border-box; box-sizing: border-box;
border-width: 1px; border-width: 1px;
......
...@@ -23,23 +23,50 @@ export default { ...@@ -23,23 +23,50 @@ export default {
type: Object, type: Object,
default: () => {}, default: () => {},
}, },
parameter: {
type: Object,
default: () => {}
}
}, },
data() { data() {
return {}; return {
myChart: null
};
}, },
watch: { watch: {
title(val) { title(val) {
console.log(val); this.myChart && this.myChart.setOption({title:{text:val}})
},
parameter: {
handler: function (v) {
this.drawLine(v)
}, },
deep: true
}
}, },
mounted() { mounted() {
this.drawLine(); this.drawLine();
}, },
methods: { methods: {
drawLine() { drawLine(obj) {
if (obj && this.myChart) {
// 更新
this.myChart.setOption({
xAxis: {
data: obj.x
},
series: [
{
data: obj.y,
},
]
})
return
}
// 基于dom,初始化echarts实例 // 基于dom,初始化echarts实例
let myChart = this.$echarts.init(document.getElementById(this.id)); let myChart = this.$echarts.init(document.getElementById(this.id));
this.myChart = myChart
// 绘制图表 // 绘制图表
myChart.setOption({ myChart.setOption({
title: { text: this.title }, title: { text: this.title },
...@@ -59,7 +86,7 @@ export default { ...@@ -59,7 +86,7 @@ export default {
color:'#6e98ed', color:'#6e98ed',
xAxis: { xAxis: {
type: "category", type: "category",
data: ["部门1", "部门2", "部门3", "部门4", "部门5", "部门6"], data: [],
}, },
grid: { grid: {
left: "3%", left: "3%",
...@@ -72,7 +99,7 @@ export default { ...@@ -72,7 +99,7 @@ export default {
{ {
name: this.legendName, name: this.legendName,
type: "line", type: "line",
data: [10, 20, 30, 90, 100, 100, 120], data: [],
smooth: true, smooth: true,
// itemStyle: { // itemStyle: {
// lineStyle: { // lineStyle: {
......
...@@ -23,23 +23,47 @@ export default { ...@@ -23,23 +23,47 @@ export default {
type: Object, type: Object,
default: () => {}, default: () => {},
}, },
parameter: {
type: Array,
default: () => []
}
}, },
data() { data() {
return {}; return {
myChart: null
};
}, },
watch: { watch: {
title(val) { title(val) {
console.log(val); this.myChart && this.myChart.setOption({title:{text:val}})
}, },
parameter: {
handler: function (v) {
this.drawLine(v)
},
deep: true
}
}, },
mounted() { mounted() {
this.drawLine(); this.drawLine();
}, },
methods: { methods: {
drawLine() { drawLine(obj) {
if (obj && this.myChart) {
// 更新
this.myChart.setOption({
series: [
{
data: obj,
},
]
})
return
}
// 基于dom,初始化echarts实例 // 基于dom,初始化echarts实例
let myChart = this.$echarts.init(document.getElementById(this.id)); let myChart = this.$echarts.init(document.getElementById(this.id));
this.myChart = myChart
// 绘制图表 // 绘制图表
myChart.setOption({ myChart.setOption({
title: { text: this.title }, title: { text: this.title },
...@@ -70,13 +94,7 @@ export default { ...@@ -70,13 +94,7 @@ export default {
name: this.legendName, name: this.legendName,
type: "pie", type: "pie",
radius: "65%", radius: "65%",
data: [ data: this.parameter,
{ value: 1048, name: "部门1" },
{ value: 735, name: "部门2" },
{ value: 580, name: "部门3" },
{ value: 484, name: "部门4" },
{ value: 300, name: "部门5" },
],
emphasis: { emphasis: {
itemStyle: { itemStyle: {
shadowBlur: 10, shadowBlur: 10,
......
...@@ -18,7 +18,8 @@ ...@@ -18,7 +18,8 @@
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="周期" prop="year"> <el-form-item label="周期" prop="year">
<el-date-picker style="width: 100%;" v-model="form.year" type="year" placeholder="选择年"> <el-date-picker style="width: 100%;" format="yyyy" value-format="yyyy" v-model="form.year" type="year"
placeholder="选择年">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
...@@ -29,12 +30,12 @@ ...@@ -29,12 +30,12 @@
:enumData="dict.periodType" placeholder="请选择周期类型" /> :enumData="dict.periodType" placeholder="请选择周期类型" />
</el-col> </el-col>
</el-row> </el-row>
<el-row> <!-- <el-row>
<el-col :span="8"> <el-col :span="8">
<Field label="考核范围" :span="24" prop="assessmentScope" v-model="form.assessmentScope" type="select" <Field label="考核范围" :span="24" prop="assessmentScope" v-model="form.assessmentScope" type="select"
:enumData="dict.assessmentScope" placeholder="请选择考核范围" /> :enumData="dict.assessmentScope" placeholder="请选择考核范围" />
</el-col> </el-col>
</el-row> </el-row> -->
<el-row v-if="form.assessmentScope == 1"> <el-row v-if="form.assessmentScope == 1">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="选择部门"> <el-form-item label="选择部门">
...@@ -65,7 +66,7 @@ ...@@ -65,7 +66,7 @@
<el-input v-model="item.ownerName" placeholder="请输入姓名"></el-input> <el-input v-model="item.ownerName" placeholder="请输入姓名"></el-input>
</el-col> </el-col>
<el-col :span="12" style="padding:0 10px"> <el-col :span="12" style="padding:0 10px">
<el-input v-model="form.leaderMobiles" placeholder="请输入电话"></el-input> <el-input v-model="item.leaderMobiles" placeholder="请输入电话"></el-input>
</el-col> </el-col>
<el-col :span="2"> <el-col :span="2">
<el-button type="primary" icon="el-icon-plus" circle v-if="index == 0" @click="addOwner"></el-button> <el-button type="primary" icon="el-icon-plus" circle v-if="index == 0" @click="addOwner"></el-button>
...@@ -146,10 +147,10 @@ export default { ...@@ -146,10 +147,10 @@ export default {
ownerList: [ ownerList: [
{ ownerId: "", ownerName: "", leaderMobiles: "" } { ownerId: "", ownerName: "", leaderMobiles: "" }
], ],
deptArr:[],//部门下拉 deptArr: [],//部门下拉
staffArr:[],//人员下拉 staffArr: [],//人员下拉
deptId:[],//部门选中 deptId: [],//部门选中
staffId:[],//人员选中数据 staffId: [],//人员选中数据
}; };
}, },
created() { created() {
...@@ -157,20 +158,46 @@ export default { ...@@ -157,20 +158,46 @@ export default {
this.staffList() this.staffList()
}, },
methods: { methods: {
beforeSubmit(form) {
// 个人/部门
const perposeStaffList = []//选中人员
const perposeDeptList = []//选中部门
this.deptId.forEach(element => {
perposeDeptList.push({ deptId: element })
});
this.staffId.forEach(element => {
perposeStaffList.push({ staffId: element })
});
form.perposeStaffList = perposeStaffList
form.perposeDeptList = perposeDeptList
// 负责人
const leaders = []//名
const leaderMobiles = []//电话
this.ownerList.forEach(element => {
leaders.push(element.ownerName)
leaderMobiles.push(element.leaderMobiles)
});
form.leaders = leaders.length > 0 ? leaders.join(",") : ""
form.leaderMobiles = leaderMobiles.length > 0 ? leaderMobiles.join(',') : ""
console.log(form, "入参")
return form
},
// 查询部门列表 // 查询部门列表
deptList(){ deptList() {
this.$post("/dept/list", {page:1,size:-1}).then((res) => { this.$post("/dept/list", { page: 1, size: -1 }).then((res) => {
const {code,data,dict} = res const { code, data, dict } = res
if(code == 1){ if (code == 1) {
this.deptArr = data.data this.deptArr = data.data
console.log(data.data, "部门")
} }
}); });
}, },
// 查询部门列表 // 查询部门列表
staffList(){ staffList() {
this.$post("/staff/list", {page:1,size:-1}).then((res) => { this.$post("/staff/list", { page: 1, size: -1 }).then((res) => {
const {code,data,dict} = res const { code, data, dict } = res
if(code == 1){ if (code == 1) {
this.staffArr = data.data this.staffArr = data.data
} }
}); });
...@@ -194,9 +221,9 @@ export default { ...@@ -194,9 +221,9 @@ export default {
}, },
/** 新增 */ /** 新增 */
add(row) { add(row) {
this.reset();
this.urls.currUrl = "perform/perpose/add"; this.urls.currUrl = "perform/perpose/add";
this.getData(); this.getData();
this.reset();
this.pageInfo.type = "add"; this.pageInfo.type = "add";
this.title = "新增考核目标"; this.title = "新增考核目标";
}, },
...@@ -216,6 +243,33 @@ export default { ...@@ -216,6 +243,33 @@ export default {
/**获取数据后弹框 */ /**获取数据后弹框 */
afterRender(data) { afterRender(data) {
this.open = true; this.open = true;
if (this.pageInfo.type == "add") {
// 新增
this.reset()
this.form.assessmentScope = this.$parent.query.assessmentScope + ''
}else{
// 编辑
this.form.year = this.form.year+''
const leaderMobiles = this.form.leaderMobiles.split(',')
// 回显负责人
const ownerList = []
this.form.leaders.split(',').forEach((v,i)=>{
ownerList.push({ ownerId: "", ownerName: v, leaderMobiles: leaderMobiles[i] || '' })
})
this.ownerList = ownerList
// 回显选中人员
const staffId = []
this.form.perposeStaffList && this.form.perposeStaffList.forEach(v=>{
staffId.push(v.staffId)
})
this.staffId = staffId
// 回显选中部门
const deptId = []
this.form.perposeDeptList && this.form.perposeDeptList.forEach(v=>{
deptId.push(v.deptId)
})
this.deptId = deptId
}
}, },
afterSubmit(data) { afterSubmit(data) {
...@@ -229,20 +283,26 @@ export default { ...@@ -229,20 +283,26 @@ export default {
ownerId: null, ownerId: null,
ownerName: "", ownerName: "",
staffId: null, staffId: null,
assessmentType: null, assessmentType: '1',
assessmentScope: 1, assessmentScope: '1',
compareScope: 1, compareScope: '1',
ratio: 0.0, ratio: 0.0,
periodType: 1, periodType: '1',
year: null, year: "",
month: null, // month: null,
halfYear: 1, // halfYear: 1,
halfYear: 1, // quarter: 1,
quarter: 1,
leaders: "", leaders: "",
leaderMobiles: "", leaderMobiles: "",
remark: "", remark: "",
perposeStaffList: [],
perposeDeptList: []
}; };
this.ownerList = [
{ ownerId: "", ownerName: "", leaderMobiles: "" }
]
this.deptId = []
this.staffId = []
this.resetForm("form"); this.resetForm("form");
}, },
resetForm(refName) { resetForm(refName) {
......
...@@ -40,6 +40,7 @@ ...@@ -40,6 +40,7 @@
<line-charts <line-charts
:title="'绩效平均分排名'" :title="'绩效平均分排名'"
:id="'jixiaopingjunfen'" :id="'jixiaopingjunfen'"
:parameter="depStatObj.averageScore"
:legendName="'绩效平均分'" :legendName="'绩效平均分'"
:styleObj="{ width: '100%', height: '300px' }" :styleObj="{ width: '100%', height: '300px' }"
/> />
...@@ -50,7 +51,7 @@ ...@@ -50,7 +51,7 @@
<bar-charts <bar-charts
:title="'部门加分排名TOP10'" :title="'部门加分排名TOP10'"
:id="'top_10'" :id="'top_10'"
:parameter="depStatObj.attendScoreAdd" :parameter="depStatObj.totalAddScore"
:legendName="'部门加分分值'" :legendName="'部门加分分值'"
:styleObj="{ width: '100%', height: '300px' }" :styleObj="{ width: '100%', height: '300px' }"
/> />
...@@ -59,6 +60,7 @@ ...@@ -59,6 +60,7 @@
<pie-charts <pie-charts
:title="'部门加分整体分布'" :title="'部门加分整体分布'"
:id="'jiafen'" :id="'jiafen'"
:parameter="depStatObj.pieAddScore"
:legendName="'部门加分'" :legendName="'部门加分'"
:styleObj="{ width: '100%', height: '300px' }" :styleObj="{ width: '100%', height: '300px' }"
/> />
...@@ -67,16 +69,18 @@ ...@@ -67,16 +69,18 @@
<bar-charts <bar-charts
:title="'部门扣分排名TOP10'" :title="'部门扣分排名TOP10'"
:id="'koufen_10'" :id="'koufen_10'"
:parameter="depStatObj.totalSubScore"
:legendName="'部门扣分分值'" :legendName="'部门扣分分值'"
:styleObj="{ width: '100%', height: '300px' }" :styleObj="{ width: '100%', height: '300px' }"
/> />
</div> </div>
<div class="koufen box"> <div class="koufen box">
<pie-charts <pie-charts
:parameter="depStatObj.pieSubScore"
:title="'部门扣分整体分布'" :title="'部门扣分整体分布'"
:id="'koufen'" :id="'koufen'"
:legendName="'部门扣分'" :legendName="'部门扣分'"
:styleObj="{ width: '100%', height: '300px' }" :styleObj="{ onAssessmentScope2width: '100%', height: '300px' }"
/> />
</div> </div>
</div> </div>
...@@ -131,7 +135,7 @@ ...@@ -131,7 +135,7 @@
<el-tab-pane label="目标管理" name="3"> <el-tab-pane label="目标管理" name="3">
<div class="content"> <div class="content">
<div class="top"> <div class="top">
<el-radio-group v-model="type2"> <el-radio-group v-model="type2" @change="onAssessmentScope2">
<el-radio-button :label="1">按部门</el-radio-button> <el-radio-button :label="1">按部门</el-radio-button>
<el-radio-button :label="2">按个人</el-radio-button> <el-radio-button :label="2">按个人</el-radio-button>
</el-radio-group> </el-radio-group>
...@@ -144,17 +148,17 @@ ...@@ -144,17 +148,17 @@
<div class="goal_title"> <div class="goal_title">
<img src="../../../../assets/images/u17641.svg" alt="" /> <img src="../../../../assets/images/u17641.svg" alt="" />
<span> <span>
旷工率不高于10% {{dictString('assessmentType',val.assessmentType)}}{{dictString('compareScope',val.compareScope)}}{{val.ratio}}%
</span> </span>
</div> </div>
<p class="goal_txt"> <p class="goal_txt">
<span>{{ type2 == 1 ? "目标部门:" : "目标个人:" }}</span <span>{{ type2 == 1 ? "目标部门:" : "目标个人:" }}</span
><span>{{ ><span>{{
type2 == 1 ? "全部部门" : "张三、李四、王武、陈真" type2 == 1 ? val.deptPerpose : val.staffPerpose
}}</span> }}</span>
</p> </p>
<p class="goal_txt"> <p class="goal_txt">
<span>周期:</span><span>{{val.periodType}}</span> <span>周期:</span><span>{{val.year}} {{dictString('periodType',val.periodType)}}</span>
</p> </p>
<p class="goal_txt"> <p class="goal_txt">
<span>负责人:</span><span>{{val.leaders}}</span> <span>负责人:</span><span>{{val.leaders}}</span>
...@@ -162,7 +166,7 @@ ...@@ -162,7 +166,7 @@
<p class="goal_txt"> <p class="goal_txt">
<span>最近更新:</span><span>{{val.updateTime}}</span> <span>最近更新:</span><span>{{val.updateTime}}</span>
</p> </p>
<p class="goal_txt"><span>更新人员:</span><span>{{val.updateUserId}}</span></p> <p class="goal_txt"><span>更新人员:</span><span>{{dictString('updateUserId',val.updateUserId)}}</span></p>
<div class="button_box"> <div class="button_box">
<el-button <el-button
type="primary" type="primary"
...@@ -254,17 +258,22 @@ export default { ...@@ -254,17 +258,22 @@ export default {
// this.statArr = row // this.statArr = row
const x = [] const x = []
const y = [] const y = []
const xTop10 = [] const averageScore = [] //平均分数
row.forEach(element => { row.forEach(element => {
x.push(element.deptName) x.push(element.deptName)
y.push(element.totalScore) y.push(element.totalScore)
averageScore.push(element.averageScore)
}); });
this.depStatObj.totalScore.x = x this.depStatObj.totalScore.x = x
this.depStatObj.totalScore.y = y this.depStatObj.totalScore.y = y
// 平均值
this.depStatObj.averageScore.x = x
this.depStatObj.averageScore.y = averageScore
} }
}); });
// 加分top10 // 加分top10
const top10 = {...this.boardQuery,size:10} const top10 = {...this.boardQuery,size:10,orderColList:[{colName:'totalAddScore',sortKind:'desc'}]}
this.$post("/staff/perform/stat/list", top10).then((res) => { this.$post("/staff/perform/stat/list", top10).then((res) => {
const {code,data,dict} = res const {code,data,dict} = res
if(code == 1){ if(code == 1){
...@@ -274,11 +283,28 @@ export default { ...@@ -274,11 +283,28 @@ export default {
const y = [] const y = []
row.forEach(element => { row.forEach(element => {
x.push(element.deptName) x.push(element.deptName)
y.push(element.attendScoreAdd) y.push(element.totalAddScore)
}); });
this.depStatObj.attendScoreAdd.x = x this.depStatObj.totalAddScore.x = x
this.depStatObj.attendScoreAdd.y = y this.depStatObj.totalAddScore.y = y
console.log(this.depStatObj.attendScoreAdd,"`````",data)
}
});
// 减分
const top10Sub = {...this.boardQuery,size:10,orderColList:[{colName:'totalSubScore',sortKind:'desc'}]}
this.$post("/staff/perform/stat/list", top10Sub).then((res) => {
const {code,data,dict} = res
if(code == 1){
const row = data.data || []
// this.statArr = row
const x = []
const y = []
row.forEach(element => {
x.push(element.deptName)
y.push(element.totalSubScore)
});
this.depStatObj.totalSubScore.x = x
this.depStatObj.totalSubScore.y = y
} }
}); });
}, },
...@@ -332,16 +358,24 @@ export default { ...@@ -332,16 +358,24 @@ export default {
this.getData(); this.getData();
}); });
}, },
// 目标管理
getData() { getData() {
this.$post("/perform/perpose/list",this.query).then((res) => { this.$post("/perform/perpose/list",this.query).then((res) => {
console.log(res); console.log(res,"@@@@@@@@@@@@");
if (res.code == 1) { const {code,data,dict} = res
this.dataList = res.data.data; this.dict = dict || {}
if (code == 1) {
this.dataList = data.data;
} else { } else {
this.dataList = []; this.dataList = [];
} }
}); });
}, },
// 字典转换
dictString(key,id){
const keyName = this.dict[key]
return keyName?keyName[id]:""
},
// TAB个人/法人 // TAB个人/法人
onAssessmentScope(v){ onAssessmentScope(v){
if(v == 1){ if(v == 1){
...@@ -357,6 +391,15 @@ export default { ...@@ -357,6 +391,15 @@ export default {
}else{ }else{
this.staffList() this.staffList()
} }
},
onAssessmentScope2(v){
if(v == 1){
this.query.assessmentScope = 1
}else{
this.query.assessmentScope = 2
}
this.getData()
} }
}, },
computed: { computed: {
...@@ -471,15 +514,15 @@ export default { ...@@ -471,15 +514,15 @@ export default {
x:[], x:[],
y:[] y:[]
},//绩效总分排名 },//绩效总分排名
totalAverage:{ averageScore:{
x:[], x:[],
y:[] y:[]
},//绩效平均排名 },//绩效平均排名
attendScoreAdd:{ totalAddScore:{
x:[], x:[],
y:[] y:[]
},//加分 },//加分
attendScoreSub:{ totalSubScore:{
x:[], x:[],
y:[] y:[]
},//减分 },//减分
...@@ -487,19 +530,34 @@ export default { ...@@ -487,19 +530,34 @@ export default {
x:[], x:[],
y:[] y:[]
},//目标对齐 },//目标对齐
pieAddScore:[
{value:0,name:'考勤绩效'},
{value:0,name:'评价绩效'},
{value:0,name:'办件绩效'},
{value:0,name:'效能绩效'},
{value:0,name:'投诉绩效'},
{value:0,name:'其它绩效'},
],//部门加分分布
pieSubScore:[
{value:0,name:'考勤绩效'},
{value:0,name:'评价绩效'},
{value:0,name:'办件绩效'},
{value:0,name:'效能绩效'},
{value:0,name:'投诉绩效'},
{value:0,name:'其它绩效'},
]//部门减分分布
},//按部门 },//按部门
month:"",//月份 month:"",//月份
boardQuery:{ boardQuery:{
page:1, page:1,
size:-1, size:-1,
// year:parseInt(moment().format('YYYY')), year:parseInt(moment().format('YYYY')),
// month:parseInt(moment().format('MM')), month:parseInt(moment().format('MM')),
},//看板查询条件 },//看板查询条件
query:{ query:{
page:1, page:1,
size:-1, size:8,
// assessmentScope:1//考核范围(1.部门,2.个人) assessmentScope:1//考核范围(1.部门,2.个人)
},//目标管理查询条件 },//目标管理查询条件
StatQuery:{ StatQuery:{
page:1, page:1,
...@@ -507,6 +565,7 @@ export default { ...@@ -507,6 +565,7 @@ export default {
year:parseInt(moment().format('YYYY')), year:parseInt(moment().format('YYYY')),
month:parseInt(moment().format('MM')), month:parseInt(moment().format('MM')),
},//对齐方式入参 },//对齐方式入参
dict:{}//字典
}; };
}, },
}; };
......
...@@ -60,5 +60,10 @@ public class PerformInfo { ...@@ -60,5 +60,10 @@ public class PerformInfo {
*/ */
private String performType; private String performType;
/**
* 申诉状态(0.未申诉,1.申诉中,2.申诉拒绝,3.申诉通过)
*/
private Integer appealStatus;
} }
...@@ -16,13 +16,20 @@ import com.mortals.xhx.busiz.req.PerformReq; ...@@ -16,13 +16,20 @@ import com.mortals.xhx.busiz.req.PerformReq;
import com.mortals.xhx.busiz.rsp.PerformDetailInfo; import com.mortals.xhx.busiz.rsp.PerformDetailInfo;
import com.mortals.xhx.busiz.rsp.PerformInfo; import com.mortals.xhx.busiz.rsp.PerformInfo;
import com.mortals.xhx.busiz.rsp.PerformStatInfo; import com.mortals.xhx.busiz.rsp.PerformStatInfo;
import com.mortals.xhx.common.code.AppealResultEnum;
import com.mortals.xhx.common.code.AppealStatusEnum;
import com.mortals.xhx.common.code.PerformTypeEnum; import com.mortals.xhx.common.code.PerformTypeEnum;
import com.mortals.xhx.common.code.ProcessStatusEnum;
import com.mortals.xhx.common.utils.BeanUtil; import com.mortals.xhx.common.utils.BeanUtil;
import com.mortals.xhx.module.attendance.model.AttendanceRecordEntity; import com.mortals.xhx.module.attendance.model.AttendanceRecordEntity;
import com.mortals.xhx.module.attendance.model.AttendanceRecordQuery; import com.mortals.xhx.module.attendance.model.AttendanceRecordQuery;
import com.mortals.xhx.module.attendance.service.AttendanceRecordService; import com.mortals.xhx.module.attendance.service.AttendanceRecordService;
import com.mortals.xhx.module.check.model.*; import com.mortals.xhx.module.check.model.*;
import com.mortals.xhx.module.check.model.vo.CheckAllRecordVo;
import com.mortals.xhx.module.check.service.*; import com.mortals.xhx.module.check.service.*;
import com.mortals.xhx.module.perform.model.PerformAttendAppealEntity;
import com.mortals.xhx.module.perform.model.PerformAttendAppealQuery;
import com.mortals.xhx.module.perform.service.PerformAttendAppealService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.formula.functions.T; import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
...@@ -65,6 +72,11 @@ public class PerformApiController extends AbstractBaseController<PerformReq> { ...@@ -65,6 +72,11 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
private CheckGoworkRecordService checkGoworkRecordService; private CheckGoworkRecordService checkGoworkRecordService;
@Autowired @Autowired
private CheckOtherRecordService checkOtherRecordService; private CheckOtherRecordService checkOtherRecordService;
@Autowired
private CheckAllRecordService checkAllRecordService;
@Autowired
private PerformAttendAppealService appealService;
/** /**
...@@ -119,6 +131,24 @@ public class PerformApiController extends AbstractBaseController<PerformReq> { ...@@ -119,6 +131,24 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
PageInfo pageInfo = buildPageInfo(performReq); PageInfo pageInfo = buildPageInfo(performReq);
//todo 查询全部扣分绩效 //todo 查询全部扣分绩效
if (PerformTypeEnum.全部.getValue().equals(performReq.getPerformType())) { if (PerformTypeEnum.全部.getValue().equals(performReq.getPerformType())) {
CheckAllRecordQuery query = new CheckAllRecordQuery();
query.setCheckTimeStart(performReq.getPerformStartDate());
query.setCheckTimeEnd(performReq.getPerformEndDate());
query.setStaffId(context.getUser().getCustomerId());
List<CheckAllRecordVo> allCheckRecord = checkAllRecordService.getAllCheckRecord(query);
List<PerformInfo> collect = allCheckRecord.stream().map(item -> {
PerformInfo performInfo = new PerformInfo();
BeanUtils.copyProperties(item, performInfo, BeanUtil.getNullPropertyNames(item));
return performInfo;
}).collect(Collectors.toList());
model.put(KEY_RESULT_DATA, collect);
PageInfo pageAllInfo = new PageInfo();
pageAllInfo.setTotalResult(collect.size());
pageAllInfo.setCurrPage(1);
pageAllInfo.setPrePageResult(-1);
model.put(PAGEINFO_KEY, pageAllInfo);
parsePageInfo(model, pageAllInfo);
} else if (PerformTypeEnum.考勤绩效.getValue().equals(performReq.getPerformType())) { } else if (PerformTypeEnum.考勤绩效.getValue().equals(performReq.getPerformType())) {
CheckAttendRecordQuery query = new CheckAttendRecordQuery(); CheckAttendRecordQuery query = new CheckAttendRecordQuery();
...@@ -131,8 +161,15 @@ public class PerformApiController extends AbstractBaseController<PerformReq> { ...@@ -131,8 +161,15 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
PerformInfo performInfo = new PerformInfo(); PerformInfo performInfo = new PerformInfo();
BeanUtils.copyProperties(item, performInfo, BeanUtil.getNullPropertyNames(item)); BeanUtils.copyProperties(item, performInfo, BeanUtil.getNullPropertyNames(item));
performInfo.setPerformType(PerformTypeEnum.考勤绩效.getValue()); performInfo.setPerformType(PerformTypeEnum.考勤绩效.getValue());
//判断是否存在申诉
PerformAttendAppealEntity entity = appealService.selectOne(new PerformAttendAppealQuery().checkRecordId(item.getId()));
Boolean bool = entity.newEntity();
updateAppealStatus(performInfo, bool, entity.getProcessStatus(), entity.getAppealResult());
return performInfo; return performInfo;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
model.put(KEY_RESULT_DATA, collect); model.put(KEY_RESULT_DATA, collect);
model.put(PAGEINFO_KEY, result.getPageInfo()); model.put(PAGEINFO_KEY, result.getPageInfo());
parsePageInfo(model, result.getPageInfo()); parsePageInfo(model, result.getPageInfo());
...@@ -147,6 +184,11 @@ public class PerformApiController extends AbstractBaseController<PerformReq> { ...@@ -147,6 +184,11 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
PerformInfo performInfo = new PerformInfo(); PerformInfo performInfo = new PerformInfo();
BeanUtils.copyProperties(item, performInfo, BeanUtil.getNullPropertyNames(item)); BeanUtils.copyProperties(item, performInfo, BeanUtil.getNullPropertyNames(item));
performInfo.setPerformType(PerformTypeEnum.评价差评绩效.getValue()); performInfo.setPerformType(PerformTypeEnum.评价差评绩效.getValue());
//判断是否存在申诉
PerformAttendAppealEntity entity = appealService.selectOne(new PerformAttendAppealQuery().checkRecordId(item.getId()));
Boolean bool = entity.newEntity();
updateAppealStatus(performInfo, bool, entity.getProcessStatus(), entity.getAppealResult());
return performInfo; return performInfo;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
model.put(KEY_RESULT_DATA, collect); model.put(KEY_RESULT_DATA, collect);
...@@ -163,6 +205,11 @@ public class PerformApiController extends AbstractBaseController<PerformReq> { ...@@ -163,6 +205,11 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
PerformInfo performInfo = new PerformInfo(); PerformInfo performInfo = new PerformInfo();
BeanUtils.copyProperties(item, performInfo, BeanUtil.getNullPropertyNames(item)); BeanUtils.copyProperties(item, performInfo, BeanUtil.getNullPropertyNames(item));
performInfo.setPerformType(PerformTypeEnum.评价投诉绩效.getValue()); performInfo.setPerformType(PerformTypeEnum.评价投诉绩效.getValue());
//判断是否存在申诉
PerformAttendAppealEntity entity = appealService.selectOne(new PerformAttendAppealQuery().checkRecordId(item.getId()));
Boolean bool = entity.newEntity();
updateAppealStatus(performInfo, bool, entity.getProcessStatus(), entity.getAppealResult());
return performInfo; return performInfo;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
model.put(KEY_RESULT_DATA, collect); model.put(KEY_RESULT_DATA, collect);
...@@ -179,6 +226,10 @@ public class PerformApiController extends AbstractBaseController<PerformReq> { ...@@ -179,6 +226,10 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
PerformInfo performInfo = new PerformInfo(); PerformInfo performInfo = new PerformInfo();
BeanUtils.copyProperties(item, performInfo, BeanUtil.getNullPropertyNames(item)); BeanUtils.copyProperties(item, performInfo, BeanUtil.getNullPropertyNames(item));
performInfo.setPerformType(PerformTypeEnum.办件绩效.getValue()); performInfo.setPerformType(PerformTypeEnum.办件绩效.getValue());
//判断是否存在申诉
PerformAttendAppealEntity entity = appealService.selectOne(new PerformAttendAppealQuery().checkRecordId(item.getId()));
Boolean bool = entity.newEntity();
updateAppealStatus(performInfo, bool, entity.getProcessStatus(), entity.getAppealResult());
return performInfo; return performInfo;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
model.put(KEY_RESULT_DATA, collect); model.put(KEY_RESULT_DATA, collect);
...@@ -195,6 +246,10 @@ public class PerformApiController extends AbstractBaseController<PerformReq> { ...@@ -195,6 +246,10 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
PerformInfo performInfo = new PerformInfo(); PerformInfo performInfo = new PerformInfo();
BeanUtils.copyProperties(item, performInfo, BeanUtil.getNullPropertyNames(item)); BeanUtils.copyProperties(item, performInfo, BeanUtil.getNullPropertyNames(item));
performInfo.setPerformType(PerformTypeEnum.效能绩效.getValue()); performInfo.setPerformType(PerformTypeEnum.效能绩效.getValue());
//判断是否存在申诉
PerformAttendAppealEntity entity = appealService.selectOne(new PerformAttendAppealQuery().checkRecordId(item.getId()));
Boolean bool = entity.newEntity();
updateAppealStatus(performInfo, bool, entity.getProcessStatus(), entity.getAppealResult());
return performInfo; return performInfo;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
model.put(KEY_RESULT_DATA, collect); model.put(KEY_RESULT_DATA, collect);
...@@ -211,6 +266,10 @@ public class PerformApiController extends AbstractBaseController<PerformReq> { ...@@ -211,6 +266,10 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
PerformInfo performInfo = new PerformInfo(); PerformInfo performInfo = new PerformInfo();
BeanUtils.copyProperties(item, performInfo, BeanUtil.getNullPropertyNames(item)); BeanUtils.copyProperties(item, performInfo, BeanUtil.getNullPropertyNames(item));
performInfo.setPerformType(PerformTypeEnum.其它绩效.getValue()); performInfo.setPerformType(PerformTypeEnum.其它绩效.getValue());
//判断是否存在申诉
PerformAttendAppealEntity entity = appealService.selectOne(new PerformAttendAppealQuery().checkRecordId(item.getId()));
Boolean bool = entity.newEntity();
updateAppealStatus(performInfo, bool, entity.getProcessStatus(), entity.getAppealResult());
return performInfo; return performInfo;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
model.put(KEY_RESULT_DATA, collect); model.put(KEY_RESULT_DATA, collect);
...@@ -221,7 +280,6 @@ public class PerformApiController extends AbstractBaseController<PerformReq> { ...@@ -221,7 +280,6 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
} }
rest.setData(model); rest.setData(model);
recordSysLog(request, busiDesc + " 【成功】"); recordSysLog(request, busiDesc + " 【成功】");
} catch (Exception e) { } catch (Exception e) {
log.error(busiDesc, e); log.error(busiDesc, e);
...@@ -230,6 +288,22 @@ public class PerformApiController extends AbstractBaseController<PerformReq> { ...@@ -230,6 +288,22 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
return rest; return rest;
} }
private static void updateAppealStatus(PerformInfo performInfo, Boolean bool, Integer processStatus, Integer appealResult) {
if (!bool) {
performInfo.setAppealStatus(AppealStatusEnum.未申诉.getValue());
} else {
if (ProcessStatusEnum.未处理.getValue() == processStatus) {
performInfo.setAppealStatus(AppealStatusEnum.申诉中.getValue());
} else {
if (AppealResultEnum.通过.getValue() == appealResult) {
performInfo.setAppealStatus(AppealStatusEnum.申诉通过.getValue());
} else if (AppealResultEnum.不通过.getValue() == appealResult) {
performInfo.setAppealStatus(AppealStatusEnum.申诉拒绝.getValue());
}
}
}
}
/** /**
* 详细 * 详细
...@@ -278,7 +352,6 @@ public class PerformApiController extends AbstractBaseController<PerformReq> { ...@@ -278,7 +352,6 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
} }
public static void main(String[] args) { public static void main(String[] args) {
} }
......
package com.mortals.xhx.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 申诉状态(0.未申诉,1.申诉中,2.申诉拒绝,3.申诉通过)
*
* @author zxfei
*/
public enum AppealStatusEnum {
未申诉(0, "未申诉"),
申诉中(1, "申诉中"),
申诉拒绝(2, "申诉拒绝"),
申诉通过(3, "申诉通过");
private Integer value;
private String desc;
AppealStatusEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public Integer getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static AppealStatusEnum getByValue(Integer value) {
for (AppealStatusEnum deviceStatusEnum : AppealStatusEnum.values()) {
if (deviceStatusEnum.getValue() == value) {
return deviceStatusEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(Integer... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (AppealStatusEnum item : AppealStatusEnum.values()) {
try {
boolean hasE = false;
for (Integer e : eItem) {
if (item.getValue() == e) {
hasE = true;
break;
}
}
if (!hasE) {
resultMap.put(item.getValue() + "", item.getDesc());
}
} catch (Exception ex) {
}
}
return resultMap;
}
}
\ No newline at end of file
...@@ -7,11 +7,11 @@ import com.mortals.framework.model.BaseEntityLong; ...@@ -7,11 +7,11 @@ import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.perform.model.vo.PerformPerposeDeptVo; import com.mortals.xhx.module.perform.model.vo.PerformPerposeDeptVo;
import lombok.Data; import lombok.Data;
/** /**
* 部门考核目标详细信息实体对象 * 部门考核目标详细信息实体对象
* *
* @author zxfei * @author zxfei
* @date 2023-05-16 * @date 2023-07-12
*/ */
@Data @Data
public class PerformPerposeDeptEntity extends PerformPerposeDeptVo { public class PerformPerposeDeptEntity extends PerformPerposeDeptVo {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
......
...@@ -3,26 +3,26 @@ package com.mortals.xhx.module.perform.model; ...@@ -3,26 +3,26 @@ package com.mortals.xhx.module.perform.model;
import java.util.List; import java.util.List;
import com.mortals.xhx.module.perform.model.PerformPerposeDeptEntity; import com.mortals.xhx.module.perform.model.PerformPerposeDeptEntity;
/** /**
* 部门考核目标详细信息查询对象 * 部门考核目标详细信息查询对象
* *
* @author zxfei * @author zxfei
* @date 2023-05-16 * @date 2023-07-12
*/ */
public class PerformPerposeDeptQuery extends PerformPerposeDeptEntity { public class PerformPerposeDeptQuery extends PerformPerposeDeptEntity {
/** 开始 序号,主键,自增长 */ /** 开始 序号,主键,自增长 */
private Long IdStart; private Long idStart;
/** 结束 序号,主键,自增长 */ /** 结束 序号,主键,自增长 */
private Long IdEnd; private Long idEnd;
/** 增加 序号,主键,自增长 */ /** 增加 序号,主键,自增长 */
private Long IdIncrement; private Long idIncrement;
/** 序号,主键,自增长列表 */ /** 序号,主键,自增长列表 */
private List <Long> IdList; private List <Long> idList;
/** 序号,主键,自增长排除列表 */ /** 序号,主键,自增长排除列表 */
private List <Long> IdNotList; private List <Long> idNotList;
/** 开始 考核目标id */ /** 开始 考核目标id */
private Long purposeConfIdStart; private Long purposeConfIdStart;
...@@ -116,82 +116,82 @@ public class PerformPerposeDeptQuery extends PerformPerposeDeptEntity { ...@@ -116,82 +116,82 @@ public class PerformPerposeDeptQuery extends PerformPerposeDeptEntity {
/** /**
* 获取 开始 序号,主键,自增长 * 获取 开始 序号,主键,自增长
* @return IdStart * @return idStart
*/ */
public Long getIdStart(){ public Long getIdStart(){
return this.IdStart; return this.idStart;
} }
/** /**
* 设置 开始 序号,主键,自增长 * 设置 开始 序号,主键,自增长
* @param IdStart * @param idStart
*/ */
public void setIdStart(Long IdStart){ public void setIdStart(Long idStart){
this.IdStart = IdStart; this.idStart = idStart;
} }
/** /**
* 获取 结束 序号,主键,自增长 * 获取 结束 序号,主键,自增长
* @return $IdEnd * @return $idEnd
*/ */
public Long getIdEnd(){ public Long getIdEnd(){
return this.IdEnd; return this.idEnd;
} }
/** /**
* 设置 结束 序号,主键,自增长 * 设置 结束 序号,主键,自增长
* @param IdEnd * @param idEnd
*/ */
public void setIdEnd(Long IdEnd){ public void setIdEnd(Long idEnd){
this.IdEnd = IdEnd; this.idEnd = idEnd;
} }
/** /**
* 获取 增加 序号,主键,自增长 * 获取 增加 序号,主键,自增长
* @return IdIncrement * @return idIncrement
*/ */
public Long getIdIncrement(){ public Long getIdIncrement(){
return this.IdIncrement; return this.idIncrement;
} }
/** /**
* 设置 增加 序号,主键,自增长 * 设置 增加 序号,主键,自增长
* @param IdIncrement * @param idIncrement
*/ */
public void setIdIncrement(Long IdIncrement){ public void setIdIncrement(Long idIncrement){
this.IdIncrement = IdIncrement; this.idIncrement = idIncrement;
} }
/** /**
* 获取 序号,主键,自增长 * 获取 序号,主键,自增长
* @return IdList * @return idList
*/ */
public List<Long> getIdList(){ public List<Long> getIdList(){
return this.IdList; return this.idList;
} }
/** /**
* 设置 序号,主键,自增长 * 设置 序号,主键,自增长
* @param IdList * @param idList
*/ */
public void setIdList(List<Long> IdList){ public void setIdList(List<Long> idList){
this.IdList = IdList; this.idList = idList;
} }
/** /**
* 获取 序号,主键,自增长 * 获取 序号,主键,自增长
* @return IdNotList * @return idNotList
*/ */
public List<Long> getIdNotList(){ public List<Long> getIdNotList(){
return this.IdNotList; return this.idNotList;
} }
/** /**
* 设置 序号,主键,自增长 * 设置 序号,主键,自增长
* @param IdNotList * @param idNotList
*/ */
public void setIdNotList(List<Long> IdNotList){ public void setIdNotList(List<Long> idNotList){
this.IdNotList = IdNotList; this.idNotList = idNotList;
} }
...@@ -649,55 +649,55 @@ public class PerformPerposeDeptQuery extends PerformPerposeDeptEntity { ...@@ -649,55 +649,55 @@ public class PerformPerposeDeptQuery extends PerformPerposeDeptEntity {
/** /**
* 设置 序号,主键,自增长 * 设置 序号,主键,自增长
* @param Id * @param id
*/ */
public PerformPerposeDeptQuery Id(Long Id){ public PerformPerposeDeptQuery id(Long id){
setId(Id); setId(id);
return this; return this;
} }
/** /**
* 设置 开始 序号,主键,自增长 * 设置 开始 序号,主键,自增长
* @param IdStart * @param idStart
*/ */
public PerformPerposeDeptQuery IdStart(Long IdStart){ public PerformPerposeDeptQuery idStart(Long idStart){
this.IdStart = IdStart; this.idStart = idStart;
return this; return this;
} }
/** /**
* 设置 结束 序号,主键,自增长 * 设置 结束 序号,主键,自增长
* @param IdEnd * @param idEnd
*/ */
public PerformPerposeDeptQuery IdEnd(Long IdEnd){ public PerformPerposeDeptQuery idEnd(Long idEnd){
this.IdEnd = IdEnd; this.idEnd = idEnd;
return this; return this;
} }
/** /**
* 设置 增加 序号,主键,自增长 * 设置 增加 序号,主键,自增长
* @param IdIncrement * @param idIncrement
*/ */
public PerformPerposeDeptQuery IdIncrement(Long IdIncrement){ public PerformPerposeDeptQuery idIncrement(Long idIncrement){
this.IdIncrement = IdIncrement; this.idIncrement = idIncrement;
return this; return this;
} }
/** /**
* 设置 序号,主键,自增长 * 设置 序号,主键,自增长
* @param IdList * @param idList
*/ */
public PerformPerposeDeptQuery IdList(List<Long> IdList){ public PerformPerposeDeptQuery idList(List<Long> idList){
this.IdList = IdList; this.idList = idList;
return this; return this;
} }
/** /**
* 设置 序号,主键,自增长 * 设置 序号,主键,自增长
* @param IdNotList * @param idNotList
*/ */
public PerformPerposeDeptQuery IdNotList(List<Long> IdNotList){ public PerformPerposeDeptQuery idNotList(List<Long> idNotList){
this.IdNotList = IdNotList; this.idNotList = idNotList;
return this; return this;
} }
......
package com.mortals.xhx.module.perform.model; package com.mortals.xhx.module.perform.model;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import cn.hutool.core.date.DateUtil;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel; import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.perform.model.vo.PerformPerposeDeptStatVo; import com.mortals.xhx.module.perform.model.vo.PerformPerposeDeptStatVo;
import lombok.Data; import lombok.Data;
/** /**
* 部门目标统计实体对象 * 部门目标统计实体对象
* *
* @author zxfei * @author zxfei
* @date 2023-05-16 * @date 2023-07-12
*/ */
@Data @Data
public class PerformPerposeDeptStatEntity extends PerformPerposeDeptStatVo { public class PerformPerposeDeptStatEntity extends PerformPerposeDeptStatVo {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -125,10 +128,10 @@ public class PerformPerposeDeptStatEntity extends PerformPerposeDeptStatVo { ...@@ -125,10 +128,10 @@ public class PerformPerposeDeptStatEntity extends PerformPerposeDeptStatVo {
this.remark = ""; this.remark = "";
this.year = -1; this.year = DateUtil.year(new Date());
this.month = -1; this.month = DateUtil.month(new Date())+1;
this.day = -1; this.day = DateUtil.dayOfMonth(new Date());
} }
} }
\ No newline at end of file
...@@ -4,11 +4,11 @@ import java.math.BigDecimal; ...@@ -4,11 +4,11 @@ import java.math.BigDecimal;
import java.util.List; import java.util.List;
import com.mortals.xhx.module.perform.model.PerformPerposeDeptStatEntity; import com.mortals.xhx.module.perform.model.PerformPerposeDeptStatEntity;
/** /**
* 部门目标统计查询对象 * 部门目标统计查询对象
* *
* @author zxfei * @author zxfei
* @date 2023-05-16 * @date 2023-07-12
*/ */
public class PerformPerposeDeptStatQuery extends PerformPerposeDeptStatEntity { public class PerformPerposeDeptStatQuery extends PerformPerposeDeptStatEntity {
/** 开始 主键ID,主键,自增长 */ /** 开始 主键ID,主键,自增长 */
private Long idStart; private Long idStart;
......
package com.mortals.xhx.module.perform.model; package com.mortals.xhx.module.perform.model;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import cn.hutool.core.date.DateUtil;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel; import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
...@@ -111,9 +114,9 @@ public class PerformPerposeEntity extends PerformPerposeVo { ...@@ -111,9 +114,9 @@ public class PerformPerposeEntity extends PerformPerposeVo {
this.periodType = 1; this.periodType = 1;
this.year = -1; this.year = DateUtil.year(new Date());
this.month = -1; this.month =DateUtil.month(new Date())+1;
this.halfYear = 1; this.halfYear = 1;
......
...@@ -7,11 +7,11 @@ import com.mortals.framework.model.BaseEntityLong; ...@@ -7,11 +7,11 @@ import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.perform.model.vo.PerformPerposeStaffVo; import com.mortals.xhx.module.perform.model.vo.PerformPerposeStaffVo;
import lombok.Data; import lombok.Data;
/** /**
* 员工考核目标详细信息实体对象 * 员工考核目标详细信息实体对象
* *
* @author zxfei * @author zxfei
* @date 2023-05-16 * @date 2023-07-12
*/ */
@Data @Data
public class PerformPerposeStaffEntity extends PerformPerposeStaffVo { public class PerformPerposeStaffEntity extends PerformPerposeStaffVo {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
......
...@@ -3,26 +3,26 @@ package com.mortals.xhx.module.perform.model; ...@@ -3,26 +3,26 @@ package com.mortals.xhx.module.perform.model;
import java.util.List; import java.util.List;
import com.mortals.xhx.module.perform.model.PerformPerposeStaffEntity; import com.mortals.xhx.module.perform.model.PerformPerposeStaffEntity;
/** /**
* 员工考核目标详细信息查询对象 * 员工考核目标详细信息查询对象
* *
* @author zxfei * @author zxfei
* @date 2023-05-16 * @date 2023-07-12
*/ */
public class PerformPerposeStaffQuery extends PerformPerposeStaffEntity { public class PerformPerposeStaffQuery extends PerformPerposeStaffEntity {
/** 开始 序号,主键,自增长 */ /** 开始 序号,主键,自增长 */
private Long IdStart; private Long idStart;
/** 结束 序号,主键,自增长 */ /** 结束 序号,主键,自增长 */
private Long IdEnd; private Long idEnd;
/** 增加 序号,主键,自增长 */ /** 增加 序号,主键,自增长 */
private Long IdIncrement; private Long idIncrement;
/** 序号,主键,自增长列表 */ /** 序号,主键,自增长列表 */
private List <Long> IdList; private List <Long> idList;
/** 序号,主键,自增长排除列表 */ /** 序号,主键,自增长排除列表 */
private List <Long> IdNotList; private List <Long> idNotList;
/** 开始 考核目标id */ /** 开始 考核目标id */
private Long purposeConfIdStart; private Long purposeConfIdStart;
...@@ -121,82 +121,82 @@ public class PerformPerposeStaffQuery extends PerformPerposeStaffEntity { ...@@ -121,82 +121,82 @@ public class PerformPerposeStaffQuery extends PerformPerposeStaffEntity {
/** /**
* 获取 开始 序号,主键,自增长 * 获取 开始 序号,主键,自增长
* @return IdStart * @return idStart
*/ */
public Long getIdStart(){ public Long getIdStart(){
return this.IdStart; return this.idStart;
} }
/** /**
* 设置 开始 序号,主键,自增长 * 设置 开始 序号,主键,自增长
* @param IdStart * @param idStart
*/ */
public void setIdStart(Long IdStart){ public void setIdStart(Long idStart){
this.IdStart = IdStart; this.idStart = idStart;
} }
/** /**
* 获取 结束 序号,主键,自增长 * 获取 结束 序号,主键,自增长
* @return $IdEnd * @return $idEnd
*/ */
public Long getIdEnd(){ public Long getIdEnd(){
return this.IdEnd; return this.idEnd;
} }
/** /**
* 设置 结束 序号,主键,自增长 * 设置 结束 序号,主键,自增长
* @param IdEnd * @param idEnd
*/ */
public void setIdEnd(Long IdEnd){ public void setIdEnd(Long idEnd){
this.IdEnd = IdEnd; this.idEnd = idEnd;
} }
/** /**
* 获取 增加 序号,主键,自增长 * 获取 增加 序号,主键,自增长
* @return IdIncrement * @return idIncrement
*/ */
public Long getIdIncrement(){ public Long getIdIncrement(){
return this.IdIncrement; return this.idIncrement;
} }
/** /**
* 设置 增加 序号,主键,自增长 * 设置 增加 序号,主键,自增长
* @param IdIncrement * @param idIncrement
*/ */
public void setIdIncrement(Long IdIncrement){ public void setIdIncrement(Long idIncrement){
this.IdIncrement = IdIncrement; this.idIncrement = idIncrement;
} }
/** /**
* 获取 序号,主键,自增长 * 获取 序号,主键,自增长
* @return IdList * @return idList
*/ */
public List<Long> getIdList(){ public List<Long> getIdList(){
return this.IdList; return this.idList;
} }
/** /**
* 设置 序号,主键,自增长 * 设置 序号,主键,自增长
* @param IdList * @param idList
*/ */
public void setIdList(List<Long> IdList){ public void setIdList(List<Long> idList){
this.IdList = IdList; this.idList = idList;
} }
/** /**
* 获取 序号,主键,自增长 * 获取 序号,主键,自增长
* @return IdNotList * @return idNotList
*/ */
public List<Long> getIdNotList(){ public List<Long> getIdNotList(){
return this.IdNotList; return this.idNotList;
} }
/** /**
* 设置 序号,主键,自增长 * 设置 序号,主键,自增长
* @param IdNotList * @param idNotList
*/ */
public void setIdNotList(List<Long> IdNotList){ public void setIdNotList(List<Long> idNotList){
this.IdNotList = IdNotList; this.idNotList = idNotList;
} }
...@@ -686,55 +686,55 @@ public class PerformPerposeStaffQuery extends PerformPerposeStaffEntity { ...@@ -686,55 +686,55 @@ public class PerformPerposeStaffQuery extends PerformPerposeStaffEntity {
/** /**
* 设置 序号,主键,自增长 * 设置 序号,主键,自增长
* @param Id * @param id
*/ */
public PerformPerposeStaffQuery Id(Long Id){ public PerformPerposeStaffQuery id(Long id){
setId(Id); setId(id);
return this; return this;
} }
/** /**
* 设置 开始 序号,主键,自增长 * 设置 开始 序号,主键,自增长
* @param IdStart * @param idStart
*/ */
public PerformPerposeStaffQuery IdStart(Long IdStart){ public PerformPerposeStaffQuery idStart(Long idStart){
this.IdStart = IdStart; this.idStart = idStart;
return this; return this;
} }
/** /**
* 设置 结束 序号,主键,自增长 * 设置 结束 序号,主键,自增长
* @param IdEnd * @param idEnd
*/ */
public PerformPerposeStaffQuery IdEnd(Long IdEnd){ public PerformPerposeStaffQuery idEnd(Long idEnd){
this.IdEnd = IdEnd; this.idEnd = idEnd;
return this; return this;
} }
/** /**
* 设置 增加 序号,主键,自增长 * 设置 增加 序号,主键,自增长
* @param IdIncrement * @param idIncrement
*/ */
public PerformPerposeStaffQuery IdIncrement(Long IdIncrement){ public PerformPerposeStaffQuery idIncrement(Long idIncrement){
this.IdIncrement = IdIncrement; this.idIncrement = idIncrement;
return this; return this;
} }
/** /**
* 设置 序号,主键,自增长 * 设置 序号,主键,自增长
* @param IdList * @param idList
*/ */
public PerformPerposeStaffQuery IdList(List<Long> IdList){ public PerformPerposeStaffQuery idList(List<Long> idList){
this.IdList = IdList; this.idList = idList;
return this; return this;
} }
/** /**
* 设置 序号,主键,自增长 * 设置 序号,主键,自增长
* @param IdNotList * @param idNotList
*/ */
public PerformPerposeStaffQuery IdNotList(List<Long> IdNotList){ public PerformPerposeStaffQuery idNotList(List<Long> idNotList){
this.IdNotList = IdNotList; this.idNotList = idNotList;
return this; return this;
} }
......
package com.mortals.xhx.module.perform.model; package com.mortals.xhx.module.perform.model;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import cn.hutool.core.date.DateUtil;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel; import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
...@@ -11,7 +14,7 @@ import lombok.Data; ...@@ -11,7 +14,7 @@ import lombok.Data;
* 员工目标统计实体对象 * 员工目标统计实体对象
* *
* @author zxfei * @author zxfei
* @date 2023-07-11 * @date 2023-07-12
*/ */
@Data @Data
public class PerformPerposeStaffStatEntity extends PerformPerposeStaffStatVo { public class PerformPerposeStaffStatEntity extends PerformPerposeStaffStatVo {
...@@ -131,10 +134,10 @@ public class PerformPerposeStaffStatEntity extends PerformPerposeStaffStatVo { ...@@ -131,10 +134,10 @@ public class PerformPerposeStaffStatEntity extends PerformPerposeStaffStatVo {
this.remark = ""; this.remark = "";
this.year = -1; this.year = DateUtil.year(new Date());
this.month = -1; this.month = DateUtil.month(new Date())+1;
this.day = -1; this.day = DateUtil.dayOfMonth(new Date());
} }
} }
\ No newline at end of file
...@@ -7,7 +7,7 @@ import com.mortals.xhx.module.perform.model.PerformPerposeStaffStatEntity; ...@@ -7,7 +7,7 @@ import com.mortals.xhx.module.perform.model.PerformPerposeStaffStatEntity;
* 员工目标统计查询对象 * 员工目标统计查询对象
* *
* @author zxfei * @author zxfei
* @date 2023-07-11 * @date 2023-07-12
*/ */
public class PerformPerposeStaffStatQuery extends PerformPerposeStaffStatEntity { public class PerformPerposeStaffStatQuery extends PerformPerposeStaffStatEntity {
/** 开始 主键ID,主键,自增长 */ /** 开始 主键ID,主键,自增长 */
......
...@@ -4,15 +4,16 @@ import com.mortals.xhx.module.perform.model.PerformPerposeDeptStatEntity; ...@@ -4,15 +4,16 @@ import com.mortals.xhx.module.perform.model.PerformPerposeDeptStatEntity;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import lombok.Data; import lombok.Data;
import com.mortals.framework.annotation.Excel;
import java.math.BigDecimal;
import java.util.Date;
/** /**
* 部门目标统计视图对象 * 部门目标统计视图对象
* *
* @author zxfei * @author zxfei
* @date 2023-05-16 * @date 2023-07-12
*/ */
@Data @Data
public class PerformPerposeDeptStatVo extends BaseEntityLong { public class PerformPerposeDeptStatVo extends BaseEntityLong {
} }
\ No newline at end of file
...@@ -11,7 +11,7 @@ import java.util.Date; ...@@ -11,7 +11,7 @@ import java.util.Date;
* 员工目标统计视图对象 * 员工目标统计视图对象
* *
* @author zxfei * @author zxfei
* @date 2023-07-11 * @date 2023-07-12
*/ */
@Data @Data
public class PerformPerposeStaffStatVo extends BaseEntityLong { public class PerformPerposeStaffStatVo extends BaseEntityLong {
......
package com.mortals.xhx.module.perform.web; package com.mortals.xhx.module.perform.web;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService; import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.base.system.user.model.UserQuery;
import com.mortals.xhx.base.system.user.service.UserService;
import com.mortals.xhx.common.code.AssessmentScopeEnum;
import com.mortals.xhx.module.perform.model.*;
import com.mortals.xhx.module.perform.service.PerformPerposeDeptService;
import com.mortals.xhx.module.perform.service.PerformPerposeStaffService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
...@@ -9,7 +16,6 @@ import com.mortals.framework.model.Context; ...@@ -9,7 +16,6 @@ import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.perform.model.PerformPerposeEntity;
import com.mortals.xhx.module.perform.service.PerformPerposeService; import com.mortals.xhx.module.perform.service.PerformPerposeService;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils; import com.mortals.framework.util.StringUtils;
...@@ -35,6 +41,13 @@ public class PerformPerposeController extends BaseCRUDJsonBodyMappingController< ...@@ -35,6 +41,13 @@ public class PerformPerposeController extends BaseCRUDJsonBodyMappingController<
@Autowired @Autowired
private ParamService paramService; private ParamService paramService;
@Autowired
private UserService userService;
@Autowired
private PerformPerposeStaffService perposeStaffService;
@Autowired
private PerformPerposeDeptService perposeDeptService;
public PerformPerposeController(){ public PerformPerposeController(){
super.setModuleDesc( "考核目标"); super.setModuleDesc( "考核目标");
...@@ -50,8 +63,28 @@ public class PerformPerposeController extends BaseCRUDJsonBodyMappingController< ...@@ -50,8 +63,28 @@ public class PerformPerposeController extends BaseCRUDJsonBodyMappingController<
this.addDict(model, "halfYear", paramService.getParamBySecondOrganize("PerformPerpose","halfYear")); this.addDict(model, "halfYear", paramService.getParamBySecondOrganize("PerformPerpose","halfYear"));
this.addDict(model, "halfYear", paramService.getParamBySecondOrganize("PerformPerpose","halfYear")); this.addDict(model, "halfYear", paramService.getParamBySecondOrganize("PerformPerpose","halfYear"));
this.addDict(model, "quarter", paramService.getParamBySecondOrganize("PerformPerpose","quarter")); this.addDict(model, "quarter", paramService.getParamBySecondOrganize("PerformPerpose","quarter"));
Map<String, String> collect = userService.find(new UserQuery(), getContext()).stream()
.collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getRealName(), (o, n) -> n));
this.addDict(model, "updateUserId", collect);
super.init(model, context); super.init(model, context);
} }
@Override
protected int editAfter(Long id, Map<String, Object> model, PerformPerposeEntity entity, Context context) throws AppException {
if(AssessmentScopeEnum.个人.getValue()==entity.getAssessmentScope()){
List<PerformPerposeStaffEntity> staffEntities = perposeStaffService.find(new PerformPerposeStaffQuery().purposeConfId(entity.getId()));
entity.setPerposeStaffList(staffEntities);
}else if(AssessmentScopeEnum.部门.getValue()==entity.getAssessmentScope()){
List<PerformPerposeDeptEntity> deptEntities = perposeDeptService.find(new PerformPerposeDeptQuery().purposeConfId(entity.getId()));
entity.setPerposeDeptList(deptEntities);
}
return super.editAfter(id, model, entity, context);
}
} }
\ No newline at end of file
...@@ -8,7 +8,7 @@ import java.util.List; ...@@ -8,7 +8,7 @@ import java.util.List;
* 窗口负责人 DAO接口 * 窗口负责人 DAO接口
* *
* @author zxfei * @author zxfei
* @date 2023-05-16 * @date 2023-07-12
*/ */
public interface WindowOwnerDao extends ICRUDDao<WindowOwnerEntity,Long>{ public interface WindowOwnerDao extends ICRUDDao<WindowOwnerEntity,Long>{
......
package com.mortals.xhx.module.window.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.window.model.WindowOwnerDetailEntity;
import java.util.List;
/**
* 窗口负责人详细Dao
* 窗口负责人详细 DAO接口
*
* @author zxfei
* @date 2023-07-12
*/
public interface WindowOwnerDetailDao extends ICRUDDao<WindowOwnerDetailEntity,Long>{
}
...@@ -11,7 +11,7 @@ import java.util.List; ...@@ -11,7 +11,7 @@ import java.util.List;
* 窗口负责人DaoImpl DAO接口 * 窗口负责人DaoImpl DAO接口
* *
* @author zxfei * @author zxfei
* @date 2023-05-16 * @date 2023-07-12
*/ */
@Repository("windowOwnerDao") @Repository("windowOwnerDao")
public class WindowOwnerDaoImpl extends BaseCRUDDaoMybatis<WindowOwnerEntity,Long> implements WindowOwnerDao { public class WindowOwnerDaoImpl extends BaseCRUDDaoMybatis<WindowOwnerEntity,Long> implements WindowOwnerDao {
......
package com.mortals.xhx.module.window.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.window.dao.WindowOwnerDetailDao;
import com.mortals.xhx.module.window.model.WindowOwnerDetailEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 窗口负责人详细DaoImpl DAO接口
*
* @author zxfei
* @date 2023-07-12
*/
@Repository("windowOwnerDetailDao")
public class WindowOwnerDetailDaoImpl extends BaseCRUDDaoMybatis<WindowOwnerDetailEntity,Long> implements WindowOwnerDetailDao {
}
package com.mortals.xhx.module.window.model;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.window.model.vo.WindowOwnerDetailVo;
import lombok.Data;
/**
* 窗口负责人详细实体对象
*
* @author zxfei
* @date 2023-07-12
*/
@Data
public class WindowOwnerDetailEntity extends WindowOwnerDetailVo {
private static final long serialVersionUID = 1L;
/**
* 负责人Id
*/
private Long ownerId;
/**
* 员工id号
*/
private Long staffId;
/**
* 备注
*/
private String remark;
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof WindowOwnerDetailEntity) {
WindowOwnerDetailEntity tmp = (WindowOwnerDetailEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public void initAttrValue(){
this.ownerId = 0L;
this.staffId = 0L;
this.remark = "";
}
}
\ No newline at end of file
package com.mortals.xhx.module.window.model;
import java.util.List;
import com.mortals.xhx.module.window.model.WindowOwnerDetailEntity;
/**
* 窗口负责人详细查询对象
*
* @author zxfei
* @date 2023-07-12
*/
public class WindowOwnerDetailQuery extends WindowOwnerDetailEntity {
/** 开始 序号,主键,自增长 */
private Long idStart;
/** 结束 序号,主键,自增长 */
private Long idEnd;
/** 增加 序号,主键,自增长 */
private Long idIncrement;
/** 序号,主键,自增长列表 */
private List <Long> idList;
/** 序号,主键,自增长排除列表 */
private List <Long> idNotList;
/** 开始 负责人Id */
private Long ownerIdStart;
/** 结束 负责人Id */
private Long ownerIdEnd;
/** 增加 负责人Id */
private Long ownerIdIncrement;
/** 负责人Id列表 */
private List <Long> ownerIdList;
/** 负责人Id排除列表 */
private List <Long> ownerIdNotList;
/** 开始 员工id号 */
private Long staffIdStart;
/** 结束 员工id号 */
private Long staffIdEnd;
/** 增加 员工id号 */
private Long staffIdIncrement;
/** 员工id号列表 */
private List <Long> staffIdList;
/** 员工id号排除列表 */
private List <Long> staffIdNotList;
/** 备注 */
private List<String> remarkList;
/** 备注排除列表 */
private List <String> remarkNotList;
/** 开始 创建时间 */
private String createTimeStart;
/** 结束 创建时间 */
private String createTimeEnd;
/** 开始 创建用户 */
private Long createUserIdStart;
/** 结束 创建用户 */
private Long createUserIdEnd;
/** 增加 创建用户 */
private Long createUserIdIncrement;
/** 创建用户列表 */
private List <Long> createUserIdList;
/** 创建用户排除列表 */
private List <Long> createUserIdNotList;
/** 开始 更新用户 */
private Long updateUserIdStart;
/** 结束 更新用户 */
private Long updateUserIdEnd;
/** 增加 更新用户 */
private Long updateUserIdIncrement;
/** 更新用户列表 */
private List <Long> updateUserIdList;
/** 更新用户排除列表 */
private List <Long> updateUserIdNotList;
/** 开始 修改时间 */
private String updateTimeStart;
/** 结束 修改时间 */
private String updateTimeEnd;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<WindowOwnerDetailQuery> orConditionList;
/** AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4) */
private List<WindowOwnerDetailQuery> andConditionList;
public WindowOwnerDetailQuery(){}
/**
* 获取 开始 序号,主键,自增长
* @return idStart
*/
public Long getIdStart(){
return this.idStart;
}
/**
* 设置 开始 序号,主键,自增长
* @param idStart
*/
public void setIdStart(Long idStart){
this.idStart = idStart;
}
/**
* 获取 结束 序号,主键,自增长
* @return $idEnd
*/
public Long getIdEnd(){
return this.idEnd;
}
/**
* 设置 结束 序号,主键,自增长
* @param idEnd
*/
public void setIdEnd(Long idEnd){
this.idEnd = idEnd;
}
/**
* 获取 增加 序号,主键,自增长
* @return idIncrement
*/
public Long getIdIncrement(){
return this.idIncrement;
}
/**
* 设置 增加 序号,主键,自增长
* @param idIncrement
*/
public void setIdIncrement(Long idIncrement){
this.idIncrement = idIncrement;
}
/**
* 获取 序号,主键,自增长
* @return idList
*/
public List<Long> getIdList(){
return this.idList;
}
/**
* 设置 序号,主键,自增长
* @param idList
*/
public void setIdList(List<Long> idList){
this.idList = idList;
}
/**
* 获取 序号,主键,自增长
* @return idNotList
*/
public List<Long> getIdNotList(){
return this.idNotList;
}
/**
* 设置 序号,主键,自增长
* @param idNotList
*/
public void setIdNotList(List<Long> idNotList){
this.idNotList = idNotList;
}
/**
* 获取 开始 负责人Id
* @return ownerIdStart
*/
public Long getOwnerIdStart(){
return this.ownerIdStart;
}
/**
* 设置 开始 负责人Id
* @param ownerIdStart
*/
public void setOwnerIdStart(Long ownerIdStart){
this.ownerIdStart = ownerIdStart;
}
/**
* 获取 结束 负责人Id
* @return $ownerIdEnd
*/
public Long getOwnerIdEnd(){
return this.ownerIdEnd;
}
/**
* 设置 结束 负责人Id
* @param ownerIdEnd
*/
public void setOwnerIdEnd(Long ownerIdEnd){
this.ownerIdEnd = ownerIdEnd;
}
/**
* 获取 增加 负责人Id
* @return ownerIdIncrement
*/
public Long getOwnerIdIncrement(){
return this.ownerIdIncrement;
}
/**
* 设置 增加 负责人Id
* @param ownerIdIncrement
*/
public void setOwnerIdIncrement(Long ownerIdIncrement){
this.ownerIdIncrement = ownerIdIncrement;
}
/**
* 获取 负责人Id
* @return ownerIdList
*/
public List<Long> getOwnerIdList(){
return this.ownerIdList;
}
/**
* 设置 负责人Id
* @param ownerIdList
*/
public void setOwnerIdList(List<Long> ownerIdList){
this.ownerIdList = ownerIdList;
}
/**
* 获取 负责人Id
* @return ownerIdNotList
*/
public List<Long> getOwnerIdNotList(){
return this.ownerIdNotList;
}
/**
* 设置 负责人Id
* @param ownerIdNotList
*/
public void setOwnerIdNotList(List<Long> ownerIdNotList){
this.ownerIdNotList = ownerIdNotList;
}
/**
* 获取 开始 员工id号
* @return staffIdStart
*/
public Long getStaffIdStart(){
return this.staffIdStart;
}
/**
* 设置 开始 员工id号
* @param staffIdStart
*/
public void setStaffIdStart(Long staffIdStart){
this.staffIdStart = staffIdStart;
}
/**
* 获取 结束 员工id号
* @return $staffIdEnd
*/
public Long getStaffIdEnd(){
return this.staffIdEnd;
}
/**
* 设置 结束 员工id号
* @param staffIdEnd
*/
public void setStaffIdEnd(Long staffIdEnd){
this.staffIdEnd = staffIdEnd;
}
/**
* 获取 增加 员工id号
* @return staffIdIncrement
*/
public Long getStaffIdIncrement(){
return this.staffIdIncrement;
}
/**
* 设置 增加 员工id号
* @param staffIdIncrement
*/
public void setStaffIdIncrement(Long staffIdIncrement){
this.staffIdIncrement = staffIdIncrement;
}
/**
* 获取 员工id号
* @return staffIdList
*/
public List<Long> getStaffIdList(){
return this.staffIdList;
}
/**
* 设置 员工id号
* @param staffIdList
*/
public void setStaffIdList(List<Long> staffIdList){
this.staffIdList = staffIdList;
}
/**
* 获取 员工id号
* @return staffIdNotList
*/
public List<Long> getStaffIdNotList(){
return this.staffIdNotList;
}
/**
* 设置 员工id号
* @param staffIdNotList
*/
public void setStaffIdNotList(List<Long> staffIdNotList){
this.staffIdNotList = staffIdNotList;
}
/**
* 获取 备注
* @return remarkList
*/
public List<String> getRemarkList(){
return this.remarkList;
}
/**
* 设置 备注
* @param remarkList
*/
public void setRemarkList(List<String> remarkList){
this.remarkList = remarkList;
}
/**
* 获取 备注
* @return remarkNotList
*/
public List<String> getRemarkNotList(){
return this.remarkNotList;
}
/**
* 设置 备注
* @param remarkNotList
*/
public void setRemarkNotList(List<String> remarkNotList){
this.remarkNotList = remarkNotList;
}
/**
* 获取 开始 创建时间
* @return createTimeStart
*/
public String getCreateTimeStart(){
return this.createTimeStart;
}
/**
* 设置 开始 创建时间
* @param createTimeStart
*/
public void setCreateTimeStart(String createTimeStart){
this.createTimeStart = createTimeStart;
}
/**
* 获取 结束 创建时间
* @return createTimeEnd
*/
public String getCreateTimeEnd(){
return this.createTimeEnd;
}
/**
* 设置 结束 创建时间
* @param createTimeEnd
*/
public void setCreateTimeEnd(String createTimeEnd){
this.createTimeEnd = createTimeEnd;
}
/**
* 获取 开始 创建用户
* @return createUserIdStart
*/
public Long getCreateUserIdStart(){
return this.createUserIdStart;
}
/**
* 设置 开始 创建用户
* @param createUserIdStart
*/
public void setCreateUserIdStart(Long createUserIdStart){
this.createUserIdStart = createUserIdStart;
}
/**
* 获取 结束 创建用户
* @return $createUserIdEnd
*/
public Long getCreateUserIdEnd(){
return this.createUserIdEnd;
}
/**
* 设置 结束 创建用户
* @param createUserIdEnd
*/
public void setCreateUserIdEnd(Long createUserIdEnd){
this.createUserIdEnd = createUserIdEnd;
}
/**
* 获取 增加 创建用户
* @return createUserIdIncrement
*/
public Long getCreateUserIdIncrement(){
return this.createUserIdIncrement;
}
/**
* 设置 增加 创建用户
* @param createUserIdIncrement
*/
public void setCreateUserIdIncrement(Long createUserIdIncrement){
this.createUserIdIncrement = createUserIdIncrement;
}
/**
* 获取 创建用户
* @return createUserIdList
*/
public List<Long> getCreateUserIdList(){
return this.createUserIdList;
}
/**
* 设置 创建用户
* @param createUserIdList
*/
public void setCreateUserIdList(List<Long> createUserIdList){
this.createUserIdList = createUserIdList;
}
/**
* 获取 创建用户
* @return createUserIdNotList
*/
public List<Long> getCreateUserIdNotList(){
return this.createUserIdNotList;
}
/**
* 设置 创建用户
* @param createUserIdNotList
*/
public void setCreateUserIdNotList(List<Long> createUserIdNotList){
this.createUserIdNotList = createUserIdNotList;
}
/**
* 获取 开始 更新用户
* @return updateUserIdStart
*/
public Long getUpdateUserIdStart(){
return this.updateUserIdStart;
}
/**
* 设置 开始 更新用户
* @param updateUserIdStart
*/
public void setUpdateUserIdStart(Long updateUserIdStart){
this.updateUserIdStart = updateUserIdStart;
}
/**
* 获取 结束 更新用户
* @return $updateUserIdEnd
*/
public Long getUpdateUserIdEnd(){
return this.updateUserIdEnd;
}
/**
* 设置 结束 更新用户
* @param updateUserIdEnd
*/
public void setUpdateUserIdEnd(Long updateUserIdEnd){
this.updateUserIdEnd = updateUserIdEnd;
}
/**
* 获取 增加 更新用户
* @return updateUserIdIncrement
*/
public Long getUpdateUserIdIncrement(){
return this.updateUserIdIncrement;
}
/**
* 设置 增加 更新用户
* @param updateUserIdIncrement
*/
public void setUpdateUserIdIncrement(Long updateUserIdIncrement){
this.updateUserIdIncrement = updateUserIdIncrement;
}
/**
* 获取 更新用户
* @return updateUserIdList
*/
public List<Long> getUpdateUserIdList(){
return this.updateUserIdList;
}
/**
* 设置 更新用户
* @param updateUserIdList
*/
public void setUpdateUserIdList(List<Long> updateUserIdList){
this.updateUserIdList = updateUserIdList;
}
/**
* 获取 更新用户
* @return updateUserIdNotList
*/
public List<Long> getUpdateUserIdNotList(){
return this.updateUserIdNotList;
}
/**
* 设置 更新用户
* @param updateUserIdNotList
*/
public void setUpdateUserIdNotList(List<Long> updateUserIdNotList){
this.updateUserIdNotList = updateUserIdNotList;
}
/**
* 获取 开始 修改时间
* @return updateTimeStart
*/
public String getUpdateTimeStart(){
return this.updateTimeStart;
}
/**
* 设置 开始 修改时间
* @param updateTimeStart
*/
public void setUpdateTimeStart(String updateTimeStart){
this.updateTimeStart = updateTimeStart;
}
/**
* 获取 结束 修改时间
* @return updateTimeEnd
*/
public String getUpdateTimeEnd(){
return this.updateTimeEnd;
}
/**
* 设置 结束 修改时间
* @param updateTimeEnd
*/
public void setUpdateTimeEnd(String updateTimeEnd){
this.updateTimeEnd = updateTimeEnd;
}
/**
* 设置 序号,主键,自增长
* @param id
*/
public WindowOwnerDetailQuery id(Long id){
setId(id);
return this;
}
/**
* 设置 开始 序号,主键,自增长
* @param idStart
*/
public WindowOwnerDetailQuery idStart(Long idStart){
this.idStart = idStart;
return this;
}
/**
* 设置 结束 序号,主键,自增长
* @param idEnd
*/
public WindowOwnerDetailQuery idEnd(Long idEnd){
this.idEnd = idEnd;
return this;
}
/**
* 设置 增加 序号,主键,自增长
* @param idIncrement
*/
public WindowOwnerDetailQuery idIncrement(Long idIncrement){
this.idIncrement = idIncrement;
return this;
}
/**
* 设置 序号,主键,自增长
* @param idList
*/
public WindowOwnerDetailQuery idList(List<Long> idList){
this.idList = idList;
return this;
}
/**
* 设置 序号,主键,自增长
* @param idNotList
*/
public WindowOwnerDetailQuery idNotList(List<Long> idNotList){
this.idNotList = idNotList;
return this;
}
/**
* 设置 负责人Id
* @param ownerId
*/
public WindowOwnerDetailQuery ownerId(Long ownerId){
setOwnerId(ownerId);
return this;
}
/**
* 设置 开始 负责人Id
* @param ownerIdStart
*/
public WindowOwnerDetailQuery ownerIdStart(Long ownerIdStart){
this.ownerIdStart = ownerIdStart;
return this;
}
/**
* 设置 结束 负责人Id
* @param ownerIdEnd
*/
public WindowOwnerDetailQuery ownerIdEnd(Long ownerIdEnd){
this.ownerIdEnd = ownerIdEnd;
return this;
}
/**
* 设置 增加 负责人Id
* @param ownerIdIncrement
*/
public WindowOwnerDetailQuery ownerIdIncrement(Long ownerIdIncrement){
this.ownerIdIncrement = ownerIdIncrement;
return this;
}
/**
* 设置 负责人Id
* @param ownerIdList
*/
public WindowOwnerDetailQuery ownerIdList(List<Long> ownerIdList){
this.ownerIdList = ownerIdList;
return this;
}
/**
* 设置 负责人Id
* @param ownerIdNotList
*/
public WindowOwnerDetailQuery ownerIdNotList(List<Long> ownerIdNotList){
this.ownerIdNotList = ownerIdNotList;
return this;
}
/**
* 设置 员工id号
* @param staffId
*/
public WindowOwnerDetailQuery staffId(Long staffId){
setStaffId(staffId);
return this;
}
/**
* 设置 开始 员工id号
* @param staffIdStart
*/
public WindowOwnerDetailQuery staffIdStart(Long staffIdStart){
this.staffIdStart = staffIdStart;
return this;
}
/**
* 设置 结束 员工id号
* @param staffIdEnd
*/
public WindowOwnerDetailQuery staffIdEnd(Long staffIdEnd){
this.staffIdEnd = staffIdEnd;
return this;
}
/**
* 设置 增加 员工id号
* @param staffIdIncrement
*/
public WindowOwnerDetailQuery staffIdIncrement(Long staffIdIncrement){
this.staffIdIncrement = staffIdIncrement;
return this;
}
/**
* 设置 员工id号
* @param staffIdList
*/
public WindowOwnerDetailQuery staffIdList(List<Long> staffIdList){
this.staffIdList = staffIdList;
return this;
}
/**
* 设置 员工id号
* @param staffIdNotList
*/
public WindowOwnerDetailQuery staffIdNotList(List<Long> staffIdNotList){
this.staffIdNotList = staffIdNotList;
return this;
}
/**
* 设置 备注
* @param remark
*/
public WindowOwnerDetailQuery remark(String remark){
setRemark(remark);
return this;
}
/**
* 设置 备注
* @param remarkList
*/
public WindowOwnerDetailQuery remarkList(List<String> remarkList){
this.remarkList = remarkList;
return this;
}
/**
* 设置 创建用户
* @param createUserId
*/
public WindowOwnerDetailQuery createUserId(Long createUserId){
setCreateUserId(createUserId);
return this;
}
/**
* 设置 开始 创建用户
* @param createUserIdStart
*/
public WindowOwnerDetailQuery createUserIdStart(Long createUserIdStart){
this.createUserIdStart = createUserIdStart;
return this;
}
/**
* 设置 结束 创建用户
* @param createUserIdEnd
*/
public WindowOwnerDetailQuery createUserIdEnd(Long createUserIdEnd){
this.createUserIdEnd = createUserIdEnd;
return this;
}
/**
* 设置 增加 创建用户
* @param createUserIdIncrement
*/
public WindowOwnerDetailQuery createUserIdIncrement(Long createUserIdIncrement){
this.createUserIdIncrement = createUserIdIncrement;
return this;
}
/**
* 设置 创建用户
* @param createUserIdList
*/
public WindowOwnerDetailQuery createUserIdList(List<Long> createUserIdList){
this.createUserIdList = createUserIdList;
return this;
}
/**
* 设置 创建用户
* @param createUserIdNotList
*/
public WindowOwnerDetailQuery createUserIdNotList(List<Long> createUserIdNotList){
this.createUserIdNotList = createUserIdNotList;
return this;
}
/**
* 设置 更新用户
* @param updateUserId
*/
public WindowOwnerDetailQuery updateUserId(Long updateUserId){
setUpdateUserId(updateUserId);
return this;
}
/**
* 设置 开始 更新用户
* @param updateUserIdStart
*/
public WindowOwnerDetailQuery updateUserIdStart(Long updateUserIdStart){
this.updateUserIdStart = updateUserIdStart;
return this;
}
/**
* 设置 结束 更新用户
* @param updateUserIdEnd
*/
public WindowOwnerDetailQuery updateUserIdEnd(Long updateUserIdEnd){
this.updateUserIdEnd = updateUserIdEnd;
return this;
}
/**
* 设置 增加 更新用户
* @param updateUserIdIncrement
*/
public WindowOwnerDetailQuery updateUserIdIncrement(Long updateUserIdIncrement){
this.updateUserIdIncrement = updateUserIdIncrement;
return this;
}
/**
* 设置 更新用户
* @param updateUserIdList
*/
public WindowOwnerDetailQuery updateUserIdList(List<Long> updateUserIdList){
this.updateUserIdList = updateUserIdList;
return this;
}
/**
* 设置 更新用户
* @param updateUserIdNotList
*/
public WindowOwnerDetailQuery updateUserIdNotList(List<Long> updateUserIdNotList){
this.updateUserIdNotList = updateUserIdNotList;
return this;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
*/
public List<WindowOwnerDetailQuery> getOrConditionList(){
return this.orConditionList;
}
/**
* 设置 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @param orConditionList
*/
public void setOrConditionList(List<WindowOwnerDetailQuery> orConditionList){
this.orConditionList = orConditionList;
}
/**
* 获取 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @return andConditionList
*/
public List<WindowOwnerDetailQuery> getAndConditionList(){
return this.andConditionList;
}
/**
* 设置 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @param andConditionList
*/
public void setAndConditionList(List<WindowOwnerDetailQuery> andConditionList){
this.andConditionList = andConditionList;
}
}
\ No newline at end of file
package com.mortals.xhx.module.window.model; package com.mortals.xhx.module.window.model;
import java.util.List; import java.util.List;
import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel; import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.window.model.vo.WindowOwnerVo; import com.mortals.xhx.module.window.model.vo.WindowOwnerVo;
import com.mortals.xhx.module.window.model.WindowOwnerDetailEntity;
import lombok.Data; import lombok.Data;
/** /**
* 窗口负责人实体对象 * 窗口负责人实体对象
* *
* @author zxfei * @author zxfei
* @date 2023-05-16 * @date 2023-07-12
*/ */
@Data @Data
public class WindowOwnerEntity extends WindowOwnerVo { public class WindowOwnerEntity extends WindowOwnerVo {
...@@ -44,6 +46,17 @@ public class WindowOwnerEntity extends WindowOwnerVo { ...@@ -44,6 +46,17 @@ public class WindowOwnerEntity extends WindowOwnerVo {
* 备注 * 备注
*/ */
private String remark; private String remark;
/**
* 窗口负责人详细信息
*/
private List<WindowOwnerDetailEntity> windowOwnerDetailList=new ArrayList<>();;
public List<WindowOwnerDetailEntity> getWindowOwnerDetailList(){
return windowOwnerDetailList;
}
public void setWindowOwnerDetailList(List<WindowOwnerDetailEntity> windowOwnerDetailList){
this.windowOwnerDetailList = windowOwnerDetailList;
}
@Override @Override
public int hashCode() { public int hashCode() {
return this.getId().hashCode(); return this.getId().hashCode();
......
package com.mortals.xhx.module.window.model; package com.mortals.xhx.module.window.model;
import java.util.List;
import java.util.List; import java.util.List;
import com.mortals.xhx.module.window.model.WindowOwnerEntity; import com.mortals.xhx.module.window.model.WindowOwnerEntity;
/** /**
* 窗口负责人查询对象 * 窗口负责人查询对象
* *
* @author zxfei * @author zxfei
* @date 2023-05-16 * @date 2023-07-12
*/ */
public class WindowOwnerQuery extends WindowOwnerEntity { public class WindowOwnerQuery extends WindowOwnerEntity {
/** 开始 序号,主键,自增长 */ /** 开始 序号,主键,自增长 */
......
package com.mortals.xhx.module.window.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.window.model.WindowOwnerDetailEntity;
import java.util.ArrayList;
import java.util.List;
import lombok.Data;
import com.mortals.framework.annotation.Excel;
import java.math.BigDecimal;
import java.util.Date;
/**
* 窗口负责人详细视图对象
*
* @author zxfei
* @date 2023-07-12
*/
@Data
public class WindowOwnerDetailVo extends BaseEntityLong {
}
\ No newline at end of file
...@@ -4,15 +4,16 @@ import com.mortals.xhx.module.window.model.WindowOwnerEntity; ...@@ -4,15 +4,16 @@ import com.mortals.xhx.module.window.model.WindowOwnerEntity;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import lombok.Data; import lombok.Data;
import com.mortals.framework.annotation.Excel;
import java.math.BigDecimal;
import java.util.Date;
/** /**
* 窗口负责人视图对象 * 窗口负责人视图对象
* *
* @author zxfei * @author zxfei
* @date 2023-05-16 * @date 2023-07-12
*/ */
@Data @Data
public class WindowOwnerVo extends BaseEntityLong { public class WindowOwnerVo extends BaseEntityLong {
} }
\ No newline at end of file
package com.mortals.xhx.module.window.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.window.model.WindowOwnerDetailEntity;
import com.mortals.xhx.module.window.dao.WindowOwnerDetailDao;
/**
* WindowOwnerDetailService
*
* 窗口负责人详细 service接口
*
* @author zxfei
* @date 2023-07-12
*/
public interface WindowOwnerDetailService extends ICRUDService<WindowOwnerDetailEntity,Long>{
WindowOwnerDetailDao getDao();
}
\ No newline at end of file
...@@ -8,7 +8,7 @@ import com.mortals.xhx.module.window.dao.WindowOwnerDao; ...@@ -8,7 +8,7 @@ import com.mortals.xhx.module.window.dao.WindowOwnerDao;
* 窗口负责人 service接口 * 窗口负责人 service接口
* *
* @author zxfei * @author zxfei
* @date 2023-05-16 * @date 2023-07-12
*/ */
public interface WindowOwnerService extends ICRUDService<WindowOwnerEntity,Long>{ public interface WindowOwnerService extends ICRUDService<WindowOwnerEntity,Long>{
......
package com.mortals.xhx.module.window.service.impl;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.window.dao.WindowOwnerDetailDao;
import com.mortals.xhx.module.window.model.WindowOwnerDetailEntity;
import com.mortals.xhx.module.window.service.WindowOwnerDetailService;
import lombok.extern.slf4j.Slf4j;
/**
* WindowOwnerDetailService
* 窗口负责人详细 service实现
*
* @author zxfei
* @date 2023-07-12
*/
@Service("windowOwnerDetailService")
@Slf4j
public class WindowOwnerDetailServiceImpl extends AbstractCRUDServiceImpl<WindowOwnerDetailDao, WindowOwnerDetailEntity, Long> implements WindowOwnerDetailService {
}
\ No newline at end of file
package com.mortals.xhx.module.window.service.impl; package com.mortals.xhx.module.window.service.impl;
import com.mortals.xhx.module.dept.model.DeptEntity;
import com.mortals.xhx.module.dept.service.DeptService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException; import com.mortals.framework.exception.AppException;
...@@ -6,16 +8,69 @@ import com.mortals.framework.model.Context; ...@@ -6,16 +8,69 @@ import com.mortals.framework.model.Context;
import com.mortals.xhx.module.window.dao.WindowOwnerDao; import com.mortals.xhx.module.window.dao.WindowOwnerDao;
import com.mortals.xhx.module.window.model.WindowOwnerEntity; import com.mortals.xhx.module.window.model.WindowOwnerEntity;
import com.mortals.xhx.module.window.service.WindowOwnerService; import com.mortals.xhx.module.window.service.WindowOwnerService;
import org.springframework.beans.factory.annotation.Autowired;
import com.mortals.xhx.module.window.model.WindowOwnerDetailEntity;
import com.mortals.xhx.module.window.model.WindowOwnerDetailQuery;
import com.mortals.xhx.module.window.service.WindowOwnerDetailService;
import org.springframework.util.ObjectUtils;
import java.util.Date;
import java.util.Arrays;
import java.util.List;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
/** /**
* WindowOwnerService * WindowOwnerService
* 窗口负责人 service实现 * 窗口负责人 service实现
* *
* @author zxfei * @author zxfei
* @date 2023-05-16 * @date 2023-07-12
*/ */
@Service("windowOwnerService") @Service("windowOwnerService")
@Slf4j @Slf4j
public class WindowOwnerServiceImpl extends AbstractCRUDServiceImpl<WindowOwnerDao, WindowOwnerEntity, Long> implements WindowOwnerService { public class WindowOwnerServiceImpl extends AbstractCRUDServiceImpl<WindowOwnerDao, WindowOwnerEntity, Long> implements WindowOwnerService {
@Autowired
private WindowOwnerDetailService windowOwnerDetailService;
@Autowired
private DeptService deptService;
@Override
protected void saveAfter(WindowOwnerEntity entity, Context context) throws AppException {
if(!ObjectUtils.isEmpty(entity.getWindowOwnerDetailList())){
entity.getWindowOwnerDetailList().stream().peek(item->{
item.setOwnerId(entity.getId());
item.setCreateUserId(this.getContextUserId(context));
item.setCreateTime(new Date());
}).count();
DeptEntity deptEntity = deptService.get(entity.getId());
entity.setDeptName(deptEntity==null?"":deptEntity.getDeptName());
entity.setNumber(entity.getWindowOwnerDetailList().size()+"");
windowOwnerDetailService.save(entity.getWindowOwnerDetailList());
}
super.saveAfter(entity, context);
}
@Override
protected void updateAfter(WindowOwnerEntity entity, Context context) throws AppException {
if(!ObjectUtils.isEmpty(entity.getWindowOwnerDetailList())){
Long[] windowOwnerDetailIds = windowOwnerDetailService.find(new WindowOwnerDetailQuery().ownerId(entity.getId())).stream().map(WindowOwnerDetailEntity::getId).toArray(Long[]::new);
windowOwnerDetailService.remove(windowOwnerDetailIds,context);
entity.getWindowOwnerDetailList().stream().peek(item ->{
item.setOwnerId(entity.getId());
item.setCreateUserId(this.getContextUserId(context));
item.setCreateTime(new Date());
item.setUpdateUserId(this.getContextUserId(context));
item.setUpdateTime(new Date());
}).count();
entity.setNumber(entity.getWindowOwnerDetailList().size()+"");
windowOwnerDetailService.save(entity.getWindowOwnerDetailList());
}
super.updateAfter(entity, context);
}
@Override
protected void removeAfter(Long[] ids, Context context, int result) throws AppException {
List<WindowOwnerDetailEntity> windowOwnerDetaillist = windowOwnerDetailService.find(new WindowOwnerDetailQuery().ownerIdList(Arrays.asList(ids)));
windowOwnerDetailService.removeList(windowOwnerDetaillist,context);
super.removeAfter(ids, context, result);
}
} }
\ No newline at end of file
package com.mortals.xhx.module.window.web; package com.mortals.xhx.module.window.web;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService; import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.base.system.user.model.UserQuery;
import com.mortals.xhx.base.system.user.service.UserService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context; import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.window.model.WindowOwnerEntity; import com.mortals.xhx.module.window.model.WindowOwnerEntity;
import com.mortals.xhx.module.window.service.WindowOwnerService; import com.mortals.xhx.module.window.service.WindowOwnerService;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils; import com.mortals.framework.util.StringUtils;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import java.util.Arrays; import java.util.Arrays;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*; import static com.mortals.framework.ap.SysConstains.*;
/** /**
* * 窗口负责人
* 窗口负责人 *
* * @author zxfei
* @author zxfei * @date 2023-07-12
* @date 2023-05-16 */
*/
@RestController @RestController
@RequestMapping("window/owner") @RequestMapping("window/owner")
public class WindowOwnerController extends BaseCRUDJsonBodyMappingController<WindowOwnerService,WindowOwnerEntity,Long> { public class WindowOwnerController extends BaseCRUDJsonBodyMappingController<WindowOwnerService, WindowOwnerEntity, Long> {
@Autowired @Autowired
private ParamService paramService; private ParamService paramService;
@Autowired
private UserService userService;
public WindowOwnerController(){ public WindowOwnerController() {
super.setModuleDesc( "窗口负责人"); super.setModuleDesc("窗口负责人");
} }
@Override @Override
protected void init(Map<String, Object> model, Context context) { protected void init(Map<String, Object> model, Context context) {
Map<String, String> collect = userService.find(new UserQuery(), getContext()).stream()
.collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getRealName(), (o, n) -> n));
this.addDict(model, "updateUserId", collect);
super.init(model, context); super.init(model, context);
} }
......
package com.mortals.xhx.module.window.web;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.window.model.WindowOwnerDetailEntity;
import com.mortals.xhx.module.window.service.WindowOwnerDetailService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
/**
*
* 窗口负责人详细
*
* @author zxfei
* @date 2023-07-12
*/
@RestController
@RequestMapping("window/owner/detail")
public class WindowOwnerDetailController extends BaseCRUDJsonBodyMappingController<WindowOwnerDetailService,WindowOwnerDetailEntity,Long> {
@Autowired
private ParamService paramService;
public WindowOwnerDetailController(){
super.setModuleDesc( "窗口负责人详细");
}
@Override
protected void init(Map<String, Object> model, Context context) {
super.init(model, context);
}
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd"> "mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.perform.dao.ibatis.PerformPerposeDeptDaoImpl"> <mapper namespace="com.mortals.xhx.module.perform.dao.ibatis.PerformPerposeDeptDaoImpl">
<!-- 字段和属性映射 --> <!-- 字段和属性映射 -->
<resultMap type="PerformPerposeDeptEntity" id="PerformPerposeDeptEntity-Map"> <resultMap type="PerformPerposeDeptEntity" id="PerformPerposeDeptEntity-Map">
<id property="Id" column="Id" /> <id property="id" column="id" />
<result property="purposeConfId" column="purposeConfId" /> <result property="purposeConfId" column="purposeConfId" />
<result property="deptId" column="deptId" /> <result property="deptId" column="deptId" />
<result property="deptName" column="deptName" /> <result property="deptName" column="deptName" />
...@@ -21,8 +21,8 @@ ...@@ -21,8 +21,8 @@
<!-- 表所有列 --> <!-- 表所有列 -->
<sql id="_columns"> <sql id="_columns">
<trim suffixOverrides="," suffix=""> <trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('Id') or colPickMode == 1 and data.containsKey('Id')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.Id, a.id,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('purposeConfId') or colPickMode == 1 and data.containsKey('purposeConfId')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('purposeConfId') or colPickMode == 1 and data.containsKey('purposeConfId')))">
a.purposeConfId, a.purposeConfId,
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
</trim> </trim>
</sql> </sql>
<!-- 新增 区分主键自增加还是业务插入 --> <!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="PerformPerposeDeptEntity" useGeneratedKeys="true" keyProperty="Id"> <insert id="insert" parameterType="PerformPerposeDeptEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_perform_perpose_dept insert into mortals_xhx_perform_perpose_dept
(purposeConfId,deptId,deptName,remark,createUserId,createTime,updateUserId,updateTime) (purposeConfId,deptId,deptName,remark,createUserId,createTime,updateUserId,updateTime)
VALUES VALUES
...@@ -126,10 +126,10 @@ ...@@ -126,10 +126,10 @@
<foreach collection="data.dataList" item="item" index="index" separator="" > <foreach collection="data.dataList" item="item" index="index" separator="" >
<choose> <choose>
<when test="(colPickMode==0 and item.containsKey('purposeConfId')) or (colPickMode==1 and !item.containsKey('purposeConfId'))"> <when test="(colPickMode==0 and item.containsKey('purposeConfId')) or (colPickMode==1 and !item.containsKey('purposeConfId'))">
when a.Id=#{item.Id} then #{item.purposeConfId} when a.id=#{item.id} then #{item.purposeConfId}
</when> </when>
<when test="(colPickMode==0 and item.containsKey('purposeConfIdIncrement')) or (colPickMode==1 and !item.containsKey('purposeConfIdIncrement'))"> <when test="(colPickMode==0 and item.containsKey('purposeConfIdIncrement')) or (colPickMode==1 and !item.containsKey('purposeConfIdIncrement'))">
when a.Id=#{item.Id} then ifnull(a.purposeConfId,0) + #{item.purposeConfIdIncrement} when a.id=#{item.id} then ifnull(a.purposeConfId,0) + #{item.purposeConfIdIncrement}
</when> </when>
</choose> </choose>
</foreach> </foreach>
...@@ -138,10 +138,10 @@ ...@@ -138,10 +138,10 @@
<foreach collection="data.dataList" item="item" index="index" separator="" > <foreach collection="data.dataList" item="item" index="index" separator="" >
<choose> <choose>
<when test="(colPickMode==0 and item.containsKey('deptId')) or (colPickMode==1 and !item.containsKey('deptId'))"> <when test="(colPickMode==0 and item.containsKey('deptId')) or (colPickMode==1 and !item.containsKey('deptId'))">
when a.Id=#{item.Id} then #{item.deptId} when a.id=#{item.id} then #{item.deptId}
</when> </when>
<when test="(colPickMode==0 and item.containsKey('deptIdIncrement')) or (colPickMode==1 and !item.containsKey('deptIdIncrement'))"> <when test="(colPickMode==0 and item.containsKey('deptIdIncrement')) or (colPickMode==1 and !item.containsKey('deptIdIncrement'))">
when a.Id=#{item.Id} then ifnull(a.deptId,0) + #{item.deptIdIncrement} when a.id=#{item.id} then ifnull(a.deptId,0) + #{item.deptIdIncrement}
</when> </when>
</choose> </choose>
</foreach> </foreach>
...@@ -149,14 +149,14 @@ ...@@ -149,14 +149,14 @@
<trim prefix="deptName=(case" suffix="ELSE deptName end),"> <trim prefix="deptName=(case" suffix="ELSE deptName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" > <foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('deptName')) or (colPickMode==1 and !item.containsKey('deptName'))"> <if test="(colPickMode==0 and item.containsKey('deptName')) or (colPickMode==1 and !item.containsKey('deptName'))">
when a.Id=#{item.Id} then #{item.deptName} when a.id=#{item.id} then #{item.deptName}
</if> </if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="remark=(case" suffix="ELSE remark end),"> <trim prefix="remark=(case" suffix="ELSE remark end),">
<foreach collection="data.dataList" item="item" index="index" separator="" > <foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('remark')) or (colPickMode==1 and !item.containsKey('remark'))"> <if test="(colPickMode==0 and item.containsKey('remark')) or (colPickMode==1 and !item.containsKey('remark'))">
when a.Id=#{item.Id} then #{item.remark} when a.id=#{item.id} then #{item.remark}
</if> </if>
</foreach> </foreach>
</trim> </trim>
...@@ -164,10 +164,10 @@ ...@@ -164,10 +164,10 @@
<foreach collection="data.dataList" item="item" index="index" separator="" > <foreach collection="data.dataList" item="item" index="index" separator="" >
<choose> <choose>
<when test="(colPickMode==0 and item.containsKey('createUserId')) or (colPickMode==1 and !item.containsKey('createUserId'))"> <when test="(colPickMode==0 and item.containsKey('createUserId')) or (colPickMode==1 and !item.containsKey('createUserId'))">
when a.Id=#{item.Id} then #{item.createUserId} when a.id=#{item.id} then #{item.createUserId}
</when> </when>
<when test="(colPickMode==0 and item.containsKey('createUserIdIncrement')) or (colPickMode==1 and !item.containsKey('createUserIdIncrement'))"> <when test="(colPickMode==0 and item.containsKey('createUserIdIncrement')) or (colPickMode==1 and !item.containsKey('createUserIdIncrement'))">
when a.Id=#{item.Id} then ifnull(a.createUserId,0) + #{item.createUserIdIncrement} when a.id=#{item.id} then ifnull(a.createUserId,0) + #{item.createUserIdIncrement}
</when> </when>
</choose> </choose>
</foreach> </foreach>
...@@ -175,7 +175,7 @@ ...@@ -175,7 +175,7 @@
<trim prefix="createTime=(case" suffix="ELSE createTime end),"> <trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" > <foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))"> <if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.Id=#{item.Id} then #{item.createTime} when a.id=#{item.id} then #{item.createTime}
</if> </if>
</foreach> </foreach>
</trim> </trim>
...@@ -183,10 +183,10 @@ ...@@ -183,10 +183,10 @@
<foreach collection="data.dataList" item="item" index="index" separator="" > <foreach collection="data.dataList" item="item" index="index" separator="" >
<choose> <choose>
<when test="(colPickMode==0 and item.containsKey('updateUserId')) or (colPickMode==1 and !item.containsKey('updateUserId'))"> <when test="(colPickMode==0 and item.containsKey('updateUserId')) or (colPickMode==1 and !item.containsKey('updateUserId'))">
when a.Id=#{item.Id} then #{item.updateUserId} when a.id=#{item.id} then #{item.updateUserId}
</when> </when>
<when test="(colPickMode==0 and item.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !item.containsKey('updateUserIdIncrement'))"> <when test="(colPickMode==0 and item.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !item.containsKey('updateUserIdIncrement'))">
when a.Id=#{item.Id} then ifnull(a.updateUserId,0) + #{item.updateUserIdIncrement} when a.id=#{item.id} then ifnull(a.updateUserId,0) + #{item.updateUserIdIncrement}
</when> </when>
</choose> </choose>
</foreach> </foreach>
...@@ -194,36 +194,36 @@ ...@@ -194,36 +194,36 @@
<trim prefix="updateTime=(case" suffix="ELSE updateTime end),"> <trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" > <foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))"> <if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.Id=#{item.Id} then #{item.updateTime} when a.id=#{item.id} then #{item.updateTime}
</if> </if>
</foreach> </foreach>
</trim> </trim>
</trim> </trim>
where Id in where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")"> <foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.Id} #{item.id}
</foreach> </foreach>
</update> </update>
<!-- 根据主健查询 --> <!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="PerformPerposeDeptEntity-Map"> <select id="getByKey" parameterType="paramDto" resultMap="PerformPerposeDeptEntity-Map">
select <include refid="_columns"/> select <include refid="_columns"/>
from mortals_xhx_perform_perpose_dept as a from mortals_xhx_perform_perpose_dept as a
where a.Id=#{condition.Id} where a.id=#{condition.id}
</select> </select>
<!-- 根据主健删除 --> <!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto"> <delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_perform_perpose_dept as a where a.Id=#{condition.Id} delete a.* from mortals_xhx_perform_perpose_dept as a where a.id=#{condition.id}
</delete> </delete>
<!-- 根据主健删除一批,针对单一主健有效 --> <!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys"> <delete id="deleteByKeys">
delete from mortals_xhx_perform_perpose_dept where Id in delete from mortals_xhx_perform_perpose_dept where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")"> <foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item} #{item}
</foreach> </foreach>
</delete> </delete>
<!-- 根据主健列表删除一批,针对单一主健有效 --> <!-- 根据主健列表删除一批,针对单一主健有效 -->
<delete id="deleteByKeyList"> <delete id="deleteByKeyList">
delete from mortals_xhx_perform_perpose_dept where Id in delete from mortals_xhx_perform_perpose_dept where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")"> <foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item} #{item}
</foreach> </foreach>
...@@ -231,9 +231,9 @@ ...@@ -231,9 +231,9 @@
<!-- 根据对象列表删除一批,针对单一主健有效 --> <!-- 根据对象列表删除一批,针对单一主健有效 -->
<delete id="deleteByEntityList"> <delete id="deleteByEntityList">
delete from mortals_xhx_perform_perpose_dept where Id in delete from mortals_xhx_perform_perpose_dept where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")"> <foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item.Id} #{item.id}
</foreach> </foreach>
</delete> </delete>
<!-- 根据paramDto删除一批 --> <!-- 根据paramDto删除一批 -->
...@@ -311,34 +311,34 @@ ...@@ -311,34 +311,34 @@
<bind name="conditionParamRef" value="${_conditionParam_}"/> <bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')"> <if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null"> <if test="conditionParamRef.id != null">
${_conditionType_} a.Id=#{${_conditionParam_}.id} ${_conditionType_} a.id=#{${_conditionParam_}.id}
</if> </if>
</if> </if>
<if test="conditionParamRef.containsKey('Id')"> <if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.Id != null "> <if test="conditionParamRef.id != null ">
${_conditionType_} a.Id = #{${_conditionParam_}.Id} ${_conditionType_} a.id = #{${_conditionParam_}.id}
</if> </if>
<if test="conditionParamRef.Id == null"> <if test="conditionParamRef.id == null">
${_conditionType_} a.Id is null ${_conditionType_} a.id is null
</if> </if>
</if> </if>
<if test="conditionParamRef.containsKey('IdList') and conditionParamRef.IdList.size() > 0"> <if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
${_conditionType_} a.Id in ${_conditionType_} a.id in
<foreach collection="conditionParamRef.IdList" open="(" close=")" index="index" item="item" separator=","> <foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item} #{item}
</foreach> </foreach>
</if> </if>
<if test="conditionParamRef.containsKey('IdNotList') and conditionParamRef.IdNotList.size() > 0"> <if test="conditionParamRef.containsKey('idNotList') and conditionParamRef.idNotList.size() > 0">
${_conditionType_} a.Id not in ${_conditionType_} a.id not in
<foreach collection="conditionParamRef.IdNotList" open="(" close=")" index="index" item="item" separator=","> <foreach collection="conditionParamRef.idNotList" open="(" close=")" index="index" item="item" separator=",">
#{item} #{item}
</foreach> </foreach>
</if> </if>
<if test="conditionParamRef.containsKey('IdStart') and conditionParamRef.IdStart != null"> <if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.Id <![CDATA[ >= ]]> #{${_conditionParam_}.IdStart} ${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if> </if>
<if test="conditionParamRef.containsKey('IdEnd') and conditionParamRef.IdEnd != null"> <if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.Id <![CDATA[ <= ]]> #{${_conditionParam_}.IdEnd} ${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if> </if>
<if test="conditionParamRef.containsKey('purposeConfId')"> <if test="conditionParamRef.containsKey('purposeConfId')">
...@@ -534,9 +534,9 @@ ...@@ -534,9 +534,9 @@
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()"> <if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by order by
<trim suffixOverrides="," suffix=""> <trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('Id')"> <if test="orderCol.containsKey('id')">
a.Id a.id
<if test='orderCol.Id != null and "DESC".equalsIgnoreCase(orderCol.Id)'>DESC</if> <if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
, ,
</if> </if>
<if test="orderCol.containsKey('purposeConfId')"> <if test="orderCol.containsKey('purposeConfId')">
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd"> "mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.perform.dao.ibatis.PerformPerposeStaffDaoImpl"> <mapper namespace="com.mortals.xhx.module.perform.dao.ibatis.PerformPerposeStaffDaoImpl">
<!-- 字段和属性映射 --> <!-- 字段和属性映射 -->
<resultMap type="PerformPerposeStaffEntity" id="PerformPerposeStaffEntity-Map"> <resultMap type="PerformPerposeStaffEntity" id="PerformPerposeStaffEntity-Map">
<id property="Id" column="Id" /> <id property="id" column="id" />
<result property="purposeConfId" column="purposeConfId" /> <result property="purposeConfId" column="purposeConfId" />
<result property="staffId" column="staffId" /> <result property="staffId" column="staffId" />
<result property="staffName" column="staffName" /> <result property="staffName" column="staffName" />
...@@ -22,8 +22,8 @@ ...@@ -22,8 +22,8 @@
<!-- 表所有列 --> <!-- 表所有列 -->
<sql id="_columns"> <sql id="_columns">
<trim suffixOverrides="," suffix=""> <trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('Id') or colPickMode == 1 and data.containsKey('Id')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.Id, a.id,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('purposeConfId') or colPickMode == 1 and data.containsKey('purposeConfId')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('purposeConfId') or colPickMode == 1 and data.containsKey('purposeConfId')))">
a.purposeConfId, a.purposeConfId,
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
</trim> </trim>
</sql> </sql>
<!-- 新增 区分主键自增加还是业务插入 --> <!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="PerformPerposeStaffEntity" useGeneratedKeys="true" keyProperty="Id"> <insert id="insert" parameterType="PerformPerposeStaffEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_perform_perpose_staff insert into mortals_xhx_perform_perpose_staff
(purposeConfId,staffId,staffName,number,remark,createUserId,createTime,updateUserId,updateTime) (purposeConfId,staffId,staffName,number,remark,createUserId,createTime,updateUserId,updateTime)
VALUES VALUES
...@@ -133,10 +133,10 @@ ...@@ -133,10 +133,10 @@
<foreach collection="data.dataList" item="item" index="index" separator="" > <foreach collection="data.dataList" item="item" index="index" separator="" >
<choose> <choose>
<when test="(colPickMode==0 and item.containsKey('purposeConfId')) or (colPickMode==1 and !item.containsKey('purposeConfId'))"> <when test="(colPickMode==0 and item.containsKey('purposeConfId')) or (colPickMode==1 and !item.containsKey('purposeConfId'))">
when a.Id=#{item.Id} then #{item.purposeConfId} when a.id=#{item.id} then #{item.purposeConfId}
</when> </when>
<when test="(colPickMode==0 and item.containsKey('purposeConfIdIncrement')) or (colPickMode==1 and !item.containsKey('purposeConfIdIncrement'))"> <when test="(colPickMode==0 and item.containsKey('purposeConfIdIncrement')) or (colPickMode==1 and !item.containsKey('purposeConfIdIncrement'))">
when a.Id=#{item.Id} then ifnull(a.purposeConfId,0) + #{item.purposeConfIdIncrement} when a.id=#{item.id} then ifnull(a.purposeConfId,0) + #{item.purposeConfIdIncrement}
</when> </when>
</choose> </choose>
</foreach> </foreach>
...@@ -145,10 +145,10 @@ ...@@ -145,10 +145,10 @@
<foreach collection="data.dataList" item="item" index="index" separator="" > <foreach collection="data.dataList" item="item" index="index" separator="" >
<choose> <choose>
<when test="(colPickMode==0 and item.containsKey('staffId')) or (colPickMode==1 and !item.containsKey('staffId'))"> <when test="(colPickMode==0 and item.containsKey('staffId')) or (colPickMode==1 and !item.containsKey('staffId'))">
when a.Id=#{item.Id} then #{item.staffId} when a.id=#{item.id} then #{item.staffId}
</when> </when>
<when test="(colPickMode==0 and item.containsKey('staffIdIncrement')) or (colPickMode==1 and !item.containsKey('staffIdIncrement'))"> <when test="(colPickMode==0 and item.containsKey('staffIdIncrement')) or (colPickMode==1 and !item.containsKey('staffIdIncrement'))">
when a.Id=#{item.Id} then ifnull(a.staffId,0) + #{item.staffIdIncrement} when a.id=#{item.id} then ifnull(a.staffId,0) + #{item.staffIdIncrement}
</when> </when>
</choose> </choose>
</foreach> </foreach>
...@@ -156,21 +156,21 @@ ...@@ -156,21 +156,21 @@
<trim prefix="staffName=(case" suffix="ELSE staffName end),"> <trim prefix="staffName=(case" suffix="ELSE staffName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" > <foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('staffName')) or (colPickMode==1 and !item.containsKey('staffName'))"> <if test="(colPickMode==0 and item.containsKey('staffName')) or (colPickMode==1 and !item.containsKey('staffName'))">
when a.Id=#{item.Id} then #{item.staffName} when a.id=#{item.id} then #{item.staffName}
</if> </if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="number=(case" suffix="ELSE number end),"> <trim prefix="number=(case" suffix="ELSE number end),">
<foreach collection="data.dataList" item="item" index="index" separator="" > <foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('number')) or (colPickMode==1 and !item.containsKey('number'))"> <if test="(colPickMode==0 and item.containsKey('number')) or (colPickMode==1 and !item.containsKey('number'))">
when a.Id=#{item.Id} then #{item.number} when a.id=#{item.id} then #{item.number}
</if> </if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="remark=(case" suffix="ELSE remark end),"> <trim prefix="remark=(case" suffix="ELSE remark end),">
<foreach collection="data.dataList" item="item" index="index" separator="" > <foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('remark')) or (colPickMode==1 and !item.containsKey('remark'))"> <if test="(colPickMode==0 and item.containsKey('remark')) or (colPickMode==1 and !item.containsKey('remark'))">
when a.Id=#{item.Id} then #{item.remark} when a.id=#{item.id} then #{item.remark}
</if> </if>
</foreach> </foreach>
</trim> </trim>
...@@ -178,10 +178,10 @@ ...@@ -178,10 +178,10 @@
<foreach collection="data.dataList" item="item" index="index" separator="" > <foreach collection="data.dataList" item="item" index="index" separator="" >
<choose> <choose>
<when test="(colPickMode==0 and item.containsKey('createUserId')) or (colPickMode==1 and !item.containsKey('createUserId'))"> <when test="(colPickMode==0 and item.containsKey('createUserId')) or (colPickMode==1 and !item.containsKey('createUserId'))">
when a.Id=#{item.Id} then #{item.createUserId} when a.id=#{item.id} then #{item.createUserId}
</when> </when>
<when test="(colPickMode==0 and item.containsKey('createUserIdIncrement')) or (colPickMode==1 and !item.containsKey('createUserIdIncrement'))"> <when test="(colPickMode==0 and item.containsKey('createUserIdIncrement')) or (colPickMode==1 and !item.containsKey('createUserIdIncrement'))">
when a.Id=#{item.Id} then ifnull(a.createUserId,0) + #{item.createUserIdIncrement} when a.id=#{item.id} then ifnull(a.createUserId,0) + #{item.createUserIdIncrement}
</when> </when>
</choose> </choose>
</foreach> </foreach>
...@@ -189,7 +189,7 @@ ...@@ -189,7 +189,7 @@
<trim prefix="createTime=(case" suffix="ELSE createTime end),"> <trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" > <foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))"> <if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.Id=#{item.Id} then #{item.createTime} when a.id=#{item.id} then #{item.createTime}
</if> </if>
</foreach> </foreach>
</trim> </trim>
...@@ -197,10 +197,10 @@ ...@@ -197,10 +197,10 @@
<foreach collection="data.dataList" item="item" index="index" separator="" > <foreach collection="data.dataList" item="item" index="index" separator="" >
<choose> <choose>
<when test="(colPickMode==0 and item.containsKey('updateUserId')) or (colPickMode==1 and !item.containsKey('updateUserId'))"> <when test="(colPickMode==0 and item.containsKey('updateUserId')) or (colPickMode==1 and !item.containsKey('updateUserId'))">
when a.Id=#{item.Id} then #{item.updateUserId} when a.id=#{item.id} then #{item.updateUserId}
</when> </when>
<when test="(colPickMode==0 and item.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !item.containsKey('updateUserIdIncrement'))"> <when test="(colPickMode==0 and item.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !item.containsKey('updateUserIdIncrement'))">
when a.Id=#{item.Id} then ifnull(a.updateUserId,0) + #{item.updateUserIdIncrement} when a.id=#{item.id} then ifnull(a.updateUserId,0) + #{item.updateUserIdIncrement}
</when> </when>
</choose> </choose>
</foreach> </foreach>
...@@ -208,36 +208,36 @@ ...@@ -208,36 +208,36 @@
<trim prefix="updateTime=(case" suffix="ELSE updateTime end),"> <trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" > <foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))"> <if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.Id=#{item.Id} then #{item.updateTime} when a.id=#{item.id} then #{item.updateTime}
</if> </if>
</foreach> </foreach>
</trim> </trim>
</trim> </trim>
where Id in where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")"> <foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.Id} #{item.id}
</foreach> </foreach>
</update> </update>
<!-- 根据主健查询 --> <!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="PerformPerposeStaffEntity-Map"> <select id="getByKey" parameterType="paramDto" resultMap="PerformPerposeStaffEntity-Map">
select <include refid="_columns"/> select <include refid="_columns"/>
from mortals_xhx_perform_perpose_staff as a from mortals_xhx_perform_perpose_staff as a
where a.Id=#{condition.Id} where a.id=#{condition.id}
</select> </select>
<!-- 根据主健删除 --> <!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto"> <delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_perform_perpose_staff as a where a.Id=#{condition.Id} delete a.* from mortals_xhx_perform_perpose_staff as a where a.id=#{condition.id}
</delete> </delete>
<!-- 根据主健删除一批,针对单一主健有效 --> <!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys"> <delete id="deleteByKeys">
delete from mortals_xhx_perform_perpose_staff where Id in delete from mortals_xhx_perform_perpose_staff where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")"> <foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item} #{item}
</foreach> </foreach>
</delete> </delete>
<!-- 根据主健列表删除一批,针对单一主健有效 --> <!-- 根据主健列表删除一批,针对单一主健有效 -->
<delete id="deleteByKeyList"> <delete id="deleteByKeyList">
delete from mortals_xhx_perform_perpose_staff where Id in delete from mortals_xhx_perform_perpose_staff where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")"> <foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item} #{item}
</foreach> </foreach>
...@@ -245,9 +245,9 @@ ...@@ -245,9 +245,9 @@
<!-- 根据对象列表删除一批,针对单一主健有效 --> <!-- 根据对象列表删除一批,针对单一主健有效 -->
<delete id="deleteByEntityList"> <delete id="deleteByEntityList">
delete from mortals_xhx_perform_perpose_staff where Id in delete from mortals_xhx_perform_perpose_staff where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")"> <foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item.Id} #{item.id}
</foreach> </foreach>
</delete> </delete>
<!-- 根据paramDto删除一批 --> <!-- 根据paramDto删除一批 -->
...@@ -325,34 +325,34 @@ ...@@ -325,34 +325,34 @@
<bind name="conditionParamRef" value="${_conditionParam_}"/> <bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')"> <if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null"> <if test="conditionParamRef.id != null">
${_conditionType_} a.Id=#{${_conditionParam_}.id} ${_conditionType_} a.id=#{${_conditionParam_}.id}
</if> </if>
</if> </if>
<if test="conditionParamRef.containsKey('Id')"> <if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.Id != null "> <if test="conditionParamRef.id != null ">
${_conditionType_} a.Id = #{${_conditionParam_}.Id} ${_conditionType_} a.id = #{${_conditionParam_}.id}
</if> </if>
<if test="conditionParamRef.Id == null"> <if test="conditionParamRef.id == null">
${_conditionType_} a.Id is null ${_conditionType_} a.id is null
</if> </if>
</if> </if>
<if test="conditionParamRef.containsKey('IdList') and conditionParamRef.IdList.size() > 0"> <if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
${_conditionType_} a.Id in ${_conditionType_} a.id in
<foreach collection="conditionParamRef.IdList" open="(" close=")" index="index" item="item" separator=","> <foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item} #{item}
</foreach> </foreach>
</if> </if>
<if test="conditionParamRef.containsKey('IdNotList') and conditionParamRef.IdNotList.size() > 0"> <if test="conditionParamRef.containsKey('idNotList') and conditionParamRef.idNotList.size() > 0">
${_conditionType_} a.Id not in ${_conditionType_} a.id not in
<foreach collection="conditionParamRef.IdNotList" open="(" close=")" index="index" item="item" separator=","> <foreach collection="conditionParamRef.idNotList" open="(" close=")" index="index" item="item" separator=",">
#{item} #{item}
</foreach> </foreach>
</if> </if>
<if test="conditionParamRef.containsKey('IdStart') and conditionParamRef.IdStart != null"> <if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.Id <![CDATA[ >= ]]> #{${_conditionParam_}.IdStart} ${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if> </if>
<if test="conditionParamRef.containsKey('IdEnd') and conditionParamRef.IdEnd != null"> <if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.Id <![CDATA[ <= ]]> #{${_conditionParam_}.IdEnd} ${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if> </if>
<if test="conditionParamRef.containsKey('purposeConfId')"> <if test="conditionParamRef.containsKey('purposeConfId')">
...@@ -569,9 +569,9 @@ ...@@ -569,9 +569,9 @@
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()"> <if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by order by
<trim suffixOverrides="," suffix=""> <trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('Id')"> <if test="orderCol.containsKey('id')">
a.Id a.id
<if test='orderCol.Id != null and "DESC".equalsIgnoreCase(orderCol.Id)'>DESC</if> <if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
, ,
</if> </if>
<if test="orderCol.containsKey('purposeConfId')"> <if test="orderCol.containsKey('purposeConfId')">
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.window.dao.ibatis.WindowOwnerDetailDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="WindowOwnerDetailEntity" id="WindowOwnerDetailEntity-Map">
<id property="id" column="id" />
<result property="ownerId" column="ownerId" />
<result property="staffId" column="staffId" />
<result property="remark" column="remark" />
<result property="createTime" column="createTime" />
<result property="createUserId" column="createUserId" />
<result property="updateUserId" column="updateUserId" />
<result property="updateTime" column="updateTime" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('ownerId') or colPickMode == 1 and data.containsKey('ownerId')))">
a.ownerId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('staffId') or colPickMode == 1 and data.containsKey('staffId')))">
a.staffId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('remark') or colPickMode == 1 and data.containsKey('remark')))">
a.remark,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
a.createUserId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateUserId') or colPickMode == 1 and data.containsKey('updateUserId')))">
a.updateUserId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="WindowOwnerDetailEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_window_owner_detail
(ownerId,staffId,remark,createTime,createUserId,updateUserId,updateTime)
VALUES
(#{ownerId},#{staffId},#{remark},#{createTime},#{createUserId},#{updateUserId},#{updateTime})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_window_owner_detail
(ownerId,staffId,remark,createTime,createUserId,updateUserId,updateTime)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.ownerId},#{item.staffId},#{item.remark},#{item.createTime},#{item.createUserId},#{item.updateUserId},#{item.updateTime})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_window_owner_detail as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('ownerId')) or (colPickMode==1 and !data.containsKey('ownerId'))">
a.ownerId=#{data.ownerId},
</if>
<if test="(colPickMode==0 and data.containsKey('ownerIdIncrement')) or (colPickMode==1 and !data.containsKey('ownerIdIncrement'))">
a.ownerId=ifnull(a.ownerId,0) + #{data.ownerIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('staffId')) or (colPickMode==1 and !data.containsKey('staffId'))">
a.staffId=#{data.staffId},
</if>
<if test="(colPickMode==0 and data.containsKey('staffIdIncrement')) or (colPickMode==1 and !data.containsKey('staffIdIncrement'))">
a.staffId=ifnull(a.staffId,0) + #{data.staffIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('remark')) or (colPickMode==1 and !data.containsKey('remark'))">
a.remark=#{data.remark},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserId')) or (colPickMode==1 and !data.containsKey('createUserId'))">
a.createUserId=#{data.createUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserIdIncrement')) or (colPickMode==1 and !data.containsKey('createUserIdIncrement'))">
a.createUserId=ifnull(a.createUserId,0) + #{data.createUserIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('updateUserId')) or (colPickMode==1 and !data.containsKey('updateUserId'))">
a.updateUserId=#{data.updateUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !data.containsKey('updateUserIdIncrement'))">
a.updateUserId=ifnull(a.updateUserId,0) + #{data.updateUserIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_xhx_window_owner_detail as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="ownerId=(case" suffix="ELSE ownerId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('ownerId')) or (colPickMode==1 and !item.containsKey('ownerId'))">
when a.id=#{item.id} then #{item.ownerId}
</when>
<when test="(colPickMode==0 and item.containsKey('ownerIdIncrement')) or (colPickMode==1 and !item.containsKey('ownerIdIncrement'))">
when a.id=#{item.id} then ifnull(a.ownerId,0) + #{item.ownerIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="staffId=(case" suffix="ELSE staffId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('staffId')) or (colPickMode==1 and !item.containsKey('staffId'))">
when a.id=#{item.id} then #{item.staffId}
</when>
<when test="(colPickMode==0 and item.containsKey('staffIdIncrement')) or (colPickMode==1 and !item.containsKey('staffIdIncrement'))">
when a.id=#{item.id} then ifnull(a.staffId,0) + #{item.staffIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="remark=(case" suffix="ELSE remark end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('remark')) or (colPickMode==1 and !item.containsKey('remark'))">
when a.id=#{item.id} then #{item.remark}
</if>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="createUserId=(case" suffix="ELSE createUserId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('createUserId')) or (colPickMode==1 and !item.containsKey('createUserId'))">
when a.id=#{item.id} then #{item.createUserId}
</when>
<when test="(colPickMode==0 and item.containsKey('createUserIdIncrement')) or (colPickMode==1 and !item.containsKey('createUserIdIncrement'))">
when a.id=#{item.id} then ifnull(a.createUserId,0) + #{item.createUserIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="updateUserId=(case" suffix="ELSE updateUserId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('updateUserId')) or (colPickMode==1 and !item.containsKey('updateUserId'))">
when a.id=#{item.id} then #{item.updateUserId}
</when>
<when test="(colPickMode==0 and item.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !item.containsKey('updateUserIdIncrement'))">
when a.id=#{item.id} then ifnull(a.updateUserId,0) + #{item.updateUserIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.id=#{item.id} then #{item.updateTime}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="WindowOwnerDetailEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_window_owner_detail as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_window_owner_detail as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_window_owner_detail where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据主健列表删除一批,针对单一主健有效 -->
<delete id="deleteByKeyList">
delete from mortals_xhx_window_owner_detail where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据对象列表删除一批,针对单一主健有效 -->
<delete id="deleteByEntityList">
delete from mortals_xhx_window_owner_detail where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_window_owner_detail as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="WindowOwnerDetailEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_window_owner_detail as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_window_owner_detail as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idNotList') and conditionParamRef.idNotList.size() > 0">
${_conditionType_} a.id not in
<foreach collection="conditionParamRef.idNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('ownerId')">
<if test="conditionParamRef.ownerId != null ">
${_conditionType_} a.ownerId = #{${_conditionParam_}.ownerId}
</if>
<if test="conditionParamRef.ownerId == null">
${_conditionType_} a.ownerId is null
</if>
</if>
<if test="conditionParamRef.containsKey('ownerIdList') and conditionParamRef.ownerIdList.size() > 0">
${_conditionType_} a.ownerId in
<foreach collection="conditionParamRef.ownerIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('ownerIdNotList') and conditionParamRef.ownerIdNotList.size() > 0">
${_conditionType_} a.ownerId not in
<foreach collection="conditionParamRef.ownerIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('ownerIdStart') and conditionParamRef.ownerIdStart != null">
${_conditionType_} a.ownerId <![CDATA[ >= ]]> #{${_conditionParam_}.ownerIdStart}
</if>
<if test="conditionParamRef.containsKey('ownerIdEnd') and conditionParamRef.ownerIdEnd != null">
${_conditionType_} a.ownerId <![CDATA[ <= ]]> #{${_conditionParam_}.ownerIdEnd}
</if>
<if test="conditionParamRef.containsKey('staffId')">
<if test="conditionParamRef.staffId != null ">
${_conditionType_} a.staffId = #{${_conditionParam_}.staffId}
</if>
<if test="conditionParamRef.staffId == null">
${_conditionType_} a.staffId is null
</if>
</if>
<if test="conditionParamRef.containsKey('staffIdList') and conditionParamRef.staffIdList.size() > 0">
${_conditionType_} a.staffId in
<foreach collection="conditionParamRef.staffIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('staffIdNotList') and conditionParamRef.staffIdNotList.size() > 0">
${_conditionType_} a.staffId not in
<foreach collection="conditionParamRef.staffIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('staffIdStart') and conditionParamRef.staffIdStart != null">
${_conditionType_} a.staffId <![CDATA[ >= ]]> #{${_conditionParam_}.staffIdStart}
</if>
<if test="conditionParamRef.containsKey('staffIdEnd') and conditionParamRef.staffIdEnd != null">
${_conditionType_} a.staffId <![CDATA[ <= ]]> #{${_conditionParam_}.staffIdEnd}
</if>
<if test="conditionParamRef.containsKey('remark')">
<if test="conditionParamRef.remark != null and conditionParamRef.remark != ''">
${_conditionType_} a.remark like #{${_conditionParam_}.remark}
</if>
<if test="conditionParamRef.remark == null">
${_conditionType_} a.remark is null
</if>
</if>
<if test="conditionParamRef.containsKey('remarkList') and conditionParamRef.remarkList.size() > 0">
${_conditionType_} a.remark in
<foreach collection="conditionParamRef.remarkList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('remarkNotList') and conditionParamRef.remarkNotList.size() > 0">
${_conditionType_} a.remark not in
<foreach collection="conditionParamRef.remarkNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createUserId')">
<if test="conditionParamRef.createUserId != null ">
${_conditionType_} a.createUserId = #{${_conditionParam_}.createUserId}
</if>
<if test="conditionParamRef.createUserId == null">
${_conditionType_} a.createUserId is null
</if>
</if>
<if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
${_conditionType_} a.createUserId in
<foreach collection="conditionParamRef.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserIdNotList') and conditionParamRef.createUserIdNotList.size() > 0">
${_conditionType_} a.createUserId not in
<foreach collection="conditionParamRef.createUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserIdStart') and conditionParamRef.createUserIdStart != null">
${_conditionType_} a.createUserId <![CDATA[ >= ]]> #{${_conditionParam_}.createUserIdStart}
</if>
<if test="conditionParamRef.containsKey('createUserIdEnd') and conditionParamRef.createUserIdEnd != null">
${_conditionType_} a.createUserId <![CDATA[ <= ]]> #{${_conditionParam_}.createUserIdEnd}
</if>
<if test="conditionParamRef.containsKey('updateUserId')">
<if test="conditionParamRef.updateUserId != null ">
${_conditionType_} a.updateUserId = #{${_conditionParam_}.updateUserId}
</if>
<if test="conditionParamRef.updateUserId == null">
${_conditionType_} a.updateUserId is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateUserIdList') and conditionParamRef.updateUserIdList.size() > 0">
${_conditionType_} a.updateUserId in
<foreach collection="conditionParamRef.updateUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('updateUserIdNotList') and conditionParamRef.updateUserIdNotList.size() > 0">
${_conditionType_} a.updateUserId not in
<foreach collection="conditionParamRef.updateUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('updateUserIdStart') and conditionParamRef.updateUserIdStart != null">
${_conditionType_} a.updateUserId <![CDATA[ >= ]]> #{${_conditionParam_}.updateUserIdStart}
</if>
<if test="conditionParamRef.containsKey('updateUserIdEnd') and conditionParamRef.updateUserIdEnd != null">
${_conditionType_} a.updateUserId <![CDATA[ <= ]]> #{${_conditionParam_}.updateUserIdEnd}
</if>
<if test="conditionParamRef.containsKey('updateTime')">
<if test="conditionParamRef.updateTime != null ">
${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
</if>
<if test="conditionParamRef.updateTime == null">
${_conditionType_} a.updateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('ownerId')">
a.ownerId
<if test='orderCol.ownerId != null and "DESC".equalsIgnoreCase(orderCol.ownerId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('staffId')">
a.staffId
<if test='orderCol.staffId != null and "DESC".equalsIgnoreCase(orderCol.staffId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('remark')">
a.remark
<if test='orderCol.remark != null and "DESC".equalsIgnoreCase(orderCol.remark)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createUserId')">
a.createUserId
<if test='orderCol.createUserId != null and "DESC".equalsIgnoreCase(orderCol.createUserId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateUserId')">
a.updateUserId
<if test='orderCol.updateUserId != null and "DESC".equalsIgnoreCase(orderCol.updateUserId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
...@@ -17,7 +17,17 @@ ...@@ -17,7 +17,17 @@
<result property="createUserId" column="createUserId" /> <result property="createUserId" column="createUserId" />
<result property="updateUserId" column="updateUserId" /> <result property="updateUserId" column="updateUserId" />
<result property="updateTime" column="updateTime" /> <result property="updateTime" column="updateTime" />
<collection property="windowOwnerDetailList" column="id" ofType="WindowOwnerDetailEntity" javaType="ArrayList" select="getWindowOwnerDetailByOwnerId"></collection>
</resultMap>
<resultMap type="WindowOwnerDetailEntity" id="WindowOwnerDetailEntity-Map">
<result property="id" column="id" />
<result property="ownerId" column="ownerId" />
<result property="staffId" column="staffId" />
<result property="remark" column="remark" />
<result property="createTime" column="createTime" />
<result property="createUserId" column="createUserId" />
<result property="updateUserId" column="updateUserId" />
<result property="updateTime" column="updateTime" />
</resultMap> </resultMap>
...@@ -62,6 +72,12 @@ ...@@ -62,6 +72,12 @@
</if> </if>
</trim> </trim>
</sql> </sql>
<!-- 子表所有列 -->
<sql id="_columns_sub">
<trim suffixOverrides="," suffix="">
b.id,b.ownerId,b.staffId,b.remark,b.createTime,b.createUserId,b.updateUserId,b.updateTime,
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 --> <!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="WindowOwnerEntity" useGeneratedKeys="true" keyProperty="id"> <insert id="insert" parameterType="WindowOwnerEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_window_owner insert into mortals_xhx_window_owner
...@@ -300,6 +316,14 @@ ...@@ -300,6 +316,14 @@
</trim> </trim>
<include refid="_orderCols_"/> <include refid="_orderCols_"/>
</select> </select>
<!-- 获取子列表 -->
<select id="getWindowOwnerDetailByOwnerId" parameterType="java.lang.Long" resultMap="WindowOwnerDetailEntity-Map">
select <include refid="_columns_sub"/>
from mortals_xhx_window_owner_detail as b
<trim suffixOverrides="where" suffix="">
where b.ownerId = #{id}
</trim>
</select>
......
...@@ -15,7 +15,6 @@ client.global.set("authToken", JSON.parse(response.body).data.token); ...@@ -15,7 +15,6 @@ client.global.set("authToken", JSON.parse(response.body).data.token);
###窗口负责人列表 ###窗口负责人列表
POST {{baseUrl}}/window/owner/list POST {{baseUrl}}/window/owner/list
Authorization: {{authToken}}
Content-Type: application/json Content-Type: application/json
{ {
...@@ -31,12 +30,12 @@ Content-Type: application/json ...@@ -31,12 +30,12 @@ Content-Type: application/json
{ {
"deptId":0, "deptId":0,
"deptName":"idn5ru", "deptName":"b2vbef",
"name":"5kk6au", "name":"wjrhid",
"number":"xgrmfn", "number":"10uobg",
"phone":"qjnd6f", "phone":"cywvqa",
"windowCount":338, "windowCount":32,
"remark":"gobsbz", "remark":"7dryt2",
} }
> {% > {%
...@@ -45,12 +44,10 @@ client.global.set("WindowOwner_id", JSON.parse(response.body).data.id); ...@@ -45,12 +44,10 @@ client.global.set("WindowOwner_id", JSON.parse(response.body).data.id);
###窗口负责人查看 ###窗口负责人查看
GET {{baseUrl}}/window/owner/info?id={{WindowOwner_id}} GET {{baseUrl}}/window/owner/info?id={{WindowOwner_id}}
Authorization: {{authToken}}
Accept: application/json Accept: application/json
###窗口负责人编辑 ###窗口负责人编辑
GET {{baseUrl}}/window/owner/edit?id={{WindowOwner_id}} GET {{baseUrl}}/window/owner/edit?id={{WindowOwner_id}}
Authorization: {{authToken}}
Accept: application/json Accept: application/json
......
###登录
POST {{baseUrl}}/login/login
Content-Type: application/json
{
"loginName":"admin",
"password":"admin",
"securityCode":"8888"
}
> {%
client.global.set("SmsSet_id", JSON.parse(response.body).data.id);
client.global.set("authToken", JSON.parse(response.body).data.token);
%}
###窗口负责人详细列表
POST {{baseUrl}}/window/owner/detail/list
Content-Type: application/json
{
"page":1,
"size":10
}
###窗口负责人详细更新与保存
POST {{baseUrl}}/window/owner/detail/save
Authorization: {{authToken}}
Content-Type: application/json
{
"ownerId":0,
"staffId":0,
"remark":"14lr1t",
}
> {%
client.global.set("WindowOwnerDetail_id", JSON.parse(response.body).data.id);
%}
###窗口负责人详细查看
GET {{baseUrl}}/window/owner/detail/info?id={{WindowOwnerDetail_id}}
Accept: application/json
###窗口负责人详细编辑
GET {{baseUrl}}/window/owner/detail/edit?id={{WindowOwnerDetail_id}}
Accept: application/json
###窗口负责人详细删除
GET {{baseUrl}}/window/owner/detail/delete?id={{WindowOwnerDetail_id}}
Authorization: {{authToken}}
Accept: application/json
...@@ -485,3 +485,21 @@ CREATE TABLE mortals_xhx_perform_attend_appeal( ...@@ -485,3 +485,21 @@ CREATE TABLE mortals_xhx_perform_attend_appeal(
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='绩效记录申诉信息'; ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='绩效记录申诉信息';
-- ----------------------------
-- 窗口负责人详细表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_window_owner_detail`;
CREATE TABLE mortals_xhx_window_owner_detail(
`id` bigint(20) AUTO_INCREMENT COMMENT '序号,主键,自增长',
`ownerId` bigint(20) DEFAULT '0' COMMENT '负责人Id',
`staffId` bigint(20) DEFAULT '0' COMMENT '员工id号',
`remark` varchar(255) COMMENT '备注',
`createTime` datetime COMMENT '创建时间',
`createUserId` bigint(20) COMMENT '创建用户',
`updateUserId` bigint(20) COMMENT '更新用户',
`updateTime` datetime COMMENT '修改时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='窗口负责人详细';
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment