Browse Source

批量查询

john 8 months ago
parent
commit
38a9198323

+ 7 - 3
frontEndMobile/src/components/RecordInRow.vue

@@ -18,7 +18,7 @@
       @click="showDetail(record)"
       :key="`${yearStr}_${monthlyStr}_${index}_${recordIndex}`"
     >
-      <div>类型:<span>{{record.type}}</span>{{ record.remark }}</div>
+      <div>类型:<span>{{record.type}}</span></div>
       <div>-{{ record.total_fee }}</div>
     </div>
   </div>
@@ -40,8 +40,12 @@ const { yearStr } = toRefs(props)
 const { monthlyStr } = toRefs(props)
 
 function showDetail(record) {
-  console.log(41, record.id);
-  router.push(`/record/${record.id}`)
+  if(record?.more_id) {
+    router.push('/edit_more_log/' + record.more_id);
+  } else {
+    router.push(`/record/${record.id}`)
+  }
+
 }
 </script>
 

+ 39 - 21
node_expores/db/more_record.js

@@ -1,4 +1,5 @@
 import connection from "./base.js";
+import dayjs from "dayjs";
 
 export async function addMoreRecord({
   more_id = "",
@@ -11,8 +12,8 @@ export async function addMoreRecord({
   update_time = "",
   start_time = "",
   end_time = "",
-  type_id = '',
-  log_day = ''
+  type_id = "",
+  log_day = "",
 }) {
   return new Promise(async (resolve, reject) => {
     try {
@@ -32,7 +33,7 @@ export async function addMoreRecord({
         start_time,
         end_time,
         type_id,
-        log_day
+        log_day,
       ];
       // 直接接收 execute 返回的内容
       connection.execute(sql, values, (result, fields) => {
@@ -74,7 +75,7 @@ export async function updataMoreRecord(params) {
       ];
       // 执行更新语句
       connection.execute(sql, values, (err, result) => {
-        console.log(72727272, err, result)
+        console.log(72727272, err, result);
         if (err) {
           // 错误处理
           return resolve(false);
@@ -107,9 +108,8 @@ export function delMoreRecord(more_id, author_id) {
   });
 }
 
-
 // 根据日期查询记录
-export function getMoreRecordsInfoByTime(time, book_id) {
+export function getMoreRecordsInfoByTime(time, day, book_id) {
   return new Promise((resolve, reject) => {
     connection.query(
       `SELECT more_record.*, types.name AS type
@@ -122,8 +122,14 @@ export function getMoreRecordsInfoByTime(time, book_id) {
         WHERE
             more_record.start_time <= ? AND
             more_record.end_time >= ? AND
+            more_record.log_day = ? AND
             more_record.book_id = ?;`,
-      [time, book_id],
+      [
+        `${dayjs(time).endOf("month").format("YYYY-MM-DD")}`,
+        `${dayjs(time).startOf("month").format("YYYY-MM-DD")}`,
+        day,
+        book_id,
+      ],
       (err, rows) => {
         if (err) {
           // reject(err);
@@ -151,8 +157,13 @@ export function getMoreRecordsInfoByMonth(time, book_id) {
             more_record.start_time <= ? AND
             more_record.end_time >= ? AND
             more_record.book_id = ?;`,
-      [time, time, book_id],
+      [
+        `${dayjs(time).endOf("month").format("YYYY-MM-DD")}`,
+        `${time}-01`,
+        book_id,
+      ],
       (err, rows) => {
+        console.log(156, err, rows);
         if (err) {
           resolve(false);
         } else {
@@ -163,29 +174,36 @@ export function getMoreRecordsInfoByMonth(time, book_id) {
   });
 }
 
-
 // 查询所有账本信息
 export function getMoreRecordList(book_id, author_id) {
   return new Promise((resolve, reject) => {
-    connection.query(`SELECT * FROM more_record WHERE book_id = ? AND author_id = ?`, [book_id, author_id], (err, rows) => {
-      if (err) {
-        resolve(false); // 如果存在记录,则返回 true,否则返回 false
-      } else {
-        resolve(rows); // 如果存在记录,则返回 true,否则返回 false
+    connection.query(
+      `SELECT * FROM more_record WHERE book_id = ? AND author_id = ?`,
+      [book_id, author_id],
+      (err, rows) => {
+        if (err) {
+          resolve(false); // 如果存在记录,则返回 true,否则返回 false
+        } else {
+          resolve(rows); // 如果存在记录,则返回 true,否则返回 false
+        }
       }
-    });
+    );
   });
 }
 
 // 查询账本信息
 export function getMoreRecordByMoreId(more_id, author_id) {
   return new Promise((resolve, reject) => {
-    connection.query(`SELECT * FROM more_record WHERE more_id = ? AND author_id = ?`, [more_id, author_id], (err, rows) => {
-      if (err) {
-        resolve(false); // 如果存在记录,则返回 true,否则返回 false
-      } else {
-        resolve(rows.length > 0 ?  rows[0]: false); // 如果存在记录,则返回 true,否则返回 false
+    connection.query(
+      `SELECT * FROM more_record WHERE more_id = ? AND author_id = ?`,
+      [more_id, author_id],
+      (err, rows) => {
+        if (err) {
+          resolve(false); // 如果存在记录,则返回 true,否则返回 false
+        } else {
+          resolve(rows.length > 0 ? rows[0] : false); // 如果存在记录,则返回 true,否则返回 false
+        }
       }
-    });
+    );
   });
 }

+ 3 - 2
node_expores/db/record.js

@@ -1,3 +1,4 @@
+import dayjs from "dayjs";
 import connection from "./base.js";
 
 export async function record_insert({
@@ -165,9 +166,9 @@ export function getRecordsInfoByTime(time, book_id) {
         ON
             record.type_id = types.id
         WHERE
-        DATE_FORMAT(record.time, '%Y-%m-%d') = ?
+        record.time = ?
         AND record.book_id = ?;`,
-      [time, book_id],
+      [`${dayjs(time).format('YYYY-MM-DD')} 00:00:00`, book_id],
       (err, rows) => {
         if (err) {
           // reject(err);

+ 60 - 24
node_expores/router/record/index.js

@@ -1,5 +1,6 @@
 // 添加账本
 import express from "express";
+import dayjs from "dayjs";
 const router = express.Router();
 import {
   record_insert,
@@ -14,9 +15,16 @@ import {
   getTypesById,
   delFileByRecordId,
   delByRecordId,
+  getMoreRecordsInfoByMonth,
+  getMoreRecordsInfoByTime,
 } from "#db";
 import { shanghaiTime, shanghaiTimeFormat } from "#utils";
-import { getTypeInfoFn,setFilesById,setFilesByRecord, getFileUrl } from './utils.js'
+import {
+  getTypeInfoFn,
+  setFilesById,
+  setFilesByRecord,
+  getFileUrl,
+} from "./utils.js";
 
 // middleware that is specific to this router
 router.use(function timeLog(req, res, next) {
@@ -24,7 +32,6 @@ router.use(function timeLog(req, res, next) {
   next();
 });
 
-
 // 添加单个账单记录
 router.post("/", async function (req, res) {
   const {
@@ -52,8 +59,8 @@ router.post("/", async function (req, res) {
     files,
     insertId,
     book_id,
-    userInfo
-  })
+    userInfo,
+  });
 
   res.json({
     code: 200,
@@ -106,15 +113,13 @@ router.put("/:record_id", async function (req, res) {
     userInfo = {},
   } = req.body;
 
-
   // 更新附件信息
   await setFilesById({
     record_id,
     userInfo,
     book_id,
-    files
-  })
-
+    files,
+  });
 
   // 更新类型
   const typeId = await getTypeInfoFn({
@@ -148,15 +153,35 @@ router.get("/:book_id/:time", async function (req, res) {
   const time = req.params.time; // 获取 fileId 参数
   const book_id = req.params.book_id; // 获取 fileId 参数
   const recordsInfoRes = await getRecordsInfoByTime(time, book_id);
+  const moreRecordsInfoRes = await getMoreRecordsInfoByTime(
+    time,
+    dayjs(time).date(),
+    book_id
+  );
+  console.log(157, moreRecordsInfoRes);
 
   res.json({
     code: 200,
-    data: recordsInfoRes.map((elm) => ({
-      ...elm,
-      time: shanghaiTimeFormat(elm.time, "YYYY-MM-DD"),
-      create_time: shanghaiTimeFormat(elm.create_time),
-      update_time: shanghaiTimeFormat(elm.update_time),
-    })),
+    data: recordsInfoRes
+      .map((elm) => ({
+        ...elm,
+        time: shanghaiTimeFormat(elm.time, "YYYY-MM-DD"),
+        create_time: shanghaiTimeFormat(elm.create_time),
+        update_time: shanghaiTimeFormat(elm.update_time),
+      }))
+      .concat(
+        moreRecordsInfoRes.map((elm) => {
+          return {
+            ...elm,
+            time: shanghaiTimeFormat(`${time}-${elm.log_day}`, "YYYY-MM-DD"),
+            create_time: shanghaiTimeFormat(elm.create_time),
+            update_time: shanghaiTimeFormat(elm.update_time),
+          };
+        })
+      )
+      .sort(
+        (a, b) => dayjs(b.update_time).unix() - dayjs(a.update_time).unix()
+      ),
   });
 });
 
@@ -165,15 +190,28 @@ router.get("/:book_id/m/:time", async function (req, res) {
   const time = req.params.time; // 获取 fileId 参数
   const book_id = req.params.book_id; // 获取 fileId 参数
   const recordsInfoRes = await getRecordsInfoByMonth(time, book_id);
+  const moreRecordsInfoRes = await getMoreRecordsInfoByMonth(time, book_id);
 
   res.json({
     code: 200,
-    data: recordsInfoRes.map((elm) => ({
-      ...elm,
-      time: shanghaiTimeFormat(elm.time, "YYYY-MM-DD"),
-      create_time: shanghaiTimeFormat(elm.create_time),
-      update_time: shanghaiTimeFormat(elm.update_time),
-    })),
+    data: recordsInfoRes
+      .map((elm) => ({
+        ...elm,
+        time: shanghaiTimeFormat(elm.time, "YYYY-MM-DD"),
+        create_time: shanghaiTimeFormat(elm.create_time),
+        update_time: shanghaiTimeFormat(elm.update_time),
+      }))
+      .concat(
+        moreRecordsInfoRes.map((elm) => {
+          return {
+            ...elm,
+            time: shanghaiTimeFormat(`${time}-${elm.log_day}`, "YYYY-MM-DD"),
+            create_time: shanghaiTimeFormat(elm.create_time),
+            update_time: shanghaiTimeFormat(elm.update_time),
+          };
+        })
+      )
+      .sort((a, b) => dayjs(a.time).unix() - dayjs(b.time).unix()),
   });
 });
 
@@ -187,9 +225,7 @@ router.delete("/:record_id", async function (req, res) {
   const getAllfiles = await getFileByRecordId(record_id);
   if (getAllfiles.length) {
     await Promise.all(
-      getAllfiles.map((elm) =>
-        delFileByRecordId(record_id, elm.file_id)
-      )
+      getAllfiles.map((elm) => delFileByRecordId(record_id, elm.file_id))
     );
   }
 
@@ -198,7 +234,7 @@ router.delete("/:record_id", async function (req, res) {
 
   res.json({
     code: 200,
-    data: '',
+    data: "",
   });
 });
 export default router;