| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- "use strict";
- /**
- *
- *
- * @author Zhong
- * @date 2019/1/25
- * @version
- */
- import mongoose from "mongoose";
- const uuidV1 = require("uuid/v1");
- let moment = require("moment");
- const vvTaxLibModel = mongoose.model("std_vehicleVesselTax_lib");
- const vvTaxModel = mongoose.model("std_vehicleVesselTax_items");
- let vvTaxLib = {
- findByCondition: async function (
- conditions,
- withData = false,
- single = true
- ) {
- if (single == true) {
- let lib = await vvTaxLibModel.findOne(conditions);
- if (withData) {
- lib._doc.data = await vvTaxModel.find(
- { libID: conditions.ID },
- { _id: 0, libID: 0, ID: 0 }
- );
- }
- return lib._doc;
- } else {
- return await vvTaxLibModel.find(conditions);
- }
- },
- addLib: async function (data) {
- let now = new Date().getTime();
- let dateStr = moment(now).format("YYYY-MM-DD HH:mm:ss");
- let newLib = {
- creator: data.userAccount,
- createDate: now,
- recentOpr: [{ operator: data.userAccount, operateDate: dateStr }],
- name: data.name,
- code: data.code,
- };
- newLib.ID = uuidV1();
- return await vvTaxLibModel.create(newLib);
- },
- saveLib: async function (param) {
- if (param.edit) {
- //更改保存车船税具体数据
- await vvTaxModel.deleteMany({ libID: param.query.ID });
- let tasks = [];
- for (let data of param.data.data) {
- data.libID = param.query.ID;
- data.ID = uuidV1();
- tasks.push({ insertOne: { document: data } });
- }
- if (tasks.length > 0) {
- await vvTaxModel.bulkWrite(tasks);
- }
- } else {
- return await vvTaxLibModel.findOneAndUpdate(param.query, param.data, {
- new: true,
- });
- }
- },
- deleteLibByID: async function (ID) {
- await vvTaxLibModel.deleteOne({ ID: ID });
- return await vvTaxModel.deleteMany({ libID: ID });
- },
- };
- export default vvTaxLib;
|