more_record.js 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. import connection from "./base.js";
  2. import dayjs from "dayjs";
  3. export async function addMoreRecord({
  4. more_id = "",
  5. name = "",
  6. remark = "",
  7. total_fee = "",
  8. book_id = "",
  9. author_id = "",
  10. create_time = "",
  11. update_time = "",
  12. start_time = "",
  13. end_time = "",
  14. type_id = "",
  15. log_day = "",
  16. }) {
  17. return new Promise(async (resolve, reject) => {
  18. try {
  19. const sql = `
  20. INSERT INTO more_record (more_id, name, remark, total_fee, book_id, author_id, create_time, update_time, start_time, end_time, type_id, log_day)
  21. VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
  22. `;
  23. const values = [
  24. more_id,
  25. name,
  26. remark,
  27. total_fee,
  28. book_id,
  29. author_id,
  30. create_time,
  31. update_time,
  32. start_time,
  33. end_time,
  34. type_id,
  35. log_day,
  36. ];
  37. // 直接接收 execute 返回的内容
  38. connection.execute(sql, values, (result, fields) => {
  39. return resolve(fields.insertId);
  40. });
  41. } catch (err) {
  42. return resolve(false);
  43. }
  44. });
  45. }
  46. export async function updataMoreRecord(params) {
  47. const {
  48. more_id = "",
  49. type_id = "",
  50. name = "",
  51. remark = "",
  52. total_fee = "",
  53. update_time = "",
  54. start_time = "",
  55. end_time = "",
  56. log_day = "",
  57. } = params;
  58. return new Promise(async (resolve, reject) => {
  59. try {
  60. const sql = `
  61. UPDATE more_record SET type_id = ?, name = ?, total_fee = ?, remark = ?, update_time = ?, start_time= ?, end_time = ? , log_day = ? WHERE more_id = ?;
  62. `;
  63. const values = [
  64. type_id,
  65. name,
  66. total_fee,
  67. remark,
  68. update_time,
  69. start_time,
  70. end_time,
  71. log_day,
  72. more_id,
  73. ];
  74. // 执行更新语句
  75. connection.execute(sql, values, (err, result) => {
  76. if (err) {
  77. // 错误处理
  78. return resolve(false);
  79. }
  80. return resolve(result.changedRows > 0);
  81. });
  82. } catch (err) {
  83. return resolve(false);
  84. }
  85. });
  86. }
  87. export function delMoreRecord(more_id, author_id) {
  88. return new Promise((resolve, reject) => {
  89. try {
  90. const sql = `DELETE FROM more_record WHERE more_id = ? AND author_id = ?`;
  91. connection.query(sql, [more_id, author_id], (err, result) => {
  92. if (err) {
  93. // 如果执行过程中出现错误,返回 false
  94. return resolve(false);
  95. }
  96. // 删除成功后返回结果
  97. return resolve(result);
  98. });
  99. } catch (err) {
  100. // 捕获异常并返回 false
  101. return resolve(false);
  102. }
  103. });
  104. }
  105. // 根据日期查询记录
  106. export function getMoreRecordsInfoByTime(time, day, book_id) {
  107. return new Promise((resolve, reject) => {
  108. connection.query(
  109. `SELECT more_record.*, types.name AS type
  110. FROM
  111. more_record
  112. JOIN
  113. types
  114. ON
  115. more_record.type_id = types.id
  116. WHERE
  117. more_record.start_time <= ? AND
  118. more_record.end_time >= ? AND
  119. more_record.log_day = ? AND
  120. more_record.book_id = ?;`,
  121. [
  122. `${dayjs(time).endOf("month").format("YYYY-MM-DD")}`,
  123. `${dayjs(time).startOf("month").format("YYYY-MM-DD")}`,
  124. day,
  125. book_id,
  126. ],
  127. (err, rows) => {
  128. if (err) {
  129. // reject(err);
  130. resolve(false); // 如果存在记录,则返回 true,否则返回 false
  131. } else {
  132. resolve(rows); // 如果存在记录,则返回 true,否则返回 false
  133. }
  134. }
  135. );
  136. });
  137. }
  138. // 根据月份查询记录
  139. export function getMoreRecordsInfoByMonth(time, book_id) {
  140. return new Promise((resolve, reject) => {
  141. connection.query(
  142. `SELECT more_record.*, types.name AS type
  143. FROM
  144. more_record
  145. JOIN
  146. types
  147. ON
  148. more_record.type_id = types.id
  149. WHERE
  150. more_record.start_time <= ? AND
  151. more_record.end_time >= ? AND
  152. more_record.book_id = ?;`,
  153. [
  154. `${dayjs(time).endOf("month").format("YYYY-MM-DD")}`,
  155. `${time}-01`,
  156. book_id,
  157. ],
  158. (err, rows) => {
  159. if (err) {
  160. resolve(false);
  161. } else {
  162. resolve(rows);
  163. }
  164. }
  165. );
  166. });
  167. }
  168. // 查询所有账本信息
  169. export function getMoreRecordList(book_id, author_id) {
  170. return new Promise((resolve, reject) => {
  171. connection.query(
  172. `SELECT * FROM more_record WHERE book_id = ? AND author_id = ?`,
  173. [book_id, author_id],
  174. (err, rows) => {
  175. if (err) {
  176. resolve(false); // 如果存在记录,则返回 true,否则返回 false
  177. } else {
  178. resolve(rows); // 如果存在记录,则返回 true,否则返回 false
  179. }
  180. }
  181. );
  182. });
  183. }
  184. // 查询账本信息
  185. export function getMoreRecordByMoreId(more_id, author_id) {
  186. return new Promise((resolve, reject) => {
  187. connection.query(
  188. `SELECT * FROM more_record WHERE more_id = ? AND author_id = ?`,
  189. [more_id, author_id],
  190. (err, rows) => {
  191. if (err) {
  192. resolve(false); // 如果存在记录,则返回 true,否则返回 false
  193. } else {
  194. resolve(rows.length > 0 ? rows[0] : false); // 如果存在记录,则返回 true,否则返回 false
  195. }
  196. }
  197. );
  198. });
  199. }