Browse Source

Merge remote-tracking branch 'origin/master'

vian 5 years ago
parent
commit
791362224b

+ 30 - 0
modules/all_models/com_electrovalence.js

@@ -0,0 +1,30 @@
+/**
+ * Created by zhang on 2019/12/10.
+ */
+
+let mongoose = require('mongoose');
+let Schema = mongoose.Schema;
+
+let gljListSchema =new Schema({
+    ID:{type: String},
+    GLJID:Number,
+    projectGLJID:Number,
+    name:String,
+    displayName:String,
+    code:String,
+    specs:String,
+    unit:String,
+    type:Number,
+    // 加权系数
+    coe: Number,
+    from:{type: String,default:'std'}//std, cpt  来自标准工料机库、补充工料机库
+},{versionKey:false,_id: false});
+
+
+let com_electrovalenceSchema = {//综合电价
+    ID:{type:String,index: true},
+    unit_price_file_id: Number,
+    gljList:[gljListSchema]
+};
+
+mongoose.model("com_electrovalence", new Schema(com_electrovalenceSchema, {versionKey: false, collection: "com_electrovalence"}));

+ 133 - 0
modules/all_models/material_calc.js

@@ -0,0 +1,133 @@
+/**
+ * Created by zhang on 2019/3/18.
+ */
+import mongoose from "mongoose";
+
+let Schema = mongoose.Schema;
+
+var rationAssItemSchema = mongoose.Schema({
+    name: String,
+    assistID: Number,
+    assistCode: String,
+    stdValue: Number,
+    actualValue:Number,
+    stepValue: String,
+    decimal: Number,
+    carryBit: String,
+    minValue: String,
+    maxValue: String,
+    paramName:String,//参数名称
+    param:String,//参数
+    thirdRationCode:String,//第三定额
+    isAdjust:Number,//0不调整,1调整
+    groupList:[Schema.Types.Mixed],//当有分组的时候用这个
+    assRation:Schema.Types.Mixed//存放对应的定额,材料计算时用到
+}, { _id: false });
+
+var ration_glj = new Schema({
+    ID:{type: String},
+    GLJID:Number,
+    repositoryId:Number,
+    rationID:String,
+    projectGLJID:Number,
+    name:String,
+    code:String,
+    //原始的编码
+    original_code: {type: String},
+    rcode:String,
+    //新结构,计录替换前的工料机信息,对于混凝土,替换,计算等问题处理,替换时保存旧数据的5大项信息
+    mIndexObj: Schema.Types.Mixed,
+    specs:String,
+    unit:String,
+    shortName:String,
+    type:Number,
+    // 机型
+    model: Number,
+    // 调整系数ID
+    adjCoe: Number,
+    quantity:String,
+    customQuantity:String,
+    rationItemQuantity:String,
+    tenderQuantity:String,//调整后消耗量
+    createType: {type: String,default:'normal'},//normal、add、replace  正常、添加工料机、替换工料机
+    from:{type: String,default:'std'}//std, cpt  来自标准工料机库、补充工料机库
+},{versionKey:false,_id: false});
+
+let ration_schema = {
+    ID: {type: String},
+    projectID: Number,
+    code: String,
+    name: String,
+    unit: String,
+    quantity: String,
+    feeType:String,
+    caption:String,
+    libID:Number,
+    stdID:Number,
+    from:String,
+    rationAssList: [rationAssItemSchema]
+};
+
+
+let freightSchema = {
+    ID:{type:String,index: true},
+    unit_price_file_id: Number,
+    connect_key: {type: String, index: true},// 关联项目工料机的key 不能关联id,因为单价文件导入别的项目后项目工料机id不同
+    start:String,//起讫地点
+    conveyance:String,//运输工具
+    unitFreight:String,//单位运价
+    kmDistance:String,//km运距
+    unitLoadingFee:String,//装卸费单价
+    loadingTimes:String,//装卸次数
+    otherFee:String,//其它费用
+    freightIncreaseRate:String,//运价增加率
+    weightCoe:String,//加权系数
+    rations:[ration_schema],
+    ration_gljs:[ration_glj],
+    calcType:String,//计算方式
+    materialType:String//材料类型
+};
+mongoose.model("freight_calc", new Schema(freightSchema, {versionKey: false, collection: "freight_calc"}));
+
+
+let originalSchema = {
+    ID:{type:String,index: true},
+    unit_price_file_id: Number,
+    connect_key: {type: String, index: true},// 关联项目工料机的key 不能关联id,因为单价文件导入别的项目后项目工料机id不同
+    supplyLocation:String,//供应地点
+    supplyPrice:String,//供应价
+    coe:String,//加权系数
+    rations:[ration_schema],
+    ration_gljs:[ration_glj]
+};
+
+mongoose.model("original_calc", new Schema(originalSchema, {versionKey: false, collection: "original_calc"}));
+
+
+let userfreightSchema = mongoose.Schema({
+    ID:String,
+    unit_price_file_id: Number,
+    connect_key: String,// 关联项目工料机的key 不能关联id,因为单价文件导入别的项目后项目工料机id不同
+    start:String,//起讫地点
+    conveyance:String,//运输工具
+    unitFreight:String,//单位运价
+    kmDistance:String,//km运距
+    unitLoadingFee:String,//装卸费单价
+    loadingTimes:String,//装卸次数
+    otherFee:String,//其它费用
+    freightIncreaseRate:String,//运价增加率
+    weightCoe:String,//加权系数
+    rations:[ration_schema],
+    ration_gljs:[ration_glj],
+    calcType:String,//计算方式
+    materialType:String//材料类型
+}, { _id: false });
+
+let user_freights = {
+    ID:{type:String,index: true},
+    userID:{type:String,index: true},
+    compilationID:{type:String,index: true},
+    rootProjectID:Number,
+    freight:userfreightSchema
+};
+mongoose.model("user_freights", new Schema(user_freights, {versionKey: false, collection: "user_freights"}));

