12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- '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,
- };
- 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;
|