|
@@ -3,17 +3,17 @@
|
|
|
*/
|
|
|
import BaseController from "../../common/base/base_controller";
|
|
|
import featureFacade from "../facade/project_feature_facade";
|
|
|
-import { checkCompilationPermission } from '../../common/base/base_util';
|
|
|
+import { checkCompilationPermission } from "../../common/base/base_util";
|
|
|
let config = require("../../../config/config.js");
|
|
|
-let logger = require('../../../logs/log_helper').logger;
|
|
|
-import CompilationModel from '../../users/models/compilation_model';
|
|
|
-let mongoose = require('mongoose');
|
|
|
-let featureLibModel = mongoose.model('std_project_feature_lib');
|
|
|
+let logger = require("../../../logs/log_helper").logger;
|
|
|
+import CompilationModel from "../../users/models/compilation_model";
|
|
|
+let mongoose = require("mongoose");
|
|
|
+let featureLibModel = mongoose.model("std_project_feature_lib");
|
|
|
|
|
|
-class FeatureController extends BaseController{
|
|
|
- async main(request, response) {
|
|
|
- //
|
|
|
- let allLibs = await featureLibModel.find({});
|
|
|
+class FeatureController extends BaseController {
|
|
|
+ async main(request, response) {
|
|
|
+ //
|
|
|
+ /* let allLibs = await featureLibModel.find({});
|
|
|
for (let lib of allLibs) {
|
|
|
if (lib.name.indexOf('重庆2018') !== -1) {
|
|
|
await featureLibModel.update({ID: lib.ID},
|
|
@@ -37,110 +37,129 @@ class FeatureController extends BaseController{
|
|
|
await featureLibModel.update({ID: lib.ID},
|
|
|
{$set: {compilationId: '5c66649650da2d000d8d37ba', compilationName: '广东定额(2018)'}}, {multi: true});
|
|
|
}
|
|
|
- }
|
|
|
- //
|
|
|
- let compilationModel = new CompilationModel();
|
|
|
- let compilationList = await compilationModel.getPermissionCompilationList(request, {_id: 1, name: 1});
|
|
|
- compilationList.unshift({_id: 'all', name: '所有'});
|
|
|
- let activeCompilation = compilationList.find(compilation => compilation._id.toString() === request.query.filter);
|
|
|
- if (activeCompilation) {
|
|
|
- activeCompilation.active = 'active';
|
|
|
- } else {
|
|
|
- compilationList[0].active = 'active'
|
|
|
- }
|
|
|
- let filter = request.query.filter ? {compilationId: request.query.filter} : {};
|
|
|
- let featureLibs = await featureFacade.findByCondition(filter,{feature:0},false);
|
|
|
- const compilationPermission = request.session.managerData.compilationPermission || [];
|
|
|
- featureLibs = featureLibs.filter(lib => compilationPermission.includes(lib.compilationId));
|
|
|
- let randerData = {
|
|
|
- title:'工程特征库',
|
|
|
- userAccount: request.session.managerData.username,
|
|
|
- userID: request.session.managerData.userID,
|
|
|
- featureLibs:featureLibs,
|
|
|
- compilationList: compilationList,
|
|
|
- layout: 'maintain/common/html/layout'
|
|
|
- };
|
|
|
- response.render("maintain/project_feature_lib/html/main", randerData);
|
|
|
+ } */
|
|
|
+ //
|
|
|
+ let compilationModel = new CompilationModel();
|
|
|
+ let compilationList = await compilationModel.getPermissionCompilationList(
|
|
|
+ request,
|
|
|
+ { _id: 1, name: 1 }
|
|
|
+ );
|
|
|
+ compilationList.unshift({ _id: "all", name: "所有" });
|
|
|
+ let activeCompilation = compilationList.find(
|
|
|
+ (compilation) => compilation._id.toString() === request.query.filter
|
|
|
+ );
|
|
|
+ if (activeCompilation) {
|
|
|
+ activeCompilation.active = "active";
|
|
|
+ } else {
|
|
|
+ compilationList[0].active = "active";
|
|
|
}
|
|
|
- async addLib(request, response){
|
|
|
- try {
|
|
|
- await featureFacade.addLib(request.body);
|
|
|
- }catch (error) {
|
|
|
- console.log(error);
|
|
|
- }
|
|
|
- response.redirect(request.headers.referer);
|
|
|
+ let filter = request.query.filter
|
|
|
+ ? { compilationId: request.query.filter }
|
|
|
+ : {};
|
|
|
+ let featureLibs = await featureFacade.findByCondition(
|
|
|
+ filter,
|
|
|
+ { feature: 0 },
|
|
|
+ false
|
|
|
+ );
|
|
|
+ const compilationPermission =
|
|
|
+ request.session.managerData.compilationPermission || [];
|
|
|
+ featureLibs = featureLibs.filter((lib) =>
|
|
|
+ compilationPermission.includes(lib.compilationId)
|
|
|
+ );
|
|
|
+ let randerData = {
|
|
|
+ title: "工程特征库",
|
|
|
+ userAccount: request.session.managerData.username,
|
|
|
+ userID: request.session.managerData.userID,
|
|
|
+ featureLibs: featureLibs,
|
|
|
+ compilationList: compilationList,
|
|
|
+ layout: "maintain/common/html/layout",
|
|
|
+ };
|
|
|
+ response.render("maintain/project_feature_lib/html/main", randerData);
|
|
|
+ }
|
|
|
+ async addLib(request, response) {
|
|
|
+ try {
|
|
|
+ await featureFacade.addLib(request.body);
|
|
|
+ } catch (error) {
|
|
|
+ console.log(error);
|
|
|
}
|
|
|
- async findLib(request, response){
|
|
|
- let result={
|
|
|
- error:0
|
|
|
- };
|
|
|
- try {
|
|
|
- let data = request.body.data;
|
|
|
- data = JSON.parse(data);
|
|
|
- let conditions={'ID' : data.ID};
|
|
|
- let resultData = await featureFacade.findByCondition(conditions);
|
|
|
- result.data=resultData;
|
|
|
- }catch (err){
|
|
|
- console.log(err);
|
|
|
- result.error=1;
|
|
|
- result.message = err.message;
|
|
|
- }
|
|
|
- response.json(result);
|
|
|
+ response.redirect(request.headers.referer);
|
|
|
+ }
|
|
|
+ async findLib(request, response) {
|
|
|
+ let result = {
|
|
|
+ error: 0,
|
|
|
+ };
|
|
|
+ try {
|
|
|
+ let data = request.body.data;
|
|
|
+ data = JSON.parse(data);
|
|
|
+ let conditions = { ID: data.ID };
|
|
|
+ let resultData = await featureFacade.findByCondition(conditions);
|
|
|
+ result.data = resultData;
|
|
|
+ } catch (err) {
|
|
|
+ console.log(err);
|
|
|
+ result.error = 1;
|
|
|
+ result.message = err.message;
|
|
|
}
|
|
|
- async saveLib(request, response){
|
|
|
- let result={
|
|
|
- error:0
|
|
|
- };
|
|
|
- try {
|
|
|
- let data = request.body.data;
|
|
|
- data = JSON.parse(data);
|
|
|
- let resultData= await featureFacade.saveLib(data);
|
|
|
- result.data=resultData;
|
|
|
- }catch (err){
|
|
|
- console.log(err);
|
|
|
- result.error=1;
|
|
|
- result.message = err.message;
|
|
|
- }
|
|
|
- response.json(result);
|
|
|
+ response.json(result);
|
|
|
+ }
|
|
|
+ async saveLib(request, response) {
|
|
|
+ let result = {
|
|
|
+ error: 0,
|
|
|
+ };
|
|
|
+ try {
|
|
|
+ let data = request.body.data;
|
|
|
+ data = JSON.parse(data);
|
|
|
+ let resultData = await featureFacade.saveLib(data);
|
|
|
+ result.data = resultData;
|
|
|
+ } catch (err) {
|
|
|
+ console.log(err);
|
|
|
+ result.error = 1;
|
|
|
+ result.message = err.message;
|
|
|
}
|
|
|
- async deleteLibByID(request,response){
|
|
|
- logger.info(`delete projectFeatureLib ${request.ip}`);
|
|
|
- let result={
|
|
|
- error:0
|
|
|
- };
|
|
|
- try {
|
|
|
- let data = request.body.data;
|
|
|
- data = JSON.parse(data);
|
|
|
- let resultData= await featureFacade.deleteLibByID(data.ID);
|
|
|
- result.data=resultData;
|
|
|
- }catch (err){
|
|
|
- console.log(err);
|
|
|
- result.error=1;
|
|
|
- result.message = err.message;
|
|
|
- }
|
|
|
- response.json(result);
|
|
|
+ response.json(result);
|
|
|
+ }
|
|
|
+ async deleteLibByID(request, response) {
|
|
|
+ logger.info(`delete projectFeatureLib ${request.ip}`);
|
|
|
+ let result = {
|
|
|
+ error: 0,
|
|
|
+ };
|
|
|
+ try {
|
|
|
+ let data = request.body.data;
|
|
|
+ data = JSON.parse(data);
|
|
|
+ let resultData = await featureFacade.deleteLibByID(data.ID);
|
|
|
+ result.data = resultData;
|
|
|
+ } catch (err) {
|
|
|
+ console.log(err);
|
|
|
+ result.error = 1;
|
|
|
+ result.message = err.message;
|
|
|
}
|
|
|
- async edit(request,response){
|
|
|
- //先取出替换库信息:
|
|
|
- let libID = request.params.libID;
|
|
|
- let featureLib = await featureFacade.findByCondition({'ID':libID});
|
|
|
- if(featureLib){
|
|
|
- checkCompilationPermission(request, response, featureLib.compilationId, '/projectFeature/main');
|
|
|
- let randerData = {
|
|
|
- title:'工程特征库',
|
|
|
- mainURL:'/projectFeature/main',
|
|
|
- libName:featureLib.name,
|
|
|
- userAccount: request.session.managerData.username,
|
|
|
- userID: request.session.managerData.userID,
|
|
|
- featureList:JSON.stringify(featureLib.feature),
|
|
|
- libID:libID,
|
|
|
- LicenseKey:config.getLicenseKey(process.env.NODE_ENV),
|
|
|
- layout: 'maintain/common/html/edit_layout'
|
|
|
- };
|
|
|
- response.render("maintain/project_feature_lib/html/edit", randerData);
|
|
|
- }else {
|
|
|
- response.redirect(request.headers.referer);
|
|
|
- }
|
|
|
+ response.json(result);
|
|
|
+ }
|
|
|
+ async edit(request, response) {
|
|
|
+ //先取出替换库信息:
|
|
|
+ let libID = request.params.libID;
|
|
|
+ let featureLib = await featureFacade.findByCondition({ ID: libID });
|
|
|
+ if (featureLib) {
|
|
|
+ checkCompilationPermission(
|
|
|
+ request,
|
|
|
+ response,
|
|
|
+ featureLib.compilationId,
|
|
|
+ "/projectFeature/main"
|
|
|
+ );
|
|
|
+ let randerData = {
|
|
|
+ title: "工程特征库",
|
|
|
+ mainURL: "/projectFeature/main",
|
|
|
+ libName: featureLib.name,
|
|
|
+ userAccount: request.session.managerData.username,
|
|
|
+ userID: request.session.managerData.userID,
|
|
|
+ featureList: JSON.stringify(featureLib.feature),
|
|
|
+ libID: libID,
|
|
|
+ LicenseKey: config.getLicenseKey(process.env.NODE_ENV),
|
|
|
+ layout: "maintain/common/html/edit_layout",
|
|
|
+ };
|
|
|
+ response.render("maintain/project_feature_lib/html/edit", randerData);
|
|
|
+ } else {
|
|
|
+ response.redirect(request.headers.referer);
|
|
|
}
|
|
|
+ }
|
|
|
}
|
|
|
-export default FeatureController;
|
|
|
+export default FeatureController;
|