12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- /**
- * Created by Tony on 2017/4/19.
- * 定额库分类,如重庆、广东等各个省的建筑定额,未来考虑与公路合并
- */
- var mongoose = require('mongoose');
- var dbm = require("../../../config/db/db_manager");
- var stringUtil = require('../../../public/stringUtil');
- var rationLibdb = dbm.getCfgConnection("rationLibMap");
- var Schema = mongoose.Schema;
- var RationLibSchema = new Schema({
- "dispName" : String,
- "dbName": String,
- "appType" : String, //如:"建筑" / "公路"
- "localeType": String, //如 各个省份 / 部颁
- "descr" : String,
- "deleted": Boolean
- });
- var rationRepository = rationLibdb.model("rationRepository", RationLibSchema, "rationRepository");
- function createNewLibModel(rationLibObj){
- var rst = {};
- rst.dispName = rationLibObj.dispName;
- rst.appType = rationLibObj.appType?rationLibObj.appType:'construct';
- rst.localeType = rationLibObj.localeType?rationLibObj.localeType:'';
- rst.descr = rationLibObj.descr;
- rst.dbName = 'r_r_' + stringUtil.getPinYinFullChars(rationLibObj.dispName);
- rst.deleted = false;
- return rst;
- }
- rationRepositoryDao = function(){};
- rationRepositoryDao.prototype.getRealLibName = function(dispName,callback){
- rationRepository.find({"dispName": dispName}, function(err,data){
- if (err) {
- callback('Error', null);
- } else {
- callback(0, data);
- }
- });
- };
- rationRepositoryDao.prototype.addRationRepository = function( rationLibObj,callback){
- rationRepository.find({"dispName": rationLibObj.dispName},function(err,data){
- if(data.length == 0)
- new rationRepository(createNewLibModel(rationLibObj)).save(function(err) {
- if (err) callback("Error", null)
- else
- callback(false, "ok");
- })
- else
- callback("定额库重名!",null)
- })
- };
- rationRepositoryDao.prototype.getDisplayRationLibs = function(callback) {
- rationRepository.find({"deleted": false}, function(err, data){
- if (err) {
- callback( 'Error', null);
- } else {
- callback( false, data);
- }
- });
- };
- rationRepositoryDao.prototype.updateName = function(orgName,newName,callback){
- rationRepository.find({"dispName":newName, "deleted": false}, function(err, data){
- if (data.length == 0) {
- rationRepository.update({dispName:orgName},{$set:{dispName:newName}},function(err){
- if(err) callback("err",false);
- else callback(false,"ok")
- })
- } else
- callback("不可重名!",false);
- });
- }
- rationRepositoryDao.prototype.deleteRationLib = function(rationName,callback){
- rationRepository.find({"dispName":rationName, "deleted": false}, function(err, data){
- if (data.length == 1) {
- rationRepository.update({dispName:rationName},{$set:{deleted: true}},function(err){
- if(err) callback("err",false);
- else callback(false,"ok")
- })
- } else
- callback("删除失败!",false);
- });
- }
- module.exports = new rationRepositoryDao();
|