record.js 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. import connection from "./base.js";
  2. export async function record_insert({
  3. book_id = "",
  4. type_id = "",
  5. author_id = "",
  6. total_fee = "",
  7. remark = "",
  8. time = "",
  9. create_time = "",
  10. update_time = "",
  11. }) {
  12. return new Promise(async (resolve, reject) => {
  13. try {
  14. const sql = `
  15. INSERT INTO record (book_id, type_id, author_id, total_fee, remark, create_time, update_time, time)
  16. VALUES (?, ?, ?, ?, ?, ?, ?, ?)
  17. `;
  18. const values = [
  19. book_id,
  20. type_id,
  21. author_id,
  22. total_fee,
  23. remark,
  24. create_time,
  25. update_time,
  26. time,
  27. ];
  28. // 直接接收 execute 返回的内容
  29. connection.execute(sql, values, (result, fields) => {
  30. return resolve(fields.insertId);
  31. });
  32. } catch (err) {
  33. return resolve(false);
  34. }
  35. });
  36. }
  37. export async function record_update( params ) {
  38. const {
  39. id = "", // 要更新的记录的唯一标识符
  40. type_id = "",
  41. author_id = "",
  42. total_fee = "",
  43. remark = "",
  44. time = "",
  45. update_time = "",
  46. } = params
  47. return new Promise(async (resolve, reject) => {
  48. try {
  49. const sql = `
  50. UPDATE record SET type_id = ?, author_id = ?, total_fee = ?, remark = ?, time = ?, update_time = ? WHERE id = ?
  51. `;
  52. const values = [ type_id, author_id, total_fee, remark, time, update_time, id, ];
  53. // 执行更新语句
  54. connection.execute(sql, values, (err, result) => {
  55. if (err) {
  56. // 错误处理
  57. return resolve(false);
  58. }
  59. return resolve(result.changedRows > 0);
  60. });
  61. } catch (err) {
  62. return resolve(false);
  63. }
  64. });
  65. }
  66. // 关联 账单 跟 附件的数据
  67. /*
  68. `file_id` varchar(300) NOT NULL,
  69. `record_id` varchar(300) NOT NULL,
  70. `book_id` varchar(300) NOT NULL,
  71. `user_id` varchar(300) NOT NULL,
  72. */
  73. export function record_and_files({
  74. file_id = "",
  75. record_id = "",
  76. book_id = "",
  77. user_id = "",
  78. create_time = "",
  79. update_time = "",
  80. }) {
  81. return new Promise(async (resolve, reject) => {
  82. try {
  83. const sql = `
  84. INSERT INTO record_files (file_id, record_id, book_id, user_id, create_time, update_time)
  85. VALUES (?, ?, ?, ?, ?, ?)
  86. `;
  87. const values = [
  88. file_id,
  89. record_id,
  90. book_id,
  91. user_id,
  92. create_time,
  93. update_time,
  94. ];
  95. // 直接接收 execute 返回的内容
  96. const result = await connection.execute(sql, values);
  97. return resolve(result);
  98. } catch (err) {
  99. return resolve(false);
  100. }
  101. });
  102. }
  103. export function recordRelation({
  104. name = "",
  105. record_id = "",
  106. book_id = "",
  107. user_id = "",
  108. create_time = "",
  109. update_time = "",
  110. }) {
  111. return new Promise(async (resolve, reject) => {
  112. try {
  113. const sql = `
  114. INSERT INTO record_files (file_id, record_id, book_id, user_id, create_time, update_time)
  115. VALUES (?, ?, ?, ?, ?, ?)
  116. `;
  117. const values = [
  118. file_id,
  119. record_id,
  120. book_id,
  121. user_id,
  122. create_time,
  123. update_time,
  124. ];
  125. // 直接接收 execute 返回的内容
  126. const result = await connection.execute(sql, values);
  127. return resolve(result);
  128. } catch (err) {
  129. return resolve(false);
  130. }
  131. });
  132. }
  133. // 获取用户详情
  134. export function getRecordInfoById(record_id) {
  135. return new Promise((resolve, reject) => {
  136. connection.query(
  137. `SELECT * FROM record WHERE id = ?`,
  138. [record_id],
  139. (err, rows) => {
  140. if (err) {
  141. // reject(err);
  142. resolve(false); // 如果存在记录,则返回 true,否则返回 false
  143. } else {
  144. resolve(rows.length > 0 ? rows[0] : false); // 如果存在记录,则返回 true,否则返回 false
  145. }
  146. }
  147. );
  148. });
  149. }
  150. // 根据日期查询记录
  151. export function getRecordsInfoByTime(time, book_id) {
  152. return new Promise((resolve, reject) => {
  153. connection.query(
  154. `SELECT record.*, types.name AS type
  155. FROM
  156. record
  157. JOIN
  158. types
  159. ON
  160. record.type_id = types.id
  161. WHERE
  162. DATE_FORMAT(record.time, '%Y-%m-%d') = ?
  163. AND record.book_id = ?;`,
  164. [time, book_id],
  165. (err, rows) => {
  166. if (err) {
  167. // reject(err);
  168. resolve(false); // 如果存在记录,则返回 true,否则返回 false
  169. } else {
  170. resolve(rows); // 如果存在记录,则返回 true,否则返回 false
  171. }
  172. }
  173. );
  174. });
  175. }
  176. // 根据月份查询记录
  177. export function getRecordsInfoByMonth(time, book_id) {
  178. return new Promise((resolve, reject) => {
  179. connection.query(
  180. // `SELECT * FROM record WHERE DATE_FORMAT(time, '%Y-%m') = ? AND book_id = ?`,
  181. `SELECT record.*, types.name AS type
  182. FROM
  183. record
  184. JOIN
  185. types
  186. ON
  187. record.type_id = types.id
  188. WHERE
  189. DATE_FORMAT(record.time, '%Y-%m') = ?
  190. AND record.book_id = ?;`,
  191. [time, book_id],
  192. (err, rows) => {
  193. console.log(192, err, rows);
  194. if (err) {
  195. // reject(err);
  196. resolve(false); // 如果存在记录,则返回 true,否则返回 false
  197. } else {
  198. resolve(rows); // 如果存在记录,则返回 true,否则返回 false
  199. }
  200. }
  201. );
  202. });
  203. }
  204. // 根据id删除数据
  205. export function delByRecordId(record_id, author_id) {
  206. return new Promise((resolve, reject) => {
  207. try {
  208. const sql = `DELETE FROM record WHERE id = ? AND author_id = ?`;
  209. connection.query(sql, [record_id, author_id], (err, result) => {
  210. console.log(198, err, result);
  211. if (err) {
  212. // 如果执行过程中出现错误,返回 false
  213. return resolve(false);
  214. }
  215. // 删除成功后返回结果
  216. return resolve(result);
  217. });
  218. } catch (err) {
  219. // 捕获异常并返回 false
  220. return resolve(false);
  221. }
  222. });
  223. }