|
@@ -2,12 +2,24 @@ import express from "express";
|
|
|
|
|
|
const router = express.Router();
|
|
const router = express.Router();
|
|
import { v4 as uuidv4 } from "uuid";
|
|
import { v4 as uuidv4 } from "uuid";
|
|
-import { shanghaiTime,shanghaiTimeFormat } from "#utils";
|
|
|
|
-import { addMoreRecord,updataMoreRecord,delMoreRecord,record_update,getRecordInfoById,getFileByRecordId,delFileByRecordId,delByRecordId } from "#db";
|
|
|
|
-import { getTypeInfoFn,setFilesById,setFilesByRecord } from "./utils.js";
|
|
|
|
|
|
+import { shanghaiTime, shanghaiTimeFormat } from "#utils";
|
|
|
|
+import {
|
|
|
|
+ addMoreRecord,
|
|
|
|
+ updataMoreRecord,
|
|
|
|
+ delMoreRecord,
|
|
|
|
+ record_update,
|
|
|
|
+ getRecordInfoById,
|
|
|
|
+ getFileByRecordId,
|
|
|
|
+ delFileByRecordId,
|
|
|
|
+ delByRecordId,
|
|
|
|
+ getMoreRecordList,
|
|
|
|
+ getMoreRecordByMoreId,
|
|
|
|
+ getTypesById,
|
|
|
|
+} from "#db";
|
|
|
|
+import { getTypeInfoFn, setFilesById, setFilesByRecord, getFileUrl } from "./utils.js";
|
|
|
|
|
|
// 添加多个账单记录
|
|
// 添加多个账单记录
|
|
-router.post("/",async function ( req,res ) {
|
|
|
|
|
|
+router.post("/", async function (req, res) {
|
|
const {
|
|
const {
|
|
name = "",
|
|
name = "",
|
|
remark = "",
|
|
remark = "",
|
|
@@ -15,14 +27,15 @@ router.post("/",async function ( req,res ) {
|
|
start_time = "",
|
|
start_time = "",
|
|
end_time = "",
|
|
end_time = "",
|
|
total_fee = 0,
|
|
total_fee = 0,
|
|
|
|
+ log_day = '',
|
|
type = "",
|
|
type = "",
|
|
files = [],
|
|
files = [],
|
|
userInfo = {},
|
|
userInfo = {},
|
|
} = req.body;
|
|
} = req.body;
|
|
|
|
|
|
- const more_id = `M_${ uuidv4() }`;
|
|
|
|
|
|
+ const more_id = `M_${uuidv4()}`;
|
|
|
|
|
|
- const type_id = await getTypeInfoFn({userInfo,book_id,type});
|
|
|
|
|
|
+ const type_id = await getTypeInfoFn({ userInfo, book_id, type });
|
|
|
|
|
|
await addMoreRecord({
|
|
await addMoreRecord({
|
|
more_id,
|
|
more_id,
|
|
@@ -32,9 +45,9 @@ router.post("/",async function ( req,res ) {
|
|
total_fee,
|
|
total_fee,
|
|
name,
|
|
name,
|
|
remark,
|
|
remark,
|
|
-
|
|
|
|
- start_time: shanghaiTimeFormat(start_time),
|
|
|
|
- end_time: shanghaiTimeFormat(end_time),
|
|
|
|
|
|
+ log_day,
|
|
|
|
+ start_time: shanghaiTimeFormat(start_time, "YYYY-MM-DD") + " 00:00:00",
|
|
|
|
+ end_time: shanghaiTimeFormat(end_time, "YYYY-MM-DD") + " 23:59:59",
|
|
|
|
|
|
create_time: shanghaiTime().format("YYYY-MM-DD HH:mm:ss"),
|
|
create_time: shanghaiTime().format("YYYY-MM-DD HH:mm:ss"),
|
|
update_time: shanghaiTime().format("YYYY-MM-DD HH:mm:ss"),
|
|
update_time: shanghaiTime().format("YYYY-MM-DD HH:mm:ss"),
|
|
@@ -54,9 +67,9 @@ router.post("/",async function ( req,res ) {
|
|
},
|
|
},
|
|
});
|
|
});
|
|
});
|
|
});
|
|
-
|
|
|
|
|
|
+
|
|
// 编辑多个账单记录
|
|
// 编辑多个账单记录
|
|
-router.put("/:more_id",async function ( req,res ) {
|
|
|
|
|
|
+router.put("/:more_id", async function (req, res) {
|
|
const more_id = req.params.more_id; // 获取 fileId 参数
|
|
const more_id = req.params.more_id; // 获取 fileId 参数
|
|
const {
|
|
const {
|
|
name = "",
|
|
name = "",
|
|
@@ -66,6 +79,7 @@ router.put("/:more_id",async function ( req,res ) {
|
|
end_time = "",
|
|
end_time = "",
|
|
total_fee = 0,
|
|
total_fee = 0,
|
|
type = "",
|
|
type = "",
|
|
|
|
+ log_day = "",
|
|
files = [],
|
|
files = [],
|
|
userInfo = {},
|
|
userInfo = {},
|
|
} = req.body;
|
|
} = req.body;
|
|
@@ -75,8 +89,8 @@ router.put("/:more_id",async function ( req,res ) {
|
|
record_id: more_id,
|
|
record_id: more_id,
|
|
userInfo,
|
|
userInfo,
|
|
book_id,
|
|
book_id,
|
|
- files
|
|
|
|
- })
|
|
|
|
|
|
+ files,
|
|
|
|
+ });
|
|
|
|
|
|
// 更新类型
|
|
// 更新类型
|
|
const typeId = await getTypeInfoFn({
|
|
const typeId = await getTypeInfoFn({
|
|
@@ -84,8 +98,7 @@ router.put("/:more_id",async function ( req,res ) {
|
|
book_id,
|
|
book_id,
|
|
type,
|
|
type,
|
|
});
|
|
});
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+
|
|
// 更新数据内容
|
|
// 更新数据内容
|
|
const recordInfo = await updataMoreRecord({
|
|
const recordInfo = await updataMoreRecord({
|
|
name,
|
|
name,
|
|
@@ -94,11 +107,12 @@ router.put("/:more_id",async function ( req,res ) {
|
|
author_id: userInfo.user_id,
|
|
author_id: userInfo.user_id,
|
|
total_fee: total_fee,
|
|
total_fee: total_fee,
|
|
remark: remark,
|
|
remark: remark,
|
|
- start_time: start_time,
|
|
|
|
- end_time: end_time,
|
|
|
|
|
|
+ log_day,
|
|
|
|
+ start_time: shanghaiTimeFormat(start_time, "YYYY-MM-DD") + " 00:00:00",
|
|
|
|
+ end_time: shanghaiTimeFormat(end_time, "YYYY-MM-DD") + " 23:59:59",
|
|
update_time: shanghaiTime().format("YYYY-MM-DD HH:mm:ss"),
|
|
update_time: shanghaiTime().format("YYYY-MM-DD HH:mm:ss"),
|
|
});
|
|
});
|
|
-
|
|
|
|
|
|
+
|
|
res.json({
|
|
res.json({
|
|
code: 200,
|
|
code: 200,
|
|
data: recordInfo ? "" : "更新失败",
|
|
data: recordInfo ? "" : "更新失败",
|
|
@@ -106,7 +120,7 @@ router.put("/:more_id",async function ( req,res ) {
|
|
});
|
|
});
|
|
|
|
|
|
// 删除单个账单记录
|
|
// 删除单个账单记录
|
|
-router.delete("/:more_id",async function ( req,res ) {
|
|
|
|
|
|
+router.delete("/:more_id", async function (req, res) {
|
|
const more_id = req.params.more_id; // 获取 fileId 参数
|
|
const more_id = req.params.more_id; // 获取 fileId 参数
|
|
const { userInfo = {} } = req.body;
|
|
const { userInfo = {} } = req.body;
|
|
// const recordInfo = await getRecordInfoById(more_id);
|
|
// const recordInfo = await getRecordInfoById(more_id);
|
|
@@ -115,9 +129,7 @@ router.delete("/:more_id",async function ( req,res ) {
|
|
const getAllFiles = await getFileByRecordId(more_id);
|
|
const getAllFiles = await getFileByRecordId(more_id);
|
|
if (getAllFiles.length) {
|
|
if (getAllFiles.length) {
|
|
await Promise.all(
|
|
await Promise.all(
|
|
- getAllFiles.map((elm) =>
|
|
|
|
- delFileByRecordId(more_id, elm.file_id)
|
|
|
|
- )
|
|
|
|
|
|
+ getAllFiles.map((elm) => delFileByRecordId(more_id, elm.file_id))
|
|
);
|
|
);
|
|
}
|
|
}
|
|
// 删除record数据
|
|
// 删除record数据
|
|
@@ -125,7 +137,63 @@ router.delete("/:more_id",async function ( req,res ) {
|
|
|
|
|
|
res.json({
|
|
res.json({
|
|
code: 200,
|
|
code: 200,
|
|
- data: '',
|
|
|
|
|
|
+ data: "",
|
|
|
|
+ });
|
|
|
|
+});
|
|
|
|
+
|
|
|
|
+// 获取所有批量账单记录
|
|
|
|
+router.post("/list/:book_id", async function (req, res) {
|
|
|
|
+ const book_id = req.params.book_id; // 获取 fileId 参数
|
|
|
|
+ const { userInfo = {} } = req.body;
|
|
|
|
+ const moreRecordList = await getMoreRecordList(book_id, userInfo.user_id);
|
|
|
|
+
|
|
|
|
+ res.json({
|
|
|
|
+ code: 200,
|
|
|
|
+ data: moreRecordList.map((elm) => ({
|
|
|
|
+ name: elm.name,
|
|
|
|
+ more_id: elm.more_id,
|
|
|
|
+ remark: elm.remark,
|
|
|
|
+ total_fee: elm.total_fee,
|
|
|
|
+ create_time: shanghaiTimeFormat(elm.create_time),
|
|
|
|
+ start_time: shanghaiTimeFormat(elm.start_time),
|
|
|
|
+ end_time: shanghaiTimeFormat(elm.end_time),
|
|
|
|
+ })),
|
|
|
|
+ });
|
|
|
|
+});
|
|
|
|
+
|
|
|
|
+// 获取所有批量账单记录
|
|
|
|
+router.get("/:more_id", async function (req, res) {
|
|
|
|
+ const more_id = req.params.more_id; // 获取 fileId 参数
|
|
|
|
+ const { userInfo = {} } = req.body;
|
|
|
|
+ const files = await getFileByRecordId(more_id);
|
|
|
|
+ const moreRecordInfo = await getMoreRecordByMoreId(more_id, userInfo.user_id);
|
|
|
|
+
|
|
|
|
+ const typesRes = await getTypesById({
|
|
|
|
+ typeId: moreRecordInfo.type_id,
|
|
|
|
+ book_id: moreRecordInfo.book_id,
|
|
|
|
+ author_id: moreRecordInfo.author_id,
|
|
|
|
+ });
|
|
|
|
+ if (typesRes) {
|
|
|
|
+ moreRecordInfo.type = typesRes.name;
|
|
|
|
+ } else {
|
|
|
|
+ moreRecordInfo.type = "";
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ res.json({
|
|
|
|
+ code: 200,
|
|
|
|
+ data: {
|
|
|
|
+ type: moreRecordInfo.type,
|
|
|
|
+ name: moreRecordInfo.name,
|
|
|
|
+ more_id: moreRecordInfo.more_id,
|
|
|
|
+ remark: moreRecordInfo.remark,
|
|
|
|
+ total_fee: moreRecordInfo.total_fee,
|
|
|
|
+ log_day: moreRecordInfo.log_day,
|
|
|
|
+ create_time: shanghaiTimeFormat(moreRecordInfo.create_time),
|
|
|
|
+ start_time: shanghaiTimeFormat(moreRecordInfo.start_time),
|
|
|
|
+ end_time: shanghaiTimeFormat(moreRecordInfo.end_time),
|
|
|
|
+ files: files.map((elm) => getFileUrl(req, elm)),
|
|
|
|
+ },
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
|