ration_glj_temp.js 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. /**
  2. * Created by chen on 2017/6/29.
  3. */
  4. let subSchema = require("../../main/models/bills_sub_schemas");
  5. let deleteSchema = require('../../../public/models/delete_schema');
  6. var mongoose = require('mongoose'),
  7. Schema = mongoose.Schema;
  8. //下面是临时代码,以后删除
  9. var rationAssItemSchema = mongoose.Schema({
  10. name: String,
  11. assistID: Number,
  12. assistCode: String,
  13. stdValue: Number,
  14. actualValue:Number,
  15. stepValue: String,
  16. decimal: Number,
  17. carryBit: String,
  18. minValue: String,
  19. maxValue: String
  20. }, { _id: false });
  21. /*var gljSchema =new Schema({
  22. repositoryId: Number,
  23. ID:Number,
  24. //以下是基于已有access库
  25. code: String,
  26. name: String,
  27. specs: String,
  28. unit: String,
  29. basePrice: Number,
  30. gljType: Number, //这个是UI显示上的详细分类,对应gljTypeSchema
  31. shortName: String, //人工,材料,机械
  32. gljClass:Number
  33. },{versionKey:false});
  34. mongoose.model("std_ration_lib_glj_list",gljSchema,"std_ration_lib_glj_list");*/
  35. let rationSchema = new Schema({
  36. // 公用属性部分
  37. ID: Number,
  38. projectID: Number,
  39. billsItemID: Number,
  40. serialNo: Number,
  41. code: String,
  42. name: String,
  43. unit: String,
  44. quantity: String,
  45. contain:String,//含量
  46. programID: Number,
  47. marketUnitFee: String,
  48. marketTotalFee: String,
  49. fees: [subSchema.feesSchema],
  50. deleteInfo: deleteSchema,
  51. type: Number, // 1 定额、2 量价、3 工料机定额
  52. subType: Number, // 子类型:1人工、201材料、301机械、4主材、5设备
  53. // 定额特有属性:
  54. libID: Number,
  55. maskName: String,
  56. caption: String,
  57. isFromDetail:{type: Number,default:0}, // 1 true 2 false
  58. adjustState: String,
  59. rationProjName: String,
  60. comments: String, // 说明
  61. flags: [subSchema.flagsSchema], // 标记字段
  62. rationAssList: [rationAssItemSchema],
  63. content: String, // 工作内容
  64. ruleText: String, // 计算规则
  65. //工料机特有属性
  66. projectGLJID:Number, //项目工料机ID
  67. GLJID:Number,//工料机库ID
  68. original_code:String, //原始编码
  69. specs:String,//规格型号
  70. shortName:String,//缩写
  71. customQuantity:String,//自定义消耗
  72. from:{type: String,default:'std'}//std, cpt 来自标准工料机库、补充工料机库
  73. },{versionKey:false});
  74. mongoose.model("ration", rationSchema, "ration");
  75. var coeSchema = mongoose.Schema({
  76. coeType: String, // 系数类型,指作用范围:
  77. // 单个(如:111量0.001)、人工类、材料类、机械类、全部(如:定额×0.925)。
  78. gljID: Number, // 要调整的工料机ID(当coeType=0时有效)
  79. operator: String, // 运算符(*、+、-、=)
  80. amount: String, // 调整的量
  81. _id: false
  82. });
  83. var coeListSchema = mongoose.Schema({
  84. libID: Number, // 所属定额定ID
  85. ID: Number, // 系数ID(流水号ID)
  86. name: String, // 名称
  87. content: String, // 说明
  88. coes: [coeSchema]
  89. }, {versionKey: false});
  90. mongoose.model("std_ration_lib_coe_list",coeListSchema, "std_ration_lib_coe_list");
  91. var rationGljItemSchema = mongoose.Schema({
  92. gljId: Number,
  93. consumeAmt: Number,
  94. proportion: Number //配合比,暂时无需使用,默认0
  95. }, { _id: false });
  96. var rationAssItemSchema = mongoose.Schema({
  97. name: String,
  98. assistID: Number,
  99. assistCode: String,
  100. stdValue: String,
  101. stepValue: String,
  102. decimal: Number,
  103. carryBit: String,
  104. minValue: String,
  105. maxValue: String
  106. }, { _id: false });
  107. var rationItemSchema = mongoose.Schema({
  108. ID:Number,
  109. code: String,
  110. name: String,
  111. unit: String,
  112. basePrice: Number,
  113. sectionId: Number,
  114. rationRepId: Number,
  115. caption: String,
  116. feeType: Number,
  117. rationGljList: [rationGljItemSchema],
  118. rationCoeList: Array,
  119. rationAssList: [rationAssItemSchema]
  120. });
  121. mongoose.model("std_ration_lib_ration_items",rationItemSchema, "std_ration_lib_ration_items");
  122. let billsSchema = new Schema({
  123. ID: Number,
  124. ParentID: Number,
  125. NextSiblingID: Number,
  126. projectID: Number,
  127. serialNo: Number,
  128. chapterID: Number,
  129. code: String,
  130. fullCode: String,
  131. name: String,
  132. unit: String,
  133. quantity: String, // Decimal
  134. feeRateID:String,
  135. feeRate:String,
  136. isFromDetail:{type: Number,default:0},//1 true 2 false
  137. programID: Number,
  138. comments: String,
  139. // 调价
  140. xs_Labour: String, // Decimal
  141. xs_Material: String, // Decimal
  142. xs_Machine: String, // Decimal
  143. xs_FeeRate: String, // Decimal
  144. xs_LabourPrice: String, // Decimal
  145. xs_MaterialPrice: String, // Decimal
  146. xs_MachinePrice: String, // Decimal
  147. isTender_Labour: Boolean,
  148. isTender_Material: Boolean,
  149. isTender_Machine: Boolean,
  150. tenderTargetPrice: String, // Decimal
  151. tenderTargetUnitPrice: String, // Decimal
  152. tenderTargetUnitPrice: String, // Decimal
  153. // 费用字段
  154. fees: [subSchema.feesSchema],
  155. // 标记字段
  156. flags: [subSchema.flagsSchema],
  157. deleteInfo: deleteSchema
  158. });
  159. mongoose.model("bills", billsSchema);