Commit b884ffd0 authored by 王启林's avatar 王启林
parents ae582d75 dc407829
......@@ -67,7 +67,9 @@ export default {
} else if ((url == "/perform/staff/conf/save")) {
sessionStorage.getItem("type") == 1
? (url = "/perform/dept/conf/save")
: (url = "/perform/staff/conf/save");
: sessionStorage.getItem("type") == 2
? (url = "/perform/staff/conf/save")
: (url = "/window/owner/save");
}
const el = this.$refs.form;
el.validate((valid) => {
......
......@@ -158,7 +158,12 @@
</div>
</div>
<div class="mid_table">
<el-table :data="tableData" border style="width: 100%">
<el-table
:data="tableData"
border
style="width: 100%"
height="520"
>
<el-table-column type="index" label="序号" width="50">
</el-table-column>
<el-table-column
......@@ -437,3 +442,25 @@ export default {
}
}
</style>
<style lang="less" scoped>
.form_content {
/deep/.el-col-12 {
width: 98% !important;
}
.content {
width: 100%;
height: 500px;
border: 1px solid #e4e7ed;
border-top: 0;
padding: 20px;
.top {
display: flex;
justify-content: space-between;
margin-bottom: 10px;
}
}
/deep/.el-tabs__header {
margin: 0 !important;
}
}
</style>
......@@ -15,11 +15,13 @@
>
<el-row>
<el-row style="width: 100%;margin-bottom: 10px;">
<el-col style="width: 100%;" :span="24">
<el-col style="width: 100%;margin-left: 20px;" :span="24">
<span>选择人员:</span>
<el-button type="primary" @click="() => (dialog = true)"
>点击选择人员</el-button
>
<el-button type="primary" @click="() => (dialog = true)">{{
selectArr && selectArr.length > 0
? `已选择(${selectArr.length})`
: "点击选择人员"
}}</el-button>
</el-col>
</el-row>
<el-row style="width: 96%;margin: 0 auto;">
......@@ -293,19 +295,46 @@
<form-buttons @submit="submitForm" noCancelBtn />
</el-form> -->
<el-dialog title="选择人员" :visible.sync="dialog" width="40%">
<el-dialog
title="选择人员"
:visible.sync="dialog"
:modal="false"
width="60%"
>
<div class="dia_content">
<el-tree
:data="treeData"
:props="defaultProps"
@node-click="handleNodeClick"
></el-tree>
<div class="dia_left">
<div class="title">
选择人员
</div>
<el-tree
:data="treeData"
:props="defaultProps"
show-checkbox
node-key="label"
@check="handleCheckChange"
ref="tree"
></el-tree>
</div>
<div class="dia_right">
<div class="title">
已选择
</div>
<div class="select_content">
<el-tag
v-for="tag in selectArr"
:key="tag.label"
closable
@close="hanleTagClose(tag)"
style="margin-right: 10px;"
>
{{ tag.label }}
</el-tag>
</div>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="dialogVisible = false"
>确 定</el-button
>
<el-button @click="dialog = false"> </el-button>
<el-button type="primary" @click="dialog = false"> </el-button>
</span>
</el-dialog>
</el-drawer>
......@@ -332,6 +361,7 @@ export default {
direction: "rtl",
toString: [],
toDate: [],
selectArr: [],
tableData: [
{
core: "-0.5",
......@@ -355,57 +385,46 @@ export default {
],
type: "",
keywords: "",
data: [
treeData: [
{
label: "一级 1",
label: "市民中心",
children: [
{
label: "二级 1-1",
label: "部门1",
children: [
{
label: "三级 1-1-1",
label: "人员1",
},
],
},
],
},
{
label: "一级 2",
children: [
{
label: "二级 2-1",
children: [
{
label: "三级 2-1-1",
label: "人员2",
},
],
},
{
label: "二级 2-2",
children: [
{
label: "三级 2-2-1",
label: "人员3",
},
],
},
],
},
{
label: "一级 3",
children: [
{
label: "二级 3-1",
label: "部门2",
children: [
{
label: "三级 3-1-1",
label: "人员4",
},
{
label: "人员5",
},
{
label: "人员6",
},
],
},
{
label: "二级 3-2",
label: "部门3",
children: [
{
label: "三级 3-2-1",
label: "人员7",
label: "人员8",
label: "人员9",
label: "人员10",
},
],
},
......@@ -420,6 +439,17 @@ export default {
},
methods: {
hanleTagClose(val) {
this.selectArr = this.selectArr.filter((v) => v.label !== val.label);
this.$refs.tree.setCheckedNodes(this.selectArr);
},
handleCheckChange(checkedNodes, checkedKeys) {
console.log(checkedNodes);
console.log(checkedKeys);
checkedKeys.checkedNodes.forEach((v) => {
v.children ? "" : (this.selectArr = [...this.selectArr, v]);
});
},
handleChange(val) {
console.log(val);
},
......@@ -508,4 +538,37 @@ export default {
margin: 0 !important;
}
}
.dia_content {
width: 100%;
height: 100%;
display: flex;
border: 1px solid #e4e7ed;
.dia_left {
width: 50%;
height: 300px;
border-right: 1px solid #e4e7ed;
padding: 20px;
}
.dia_right {
width: 50%;
height: 100%;
padding: 20px;
}
.title {
color: #1890ff;
font-size: 14px;
padding-left: 10px;
position: relative;
margin-bottom: 10px;
&::after {
content: "";
display: block;
border-left: 3px solid #1890ff;
left: 0;
top: 0;
bottom: 0;
position: absolute;
}
}
}
</style>
......@@ -137,6 +137,9 @@ export default {
this.getData();
},
handleClick() {
this.activeName == 1
? sessionStorage.setItem("type", this.type)
: sessionStorage.removeItem("type");
this.getData();
},
async getData() {
......@@ -289,7 +292,7 @@ export default {
display: flex;
flex-wrap: wrap;
.goal_box {
width: 435px;
width: 405px;
height: 270px;
background: inherit;
background-color: rgba(255, 255, 255, 1);
......
<template>
<!-- 弹出框表单 -->
<el-drawer
:title="title"
:visible.sync="open"
:direction="direction"
size="50%"
<!-- 弹出框表单 -->
<el-drawer
:title="title"
:visible.sync="open"
:direction="direction"
size="50%"
>
<el-form
ref="form"
class="window_form_content"
:model="form"
:rules="rules"
label-width="120px"
>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field
label="负责人姓名"
prop="name"
v-model="form.name"
placeholder="请输入负责人姓名"
/>
<Field
label="联系电话:"
prop="phone"
v-model="form.phone"
placeholder="请输入联系电话"
/>
<el-col style="width: 100%;" :span="24">
<Field
label="选择部门:"
prop="deptId"
v-model="form.deptId"
placeholder="选择部门"
:enumData="deptGroup"
type="select"
/>
</el-col>
</el-row>
<el-row>
<div class="bottom_content">
<div class="content_top">
<span>请选择窗口工作人员:</span>
<div class="search_box">
<el-select v-model="type" placeholder="请选择部门">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
style="width: 200px;"
>
</el-option>
</el-select>
<el-input
v-model="keywords"
placeholder="请输入姓名关键字搜索"
style="width: 200px;margin: 0 10px;"
></el-input>
<el-button type="primary"> 搜索 </el-button>
</div>
</div>
<div class="table_box">
<el-table
:data="tableData"
border
style="width: 100%"
height="520"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55"> </el-table-column>
<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>
</el-row>
<form-buttons @submit="submitForm" noCancelBtn />
</el-form>
<!-- <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field
label="部门id号"
......@@ -54,95 +137,157 @@
</el-row>
<form-buttons @submit="submitForm" noCancelBtn />
</el-form>
</el-drawer>
</template>
<script>
import form from "@/assets/mixins/formdialog";
export default {
name: "WindowOwnerDetail",
mixins: [form],
components: {},
created() {
this.changePath("window/owner");
</el-form> -->
</el-drawer>
</template>
<script>
import form from "@/assets/mixins/formdialog";
export default {
name: "WindowOwnerDetail",
mixins: [form],
components: {},
created() {
this.changePath("window/owner");
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "窗口负责人",
// 是否显示弹出层
open: false,
direction: "rtl",
toString: [],
toDate: [],
// 表单校验
rules: {},
deptGroup: { 1: "部门1", 2: "部门2", 3: "部门3", 4: "部门4", 5: "部门5" },
options: [
{
value: "1",
label: "部门1",
},
{
value: "2",
label: "部门2",
},
],
type: "",
keywords: "",
tableData: [
{
id: "123456",
name: "xxx",
deptName: "部门1",
zhiwei: "工作人员",
status: "正式",
phone: "130****8888",
check: false,
},
{
id: "123456",
name: "xxx",
deptName: "部门1",
zhiwei: "工作人员",
status: "正式",
phone: "130****8888",
check: false,
},
],
};
},
methods: {
handleSelectionChange(val) {
console.log(val);
this.tableData.forEach((v) => (v.check = false));
val.forEach((v) => {
v.check = true;
});
},
/** 编辑 */
edit(row) {
this.reset();
this.query = { id: row.id };
this.urls.currUrl = "window/owner/edit";
this.getData();
this.pageInfo.type = "edit";
this.title = "修改窗口负责人";
},
/** 新增 */
add(row) {
this.reset();
this.urls.currUrl = "window/owner/add";
this.getData();
this.pageInfo.type = "add";
this.title = "新增窗口负责人";
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "窗口负责人",
// 是否显示弹出层
open: false,
direction: "rtl",
toString: [],
toDate: [],
// 表单校验
rules: {},
/** 查看*/
view(row) {
this.reset();
this.query = { id: row.id };
this.urls.currUrl = "window/owner/view";
this.getData();
this.pageInfo.type = "view";
this.title = "窗口负责人详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
deptId: 0,
deptName: "",
name: "",
number: "",
phone: "",
windowCount: null,
remark: "",
};
this.resetForm("form");
},
methods: {
/** 编辑 */
edit(row) {
this.reset();
this.query = { id: row.id };
this.urls.currUrl = "window/owner/edit";
this.getData();
this.pageInfo.type = "edit";
this.title = "修改窗口负责人";
},
/** 新增 */
add(row) {
this.reset();
this.urls.currUrl = "window/owner/add";
this.getData();
this.pageInfo.type = "add";
this.title = "新增窗口负责人";
},
/** 查看*/
view(row) {
this.reset();
this.query = { id: row.id };
this.urls.currUrl = "window/owner/view";
this.getData();
this.pageInfo.type = "view";
this.title = "窗口负责人详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
deptId: 0,
deptName: "",
name: "",
number: "",
phone: "",
windowCount: null,
remark: "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
};
</script>
\ No newline at end of file
},
};
</script>
<style lang="less" scoped>
.window_form_content {
width: 100%;
height: 100%;
padding: 0 20px;
.bottom_content {
width: 100%;
height: 600px;
background-color: rgba(242, 246, 252, 1);
box-sizing: border-box;
border-width: 1px;
border-style: solid;
border-color: rgba(223, 233, 238, 1);
border-radius: 4px;
padding: 20px;
.content_top {
display: flex;
justify-content: space-between;
margin-bottom: 10px;
}
}
}
</style>
......@@ -413,7 +413,7 @@ export default {
display: flex;
flex-wrap: wrap;
.goal_box {
width: 435px;
width: 405px;
height: 238px;
background: inherit;
background-color: rgba(255, 255, 255, 1);
......
......@@ -90,12 +90,9 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
Claims claims = parseToken(token);
String uuid = (String) claims.get(SysConstains.LOGIN_USER_KEY);
String userKey = getTokenKey(uuid);
// Rest<String> rest = userFeign.getToken(userKey);
// String userStr = rest.getData();
cacheService.select(portalDb);
String userStr = cacheService.get(userKey);
cacheService.select(db);
//cacheService.select(portalDb);
String userStr = cacheService.get(userKey);
//cacheService.select(db);
if (StringUtils.isNotEmpty(userStr)) {
UserEntity userEntity = JSONObject.parseObject(userStr, UserEntity.class);
userEntity.setToken(token);
......
package com.mortals.xhx.busiz;
import com.mortals.xhx.common.code.CommentTypeEnum;
import com.mortals.xhx.common.code.ProcessStatusEnum;
import lombok.Data;
import java.io.Serializable;
@Data
public abstract class BaseReq implements Serializable {
/**
* 当前页
*/
private Integer page;
/**
* 每页条数
*/
private Integer size;
}
package com.mortals.xhx.busiz.req;
import com.mortals.xhx.busiz.BaseReq;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
public class AppealReq extends BaseReq {
//绩效开始时间
private String performStartDate;
//绩效结束时间
private String performEndDate;
//绩效类型
private String performType;
/**
* 当前员工id
*/
private Long staffId;
private Long Id;
}
package com.mortals.xhx.busiz.req;
import com.mortals.xhx.busiz.BaseReq;
import lombok.Data;
import java.io.Serializable;
@Data
public class PerformReq extends BaseReq {
//绩效开始时间
private String performStartDate;
//绩效结束时间
private String performEndDate;
//绩效类型
private String performType;
private Long id;
}
package com.mortals.xhx.busiz.rsp;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class PerformDetailInfo {
/**
* id
*/
private Long id;
/**
* 标题
*/
private String title;
/**
* 扣分方式(1.系统自动,2.人工添加,3.大厅巡查)
*/
private Integer subMethod;
/**
* 扣分时间
*/
private Date errorTime;
/**
* 绩效规则id
*/
private Long ruleId;
/**
* 规则名称
*/
private String ruleName;
/**
* 增减类型(1.增加,2.扣除)
*/
private Integer subAddType;
/**
* 扣分或增加分值
*/
private BigDecimal score;
}
package com.mortals.xhx.busiz.rsp;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class PerformInfo {
/**
* id
*/
private Long id;
/**
* 标题
*/
private String title;
/**
* 扣分方式(1.系统自动,2.人工添加,3.大厅巡查)
*/
private Integer subMethod;
/**
* 扣分时间
*/
private Date errorTime;
/**
* 绩效规则id
*/
private Long ruleId;
/**
* 规则名称
*/
private String ruleName;
/**
* 增减类型(1.增加,2.扣除)
*/
private Integer subAddType;
/**
* 扣分或增加分值
*/
private BigDecimal score;
}
package com.mortals.xhx.busiz.rsp;
import lombok.Data;
@Data
public class PerformStatInfo {
}
package com.mortals.xhx.busiz.web;
import cn.hutool.core.date.DateUtil;
import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.web.BaseJsonBodyController;
import com.mortals.xhx.busiz.req.AppealReq;
import com.mortals.xhx.busiz.req.PerformReq;
import com.mortals.xhx.busiz.rsp.PerformDetailInfo;
import com.mortals.xhx.busiz.rsp.PerformInfo;
import com.mortals.xhx.busiz.rsp.PerformStatInfo;
import com.mortals.xhx.common.code.PerformTypeEnum;
import com.mortals.xhx.module.check.service.*;
import com.mortals.xhx.module.perform.model.PerformAttendAppealEntity;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
import java.util.List;
/**
* h5 申诉
*
* @author: zxfei
* @date: 2023/7/7 15:08
*/
@RestController
@Slf4j
@RequestMapping("/api/v1/")
public class AppealApiController extends BaseJsonBodyController {
@Autowired
private CheckAttendRecordService checkAttendRecordService;
@Autowired
private CheckReviewRecordService checkReviewRecordService;
@Autowired
private CheckComplainRecordService checkComplainRecordService;
@Autowired
private CheckEffectRecordService checkEffectRecordService;
@Autowired
private CheckGoworkRecordService checkGoworkRecordService;
@Autowired
private CheckOtherRecordService checkOtherRecordService;
/**
* 申诉列表
*/
@PostMapping(value = "appeal/list")
public Rest<List<PerformAttendAppealEntity>> performList(@RequestBody AppealReq appealReq) {
String busiDesc = "个人申诉列表";
Rest<List<PerformAttendAppealEntity>> rest = Rest.ok(busiDesc + " 【成功】");
try {
if (ObjectUtils.isEmpty(appealReq.getPerformStartDate())) {
//未设置时间的情况,默认为当月
appealReq.setPerformStartDate(DateUtil.beginOfMonth(new Date()).toDateStr());
appealReq.setPerformEndDate(DateUtil.today());
}
recordSysLog(request, busiDesc + " 【成功】");
} catch (Exception e) {
log.error(busiDesc, e);
rest = Rest.fail(super.convertException(e));
}
return rest;
}
/**
* 申诉详细
*/
@PostMapping(value = "appeal/detail")
public Rest<PerformAttendAppealEntity> performDetail(@RequestBody AppealReq appealReq) {
String busiDesc = "个人申诉详细";
Rest<PerformAttendAppealEntity> rest = Rest.ok(busiDesc + " 【成功】");
try {
if (ObjectUtils.isEmpty(appealReq.getId())) {
throw new AppException("详细查询id不能为空!");
}
recordSysLog(request, busiDesc + " 【成功】");
} catch (Exception e) {
log.error(busiDesc, e);
rest = Rest.fail(super.convertException(e));
}
return rest;
}
/**
* 申诉新增
*/
@PostMapping(value = "appeal/save")
public Rest<String> appealSave(@RequestBody PerformAttendAppealEntity appealEntity) {
String busiDesc = "个人申诉新增";
Rest<String> rest = Rest.ok(busiDesc + " 【成功】");
try {
recordSysLog(request, busiDesc + " 【成功】");
} catch (Exception e) {
log.error(busiDesc, e);
rest = Rest.fail(super.convertException(e));
}
return rest;
}
public static void main(String[] args) {
}
}
package com.mortals.xhx.busiz.web;
import cn.hutool.core.date.DateUtil;
import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.web.BaseJsonBodyController;
import com.mortals.xhx.busiz.req.AppealReq;
import com.mortals.xhx.busiz.req.PerformReq;
import com.mortals.xhx.busiz.rsp.PerformDetailInfo;
import com.mortals.xhx.busiz.rsp.PerformInfo;
import com.mortals.xhx.busiz.rsp.PerformStatInfo;
import com.mortals.xhx.common.code.PerformTypeEnum;
import com.mortals.xhx.module.check.service.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
/**
* h5 绩效
* @author: zxfei
* @date: 2023/7/7 13:20
*/
@RestController
@Slf4j
@RequestMapping("/api/v1/")
public class PerformApiController extends BaseJsonBodyController {
@Autowired
private CheckAttendRecordService checkAttendRecordService;
@Autowired
private CheckReviewRecordService checkReviewRecordService;
@Autowired
private CheckComplainRecordService checkComplainRecordService;
@Autowired
private CheckEffectRecordService checkEffectRecordService;
@Autowired
private CheckGoworkRecordService checkGoworkRecordService;
@Autowired
private CheckOtherRecordService checkOtherRecordService;
/**
* 个人当天绩效统计
*/
@PostMapping(value = "perform/stat")
public Rest<PerformStatInfo> performStat() {
String busiDesc = "H5 个人绩效统计";
Rest<PerformStatInfo> rest = Rest.ok(busiDesc + " 【成功】");
try {
//todo 查询当前登录人的绩效分数
recordSysLog(request, busiDesc + " 【成功】");
} catch (Exception e) {
log.error(busiDesc, e);
rest = Rest.fail(super.convertException(e));
}
return rest;
}
/**
* 个人当月绩效加分扣分列表
*/
@PostMapping(value = "perform/list")
public Rest<List<PerformInfo>> performList(@RequestBody PerformReq performReq) {
String busiDesc = "个人绩效列表";
Rest<List<PerformInfo>> rest = Rest.ok(busiDesc + " 【成功】");
try {
if (ObjectUtils.isEmpty(performReq.getPerformStartDate())) {
//未设置时间的情况,默认为当月
performReq.setPerformStartDate(DateUtil.beginOfMonth(new Date()).toDateStr());
performReq.setPerformEndDate(DateUtil.today());
}
//todo 查询全部扣分绩效
if (PerformTypeEnum.全部.getValue().equals(performReq.getPerformType())) {
} else if (PerformTypeEnum.考勤绩效.getValue().equals(performReq.getPerformType())) {
} else if (PerformTypeEnum.评价差评绩效.getValue().equals(performReq.getPerformType())) {
} else if (PerformTypeEnum.评价投诉绩效.getValue().equals(performReq.getPerformType())) {
} else if (PerformTypeEnum.办件绩效.getValue().equals(performReq.getPerformType())) {
} else if (PerformTypeEnum.效能绩效.getValue().equals(performReq.getPerformType())) {
} else if (PerformTypeEnum.其它绩效.getValue().equals(performReq.getPerformType())) {
} else {
throw new AppException("不支持当前绩效类型");
}
recordSysLog(request, busiDesc + " 【成功】");
} catch (Exception e) {
log.error(busiDesc, e);
rest = Rest.fail(super.convertException(e));
}
return rest;
}
/**
* 扣分加分详细
*/
@PostMapping(value = "perform/detail")
public Rest<PerformDetailInfo> performDetail(@RequestBody PerformReq performReq) {
String busiDesc = "个人绩效增减详细";
Rest<PerformDetailInfo> rest = Rest.ok(busiDesc + " 【成功】");
try {
if (ObjectUtils.isEmpty(performReq.getId())) {
throw new AppException("详细查询id不能为空!");
}
//todo 查询全部扣分绩效详细
if (PerformTypeEnum.考勤绩效.getValue().equals(performReq.getPerformType())) {
} else if (PerformTypeEnum.评价差评绩效.getValue().equals(performReq.getPerformType())) {
} else if (PerformTypeEnum.评价投诉绩效.getValue().equals(performReq.getPerformType())) {
} else if (PerformTypeEnum.办件绩效.getValue().equals(performReq.getPerformType())) {
} else if (PerformTypeEnum.效能绩效.getValue().equals(performReq.getPerformType())) {
} else if (PerformTypeEnum.其它绩效.getValue().equals(performReq.getPerformType())) {
} else {
throw new AppException("不支持当前绩效类型");
}
recordSysLog(request, busiDesc + " 【成功】");
} catch (Exception e) {
log.error(busiDesc, e);
rest = Rest.fail(super.convertException(e));
}
return rest;
}
public static void main(String[] args) {
}
}
package com.mortals.xhx.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* @author: finegirl
* @date: 2021/7/16 11:50
* @description: 组件枚举类
**/
public enum PerformTypeEnum {
全部("all", "全部"),
考勤绩效("attend", "考勤绩效"),
评价差评绩效("review", "评价好差评绩效"),
评价投诉绩效("complain", "评价投诉绩效"),
办件绩效("gowork", "办件绩效"),
效能绩效("effect", "效能绩效"),
其它绩效("other", "其它绩效");
private String value;
private String desc;
PerformTypeEnum(String value, String desc) {
this.value = value;
this.desc = desc;
}
public String getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static PerformTypeEnum getByValue(String value) {
for (PerformTypeEnum componentEnum : PerformTypeEnum.values()) {
if (componentEnum.getValue() == value) {
return componentEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(String... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (PerformTypeEnum item : PerformTypeEnum.values()) {
try {
boolean hasE = false;
for (String 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
package com.mortals.xhx.module.check.service;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.check.model.CheckAttendRecordEntity;
import com.mortals.xhx.module.check.dao.CheckAttendRecordDao;
......@@ -13,4 +15,12 @@ import com.mortals.xhx.module.check.dao.CheckAttendRecordDao;
public interface CheckAttendRecordService extends ICRUDService<CheckAttendRecordEntity,Long>{
CheckAttendRecordDao getDao();
/**
* 核查人工审核
* @param entity
* @param context
* @throws AppException
*/
void examine(CheckAttendRecordEntity entity, Context context) throws AppException;
}
\ No newline at end of file
package com.mortals.xhx.module.check.service;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.check.model.CheckComplainRecordEntity;
import com.mortals.xhx.module.check.dao.CheckComplainRecordDao;
......@@ -13,4 +15,12 @@ import com.mortals.xhx.module.check.dao.CheckComplainRecordDao;
public interface CheckComplainRecordService extends ICRUDService<CheckComplainRecordEntity,Long>{
CheckComplainRecordDao getDao();
/**
* 核查人工审核
* @param entity
* @param context
* @throws AppException
*/
void examine(CheckComplainRecordEntity entity, Context context) throws AppException;
}
\ No newline at end of file
package com.mortals.xhx.module.check.service;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.check.model.CheckEffectRecordEntity;
import com.mortals.xhx.module.check.dao.CheckEffectRecordDao;
......@@ -13,4 +15,12 @@ import com.mortals.xhx.module.check.dao.CheckEffectRecordDao;
public interface CheckEffectRecordService extends ICRUDService<CheckEffectRecordEntity,Long>{
CheckEffectRecordDao getDao();
/**
* 核查人工审核
* @param entity
* @param context
* @throws AppException
*/
void examine(CheckEffectRecordEntity entity, Context context) throws AppException;
}
\ No newline at end of file
package com.mortals.xhx.module.check.service;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.check.model.CheckGoworkRecordEntity;
import com.mortals.xhx.module.check.dao.CheckGoworkRecordDao;
......@@ -14,5 +16,11 @@ public interface CheckGoworkRecordService extends ICRUDService<CheckGoworkRecord
CheckGoworkRecordDao getDao();
/**
* 核查人工审核
* @param entity
* @param context
* @throws AppException
*/
void examine(CheckGoworkRecordEntity entity, Context context) throws AppException;
}
\ No newline at end of file
package com.mortals.xhx.module.check.service;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.check.model.CheckOtherRecordEntity;
import com.mortals.xhx.module.check.dao.CheckOtherRecordDao;
......@@ -13,4 +15,12 @@ import com.mortals.xhx.module.check.dao.CheckOtherRecordDao;
public interface CheckOtherRecordService extends ICRUDService<CheckOtherRecordEntity,Long>{
CheckOtherRecordDao getDao();
/**
* 核查人工审核
* @param entity
* @param context
* @throws AppException
*/
void examine(CheckOtherRecordEntity entity, Context context) throws AppException;
}
\ No newline at end of file
package com.mortals.xhx.module.check.service;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.check.model.CheckReviewRecordEntity;
import com.mortals.xhx.module.check.dao.CheckReviewRecordDao;
......@@ -13,4 +15,12 @@ import com.mortals.xhx.module.check.dao.CheckReviewRecordDao;
public interface CheckReviewRecordService extends ICRUDService<CheckReviewRecordEntity,Long>{
CheckReviewRecordDao getDao();
/**
* 核查人工审核
* @param entity
* @param context
* @throws AppException
*/
void examine(CheckReviewRecordEntity entity, Context context) throws AppException;
}
\ No newline at end of file
package com.mortals.xhx.module.check.service.impl;
import com.mortals.framework.service.IUser;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
......@@ -7,6 +8,9 @@ import com.mortals.xhx.module.check.dao.CheckAttendRecordDao;
import com.mortals.xhx.module.check.model.CheckAttendRecordEntity;
import com.mortals.xhx.module.check.service.CheckAttendRecordService;
import lombok.extern.slf4j.Slf4j;
import java.util.Date;
/**
* CheckAttendRecordService
* 考勤绩效记录核查信息 service实现
......@@ -17,5 +21,20 @@ import lombok.extern.slf4j.Slf4j;
@Service("checkAttendRecordService")
@Slf4j
public class CheckAttendRecordServiceImpl extends AbstractCRUDServiceImpl<CheckAttendRecordDao, CheckAttendRecordEntity, Long> implements CheckAttendRecordService {
@Override
public void examine(CheckAttendRecordEntity entity, Context context) throws AppException {
if(entity.getId()==null){
throw new AppException("核查记录ID不能为空");
}
if (context != null && context.getUser()!=null) {
IUser user = context.getUser();
entity.setUpdateUserId(user.getId());
entity.setCheckPerson(user.getRealName());
}
entity.setCheckTime(new Date());
entity.setUpdateTime(entity.getCheckTime());
entity.setCheckStatus(2); //处理状态(1.未处理,2.已处理)
dao.update(entity);
}
}
\ No newline at end of file
package com.mortals.xhx.module.check.service.impl;
import com.mortals.framework.service.IUser;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
......@@ -7,6 +8,9 @@ import com.mortals.xhx.module.check.dao.CheckComplainRecordDao;
import com.mortals.xhx.module.check.model.CheckComplainRecordEntity;
import com.mortals.xhx.module.check.service.CheckComplainRecordService;
import lombok.extern.slf4j.Slf4j;
import java.util.Date;
/**
* CheckComplainRecordService
* 评价绩效投诉核查信息 service实现
......@@ -17,5 +21,20 @@ import lombok.extern.slf4j.Slf4j;
@Service("checkComplainRecordService")
@Slf4j
public class CheckComplainRecordServiceImpl extends AbstractCRUDServiceImpl<CheckComplainRecordDao, CheckComplainRecordEntity, Long> implements CheckComplainRecordService {
@Override
public void examine(CheckComplainRecordEntity entity, Context context) throws AppException {
if(entity.getId()==null){
throw new AppException("核查记录ID不能为空");
}
if (context != null && context.getUser()!=null) {
IUser user = context.getUser();
entity.setUpdateUserId(user.getId());
entity.setCheckPerson(user.getRealName());
}
entity.setCheckTime(new Date());
entity.setUpdateTime(entity.getCheckTime());
entity.setCheckStatus(2); //处理状态(1.未处理,2.已处理)
dao.update(entity);
}
}
\ No newline at end of file
package com.mortals.xhx.module.check.service.impl;
import com.mortals.framework.service.IUser;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
......@@ -7,6 +8,9 @@ import com.mortals.xhx.module.check.dao.CheckEffectRecordDao;
import com.mortals.xhx.module.check.model.CheckEffectRecordEntity;
import com.mortals.xhx.module.check.service.CheckEffectRecordService;
import lombok.extern.slf4j.Slf4j;
import java.util.Date;
/**
* CheckEffectRecordService
* 效能绩效核查信息 service实现
......@@ -17,5 +21,20 @@ import lombok.extern.slf4j.Slf4j;
@Service("checkEffectRecordService")
@Slf4j
public class CheckEffectRecordServiceImpl extends AbstractCRUDServiceImpl<CheckEffectRecordDao, CheckEffectRecordEntity, Long> implements CheckEffectRecordService {
@Override
public void examine(CheckEffectRecordEntity entity, Context context) throws AppException {
if(entity.getId()==null){
throw new AppException("核查记录ID不能为空");
}
if (context != null && context.getUser()!=null) {
IUser user = context.getUser();
entity.setUpdateUserId(user.getId());
entity.setCheckPerson(user.getRealName());
}
entity.setCheckTime(new Date());
entity.setUpdateTime(entity.getCheckTime());
entity.setCheckStatus(2); //处理状态(1.未处理,2.已处理)
dao.update(entity);
}
}
\ No newline at end of file
package com.mortals.xhx.module.check.service.impl;
import com.mortals.framework.service.IUser;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
......@@ -7,6 +8,9 @@ import com.mortals.xhx.module.check.dao.CheckGoworkRecordDao;
import com.mortals.xhx.module.check.model.CheckGoworkRecordEntity;
import com.mortals.xhx.module.check.service.CheckGoworkRecordService;
import lombok.extern.slf4j.Slf4j;
import java.util.Date;
/**
* CheckGoworkRecordService
* 办件绩效核查信息 service实现
......@@ -17,5 +21,20 @@ import lombok.extern.slf4j.Slf4j;
@Service("checkGoworkRecordService")
@Slf4j
public class CheckGoworkRecordServiceImpl extends AbstractCRUDServiceImpl<CheckGoworkRecordDao, CheckGoworkRecordEntity, Long> implements CheckGoworkRecordService {
@Override
public void examine(CheckGoworkRecordEntity entity, Context context) throws AppException {
if(entity.getId()==null){
throw new AppException("核查记录ID不能为空");
}
if (context != null && context.getUser()!=null) {
IUser user = context.getUser();
entity.setUpdateUserId(user.getId());
entity.setCheckPerson(user.getRealName());
}
entity.setCheckTime(new Date());
entity.setUpdateTime(entity.getCheckTime());
entity.setCheckStatus(2); //处理状态(1.未处理,2.已处理)
dao.update(entity);
}
}
\ No newline at end of file
package com.mortals.xhx.module.check.service.impl;
import com.mortals.framework.service.IUser;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
......@@ -7,6 +8,9 @@ import com.mortals.xhx.module.check.dao.CheckOtherRecordDao;
import com.mortals.xhx.module.check.model.CheckOtherRecordEntity;
import com.mortals.xhx.module.check.service.CheckOtherRecordService;
import lombok.extern.slf4j.Slf4j;
import java.util.Date;
/**
* CheckOtherRecordService
* 其它绩效核查信息 service实现
......@@ -17,5 +21,20 @@ import lombok.extern.slf4j.Slf4j;
@Service("checkOtherRecordService")
@Slf4j
public class CheckOtherRecordServiceImpl extends AbstractCRUDServiceImpl<CheckOtherRecordDao, CheckOtherRecordEntity, Long> implements CheckOtherRecordService {
@Override
public void examine(CheckOtherRecordEntity entity, Context context) throws AppException {
if(entity.getId()==null){
throw new AppException("核查记录ID不能为空");
}
if (context != null && context.getUser()!=null) {
IUser user = context.getUser();
entity.setUpdateUserId(user.getId());
entity.setCheckPerson(user.getRealName());
}
entity.setCheckTime(new Date());
entity.setUpdateTime(entity.getCheckTime());
entity.setCheckStatus(2); //处理状态(1.未处理,2.已处理)
dao.update(entity);
}
}
\ No newline at end of file
package com.mortals.xhx.module.check.service.impl;
import com.mortals.framework.service.IUser;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
......@@ -7,6 +8,9 @@ import com.mortals.xhx.module.check.dao.CheckReviewRecordDao;
import com.mortals.xhx.module.check.model.CheckReviewRecordEntity;
import com.mortals.xhx.module.check.service.CheckReviewRecordService;
import lombok.extern.slf4j.Slf4j;
import java.util.Date;
/**
* CheckReviewRecordService
* 评价差评绩效核查信息 service实现
......@@ -17,5 +21,20 @@ import lombok.extern.slf4j.Slf4j;
@Service("checkReviewRecordService")
@Slf4j
public class CheckReviewRecordServiceImpl extends AbstractCRUDServiceImpl<CheckReviewRecordDao, CheckReviewRecordEntity, Long> implements CheckReviewRecordService {
@Override
public void examine(CheckReviewRecordEntity entity, Context context) throws AppException {
if(entity.getId()==null){
throw new AppException("核查记录ID不能为空");
}
if (context != null && context.getUser()!=null) {
IUser user = context.getUser();
entity.setUpdateUserId(user.getId());
entity.setCheckPerson(user.getRealName());
}
entity.setCheckTime(new Date());
entity.setUpdateTime(entity.getCheckTime());
entity.setCheckStatus(2); //处理状态(1.未处理,2.已处理)
dao.update(entity);
}
}
\ No newline at end of file
package com.mortals.xhx.module.check.web;
import com.mortals.framework.annotation.RepeatSubmit;
import com.mortals.framework.model.BaseEntity;
import com.mortals.framework.service.IUser;
import com.mortals.framework.utils.BeanUtil;
import com.mortals.framework.utils.ReflectUtils;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
......@@ -13,12 +19,10 @@ import com.mortals.xhx.module.check.model.CheckAttendRecordEntity;
import com.mortals.xhx.module.check.service.CheckAttendRecordService;
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.*;
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.*;
......@@ -44,8 +48,40 @@ public class CheckAttendRecordController extends BaseCRUDJsonBodyMappingControll
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "subAddType", paramService.getParamBySecondOrganize("CheckAttendRecord","subAddType"));
this.addDict(model, "checkStatus", paramService.getParamBySecondOrganize("CheckAttendRecord","checkStatus"));
this.addDict(model, "subMethod", paramService.getParamBySecondOrganize("CheckAttendRecord","subMethod"));
super.init(model, context);
}
/**
* 审核
* @param entity
* @return
*/
@PostMapping({"examine"})
public String examine(@RequestBody CheckAttendRecordEntity entity) {
Map<String, Object> model = new HashMap();
Context context = this.getContext();
int code = 1;
String busiDesc = "考勤绩效核查审核";
try {
this.service.examine(entity, context);
model.put("id", entity.getId());
model.put("entity", entity);
model.put("message_info", busiDesc + "成功");
this.recordSysLog(this.request, busiDesc + " 【成功】 [id:" + entity.getId() + "]");
} catch (Exception var9) {
this.doException(this.request, busiDesc, model, var9);
model.put("entity", entity);
this.init(model, context);
code = this.saveException(entity, model, context, var9);
}
this.init(model, context);
JSONObject ret = new JSONObject();
ret.put("code", code);
ret.put("msg", model.remove("message_info"));
ret.put("data", model);
return ret.toJSONString();
}
}
\ No newline at end of file
......@@ -48,4 +48,35 @@ public class CheckComplainRecordController extends BaseCRUDJsonBodyMappingContro
}
/**
* 审核
* @param entity
* @return
*/
@PostMapping({"examine"})
public String examine(@RequestBody CheckComplainRecordEntity entity) {
Map<String, Object> model = new HashMap();
Context context = this.getContext();
int code = 1;
String busiDesc = "考勤绩效核查审核";
try {
this.service.examine(entity, context);
model.put("id", entity.getId());
model.put("entity", entity);
model.put("message_info", busiDesc + "成功");
this.recordSysLog(this.request, busiDesc + " 【成功】 [id:" + entity.getId() + "]");
} catch (Exception var9) {
this.doException(this.request, busiDesc, model, var9);
model.put("entity", entity);
this.init(model, context);
code = this.saveException(entity, model, context, var9);
}
this.init(model, context);
JSONObject ret = new JSONObject();
ret.put("code", code);
ret.put("msg", model.remove("message_info"));
ret.put("data", model);
return ret.toJSONString();
}
}
\ No newline at end of file
......@@ -47,6 +47,36 @@ public class CheckEffectRecordController extends BaseCRUDJsonBodyMappingControll
this.addDict(model, "checkStatus", paramService.getParamBySecondOrganize("CheckEffectRecord","checkStatus"));
super.init(model, context);
}
/**
* 审核
* @param entity
* @return
*/
@PostMapping({"examine"})
public String examine(@RequestBody CheckEffectRecordEntity entity) {
Map<String, Object> model = new HashMap();
Context context = this.getContext();
int code = 1;
String busiDesc = "考勤绩效核查审核";
try {
this.service.examine(entity, context);
model.put("id", entity.getId());
model.put("entity", entity);
model.put("message_info", busiDesc + "成功");
this.recordSysLog(this.request, busiDesc + " 【成功】 [id:" + entity.getId() + "]");
} catch (Exception var9) {
this.doException(this.request, busiDesc, model, var9);
model.put("entity", entity);
this.init(model, context);
code = this.saveException(entity, model, context, var9);
}
this.init(model, context);
JSONObject ret = new JSONObject();
ret.put("code", code);
ret.put("msg", model.remove("message_info"));
ret.put("data", model);
return ret.toJSONString();
}
}
\ No newline at end of file
......@@ -47,5 +47,35 @@ public class CheckGoworkRecordController extends BaseCRUDJsonBodyMappingControll
super.init(model, context);
}
/**
* 审核
* @param entity
* @return
*/
@PostMapping({"examine"})
public String examine(@RequestBody CheckGoworkRecordEntity entity) {
Map<String, Object> model = new HashMap();
Context context = this.getContext();
int code = 1;
String busiDesc = "考勤绩效核查审核";
try {
this.service.examine(entity, context);
model.put("id", entity.getId());
model.put("entity", entity);
model.put("message_info", busiDesc + "成功");
this.recordSysLog(this.request, busiDesc + " 【成功】 [id:" + entity.getId() + "]");
} catch (Exception var9) {
this.doException(this.request, busiDesc, model, var9);
model.put("entity", entity);
this.init(model, context);
code = this.saveException(entity, model, context, var9);
}
this.init(model, context);
JSONObject ret = new JSONObject();
ret.put("code", code);
ret.put("msg", model.remove("message_info"));
ret.put("data", model);
return ret.toJSONString();
}
}
\ No newline at end of file
......@@ -47,6 +47,36 @@ public class CheckOtherRecordController extends BaseCRUDJsonBodyMappingControlle
this.addDict(model, "checkStatus", paramService.getParamBySecondOrganize("CheckOtherRecord","checkStatus"));
super.init(model, context);
}
/**
* 审核
* @param entity
* @return
*/
@PostMapping({"examine"})
public String examine(@RequestBody CheckOtherRecordEntity entity) {
Map<String, Object> model = new HashMap();
Context context = this.getContext();
int code = 1;
String busiDesc = "考勤绩效核查审核";
try {
this.service.examine(entity, context);
model.put("id", entity.getId());
model.put("entity", entity);
model.put("message_info", busiDesc + "成功");
this.recordSysLog(this.request, busiDesc + " 【成功】 [id:" + entity.getId() + "]");
} catch (Exception var9) {
this.doException(this.request, busiDesc, model, var9);
model.put("entity", entity);
this.init(model, context);
code = this.saveException(entity, model, context, var9);
}
this.init(model, context);
JSONObject ret = new JSONObject();
ret.put("code", code);
ret.put("msg", model.remove("message_info"));
ret.put("data", model);
return ret.toJSONString();
}
}
\ No newline at end of file
......@@ -49,5 +49,36 @@ public class CheckReviewRecordController extends BaseCRUDJsonBodyMappingControll
super.init(model, context);
}
/**
* 审核
* @param entity
* @return
*/
@PostMapping({"examine"})
public String examine(@RequestBody CheckReviewRecordEntity entity) {
Map<String, Object> model = new HashMap();
Context context = this.getContext();
int code = 1;
String busiDesc = "考勤绩效核查审核";
try {
this.service.examine(entity, context);
model.put("id", entity.getId());
model.put("entity", entity);
model.put("message_info", busiDesc + "成功");
this.recordSysLog(this.request, busiDesc + " 【成功】 [id:" + entity.getId() + "]");
} catch (Exception var9) {
this.doException(this.request, busiDesc, model, var9);
model.put("entity", entity);
this.init(model, context);
code = this.saveException(entity, model, context, var9);
}
this.init(model, context);
JSONObject ret = new JSONObject();
ret.put("code", code);
ret.put("msg", model.remove("message_info"));
ret.put("data", model);
return ret.toJSONString();
}
}
\ No newline at end of file
......@@ -991,6 +991,38 @@ public class FeedbackQuery extends FeedbackEntity {
this.formContentNotList = formContentNotList;
}
/**
* 获取 表单内容
* @return formContentList
*/
public List<String> getFormContentList(){
return this.formContentList;
}
/**
* 设置 表单内容
* @param formContentList
*/
public void setFormContentList(List<String> formContentList){
this.formContentList = formContentList;
}
/**
* 获取 表单内容
* @return formContentNotList
*/
public List<String> getFormContentNotList(){
return this.formContentNotList;
}
/**
* 设置 表单内容
* @param formContentNotList
*/
public void setFormContentNotList(List<String> formContentNotList){
this.formContentNotList = formContentNotList;
}
/**
* 设置 序号,主键,自增长
* @param id
......@@ -1430,7 +1462,6 @@ public class FeedbackQuery extends FeedbackEntity {
}
/**
* 设置 表单内容
* @param formContent
......
......@@ -12,7 +12,7 @@ import lombok.Data;
* 员工基本信息实体对象
*
* @author zxfei
* @date 2023-05-16
* @date 2023-07-07
*/
@Data
public class StaffEntity extends StaffVo {
......@@ -114,6 +114,18 @@ public class StaffEntity extends StaffVo {
* 绩效分数
*/
private BigDecimal score;
/**
* 员工登录名
*/
private String loginName;
/**
* 员工登录密码
*/
private String loginPwd;
/**
* 最后登录时间
*/
private Date lastLoginTime;
@Override
public int hashCode() {
return this.getId().hashCode();
......@@ -179,5 +191,11 @@ public class StaffEntity extends StaffVo {
this.serverIndexCode = "";
this.score = new BigDecimal(0);
this.loginName = "";
this.loginPwd = "";
this.lastLoginTime = null;
}
}
\ No newline at end of file
......@@ -8,7 +8,7 @@ import com.mortals.xhx.module.staff.model.StaffEntity;
* 员工基本信息查询对象
*
* @author zxfei
* @date 2023-05-16
* @date 2023-07-07
*/
public class StaffQuery extends StaffEntity {
/** 开始 序号,主键,自增长 */
......@@ -272,6 +272,22 @@ public class StaffQuery extends StaffEntity {
/** 绩效分数排除列表 */
private List <BigDecimal> scoreNotList;
/** 员工登录名 */
private List<String> loginNameList;
/** 员工登录名排除列表 */
private List <String> loginNameNotList;
/** 员工登录密码 */
private List<String> loginPwdList;
/** 员工登录密码排除列表 */
private List <String> loginPwdNotList;
/** 开始 最后登录时间 */
private String lastLoginTimeStart;
/** 结束 最后登录时间 */
private String lastLoginTimeEnd;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<StaffQuery> orConditionList;
......@@ -1747,6 +1763,102 @@ public class StaffQuery extends StaffEntity {
}
/**
* 获取 员工登录名
* @return loginNameList
*/
public List<String> getLoginNameList(){
return this.loginNameList;
}
/**
* 设置 员工登录名
* @param loginNameList
*/
public void setLoginNameList(List<String> loginNameList){
this.loginNameList = loginNameList;
}
/**
* 获取 员工登录名
* @return loginNameNotList
*/
public List<String> getLoginNameNotList(){
return this.loginNameNotList;
}
/**
* 设置 员工登录名
* @param loginNameNotList
*/
public void setLoginNameNotList(List<String> loginNameNotList){
this.loginNameNotList = loginNameNotList;
}
/**
* 获取 员工登录密码
* @return loginPwdList
*/
public List<String> getLoginPwdList(){
return this.loginPwdList;
}
/**
* 设置 员工登录密码
* @param loginPwdList
*/
public void setLoginPwdList(List<String> loginPwdList){
this.loginPwdList = loginPwdList;
}
/**
* 获取 员工登录密码
* @return loginPwdNotList
*/
public List<String> getLoginPwdNotList(){
return this.loginPwdNotList;
}
/**
* 设置 员工登录密码
* @param loginPwdNotList
*/
public void setLoginPwdNotList(List<String> loginPwdNotList){
this.loginPwdNotList = loginPwdNotList;
}
/**
* 获取 开始 最后登录时间
* @return lastLoginTimeStart
*/
public String getLastLoginTimeStart(){
return this.lastLoginTimeStart;
}
/**
* 设置 开始 最后登录时间
* @param lastLoginTimeStart
*/
public void setLastLoginTimeStart(String lastLoginTimeStart){
this.lastLoginTimeStart = lastLoginTimeStart;
}
/**
* 获取 结束 最后登录时间
* @return lastLoginTimeEnd
*/
public String getLastLoginTimeEnd(){
return this.lastLoginTimeEnd;
}
/**
* 设置 结束 最后登录时间
* @param lastLoginTimeEnd
*/
public void setLastLoginTimeEnd(String lastLoginTimeEnd){
this.lastLoginTimeEnd = lastLoginTimeEnd;
}
/**
* 设置 序号,主键,自增长
* @param id
......@@ -2575,6 +2687,45 @@ public class StaffQuery extends StaffEntity {
return this;
}
/**
* 设置 员工登录名
* @param loginName
*/
public StaffQuery loginName(String loginName){
setLoginName(loginName);
return this;
}
/**
* 设置 员工登录名
* @param loginNameList
*/
public StaffQuery loginNameList(List<String> loginNameList){
this.loginNameList = loginNameList;
return this;
}
/**
* 设置 员工登录密码
* @param loginPwd
*/
public StaffQuery loginPwd(String loginPwd){
setLoginPwd(loginPwd);
return this;
}
/**
* 设置 员工登录密码
* @param loginPwdList
*/
public StaffQuery loginPwdList(List<String> loginPwdList){
this.loginPwdList = loginPwdList;
return this;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
......
......@@ -28,40 +28,45 @@ PRIMARY KEY (`id`)
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_staff`;
CREATE TABLE mortals_xhx_staff(
`id` bigint(20) AUTO_INCREMENT COMMENT '序号,主键,自增长',
`name` varchar(64) NOT NULL COMMENT '员工姓名',
`gender` tinyint(2) DEFAULT '1' COMMENT '性别(1.男,2.女)',
`birthday` datetime COMMENT '出生日期',
`photoPath` varchar(255) COMMENT '照片',
`phoneNumber` varchar(128) COMMENT '联系电话',
`idCard` varchar(128) COMMENT '身份证号码',
`workNum` varchar(128) COMMENT '工号',
`politicalstatus` tinyint(2) DEFAULT '1' COMMENT '政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)',
`deptId` bigint(20) COMMENT '所属部门',
`deptName` varchar(128) COMMENT '所属部门名称',
`positionId` bigint(20) COMMENT '职位ID',
`positionName` varchar(128) COMMENT '职位名称',
`staffType` tinyint(2) DEFAULT '1' COMMENT '员工类型(1.全职,2.兼职,3.实习)',
`status` tinyint(2) DEFAULT '1' COMMENT '员工状态(1.正式,2.试用,3.离职)',
`registerPath` varchar(255) COMMENT '入职登记表',
`entryDate` datetime COMMENT '入职时间',
`regularDate` datetime COMMENT '转正时间',
`leaveDate` datetime COMMENT '离职时间',
`remark` varchar(255) COMMENT '备注',
`createUserId` bigint(20) NOT NULL COMMENT '创建用户',
`createTime` datetime NOT NULL COMMENT '创建时间',
`updateUserId` bigint(20) COMMENT '更新用户',
`updateTime` datetime COMMENT '更新时间',
`remarkId` varchar(255) COMMENT '备注id',
`source` tinyint(2) DEFAULT '1' COMMENT '员工来源(1.外部,2.内部)',
`picUri` varchar(255) COMMENT '相对图片pic',
`serverIndexCode` varchar(255) COMMENT '图片资源唯一标识',
PRIMARY KEY (`id`)
`id` bigint(20) AUTO_INCREMENT COMMENT '序号,主键,自增长',
`name` varchar(64) NOT NULL COMMENT '员工姓名',
`gender` tinyint(2) DEFAULT '1' COMMENT '性别(1.男,2.女)',
`birthday` datetime COMMENT '出生日期',
`photoPath` varchar(255) COMMENT '照片',
`phoneNumber` varchar(128) COMMENT '联系电话',
`idCard` varchar(128) COMMENT '身份证号码',
`workNum` varchar(128) COMMENT '工号',
`politicalstatus` tinyint(2) DEFAULT '1' COMMENT '政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)',
`deptId` bigint(20) COMMENT '所属部门',
`deptName` varchar(128) COMMENT '所属部门名称',
`positionId` bigint(20) COMMENT '职位ID',
`positionName` varchar(128) COMMENT '职位名称',
`staffType` tinyint(2) DEFAULT '1' COMMENT '员工类型(1.全职,2.兼职,3.实习)',
`status` tinyint(2) DEFAULT '1' COMMENT '员工状态(1.正式,2.试用,3.离职)',
`source` tinyint(2) DEFAULT '1' COMMENT '员工来源(1.外部,2.内部)',
`registerPath` varchar(255) COMMENT '入职登记表',
`entryDate` datetime COMMENT '入职时间',
`regularDate` datetime COMMENT '转正时间',
`leaveDate` datetime COMMENT '离职时间',
`remark` varchar(255) COMMENT '备注',
`createUserId` bigint(20) NOT NULL COMMENT '创建用户',
`createTime` datetime NOT NULL COMMENT '创建时间',
`updateUserId` bigint(20) COMMENT '更新用户',
`updateTime` datetime COMMENT '更新时间',
`remarkId` varchar(255) COMMENT '备注',
`picUri` varchar(255) COMMENT '相对图片pic',
`serverIndexCode` varchar(255) COMMENT '图片资源唯一标识',
`score` decimal(10,2) COMMENT '绩效分数',
`loginName` varchar(64) NOT NULL COMMENT '员工登录名',
`loginPwd` varchar(64) NOT NULL COMMENT '员工登录密码',
`lastLoginTime` 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