| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | /** * Created by CSL on 2017-10-10. */const uuidV1 = require('uuid/v1');let logger = require("../../../logs/log_helper").logger;let mongoose = require('mongoose');let stdLabourCoesModel = mongoose.model('std_labour_coes');let projectLabourCoesModel = mongoose.model('labour_coes');let EngineeringLibModel = require("../../users/models/engineering_lib_model");let _=require("lodash");let consts = require('../models/project_consts');let projectConsts = consts.projectConst;module.exports = {    newProjectLabourCoe: newProjectLabourCoe,    getProjectLabourCoe: getProjectLabourCoe,    getStdLabourCoe: getStdLabourCoe,    getData: getData,    save: save};async function newProjectLabourCoe(data) {    logger.info(`Create new LabourCoe file for project : ${data.ID}`);    let valid_LC_libs = [];    let egnrID = data.property.engineering_id;    let egnrModel = new EngineeringLibModel();    let egnr = await egnrModel.getEngineering(egnrID);    if(egnr){ valid_LC_libs = egnr._doc.artificial_lib };    // 绑定多个人工系数标准文件时,默认取第一个作为标准模板。    let stdLC = await getStdLabourCoe(valid_LC_libs[0].id);    let doc={        ID: uuidV1(),        projectID: data.ID,        name: data.name,        libID: stdLC.ID,        libName: stdLC.libName,        coes: stdLC.coes    };    await projectLabourCoesModel.create(doc);    let newLC = {ID: doc.ID, name: doc.name};    return newLC;};async function getProjectLabourCoe(ID) {    let projLC = await projectLabourCoesModel.findOne({ID:ID});    return projLC;};async function getStdLabourCoe(libID) {    let stdLC = await stdLabourCoesModel.findOne({ID:libID});    return stdLC;};// 统一的 getData() 方法供project调用function getData (projectID, callback) {    projectLabourCoesModel.findOne({projectID: projectID}, '-_id', function(err, datas) {            if (!err) {                callback(0, projectConsts.LABOUR_COE, datas);            } else {                callback(1, projectConsts.LABOUR_COE, null);            };    });};// 统一的 save() 方法供project调用function save (user_id, datas, callback) {    projectLabourCoesModel.update({"projectID": 553}, {"libName":"goo"}, callback(null, {data: 'ok'}));}
 |