Commit 32725a99 authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordHikController.java
parents d7b04a2b 9b6ae3ba
package com.mortals.xhx.module.attendance.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.attendance.model.AttendanceExportRecordEntity;
import java.util.List;
/**
* 导入导出记录Dao
* 导入导出记录 DAO接口
*
* @author zxfei
* @date 2023-04-17
*/
public interface AttendanceExportRecordDao extends ICRUDDao<AttendanceExportRecordEntity,Long>{
}
package com.mortals.xhx.module.attendance.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.attendance.dao.AttendanceExportRecordDao;
import com.mortals.xhx.module.attendance.model.AttendanceExportRecordEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 导入导出记录DaoImpl DAO接口
*
* @author zxfei
* @date 2023-04-17
*/
@Repository("attendanceExportRecordDao")
public class AttendanceExportRecordDaoImpl extends BaseCRUDDaoMybatis<AttendanceExportRecordEntity,Long> implements AttendanceExportRecordDao {
}
package com.mortals.xhx.module.attendance.model;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.attendance.model.vo.AttendanceExportRecordVo;
/**
* 导入导出记录实体对象
*
* @author zxfei
* @date 2023-04-17
*/
public class AttendanceExportRecordEntity extends AttendanceExportRecordVo {
private static final long serialVersionUID = 1L;
/**
* 选择部门名称
*/
private String deptName;
/**
* 选择考勤组名称
*/
private String groupName;
/**
* 选择班次名称
*/
private String className;
/**
* 选择开始时间和结束时间段
*/
private String attendanceDate;
/**
* 导出还是导入(1.导出,2.导入)
*/
private Integer exportOrImport;
/**
* 导出文件路径
*/
private String filePath;
/**
* 汇总还是每日打卡记录(1.汇总,2.每日打卡记录)
*/
private Integer type;
/**
* 备注
*/
private String remark;
/**
* 选择id列表
*/
private String recordIdList;
public AttendanceExportRecordEntity(){}
/**
* 获取 选择部门名称
* @return String
*/
public String getDeptName(){
return deptName;
}
/**
* 设置 选择部门名称
* @param deptName
*/
public void setDeptName(String deptName){
this.deptName = deptName;
}
/**
* 获取 选择考勤组名称
* @return String
*/
public String getGroupName(){
return groupName;
}
/**
* 设置 选择考勤组名称
* @param groupName
*/
public void setGroupName(String groupName){
this.groupName = groupName;
}
/**
* 获取 选择班次名称
* @return String
*/
public String getClassName(){
return className;
}
/**
* 设置 选择班次名称
* @param className
*/
public void setClassName(String className){
this.className = className;
}
/**
* 获取 选择开始时间和结束时间段
* @return String
*/
public String getAttendanceDate(){
return attendanceDate;
}
/**
* 设置 选择开始时间和结束时间段
* @param attendanceDate
*/
public void setAttendanceDate(String attendanceDate){
this.attendanceDate = attendanceDate;
}
/**
* 获取 导出还是导入(1.导出,2.导入)
* @return Integer
*/
public Integer getExportOrImport(){
return exportOrImport;
}
/**
* 设置 导出还是导入(1.导出,2.导入)
* @param exportOrImport
*/
public void setExportOrImport(Integer exportOrImport){
this.exportOrImport = exportOrImport;
}
/**
* 获取 导出文件路径
* @return String
*/
public String getFilePath(){
return filePath;
}
/**
* 设置 导出文件路径
* @param filePath
*/
public void setFilePath(String filePath){
this.filePath = filePath;
}
/**
* 获取 汇总还是每日打卡记录(1.汇总,2.每日打卡记录)
* @return Integer
*/
public Integer getType(){
return type;
}
/**
* 设置 汇总还是每日打卡记录(1.汇总,2.每日打卡记录)
* @param type
*/
public void setType(Integer type){
this.type = type;
}
/**
* 获取 备注
* @return String
*/
public String getRemark(){
return remark;
}
/**
* 设置 备注
* @param remark
*/
public void setRemark(String remark){
this.remark = remark;
}
/**
* 获取 选择id列表
* @return String
*/
public String getRecordIdList(){
return recordIdList;
}
/**
* 设置 选择id列表
* @param recordIdList
*/
public void setRecordIdList(String recordIdList){
this.recordIdList = recordIdList;
}
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof AttendanceExportRecordEntity) {
AttendanceExportRecordEntity tmp = (AttendanceExportRecordEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public String toString(){
StringBuilder sb = new StringBuilder("");
sb.append(",deptName:").append(getDeptName());
sb.append(",groupName:").append(getGroupName());
sb.append(",className:").append(getClassName());
sb.append(",attendanceDate:").append(getAttendanceDate());
sb.append(",exportOrImport:").append(getExportOrImport());
sb.append(",filePath:").append(getFilePath());
sb.append(",type:").append(getType());
sb.append(",remark:").append(getRemark());
sb.append(",recordIdList:").append(getRecordIdList());
return sb.toString();
}
public void initAttrValue(){
this.deptName = "";
this.groupName = "";
this.className = "";
this.attendanceDate = "";
this.exportOrImport = 1;
this.filePath = "";
this.type = 1;
this.remark = "";
this.recordIdList = "";
}
}
......@@ -40,6 +40,7 @@ public class AttendanceGroupFixedworkSpecialEntity extends AttendanceGroupFixedw
/**
* 特殊时间
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date specialTime;
/**
* 备注
......@@ -48,10 +49,12 @@ public class AttendanceGroupFixedworkSpecialEntity extends AttendanceGroupFixedw
/**
* 时间段时候开始时间
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date specialStartTime;
/**
* 时间段结束时间
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date specialEndTime;
......@@ -237,4 +240,4 @@ public class AttendanceGroupFixedworkSpecialEntity extends AttendanceGroupFixedw
this.specialEndTime = null;
}
}
\ No newline at end of file
}
package com.mortals.xhx.module.attendance.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.attendance.model.AttendanceExportRecordEntity;
import java.util.ArrayList;
import java.util.List;
import lombok.Data;
/**
* 导入导出记录视图对象
*
* @author zxfei
* @date 2023-04-17
*/
@Data
public class AttendanceExportRecordVo extends BaseEntityLong {
}
package com.mortals.xhx.module.attendance.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.attendance.model.AttendanceGroupEntity;
import com.mortals.xhx.module.attendance.model.AttendanceGroupFixedworkEntity;
import com.mortals.xhx.module.attendance.model.AttendanceGroupFixedworkSpecialEntity;
import com.mortals.xhx.module.attendance.model.AttendanceGroupResponsibleEntity;
import com.mortals.xhx.module.attendance.model.*;
import lombok.Data;
import java.util.ArrayList;
......@@ -18,15 +15,37 @@ import java.util.List;
public class AttendanceGroupVo extends BaseEntityLong {
/**
* 考勤组班次实体类
* 固定班次考勤组班次实体类
*/
private AttendanceGroupFixedworkEntity attendanceGroupFixedworkEntity;
private AttendanceGroupFixedworkEntity groupFixedworkEntity;
/**
* 考勤组固定班次特殊日期配置
* 考勤组负责人对象
*/
private List<AttendanceGroupFixedworkSpecialEntity> fixedworkSpecial;
private AttendanceGroupResponsibleEntity groupResponsibleEntity;
/**
* 自由班制
*/
private AttendanceGroupFreeworkEntity attendanceGroupFreeworkEntity;
private AttendanceGroupResponsibleEntity groupResponsibleEntity;
/**
* 考勤组负责人id
*/
private Long responsibleId;
/**
* 考勤组负责人名字
*/
private String responsibleName;
/**
* 考勤时间
*/
private String attendanceTime;
/**
* 休息日期
*/
private String restTime;
}
......@@ -18,4 +18,18 @@ public class AttendanceRecordHikVo extends BaseEntityLong {
@Excel(name = "所属组织")
private String orgName;
/** 开始 考勤日期 */
private String attendanceDateStart;
/** 结束 考勤日期 */
private String attendanceDateEnd;
/** 员工ID列表 */
private List <Long> staffIdList;
/** 序号,主键,自增长列表 */
private List <Long> idList;
private List<AttendanceRecordHikEntity> list;
}
......@@ -18,5 +18,11 @@ public class AttendanceRecordVo extends BaseEntityLong {
private List<AttendanceGroupFixedworkSpecialVo> list;
private AttendanceRecordDetailEntity attendanceRecordDetailEntity;
/** 开始 打卡日期 */
private String attendanceDateStart;
/** 结束 打卡日期 */
private String attendanceDateEnd;
}
package com.mortals.xhx.module.attendance.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.attendance.model.AttendanceExportRecordEntity;
/**
* AttendanceExportRecordService
*
* 导入导出记录 service接口
*
* @author zxfei
* @date 2023-04-17
*/
public interface AttendanceExportRecordService extends ICRUDService<AttendanceExportRecordEntity,Long>{
}
package com.mortals.xhx.module.attendance.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.attendance.dao.AttendanceGroupFixedworkDao;
import com.mortals.xhx.module.attendance.model.AttendanceGroupFixedworkEntity;
/**
* AttendanceGroupFixedworkService
......@@ -11,4 +12,6 @@ import com.mortals.xhx.module.attendance.model.AttendanceGroupFixedworkEntity;
*/
public interface AttendanceGroupFixedworkService extends ICRUDService<AttendanceGroupFixedworkEntity,Long>{
}
\ No newline at end of file
AttendanceGroupFixedworkDao getDao();
}
package com.mortals.xhx.module.attendance.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.attendance.dao.AttendanceGroupFreeworkDao;
import com.mortals.xhx.module.attendance.model.AttendanceGroupFreeworkEntity;
/**
* AttendanceGroupFreeworkService
......@@ -11,4 +12,6 @@ import com.mortals.xhx.module.attendance.model.AttendanceGroupFreeworkEntity;
*/
public interface AttendanceGroupFreeworkService extends ICRUDService<AttendanceGroupFreeworkEntity,Long>{
}
\ No newline at end of file
AttendanceGroupFreeworkDao getDao();
}
package com.mortals.xhx.module.attendance.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.attendance.dao.AttendanceGroupResponsibleDao;
import com.mortals.xhx.module.attendance.model.AttendanceGroupResponsibleEntity;
/**
* AttendanceGroupResponsibleService
......@@ -11,4 +12,6 @@ import com.mortals.xhx.module.attendance.model.AttendanceGroupResponsibleEntity;
*/
public interface AttendanceGroupResponsibleService extends ICRUDService<AttendanceGroupResponsibleEntity,Long>{
}
\ No newline at end of file
AttendanceGroupResponsibleDao getDao();
}
package com.mortals.xhx.module.attendance.service.impl;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.attendance.dao.AttendanceExportRecordDao;
import com.mortals.xhx.module.attendance.model.AttendanceExportRecordEntity;
import com.mortals.xhx.module.attendance.service.AttendanceExportRecordService;
/**
* AttendanceExportRecordService
* 导入导出记录 service实现
*
* @author zxfei
* @date 2023-04-17
*/
@Service("attendanceExportRecordService")
public class AttendanceExportRecordServiceImpl extends AbstractCRUDServiceImpl<AttendanceExportRecordDao, AttendanceExportRecordEntity, Long> implements AttendanceExportRecordService {
}
package com.mortals.xhx.module.attendance.web;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.attendance.model.AttendanceExportRecordEntity;
import com.mortals.xhx.module.attendance.service.AttendanceExportRecordService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
/**
*
* 导入导出记录
*
* @author zxfei
* @date 2023-04-17
*/
@RestController
@RequestMapping("attendance/export/record")
public class AttendanceExportRecordController extends BaseCRUDJsonBodyMappingController<AttendanceExportRecordService,AttendanceExportRecordEntity,Long> {
@Autowired
private ParamService paramService;
public AttendanceExportRecordController(){
super.setModuleDesc( "导入导出记录");
}
@Override
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "exportOrImport", paramService.getParamBySecondOrganize("AttendanceExportRecord","exportOrImport"));
this.addDict(model, "type", paramService.getParamBySecondOrganize("AttendanceExportRecord","type"));
super.init(model, context);
}
}
package com.mortals.xhx.module.attendance.web;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.module.attendance.model.*;
import com.mortals.xhx.module.attendance.service.AttendanceClassService;
import com.mortals.xhx.module.attendance.service.AttendanceGroupService;
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 org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
......@@ -9,7 +15,6 @@ import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.attendance.model.AttendanceRecordEntity;
import com.mortals.xhx.module.attendance.service.AttendanceRecordService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
......@@ -36,12 +41,24 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle
@Autowired
private ParamService paramService;
@Autowired
private AttendanceGroupService attendanceGroupService;
@Autowired
private DeptService deptService;
@Autowired
private AttendanceClassService attendanceClassService;
public AttendanceRecordController(){
super.setModuleDesc( "考勤打卡记录信息");
}
@Override
protected void init(Map<String, Object> model, Context context) {
this.addDict(model,"deptId",deptService.find(new DeptQuery()).stream().collect(Collectors.toMap(x->x.getId().toString(),y->y.getDeptName())));
this.addDict(model,"groupId",attendanceGroupService.find(new AttendanceGroupQuery()).stream().collect(Collectors.toMap(x->x.getId().toString(),y->y.getGroupName())));
this.addDict(model,"classId",attendanceClassService.find(new AttendanceClassQuery()).stream().collect(Collectors.toMap(x->x.getId().toString(),y->y.getClassName())));
super.init(model, context);
}
......
package com.mortals.xhx.module.attendance.web;
import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.Result;
import com.mortals.framework.service.IUser;
import com.mortals.framework.util.DateUtils;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.module.attendance.model.*;
import com.mortals.xhx.module.attendance.service.*;
import com.mortals.xhx.module.dept.model.DeptQuery;
import com.mortals.xhx.module.dept.service.DeptService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
......@@ -9,16 +20,12 @@ import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.attendance.model.AttendanceRecordErrorEntity;
import com.mortals.xhx.module.attendance.service.AttendanceRecordErrorService;
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.*;
......@@ -36,6 +43,24 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont
@Autowired
private ParamService paramService;
@Autowired
private AttendanceGroupService attendanceGroupService;
@Autowired
private DeptService deptService;
@Autowired
private AttendanceClassService attendanceClassService;
@Autowired
private AttendanceRecordService attendanceRecordService;
@Autowired
private AttendanceRecordDetailService attendanceRecordDetailService;
@Autowired
private AttendanceRecordErrorService errorService;
public AttendanceRecordErrorController(){
super.setModuleDesc( "考勤打卡记录异常信息");
}
......@@ -44,8 +69,46 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "errorStatus", paramService.getParamBySecondOrganize("AttendanceRecordError","errorStatus"));
this.addDict(model, "processStatus", paramService.getParamBySecondOrganize("AttendanceRecordError","processStatus"));
this.addDict(model,"deptId",deptService.find(new DeptQuery()).stream().collect(Collectors.toMap(x->x.getId().toString(), y->y.getDeptName())));
this.addDict(model,"groupId",attendanceGroupService.find(new AttendanceGroupQuery()).stream().collect(Collectors.toMap(x->x.getId().toString(), y->y.getGroupName())));
this.addDict(model,"classId",attendanceClassService.find(new AttendanceClassQuery()).stream().collect(Collectors.toMap(x->x.getId().toString(), y->y.getClassName())));
super.init(model, context);
}
}
\ No newline at end of file
@PostMapping({"disposeError"})
public Rest<String> disposeError(@RequestBody AttendanceRecordErrorEntity query) {
Rest<String> ret = new Rest();
Context context = this.getContext();
query.setOpertor(context.getUser().getRealName());
query.setOperDateTime(new Date());
query.setProcessStatus(1);
errorService.update(query);
DateUtils.convertTime2Str(query.getErrorDateTime().getTime(),DateUtils.P_yyyy_MM_dd);
AttendanceRecordQuery attendanceRecordQuery = new AttendanceRecordQuery();
attendanceRecordQuery.setStaffId(query.getStaffId());
attendanceRecordQuery.setAttendanceDateStart(DateUtils.convertTime2Str(query.getErrorDateTime().getTime(),DateUtils.P_yyyy_MM_dd));
attendanceRecordQuery.setAttendanceDateEnd(DateUtils.convertTime2Str(query.getErrorDateTime().getTime(),DateUtils.P_yyyy_MM_dd));
AttendanceRecordEntity attendanceRecordEntity = attendanceRecordService.selectOne(attendanceRecordQuery);
AttendanceRecordDetailQuery detailQuery = new AttendanceRecordDetailQuery();
detailQuery.setRecordId(attendanceRecordEntity.getId());
detailQuery.setShiftsId(query.getShiftsId());
List<AttendanceRecordDetailEntity> attendanceRecordDetailEntity = attendanceRecordDetailService.find(detailQuery);
for (AttendanceRecordDetailEntity recordDetailEntity : attendanceRecordDetailEntity) {
Date goWorkDate = recordDetailEntity.getGoWorkDate();
Date offWorkDate = recordDetailEntity.getOffWorkDate();
if (goWorkDate.getTime()==query.getErrorDateTime().getTime()){
recordDetailEntity.setGoWorkResult(query.getErrorStatus());
}
if (offWorkDate.getTime()==query.getErrorDateTime().getTime()){
recordDetailEntity.setOffWorkResult(query.getErrorStatus());
}
attendanceRecordDetailService.update(recordDetailEntity);
}
return Rest.ok();
}
}
......@@ -8,6 +8,7 @@ import com.mortals.xhx.module.dept.model.DeptEntity;
import com.mortals.xhx.module.dept.model.DeptQuery;
import com.mortals.xhx.module.dept.model.DeptTreeSelect;
import com.mortals.xhx.module.dept.service.DeptService;
import com.mortals.xhx.module.job.model.JobEntity;
import com.mortals.xhx.module.job.model.JobQuery;
import com.mortals.xhx.module.job.service.JobService;
import com.mortals.xhx.module.staff.model.StaffEntity;
......@@ -106,4 +107,5 @@ public class StaffController extends BaseCRUDJsonBodyMappingController<StaffServ
super.doExportBefore(context, query);
}
}
\ No newline at end of file
}
......@@ -1658,4 +1658,4 @@
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
</mapper>
###登录
POST {{baseUrl}}/login/login
Content-Type: application/json
{
"loginName":"admin",
"password":"admin",
"securityCode":"8888"
}
> {%
client.global.set("SmsSet_id", JSON.parse(response.body).data.id);
client.global.set("authToken", JSON.parse(response.body).data.token);
%}
###导入导出记录列表
POST {{baseUrl}}/attendance/export/record/list
Authorization: {{authToken}}
Content-Type: application/json
{
"page":1,
"size":10
}
###导入导出记录更新与保存
POST {{baseUrl}}/attendance/export/record/save
Authorization: {{authToken}}
Content-Type: application/json
{
"deptName":"cuvbax",
"groupName":"hgm3yp",
"className":"0n52rt",
"attendanceDate":"9evgzx",
"idList":"4ewzo5",
"exportOrImport":554,
"filePath":"vp6gcq",
"type":451,
"remark":"pihagt",
}
> {%
client.global.set("AttendanceExportRecord_id", JSON.parse(response.body).data.id);
%}
###导入导出记录查看
GET {{baseUrl}}/attendance/export/record/info?id={{AttendanceExportRecord_id}}
Authorization: {{authToken}}
Accept: application/json
###导入导出记录编辑
GET {{baseUrl}}/attendance/export/record/edit?id={{AttendanceExportRecord_id}}
Authorization: {{authToken}}
Accept: application/json
###导入导出记录删除
GET {{baseUrl}}/attendance/export/record/delete?id={{AttendanceExportRecord_id}}
Authorization: {{authToken}}
Accept: application/json
......@@ -32,7 +32,7 @@ Content-Type: application/json
{
"staffId":702,
"staffName":"grenxy",
"staffName":"xiaowen",
"workNum":"957jwe",
"deptId":609,
"deptName":"ct2iti",
......
......@@ -572,3 +572,22 @@ INSERT INTO `mortals_xhx_param` VALUES (null, '请假类型', 'AttendanceVacatio
INSERT INTO `mortals_xhx_param` VALUES (null, '请假类型', 'AttendanceVacationRecord', 'type', '21', '探亲假', 1, 4, 0, 'type', NULL, NULL, NULL);
INSERT INTO `mortals_xhx_param` VALUES (null, '增减类型', 'AttendanceVacationRecord', 'subAddType', '1', '增加', 1, 4, 0, 'subAddType', NULL, NULL, NULL);
INSERT INTO `mortals_xhx_param` VALUES (null, '增减类型', 'AttendanceVacationRecord', 'subAddType', '2', '扣除', 1, 4, 0, 'subAddType', NULL, NULL, NULL);
-- ----------------------------
-- 导入导出记录菜单 SQL
-- ----------------------------
INSERT INTO `mortals_xhx_menu` VALUES (null, '导入导出记录表', '/attendance/export/record/list', 0,'', 1, 1, 0, 0,'',NULL, NULL, NULL, 0, 0, 1, NULL, NULL, NULL);
-- ----------------------------
-- 导入导出记录资源路径 SQL
-- ----------------------------
INSERT INTO `mortals_xhx_resource` VALUES (null, '导入导出记录-菜单管理-查看', '/attendance/export/record/list,/attendance/export/record/view,/attendance/export/record/info,/attendance/export/record/export,/attendance/export/record/exportExcel,/attendance/export/record/downloadTemplate,/attendance/export/record/download', 3, 0, NULL, NULL, NULL, 0);
INSERT INTO `mortals_xhx_resource` VALUES (null, '导入导出记录-菜单管理-维护', '/attendance/export/record/add,/attendance/export/record/edit,/attendance/export/record/delete,/attendance/export/record/logicDelete,/attendance/export/record/save,/attendance/export/record/importData', 3, 0, NULL, NULL, NULL, 0);
-- ----------------------------
-- 导入导出记录参数 SQL
-- ----------------------------
INSERT INTO `mortals_xhx_param` VALUES (null, '导出还是导入', 'AttendanceExportRecord', 'exportOrImport', '1', '导出', 1, 4, 0, 'exportOrImport', NULL, NULL, NULL);
INSERT INTO `mortals_xhx_param` VALUES (null, '导出还是导入', 'AttendanceExportRecord', 'exportOrImport', '2', '导入', 1, 4, 0, 'exportOrImport', NULL, NULL, NULL);
INSERT INTO `mortals_xhx_param` VALUES (null, '汇总还是每日打卡记录', 'AttendanceExportRecord', 'type', '1', '汇总', 1, 4, 0, 'type', NULL, NULL, NULL);
INSERT INTO `mortals_xhx_param` VALUES (null, '汇总还是每日打卡记录', 'AttendanceExportRecord', 'type', '2', '每日打卡记录', 1, 4, 0, 'type', NULL, NULL, NULL);
......@@ -785,24 +785,28 @@ PRIMARY KEY (`id`)
-- ----------------------------
-- 导入导出记录表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_attendance_export_record`;
CREATE TABLE `mortals_xhx_attendance_export_record` (
`id` bigint(20) AUTO_INCREMENT NOT NULL,
`deptName` varchar(255) DEFAULT NULL COMMENT '选择部门名称',
`groupName` varchar(255) DEFAULT NULL COMMENT '选择考勤组名称',
`className` varchar(255) DEFAULT NULL COMMENT '选择班次名称',
`attendanceDate` varchar(0) DEFAULT NULL COMMENT '选择开始时间和结束时间段',
`idList` varchar(255) DEFAULT NULL COMMENT '选择id列表',
`exportOrImport` tinyint(2) DEFAULT NULL COMMENT '导出还是导入(1.导出,2.导入)',
`filePath` varchar(255) DEFAULT NULL COMMENT '导出文件路径',
`type` tinyint(2) DEFAULT NULL COMMENT '汇总还是每日打卡记录(1.汇总,2.每日打卡记录)',
`remark` varchar(255) DEFAULT NULL COMMENT '备注',
`createUserId` bigint(20) NOT NULL COMMENT '创建用户',
`createTime` datetime NOT NULL COMMENT '创建时间',
`updateUserId` bigint(20) DEFAULT NULL COMMENT '更新用户',
`updateTime` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='导入导出记录表';
CREATE TABLE mortals_xhx_attendance_export_record(
`id` bigint(20) AUTO_INCREMENT COMMENT '',
`deptName` varchar(255) COMMENT '选择部门名称',
`groupName` varchar(255) COMMENT '选择考勤组名称',
`className` varchar(255) COMMENT '选择班次名称',
`attendanceDate` varchar(0) COMMENT '选择开始时间和结束时间段',
`exportOrImport` tinyint(2) COMMENT '导出还是导入(1.导出,2.导入)',
`filePath` varchar(255) COMMENT '导出文件路径',
`type` tinyint(2) COMMENT '汇总还是每日打卡记录(1.汇总,2.每日打卡记录)',
`remark` varchar(255) COMMENT '备注',
`createUserId` bigint(20) NOT NULL COMMENT '创建用户',
`createTime` datetime NOT NULL COMMENT '创建时间',
`updateUserId` bigint(20) COMMENT '更新用户',
`updateTime` datetime COMMENT '更新时间',
`recordIdList` varchar(255) COMMENT '选择id列表',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='导入导出记录';
......
......@@ -10580,7 +10580,249 @@ msg|String|消息|-
```
## 导入导出记录
### 查询导入导出记录列表
**请求URL:** attendance/export/record/list
**请求方式:** POST
**内容类型:** application/json;charset=utf-8
**简要描述:** 查询导入导出记录
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
page|Integer|否|当前页
size|Integer|否|每页条数,值为-1,查询所有记录
**请求样例:**
```
{
"page":1,
"size":10
}
```
**响应参数:**
参数名称|参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
&emsp;per_page|Integer|每页条数
&emsp;total|Integer|总条数
&emsp;last_page|Integer|总页数
&emsp;current_page|Integer|当前页
&emsp;data|array|结果集列表|数组
&emsp;&emsp;id|Long|
&emsp;&emsp;deptName|String|选择部门名称
&emsp;&emsp;groupName|String|选择考勤组名称
&emsp;&emsp;className|String|选择班次名称
&emsp;&emsp;attendanceDate|String|选择开始时间和结束时间段
&emsp;&emsp;idList|String|选择id列表
&emsp;&emsp;exportOrImport|Integer|导出还是导入(1.导出,2.导入)
&emsp;&emsp;filePath|String|导出文件路径
&emsp;&emsp;type|Integer|汇总还是每日打卡记录(1.汇总,2.每日打卡记录)
&emsp;&emsp;remark|String|备注
&emsp;&emsp;createUserId|Long|创建用户
&emsp;&emsp;createTime|Date|创建时间
&emsp;&emsp;updateUserId|Long|更新用户
&emsp;&emsp;updateTime|Date|更新时间
dict|object|字典对象
&emsp;exportOrImport|object|字典属性对象,详见附录
&emsp;type|object|字典属性对象,详见附录
**响应消息样例:**
```
{
"code":1,
"data":{
}
}
```
### 查看导入导出记录
**请求URL:** attendance/export/record/info
**请求方式:** GET
**内容类型:** application/json;charset=utf-8
**简要描述:** 查看导入导出记录,返回实例详细信息
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
id|Long|是|ID
**请求样例:**
```
http://localhost/attendance/export/record/info?id=549
```
**响应参数:**
参数名称 |参数类型|描述
:---|:---|:-------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
&emsp;id|Long|
&emsp;deptName|String|选择部门名称
&emsp;groupName|String|选择考勤组名称
&emsp;className|String|选择班次名称
&emsp;attendanceDate|String|选择开始时间和结束时间段
&emsp;idList|String|选择id列表
&emsp;exportOrImport|Integer|导出还是导入(1.导出,2.导入)
&emsp;filePath|String|导出文件路径
&emsp;type|Integer|汇总还是每日打卡记录(1.汇总,2.每日打卡记录)
&emsp;remark|String|备注
&emsp;createUserId|Long|创建用户
&emsp;createTime|Date|创建时间
&emsp;updateUserId|Long|更新用户
&emsp;updateTime|Date|更新时间
dict|object|字典对象
&emsp;exportOrImport|object|字典属性对象,详见附录
&emsp;type|object|字典属性对象,详见附录
**响应消息样例:**
```
{
"code": 1,
"data": {
"id":4989,
"deptName":"p67b9s",
"groupName":"gaxsu2",
"className":"8itxcq",
"attendanceDate":"ji5yfm",
"idList":"uxmkrz",
"exportOrImport":3824,
"filePath":"we0b2e",
"type":7052,
"remark":"evkf8r",
"createUserId":3510,
"createTime":"2023-04-17",
"updateUserId":2491,
"updateTime":"2023-04-17"
}
}
```
### 保存更新导入导出记录
**请求URL:** attendance/export/record/save
**请求方式:** POST
**内容类型:** application/json;charset=utf-8
**简要描述:** 保存或更新导入导出记录:id为空时为新增保存,否则为更新提交
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:-------
deptName|String|否|选择部门名称
groupName|String|否|选择考勤组名称
className|String|否|选择班次名称
attendanceDate|String|否|选择开始时间和结束时间段
idList|String|否|选择id列表
exportOrImport|Integer|否|导出还是导入(1.导出,2.导入)
filePath|String|否|导出文件路径
type|Integer|否|汇总还是每日打卡记录(1.汇总,2.每日打卡记录)
remark|String|否|备注
**请求样例:**
```
{
"deptName":"ujkn3k",
"groupName":"frq7vh",
"className":"lhemhd",
"attendanceDate":"nemhiv",
"idList":"5jotvw",
"exportOrImport":5790,
"filePath":"nbfcrc",
"type":2027,
"remark":"qm9qd0",
}
```
**响应参数:**
参数名称 |参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
&emsp;id|Long|保存后主键id
&emsp;entity|object|保存更新实体
&emsp;&emsp;id|Long|
&emsp;&emsp;deptName|String|选择部门名称
&emsp;&emsp;groupName|String|选择考勤组名称
&emsp;&emsp;className|String|选择班次名称
&emsp;&emsp;attendanceDate|String|选择开始时间和结束时间段
&emsp;&emsp;idList|String|选择id列表
&emsp;&emsp;exportOrImport|Integer|导出还是导入(1.导出,2.导入)
&emsp;&emsp;filePath|String|导出文件路径
&emsp;&emsp;type|Integer|汇总还是每日打卡记录(1.汇总,2.每日打卡记录)
&emsp;&emsp;remark|String|备注
&emsp;&emsp;createUserId|Long|创建用户
&emsp;&emsp;createTime|Date|创建时间
&emsp;&emsp;updateUserId|Long|更新用户
&emsp;&emsp;updateTime|Date|更新时间
**响应消息样例:**
```
{
"msg":"新增模块成功",
"code":1,
"data":{}
}
}
```
### 删除导入导出记录
**请求URL:** attendance/export/record/delete
**请求方式:** GET
**内容类型:** application/json;charset=utf-8
**简要描述:** 删除导入导出记录
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
id|String|是|数组
**请求样例:**
```
http://localhost:8080/attendance/export/record/delete?id=1&id=2'
```
**响应参数:**
参数名称 |参数类型|备注|其它
---|---|---|---
code|Integer|结果码(-1.失败,1.成功)|-
msg|String|消息|-
**响应消息样例:**
```
{
"code":1,
"msg":"成功"
}
```
## 字典附录
......@@ -10950,4 +11192,4 @@ data|object|数据对象
"code":1,
"data":{}
}
}
\ No newline at end of file
}
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