+ 1 - 1
modules/common/base/base_controller.js

@@ -7,7 +7,7 @@
  */
  */
 import crypto from "crypto";
 import crypto from "crypto";
 import Url from "url";
 import Url from "url";
-import Moment from "moment";
+import Moment from 'moment-timezone';
 // import menuData from "../../../config/menu";
 // import menuData from "../../../config/menu";
 
 
 class BaseController {
 class BaseController {

+ 13 - 1
modules/sys_tools/models/sys_model.js

@@ -22,11 +22,14 @@ const rationGljModel = mongoose.model('ration_glj');
 const rationCoeMolde = mongoose.model('ration_coe');
 const rationCoeMolde = mongoose.model('ration_coe');
 const installationModel = mongoose.model('installation_fee');
 const installationModel = mongoose.model('installation_fee');
 const rationInstallationModel = mongoose.model('ration_installation');
 const rationInstallationModel = mongoose.model('ration_installation');
-const rationTemplateModel  = mongoose.model('ration_template')
+const rationTemplateModel  = mongoose.model('ration_template');
 const quantityDetailModel = mongoose.model('quantity_detail');
 const quantityDetailModel = mongoose.model('quantity_detail');
 const unitPriceFileModel = mongoose.model('unit_price_file');
 const unitPriceFileModel = mongoose.model('unit_price_file');
 const unitPriceModel = mongoose.model('unit_price');
 const unitPriceModel = mongoose.model('unit_price');
 const mixRatioModel = mongoose.model('mix_ratio');
 const mixRatioModel = mongoose.model('mix_ratio');
+let freightModel = mongoose.model("freight_calc");
+let originalModel = mongoose.model("original_calc");
+let comElectrovalenceModel = mongoose.model("com_electrovalence");
 const feeRateFileModel = mongoose.model('fee_rate_file');
 const feeRateFileModel = mongoose.model('fee_rate_file');
 const feeRateModel = mongoose.model('fee_rates');
 const feeRateModel = mongoose.model('fee_rates');
 const compleRationSection = mongoose.model('complementary_ration_section_tree');
 const compleRationSection = mongoose.model('complementary_ration_section_tree');
@@ -103,6 +106,15 @@ async function clearJunkData(callback){
         functions.push(function(cb){
         functions.push(function(cb){
             mixRatioModel.remove({unit_price_file_id: {$in: junkUFIds}}, cb);
             mixRatioModel.remove({unit_price_file_id: {$in: junkUFIds}}, cb);
         });
         });
+        functions.push(function(cb){
+            freightModel.remove({unit_price_file_id: {$in: junkUFIds}}, cb);
+        });
+        functions.push(function(cb){
+            originalModel.remove({unit_price_file_id: {$in: junkUFIds}}, cb);
+        });
+        functions.push(function(cb){
+            comElectrovalenceModel.remove({unit_price_file_id: {$in: junkUFIds}}, cb);
+        });
     }
     }
     //彻底删除了的费率文件
     //彻底删除了的费率文件
     let junkFFs = await feeRateFileModel.find({'deleteInfo.deleted': true, 'deleteInfo.completeDeleted': true});
     let junkFFs = await feeRateFileModel.find({'deleteInfo.deleted': true, 'deleteInfo.completeDeleted': true});

+ 1 - 0
package.json

@@ -28,6 +28,7 @@
     "jszip": "^3.1.3",
     "jszip": "^3.1.3",
     "log4js": "~2.3.3",
     "log4js": "~2.3.3",
     "multiparty": "^4.1.3",
     "multiparty": "^4.1.3",
+    "moment-timezone": "^0.5.27",
     "node-xlsx": "^0.11.2",
     "node-xlsx": "^0.11.2",
     "pdfkit": "^0.8.2",
     "pdfkit": "^0.8.2",
     "ueditor": "^1.2.3",
     "ueditor": "^1.2.3",

+ 2 - 2
web/users/views/user/index.html

@@ -117,8 +117,8 @@
                     <td><%= model.province[user.province] %></td>
                     <td><%= model.province[user.province] %></td>
                     <td><%= compilationMap[user.latest_used]?compilationMap[user.latest_used].name:""%></td>
                     <td><%= compilationMap[user.latest_used]?compilationMap[user.latest_used].name:""%></td>
                     <td><a onclick="getOnlineInfo('<%= user._doc.filter%>')" href="#time-detail" data-toggle="modal" data-target="#time-detail"><%= user._doc.online_times %></a></td>
                     <td><a onclick="getOnlineInfo('<%= user._doc.filter%>')" href="#time-detail" data-toggle="modal" data-target="#time-detail"><%= user._doc.online_times %></a></td>
-                    <td><%= moment(user.create_time).format('YYYY-MM-DD HH:mm:ss') %></td>
-                    <td><%= user.latest_login?moment(user.latest_login).format('YYYY-MM-DD HH:mm:ss'):"" %></td>
+                    <td><%= moment(user.create_time).tz("Asia/Shanghai").format('YYYY-MM-DD HH:mm:ss') %></td>
+                    <td><%= user.latest_login?moment(user.latest_login).tz("Asia/Shanghai").format('YYYY-MM-DD HH:mm:ss'):"" %></td>
                     <% if (manager.superAdmin == 1) { %>
                     <% if (manager.superAdmin == 1) { %>
                     <td>
                     <td>
                         <a onclick='deleteUser("<%= user._id.toString()%>")' data-toggle="modal" data-target="#delUser" class="btn text-danger" style="padding: 0px">删除</a>
                         <a onclick='deleteUser("<%= user._id.toString()%>")' data-toggle="modal" data-target="#delUser" class="btn text-danger" style="padding: 0px">删除</a>