Browse Source

1. 导入Excel清单Bug
2. 台账审核页面Bug

MaiXinRong 6 years atrás
parent
commit
cf017f563c

+ 3 - 2
app/controller/ledger_audit_controller.js

@@ -66,7 +66,7 @@ module.exports = app => {
                 const [ledgerSpread, posSpread] = this._getSpreadSetting();
                 const [ledgerSpread, posSpread] = this._getSpreadSetting();
 
 
                 const curAuditor = await ctx.service.ledgerAudit.getCurAuditor(ctx.tender.id, ctx.tender.data.ledger_times);
                 const curAuditor = await ctx.service.ledgerAudit.getCurAuditor(ctx.tender.id, ctx.tender.data.ledger_times);
-                if (!curAuditor && ctx.tender.data.ledger_status !== auditConst.status.checkNo) {
+                if (!curAuditor && (ctx.tender.data.ledger_status !== auditConst.status.checkNo && ctx.tender.data.ledger_status !== auditConst.status.checked)) {
                     throw '审核信息错误';
                     throw '审核信息错误';
                 }
                 }
 
 
@@ -88,7 +88,7 @@ module.exports = app => {
                     }
                     }
                 }
                 }
 
 
-                const ledgerData = await ctx.service.ledger.getDataByTenderId(ctx.tender.id);
+                const ledgerData = await ctx.service.ledger.getDataByTenderId(ctx.tender.id, -1);
                 renderData.curAuditor = curAuditor;
                 renderData.curAuditor = curAuditor;
                 renderData.auditConst = auditConst;
                 renderData.auditConst = auditConst;
                 renderData.auditors = auditors;
                 renderData.auditors = auditors;
@@ -100,6 +100,7 @@ module.exports = app => {
                 await this.layout('ledger/audit.ejs', renderData, 'ledger/audit_modal.ejs');
                 await this.layout('ledger/audit.ejs', renderData, 'ledger/audit_modal.ejs');
             } catch (err) {
             } catch (err) {
                 this.log(err);
                 this.log(err);
+                console.log(err);
                 ctx.redirect('/tender/' + ctx.tender.id);
                 ctx.redirect('/tender/' + ctx.tender.id);
             }
             }
         }
         }

+ 5 - 4
app/service/ledger.js

@@ -1665,7 +1665,7 @@ module.exports = app => {
                     };
                     };
                     qd.full_path = selectData.full_path + '.' + qd.ledger_id;
                     qd.full_path = selectData.full_path + '.' + qd.ledger_id;
                     const precision = this.ctx.helper.findPrecision(this.ctx.tender.info.precision, qd.unit);
                     const precision = this.ctx.helper.findPrecision(this.ctx.tender.info.precision, qd.unit);
-                    this.ctx.helper.checkPrecision(qd, qtyFields, precision.value);
+                    this.ctx.helper.checkFieldPrecision(qd, qtyFields, precision.value);
                     const insertResult = await this.transaction.insert(this.tableName, qd);
                     const insertResult = await this.transaction.insert(this.tableName, qd);
                     newIds.push(insertResult.insertId);
                     newIds.push(insertResult.insertId);
                     await this.ctx.service.pos.insertLedgerPosData(this.transaction, tenderId, insertResult.insertId, data[i].pos);
                     await this.ctx.service.pos.insertLedgerPosData(this.transaction, tenderId, insertResult.insertId, data[i].pos);
@@ -1734,7 +1734,7 @@ module.exports = app => {
                     };
                     };
                     qd.full_path = parentData.full_path + '.' + qd.ledger_id;
                     qd.full_path = parentData.full_path + '.' + qd.ledger_id;
                     const precision = this.ctx.helper.findPrecision(this.ctx.tender.info.precision, qd.unit);
                     const precision = this.ctx.helper.findPrecision(this.ctx.tender.info.precision, qd.unit);
-                    this.ctx.helper.checkPrecision(qd, qtyFields, precision.value);
+                    this.ctx.helper.checkFieldPrecision(qd, qtyFields, precision.value);
                     const insertResult = await this.transaction.insert(this.tableName, qd);
                     const insertResult = await this.transaction.insert(this.tableName, qd);
                     newIds.push(insertResult.insertId);
                     newIds.push(insertResult.insertId);
                     await this.ctx.service.pos.insertLedgerPosData(this.transaction, tenderId, insertResult.insertId, data[i].pos);
                     await this.ctx.service.pos.insertLedgerPosData(this.transaction, tenderId, insertResult.insertId, data[i].pos);
@@ -1812,14 +1812,15 @@ module.exports = app => {
                 drawing_code: node.drawing_code,
                 drawing_code: node.drawing_code,
             };
             };
             const precision = this.ctx.helper.findPrecision(this.ctx.tender.info.precision, data.unit);
             const precision = this.ctx.helper.findPrecision(this.ctx.tender.info.precision, data.unit);
-            this.ctx.helper.checkPrecision(data, qtyFields, precision.value);
+            this.ctx.helper.checkFieldPrecision(data, qtyFields, precision.value);
             const result = await transaction.insert(this.tableName, data);
             const result = await transaction.insert(this.tableName, data);
+            data.id = result.insertId;
             if (node.children && node.children.length > 0) {
             if (node.children && node.children.length > 0) {
                 for (const child of node.children) {
                 for (const child of node.children) {
                     await this._importCacheTreeNode(transaction, child);
                     await this._importCacheTreeNode(transaction, child);
                 }
                 }
             } else if (node.pos && node.pos.length > 0) {
             } else if (node.pos && node.pos.length > 0) {
-                await this.ctx.service.pos.insertLedgerPosData(transaction, this.ctx.tender.id, result.insertId, node.pos);
+                await this.ctx.service.pos.insertLedgerPosDataExcel(transaction, this.ctx.tender.id, data, node.pos);
             }
             }
         }
         }
 
 

+ 16 - 0
app/service/pos.js

@@ -150,6 +150,22 @@ module.exports = app => {
             }
             }
             await transaction.insert(this.tableName, data);
             await transaction.insert(this.tableName, data);
         }
         }
+
+        async insertLedgerPosDataExcel(transaction, tid, bills, data) {
+            const precision = this.ctx.helper.findPrecision(this.ctx.tender.info.precision, bills.unit);
+            for (const d of data) {
+                d.tid = tid;
+                d.lid = bills.id;
+                // todo 新增期
+                d.add_stage = 0;
+                d.add_times = 0;
+                d.add_user = this.ctx.session.sessionUser.accountId;
+                if (d.quantity) {
+                    d.quantity = this._.round(d.quantity, precision.value);
+                }
+            }
+            await transaction.insert(this.tableName, data);
+        }
     }
     }
 
 
     return Pos;
     return Pos;

+ 1 - 1
app/view/ledger/audit.ejs

@@ -26,7 +26,7 @@
         <div class="row w-100 sub-content">
         <div class="row w-100 sub-content">
             <!--左栏-->
             <!--左栏-->
             <div class="c-body col-12">
             <div class="c-body col-12">
-                <div class="sjs-height-0" id="ledger-spread">
+                <div class="sjs-height-1" id="ledger-spread">
                 </div>
                 </div>
                 <% if (tender.measure_type === measureType.tz.value) { %>
                 <% if (tender.measure_type === measureType.tz.value) { %>
                 <div class="bcontent-wrap">
                 <div class="bcontent-wrap">