(1)大体界面如下,主要包括了关键词搜索,分页查询功能,设备的增删改查

 

前端界面主要是用bootstrap框架开发的。表格的自动刷新和模态框

(2)这个过程中建数据库,

/*
SQLyog Ultimate v12.5.0 (64 bit)
MySQL - 5.7.20-log : Database - fingerdb
*********************************************************************
*//*!40101 SET NAMES utf8 */;/*!40101 SET SQL_MODE=''*/;/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`fingerdb` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin */;USE `fingerdb`;/*Table structure for table `attendance_records` */DROP TABLE IF EXISTS `attendance_records`;CREATE TABLE `attendance_records` (`id` int(11) NOT NULL AUTO_INCREMENT,`enroll_id` int(11) DEFAULT NULL,`records_time` datetime DEFAULT NULL,`mode` int(11) DEFAULT NULL,`intOut` int(11) DEFAULT NULL,`event` int(11) DEFAULT NULL,`device_serial_num` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=40 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;/*Data for the table `attendance_records` */insert  into `attendance_records`(`id`,`enroll_id`,`records_time`,`mode`,`intOut`,`event`,`device_serial_num`) values 
(1,1,'2019-09-23 14:16:13',6,0,0,'ZX0066827779'),
(2,1,'2019-09-23 14:16:19',6,0,0,'ZX0066827779'),
(3,2,'2019-09-23 15:01:32',1,0,0,'ZXNG0729369'),
(4,2,'2019-09-23 15:01:35',1,0,0,'ZXNG0729369'),
(5,1,'2019-09-23 15:01:40',1,0,0,'ZXNG0729369'),
(6,1,'2019-09-23 15:13:45',1,0,0,'ZXNG0729369'),
(7,1,'2019-09-23 15:15:26',1,0,0,'ZXNG0729369'),
(8,1,'2019-09-23 15:15:26',1,0,0,'ZXNG0729369'),
(9,1,'2019-09-23 15:16:53',1,0,0,'ZXNG0729369'),
(10,3,'2019-09-23 15:16:55',1,0,0,'ZXNG0729369'),
(11,1,'2019-09-23 15:17:48',1,0,0,'ZXNG0729369'),
(12,1,'2019-09-23 15:17:50',1,0,0,'ZXNG0729369'),
(13,1,'2019-09-23 15:17:52',1,0,0,'ZXNG0729369'),
(14,3,'2019-09-23 15:17:56',1,0,0,'ZXNG0729369'),
(15,3,'2019-09-23 15:17:58',1,0,0,'ZXNG0729369'),
(16,1,'2019-09-23 15:18:01',1,0,0,'ZXNG0729369'),
(17,1,'2019-09-23 15:18:03',1,0,0,'ZXNG0729369'),
(18,3,'2019-09-23 15:18:05',1,0,0,'ZXNG0729369'),
(19,3,'2019-09-23 15:18:08',1,0,0,'ZXNG0729369'),
(20,1,'2019-09-23 15:18:24',1,0,0,'ZXNG0729369'),
(21,1,'2019-09-23 15:18:24',1,0,0,'ZXNG0729369'),
(22,1,'2019-09-23 15:18:27',1,0,0,'ZXNG0729369'),
(23,1,'2019-09-23 15:18:27',1,0,0,'ZXNG0729369'),
(24,1,'2019-09-23 15:18:32',1,0,0,'ZXNG0729369'),
(25,1,'2019-09-23 15:18:36',1,0,0,'ZXNG0729369'),
(26,1,'2019-09-23 15:18:36',1,0,0,'ZXNG0729369'),
(27,1,'2019-09-23 15:18:39',1,0,0,'ZXNG0729369'),
(28,1,'2019-09-23 15:18:41',1,0,0,'ZXNG0729369'),
(29,1,'2019-09-23 15:18:43',1,0,0,'ZXNG0729369'),
(30,1,'2019-09-23 15:18:43',1,0,0,'ZXNG0729369'),
(31,3,'2019-09-23 15:18:48',1,0,0,'ZXNG0729369'),
(32,1,'2019-09-23 15:18:54',1,0,0,'ZXNG0729369'),
(33,1,'2019-09-23 15:18:57',1,0,0,'ZXNG0729369'),
(34,4,'2019-09-23 15:19:26',1,0,0,'ZXNG0729369'),
(35,1,'2019-09-23 15:19:31',1,0,0,'ZXNG0729369'),
(36,3,'2019-09-23 15:19:35',1,0,0,'ZXNG0729369'),
(37,2,'2019-09-23 15:19:42',1,0,0,'ZXNG0729369'),
(38,1,'2019-09-23 16:17:27',1,0,0,'ZXNG0729369'),
(39,1,'2019-09-23 16:17:35',6,0,0,'ZX0066827779');/*Table structure for table `device` */DROP TABLE IF EXISTS `device`;CREATE TABLE `device` (`id` int(11) NOT NULL AUTO_INCREMENT,`serial_num` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL,`device_name` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL,`area` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL,`status` int(11) DEFAULT NULL,`province` int(11) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;/*Data for the table `device` */insert  into `device`(`id`,`serial_num`,`device_name`,`area`,`status`,`province`) values 
(1,'ZX0066827779',NULL,NULL,0,NULL),
(2,'ZXNG0729369',NULL,NULL,0,NULL),
(4,'ZX656477889','ee','ee',0,0),
(5,'ZXLD88888889',NULL,NULL,0,NULL),
(6,'ZXLD897988533',NULL,NULL,1,NULL);/*Table structure for table `enrollinfo` */DROP TABLE IF EXISTS `enrollinfo`;CREATE TABLE `enrollinfo` (`id` int(11) NOT NULL AUTO_INCREMENT,`enroll_id` int(11) DEFAULT NULL,`backupnum` int(11) DEFAULT NULL,`signatures` text COLLATE utf8mb4_bin,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;/*Data for the table `enrollinfo` */insert  into `enrollinfo`(`id`,`enroll_id`,`backupnum`,`signatures`) values 
(9,1,0,'c5355b1694f84a6d0fc3c6039a89831517ffd90431f62b91e16a360830f7238ae070148632f7e3c1e07415041fe93b9af90308453cf5d3d1e0ea35472ff8bc11d8b9d702b6f5fc4d0f0996863af72446e0742505bd8d1c92ffc5fb42c08ce529fffe0f4440f8153df8b699081c88ad51ffd1fe08eaf4524d0eb2484776f53a59004da6075ef43aca18cfb6c702f50ae5ecee764c7de5ab5a705347e126f68b5de9ac35c74bf403add84dc887a2f6e3a62807948542f4cbd9d8d5d747a5a8e4211fffd7c2bcf51cc6d81bc846c8f67d89e90db7c7be8d14daffffff421dc73a66ff761648b0f4ace5e8e0298d7df579c1e88bb6c40ef5d1e906b64684c033cbfd1f364743a5718c51ffffce026ec3f232d849a7c6e2f2f236eeb638c563f3d276004bc705c1920b3df8b24ad5a261f379facffb8d9478094de7c3c681e67705e9affbc8c4dfd5e5e1d87fb7c57046c609fdb9d904cc48b6220ffffec56e7298eee7c7c9c7eb4240dafebe29c45fd1ea45e887d9c2a94133c1f9fff8c3b440829df9fffe83a84062c1fffffdc25071747dc87a190546719ceed887f8cada4002adff3e1bc23f41852aefc9fa08(56)26db332987a13e13577338529436345218551695f8a525667140f052f7ff6f1f463f5bf48334756372342387b6331497fa9944c95855f2af74fff6f552f281f8ff87df352cf98ffffff26334f323594c51f3f2ffffff3f3fff8f8a6fffffffffffff22ffff0f(10)1e5b2333001512517b2300808862ae502030e741a346110005414a0002719e78f02a2130635142161203b751481d32b4ae51ef3021237361761e31c2ad712b571282bc63323762043162572624b278704e1a5031ba81895f7275ce709a6662928781f2695208ab60ba2663607681800024450461435f0627119301186502bd61ad0d3240dd7172094460c192094714714571b26e047789e2530d3515cca5882546e1aeb38c1524019c816b6421655391892f24457d9013021503120604090816111b0714170500181e1c1d210c190d242527292db46e'),
(10,2,0,'c53557038cb86aeae847b58483e79b41084bb50502f64b4e06ae460724ba1341ff76064299ea036d07c3c6c276f6cb9e108f958957b4e3a91fcdb5c5e9f603f6ee6e66496df69c2a5055870d9c7ad42d17d7dac5cfe48c5dff3e26c629f9b455e036070354e5645d200fb5c699f8048a2049768648e53cf6c80bc58445f664fdc89bb6d82ef73529e9220608c4bb653aaff1fb45a06aed1d0fcfdb55a56b05620fcbcb943ee5ad59d0cdc586c2eb4599bffe2ac4ba74a579fefe2802a9f78576083b6601aad7fdaa0749b74434e96dbd2f7806c43ef8e5d1e6b49685b5e87dfdd6d9b7489a8b0bf10fffd802a37b3cb507ffcd9d32e70619104377c3a7e7fe1d0820090bb3684e2de77fc90e38e65619e041c7c3cc8b7ca197e9f943c68b74dda7effa044ea8c64afdaff8c9a7876671f93e08453e756669d7fb96426e45832de7fff847cf444c2eff3e3745c243f4ddff7e3982c543e525febe1cc247442d71dfc3f643bb4a6e05efffd811aa4a462d67ffd70a3c4a7636f935fa5179485e91fbfeba0a09478ea557d77a199c4766b1fb7e4a941f49c249ff3e0502974a72b6efffd44007469266ff3e37c3(56)38c2146683242f257370687516616a573554172328399952f25b226431d678446727ac63262635364e32f6f601f2f223f21c1fff1f5289286fffff5ffd30461294326543f332829ffffff8f2cf383531f403fffff351f2f8fffff1f4ffff6517f32540784f1ff6fff133f1127f08(2)1e57da64442396617b4103347073b05e10338762fa0e2261c266af4440201760714d12020052aa1b2073d762b2504402c570400d12123051c248100116718f0e2322d6512d0a2241ea51491a12949851506d133150616b1d0160906111530212e361f96934858a60b8562082dba1471055c2ca511c2701518392802f12047e81ec20017136930e60543288609b5b056002b5602633309d80a438004123821b760504e9a1010a1020bab1d15d012616a281012120eda10d08100f1705070b0c18010e14021a190409001f272003121c2423112f152354'),
(11,3,0,'c5256406d0f9ebaae738284353f91bede883d8824bf9ccc5e043d74354f8451dd07bba4243fa3525e10406c343f9a5cdd04228c44088de19f887f64358e78ac9e7fe198459f71c09e7fbfb42b84a7545198a26c64686ddc107c7f6c4d0e8429aff43f9c255e8a29107fe1a04d1f7031df83fd9c25cbadb89cf7fb7c450dadbc1004bc684426ac545f885f6433eb7d60d17cbfb424eab6bf2104fc6063eabccc5d08dd745b9da35aa26c42884b74a1e0dfffe1ac4b749365e2ffe27c46b4b2ad9dfff97866b4b62eddfff96c7664be35d07ff9686e84c4be9e46df54c6e4d1429707f57a22b4d3c81f921f6de364ca4d9f8d5d6c7ac4d84f50fff3a83ac4ccd390ffe6881397aade5d8c5c886ae45153dfffff6c1364badf5f905f805344a56a1f949f8465847da7deffe1ac3(184)424fb229a56726a59343f2872732f72126f542f5f5ff210a66ffffff9ff5f6ff49425fb2ff3fe3153fbf5fff5f3793f464a4f280ffffff6fff256933582264ff4f04f4f494642f0f(40)1e647b0e5471e7709a0f1675ed806f1a1220c8607b2145458da05339420140612c7111615180ac2e01636560ea1d3190bd61c36510e08b81431565e7ceb0567620b18a617a6731708d817a154371b071cc152161bd718a180092c781204d0140e1a1d22e200173602b5b1172ab53151e52d2bcb0af521131d561c41556c2ce61fc5e2242b36132532004c071556642c579810f6b1135718077751460b0782f5b114041670f160139ca913b571268d1a1252822e58b81020104030900100f14081205130e2015061a111d0a1916221f1b1c070c232a16'),
(12,4,0,'c50d6a010cb84be5ff39f68102b61c06ff32284484b9042aeffe054178b6744de747b78301b5fc61eef218c47cb7bc82e083d8c484b97caae7ffc74375b6ccd2e087ca846eb765b5e849b9c3edb7c5d906f229440ab91c55ff41f54067877e4df84bf90703862399ff7e1705(376)e155223343444231369028926858743a63(95)096ac20832032581581e22a5a8a1971695b2c890ca2130829c706b30a17265504b4f2179c0700a19a270c181ad08315604604c1d0561b081(126)050708030a06040001(21)e554');/*Table structure for table `machine_command` */DROP TABLE IF EXISTS `machine_command`;CREATE TABLE `machine_command` (`id` int(11) NOT NULL AUTO_INCREMENT,`command_name` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL,`params` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL,`device_sn` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL,`status` int(11) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;/*Data for the table `machine_command` *//*Table structure for table `person` */DROP TABLE IF EXISTS `person`;CREATE TABLE `person` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL,`rollid` int(11) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;/*Data for the table `person` */insert  into `person`(`id`,`name`,`rollid`) values 
(1,'',0),
(2,'WL',0),
(3,'',0),
(4,'',0);/*Table structure for table `province` */DROP TABLE IF EXISTS `province`;CREATE TABLE `province` (`id` int(11) NOT NULL AUTO_INCREMENT,`province` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;/*Data for the table `province` *//*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

新建数据库表结构之后,必须编写mybatis的mapper文件,attendanceRecords的mapper文件。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.timmy.mapper.AttandenceRecordsMapper" ><resultMap id="BaseResultMap" type="com.timmy.entity.AttandenceRecords" ><id column="id" property="id" jdbcType="INTEGER" /><result column="enroll_id" property="enrollId" jdbcType="INTEGER" /><result column="records_time" property="recordsTime" jdbcType="TIMESTAMP" /><result column="mode" property="mode" jdbcType="INTEGER" /><result column="intOut" property="intout" jdbcType="INTEGER" /><result column="event" property="event" jdbcType="INTEGER" /><result column="device_serial_num" property="deviceSerialNum" jdbcType="VARCHAR" /></resultMap><sql id="Base_Column_List" >id, enroll_id, records_time, mode, intOut, event, device_serial_num</sql><select id="selectAll" resultMap="BaseResultMap">select id, enroll_id, records_time, mode, intOut, event, device_serial_num from attendance_records order by records_time desc   </select><select id="selectByEnrollId" resultMap="BaseResultMap" parameterType="java.lang.Integer" >select id, enroll_id, records_time, mode, intOut, event, device_serial_num from attendance_records where enroll_id=#{enrollId,jdbcType=INTEGER} </select><select id="selectByTime" resultMap="BaseResultMap">select id, enroll_id, records_time, mode, intOut, event, device_serial_num from attendance_records where records_time between #{startTime,jdbcType=TIMESTAMP} and #{toTime,jdbcType=TIMESTAMP}</select><select id="selectLogByEnrollIdAndTime" resultMap="BaseResultMap">select id, enroll_id, records_time, mode, intOut, event, device_serial_num from attendance_records where enroll_id=#{enrollId,jdbcType=INTEGER}and  records_time = #{recordsTime,jdbcType=TIMESTAMP}</select><select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >select <include refid="Base_Column_List" />from attendance_recordswhere id = #{id,jdbcType=INTEGER}</select><delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >delete from attendance_recordswhere id = #{id,jdbcType=INTEGER}</delete><insert id="insert" parameterType="com.timmy.entity.AttandenceRecords" >insert into attendance_records (enroll_id, records_time, mode, intOut, event, device_serial_num)values ( #{enrollId,jdbcType=INTEGER}, #{recordsTime,jdbcType=TIMESTAMP}, #{mode,jdbcType=INTEGER}, #{intout,jdbcType=INTEGER}, #{event,jdbcType=INTEGER}, #{deviceSerialNum,jdbcType=VARCHAR})</insert><insert id="insertSelective" parameterType="com.timmy.entity.AttandenceRecords" >insert into attendance_records<trim prefix="(" suffix=")" suffixOverrides="," ><if test="enrollId != null" >enroll_id,</if><if test="recordsTime != null" >records_time,</if><if test="mode != null" >mode,</if><if test="intout != null" >intOut,</if><if test="event != null" >event,</if><if test="deviceSerialNum != null" >device_serial_num,</if></trim><trim prefix="values (" suffix=")" suffixOverrides="," ><if test="enrollId != null" >#{enrollId,jdbcType=INTEGER},</if><if test="recordsTime != null" >#{recordsTime,jdbcType=TIMESTAMP},</if><if test="mode != null" >#{mode,jdbcType=INTEGER},</if><if test="intout != null" >#{intout,jdbcType=INTEGER},</if><if test="event != null" >#{event,jdbcType=INTEGER},</if><if test="deviceSerialNum != null" >#{deviceSerialNum,jdbcType=VARCHAR},</if></trim></insert><update id="updateByPrimaryKeySelective" parameterType="com.timmy.entity.AttandenceRecords" >update attendance_records<set ><if test="enrollId != null" >enroll_id = #{enrollId,jdbcType=INTEGER},</if><if test="recordsTime != null" >records_time = #{recordsTime,jdbcType=TIMESTAMP},</if><if test="mode != null" >mode = #{mode,jdbcType=INTEGER},</if><if test="intout != null" >intOut = #{intout,jdbcType=INTEGER},</if><if test="event != null" >event = #{event,jdbcType=INTEGER},</if><if test="deviceSerialNum != null" >device_serial_num = #{deviceSerialNum,jdbcType=VARCHAR},</if></set>where id = #{id,jdbcType=INTEGER}</update><update id="updateByPrimaryKey" parameterType="com.timmy.entity.AttandenceRecords" >update attendance_recordsset enroll_id = #{enrollId,jdbcType=INTEGER},records_time = #{recordsTime,jdbcType=TIMESTAMP},mode = #{mode,jdbcType=INTEGER},intOut = #{intout,jdbcType=INTEGER},event = #{event,jdbcType=INTEGER},device_serial_num = #{deviceSerialNum,jdbcType=VARCHAR}where id = #{id,jdbcType=INTEGER}</update>
</mapper>

对应的映射接口类

package com.timmy.mapper;import com.timmy.entity.AttandenceRecords;import java.util.List;
import org.apache.ibatis.annotations.Param;public interface AttandenceRecordsMapper {int deleteByPrimaryKey(Integer id);int insert(AttandenceRecords record);int insertSelective(AttandenceRecords record);AttandenceRecords selectByPrimaryKey(Integer id);int updateByPrimaryKeySelective(AttandenceRecords record);int updateByPrimaryKey(AttandenceRecords record);List<AttandenceRecords> selectAll();List<AttandenceRecords> selectLogByEnrollIdAndTime(@Param("enrollId")int enrollId,@Param("recordsTime")String recordsTime);List<AttandenceRecords> selectByEnrollId(int enrollId);List<AttandenceRecords> selectByTime(@Param("startTime")String startTime,@Param("toTime")String toTime);
}

service

package com.timmy.service;import java.util.List;import org.apache.ibatis.annotations.Param;import com.timmy.entity.AttandenceRecords;public interface AttandenceRecordsService  {int deleteByPrimaryKey(Integer id);int insert(AttandenceRecords record);int insertSelective(AttandenceRecords record);AttandenceRecords selectByPrimaryKey(Integer id);int updateByPrimaryKeySelective(AttandenceRecords record);int updateByPrimaryKey(AttandenceRecords record);List<AttandenceRecords> selectAll();List<AttandenceRecords> selectLogByEnrollIdAndTime(int enrollId,String recordsTime);List<AttandenceRecords> selectByEnrollId(int enrollId);List<AttandenceRecords> selectByTime(String startTime,String toTime);
}
package com.timmy.serviceImpl;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import com.timmy.entity.AttandenceRecords;
import com.timmy.mapper.AttandenceRecordsMapper;
import com.timmy.service.AttandenceRecordsService;@Service
public class AttandenceRecordsServiceImpl implements AttandenceRecordsService{@AutowiredAttandenceRecordsMapper attandenceRecordsMapper;@Overridepublic int deleteByPrimaryKey(Integer id) {// TODO Auto-generated method stubreturn attandenceRecordsMapper.deleteByPrimaryKey(id);}@Overridepublic int insert(AttandenceRecords record) {// TODO Auto-generated method stubreturn attandenceRecordsMapper.insert(record);}@Overridepublic int insertSelective(AttandenceRecords record) {// TODO Auto-generated method stubreturn attandenceRecordsMapper.insertSelective(record);}@Overridepublic AttandenceRecords selectByPrimaryKey(Integer id) {// TODO Auto-generated method stubreturn attandenceRecordsMapper.selectByPrimaryKey(id);}@Overridepublic int updateByPrimaryKeySelective(AttandenceRecords record) {// TODO Auto-generated method stubreturn attandenceRecordsMapper.updateByPrimaryKey(record);}@Overridepublic int updateByPrimaryKey(AttandenceRecords record) {// TODO Auto-generated method stubreturn attandenceRecordsMapper.updateByPrimaryKey(record);}@Overridepublic List<AttandenceRecords> selectAll() {// TODO Auto-generated method stubreturn attandenceRecordsMapper.selectAll();}@Overridepublic List<AttandenceRecords> selectLogByEnrollIdAndTime(int enrollId,String recordsTime) {// TODO Auto-generated method stubreturn attandenceRecordsMapper.selectLogByEnrollIdAndTime(enrollId, recordsTime);}@Overridepublic List<AttandenceRecords> selectByEnrollId(int enrollId) {// TODO Auto-generated method stubreturn attandenceRecordsMapper.selectByEnrollId(enrollId);}@Overridepublic List<AttandenceRecords> selectByTime(String startTime, String toTime) {// TODO Auto-generated method stubreturn attandenceRecordsMapper.selectByTime(startTime, toTime);}}

controller,

package com.timmy.controller;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.timmy.entity.AttandenceRecords;
import com.timmy.entity.Device;
import com.timmy.entity.DeviceStatus;
import com.timmy.entity.MachineCommand;
import com.timmy.entity.Msg;
import com.timmy.service.AttandenceRecordsService;
import com.timmy.service.MachineCommandService;
import com.timmy.websocket.WebSocketPool;@Controller
@RequestMapping("log")
public class LogController {@AutowiredAttandenceRecordsService attandenceRecordsService;@AutowiredMachineCommandService machineCommandService;/*@RequestMapping(value = "queryLog", method = RequestMethod.GET)public String queryLog(@RequestParam(value = "pn", defaultValue = "1") Integer pn,Model model) {PageHelper.startPage(pn, 10);List<AttandenceRecords> list = attandenceRecordsService.selectAll();//	System.out.println("打卡记录" + list);PageInfo<AttandenceRecords> pageInfo = new PageInfo<AttandenceRecords>(list, 10);model.addAttribute("pageInfo", pageInfo);return "loglist";}*/@RequestMapping("/queryLogs")public String queryDevice() {return "loglist2";		}/*刷新设备列表*/@RequestMapping(value="/logList")@ResponseBodypublic Msg refreshList(@RequestParam(value="pn",defaultValue="1") Integer pn) {PageHelper.startPage(pn, 15);List<AttandenceRecords> list = attandenceRecordsService.selectAll();PageInfo page= new PageInfo(list,5);return Msg.success().add("pageInfo", page);}@ResponseBody@RequestMapping(value = "getLogData", method = RequestMethod.GET)public Msg getAllLog(@RequestParam("deviceSn") String deviceSn,@RequestParam("beginTime")String beginTime,@RequestParam("endTime")String endTime) {Boolean stn=true;SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");String time = sdf1.format(new Date());String str ="{\"from\":\"" + beginTime + "\""+",\"to\":\"" + endTime + "\""+"}";System.out.println("shuju"+str);String from="2019-09-1";String message="{\"cmd\":\"getalllog\",\"stn\":true,\"from\":\"" +beginTime+"\",\"to\":\""+endTime+"\"}";String  message1="{\"cmd\":\"getalllog\",\"stn\":true}";DeviceStatus deviceStatus1=WebSocketPool.getDeviceStatus(deviceSn);if(deviceStatus1!=null&&deviceStatus1.getStatus()==1){deviceStatus1.setStatus(0);updateDevice(deviceSn, deviceStatus1);WebSocketPool.sendMessageToDeviceStatus(deviceSn, message);	return Msg.success();}else{MachineCommand command=new MachineCommand();command.setCommandName("getalllog");command.setDeviceSn(deviceSn);command.setParams(str);command.setStatus(0);machineCommandService.insert(command);return Msg.waitRun();}}@RequestMapping(value = "/searchParameter", method = RequestMethod.GET)public String searchByKeyword(@RequestParam(value="pn",defaultValue="1")Integer pn,@RequestParam(value="enrollId",defaultValue="0")int enrollId,@RequestParam("starttime")String startTime,@RequestParam("totime")String toTime,Model model) {System.out.println("shen"+enrollId);PageHelper.startPage(pn, 15);List<AttandenceRecords>list=new ArrayList<AttandenceRecords>();if(enrollId!=0){list=attandenceRecordsService.selectByEnrollId(enrollId);System.out.println("shen4"+list);}else if(enrollId==0){System.out.println("开始时间"+startTime+"......结束时间"+toTime);list=attandenceRecordsService.selectByTime(startTime, toTime);System.out.println("shen5"+list);}PageInfo<AttandenceRecords>pageInfo=new PageInfo<AttandenceRecords>(list,10);model.addAttribute("pageInfo", pageInfo);return "loglist";		}public void updateDevice(String sn, DeviceStatus deviceStatus) {if (WebSocketPool.getDeviceStatus(sn) != null) {WebSocketPool.removeDeviceStatus(sn);WebSocketPool.addDeviceAndStatus(sn, deviceStatus);} else {WebSocketPool.addDeviceAndStatus(sn, deviceStatus);}}
}

前端页面

<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%String path = request.getContextPath();String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";//response.setHeader("refresh","30");
%>
<!DOCTYPE html>
<html lang="en">
<head>
<base href="<%=basePath%>">
<title>Fingerprint Device Auto Data Manage System</title><link rel="stylesheet" href="css/bootstrap.min.css" />
<link rel="stylesheet" href="css/bootstrap-datetimepicker.min.css" />
<script type="text/javascript" src="js/jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
<script type="text/javascript" src="js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript"src="js/bootstrap-datetimepicker.zh-CN.js"></script></head><body><nav class="navbar navbar-inverse" role="navigation"><div class="container-fluid"><div class="navbar-header"><a class="navbar-brand" href="#" style="height: 92px;"> </a></div><div class="collapse navbar-collapse" id="example-navbar-collapse"><ul class="nav navbar-nav navbar" style="margin: 1% 0 1% 34%;"><li class="active"><a class="icon-bar" href="#"style="background-color: #087b71"> <fontstyle="font-size: 31px; font-weight: bold; font-style: italic;">Welcometo Fingerprint Device ADMS</font></a></li></ul><ul class="nav navbar-nav navbar-right" style="margin: 1% 0 1% 0%;"></ul></div></div></nav><div class="container-fluid"><div class="row"><div class="col-sm-2"><a href="#" class="list-group-item active"><spanclass="glyphicon glyphicon-home"></span>&nbsp;&nbsp;Menu </a> <ahref="${pageContext.request.contextPath}/log/queryLogs"class="list-group-item"> <spanclass="glyphicon glyphicon-search" aria-hidden="true"> </span>&nbsp;AttendanceLog</a> <a href="${pageContext.request.contextPath}/device/queryDevices"class="list-group-item"> <span class="glyphicon glyphicon-user"aria-hidden="true"> </span>&nbsp;Device Management</a></div><!--左边菜单栏--><div class="col-sm-10"><ol class="breadcrumb"><li class="active">Menu</li><li class="active">Attendance Log</li></ol><div class="panel panel-default"><div class="panel-heading">Operation</div><div class="panel-body"><form role="form" class="form-inline"action="${pageContext.request.contextPath }/log/searchParameter"><div class="form-group"><label for="name">Enrollid</label> <input type="text"class="form-control" name="enrollId" id="idsearch"placeholder="Input enrollId"></div>&nbsp;&nbsp;&nbsp;&nbsp;<div class="form-group"><label>StartTime</label> <input type="text"class="form-control  form_datetime" id="startTime"name="starttime"></div><div class="form-group"><label>EndTime</label>								<input type="text" class="form-control  form_datetime"id="toTime" name="totime" ></div><div class="form-group"><button type="submit" id="search_btn" class="btn btn-default">Start Search</button></div></form><div class="row"><div class="col-md-6 col-md-offset-10"><button class="btn btn-primary" id="getLogData_btn">Get_All_Log</button></div></div></div></div><!-- 列表展示 --><div class="table-responsive"><form action="${pageContext.request.contextPath }/person/addCar"method="post"><table class="table table-hover table-striped" id="emps_table"><thead><tr><th>UserID</th><th>RecordsTime</th><th>Mode</th><th>InOut</th><th>Event</th><th>DeviceID</th></tr></thead><tbody></tbody></table></form></div></div></div><!-- 分页 --><div class="row"><!-- 显示分页文字信息 --><div class="col-md-6" id="page_info_area"></div><!-- 显示分页条信息 --><div class="col-md-4 col-md-offset-2" id="page_nav_area"></div></div></div><!-- 手动采集记录--><div class="modal fade" id="selectDeviceModal" tabindex="-1"role="dialog" aria-labelledby="myModalLabel"><div class="modal-dialog" role="document"><div class="modal-content"><div class="modal-header"><button type="button" class="close" data-dismiss="modal"aria-label="Close"><span aria-hidden="true">&times;</span></button><h4 class="modal-title">GetLogData</h4></div><div class="modal-body"><form class="form-horizontal" id="form1"><div class="form-group"><label class="control-label col-xs-3">DeviceId</label><div class="col-sm-5"><select class="form-control" name="deviceSn" id="getDeviceSn"></select></div></div><div class="form-group"><label for="lastname" class="col-sm-3 control-label">BeginTime:</label><div class="col-sm-5"><input type="text" class="form-control form_datetime"id="beginTime" name="createtime"></div></div><div class="form-group"><label for="lastname" class="col-sm-3 control-label">EndTime:</label><div class="col-sm-5"><input type="text" class="form-control form_datetime"id="endTime" name="createtime"></div></div></form></div><div class="modal-footer"><button type="button" class="btn btn-default" data-dismiss="modal">return</button><button type="button" class="btn btn-primary"id="getDeviceSn_button">save</button></div></div></div></div><script type="text/javascript"><!-- 添加模态框(Modal)插件 -->var totalRecord,currentPage;$(function() {to_page(1);setInterval("to_page(1)", 10000);$(".form_datetime").datetimepicker({format : "yyyy-mm-dd",autoclose : true,todayBtn : true,todayHighlight : true,showMeridian : true,pickerPosition : "bottom-left",startView : 2,//月视图minView : 2			//日期时间选择器所能够提供的最精确的时间选择视图});});function to_page(pn) {$.ajax({url : "${pageContext.request.contextPath}/log/logList",data : "pn=" + pn,type : "GET",success : function(result) {//console.log(result);// 1. 解析并显示员工数据build_emp_table(result);// 2. 解析并显示分类信息buid_page_info(result);// 3. 解析并显示分页条信息build_page_nav(result);}});}//解析显示员工信息function build_emp_table(result) {$("#emps_table tbody").empty();var emps = result.extend.pageInfo.list;var i = result.extend.pageInfo.startRow;$.each(emps, function(index, item) {//alert(item.empName);var idTd = $("<td></td>").append(item.enrollId);var deviceSnTd = $("<td></td>").append(item.recordsTime);var nameTd = $("<td></td>").append(item.mode);var parameterTd = $("<td></td>").append(item.intout);var provinceTd = $("<td></td>").append(item.event);var statusTd = $("<td></td>").append(item.deviceSerialNum);var uploadBtu = $("<button></button>").addClass("btn btn-info btn-sm upload_btu").append("<span></span>").append("uploadPersonToDevice");//为编辑按钮添加一个自定义的属性,来表示当前的员工iduploadBtu.attr("upload-id", item.id);var delBtu = $("<button></button>").addClass("btn btn-danger btn-sm delete_btu").append("<span></span>").append("delete");//为删除按钮添加一个自定义的属性,来表示当前的员工iddelBtu.attr("delete-id", item.id);var btuTd = $("<td></td>").append(delBtu);//append方法执行完后仍返回原来的元素$("<tr></tr>").append(idTd).append(deviceSnTd).append(nameTd).append(parameterTd).append(provinceTd).append(statusTd).appendTo("#emps_table tbody");})}//解析显示分页信息function buid_page_info(result) {$("#page_info_area").empty();var pageH = $("<h4 style=\"margin: 0 0 0 38%;\"></h4>").append("Current Page:" + result.extend.pageInfo.pageNum+ ", Count Page:" + result.extend.pageInfo.pages+ ", All Records:" + result.extend.pageInfo.total);$("#page_info_area").append(pageH);totalRecord = result.extend.pageInfo.pages;currentPage = result.extend.pageInfo.pageNum;}//解析显示分页条信息function build_page_nav(result) {$("#page_nav_area").empty();var ul = $("<ul></ul>").addClass("pagination");var firstPageLi = $("<li></li>").append($("<a></a>").append("FirstPage"));var prePageLi = $("<li></li>").append($("<a></a>").append("&laquo;"));if (result.extend.pageInfo.hasPreviousPage == false) {prePageLi.addClass("disabled");} else {//添加单击事件prePageLi.click(function() {to_page(result.extend.pageInfo.pageNum - 1);});firstPageLi.click(function() {to_page(1);});}var nextPageLi = $("<li></li>").append($("<a></a>").append("&raquo;"));var lastPageLi = $("<li></li>").append($("<a></a>").append("LastPage"));if (result.extend.pageInfo.hasNextPage == false) {nextPageLi.addClass("disabled");} else {//添加单击事件nextPageLi.click(function() {to_page(result.extend.pageInfo.pageNum + 1);});lastPageLi.click(function() {to_page(result.extend.pageInfo.pages);});}//添加首页和前一页ul.append(firstPageLi).append(prePageLi);$.each(result.extend.pageInfo.navigatepageNums, function(index,item) {var numLi = $("<li></li>").append($("<a></a>").append(item));//添加每一个遍历出来的页码if (item == result.extend.pageInfo.pageNum) {numLi.addClass("active");}numLi.click(function() {to_page(item);});ul.append(numLi);});//添加最后一页和末页ul.append(nextPageLi).append(lastPageLi);//把 ul 添加到 navElv 中去var navElv = $("<nav></nav>").append(ul);navElv.appendTo("#page_nav_area");}//手动采集记录$("#getLogData_btn").click(function() {//初始化模态框//也可以这么做getDevice("#selectDeviceModal #getDeviceSn");$("#selectDeviceModal").modal({backdrop : "static"});//获取用户id列表$("#getDeviceSn_button").click(function() {var deviceSn = document.getElementById('getDeviceSn').value;var beginTime = document.getElementById('beginTime').value;var endTime = document.getElementById('endTime').value;$.ajax({url : "${pageContext.request.contextPath}/log/getLogData?deviceSn="+ deviceSn+ "&beginTime="+ beginTime+ "&endTime="+ endTime,type : "GET",success : function(result) {if (result.code == 100) {$("#selectDeviceModal").modal('hide');alert(result.msg);//回到当前页window.location.href = "${pageContext.request.contextPath}/log/queryLogs";} else {alert("Has been insert into DB,waiting execute!");}}});});});function getDevice(ele) {//alert("shebei")$(ele).empty();$.ajax({url : "${pageContext.request.contextPath}/device/deviceSn",type : "GET",success : function(result) {$.each(result.extend.device, function() {var optionEle = $("<option></option>").append(this.serialNum).attr("value", this.serialNum);optionEle.appendTo(ele);})}});}</script><!-- 底部页脚部分 --><div class="footer"><p class="text-center">2019 &copy; Timmy.</p></div></body>
</html>

先到这里,下一篇继续

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. [原]魔兽世界宏命令上手指南

    说明:本文自发出起一个月内不接受任何形式的转载。本文中依然存在一些错误。作者不承担对魔兽世界软件进行技术支持的义务。“宏”在程序员眼中是一个很常见的字眼,它一般指代一小段能够实现对批量的数据进行固定方式的处理的程序段。这里的“宏”和编程语言中的“宏”的区别…...

    2024/4/20 13:27:13
  2. 易语言5.9破解方法

    step1:到官方下载最新版的5.9易语言软件,并安装 。step2:下载破解补丁链接: https://pan.baidu.com/s/1MB5hHuSams-ufhcVR2EQTA 提取码: hernstep3:覆盖到易语言安装目录中(破解成功)step4:修复静态编译,下载vc98linker放在易语言目录根里面,里面有个link.e 的源码,打开之后…...

    2024/4/20 11:56:29
  3. 烘培进阶之-披萨!

    http://show.smzdm.com/detail/2355烘培进阶之-披萨!SMZDM推荐长帝烤箱作者:canninghand04-16 15:31看到有人晒面包,而且一晒就是好几天。于是!我的手也痒痒了~~~晒个进阶用具-烤箱,当然,是用披萨来体现的。用烤箱做出来的面包样子都是那种半圆形状的,没有披萨好看,所以…...

    2024/4/20 17:18:27
  4. javaweb期末课程设计——考勤系统分析及设计

    文档: 1.用户需求 1.1业务需求在当今社会,各种事务越来越多,而作为一个企业,需要对事务进行管理。管理起来有一定的难度,可以用信息化的手段来处理这件原本十分复杂的事物,所以企业需要一个考勤管理系统。2.可行性分析 2.1技术可行性Mysql+spring+Intellij IDEA+glassfis…...

    2024/4/25 23:12:57
  5. 自制Json解析工具(易语言)

    前言: E语言其实并没有什么难度,毕竟使用母语所编写,可以说其除了基本的语法之外并没有什么特别需要注意的地方,加之易语言模块的兴起,基本没有模块解决不了的需求。我们暂且不管易语言的出生如何,毕竟是基于vb语言,有人对之嗤之以鼻,但从目前的格局来看,易语言是非常…...

    2024/4/21 11:04:53
  6. 虹膜考勤管理系统

    西安朔明电子信息技术有限公司是主要致力于煤矿综合信息化建设、计算机网络等工程项目的专业公司,拥有虹膜识别出入管理系统、远程矿山管理系统、矿灯智能化管理系统等方面科技成果,并应用于全国各大煤矿企业,为用户提供适合的解决方案、全面的售后服务和有力的技术支持。 2…...

    2024/4/21 11:04:52
  7. 考勤系统需求分析

    转 考勤管理系统需求文档...

    2024/4/21 11:04:51
  8. 易语言2019年POST教程

    https://space.bilibili.com/378836879...

    2024/4/21 11:04:50
  9. 源码大招:不服来战!撸这些完整项目,你不牛逼都难!

    经常有人问我有没有什么项目代码,我回复说去 Github 找,但是还是好多人不知道如何找到那些比较好的项目。 今天花了点时间找了些安卓的项目,觉得还是不错的,几乎就是自己生活常用的一些 app ,如果你是一个 Android 开发者,我觉得撸完这些项目,你想不牛逼都难。 菜鸟新闻…...

    2024/4/21 11:04:49
  10. OA强大的考勤管理

    考勤管理是OA系统中一项很有用的功能。总体来说,通过OA系统进行考勤有两种方式:一种是将OA系统与考勤机连接,员工在考勤机上打卡,管理员在OA系统上汇总和管理考勤数据;另一种则是直接在OA系统上打卡,直接统计汇总数据。在考勤管理方面,华天动力OA系统可能是行业内做得最…...

    2024/4/21 11:04:49
  11. 【重拾CPP】关于对像池

    2019独角兽企业重金招聘Python工程师标准>>> 去年的时候,就有想法写一个属于自己的游戏服务器框架。所以今年春节假期花了很多时间去阅读代码。在万分纠结下,最终选择了C++语言(差点就想用golang了)来实现。从今日起,会记录些实现的细节。 如遇上大神,请指点一…...

    2024/4/21 11:04:47
  12. 基于JavaWeb的学生考勤系统

    主要身份为学生,任课老师和管理员。管理员功能有:修改密码,课程表信息管理,学生信息管理和老师信息管理。学生功能有:查看修改个人信息,申请请假,查看申请记录,查看个人考勤信息老师功能有:审核学生请假记录,管理已审核记录,补充学生请假记录,班级考勤管理。管理员界…...

    2024/4/21 11:04:46
  13. WOW插件:ShortRobot 1.21 发布(2006.10.3)

    下载:http://files.cnblogs.com/simonw/ShortRobot.rar作者:simonw, [2区 暗影之月 人类牧师 民族英雄]Email::i-simon AT msn.comWebSite:http://simonw.cnblogs.com/简介:ShortRobot 能够通过聊天对话,系统状态,事件来触发你自定义命令执行的插件。具备强大的定制与扩…...

    2024/4/21 11:04:45
  14. 认识 易语言窗口

    窗口是易语言的基本组件,是特殊组件,每个软件都离不开窗口,窗口属性的设置。我们看一下下图511遇见易语言教程原文:易语言教程窗口组件...

    2024/4/21 11:04:45
  15. Java web学生信息、选课、签到考勤、成绩管理系统开题报告论文等相关文档

    今天发布的是一款Java web学生信息系统的论文和开题报告及论文写作指导文档,文档和项目源码是分开的哦想获取源码和开发教程的请移步至:www.wisdomdd.cn/Wisdom/reso…本文所述的只是本系统的文档部分哦。开题报告和论文文档是我们根据多年经验总结出来的标准优秀论文的模板方…...

    2024/4/21 11:04:44
  16. 在Xcode中进行自动化测试

    这篇文章还可以在这里找到 英语, 韩语If youre new here, you may want to subscribe to my RSSfeed or follow me on Twitter. Thanks for visiting!来自 Ray: 这是 iOS6 盛宴 中的第 10 个教程! 这篇教程来自我们的新书iOS6 By Tutorials。Charlie Fulton 是这个章节的作者 …...

    2024/4/21 11:04:42
  17. 易语言急速学习不到20分学会基本

    https://pan.baidu.com/s/1boWsJuv 4vjr...

    2024/4/20 17:18:36
  18. 基于jsp(java)高校学生考勤管理系统设计与实现

    获取项目源文件,学习交流联系Q:1415736481,可指导毕设,课设本系统主要针对目前高校学生在线请假以及学生上课出勤管理而设计的信息系统。本系统总体上由三大功能模块:请假系统模块、考勤系统模块、后台管理模块组成。系统涉及到高校六大类用户:学生、任课老师、班主任、院系…...

    2024/4/20 17:18:36
  19. 中小企业OA系统视频教程(更新程度:完毕)送ppt源码

    中小企业OA系统是信息化时代,企业在正常运营过程中,利用信息技术和网络平台来提高办公的效率,进而实现办公的自动 化处理的网络办公平台。本系统是基于B/S架构模式下的Web应用系统,更有开发维护方便,升级简单的特点。系统开发采用面向对象的设计思想,应 用Java语言,主要…...

    2024/4/20 17:18:34
  20. 在电脑前,写点什么...

    刚才用别人的qq号和一个陌生的mm聊天,但是又不是陌生的,因为我发现她喜欢漫画。说起来,好久没有和漫友聊天了... 在这个3000亩的西区校园里,我所认识的漫友,只有很少的几个,花形,肥猫,番茄,羽狐,还有刚才的用美夕作头像的mm--媛来如此,很有意境的一个词吧,其实美夕…...

    2024/4/20 17:18:33

最新文章

  1. PFA容量瓶耐受强酸强碱进口特氟龙材质定容瓶

    PFA容量瓶&#xff0c;也叫特氟龙容量瓶&#xff0c;是用于配制标准浓度溶液的实验室器皿&#xff0c;是有着细长颈、梨形肚的耐强腐蚀平底塑料瓶&#xff0c;颈上有标线&#xff0c;可直接配置标准溶液和准确稀释溶液以及制备样品溶液。 因其有着不易碎、材质纯净、化学稳定性…...

    2024/4/26 15:50:06
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. HiveSQL如何生成连续日期剖析

    HiveSQL如何生成连续日期剖析 情景假设&#xff1a; 有一结果表&#xff0c;表中有start_dt和end_dt两个字段&#xff0c;&#xff0c;想要根据开始和结束时间生成连续日期的多条数据&#xff0c;应该怎么做&#xff1f;直接上结果sql。&#xff08;为了便于演示和测试这里通过…...

    2024/4/26 10:38:31
  4. javaWeb网上零食销售系统

    1 绪 论 目前&#xff0c;我国的网民数量已经达到7.31亿人&#xff0c;随着互联网购物和互联网支付的普及&#xff0c;使得人类的经济活动进入了一个崭新的时代。淘宝&#xff0c;京东等网络消费平台功能的日益完善&#xff0c;使得人们足不出户就可以得到自己想要的东西。如今…...

    2024/4/22 16:14:13
  5. 招投标系统简介 企业电子招投标采购系统源码之电子招投标系统 —降低企业采购成本

    功能描述 1、门户管理&#xff1a;所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含&#xff1a;招标公告、非招标公告、系统通知、政策法规。 2、立项管理&#xff1a;企业用户可对需要采购的项目进行立项申请&#xff0c;并提交审批&#xff0c;查看所…...

    2024/4/26 1:53:19
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/25 11:51:20
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/25 18:39:24
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/25 18:38:39
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/25 18:39:23
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/25 18:39:22
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/25 18:39:22
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/25 18:39:20
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/25 16:48:44
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/25 13:39:44
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/25 18:39:16
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/25 0:00:17
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/25 4:19:21
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/25 18:39:14
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/25 18:39:12
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/25 2:10:52
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/25 18:39:00
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/25 13:19:01
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/25 18:38:58
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/25 18:38:57
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57