Commit efd210fe authored by 赵啸非's avatar 赵啸非

添加假日数据

parent 5fae7a1d
......@@ -39,6 +39,7 @@ const router = new Router({
...restBuilder("task", "system/task"), // 系统管理--任务管理
// 绩效负责人
...restBuilder("workman", "workman"),
...restBuilder("holiday", "holiday"),
//部门
...restBuilder("dept", "dept"), //部门
......
<template>
<!-- 弹出框表单 -->
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="站点ID" prop="siteId" v-model="form.siteId" placeholder="请输入站点ID"/>
<Field label="节日名称" prop="name" v-model="form.name" placeholder="请输入节日名称"/>
<Field label="备注" prop="summary" v-model="form.summary" type="textarea" placeholder="请输入备注"/>
<Field label="年份" prop="year" v-model="form.year" placeholder="请输入年份"/>
<Field label="开始时间" prop="startTime" v-model="form.startTime" type="date" />
<Field label="结束时间" prop="endTime" v-model="form.endTime" type="date" />
<Field label="是否工作日" prop="workorholiday" v-model="form.workorholiday" type="select" :enumData="dict.workorholiday" placeholder="请选择是否工作日"/>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" v-if="pageInfo.type !== 'view'" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow";
export default {
mixins: [form],
components: {
dialogShow ,
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "节假日",
// 是否显示弹出层
open: false,
toString:[
"workorholiday",
],
// 表单校验
rules: {
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="holiday/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改节假日";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "holiday/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增节假日";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="holiday/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 = {
siteId : null,
name : "",
summary : "",
year : null,
startTime : null,
endTime : null,
workorholiday : 0,
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
<template>
<div class="page">
<LayoutTable notAdd notDel :data="tableData" :config="tableConfig">
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
export default {
name: "HolidayList",
components: {
dialogShow
},
mixins: [table],
created() {
},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
},
},
data() {
return {
config: {
search: [
],
columns: [
{type: "index",label: "序号",width: 50},
{label: "节日名称", prop: "name"},
{label: "备注", prop: "summary"},
{label: "年份", prop: "year",formatter: this.formatter},
{label: "开始时间", prop: "startTime", formatter: this.formatterDateOnly},
{label: "工作日", prop: "workorholiday",formatter: this.formatter},
{
label: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} noDel onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
};
</script>
\ No newline at end of file
<template>
<layout-view>
<el-descriptions :title="title" :column="column" :size="size" :colon="false" border>
<template slot="title">
<i class="el-icon-tickets"></i>
基本详细信息
</template>
<template slot="extra">
<el-button type="primary" @click="$router.go(-1)" size="small">返回</el-button>
</template>
<el-descriptions-item label="站点ID" label-class-name="labelClass" content-class-name="contentClass">
{{form.siteId}}
</el-descriptions-item>
<el-descriptions-item label="节日名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.name}}
</el-descriptions-item>
<el-descriptions-item label="备注" label-class-name="labelClass" content-class-name="contentClass">
{{form.summary}}
</el-descriptions-item>
<el-descriptions-item label="年份" label-class-name="labelClass" content-class-name="contentClass">
{{form.year}}
</el-descriptions-item>
<el-descriptions-item label="开始时间" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatterDate(form.startTime)}}
</el-descriptions-item>
<el-descriptions-item label="结束时间" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatterDate(form.endTime)}}
</el-descriptions-item>
<el-descriptions-item label="是否工作日" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("workorholiday", form.workorholiday) }}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<script>
import view from "@/assets/mixins/view";
export default {
mixins: [view],
components: {
},
methods: {
},
data() {
return {
size:"small",
column:2,
toString:[
"workorholiday",
],
toArrays: [
],
toDate: [
]
}
}
}
</script>
<style lang="less">
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</style>
\ No newline at end of file
package com.mortals.xhx.daemon.task;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.service.ITask;
import com.mortals.framework.service.ITaskExcuteService;
import com.mortals.xhx.common.code.AuditStatusEnum;
import com.mortals.xhx.common.code.StaffSatusEnum;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.pdu.RespData;
import com.mortals.xhx.common.pdu.holiday.HolidayPdu;
import com.mortals.xhx.common.utils.BeanUtil;
import com.mortals.xhx.feign.holiday.IHolidayFeign;
import com.mortals.xhx.module.attendance.model.AttendanceStatEntity;
import com.mortals.xhx.module.attendance.model.AttendanceVacationBalanceEntity;
import com.mortals.xhx.module.attendance.service.AttendanceStatService;
import com.mortals.xhx.module.attendance.service.AttendanceVacationBalanceService;
import com.mortals.xhx.module.dept.model.DeptEntity;
import com.mortals.xhx.module.dept.model.DeptQuery;
import com.mortals.xhx.module.dept.service.DeptService;
import com.mortals.xhx.module.hik.person.model.req.org.OrgListReq;
import com.mortals.xhx.module.hik.person.model.req.person.PersonReq;
import com.mortals.xhx.module.hik.person.model.rsp.org.OrgDataInfo;
import com.mortals.xhx.module.hik.person.model.rsp.org.OrgInfo;
import com.mortals.xhx.module.hik.person.model.rsp.person.PersonDataInfo;
import com.mortals.xhx.module.hik.person.model.rsp.person.PersonInfo;
import com.mortals.xhx.module.hik.person.service.IHikPersonService;
import com.mortals.xhx.module.holiday.model.HolidayEntity;
import com.mortals.xhx.module.holiday.model.HolidayQuery;
import com.mortals.xhx.module.holiday.service.HolidayService;
import com.mortals.xhx.module.staff.model.StaffEntity;
import com.mortals.xhx.module.staff.model.StaffLeaveEntity;
import com.mortals.xhx.module.staff.model.StaffQuery;
import com.mortals.xhx.module.staff.service.StaffLeaveService;
import com.mortals.xhx.module.staff.service.StaffService;
import lombok.extern.slf4j.Slf4j;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 同步节假日
*/
@Slf4j
@Service("SyncHolidayTask")
public class SyncHolidayTaskImpl implements ITaskExcuteService {
@Autowired
private IHolidayFeign holidayFeign;
@Autowired
private HolidayService holidayService;
@Override
public void excuteTask(ITask task) throws AppException {
HolidayPdu holidayPdu = new HolidayPdu();
holidayPdu.setYear(DateUtil.year(new Date()));
holidayPdu.setSize(-1);
Rest<RespData<List<HolidayPdu>>> respDataRest = holidayFeign.list(holidayPdu);
if (respDataRest.getCode() == YesNoEnum.YES.getValue()) {
List<HolidayPdu> holidayPduList = respDataRest.getData().getData();
for (HolidayPdu pdu : holidayPduList) {
//判断当前日期的节假日是否存在
HolidayQuery holidayQuery = new HolidayQuery();
holidayQuery.setStartTimeStart(DateUtil.formatDate(pdu.getStartTime()));
holidayQuery.setStartTimeEnd(DateUtil.formatDate(pdu.getStartTime()));
HolidayEntity holidayEntity = holidayService.selectOne(holidayQuery);
if (ObjectUtils.isEmpty(holidayEntity)) {
//新增
holidayEntity = new HolidayEntity();
holidayEntity.initAttrValue();
BeanUtils.copyProperties(pdu, holidayEntity, BeanUtil.getNullPropertyNames(pdu));
holidayEntity.setCreateTime(new Date());
holidayEntity.setCreateUserId(1L);
holidayService.save(holidayEntity);
}
}
}
}
@Override
public void stopTask(ITask task) throws AppException {
}
}
package com.mortals.xhx.module.holiday.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.holiday.model.HolidayEntity;
/**
* 节假日Dao
* 节假日 DAO接口
*
* @author zxfei
* @date 2022-01-12
*/
public interface HolidayDao extends ICRUDDao<HolidayEntity,Long>{
}
package com.mortals.xhx.module.holiday.dao.ibatis;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import com.mortals.xhx.module.holiday.dao.HolidayDao;
import com.mortals.xhx.module.holiday.model.HolidayEntity;
import org.springframework.stereotype.Repository;
/**
* 节假日DaoImpl DAO接口
*
* @author zxfei
* @date 2022-01-12
*/
@Repository("holidayDao")
public class HolidayDaoImpl extends BaseCRUDDaoMybatis<HolidayEntity,Long> implements HolidayDao {
}
package com.mortals.xhx.module.holiday.model;
import com.mortals.xhx.module.holiday.model.vo.HolidayVo;
import java.util.Date;
/**
* 节假日实体对象
*
* @author zxfei
* @date 2022-01-12
*/
public class HolidayEntity extends HolidayVo {
private static final long serialVersionUID = 1L;
/**
* 站点ID
*/
private Long siteId;
/**
* 站点名称
*/
private String siteName;
/**
* 节日名称
*/
private String name;
/**
* 备注
*/
private String summary;
/**
* 年份
*/
private Integer year;
/**
* 开始时间
*/
private Date startTime;
/**
* 结束时间
*/
private Date endTime;
/**
* 是否工作日(0.节假日,1.工作日)
*/
private Integer workorholiday;
public HolidayEntity(){}
/**
* 获取 站点ID
* @return Long
*/
public Long getSiteId(){
return siteId;
}
/**
* 设置 站点ID
* @param siteId
*/
public void setSiteId(Long siteId){
this.siteId = siteId;
}
/**
* 获取 站点名称
* @return String
*/
public String getSiteName(){
return siteName;
}
/**
* 设置 站点名称
* @param siteName
*/
public void setSiteName(String siteName){
this.siteName = siteName;
}
/**
* 获取 节日名称
* @return String
*/
public String getName(){
return name;
}
/**
* 设置 节日名称
* @param name
*/
public void setName(String name){
this.name = name;
}
/**
* 获取 备注
* @return String
*/
public String getSummary(){
return summary;
}
/**
* 设置 备注
* @param summary
*/
public void setSummary(String summary){
this.summary = summary;
}
/**
* 获取 年份
* @return Integer
*/
public Integer getYear(){
return year;
}
/**
* 设置 年份
* @param year
*/
public void setYear(Integer year){
this.year = year;
}
/**
* 获取 开始时间
* @return Date
*/
public Date getStartTime(){
return startTime;
}
/**
* 设置 开始时间
* @param startTime
*/
public void setStartTime(Date startTime){
this.startTime = startTime;
}
/**
* 获取 结束时间
* @return Date
*/
public Date getEndTime(){
return endTime;
}
/**
* 设置 结束时间
* @param endTime
*/
public void setEndTime(Date endTime){
this.endTime = endTime;
}
/**
* 获取 是否工作日(0.节假日,1.工作日)
* @return Integer
*/
public Integer getWorkorholiday(){
return workorholiday;
}
/**
* 设置 是否工作日(0.节假日,1.工作日)
* @param workorholiday
*/
public void setWorkorholiday(Integer workorholiday){
this.workorholiday = workorholiday;
}
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof HolidayEntity) {
HolidayEntity tmp = (HolidayEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public String toString(){
StringBuilder sb = new StringBuilder("");
sb.append(",siteId:").append(getSiteId());
sb.append(",siteName:").append(getSiteName());
sb.append(",name:").append(getName());
sb.append(",summary:").append(getSummary());
sb.append(",year:").append(getYear());
sb.append(",startTime:").append(getStartTime());
sb.append(",endTime:").append(getEndTime());
sb.append(",workorholiday:").append(getWorkorholiday());
return sb.toString();
}
public void initAttrValue(){
this.siteId = null;
this.siteName = null;
this.name = null;
this.summary = null;
this.year = null;
this.startTime = null;
this.endTime = null;
this.workorholiday = 0;
}
}
\ No newline at end of file
package com.mortals.xhx.module.holiday.model;
import java.util.List;
/**
* 节假日查询对象
*
* @author zxfei
* @date 2022-01-12
*/
public class HolidayQuery extends HolidayEntity {
/** 开始 序号,主键,自增长 */
private Long idStart;
/** 结束 序号,主键,自增长 */
private Long idEnd;
/** 增加 序号,主键,自增长 */
private Long idIncrement;
/** 序号,主键,自增长列表 */
private List <Long> idList;
/** 开始 站点ID */
private Long siteIdStart;
/** 结束 站点ID */
private Long siteIdEnd;
/** 增加 站点ID */
private Long siteIdIncrement;
/** 站点ID列表 */
private List <Long> siteIdList;
/** 站点名称 */
private List<String> siteNameList;
/** 节日名称 */
private List<String> nameList;
/** 备注 */
private List<String> summaryList;
/** 开始 年份 */
private Integer yearStart;
/** 结束 年份 */
private Integer yearEnd;
/** 增加 年份 */
private Integer yearIncrement;
/** 年份列表 */
private List <Integer> yearList;
/** 开始 开始时间 */
private String startTimeStart;
/** 结束 开始时间 */
private String startTimeEnd;
/** 开始 结束时间 */
private String endTimeStart;
/** 结束 结束时间 */
private String endTimeEnd;
/** 开始 是否工作日(0.节假日,1.工作日) */
private Integer workorholidayStart;
/** 结束 是否工作日(0.节假日,1.工作日) */
private Integer workorholidayEnd;
/** 增加 是否工作日(0.节假日,1.工作日) */
private Integer workorholidayIncrement;
/** 是否工作日(0.节假日,1.工作日)列表 */
private List <Integer> workorholidayList;
/** 开始 创建时间 */
private String createTimeStart;
/** 结束 创建时间 */
private String createTimeEnd;
/** 开始 创建用户 */
private Long createUserIdStart;
/** 结束 创建用户 */
private Long createUserIdEnd;
/** 增加 创建用户 */
private Long createUserIdIncrement;
/** 创建用户列表 */
private List <Long> createUserIdList;
/** 开始 修改时间 */
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<HolidayQuery> orConditionList;
/** AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4) */
private List<HolidayQuery> andConditionList;
public HolidayQuery(){}
/**
* 获取 开始 序号,主键,自增长
* @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;
}
/**
* 获取 开始 站点ID
* @return siteIdStart
*/
public Long getSiteIdStart(){
return this.siteIdStart;
}
/**
* 设置 开始 站点ID
* @param siteIdStart
*/
public void setSiteIdStart(Long siteIdStart){
this.siteIdStart = siteIdStart;
}
/**
* 获取 结束 站点ID
* @return $siteIdEnd
*/
public Long getSiteIdEnd(){
return this.siteIdEnd;
}
/**
* 设置 结束 站点ID
* @param siteIdEnd
*/
public void setSiteIdEnd(Long siteIdEnd){
this.siteIdEnd = siteIdEnd;
}
/**
* 获取 增加 站点ID
* @return siteIdIncrement
*/
public Long getSiteIdIncrement(){
return this.siteIdIncrement;
}
/**
* 设置 增加 站点ID
* @param siteIdIncrement
*/
public void setSiteIdIncrement(Long siteIdIncrement){
this.siteIdIncrement = siteIdIncrement;
}
/**
* 获取 站点ID
* @return siteIdList
*/
public List<Long> getSiteIdList(){
return this.siteIdList;
}
/**
* 设置 站点ID
* @param siteIdList
*/
public void setSiteIdList(List<Long> siteIdList){
this.siteIdList = siteIdList;
}
/**
* 获取 站点名称
* @return siteNameList
*/
public List<String> getSiteNameList(){
return this.siteNameList;
}
/**
* 设置 站点名称
* @param siteNameList
*/
public void setSiteNameList(List<String> siteNameList){
this.siteNameList = siteNameList;
}
/**
* 获取 节日名称
* @return nameList
*/
public List<String> getNameList(){
return this.nameList;
}
/**
* 设置 节日名称
* @param nameList
*/
public void setNameList(List<String> nameList){
this.nameList = nameList;
}
/**
* 获取 备注
* @return summaryList
*/
public List<String> getSummaryList(){
return this.summaryList;
}
/**
* 设置 备注
* @param summaryList
*/
public void setSummaryList(List<String> summaryList){
this.summaryList = summaryList;
}
/**
* 获取 开始 年份
* @return yearStart
*/
public Integer getYearStart(){
return this.yearStart;
}
/**
* 设置 开始 年份
* @param yearStart
*/
public void setYearStart(Integer yearStart){
this.yearStart = yearStart;
}
/**
* 获取 结束 年份
* @return $yearEnd
*/
public Integer getYearEnd(){
return this.yearEnd;
}
/**
* 设置 结束 年份
* @param yearEnd
*/
public void setYearEnd(Integer yearEnd){
this.yearEnd = yearEnd;
}
/**
* 获取 增加 年份
* @return yearIncrement
*/
public Integer getYearIncrement(){
return this.yearIncrement;
}
/**
* 设置 增加 年份
* @param yearIncrement
*/
public void setYearIncrement(Integer yearIncrement){
this.yearIncrement = yearIncrement;
}
/**
* 获取 年份
* @return yearList
*/
public List<Integer> getYearList(){
return this.yearList;
}
/**
* 设置 年份
* @param yearList
*/
public void setYearList(List<Integer> yearList){
this.yearList = yearList;
}
/**
* 获取 开始 开始时间
* @return startTimeStart
*/
public String getStartTimeStart(){
return this.startTimeStart;
}
/**
* 设置 开始 开始时间
* @param startTimeStart
*/
public void setStartTimeStart(String startTimeStart){
this.startTimeStart = startTimeStart;
}
/**
* 获取 结束 开始时间
* @return startTimeEnd
*/
public String getStartTimeEnd(){
return this.startTimeEnd;
}
/**
* 设置 结束 开始时间
* @param startTimeEnd
*/
public void setStartTimeEnd(String startTimeEnd){
this.startTimeEnd = startTimeEnd;
}
/**
* 获取 开始 结束时间
* @return endTimeStart
*/
public String getEndTimeStart(){
return this.endTimeStart;
}
/**
* 设置 开始 结束时间
* @param endTimeStart
*/
public void setEndTimeStart(String endTimeStart){
this.endTimeStart = endTimeStart;
}
/**
* 获取 结束 结束时间
* @return endTimeEnd
*/
public String getEndTimeEnd(){
return this.endTimeEnd;
}
/**
* 设置 结束 结束时间
* @param endTimeEnd
*/
public void setEndTimeEnd(String endTimeEnd){
this.endTimeEnd = endTimeEnd;
}
/**
* 获取 开始 是否工作日(0.节假日,1.工作日)
* @return workorholidayStart
*/
public Integer getWorkorholidayStart(){
return this.workorholidayStart;
}
/**
* 设置 开始 是否工作日(0.节假日,1.工作日)
* @param workorholidayStart
*/
public void setWorkorholidayStart(Integer workorholidayStart){
this.workorholidayStart = workorholidayStart;
}
/**
* 获取 结束 是否工作日(0.节假日,1.工作日)
* @return $workorholidayEnd
*/
public Integer getWorkorholidayEnd(){
return this.workorholidayEnd;
}
/**
* 设置 结束 是否工作日(0.节假日,1.工作日)
* @param workorholidayEnd
*/
public void setWorkorholidayEnd(Integer workorholidayEnd){
this.workorholidayEnd = workorholidayEnd;
}
/**
* 获取 增加 是否工作日(0.节假日,1.工作日)
* @return workorholidayIncrement
*/
public Integer getWorkorholidayIncrement(){
return this.workorholidayIncrement;
}
/**
* 设置 增加 是否工作日(0.节假日,1.工作日)
* @param workorholidayIncrement
*/
public void setWorkorholidayIncrement(Integer workorholidayIncrement){
this.workorholidayIncrement = workorholidayIncrement;
}
/**
* 获取 是否工作日(0.节假日,1.工作日)
* @return workorholidayList
*/
public List<Integer> getWorkorholidayList(){
return this.workorholidayList;
}
/**
* 设置 是否工作日(0.节假日,1.工作日)
* @param workorholidayList
*/
public void setWorkorholidayList(List<Integer> workorholidayList){
this.workorholidayList = workorholidayList;
}
/**
* 获取 开始 创建时间
* @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 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 HolidayQuery id(Long id){
setId(id);
return this;
}
/**
* 设置 开始 序号,主键,自增长
* @param idStart
*/
public HolidayQuery idStart(Long idStart){
this.idStart = idStart;
return this;
}
/**
* 设置 结束 序号,主键,自增长
* @param idEnd
*/
public HolidayQuery idEnd(Long idEnd){
this.idEnd = idEnd;
return this;
}
/**
* 设置 增加 序号,主键,自增长
* @param idIncrement
*/
public HolidayQuery idIncrement(Long idIncrement){
this.idIncrement = idIncrement;
return this;
}
/**
* 设置 序号,主键,自增长
* @param idList
*/
public HolidayQuery idList(List<Long> idList){
this.idList = idList;
return this;
}
/**
* 设置 站点ID
* @param siteId
*/
public HolidayQuery siteId(Long siteId){
setSiteId(siteId);
return this;
}
/**
* 设置 开始 站点ID
* @param siteIdStart
*/
public HolidayQuery siteIdStart(Long siteIdStart){
this.siteIdStart = siteIdStart;
return this;
}
/**
* 设置 结束 站点ID
* @param siteIdEnd
*/
public HolidayQuery siteIdEnd(Long siteIdEnd){
this.siteIdEnd = siteIdEnd;
return this;
}
/**
* 设置 增加 站点ID
* @param siteIdIncrement
*/
public HolidayQuery siteIdIncrement(Long siteIdIncrement){
this.siteIdIncrement = siteIdIncrement;
return this;
}
/**
* 设置 站点ID
* @param siteIdList
*/
public HolidayQuery siteIdList(List<Long> siteIdList){
this.siteIdList = siteIdList;
return this;
}
/**
* 设置 站点名称
* @param siteName
*/
public HolidayQuery siteName(String siteName){
setSiteName(siteName);
return this;
}
/**
* 设置 站点名称
* @param siteNameList
*/
public HolidayQuery siteNameList(List<String> siteNameList){
this.siteNameList = siteNameList;
return this;
}
/**
* 设置 节日名称
* @param name
*/
public HolidayQuery name(String name){
setName(name);
return this;
}
/**
* 设置 节日名称
* @param nameList
*/
public HolidayQuery nameList(List<String> nameList){
this.nameList = nameList;
return this;
}
/**
* 设置 备注
* @param summary
*/
public HolidayQuery summary(String summary){
setSummary(summary);
return this;
}
/**
* 设置 备注
* @param summaryList
*/
public HolidayQuery summaryList(List<String> summaryList){
this.summaryList = summaryList;
return this;
}
/**
* 设置 年份
* @param year
*/
public HolidayQuery year(Integer year){
setYear(year);
return this;
}
/**
* 设置 开始 年份
* @param yearStart
*/
public HolidayQuery yearStart(Integer yearStart){
this.yearStart = yearStart;
return this;
}
/**
* 设置 结束 年份
* @param yearEnd
*/
public HolidayQuery yearEnd(Integer yearEnd){
this.yearEnd = yearEnd;
return this;
}
/**
* 设置 增加 年份
* @param yearIncrement
*/
public HolidayQuery yearIncrement(Integer yearIncrement){
this.yearIncrement = yearIncrement;
return this;
}
/**
* 设置 年份
* @param yearList
*/
public HolidayQuery yearList(List<Integer> yearList){
this.yearList = yearList;
return this;
}
/**
* 设置 是否工作日(0.节假日,1.工作日)
* @param workorholiday
*/
public HolidayQuery workorholiday(Integer workorholiday){
setWorkorholiday(workorholiday);
return this;
}
/**
* 设置 开始 是否工作日(0.节假日,1.工作日)
* @param workorholidayStart
*/
public HolidayQuery workorholidayStart(Integer workorholidayStart){
this.workorholidayStart = workorholidayStart;
return this;
}
/**
* 设置 结束 是否工作日(0.节假日,1.工作日)
* @param workorholidayEnd
*/
public HolidayQuery workorholidayEnd(Integer workorholidayEnd){
this.workorholidayEnd = workorholidayEnd;
return this;
}
/**
* 设置 增加 是否工作日(0.节假日,1.工作日)
* @param workorholidayIncrement
*/
public HolidayQuery workorholidayIncrement(Integer workorholidayIncrement){
this.workorholidayIncrement = workorholidayIncrement;
return this;
}
/**
* 设置 是否工作日(0.节假日,1.工作日)
* @param workorholidayList
*/
public HolidayQuery workorholidayList(List<Integer> workorholidayList){
this.workorholidayList = workorholidayList;
return this;
}
/**
* 设置 创建用户
* @param createUserId
*/
public HolidayQuery createUserId(Long createUserId){
setCreateUserId(createUserId);
return this;
}
/**
* 设置 开始 创建用户
* @param createUserIdStart
*/
public HolidayQuery createUserIdStart(Long createUserIdStart){
this.createUserIdStart = createUserIdStart;
return this;
}
/**
* 设置 结束 创建用户
* @param createUserIdEnd
*/
public HolidayQuery createUserIdEnd(Long createUserIdEnd){
this.createUserIdEnd = createUserIdEnd;
return this;
}
/**
* 设置 增加 创建用户
* @param createUserIdIncrement
*/
public HolidayQuery createUserIdIncrement(Long createUserIdIncrement){
this.createUserIdIncrement = createUserIdIncrement;
return this;
}
/**
* 设置 创建用户
* @param createUserIdList
*/
public HolidayQuery createUserIdList(List<Long> createUserIdList){
this.createUserIdList = createUserIdList;
return this;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
*/
public List<HolidayQuery> 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<HolidayQuery> 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<HolidayQuery> 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<HolidayQuery> andConditionList){
this.andConditionList = andConditionList;
}
}
\ No newline at end of file
package com.mortals.xhx.module.holiday.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import lombok.Data;
/**
* 节假日视图对象
*
* @author zxfei
* @date 2022-01-12
*/
@Data
public class HolidayVo extends BaseEntityLong {
}
\ No newline at end of file
package com.mortals.xhx.module.holiday.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.holiday.model.HolidayEntity;
/**
* HolidayService
*
* 节假日 service接口
*
* @author zxfei
* @date 2022-01-12
*/
public interface HolidayService extends ICRUDService<HolidayEntity,Long>{
}
\ No newline at end of file
package com.mortals.xhx.module.holiday.service.impl;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.xhx.module.holiday.dao.HolidayDao;
import com.mortals.xhx.module.holiday.model.HolidayEntity;
import com.mortals.xhx.module.holiday.service.HolidayService;
import org.springframework.stereotype.Service;
/**
* HolidayService
* 节假日 service实现
*
* @author zxfei
* @date 2022-01-12
*/
@Service("holidayService")
public class HolidayServiceImpl extends AbstractCRUDServiceImpl<HolidayDao, HolidayEntity, Long> implements HolidayService {
}
\ No newline at end of file
package com.mortals.xhx.module.holiday.web;
import com.mortals.framework.model.Context;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.module.holiday.model.HolidayEntity;
import com.mortals.xhx.module.holiday.service.HolidayService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
/**
* 节假日
*
* @author zxfei
* @date 2022-01-20
*/
@RestController
@RequestMapping("holiday")
public class HolidayController extends BaseCRUDJsonBodyMappingController<HolidayService, HolidayEntity, Long> {
@Autowired
private ParamService paramService;
public HolidayController() {
super.setModuleDesc("节假日");
}
@Override
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "workorholiday", paramService.getParamBySecondOrganize("Holiday", "workorholiday"));
super.init(model, context);
}
}
\ No newline at end of file
<?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.holiday.dao.ibatis.HolidayDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="HolidayEntity" id="HolidayEntity-Map">
<id property="id" column="id" />
<result property="siteId" column="siteId" />
<result property="siteName" column="siteName" />
<result property="name" column="name" />
<result property="summary" column="summary" />
<result property="year" column="year" />
<result property="startTime" column="startTime" />
<result property="endTime" column="endTime" />
<result property="workorholiday" column="workorholiday" />
<result property="createTime" column="createTime" />
<result property="createUserId" column="createUserId" />
<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 as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('siteId') or colPickMode == 1 and data.containsKey('siteId')))">
a.siteId as siteId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('siteName') or colPickMode == 1 and data.containsKey('siteName')))">
a.siteName as siteName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('name') or colPickMode == 1 and data.containsKey('name')))">
a.name as name,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('summary') or colPickMode == 1 and data.containsKey('summary')))">
a.summary as summary,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('year') or colPickMode == 1 and data.containsKey('year')))">
a.year as year,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('startTime') or colPickMode == 1 and data.containsKey('startTime')))">
a.startTime as startTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('endTime') or colPickMode == 1 and data.containsKey('endTime')))">
a.endTime as endTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('workorholiday') or colPickMode == 1 and data.containsKey('workorholiday')))">
a.workorholiday as workorholiday,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as 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 as createUserId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime as updateTime,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="HolidayEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_sys_holiday
(siteId,siteName,name,summary,year,startTime,endTime,workorholiday,createTime,createUserId,updateTime)
VALUES
(#{siteId},#{siteName},#{name},#{summary},#{year},#{startTime},#{endTime},#{workorholiday},#{createTime},#{createUserId},#{updateTime})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_sys_holiday
(siteId,siteName,name,summary,year,startTime,endTime,workorholiday,createTime,createUserId,updateTime)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.siteId},#{item.siteName},#{item.name},#{item.summary},#{item.year},#{item.startTime},#{item.endTime},#{item.workorholiday},#{item.createTime},#{item.createUserId},#{item.updateTime})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_sys_holiday as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('siteId')) or (colPickMode==1 and !data.containsKey('siteId'))">
a.siteId=#{data.siteId},
</if>
<if test="(colPickMode==0 and data.containsKey('siteIdIncrement')) or (colPickMode==1 and !data.containsKey('siteIdIncrement'))">
a.siteId=ifnull(a.siteId,0) + #{data.siteIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('siteName')) or (colPickMode==1 and !data.containsKey('siteName'))">
a.siteName=#{data.siteName},
</if>
<if test="(colPickMode==0 and data.containsKey('name')) or (colPickMode==1 and !data.containsKey('name'))">
a.name=#{data.name},
</if>
<if test="(colPickMode==0 and data.containsKey('summary')) or (colPickMode==1 and !data.containsKey('summary'))">
a.summary=#{data.summary},
</if>
<if test="(colPickMode==0 and data.containsKey('year')) or (colPickMode==1 and !data.containsKey('year'))">
a.year=#{data.year},
</if>
<if test="(colPickMode==0 and data.containsKey('yearIncrement')) or (colPickMode==1 and !data.containsKey('yearIncrement'))">
a.year=ifnull(a.year,0) + #{data.yearIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('startTime')) or (colPickMode==1 and !data.containsKey('startTime'))">
a.startTime=#{data.startTime},
</if>
<if test="(colPickMode==0 and data.containsKey('endTime')) or (colPickMode==1 and !data.containsKey('endTime'))">
a.endTime=#{data.endTime},
</if>
<if test="(colPickMode==0 and data.containsKey('workorholiday')) or (colPickMode==1 and !data.containsKey('workorholiday'))">
a.workorholiday=#{data.workorholiday},
</if>
<if test="(colPickMode==0 and data.containsKey('workorholidayIncrement')) or (colPickMode==1 and !data.containsKey('workorholidayIncrement'))">
a.workorholiday=ifnull(a.workorholiday,0) + #{data.workorholidayIncrement},
</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('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_sys_holiday as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="siteId=(case" suffix="ELSE siteId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('siteId')) or (colPickMode==1 and !item.containsKey('siteId'))">
when a.id=#{item.id} then #{item.siteId}
</when>
<when test="(colPickMode==0 and item.containsKey('siteIdIncrement')) or (colPickMode==1 and !item.containsKey('siteIdIncrement'))">
when a.id=#{item.id} then ifnull(a.siteId,0) + #{item.siteIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="siteName=(case" suffix="ELSE siteName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('siteName')) or (colPickMode==1 and !item.containsKey('siteName'))">
when a.id=#{item.id} then #{item.siteName}
</if>
</foreach>
</trim>
<trim prefix="name=(case" suffix="ELSE name end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('name')) or (colPickMode==1 and !item.containsKey('name'))">
when a.id=#{item.id} then #{item.name}
</if>
</foreach>
</trim>
<trim prefix="summary=(case" suffix="ELSE summary end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('summary')) or (colPickMode==1 and !item.containsKey('summary'))">
when a.id=#{item.id} then #{item.summary}
</if>
</foreach>
</trim>
<trim prefix="year=(case" suffix="ELSE year end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('year')) or (colPickMode==1 and !item.containsKey('year'))">
when a.id=#{item.id} then #{item.year}
</when>
<when test="(colPickMode==0 and item.containsKey('yearIncrement')) or (colPickMode==1 and !item.containsKey('yearIncrement'))">
when a.id=#{item.id} then ifnull(a.year,0) + #{item.yearIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="startTime=(case" suffix="ELSE startTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('startTime')) or (colPickMode==1 and !item.containsKey('startTime'))">
when a.id=#{item.id} then #{item.startTime}
</if>
</foreach>
</trim>
<trim prefix="endTime=(case" suffix="ELSE endTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('endTime')) or (colPickMode==1 and !item.containsKey('endTime'))">
when a.id=#{item.id} then #{item.endTime}
</if>
</foreach>
</trim>
<trim prefix="workorholiday=(case" suffix="ELSE workorholiday end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('workorholiday')) or (colPickMode==1 and !item.containsKey('workorholiday'))">
when a.id=#{item.id} then #{item.workorholiday}
</when>
<when test="(colPickMode==0 and item.containsKey('workorholidayIncrement')) or (colPickMode==1 and !item.containsKey('workorholidayIncrement'))">
when a.id=#{item.id} then ifnull(a.workorholiday,0) + #{item.workorholidayIncrement}
</when>
</choose>
</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="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="HolidayEntity-Map">
select <include refid="_columns"/>
from mortals_sys_holiday as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_sys_holiday as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_sys_holiday where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_sys_holiday as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="HolidayEntity-Map">
select <include refid="_columns"/>
from mortals_sys_holiday 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_sys_holiday 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')">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" 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('siteId')">
<if test="conditionParamRef.siteId != null ">
${_conditionType_} a.siteId = #{${_conditionParam_}.siteId}
</if>
<if test="conditionParamRef.siteId == null">
${_conditionType_} a.siteId is null
</if>
</if>
<if test="conditionParamRef.containsKey('siteIdList')">
${_conditionType_} a.siteId in
<foreach collection="conditionParamRef.siteIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('siteIdStart') and conditionParamRef.siteIdStart != null">
${_conditionType_} a.siteId <![CDATA[ >= ]]> #{${_conditionParam_}.siteIdStart}
</if>
<if test="conditionParamRef.containsKey('siteIdEnd') and conditionParamRef.siteIdEnd != null">
${_conditionType_} a.siteId <![CDATA[ <= ]]> #{${_conditionParam_}.siteIdEnd}
</if>
<if test="conditionParamRef.containsKey('siteName')">
<if test="conditionParamRef.siteName != null and conditionParamRef.siteName != ''">
${_conditionType_} a.siteName like #{${_conditionParam_}.siteName}
</if>
<if test="conditionParamRef.siteName == null">
${_conditionType_} a.siteName is null
</if>
</if>
<if test="conditionParamRef.containsKey('siteNameList')">
${_conditionType_} a.siteName in
<foreach collection="conditionParamRef.siteNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('name')">
<if test="conditionParamRef.name != null and conditionParamRef.name != ''">
${_conditionType_} a.name like #{${_conditionParam_}.name}
</if>
<if test="conditionParamRef.name == null">
${_conditionType_} a.name is null
</if>
</if>
<if test="conditionParamRef.containsKey('nameList')">
${_conditionType_} a.name in
<foreach collection="conditionParamRef.nameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('summary')">
<if test="conditionParamRef.summary != null and conditionParamRef.summary != ''">
${_conditionType_} a.summary like #{${_conditionParam_}.summary}
</if>
<if test="conditionParamRef.summary == null">
${_conditionType_} a.summary is null
</if>
</if>
<if test="conditionParamRef.containsKey('summaryList')">
${_conditionType_} a.summary in
<foreach collection="conditionParamRef.summaryList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('year')">
<if test="conditionParamRef.year != null ">
${_conditionType_} a.year = #{${_conditionParam_}.year}
</if>
<if test="conditionParamRef.year == null">
${_conditionType_} a.year is null
</if>
</if>
<if test="conditionParamRef.containsKey('yearList')">
${_conditionType_} a.year in
<foreach collection="conditionParamRef.yearList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('yearStart') and conditionParamRef.yearStart != null">
${_conditionType_} a.year <![CDATA[ >= ]]> #{${_conditionParam_}.yearStart}
</if>
<if test="conditionParamRef.containsKey('yearEnd') and conditionParamRef.yearEnd != null">
${_conditionType_} a.year <![CDATA[ <= ]]> #{${_conditionParam_}.yearEnd}
</if>
<if test="conditionParamRef.containsKey('startTime')">
<if test="conditionParamRef.startTime != null ">
${_conditionType_} a.startTime = #{${_conditionParam_}.startTime}
</if>
<if test="conditionParamRef.startTime == null">
${_conditionType_} a.startTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('startTimeStart') and conditionParamRef.startTimeStart != null and conditionParamRef.startTimeStart!=''">
${_conditionType_} a.startTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.startTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('startTimeEnd') and conditionParamRef.startTimeEnd != null and conditionParamRef.startTimeEnd!=''">
${_conditionType_} a.startTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.startTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('endTime')">
<if test="conditionParamRef.endTime != null ">
${_conditionType_} a.endTime = #{${_conditionParam_}.endTime}
</if>
<if test="conditionParamRef.endTime == null">
${_conditionType_} a.endTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('endTimeStart') and conditionParamRef.endTimeStart != null and conditionParamRef.endTimeStart!=''">
${_conditionType_} a.endTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.endTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('endTimeEnd') and conditionParamRef.endTimeEnd != null and conditionParamRef.endTimeEnd!=''">
${_conditionType_} a.endTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.endTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('workorholiday')">
<if test="conditionParamRef.workorholiday != null ">
${_conditionType_} a.workorholiday = #{${_conditionParam_}.workorholiday}
</if>
<if test="conditionParamRef.workorholiday == null">
${_conditionType_} a.workorholiday is null
</if>
</if>
<if test="conditionParamRef.containsKey('workorholidayList')">
${_conditionType_} a.workorholiday in
<foreach collection="conditionParamRef.workorholidayList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('workorholidayStart') and conditionParamRef.workorholidayStart != null">
${_conditionType_} a.workorholiday <![CDATA[ >= ]]> #{${_conditionParam_}.workorholidayStart}
</if>
<if test="conditionParamRef.containsKey('workorholidayEnd') and conditionParamRef.workorholidayEnd != null">
${_conditionType_} a.workorholiday <![CDATA[ <= ]]> #{${_conditionParam_}.workorholidayEnd}
</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')">
${_conditionType_} a.createUserId in
<foreach collection="conditionParamRef.createUserIdList" 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('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('siteId')">
a.siteId
<if test='orderCol.siteId != null and "DESC".equalsIgnoreCase(orderCol.siteId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('siteName')">
a.siteName
<if test='orderCol.siteName != null and "DESC".equalsIgnoreCase(orderCol.siteName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('name')">
a.name
<if test='orderCol.name != null and "DESC".equalsIgnoreCase(orderCol.name)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('summary')">
a.summary
<if test='orderCol.summary != null and "DESC".equalsIgnoreCase(orderCol.summary)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('year')">
a.year
<if test='orderCol.year != null and "DESC".equalsIgnoreCase(orderCol.year)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('startTime')">
a.startTime
<if test='orderCol.startTime != null and "DESC".equalsIgnoreCase(orderCol.startTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('endTime')">
a.endTime
<if test='orderCol.endTime != null and "DESC".equalsIgnoreCase(orderCol.endTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('workorholiday')">
a.workorholiday
<if test='orderCol.workorholiday != null and "DESC".equalsIgnoreCase(orderCol.workorholiday)'>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('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
package com.mortals.xhx.common.pdu.holiday;
import java.util.Date;
import java.util.List;
import com.mortals.framework.model.BaseEntityLong;
import lombok.Data;
/**
* 节假日Pdu对象
*
* @author zxfei
* @date 2023-10-09
*/
@Data
public class HolidayPdu extends BaseEntityLong {
private static final long serialVersionUID = 1L;
/**
* 站点ID
*/
private Long siteId;
/**
* 节日名称
*/
private String name;
/**
* 备注
*/
private String summary;
/**
* 年份
*/
private Integer year;
/**
* 开始时间
*/
private Date startTime;
/**
* 结束时间
*/
private Date endTime;
/**
* 是否工作日(0.节假日,1.工作日)
*/
private Integer workorholiday;
public void initAttrValue(){
this.siteId = null;
this.name = "";
this.summary = "";
this.year = null;
this.startTime = null;
this.endTime = null;
this.workorholiday = 0;
}
}
\ No newline at end of file
package com.mortals.xhx.feign.holiday;
import com.mortals.xhx.common.pdu.RespData;
import com.mortals.xhx.common.pdu.holiday.HolidayPdu;
import com.alibaba.fastjson.JSON;
import com.mortals.framework.common.Rest;
import com.mortals.xhx.feign.IFeign;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 节假日 Feign接口
* @author zxfei
* @date 2023-10-09
*/
@FeignClient(name = "base-manager", path = "/base", fallbackFactory = HolidayFeignFallbackFactory.class)
public interface IHolidayFeign extends IFeign {
/**
* 查看节假日列表
*
* @param holidayPdu
* @return
*/
@PostMapping(value = "/holiday/list")
Rest<RespData<List<HolidayPdu>>> list(@RequestBody HolidayPdu holidayPdu);
/**
* 查看节假日
*
* @param id
* @return
*/
@GetMapping(value = "/holiday/info")
Rest<HolidayPdu> info(@RequestParam(value = "id") Long id);
/**
* 删除节假日
*
* @param ids
* @return
*/
@GetMapping(value = "/holiday/delete")
Rest<Void> delete(Long[] ids,@RequestHeader("Authorization") String authorization);
/**
* 节假日保存更新
*
* @param holidayPdu
* @return
*/
@PostMapping(value = "/holiday/save")
Rest<RespData<HolidayPdu>> save(@RequestBody HolidayPdu holidayPdu,@RequestHeader("Authorization") String authorization);
}
@Slf4j
@Component
class HolidayFeignFallbackFactory implements FallbackFactory<IHolidayFeign> {
@Override
public IHolidayFeign create(Throwable t) {
return new IHolidayFeign() {
@Override
public Rest<RespData<List<HolidayPdu>>> list(HolidayPdu holidayPdu) {
return Rest.fail("暂时无法获取节假日列表,请稍后再试!");
}
@Override
public Rest<HolidayPdu> info(Long id) {
return Rest.fail("暂时无法获取节假日详细,请稍后再试!");
}
@Override
public Rest<Void> delete(Long[] ids, String authorization) {
return Rest.fail("暂时无法删除节假日,请稍后再试!");
}
@Override
public Rest<RespData<HolidayPdu>> save(HolidayPdu holidayPdu, String authorization) {
return Rest.fail("暂时无法保存节假日,请稍后再试!");
}
};
}
}
......@@ -853,6 +853,30 @@ CREATE TABLE mortals_xhx_attendance_record(
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='考勤打卡记录信息';
ALTER TABLE mortals_xhx_attendance_leave_record ADD COLUMN `sourceDingTime` varchar(64) DEFAULT '' COMMENT '钉钉原始请假时间记录';
ALTER TABLE mortals_xhx_attendance_leave_record ADD COLUMN `sourceDingTime` varchar(64) DEFAULT '' COMMENT '钉钉原始请假时间记录';
-- ----------------------------
2023-10-09
-- ----------------------------
-- ----------------------------
-- 节假日
-- ----------------------------
DROP TABLE IF EXISTS `mortals_sys_holiday`;
CREATE TABLE `mortals_sys_holiday`
(
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '序号,主键,自增长',
`siteId` bigint(20) DEFAULT NULL COMMENT '站点ID',
`siteName` varchar(255) DEFAULT NULL COMMENT '站点名称',
`name` varchar(64) DEFAULT NULL COMMENT '节日名称',
`summary` varchar(256) DEFAULT NULL COMMENT '备注',
`year` int(4) DEFAULT NULL COMMENT '年份',
`startTime` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '开始时间',
`endTime` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '结束时间',
`workorholiday` tinyint(2) DEFAULT '0' COMMENT '是否工作日(0.节假日,1.工作日)',
`createTime` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
`createUserId` bigint(20) DEFAULT NULL COMMENT '创建用户',
`updateTime` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`)
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '节假日表' ROW_FORMAT = Dynamic;
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