| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- const db = require('../../db/index.js');
- const bcrypt = require("bcryptjs");
- const jwt = require("jsonwebtoken");
- const config = require('../../config.js')
- //疫苗接种列表
- exports.vaccinesList = async (req, res) => {
- const vaccines = req.query.vaccine; // 从查询参数获取用户名
- const date = req.query.date; // 从查询参数获取年龄
- const pageNum = parseInt(req.query.pageNum, 10) || 1;
- const pageSize = parseInt(req.query.pageSize, 10) || 10;
- // 验证参数
- if (isNaN(pageNum) || isNaN(pageSize) || pageNum < 1 || pageSize < 1) {
- return res.rescc('分页参数无效', 400);
- }
- const offset = (pageNum - 1) * pageSize;
- const offset2 = pageNum * pageSize;
-
- // 构建查询语句和参数数组,使用占位符和适当的逻辑操作符(如 AND 和 OR)
- let query = 'select * from ev_vaccines where 1=1'; // 使用恒等式作为基础条件,便于添加额外的条件而不改变原有逻辑结构。
- // SELECT * FROM table_name LIMIT page_size OFFSET (page_number - 1) * page_size;
- let values = []; // 初始化参数数组以防止SQL注入。
- if (vaccines) {
- query += ' AND vaccine like ?'; // 使用 AND 来添加条件。
- values.push(`%${vaccines}%`); // 将值添加到参数数组中。
- }
- if (date) {
- query += ' AND date = ?'; // 使用 AND 来添加条件。
- values.push(date); // 将值添加到参数数组中。
- }
- // 查询总记录数
- const countQuery = 'select count(*) as total from ev_vaccines where 1=1';
- db.query(countQuery, values, (err, results) => {
- if (err) {
- return res.rescc(err);
- }
- const totalRecords = results[0].total;
- // query += ' limit ? offset ?';
- query += ' limit ?,?';
- values.push(offset, offset2); // 将值添加到参数数组中。
- db.query(query, values, (err, results) => {
- if (err) {
- return res.rescc(err);
- }
- const resultAll = {
- data: results,
- total: (vaccines !== "" || date !== "") ? results.length : totalRecords
- }
- res.rescc("获取疫苗接种列表请求成功", 200, resultAll);
- })
- })
- }
- //新增疫苗接种信息
- exports.addVaccine = (req, res) => {
- const vaccineInfo = req.body
- const sqlStr = "select * from ev_vaccines where vaccine=?"
- db.query(sqlStr, vaccineInfo.vaccine, (err, results) => {
- if (err) {
- return res.rescc(err);
- }
- if (results.length > 0) {
- return res.rescc("该疫苗已接种,请确认!");
- }
- const sql = "insert into ev_vaccines set ?"
- db.query(sql, vaccineInfo, (err, results) => {
- if (err) {
- return res.rescc(err);
- }
- if (results.affectedRows !== 1) {
- return res.rescc("添加失败,请稍后再试!");
- }
- res.rescc("添加成功", 200);
- })
- })
- }
- //修改疫苗接种信息
- exports.updataVaccineInfo = (req, res) => {
- const sql = "update ev_vaccines set ? where id=?"
- db.query(sql, [req.body, req.body.id], (err, results) => {
- if (err) {
- return res.rescc(err);
- }
- if (results.affectedRows !== 1) {
- return res.rescc("疫苗接种信息更新失败!");
- }
- res.rescc("疫苗接种信息更新成功!", 200)
- })
- }
- //删除疫苗接种信息
- exports.deleteVaccineInfo = (req, res) => {
- console.log('req===>>>', req)
- const sql = "delete from ev_vaccines where id=?"
- db.query(sql, req.params.id, (err, results) => {
- if (err) {
- return res.rescc(err);
- }
- if (results.affectedRows !== 1) {
- return res.rescc("疫苗接种信息删除失败!");
- }
- res.rescc("疫苗接种信息删除成功!", 200)
- })
- }
|