Przeglądaj źródła

导入原始数据,提示便于复制

zhongzewei 6 lat temu
rodzic
commit
775faf33f6

+ 3 - 4
modules/ration_repository/controllers/ration_repository_controller.js

@@ -195,12 +195,11 @@ class RationRepositoryController extends baseController {
                 if (sheet[0] === undefined || sheet[0].data === undefined) {
                     throw 'excel没有对应数据';
                 }
-                const result = type === 'source_file' ?
+                const failGLJList = type === 'source_file' ?
                     await rationItem.batchAddFromExcel(rationRepId, sheet[0].data) :
                     await rationItem.batchUpdateSectionIdFromExcel(sheet[0].data);
-                if (rationItem.failGLJList && rationItem.failGLJList.length > 0) {
-                    responseData.msg = rationItem.failGLJList.join("\r\n");
-                    rationItem.failGLJList = [];
+                if (Array.isArray(failGLJList) && failGLJList.length > 0) {
+                    responseData.msg = failGLJList.join("<br/>");
                 }
                 // 删除文件
                 if(uploadFullName && fs.existsSync(uploadFullName)){

+ 13 - 7
modules/ration_repository/models/ration_item.js

@@ -810,12 +810,14 @@ rationItemDAO.prototype.batchAddFromExcel = async function(rationRepId, data) {
         stdGLJListByID[tmp.ID] = tmp;
     }
     let lastData = {};
+    // 定额xx下提示的次数
+    let lastFailCount = 0;
     const rationData = [];
     // 编码列表,用于查找库中是否有对应数据
     let rationCodeList = [];
     let gljCodeList = [];
     // 插入失败的工料机列表(用于提示)
-    this.failGLJList = [];
+    let failGLJList = [];
     for (const tmp of data) {
         if (tmp.length <= 0) {
             continue;
@@ -824,8 +826,12 @@ rationItemDAO.prototype.batchAddFromExcel = async function(rationRepId, data) {
         if (tmp[0] === undefined && Object.keys(lastData).length > 0) {
             // 如果不存在对应的工料机库数据则跳过
             if (stdGLJList[tmp[1]] === undefined) {
-                const failString = '定额' + lastData.code + '下的' + tmp[1];
-                this.failGLJList.push(failString);
+                if (lastFailCount === 0) {
+                    failGLJList.push('定额' + lastData.code + '下的');
+                    lastFailCount++;
+                }
+                //const failString = '定额' + lastData.code + '下的' + tmp[1];
+                failGLJList.push(tmp[1]);
                 continue;
             }
             const tmpRationGlj = {
@@ -843,7 +849,7 @@ rationItemDAO.prototype.batchAddFromExcel = async function(rationRepId, data) {
         if (tmp[0] === '定额' && Object.keys(lastData).length > 0) {
             rationData.push(lastData);
         }
-
+        lastFailCount = 0;
         // 组装数据
         lastData = {
             code: tmp[1],
@@ -901,7 +907,7 @@ rationItemDAO.prototype.batchAddFromExcel = async function(rationRepId, data) {
     }
     // 如果都已经存在,直接返回
     if (insertData.length <= 0) {
-        return true;
+        return failGLJList;
     }
     //计算价格
     for(let ration of insertData){
@@ -919,8 +925,8 @@ rationItemDAO.prototype.batchAddFromExcel = async function(rationRepId, data) {
         count++;
     }
     // 插入数据库
-    const result = await rationItemModel.create(insertData);
-    return result.length > 0;
+    await rationItemModel.create(insertData);
+    return failGLJList;
 };
 
 /**

+ 1 - 0
web/maintain/ration_repository/main.html

@@ -307,6 +307,7 @@
     <script src="/lib/tether/tether.min.js"></script>
     <script src="/lib/bootstrap/bootstrap.min.js"></script>
     <script src="/public/web/PerfectLoad.js"></script>
+    <script src="/public/web/commonAlert.js"></script>
     <script src="/web/maintain/ration_repository/js/global.js"></script>
     <script src="/public/web/common_ajax.js"></script>
     <!-- zTree -->