123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- /**
- * Created by Tony on 2017/1/12.
- */
- var mongoose = require('mongoose');
- var demodb = require('../db/demodb');
- var cfgdb = require('../db/cfgdb');
- //var Schema = demodb.mongoose.Schema;
- var Schema = mongoose.Schema;
- var BillsSchema = new Schema({
- "SerialNo": Number,
- "ChapterID": Number,
- "ID": Number,
- "ParentID": Number,
- "NextSiblingID": Number,
- "Code": String,
- "FullCode": String,
- "Name": String,
- "Units": String,
- "Quantity": Number,
- "DesignQuantity": Number,
- "DesignQuantity2": Number,
- "DesignPrice": Number,
- "TotalPrice": Number,
- "Memostr": String
- });
- var BillTagsSchema = new Schema({
- isForSingleProj: Boolean,
- isConfirmed: Boolean, //是否固定ID //公路造价的设计概念,用于报表读取数据,在建筑需要换一种方式记录
- confirmType: String, //与上配套
- isTempEst: Boolean, //是否暂估
- tmpEstType: String //专项指定类型(如:材料、工程设备、专业工程等)
- });
- var CostSchema = new Schema({
- "DirectPrj": Number, //直接工程费
- "Labour": Number, //定额人工费
- "LabourAdj": Number, //调整人工费
- "Material": Number, //材料费
- "Machine": Number, //定额机械费
- "Machine_LabourAdj": Number, //调整机上人工费 //机上人工 = 公路的机械工,重庆特有,有单独的调整
- "MainMaterial": Number, //主材费
- "Equipment": Number, //设备费
- "Management": Number, //企业管理费
- "Profit": Number, //利润
- "Risk": Number, //风险费
- "Diff_Labour": Number, //人工价差
- "Diff_Material": Number,//材料价差
- "Diff_Machine": Number //机械价差
- });
- var ConstructBillsSchema = new Schema({
- "ProjectID": Number, //
- "ID": Number,
- "ParentID": Number,
- "NextSiblingID": Number,
- "SerialNo": String, //序号
- "Code": String, //项目编码
- "Type": String, //类别:定额与非定额区分
- "Name": String, //项目名称
- "Units": String,//单位
- "Feature": String, //项目特征
- "Content": String, //工作内容
- "PrjClass": String, //工程专业
- "FeeClass": String, //取费专业
- "MeaCalRule": String, //工程量计算规则
- "RationAdjStatus": String, //定额调整状态
- "Quantity": Number, //工程量
- "UnitPrice": Number, //单价
- "TotalPrice": Number,//合价
- "CalFoundation": String, //计算基础
- "FeeRate": Number, //费率
- "MixedUnitPrice": Number, //综合单价
- "MixedGrandTotal": Number,//综合合价
- "UnitCost": CostSchema,
- "TotalCost": CostSchema,
- "Tags": BillTagsSchema,
- //"": Number,
- "Memo": String //备注
- });
- //var BillsData = demodb.mongoose.model("bills", BillsSchema);
- var BillsData = demodb.mongoose.model("gd_bills", BillsSchema);
- var dbConnection = null;
- var ConstructBillData = null;
- var BillDataDAO = function(){};
- BillDataDAO.prototype.get = function(id, callback){
- BillsData.find({ID: id}, function(err, templates){
- if(templates.length){
- callback(false, templates[0]);
- }
- else{
- callback('No result found!');
- }
- })
- }
- BillDataDAO.prototype.getAll = function(userid, callback){
- var me = this;
- me.iniDb('localhost', null, 'Demo', "gd_bills", BillsSchema)
- //BillsData.find({}, function(err, templates){
- ConstructBillData.find({}, function(err, templates){
- if(templates.length){
- callback(false, templates);
- }
- else{
- callback('No result found!');
- }
- me.deIniDb();
- })
- }
- BillDataDAO.prototype.iniDb = function(server, port, dbName, collectionName, schema) {
- dbConnection = cfgdb.mongoose.getConnection(server, port, dbName);
- ConstructBillData = dbConnection.model(collectionName, schema);
- }
- BillDataDAO.prototype.deIniDb = function() {
- if (dbConnection) {
- dbConnection.close();
- }
- }
- BillDataDAO.prototype.getAll_Construct = function(userid, prjid, callback){
- var me = this;
- me.iniDb('localhost', null, 'Demo', "construct_bills", ConstructBillsSchema)
- ConstructBillData.find({"ProjectID":prjid}, function(err, templates){
- me.deIniDb();
- if(templates.length){
- callback(false, templates);
- }
- else{
- callback('No result found!');
- }
- })
- }
- module.exports = new BillDataDAO();
|