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

考勤设备管理

parent ed8e54a0
package com.mortals.xhx.module.device.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.device.model.DeviceEntity;
import java.util.List;
/**
* 考勤机管理Dao
* 考勤机管理 DAO接口
*
* @author zxfei
* @date 2025-04-09
*/
public interface DeviceDao extends ICRUDDao<DeviceEntity,Long>{
}
package com.mortals.xhx.module.device.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.device.dao.DeviceDao;
import com.mortals.xhx.module.device.model.DeviceEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 考勤机管理DaoImpl DAO接口
*
* @author zxfei
* @date 2025-04-09
*/
@Repository("deviceDao")
public class DeviceDaoImpl extends BaseCRUDDaoMybatis<DeviceEntity,Long> implements DeviceDao {
}
package com.mortals.xhx.module.device.model;
import java.util.List;
import java.util.ArrayList;
import java.math.BigDecimal;
import cn.hutool.core.date.DateUtil;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.device.model.vo.DeviceVo;
import lombok.Data;
/**
* 考勤机管理实体对象
*
* @author zxfei
* @date 2025-04-09
*/
@Data
public class DeviceEntity extends DeviceVo {
private static final long serialVersionUID = 1L;
/**
* 设备名称
*/
private String deviceName;
/**
* 设备编码
*/
private String deviceCode;
/**
* 设备类型1考勤机
*/
private Integer deviceType;
/**
* Mac地址
*/
private String deviceMac;
/**
* 设备厂商
*/
private String deviceFirmname;
/**
* 设备型号
*/
private String modelNum;
/**
* 设备IP地址
*/
private String ip;
/**
* 端口号
*/
private String port;
/**
* 设备分辨率
*/
private String resolution;
/**
* 负责人
*/
private String leadingOfficial;
/**
* 负责人电话
*/
private String telephone;
/**
* 设备经度
*/
private String longitude;
/**
* 设备纬度
*/
private String latitude;
/**
* 所在楼宇
*/
private Integer building;
/**
* 所在楼层
*/
private Integer floor;
/**
* 设备地址
*/
private String address;
/**
* 管理员账号
*/
private String manageUser;
/**
* 管理员密码
*/
private String managePWD;
/**
* 备注
*/
private String remark;
/**
* 设备状态,0:未激活,1:离线:2:在线
*/
private Integer status;
/**
* 启停状态,0:停用,1:启用
*/
private Integer enabled;
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof DeviceEntity) {
DeviceEntity tmp = (DeviceEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public void initAttrValue(){
this.deviceName = "";
this.deviceCode = "";
this.deviceType = 1;
this.deviceMac = "";
this.deviceFirmname = "";
this.modelNum = "";
this.ip = "";
this.port = "";
this.resolution = "";
this.leadingOfficial = "";
this.telephone = "";
this.longitude = "";
this.latitude = "";
this.building = 0;
this.floor = 0;
this.address = "";
this.manageUser = "";
this.managePWD = "";
this.remark = "";
this.status = 0;
this.enabled = 0;
}
}
\ No newline at end of file
package com.mortals.xhx.module.device.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.device.model.DeviceEntity;
import java.util.ArrayList;
import java.util.List;
import lombok.Data;
import com.mortals.framework.annotation.Excel;
import java.math.BigDecimal;
import java.util.Date;
/**
* 考勤机管理视图对象
*
* @author zxfei
* @date 2025-04-09
*/
@Data
public class DeviceVo extends BaseEntityLong {
/** 序号,主键,自增长列表 */
private List <Long> idList;
}
\ No newline at end of file
package com.mortals.xhx.module.device.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.device.model.DeviceEntity;
import com.mortals.xhx.module.device.dao.DeviceDao;
/**
* DeviceService
*
* 考勤机管理 service接口
*
* @author zxfei
* @date 2025-04-09
*/
public interface DeviceService extends ICRUDService<DeviceEntity,Long>{
DeviceDao getDao();
}
\ No newline at end of file
package com.mortals.xhx.module.device.service.impl;
import com.mortals.framework.model.PageInfo;
import org.springframework.beans.BeanUtils;
import java.util.function.Function;
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.device.dao.DeviceDao;
import com.mortals.xhx.module.device.model.DeviceEntity;
import com.mortals.xhx.module.device.service.DeviceService;
import lombok.extern.slf4j.Slf4j;
/**
* DeviceService
* 考勤机管理 service实现
*
* @author zxfei
* @date 2025-04-09
*/
@Service("deviceService")
@Slf4j
public class DeviceServiceImpl extends AbstractCRUDServiceImpl<DeviceDao, DeviceEntity, Long> implements DeviceService {
}
\ No newline at end of file
package com.mortals.xhx.module.device.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.device.model.DeviceEntity;
import com.mortals.xhx.module.device.service.DeviceService;
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.*;
import com.mortals.xhx.common.code.*;
/**
*
* 考勤机管理
*
* @author zxfei
* @date 2025-04-09
*/
@RestController
@RequestMapping("device")
public class DeviceController extends BaseCRUDJsonBodyMappingController<DeviceService,DeviceEntity,Long> {
@Autowired
private ParamService paramService;
public DeviceController(){
super.setModuleDesc( "考勤机管理");
}
@Override
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "deviceType", DeviceTypeEnum.getEnumMap());
this.addDict(model, "building", BuildingEnum.getEnumMap());
this.addDict(model, "floor", FloorEnum.getEnumMap());
this.addDict(model, "status", StatusEnum.getEnumMap());
this.addDict(model, "enabled", EnabledEnum.getEnumMap());
super.init(model, context);
}
}
\ No newline at end of file
...@@ -1389,3 +1389,43 @@ ALTER TABLE mortals_xhx_staff ADD COLUMN `dingUserId` varchar(128) COMMENT ' ...@@ -1389,3 +1389,43 @@ ALTER TABLE mortals_xhx_staff ADD COLUMN `dingUserId` varchar(128) COMMENT '
-- ---------------------------- -- ----------------------------
ALTER TABLE `mortals_xhx_window_workman_perform` ADD COLUMN `season` int(4) DEFAULT NULL COMMENT '考核季度',ADD COLUMN `timeType` tinyint(2) DEFAULT '0' COMMENT '时间类型(0,按月,1按季度,2按年)'; ALTER TABLE `mortals_xhx_window_workman_perform` ADD COLUMN `season` int(4) DEFAULT NULL COMMENT '考核季度',ADD COLUMN `timeType` tinyint(2) DEFAULT '0' COMMENT '时间类型(0,按月,1按季度,2按年)';
ALTER TABLE `mortals_xhx_check_window_workman_perform` ADD COLUMN `season` int(4) DEFAULT NULL COMMENT '考核季度',ADD COLUMN `timeType` tinyint(2) DEFAULT '0' COMMENT '时间类型(0,按月,1按季度,2按年)'; ALTER TABLE `mortals_xhx_check_window_workman_perform` ADD COLUMN `season` int(4) DEFAULT NULL COMMENT '考核季度',ADD COLUMN `timeType` tinyint(2) DEFAULT '0' COMMENT '时间类型(0,按月,1按季度,2按年)';
-- ----------------------------
-- 考勤机管理表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_device`;
CREATE TABLE `mortals_xhx_device` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '序号,主键,自增长',
`deviceName` varchar(64) NOT NULL COMMENT '设备名称',
`deviceCode` varchar(128) DEFAULT NULL COMMENT '设备编码',
`deviceType` tinyint(2) DEFAULT '1' COMMENT '设备类型1考勤机',
`deviceMac` varchar(64) DEFAULT NULL COMMENT 'Mac地址',
`deviceFirmname` varchar(20) DEFAULT NULL COMMENT '设备厂商',
`modelNum` varchar(128) DEFAULT NULL COMMENT '设备型号',
`ip` varchar(64) DEFAULT NULL COMMENT '设备IP地址',
`port` varchar(64) DEFAULT NULL COMMENT '端口号',
`resolution` varchar(64) DEFAULT NULL COMMENT '设备分辨率',
`leadingOfficial` varchar(64) DEFAULT NULL COMMENT '负责人',
`telephone` varchar(64) DEFAULT NULL COMMENT '负责人电话',
`longitude` varchar(64) DEFAULT NULL COMMENT '设备经度',
`latitude` varchar(64) DEFAULT NULL COMMENT '设备纬度',
`building` tinyint(2) DEFAULT NULL COMMENT '所在楼宇',
`floor` tinyint(2) DEFAULT NULL COMMENT '所在楼层',
`address` varchar(128) DEFAULT NULL COMMENT '设备地址',
`manageUser` varchar(64) DEFAULT NULL COMMENT '管理员账号',
`managePWD` varchar(64) DEFAULT NULL COMMENT '管理员密码',
`remark` varchar(128) DEFAULT NULL COMMENT '备注',
`status` tinyint(2) DEFAULT '0' COMMENT '设备状态,0:未激活,1:离线:2:在线',
`enabled` tinyint(2) DEFAULT '0' COMMENT '启停状态,0:停用,1:启用',
`createUserId` bigint(20) DEFAULT NULL COMMENT '创建用户',
`createTime` datetime DEFAULT NULL COMMENT '创建时间',
`updateUserId` bigint(20) DEFAULT NULL COMMENT '更新用户',
`updateTime` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `deviceName` (`deviceName`) USING BTREE,
KEY `deviceCode` (`deviceCode`) USING BTREE,
KEY `deviceType` (`deviceType`) USING BTREE,
KEY `deviceFirmname` (`deviceFirmname`) USING BTREE,
KEY `status` (`status`) USING BTREE,
KEY `enabled` (`enabled`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='考勤机管理';
\ 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