From 714afc59c640800b22ad5f0ffd6d2010fcfa3464 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期四, 23 六月 2022 15:17:11 +0800 Subject: [PATCH] # --- static/js/object/CrnTask.js | 264 +++++++++++++++++++++++++++++++++------------------- 1 files changed, 167 insertions(+), 97 deletions(-) diff --git a/static/js/object/CrnTask.js b/static/js/object/CrnTask.js index b85ef13..ea833f3 100644 --- a/static/js/object/CrnTask.js +++ b/static/js/object/CrnTask.js @@ -4,12 +4,20 @@ const zOffset = -480; const xOffset0 = -1735; -const yOffset0 = -108; +const yOffset0 = -117; const zOffset0 = -480; const xOffset1 = -1735; -const yOffset1 = -107; +const yOffset1 = -116; const zOffset1 = -475; + +const palletX = -18; +const palletY = 2; +const palletZ = -46; + +const goodsX = -17; +const goodsY = 5; +const goodsZ = -6; // 鍫嗗灈鏈哄綋鍓嶈繍琛岀姸鎬佸璞� function CrnTask(crnData, object) { @@ -25,6 +33,7 @@ that.preZ = 0; that.prePosition = null; that.preForkPos = -1; // -1, "涓嶅湪瀹氫綅" 0, "璐у弶鍘熶綅" 1, "璐у弶鍦ㄥ乏渚ц繙" 2, "璐у弶鍦ㄥ乏渚�" 3, "璐у弶鍦ㄥ彸渚�" 4, "璐у弶鍦ㄥ彸渚ц繙" + that.preLoadPos = -1; // 褰撳墠鏁版嵁 that.bay = 1 ; that.lev = 1 ; @@ -33,10 +42,18 @@ that.z = 0; that.position = null; that.forkPos = -1; + that.loadPos = -1; that.crnBody = null; that.crnLoad = null; that.crnFork = null; + + that.pallet = null; + that.goods = null; + + that.wrkNo = null; + that.sourceLocNo = null; + that.locNo = null; let curves = []; @@ -49,110 +66,158 @@ that.z = crnData.position.z; that.position = crnData.position; that.forkPos = crnData.forkPos; + that.loadPos = crnData.loadPos; that.crnBody = getArrVal(object.objects, "name", that.crnNo + "-body"); that.crnLoad = getArrVal(object.objects, "name", that.crnNo + "-load"); that.crnFork = getArrVal(object.objects, "name", that.crnNo + "-fork"); + + if (that.crnBody===null || that.crnLoad===null || that.crnFork==null) { + // console.log(that.crnNo + "鍙峰爢鍨涙満娌℃湁鍒濆鍖�"); + } }; init(); that.modify = function (crnData) { - if (that.run || that.crnNo === 0 || that.crnBody===null || that.crnLoad===null || that.crnFork==null) { - // console.log(that.crnNo + "鍙峰爢鍨涙満鏇存柊澶辫触"); + if (that.run || that.crnNo === 0) { + console.error(that.crnNo + "鍙峰爢鍨涙満鏇存柊澶辫触"); + return; + } + if (that.crnBody===null) { + that.crnBody = getArrVal(object.objects, "name", that.crnNo + "-body"); + return; + } + if (that.crnLoad===null) { + that.crnLoad = getArrVal(object.objects, "name", that.crnNo + "-load"); + return; + } + if (that.crnFork===null) { + that.crnFork = getArrVal(object.objects, "name", that.crnNo + "-fork"); + return; + } + + // 鍑哄簱 / 绉诲簱 + if (crnData.sourceLocNo != null) { + that.pallet = getArrVal(object.objects, "name", crnData.sourceLocNo + "-Pallet"); + that.goods = getArrVal(object.objects, "name", crnData.sourceLocNo + "-Goods"); } else { - if (JSON.stringify(crnData.position) === JSON.stringify(that.position)) { - return; + // 鍏ュ簱 + if (crnData.wrkNo != null) { + that.pallet = getArrVal(object.objects, "name", crnData.wrkNo + "-Pallet"); + that.goods = getArrVal(object.objects, "name", crnData.wrkNo + "-Goods"); } - that.run = true; - // 涓婁竴娆� - that.preBay = that.bay; - that.preLev = that.lev; - that.preX = that.x; - that.preY = that.y; - that.preY = that.y; - that.prePosition = JSON.parse(JSON.stringify(that.position)); - that.preForkPos = that.forkPos; - // 褰撳墠 - that.bay = crnData.bay; - that.lev = crnData.lev; - that.x = crnData.position.x; - that.y = crnData.position.y; - that.z = crnData.position.z; - that.position = crnData.position; - that.forkPos = crnData.forkPos; + } - // create Route ------------------------------------------------ + if (JSON.stringify(crnData.position) === JSON.stringify(that.position)) { + return; + } + that.run = true; + // 涓婁竴娆� + that.preBay = that.bay; + that.preLev = that.lev; + that.preX = that.x; + that.preY = that.y; + that.preZ = that.z; + that.prePosition = JSON.parse(JSON.stringify(that.position)); + that.preForkPos = that.forkPos; + that.preLoadPos = that.loadPos; + // 褰撳墠 + that.bay = crnData.bay; + that.lev = crnData.lev; + that.x = crnData.position.x; + that.y = crnData.position.y; + that.z = crnData.position.z; + that.position = crnData.position; + that.forkPos = crnData.forkPos; + that.loadPos = crnData.loadPos; + that.sourceLocNo = crnData.sourceLocNo; + that.locNo = crnData.locNo; + that.wrkNo = crnData.wrkNo; - // 鍫嗗灈鏈哄弶鐗� 浼稿弶 - if (that.prePosition.x !== that.position.x) { - curves.push({ - start: false, - progress: 0, - part: 'fork', - route: new Route([ - { - x: that.prePosition.x, - y: that.crnFork.position.y, - z: that.crnFork.position.z - }, - { - x: that.position.x, - y: that.crnFork.position.y, - z: that.crnFork.position.z - } - ]) - }) + // 鏍规嵁璐у弶涓婁笅瀹氫綅 鍒ゆ柇鍫嗗灈鏈哄彇鏀捐揣浣滀笟 ----------------------------------------------- + + // 涓婂畾浣� ===>> 涓嬪畾浣� 鏀捐揣瀹屾垚 + if (that.preLoadPos === 1 && that.loadPos === 0) { + // 鍏ュ簱 / 绉诲簱 + if (that.locNo != null) { + if (that.pallet != null) { + that.pallet.name = that.locNo + "-Pallet"; + } + if (that.goods != null) { + that.goods.name = that.locNo + "-Goods"; + } + } else { + // 鍑哄簱 + if (crnData.wrkNo != null) { + if (that.pallet != null) { + that.pallet.name = crnData.wrkNo + "-Pallet"; + } + if (that.goods != null) { + that.goods.name = crnData.wrkNo + "-Goods"; + } + } } - - // 鍫嗗灈鏈鸿浇璐у彴鍜屽弶鐗� 绉诲姩 - if (that.prePosition.z !== that.position.z || that.prePosition.y !== that.position.y) { - curves.push({ - start: false, - progress: 0, - part: 'load', - route: new Route([ - { - x: that.crnLoad.position.x, - y: that.prePosition.y, - z: that.prePosition.z - }, - { - x: that.crnLoad.position.x, - y: that.position.y, - z: that.position.z - } - ]) - }) - } - - // 鍫嗗灈鏈烘湰浣撹繍鍔ㄨ建杩� - if (that.prePosition.z !== that.position.z && false) { - curves.push({ - start: false, - progress: 0, - part: 'body', - route: new Route([ - { - x: that.crnBody.position.x, - y: that.crnBody.position.y, - z: that.prePosition.z - }, - { - x: that.crnBody.position.x, - y: that.crnBody.position.y, - z: that.position.z - } - ]) - }) - } - - curves.map((value, index) => { - console.log(value.part + " --> " + JSON.stringify(value.route.points)) - }); - - curves[0].start = true; + // 涓嬪畾浣� ===>> 涓婂畾浣� 鍙栬揣瀹屾垚 + } else { } + + // create Route ------------------------------------------------ + + // 鍫嗗灈鏈哄弶鐗� 浼稿弶 + if (that.prePosition.x !== that.position.x) { + curves.push({ + start: false, + progress: 0, + part: 'fork', + loaded: crnData.loaded, + loadPos: crnData.loadPos, + route: new Route([ + { + x: that.prePosition.x, + y: that.crnFork.position.y, + z: that.crnFork.position.z + }, + { + x: that.position.x, + y: that.crnFork.position.y, + z: that.crnFork.position.z + } + ]) + }) + } + + // 鍫嗗灈鏈鸿浇璐у彴鍜屽弶鐗� 绉诲姩 + if (that.prePosition.z !== that.position.z || that.prePosition.y !== that.position.y) { + curves.push({ + start: false, + progress: 0, + part: 'load', + loaded: crnData.loaded, + loadPos: crnData.loadPos, + route: new Route([ + { + x: that.crnLoad.position.x, + y: that.prePosition.y, + z: that.prePosition.z + }, + { + x: that.crnLoad.position.x, + y: that.position.y, + z: that.position.z + } + ]) + }) + } + + curves.map((value, index) => { + if (that.crnNo === 1) { + // console.log(value.part + " --> " + JSON.stringify(value.route.points)) + } + }); + + curves[0].start = true; + } that.move = function () { @@ -172,16 +237,21 @@ let point = curves[i].route.getPoint(curves[i].progress); if ( point && point.x ) { switch (curves[i].part) { - case 'body': - that.crnBody.position.set(point.x, point.y, point.z); - break case 'load': - that.crnBody.position.z = point.z + zOffset; - that.crnLoad.position.set(point.x, point.y + yOffset0, point.z + zOffset0); - that.crnFork.position.set(point.x, point.y + yOffset1, point.z + zOffset1); + that.crnBody.position.z = point.z + zOffset - that.crnBody.userData.crnBodyWidth/2; + that.crnLoad.position.set(point.x, point.y + yOffset0, point.z + zOffset0 - that.crnLoad.userData.crnLoadWidth/2 + 5); + that.crnFork.position.set(point.x, point.y + yOffset1, point.z + zOffset1 - that.crnLoad.userData.crnLoadWidth/2); + if (curves[i].loaded === 1 && that.pallet) { + that.pallet.position.set(point.x - xOffset + palletX, point.y + palletY, point.z + palletZ); + that.goods.position.set(point.x - xOffset + goodsX, point.y + goodsY, point.z + goodsZ); + } break case 'fork': that.crnFork.position.set(point.x + xOffset1, point.y, point.z); + if (curves[i].loadPos === 1 && that.pallet) { + that.pallet.position.setX(point.x + palletX); + that.goods.position.setX(point.x + goodsX); + } break default: break -- Gitblit v1.9.1