From 82a5ebd37166eb3c80be8e136e415b7ad86be650 Mon Sep 17 00:00:00 2001 From: "lj7788@126.com" Date: Tue, 16 Sep 2025 16:52:45 +0800 Subject: [PATCH] =?UTF-8?q?9.16=E5=A2=9E=E5=8A=A0=E5=91=98=E5=B7=A5?= =?UTF-8?q?=E5=87=BA=E5=85=A5=E5=9C=BA=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/domain/ProUserInoutRecord.java | 266 ++++++++++++ .../mapper/ProUserInoutRecordMapper.java | 61 +++ .../manage/ProUserInoutRecordMapper.xml | 151 +++++++ .../ProUserInoutRecordController.java | 106 +++++ .../service/IProUserInoutRecordService.java | 61 +++ .../impl/ProUserInoutRecordServiceImpl.java | 99 +++++ .../manage/service/impl/UniServiceImpl.java | 2 + yanzhu-ui-vue3/README.md | 153 +------ .../src/api/manage/userInOutRecord.js | 44 ++ .../manage/attendance_ubi_device/index.vue | 1 - .../views/manage/userInOutRecord/index.vue | 394 ++++++++++++++++++ 11 files changed, 1202 insertions(+), 136 deletions(-) create mode 100644 yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/ProUserInoutRecord.java create mode 100644 yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/ProUserInoutRecordMapper.java create mode 100644 yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProUserInoutRecordMapper.xml create mode 100644 yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProUserInoutRecordController.java create mode 100644 yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IProUserInoutRecordService.java create mode 100644 yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProUserInoutRecordServiceImpl.java create mode 100644 yanzhu-ui-vue3/src/api/manage/userInOutRecord.js create mode 100644 yanzhu-ui-vue3/src/views/manage/userInOutRecord/index.vue diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/ProUserInoutRecord.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/ProUserInoutRecord.java new file mode 100644 index 00000000..e8f297aa --- /dev/null +++ b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/ProUserInoutRecord.java @@ -0,0 +1,266 @@ +package com.yanzhu.manage.domain; + +import com.yanzhu.common.core.annotation.Excel; +import com.yanzhu.common.core.web.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 员工出入场记录对象 pro_user_inout_record + * + * @author yanzhu + * @date 2025-09-16 + */ +public class ProUserInoutRecord extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private Long id; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private Long projectId; + + /** 用户ID */ + @Excel(name = "用户ID") + private Long userId; + + /** 用户名 */ + @Excel(name = "用户名") + private String userName; + + /** 用户手机 */ + @Excel(name = "用户手机") + private String userPhone; + + /** 用户图像 */ + @Excel(name = "用户图像") + private String userPicture; + + /** 用户性别 */ + @Excel(name = "用户性别") + private String userSex; + + /** 进场状态 */ + @Excel(name = "进场状态") + private String useStatus; + + /** 分包单位ID */ + @Excel(name = "分包单位ID") + private Long subDeptId; + + /** 分包单位 */ + @Excel(name = "分包单位") + private String subDeptName; + + /** 分包类型 */ + @Excel(name = "分包类型") + private String subDeptType; + + /** 班组编号 */ + @Excel(name = "班组编号") + private Long subDeptGroup; + + /** 班组名称 */ + @Excel(name = "班组名称") + private String subDeptGroupName; + + /** 工种类型 */ + @Excel(name = "工种类型") + private String craftType; + + /** 工种岗位 */ + @Excel(name = "工种岗位") + private String craftPost; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private Long isDel; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private Long state; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setProjectId(Long projectId) + { + this.projectId = projectId; + } + + public Long getProjectId() + { + return projectId; + } + public void setUserId(Long userId) + { + this.userId = userId; + } + + public Long getUserId() + { + return userId; + } + public void setUserName(String userName) + { + this.userName = userName; + } + + public String getUserName() + { + return userName; + } + public void setUserPhone(String userPhone) + { + this.userPhone = userPhone; + } + + public String getUserPhone() + { + return userPhone; + } + public void setUserPicture(String userPicture) + { + this.userPicture = userPicture; + } + + public String getUserPicture() + { + return userPicture; + } + public void setUserSex(String userSex) + { + this.userSex = userSex; + } + + public String getUserSex() + { + return userSex; + } + public void setUseStatus(String useStatus) + { + this.useStatus = useStatus; + } + + public String getUseStatus() + { + return useStatus; + } + public void setSubDeptId(Long subDeptId) + { + this.subDeptId = subDeptId; + } + + public Long getSubDeptId() + { + return subDeptId; + } + public void setSubDeptName(String subDeptName) + { + this.subDeptName = subDeptName; + } + + public String getSubDeptName() + { + return subDeptName; + } + public void setSubDeptType(String subDeptType) + { + this.subDeptType = subDeptType; + } + + public String getSubDeptType() + { + return subDeptType; + } + public void setSubDeptGroup(Long subDeptGroup) + { + this.subDeptGroup = subDeptGroup; + } + + public Long getSubDeptGroup() + { + return subDeptGroup; + } + public void setSubDeptGroupName(String subDeptGroupName) + { + this.subDeptGroupName = subDeptGroupName; + } + + public String getSubDeptGroupName() + { + return subDeptGroupName; + } + public void setCraftType(String craftType) + { + this.craftType = craftType; + } + + public String getCraftType() + { + return craftType; + } + public void setCraftPost(String craftPost) + { + this.craftPost = craftPost; + } + + public String getCraftPost() + { + return craftPost; + } + public void setIsDel(Long isDel) + { + this.isDel = isDel; + } + + public Long getIsDel() + { + return isDel; + } + public void setState(Long state) + { + this.state = state; + } + + public Long getState() + { + return state; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("projectId", getProjectId()) + .append("userId", getUserId()) + .append("userName", getUserName()) + .append("userPhone", getUserPhone()) + .append("userPicture", getUserPicture()) + .append("userSex", getUserSex()) + .append("useStatus", getUseStatus()) + .append("subDeptId", getSubDeptId()) + .append("subDeptName", getSubDeptName()) + .append("subDeptType", getSubDeptType()) + .append("subDeptGroup", getSubDeptGroup()) + .append("subDeptGroupName", getSubDeptGroupName()) + .append("craftType", getCraftType()) + .append("craftPost", getCraftPost()) + .append("isDel", getIsDel()) + .append("remark", getRemark()) + .append("state", getState()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/ProUserInoutRecordMapper.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/ProUserInoutRecordMapper.java new file mode 100644 index 00000000..fdb5cb21 --- /dev/null +++ b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/ProUserInoutRecordMapper.java @@ -0,0 +1,61 @@ +package com.yanzhu.manage.mapper; + +import java.util.List; +import com.yanzhu.manage.domain.ProUserInoutRecord; + +/** + * 员工出入场记录Mapper接口 + * + * @author yanzhu + * @date 2025-09-16 + */ +public interface ProUserInoutRecordMapper +{ + /** + * 查询员工出入场记录 + * + * @param id 员工出入场记录主键 + * @return 员工出入场记录 + */ + public ProUserInoutRecord selectProUserInoutRecordById(Long id); + + /** + * 查询员工出入场记录列表 + * + * @param proUserInoutRecord 员工出入场记录 + * @return 员工出入场记录集合 + */ + public List selectProUserInoutRecordList(ProUserInoutRecord proUserInoutRecord); + + /** + * 新增员工出入场记录 + * + * @param proUserInoutRecord 员工出入场记录 + * @return 结果 + */ + public int insertProUserInoutRecord(ProUserInoutRecord proUserInoutRecord); + + /** + * 修改员工出入场记录 + * + * @param proUserInoutRecord 员工出入场记录 + * @return 结果 + */ + public int updateProUserInoutRecord(ProUserInoutRecord proUserInoutRecord); + + /** + * 删除员工出入场记录 + * + * @param id 员工出入场记录主键 + * @return 结果 + */ + public int deleteProUserInoutRecordById(Long id); + + /** + * 批量删除员工出入场记录 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteProUserInoutRecordByIds(Long[] ids); +} diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProUserInoutRecordMapper.xml b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProUserInoutRecordMapper.xml new file mode 100644 index 00000000..2bbaf7fb --- /dev/null +++ b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProUserInoutRecordMapper.xml @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, project_id, user_id, user_name, user_phone, user_picture, user_sex, use_status, sub_dept_id, sub_dept_name, sub_dept_type, sub_dept_group, sub_dept_group_name, craft_type, craft_post, is_del, remark, state, create_by, create_time, update_by, update_time from pro_user_inout_record + + + + + + + + insert into pro_user_inout_record + + project_id, + user_id, + user_name, + user_phone, + user_picture, + user_sex, + use_status, + sub_dept_id, + sub_dept_name, + sub_dept_type, + sub_dept_group, + sub_dept_group_name, + craft_type, + craft_post, + is_del, + remark, + state, + create_by, + create_time, + update_by, + update_time, + + + #{projectId}, + #{userId}, + #{userName}, + #{userPhone}, + #{userPicture}, + #{userSex}, + #{useStatus}, + #{subDeptId}, + #{subDeptName}, + #{subDeptType}, + #{subDeptGroup}, + #{subDeptGroupName}, + #{craftType}, + #{craftPost}, + #{isDel}, + #{remark}, + #{state}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update pro_user_inout_record + + project_id = #{projectId}, + user_id = #{userId}, + user_name = #{userName}, + user_phone = #{userPhone}, + user_picture = #{userPicture}, + user_sex = #{userSex}, + use_status = #{useStatus}, + sub_dept_id = #{subDeptId}, + sub_dept_name = #{subDeptName}, + sub_dept_type = #{subDeptType}, + sub_dept_group = #{subDeptGroup}, + sub_dept_group_name = #{subDeptGroupName}, + craft_type = #{craftType}, + craft_post = #{craftPost}, + is_del = #{isDel}, + remark = #{remark}, + state = #{state}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete from pro_user_inout_record where id = #{id} + + + + delete from pro_user_inout_record where id in + + #{id} + + + \ No newline at end of file diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProUserInoutRecordController.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProUserInoutRecordController.java new file mode 100644 index 00000000..a02e6a44 --- /dev/null +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProUserInoutRecordController.java @@ -0,0 +1,106 @@ +package com.yanzhu.manage.controller; + +import java.util.List; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; + +import com.yanzhu.common.core.utils.poi.ExcelUtil; +import com.yanzhu.common.core.web.controller.BaseController; +import com.yanzhu.common.core.web.domain.AjaxResult; +import com.yanzhu.common.core.web.page.TableDataInfo; +import com.yanzhu.common.log.annotation.Log; +import com.yanzhu.common.log.enums.BusinessType; +import com.yanzhu.common.security.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.yanzhu.manage.domain.ProUserInoutRecord; +import com.yanzhu.manage.service.IProUserInoutRecordService; + +/** + * 员工出入场记录Controller + * + * @author yanzhu + * @date 2025-09-16 + */ +@RestController +@RequestMapping("/userInOutRecord") +public class ProUserInoutRecordController extends BaseController +{ + @Autowired + private IProUserInoutRecordService proUserInoutRecordService; + + /** + * 查询员工出入场记录列表 + */ + @RequiresPermissions("manage:userInOutRecord:list") + @GetMapping("/list") + public TableDataInfo list(ProUserInoutRecord proUserInoutRecord) + { + startPage(); + List list = proUserInoutRecordService.selectProUserInoutRecordList(proUserInoutRecord); + return getDataTable(list); + } + + /** + * 导出员工出入场记录列表 + */ + @RequiresPermissions("manage:userInOutRecord:export") + @Log(title = "员工出入场记录", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, ProUserInoutRecord proUserInoutRecord) + { + List list = proUserInoutRecordService.selectProUserInoutRecordList(proUserInoutRecord); + ExcelUtil util = new ExcelUtil(ProUserInoutRecord.class); + util.exportExcel(response, list, "员工出入场记录数据"); + } + + /** + * 获取员工出入场记录详细信息 + */ + @RequiresPermissions("manage:userInOutRecord:query") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(proUserInoutRecordService.selectProUserInoutRecordById(id)); + } + + /** + * 新增员工出入场记录 + */ + @RequiresPermissions("manage:userInOutRecord:add") + @Log(title = "员工出入场记录", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody ProUserInoutRecord proUserInoutRecord) + { + return toAjax(proUserInoutRecordService.insertProUserInoutRecord(proUserInoutRecord)); + } + + /** + * 修改员工出入场记录 + */ + @RequiresPermissions("manage:userInOutRecord:edit") + @Log(title = "员工出入场记录", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody ProUserInoutRecord proUserInoutRecord) + { + return toAjax(proUserInoutRecordService.updateProUserInoutRecord(proUserInoutRecord)); + } + + /** + * 删除员工出入场记录 + */ + @RequiresPermissions("manage:userInOutRecord:remove") + @Log(title = "员工出入场记录", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(proUserInoutRecordService.deleteProUserInoutRecordByIds(ids)); + } +} diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IProUserInoutRecordService.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IProUserInoutRecordService.java new file mode 100644 index 00000000..1dc96d2e --- /dev/null +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IProUserInoutRecordService.java @@ -0,0 +1,61 @@ +package com.yanzhu.manage.service; + +import java.util.List; +import com.yanzhu.manage.domain.ProUserInoutRecord; + +/** + * 员工出入场记录Service接口 + * + * @author yanzhu + * @date 2025-09-16 + */ +public interface IProUserInoutRecordService +{ + /** + * 查询员工出入场记录 + * + * @param id 员工出入场记录主键 + * @return 员工出入场记录 + */ + public ProUserInoutRecord selectProUserInoutRecordById(Long id); + + /** + * 查询员工出入场记录列表 + * + * @param proUserInoutRecord 员工出入场记录 + * @return 员工出入场记录集合 + */ + public List selectProUserInoutRecordList(ProUserInoutRecord proUserInoutRecord); + + /** + * 新增员工出入场记录 + * + * @param proUserInoutRecord 员工出入场记录 + * @return 结果 + */ + public int insertProUserInoutRecord(ProUserInoutRecord proUserInoutRecord); + + /** + * 修改员工出入场记录 + * + * @param proUserInoutRecord 员工出入场记录 + * @return 结果 + */ + public int updateProUserInoutRecord(ProUserInoutRecord proUserInoutRecord); + + /** + * 批量删除员工出入场记录 + * + * @param ids 需要删除的员工出入场记录主键集合 + * @return 结果 + */ + public int deleteProUserInoutRecordByIds(Long[] ids); + + /** + * 删除员工出入场记录信息 + * + * @param id 员工出入场记录主键 + * @return 结果 + */ + public int deleteProUserInoutRecordById(Long id); +} diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProUserInoutRecordServiceImpl.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProUserInoutRecordServiceImpl.java new file mode 100644 index 00000000..b83fe7fe --- /dev/null +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProUserInoutRecordServiceImpl.java @@ -0,0 +1,99 @@ +package com.yanzhu.manage.service.impl; + +import java.util.List; +import com.yanzhu.common.core.context.SecurityContextHolder; +import com.yanzhu.common.core.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.yanzhu.manage.mapper.ProUserInoutRecordMapper; +import com.yanzhu.manage.domain.ProUserInoutRecord; +import com.yanzhu.manage.service.IProUserInoutRecordService; + +/** + * 员工出入场记录Service业务层处理 + * + * @author yanzhu + * @date 2025-09-16 + */ +@Service +public class ProUserInoutRecordServiceImpl implements IProUserInoutRecordService +{ + @Autowired + private ProUserInoutRecordMapper proUserInoutRecordMapper; + + /** + * 查询员工出入场记录 + * + * @param id 员工出入场记录主键 + * @return 员工出入场记录 + */ + @Override + public ProUserInoutRecord selectProUserInoutRecordById(Long id) + { + return proUserInoutRecordMapper.selectProUserInoutRecordById(id); + } + + /** + * 查询员工出入场记录列表 + * + * @param proUserInoutRecord 员工出入场记录 + * @return 员工出入场记录 + */ + @Override + public List selectProUserInoutRecordList(ProUserInoutRecord proUserInoutRecord) + { + return proUserInoutRecordMapper.selectProUserInoutRecordList(proUserInoutRecord); + } + + /** + * 新增员工出入场记录 + * + * @param proUserInoutRecord 员工出入场记录 + * @return 结果 + */ + @Override + public int insertProUserInoutRecord(ProUserInoutRecord proUserInoutRecord) + { + proUserInoutRecord.setCreateBy(SecurityContextHolder.getUserName()); + proUserInoutRecord.setCreateTime(DateUtils.getNowDate()); + return proUserInoutRecordMapper.insertProUserInoutRecord(proUserInoutRecord); + } + + /** + * 修改员工出入场记录 + * + * @param proUserInoutRecord 员工出入场记录 + * @return 结果 + */ + @Override + public int updateProUserInoutRecord(ProUserInoutRecord proUserInoutRecord) + { + proUserInoutRecord.setUpdateBy(SecurityContextHolder.getUserName()); + proUserInoutRecord.setUpdateTime(DateUtils.getNowDate()); + return proUserInoutRecordMapper.updateProUserInoutRecord(proUserInoutRecord); + } + + /** + * 批量删除员工出入场记录 + * + * @param ids 需要删除的员工出入场记录主键 + * @return 结果 + */ + @Override + public int deleteProUserInoutRecordByIds(Long[] ids) + { + return proUserInoutRecordMapper.deleteProUserInoutRecordByIds(ids); + } + + /** + * 删除员工出入场记录信息 + * + * @param id 员工出入场记录主键 + * @return 结果 + */ + @Override + public int deleteProUserInoutRecordById(Long id) + { + return proUserInoutRecordMapper.deleteProUserInoutRecordById(id); + } +} diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/UniServiceImpl.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/UniServiceImpl.java index fc97a50d..91e7e92d 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/UniServiceImpl.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/UniServiceImpl.java @@ -338,6 +338,8 @@ public class UniServiceImpl implements IUniService { String admitGuid = u.getAdmitGuid(); if (StringUtils.isNotEmpty(admitGuid)) { admitGuidList.add(admitGuid); + }else{ + syncUniUser(u,true); } } for (int i = 0; i < admitGuidList.size(); i += 50) { diff --git a/yanzhu-ui-vue3/README.md b/yanzhu-ui-vue3/README.md index ac2a3a1a..59d4e131 100644 --- a/yanzhu-ui-vue3/README.md +++ b/yanzhu-ui-vue3/README.md @@ -1,143 +1,26 @@ -

- logo -

-

RuoYi v3.6.3

-

基于 Vue3/Element Plus 和 Spring Boot/Spring Cloud & Alibaba 前后端分离的分布式微服务架构

-

- - - -

+2025.9.16 +1.增加表pro_user_inout_record 员工出入场记录 -## 平台简介 +-- 菜单 SQL +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('员工出入场记录', '2484', '1', 'userInOutRecord', 'manage/userInOutRecord/index', 1, 0, 'C', '0', '0', 'manage:userInOutRecord:list', '#', 'admin', sysdate(), '', null, '员工出入场记录菜单'); -* 本仓库为前端技术栈 [Vue3](https://v3.cn.vuejs.org) + [Element Plus](https://element-plus.org/zh-CN) + [Vite](https://cn.vitejs.dev) 版本。 -* 配套后端代码仓库地址[RuoYi-Cloud](https://gitee.com/y_project/RuoYi-Cloud) 或 [RuoYi-Cloud-Oracle](https://github.com/yangzongzhuan/RuoYi-Cloud-Oracle) 版本。 -* 前端技术栈([Vue2](https://cn.vuejs.org) + [Element](https://github.com/ElemeFE/element) + [Vue CLI](https://cli.vuejs.org/zh)),请移步[RuoYi-Cloud](https://gitee.com/y_project/RuoYi-Cloud/tree/master/ruoyi-ui)。 -* 阿里云折扣场:[点我进入](http://aly.ruoyi.vip),腾讯云秒杀场:[点我进入](http://txy.ruoyi.vip)   -* 阿里云优惠券:[点我领取](https://www.aliyun.com/minisite/goods?userCode=brki8iof&share_source=copy_link),腾讯云优惠券:[点我领取](https://cloud.tencent.com/redirect.php?redirect=1025&cps_key=198c8df2ed259157187173bc7f4f32fd&from=console)   +-- 按钮父菜单ID +SELECT @parentId := LAST_INSERT_ID(); -## 前端运行 +-- 按钮 SQL +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('员工出入场记录查询', @parentId, '1', '#', '', 1, 0, 'F', '0', '0', 'manage:userInOutRecord:query', '#', 'admin', sysdate(), '', null, ''); -```bash -# 克隆项目 -git clone https://github.com/yangzongzhuan/RuoYi-Cloud-Vue3.git +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('员工出入场记录新增', @parentId, '2', '#', '', 1, 0, 'F', '0', '0', 'manage:userInOutRecord:add', '#', 'admin', sysdate(), '', null, ''); -# 进入项目目录 -cd RuoYi-Cloud-Vue3 +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('员工出入场记录修改', @parentId, '3', '#', '', 1, 0, 'F', '0', '0', 'manage:userInOutRecord:edit', '#', 'admin', sysdate(), '', null, ''); -# 安装依赖 -yarn --registry=https://registry.npmmirror.com +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('员工出入场记录删除', @parentId, '4', '#', '', 1, 0, 'F', '0', '0', 'manage:userInOutRecord:remove', '#', 'admin', sysdate(), '', null, ''); -# 启动服务 -yarn dev +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('员工出入场记录导出', @parentId, '5', '#', '', 1, 0, 'F', '0', '0', 'manage:userInOutRecord:export', '#', 'admin', sysdate(), '', null, ''); -# 构建测试环境 yarn build:stage -# 构建生产环境 yarn build:prod -# 前端访问地址 http://localhost:80 -``` - -## 系统模块 - -~~~ -com.ruoyi -├── ruoyi-ui // 前端框架 [80] -├── ruoyi-gateway // 网关模块 [8080] -├── ruoyi-auth // 认证中心 [9200] -├── ruoyi-api // 接口模块 -│ └── ruoyi-api-system // 系统接口 -├── ruoyi-common // 通用模块 -│ └── ruoyi-common-core // 核心模块 -│ └── ruoyi-common-datascope // 权限范围 -│ └── ruoyi-common-datasource // 多数据源 -│ └── ruoyi-common-log // 日志记录 -│ └── ruoyi-common-redis // 缓存服务 -│ └── ruoyi-common-security // 安全模块 -│ └── ruoyi-common-swagger // 系统接口 -├── ruoyi-modules // 业务模块 -│ └── ruoyi-system // 系统模块 [9201] -│ └── ruoyi-gen // 代码生成 [9202] -│ └── ruoyi-job // 定时任务 [9203] -│ └── ruoyi-file // 文件服务 [9300] -├── ruoyi-visual // 图形化管理模块 -│ └── ruoyi-visual-monitor // 监控中心 [9100] -├──pom.xml // 公共依赖 -~~~ - -## 架构图 - - - -## 内置功能 - -1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 -2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。 -3. 岗位管理:配置系统用户所属担任职务。 -4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。 -5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。 -6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。 -7. 参数管理:对系统动态配置常用参数。 -8. 通知公告:系统通知公告信息发布维护。 -9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。 -10. 登录日志:系统登录日志记录查询包含登录异常。 -11. 在线用户:当前系统中活跃用户状态监控。 -12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。 -13. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。 -14. 系统接口:根据业务代码自动生成相关的api接口文档。 -15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。 -16. 在线构建器:拖动表单元素生成相应的HTML代码。 -17. 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。 - -## 在线体验 - -- admin/admin123 -- 陆陆续续收到一些打赏,为了更好的体验已用于演示服务器升级。谢谢各位小伙伴。 - -演示地址:http://ruoyi.vip -文档地址:http://doc.ruoyi.vip - -## 演示图 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -## 若依微服务交流群 - -QQ群: [![加入QQ群](https://img.shields.io/badge/已满-42799195-blue.svg)](https://jq.qq.com/?_wv=1027&k=yqInfq0S) [![加入QQ群](https://img.shields.io/badge/已满-170157040-blue.svg)](https://jq.qq.com/?_wv=1027&k=Oy1mb3p8) [![加入QQ群](https://img.shields.io/badge/已满-130643120-blue.svg)](https://jq.qq.com/?_wv=1027&k=rvxkJtXK) [![加入QQ群](https://img.shields.io/badge/已满-225920371-blue.svg)](https://jq.qq.com/?_wv=1027&k=0Ck3PvTe) [![加入QQ群](https://img.shields.io/badge/已满-201705537-blue.svg)](https://jq.qq.com/?_wv=1027&k=FnHHP4TT) [![加入QQ群](https://img.shields.io/badge/已满-236543183-blue.svg)](https://jq.qq.com/?_wv=1027&k=qdT1Ojpz) [![加入QQ群](https://img.shields.io/badge/已满-213618602-blue.svg)](https://jq.qq.com/?_wv=1027&k=nw3OiyXs) [![加入QQ群](https://img.shields.io/badge/已满-148794840-blue.svg)](https://jq.qq.com/?_wv=1027&k=kiU5WDls) [![加入QQ群](https://img.shields.io/badge/已满-118752664-blue.svg)](https://jq.qq.com/?_wv=1027&k=MtBy6YfT) [![加入QQ群](https://img.shields.io/badge/101038945-blue.svg)](https://jq.qq.com/?_wv=1027&k=FqImHgH2) 点击按钮入群。 \ No newline at end of file diff --git a/yanzhu-ui-vue3/src/api/manage/userInOutRecord.js b/yanzhu-ui-vue3/src/api/manage/userInOutRecord.js new file mode 100644 index 00000000..6643b82c --- /dev/null +++ b/yanzhu-ui-vue3/src/api/manage/userInOutRecord.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询员工出入场记录列表 +export function listUserInOutRecord(query) { + return request({ + url: '/manage/userInOutRecord/list', + method: 'get', + params: query + }) +} + +// 查询员工出入场记录详细 +export function getUserInOutRecord(id) { + return request({ + url: '/manage/userInOutRecord/' + id, + method: 'get' + }) +} + +// 新增员工出入场记录 +export function addUserInOutRecord(data) { + return request({ + url: '/manage/userInOutRecord', + method: 'post', + data: data + }) +} + +// 修改员工出入场记录 +export function updateUserInOutRecord(data) { + return request({ + url: '/manage/userInOutRecord', + method: 'put', + data: data + }) +} + +// 删除员工出入场记录 +export function delUserInOutRecord(id) { + return request({ + url: '/manage/userInOutRecord/' + id, + method: 'delete' + }) +} diff --git a/yanzhu-ui-vue3/src/views/manage/attendance_ubi_device/index.vue b/yanzhu-ui-vue3/src/views/manage/attendance_ubi_device/index.vue index adbf85cd..2530f4e0 100644 --- a/yanzhu-ui-vue3/src/views/manage/attendance_ubi_device/index.vue +++ b/yanzhu-ui-vue3/src/views/manage/attendance_ubi_device/index.vue @@ -78,7 +78,6 @@