|
@@ -32,6 +32,9 @@ class Rpt_Common{
|
|
|
}
|
|
|
for (let i = 0; i < maxLen; i++) {
|
|
|
let value = ((i < val1.length)?val1[i]:val1[minLen - 1]) * ((i < val2.length)?val2[i]:val2[minLen - 1]);
|
|
|
+ if (value === null || value === undefined) {
|
|
|
+ value = '0';
|
|
|
+ }
|
|
|
if (fixFormat) value = value.toFixed(fixFormat);
|
|
|
rst.push(value);
|
|
|
}
|
|
@@ -252,6 +255,7 @@ class Rpt_Data_Extractor {
|
|
|
|
|
|
}
|
|
|
|
|
|
+//小数位数依据单位来调整(如吨、公斤的精度要求就不同)
|
|
|
function getUnitDecimal(unitDecimalArr) {
|
|
|
let rst = {"default_decimal": 2};
|
|
|
if (unitDecimalArr) {
|
|
@@ -476,7 +480,7 @@ function moveRationData(rationData, rawDataObj) {
|
|
|
copyItem.rationID = rationItem.ID;
|
|
|
copyItem.rationItemQuantity = 1;
|
|
|
copyItem.quantity = 1;
|
|
|
- copyItem.specialType_quantity = rationItem.quantity;
|
|
|
+ // copyItem.specialType_quantity = rationItem.quantity;
|
|
|
copyItem.name = rationItem.name;
|
|
|
if (rationItem.code) {
|
|
|
copyItem.code = rationItem.ID + "_" + rationItem.code;
|
|
@@ -490,7 +494,6 @@ function moveRationData(rationData, rawDataObj) {
|
|
|
copyItem.shortName = rationItem.shortName;
|
|
|
copyItem.billsItemID = rationItem.billsItemID;
|
|
|
copyItem.type = rationItem.subType;
|
|
|
- // copyItem.repositoryId = rationItem.?;
|
|
|
if (rationItem.projectGLJID) {
|
|
|
copyItem.projectGLJID = rationItem.projectGLJID;
|
|
|
} else {
|
|
@@ -500,17 +503,12 @@ function moveRationData(rationData, rawDataObj) {
|
|
|
dummyPrjItem.id = dummyPRJID;
|
|
|
dummyPRJID++;
|
|
|
dummyPrjItem.unit_price = {};
|
|
|
- // dummyPrjItem.unit_price.base_price = 0;
|
|
|
- // dummyPrjItem.unit_price.market_price = 0;
|
|
|
dummyPrjItem.unit_price.base_price = 0;
|
|
|
- dummyPrjItem.unit_price.market_price = rationItem["marketUnitFee"];
|
|
|
+ dummyPrjItem.unit_price.market_price = (rationItem["marketUnitFee"])?rationItem["marketUnitFee"]:0;
|
|
|
dummyPrjItem.quantity = 0;
|
|
|
dummyPrjItem.is_evaluate = 0;
|
|
|
prjGljData.data.gljList.push(dummyPrjItem);
|
|
|
}
|
|
|
- // copyItem.adjCoe = rationItem.?;
|
|
|
- // copyItem.from = rationItem.?;
|
|
|
- // copyItem.createType = rationItem.?;
|
|
|
rationGljData.data.push(copyItem);
|
|
|
}
|
|
|
}
|
|
@@ -684,7 +682,8 @@ function sortData(sourceData, sortCfg, prjData) {
|
|
|
}
|
|
|
switch (sortType) {
|
|
|
case "tree":
|
|
|
- rst = treeUtil.buildTreeNodeDirectly(tempRstArr);
|
|
|
+ let addLevel = true;
|
|
|
+ rst = treeUtil.buildTreeNodeDirectly(tempRstArr, addLevel);
|
|
|
let newTopArr = [];
|
|
|
if (sortCfg[JV.PROP_FILTER_TOP_BILLS_NODES] && sortCfg[JV.PROP_FILTER_TOP_BILLS_NODES].length > 0) {
|
|
|
for (let topItem of rst) {
|
|
@@ -775,6 +774,7 @@ function setupFunc(obj, prop, ownRawObj) {
|
|
|
obj[prop].getPropertyByForeignId = ext_getPropertyByForeignId;
|
|
|
obj[prop].getArrayItemByKey = ext_getArrayItemByKey;
|
|
|
obj[prop].getPropertyByFlag = ext_getPropertyByFlag;
|
|
|
+ obj[prop].getBlank = ext_getBlank;
|
|
|
if (prop === projectConst.CALC_PROGRAM) obj[prop].getCalcProperty = ext_getCalcProperty;
|
|
|
if (prop === projectConst.FEERATE) obj[prop].getFeeRate = ext_getFeeRate;
|
|
|
}
|
|
@@ -1051,6 +1051,19 @@ function ext_getArrayItemByKey(arrayKey, itemKey, itemKeyValue, itemRstKey){
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+function ext_getBlank(dftVal) {
|
|
|
+ let rst = [], parentObj = this;
|
|
|
+ let dtObj = parentObj["myOwnRawDataObj"];
|
|
|
+ if (dtObj) {
|
|
|
+ for (let i = 0; i < dtObj.data.length; i++) {
|
|
|
+ if (dftVal !== null && dftVal !== undefined) {
|
|
|
+ rst.push(dftVal)
|
|
|
+ } else rst.push('');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return rst;
|
|
|
+}
|
|
|
+
|
|
|
function ext_getPropertyByFlag(flagVal, rstKey, dftValIfEmpty) {
|
|
|
let rst = [], parentObj = this;
|
|
|
let dtObj = parentObj["myOwnRawDataObj"];
|
|
@@ -1092,6 +1105,7 @@ function ext_getPropertyByForeignId(foreignIdVal, adHocIdKey, propKey, dftValIfN
|
|
|
let rst = [], parentObj = this;
|
|
|
let IdKey = (adHocIdKey)?adHocIdKey:"ID";
|
|
|
let dtObj = parentObj["myOwnRawDataObj"];
|
|
|
+ let splitPKey = propKey.split(".");
|
|
|
if (foreignIdVal !== null && foreignIdVal !== undefined) {
|
|
|
let isFound = false;
|
|
|
if (foreignIdVal instanceof Array) {
|
|
@@ -1102,7 +1116,6 @@ function ext_getPropertyByForeignId(foreignIdVal, adHocIdKey, propKey, dftValIfN
|
|
|
for (let i = 0; i < dataArr.length; i++) {
|
|
|
let item = (dataArr[i]._doc)?dataArr[i]._doc:dataArr[i];
|
|
|
if (item[IdKey] === idVal) {
|
|
|
- let splitPKey = propKey.split(".");
|
|
|
if (splitPKey.length > 1) {
|
|
|
let rstP = null;
|
|
|
for (let i = 0; i < splitPKey.length; i++) {
|