|
@@ -12,6 +12,7 @@ import UnitPriceModel from "../models/unit_price_model";
|
|
|
import MixRatioModel from "../models/mix_ratio_model";
|
|
|
import UnitPriceFileModel from "../models/unit_price_file_model";
|
|
|
let logger = require("../../../logs/log_helper").logger;
|
|
|
+let consts = require('../../main/models/project_consts');
|
|
|
|
|
|
const ProjectModel = require('../../pm/models/project_model').project;
|
|
|
class GLJController extends BaseController {
|
|
@@ -37,59 +38,23 @@ class GLJController extends BaseController {
|
|
|
// 标段id
|
|
|
let projectId = request.body.project_id;
|
|
|
projectId = parseInt(projectId);
|
|
|
- let responseData = {
|
|
|
- err: 0,
|
|
|
- msg: '',
|
|
|
- data: {}
|
|
|
- };
|
|
|
- try {
|
|
|
- if (isNaN(projectId) || projectId <= 0) {
|
|
|
- throw '标段id有误';
|
|
|
- }
|
|
|
-
|
|
|
- // 获取标段对应的单价文件id
|
|
|
- let unitPriceFileId = await ProjectModel.getUnitPriceFileId(projectId);
|
|
|
- if (unitPriceFileId <= 0) {
|
|
|
- throw '没有对应的单价文件';
|
|
|
- }
|
|
|
-
|
|
|
- // 获取使用该单价文件的项目数据
|
|
|
- let tenderData = await ProjectModel.getTenderByUnitPriceFileId(unitPriceFileId);
|
|
|
- let usedTenderList = [];
|
|
|
- let usedUnitPriceInfo = {};
|
|
|
- if (tenderData !== null) {
|
|
|
- for (let tmp of tenderData) {
|
|
|
- usedTenderList.push(tmp.name);
|
|
|
- usedUnitPriceInfo.name = tmp.property.unitPriceFile.name;
|
|
|
- usedUnitPriceInfo.id = tmp.property.unitPriceFile.id;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // 先获取对应标段的项目工料机数据
|
|
|
- let gljListModel = new GLJListModel();
|
|
|
- let [gljList, mixRatioConnectData,mixRationMap] = await gljListModel.getListByProjectId(projectId, unitPriceFileId);
|
|
|
-
|
|
|
- responseData.data.gljList = gljList;
|
|
|
- responseData.data.mixRatioConnectData = mixRatioConnectData;
|
|
|
- responseData.data.mixRatioMap = mixRationMap;
|
|
|
- responseData.data.usedTenderList = usedTenderList;
|
|
|
- responseData.data.constData = {
|
|
|
- materialIdList: gljListModel.materialIdList,
|
|
|
- ownCompositionTypes: gljListModel.ownCompositionTypes,
|
|
|
- hostname: request.hostname,
|
|
|
- roomId: unitPriceFileId,
|
|
|
- GLJTypeConst: JSON.stringify(GLJTypeConst),
|
|
|
- usedUnitPriceInfo: usedUnitPriceInfo
|
|
|
- };
|
|
|
- } catch (error) {
|
|
|
- responseData.err = 1;
|
|
|
- responseData.msg = error;
|
|
|
- }
|
|
|
-
|
|
|
+ let responseData = await getGLJListByProjectID(projectId);
|
|
|
+ responseData.hostname = request.hostname;
|
|
|
response.json(responseData);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * project getData 接口
|
|
|
+ * @param projectID
|
|
|
+ * @param callback
|
|
|
+ */
|
|
|
+ getData(projectID, callback){
|
|
|
+ getGLJListByProjectID(projectID).then(function(result){
|
|
|
+ callback(result.err,consts.projectConst.PROJECTGLJ,result.data);
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 更新数据
|
|
|
*
|
|
|
* @param {object} request
|
|
@@ -588,4 +553,61 @@ class GLJController extends BaseController {
|
|
|
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * 取项目工料机列表
|
|
|
+ * @param projectId
|
|
|
+ * @returns {Promise.<void>}
|
|
|
+ */
|
|
|
+async function getGLJListByProjectID(projectId){
|
|
|
+ let responseData = {
|
|
|
+ err: 0,
|
|
|
+ msg: '',
|
|
|
+ data: {}
|
|
|
+ };
|
|
|
+ try {
|
|
|
+ if (isNaN(projectId) || projectId <= 0) {
|
|
|
+ throw '标段id有误';
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取标段对应的单价文件id
|
|
|
+ let unitPriceFileId = await ProjectModel.getUnitPriceFileId(projectId);
|
|
|
+ if (unitPriceFileId <= 0) {
|
|
|
+ throw '没有对应的单价文件';
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取使用该单价文件的项目数据
|
|
|
+ let tenderData = await ProjectModel.getTenderByUnitPriceFileId(unitPriceFileId);
|
|
|
+ let usedTenderList = [];
|
|
|
+ let usedUnitPriceInfo = {};
|
|
|
+ if (tenderData !== null) {
|
|
|
+ for (let tmp of tenderData) {
|
|
|
+ usedTenderList.push(tmp.name);
|
|
|
+ usedUnitPriceInfo.name = tmp.property.unitPriceFile.name;
|
|
|
+ usedUnitPriceInfo.id = tmp.property.unitPriceFile.id;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 先获取对应标段的项目工料机数据
|
|
|
+ let gljListModel = new GLJListModel();
|
|
|
+ let [gljList, mixRatioConnectData,mixRationMap] = await gljListModel.getListByProjectId(projectId, unitPriceFileId);
|
|
|
+
|
|
|
+ responseData.data.gljList = gljList;
|
|
|
+ responseData.data.mixRatioConnectData = mixRatioConnectData;
|
|
|
+ responseData.data.mixRatioMap = mixRationMap;
|
|
|
+ responseData.data.usedTenderList = usedTenderList;
|
|
|
+ responseData.data.constData = {
|
|
|
+ materialIdList: gljListModel.materialIdList,
|
|
|
+ ownCompositionTypes: gljListModel.ownCompositionTypes,
|
|
|
+ roomId: unitPriceFileId,
|
|
|
+ GLJTypeConst: JSON.stringify(GLJTypeConst),
|
|
|
+ usedUnitPriceInfo: usedUnitPriceInfo
|
|
|
+ };
|
|
|
+ } catch (error) {
|
|
|
+ console.log(error);
|
|
|
+ responseData.err = 1;
|
|
|
+ responseData.msg = error;
|
|
|
+ }
|
|
|
+ return responseData;
|
|
|
+}
|
|
|
+
|
|
|
export default GLJController;
|