|
@@ -26,7 +26,7 @@ import GljDao from "../../complementary_glj_lib/models/gljModel";
|
|
|
const complementaryGljModel = mongoose.model('complementary_glj_lib');
|
|
|
const stdGljModel = mongoose.model('std_glj_lib_gljList');
|
|
|
const gljClassModel = mongoose.model('std_glj_lib_gljClass');
|
|
|
-import projCounter from '../../main/models/proj_counter_model';
|
|
|
+const projectDao = require('../../pm/models/project_model').project;
|
|
|
|
|
|
module.exports = {
|
|
|
save: save,
|
|
@@ -175,11 +175,11 @@ function createNewRecord(ration_glj) {
|
|
|
return newRecoed
|
|
|
}
|
|
|
|
|
|
-async function getInfoFromProjectGLJ(ration_glj,unitPriceFileId) {
|
|
|
+async function getInfoFromProjectGLJ(ration_glj,unitPriceFileId,ext) {
|
|
|
let data = getGLJSearchInfo(ration_glj);
|
|
|
try {
|
|
|
let projectGljModel = new GLJListModel();
|
|
|
- let result = await projectGljModel.addList(data,unitPriceFileId);
|
|
|
+ let result = await projectGljModel.addList(data,unitPriceFileId,ext);
|
|
|
let typeString = result.type+"";
|
|
|
ration_glj.marketPrice = result.unit_price.market_price;
|
|
|
ration_glj.adjustPrice = result.unit_price.base_price;
|
|
@@ -590,12 +590,22 @@ function getGLJSearchInfo(ration_glj) {
|
|
|
return data;
|
|
|
}
|
|
|
|
|
|
+async function prepareExtData(projectID,compilation) {
|
|
|
+ let ext , unitFileId ;
|
|
|
+ let property = await projectDao.getProjectProperty(projectID);
|
|
|
+ ext = projectDao.getExtendData(property,compilation);
|
|
|
+ unitFileId = property.unitPriceFile !== undefined ? property.unitPriceFile.id : 0;
|
|
|
+ return [unitFileId,ext];
|
|
|
+}
|
|
|
+
|
|
|
|
|
|
-async function addGLJ(rgList) {
|
|
|
+async function addGLJ(rgList,compilation) {
|
|
|
let newRecodes = [];
|
|
|
+ if (rgList.length <= 0) return {};
|
|
|
+ let [unitFileId,ext] = await prepareExtData(rgList[0].projectGLJID,compilation);
|
|
|
for (let g of rgList) {
|
|
|
let projectGljModel = new GLJListModel();
|
|
|
- let result = await projectGljModel.addList(getGLJSearchInfo(g));
|
|
|
+ let result = await projectGljModel.addList(getGLJSearchInfo(g),unitFileId,ext);
|
|
|
let typeString = result.type+'';
|
|
|
g.marketPrice = result.unit_price.market_price;
|
|
|
g.adjustPrice = result.unit_price.base_price;
|
|
@@ -625,10 +635,11 @@ async function addGLJ(rgList) {
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
-async function replaceGLJ(data) {
|
|
|
+async function replaceGLJ(data,compilation) {
|
|
|
let rdata = {};
|
|
|
let projectGljModel = new GLJListModel();
|
|
|
- let result = await projectGljModel.addList(getGLJSearchInfo(data));
|
|
|
+ let [unitFileId,ext] = await prepareExtData(data.projectID,compilation);
|
|
|
+ let result = await projectGljModel.addList(getGLJSearchInfo(data),unitFileId,ext);
|
|
|
let typeString = result.type+'';
|
|
|
data.projectGLJID = result.id;
|
|
|
|
|
@@ -653,10 +664,12 @@ async function replaceGLJ(data) {
|
|
|
rdata.name = stateResult.rationName;
|
|
|
return rdata;
|
|
|
}
|
|
|
-async function mReplaceGLJ(data) {
|
|
|
+async function mReplaceGLJ(data,compilation) {
|
|
|
let mresult = {};
|
|
|
let projectGljModel = new GLJListModel();
|
|
|
- let result = await projectGljModel.addList(getGLJSearchInfo(data.doc));
|
|
|
+ let [unitFileId,ext] = await prepareExtData(data.doc.projectID,compilation);
|
|
|
+ //
|
|
|
+ let result = await projectGljModel.addList(getGLJSearchInfo(data.doc),unitFileId,ext);
|
|
|
let typeString = result.type+'';
|
|
|
let newDoc = {};
|
|
|
newDoc.projectGLJID = result.id;
|
|
@@ -771,7 +784,7 @@ async function getGLJClass(info, data) {
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
-async function insertGLJAsRation(data) {
|
|
|
+async function insertGLJAsRation(data,compilation) {
|
|
|
let gljList = data.gljList;
|
|
|
if (data.hasOwnProperty("selectedSerialNo")) { //如果需要,更新序列号。
|
|
|
let query = {
|
|
@@ -781,11 +794,11 @@ async function insertGLJAsRation(data) {
|
|
|
}
|
|
|
await ration.update(query, {$inc: {serialNo: gljList.length}}, {multi: true});
|
|
|
}
|
|
|
-
|
|
|
+ let [unitFileId,ext] = await prepareExtData(data.doc.projectID,compilation);
|
|
|
for (let glj of gljList) {
|
|
|
let p_glj = getGLJSearchInfo(glj);
|
|
|
let projectGljModel = new GLJListModel();
|
|
|
- let result = await projectGljModel.addList(p_glj);//逐条添加到项目工料机
|
|
|
+ let result = await projectGljModel.addList(p_glj,unitFileId,ext);//逐条添加到项目工料机
|
|
|
let typeString = result.type+'';
|
|
|
glj.marketPrice = result.unit_price.market_price;
|
|
|
glj.adjustPrice = result.unit_price.base_price;
|