Explorar o código

取默认定额数据

zhangweicheng %!s(int64=7) %!d(string=hai) anos
pai
achega
bfee88211b

+ 10 - 11
modules/main/facade/ration_facade.js

@@ -40,7 +40,7 @@ async function addNewRation(data) {
     if(data.brUpdate.length>0){
         await updateSerialNo(data.brUpdate);
     }
-    let newRation =await insertNewRation(data.newData,data.firstLibID,stdRation,data.calQuantity);
+    let newRation =await insertNewRation(data.newData,data.defaultLibID,stdRation,data.calQuantity);
     let addRationGLJTime = +new Date();
     console.log("插入新定额时间-------------------------------"+(addRationGLJTime - stdRationTime));
     if(stdRation){
@@ -79,7 +79,7 @@ async function  updateSerialNo(serialNoUpdate){
 
 }
 
-async function insertNewRation(newData,firstLibID,std,calQuantity) {//插入新的定额
+async function insertNewRation(newData,defaultLibID,std,calQuantity) {//插入新的定额
     let startTime = +new Date();
     if(std){
         newData.code = std.code;
@@ -95,10 +95,10 @@ async function insertNewRation(newData,firstLibID,std,calQuantity) {//插入新
         }
         newData.prefix = '';
         newData.from = std.type === 'complementary' ? 'cpt' : 'std';
-        if(firstLibID !== std.rationRepId){//借
+        if(defaultLibID !== std.rationRepId){//借
             newData.prefix = '借';
         }
-        else if(std.rationRepId === firstLibID && newData.from === 'cpt') {
+        else if(std.rationRepId === defaultLibID && newData.from === 'cpt') {
             newData.prefix = '补';
         }
         if(std.feeType == undefined || std.feeType == null || std.feeType ==''){//定额取费专业为空的情况下,取项目属性中的定额取费专业ID
@@ -114,7 +114,6 @@ async function insertNewRation(newData,firstLibID,std,calQuantity) {//插入新
     }
     let addRationGLJTime = +new Date();
     console.log("计算消耗量时间-------------------------------"+(addRationGLJTime - startTime));
-    console.log(newData);
     let newRation = await ration_model.model.create(newData);
     return newRation;
     /*ration_model.model.create(newData);
@@ -126,7 +125,7 @@ async function replaceRations(userID,data) {
     let recodes = [];
     for(let recode of data.nodeInfo){
         let stdRation = await searchDao.getRationItem(userID,data.libIDs,recode.newCode, null);
-        let newRecode = await replaceRation(recode,stdRation,data.firstLibID,data.projectID,data.calQuantity);
+        let newRecode = await replaceRation(recode,stdRation,data.defaultLibID,data.projectID,data.calQuantity);
         if(newRecode){
             recodes.push(newRecode);
         }else {
@@ -136,13 +135,13 @@ async function replaceRations(userID,data) {
     return recodes;
 }
 
-async function replaceRation(nodeInfo,stdRation,firstLibID,projectID,calQuantity) {
+async function replaceRation(nodeInfo,stdRation,defaultLibID,projectID,calQuantity) {
     if(nodeInfo.newCode == null||nodeInfo.newCode ==""){//说明是删除编号,则要变成一条空定额
         await deleRationSubRecode(projectID,nodeInfo.ID);//删除定额下挂的各种数据,如定额工料机等
         return await setEmptyRation(projectID,nodeInfo.ID);
     }else if(stdRation){
         await deleRationSubRecode(projectID,nodeInfo.ID);//删除定额下挂的各种数据,如定额工料机等
-        let newRation = await updateRation(stdRation,firstLibID,nodeInfo.ID,nodeInfo.billsItemID,projectID,calQuantity);//生成并插入新的定额
+        let newRation = await updateRation(stdRation,defaultLibID,nodeInfo.ID,nodeInfo.billsItemID,projectID,calQuantity);//生成并插入新的定额
         return await addRationSubList(stdRation,newRation,nodeInfo.needInstall);
     }else {
         return null;
@@ -341,7 +340,7 @@ async function deleRationSubRecode(projectID,rationID) {//删除挂在定额下
     await rationInstallationModel.deleteMany(delete_query);//删除安装增加费
 }
 
-async function  updateRation(std,firstLibID,rationID,billsItemID,projectID,calQuantity) {
+async function  updateRation(std,defaultLibID,rationID,billsItemID,projectID,calQuantity) {
     // insertNewRation
     let ration ={};
     ration.code = std.code;
@@ -362,10 +361,10 @@ async function  updateRation(std,firstLibID,rationID,billsItemID,projectID,calQu
     //定额前缀 none:0, complementary:1, borrow: 2
     ration.prefix = '';
     //借用优先级比补充高
-    if(std.rationRepId !== parseInt(firstLibID)){//借用
+    if(std.rationRepId !== parseInt(defaultLibID)){//借用
         ration.prefix = '借';
     }
-    else if(std.rationRepId === firstLibID && ration.from === 'cpt') {
+    else if(std.rationRepId === defaultLibID && ration.from === 'cpt') {
         ration.prefix = '补';
     }
     if(std.feeType == undefined || std.feeType == null || std.feeType ==''){//定额取费专业为空的情况下,取项目属性中的定额取费专业ID

+ 3 - 3
web/building_saas/main/js/controllers/block_controller.js

@@ -498,9 +498,9 @@ let BlockController = {
             tem_ration.ID = uuid.v1();
             billsIDMap[tem_ration.billsItemID]?tem_ration.billsItemID = billsIDMap[tem_ration.billsItemID]:'';
 
-            let firstLibID = rationLibObj.getFirstStdRationLibID();
-            if(firstLibID&&tem_ration.type == rationType.ration){
-                tem_ration.prefix = projectObj.project.Ration.getRationPrefix(firstLibID,tem_ration);
+            let defaultLibID = rationLibObj.getDefaultStdRationLibID();
+            if(defaultLibID&&tem_ration.type == rationType.ration){
+                tem_ration.prefix = projectObj.project.Ration.getRationPrefix(defaultLibID,tem_ration);
             }
             return tem_ration;
 

+ 7 - 7
web/building_saas/main/js/models/ration.js

@@ -383,7 +383,7 @@ var Ration = {
         ration.prototype.updateRationCodes = function (recodes) {
             let libID =  rationLibObj.getCurrentStdRationLibID();
             let libIDs = rationLibObj.getStdRationLibIDs();
-            let firstLibID = rationLibObj.getFirstStdRationLibID();
+            let defaultLibID = rationLibObj.getDefaultStdRationLibID();
             let engineering = projectInfoObj.projectInfo.property.engineering;
             let projectID = projectInfoObj.projectInfo.ID;
             let project = projectObj.project;
@@ -406,7 +406,7 @@ var Ration = {
             }
             let calQuantity = optionsOprObj.getOption(optionsOprObj.optionsTypes.GENERALOPTS, 'rationQuanACToBillsQuan');
             $.bootstrapLoading.start();
-            CommonAjax.post("/ration/replaceRations",{nodeInfo:nodeInfo,libIDs:libIDs,firstLibID: firstLibID,projectID:projectID,calQuantity:calQuantity},function (data) {
+            CommonAjax.post("/ration/replaceRations",{nodeInfo:nodeInfo,libIDs:libIDs,defaultLibID: defaultLibID,projectID:projectID,calQuantity:calQuantity},function (data) {
                 for(let recode of data){
                    let node =  mainTree.getNodeByID(recode.ration.ID);
                    if(node) {
@@ -486,7 +486,7 @@ var Ration = {
                             brUpdate.push({projectID:newData.projectID,ID:br[i].ID,serialNo:br[i].serialNo});
                         }
                     }
-                    newDatas.push({itemQuery: items[i].itemQuery, newData: newData, firstLibID: rationLibObj.getFirstStdRationLibID(), calQuantity: calQuantity, brUpdate: brUpdate, needInstall: needInstall})
+                    newDatas.push({itemQuery: items[i].itemQuery, newData: newData, defaultLibID: rationLibObj.getDefaultStdRationLibID(), calQuantity: calQuantity, brUpdate: brUpdate, needInstall: needInstall})
                 }
                 let showLoding = true;
                 $.bootstrapLoading.start();
@@ -593,7 +593,7 @@ var Ration = {
                     needInstall = project.Bills.isFBFX(billsNode);//在分部分项插入的定额才需要定额安装增加费
                 }
                 $.bootstrapLoading.start();
-                CommonAjax.post("/ration/addNewRation",{itemQuery:itemQuery,newData:newData,firstLibID: rationLibObj.getFirstStdRationLibID(),calQuantity:calQuantity,brUpdate:brUpdate,needInstall:needInstall},function (data) {
+                CommonAjax.post("/ration/addNewRation",{itemQuery:itemQuery,newData:newData,defaultLibID: rationLibObj.getDefaultStdRationLibID(),calQuantity:calQuantity,brUpdate:brUpdate,needInstall:needInstall},function (data) {
                     //更新缓存
                     me.datas.push(data.ration);
                     project.ration_glj.addDatasToList(data.ration_gljs);
@@ -674,7 +674,7 @@ var Ration = {
                 newNode = project.mainTree.insert(billItemID, nextID, newID);
                 newNode.sourceType = project.Ration.getSourceType();
                 newNode.data = newData;
-                CommonAjax.post("/ration/addNewRation",{itemQuery:null,newData:newData,firstLibID: rationLibObj.getFirstStdRationLibID(),calQuantity:false,brUpdate:brUpdate,needInstall:false},function (data) {
+                CommonAjax.post("/ration/addNewRation",{itemQuery:null,newData:newData,defaultLibID: rationLibObj.getDefaultStdRationLibID(),calQuantity:false,brUpdate:brUpdate,needInstall:false},function (data) {
                     //更新缓存
                     me.datas.push(data.ration);
                     //插入树节点
@@ -827,8 +827,8 @@ var Ration = {
             }
         } ;
         //获取定额前缀
-        ration.prototype.getRationPrefix = function(firstLibID, ration){
-            if(firstLibID !== ration.libID){
+        ration.prototype.getRationPrefix = function(defaultLibID, ration){
+            if(defaultLibID !== ration.libID){
                 return rationPrefix.borrow;
             }
             if(ration.from && ration.from === rationFrom.cpt){

+ 15 - 1
web/building_saas/main/js/views/std_ration_lib.js

@@ -45,7 +45,11 @@ var rationLibObj = {
         ration_lib.forEach(function (data) {
             let option = $('<option>').val(data.id).text(data.name);
             //select.append($('<option>').val(data.id).text(data.name));
-            if(selectedRationLib && data.id == selectedRationLib){
+            if(selectedRationLib){
+                if(data.id == selectedRationLib){
+                    option.attr('selected', 'selected');
+                }
+            }else if(data.isDefault == true){
                 option.attr('selected', 'selected');
             }
             select.append(option);
@@ -386,6 +390,16 @@ var rationLibObj = {
             return null;
         }
         return parseInt(projectInfoObj.projectInfo.engineeringInfo.ration_lib[0].id);
+    },
+    getDefaultStdRationLibID:function(){
+        let ration_lib = projectInfoObj.projectInfo.engineeringInfo.ration_lib;
+        if(ration_lib.length === 0){
+            alert('当前项目无定额库,请添加定额库。');
+            return null;
+        }
+        let defaultLib = _.find(ration_lib,{'isDefault':true});
+        let libID = defaultLib?defaultLib.id:ration_lib[0].id;
+        return parseInt(libID);
     }
 };