From cd7f3fa89aed4e7a4b87c0ee4164cd606103b318 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期二, 15 四月 2025 09:38:41 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/YiWuProject
---
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/mapper/EdgStorageCageDetailsMapper.java | 3
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OPCPlcSlicecage.java | 3
hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/mapper/HollowGlassOutRelationInfoMapper.xml | 29
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java | 3
hangzhoumesParent/common/servicebase/src/main/java/com/mes/largenscreen/entity/PieChartVO.java | 50
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageMapper.xml | 18
hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/request/OrderRequest.java | 42
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java | 6
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/mapper/HollowGlassOutRelationInfoMapper.java | 5
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/request/ReportWorkRequest.java | 38
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java | 4
hangzhoumesParent/common/servicebase/src/main/java/com/mes/largenscreen/service/impl/LargenScreenServiceImpl.java | 9
hangzhoumesParent/common/servicebase/src/main/java/com/mes/largenscreen/service/LargenScreenService.java | 6
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java | 5
hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/controller/OrderController.java | 13
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/ReportingWorkDetailController.java | 20
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageMapper.java | 3
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java | 6
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassOutRelationInfoServiceImpl.java | 6
UI-Project/src/lang/en.js | 1819 +++++++++++++++++-----------------
UI-Project/src/lang/zh.js | 9
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/dto/FlowCardPercentDTO.java | 102 +
hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java | 7
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/request/FlowCardRequest.java | 28
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/HollowGlassOutRelationInfoService.java | 3
hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/dto/OrderDTO.java | 12
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/dto/ReportWorkDTO.java | 67 +
hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/mapper/EdgStorageCageDetailsMapper.xml | 17
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java | 4
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java | 3
hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java | 14
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/FlowCardController.java | 9
UI-Project/src/views/largescreendisplay/screendisplay.vue | 774 +++++++++++--
hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java | 8
34 files changed, 2,082 insertions(+), 1,063 deletions(-)
diff --git a/UI-Project/src/lang/en.js b/UI-Project/src/lang/en.js
index 88f6710..2c58e51 100644
--- a/UI-Project/src/lang/en.js
+++ b/UI-Project/src/lang/en.js
@@ -1,910 +1,919 @@
-export default {
+export default {
"northglassMESsystem": "NorthGlass MES System",
- login:{
- userErr:'Please enter account number',
- pwErr:'Please input a password',
- user:'Account number',
- password:'Password',
- login:'Log on',
- loginSuccessful:'Log on was successful锛�',
- register:'Register',
- namea:'Name cannot be empty',
- len:'The length cannot exceed 16',
- passnull:'Password cannot be empty',
- leng:'The password length cannot be less than 6 or more than 16',
- spwn:'Confirm password cannot be empty',
- depass:'The two passwords are not the same',
- },
- register:{
- registerSuccessful:'login was successful',
- newuserregister:'New user register',
- name:'Full name锛�',
- inputname:'Please enter your name',
- password:'Password:',
- pwErr:'Please input a password',
- passwordation:'Confirm password:',
- pwErration:'Please confirm password',
- registration:'Registration Confirm',
- false:'Cancel',
- },
- main:{
- connectErr:'The server connection is abnormal. Please try again later',
- titleFirst:"Welcome ",
- titleLast:' to use NorthGlass MES system锛�',
- quit:"Exit",
- },
- basicData:{
- untask:'鏃犱换鍔�',
- tonumber:'涓婄墖鎬绘暟閲�',
- finishnumber:'宸插畬鎴愭暟閲�',
- rackreset:'鏋跺瓙澶嶄綅',
- prackreset:'鏄惁鏋跺瓙澶嶄綅锛�',
- printing:'鑷姩鎵撳嵃',
- laserprinting:'Laser printing machine ready status锛�',
- cuttingmachine:'Cutting machine ready status锛�',
- machine:'Online status of the loading table锛�',
- machineaa:'Manual state of the loading table锛�',
- selectproject:"Select project",
- startloading:'Start loading',
- stop:'Pause',
- yes:'Confirm',
- change:'Switch',
- projectnumber:'Project number',
- glasswidth:'Glass width',
- glassheight:'Glass height',
- coatingtypes:'Coating types',
- coatingtypesa:'Coating types锛�',
- quantity:'Quantity',
- quantitya:'Quantity锛�',
- thickness:'Thickness',
- thicknessa:'Thickness锛�',
- startstatus:'Start status',
- pass:'Pass',
- waiting:'Waiting',
- up:'Loading',
- finish:'Completed',
- project:'Project ',
- plselectproject:'Please select project',
- confirm:'Confirm',
- cancel:'Cancel',
- startfilm:'Whether start loading锛�',
- whetherpause:'Whether pause锛�',
- station:'Station',
- width:'Width',
- widtha:'Width锛�',
- height:'Height',
- heighta:'Height锛�',
- operate:'Operate',
- add:'Increase',
- delete:'Delete',
- addglass:'Add glass',
- selectwidth:'Please select width',
- selectheight:'Please select high',
- selectcoatingtypes:'Please select the coating types',
- selectthickness:'Please select thickness',
- selectquantity:'Please enter the quantity',
- pause:'The height of the second and fourth rows must be greater than 2700 in order to save锛�',
- pausea:'Please confirm the ready status of marking machine and cutting machine锛�',
- infonull:'Project number cannot be empty锛�',
- updatanull:'This project has not been saved to the loading list锛�',
- glassnull:'An error occurred while updating the glass status',
- deletemessage:'Do you want to delete this message?',
- layoutSequence:'Serial Number',
- },
- sorter:{
- onesort:'涓�绾挎幇鐗�',
- twosort:'浜岀嚎鎺扮墖',
- inPlace:'鍒颁綅',
- ninPlace:'鏈埌浣�',
- emptymissions:'绌轰换鍔�',
- advancetask:'杩涚墖浠诲姟',
- outputtasks:'鍑虹墖浠诲姟',
- schedulingtasks:'璋冨害浠诲姟',
- advancerequests:'杩涚墖璇锋眰',
- releaserequest:'鍑虹墖璇锋眰',
- straighttasks:'鐩撮�氫换鍔�',
- endingtask:'缁撴潫',
- another:'鍏朵粬',
- taskRunning:'浠诲姟璇锋眰',
- updateTime:'鏇存柊鏃堕棿',
- id:'纾ㄨ竟鍓嶇悊鐗囩琛↖D',
- remainWidth:'鍓╀綑',
- place:'鏄惁鍒颁綅',
- layernow:'褰撳墠灞傚彿',
- gridnumber:'Grid number',
- glassnumber:'Glass number',
- width:'Width',
- height:'Height',
- startstatus:'Start status',
- disable:'Disabled',
- start:'Enabled',
- deficiencieste:'Report deficiencies',
- updown:'Artificial filming',
- operate:'Operate',
- prompt:'Prompt',
- information:'Is the missing information reported锛�',
- infor:'Whether to manually download this information锛�',
- yes:'Yes',
- cancel:'Cancel',
- },
- order:{
- projectnumber:'璇疯緭鍏ュ伐绋嬪彿',
- dilapidation:'Breakage',
- takeaway:'Manual removal',
- takeawaya:'鏄惁浜哄伐鎷胯蛋璇ユ潯淇℃伅锛�',
- takeon:'The arrangement is complete',
- },
- searchOrder:{
- furnfullTemp:'鐜荤拑鎬婚噺',
- startCell:'鐩爣灞傚彿',
- endCell:'棰勭暀灞傚彿',
- begin:'寮�濮�',
- finish:'瀹屾垚',
- uncar:'鏈笂杞�',
- inkage:'杩涚墖',
- successfullyprocessed:'浠诲姟鎴愬姛澶勭悊',
- psuccessfullyprocessed:'鏄惁杩涜浠诲姟鎴愬姛澶勭悊锛�',
- taskfailure:'浠诲姟澶辫触澶勭悊',
- ptaskfailure:'鏄惁杩涜浠诲姟澶辫触澶勭悊锛�',
- totallogarithms:'鎬诲鏁�',
- numberpairs:'閰嶅鏁�',
- numberoccupied:'鍗犵敤鏍煎瓙鏁�',
- totalfurnaces:'鎬荤倝鏁�',
- cagesnumber:'绗煎唴鏁伴噺',
- slotnumber:'鍗犳湁鏍煎瓙鏁�',
- progress:'杩涘害%',
- whethersame:'鏄惁鐩稿悓',
- same:'鐩稿悓',
- notsame:'涓嶇浉鍚�',
- partask:'浠诲姟閲嶇疆',
- partasks:'鏄惁浠诲姟閲嶇疆锛�',
- empty:'榛樿绌轰换鍔�',
- historicaltasks:'鍘嗗彶浠诲姟',
- cagedetails:'绗煎唴璇︽儏',
- inkageEntity:'杩涚墖鑱旀満鐘舵�侊細',
- requestEntity:'杩涚墖璇锋眰鐘舵�侊細',
- mesReplyEntity:'鍚姩鍛戒护锛�',
- outInkageEntity:'鍑虹墖鑱旀満鐘舵�侊細',
- outRequestEntity:'鍑虹墖璇锋眰鐘舵�侊細',
- breakagn:'鏈牬鎹�',
- lacknumber:'缂虹墖鏁伴噺',
- processcard:'鎸囧畾娴佺▼鍗�',
- filminformation:'浜哄伐涓嬬墖淇℃伅',
- currentglassinformation:'鎵爜鏋綋鍓嶇幓鐠冧俊鎭�',
- printlabels:'鎵撳嵃鏍囩',
- deleteTask:'缁撴潫宸ョ▼',
- pdeleteTask:'鏄惁缁撴潫宸ョ▼锛�',
- searchlayout:'Non-tempered process card inquiry',
- fullfurnaces:'Number of full furnaces',
- specifiedproject:'The currently specified project',
- undesignate:'鍙栨秷閽㈠寲',
- allnumber:'Total quantity',
- numbercages:'Number of cages',
- missingquantity:'Missing quantity',
- breakquantity:'Breakage/Take Away quantity',
- ceng:'layer',
- cageinformation:'Sorter information',
- productionqueue:'Production queue',
- outputglassID:'Output glass ID',
- startposition:'Start position',
- targetlocation:'Target Position',
- trips:'Train number',
- number:'Serial Number',
- taskstatus:'Task state',
- filmenter:'Waiting for input glass',
- infilm:'In progress',
- endtask:'End task',
- completetask:'Complete the task',
- intoglassid:'Input glass ID',
- line:'Wire',
- Usage:'Usage rate',
- free:'Free(pieces)',
- addcage:'Add information on sorter',
- glassIDa:'Glass ID锛�',
- glassID:'Glass ID',
- inglassID:'Please enter the glass ID',
- pieceingrid:'The order of small pieces within the grid',
- pieceingrida:'The order of small pieces within the grid锛�',
- inpieceingrid:'Please enter the order of small pieces within the grid',
- cardnumber:'Process card number',
- cardnumbera:'Process card number锛�',
- incardnumber:'Please enter the process card number',
- typeglass:'Glass type',
- typeglassa:'Glass type锛�',
- intypeglass:'Please enter the glass type',
- width:'Width',
- widtha:'Width锛�',
- inwidth:'Please enter width',
- height:'Height',
- heighta:'Height锛�',
- inheight:'Please enter height',
- coatingtypes:'Coating types',
- thickness:'Thickness',
- thicknessa:'Thickness锛�',
- inthickness:'Please enter the thickness',
- layoutID:'Drawing ID of loading for tempering furnace',
- layoutIDa:'Drawing ID of loading for tempering furnace锛�',
- inlayoutID:'Please enter the drawing ID of loading for tempering furnace',
- picturesequence:'Drawing sequence of loading for tempering furnace',
- picturesequencea:'Drawing sequence of loading for tempering furnace锛�',
- inpicturesequence:'Please enter the drawing sequence of loading for tempering furnace',
- startstatus:'Start status',
- startstatusa:'Start status锛�',
- instartstatus:'Please enter the enabled status',
- glassgaps:'Glass gap',
- glassgapsa:'Glass gap锛�',
- inglassgaps:'Please enter the glass gap',
- sure:'Confirm',
- cancel:'Cancel',
- operate:'Operate',
- breakage:'Breakage',
- delete:'Delete',
- outfilm:'Output glass',
- cagetableID:'Sorter table ID',
- cagenumber:'Sorter number',
- gridnumber:'Grid number',
- gridnumbera:'Grid number锛�',
- grid:'Please enter a grid number',
- enable:'Enabled',
- disable:'Disabled',
- remainingwidth:'Remaining width',
- add:'Add',
- sheetID:'Tempered small piece information table ID',
- processcards:'Process card',
- processcardtype:'Process card glass type',
- acceptshorizontal:'Does tempering accept horizontal placement',
- xcoordinates:'x coordinate',
- ycoordinates:'Y coordinate',
- rotationangle:'Rotation angle (counterclockwise)',
- state:'Status',
- takeout:'Take away',
- deletemessage:'Do you want to delete this message?',
- prompt:'Prompt',
- yes:'Yes',
- accept:'Accept',
- noaccept:'Not accept',
- filmcomplete:'Glass output completed',
- waiting:'Waiting',
- broke:'Is this information damaged锛�',
- brokeb:'Do you need to delete the message锛�',
- outfil:'Whether the film is released or not锛�',
- inputid:'Please enter the glass ID',
- search:'Search',
- tabid:'Dali film cage details table ID',
- tid:'Device ID',
- tida:'Device ID锛�',
- fin:'Whether or not the task was completed锛�',
- sureadd:'Confirm the addition',
- sureadda:'Whether to confirm the addition锛�',
- zailong:'In a cage',
- rengongxp:'Artificial filming',
- up:'Previous',
- down:'Next',
- now:'The current page is displayed',
- tit:'data',
- temperingqueries:'Tempering queries',
- specifytempering:'Specify a furnace',
- specifyout:'鎸囧畾浜哄伐鍑虹墖',
- specifyengineerid:'Specify the project',
- projectnumber:'Project number',
- layoutnumber:'Drawing number of loading for tempering furnace',
- numberglasses:'Number of glasses',
- specifytemperinga:'璇风‘璁よ澶囨槸鍚﹀凡鍏抽棴MES鑱旀満锛�',
- temperedswitch:'Tempered switch',
- dutyinformation:'Duty information',
- process:'Process',
- team:'Team',
- basic:'equipment',
- makesure:'Confirm the save',
- temperingtotal:'Number of tempering furnaces锛�',
- glasstotal:'Total number of glasses锛�',
- Labelprinting:'鏍囩鎵撳嵃',
- Schedulingswitch:'璋冨害寮�鍏�',
- },
- workOrder:{
- upnumber:'涓婄墖浣嶇紪鍙�',
- coatingtypesbe:'鍘熺墖鑶滅郴',
- glassID:'Glass ID',
- height:'Height',
- width:'Width',
- thickness:'Thickness',
- coatingtypes:'Coating types',
- productionsequence:'Production sequence',
- cardnumber:'Process card number',
- operate:'Operate',
- messagedamaged:'Is this information damaged?',
- prompt:'Prompt',
- yes:'Yes',
- cancel:'Cancel',
- takemessage:'Do you need to delete the message锛�',
- breakage:'Breakage',
- takeout:'Take away',
- glasstype:'Glass type',
- line:'Wire',
- status:'Status',
- time:'Time period',
- cway:'Please select a route',
- cstate:'Please select a status',
- edgingone:'Edging a line',
- edgingtwo:'Edging two lines',
- nedging:'Unedging',
- edging:'Edging',
- finedging:'has been edging',
- },
- processCard:{
- intofurnace:'Entering the furnace',
- beforefurnace:'Before entering the furnace',
- outfurnace:'Glass finished from tempering furnace',
- print:'Take away the print',
- printing:'print',
- projectnumber:'Please enter the project number',
- inquire:'Inquire',
- project:'Project number',
- awayprocess:'Take away the process',
- awayequipment:'Take away the equipment',
- awayteam:'Take away the crew',
- flowcard:'Process card',
- layer:'Layer number',
- temperinglayout:'Heat number',
- temperingfeed:'Preface',
- width:'Width',
- height:'Height',
- thickness:'Thickness',
- glasstakeout:'Glass take away list',
- layoutID:'Drawing ID of loading for tempering furnace',
- glassID:'Glass ID',
- },
- reportWork:{
- details:'Drop off details',
- filming:'Artificial filming',
- printing:'Automatic printing',
- cenumber:'Number of layers',
- artificialorder:'The number of pieces under artificial order',
- processcard:'Print the process card',
- printlabels:'Print labels',
- information:'Landing information',
- cstation:'Please select a desk',
- all:'all',
- timeperiod:'Time period',
- stationnumber:'Station number',
- order:'order',
- filminformation:'Manual film information',
- glassmation:'Artificial film current glass information',
- barcodescanner:'The current glass information of the barcode scanner',
- lowerbit:'Unloading station',
- shelfnumber:'Rack number',
- cardnumber:'Process card number',
- totalquantity:'Total quantity',
- beendropped:'Quantity of unloaded glass',
- state:'Status',
- devicenumber:'Equipment No.',
- startstatus:'Start status',
- enable:'Start',
- unenable:'Unstart',
- operate:'Operate',
- bindingshelves:'Assigned rack',
- clear:'Clear',
- workstation:'Station No.',
- shelfnumbera:'Rack number锛�',
- cardnumbera:'Process card number锛�',
- incardnumber:'Please select the process card number',
- clearglass:'Clear the glass on the shelf',
- sure:'Operate',
- cancel:'Cancel',
- glassinformation:'Glass information',
- glassID:'Glass ID',
- coatingtypes:'Coating types',
- thickness:'Thickness',
- width:'Width',
- height:'Height',
- },
- productStock:{
- configName:'閰嶇疆鍚�',
- configCode:'閰嶇疆浠g爜',
- configValue:'閰嶇疆鍊�',
- addusers:'Add user',
- username:'User name',
- usernamea:'User name锛�',
- inusername:'Enter one user name',
- role:'Role',
- rolea:'Role锛�',
- inrole:'Please select a role',
- test:'Test',
- admin:'Administrator',
- operate:'Operate',
- resetpassword:'Reset password',
- exit:'Edit',
- delete:'Delete',
- prompt:'Prompt',
- repassword:'Do you want to reset the user password锛�',
- yes:'Yes',
- cancel:'Cancel',
- reusername:'Modify Users',
- addusername:'Add user',
- password:'Password锛�',
- sure:'Confirm',
- inpassword:'Please input a password',
- deusername:'Do you want to delete the user锛�',
- },
- customer:{
- addmenua:'Add secondary menus',
- addmenu:'Add a first-level menu',
- firstmenu:'First level menu bar',
- firstmenuname:'The name of the first-level menu:',
- link:'Link',
- inlink:'Please enter the link',
- linka:'Link锛�',
- sort:'Sort',
- insort:'Please enter sorting',
- sorta:'Sort锛�',
- operate:'Operate',
- exit:'Edit',
- delete:'Delete',
- semenu:'Secondary menu bar',
- semenuname:'Secondary menu name:',
- menu:'Menu bar锛�',
- inmenu:'Please enter a menu name',
- sure:'Confirm',
- cancel:'Cancel',
- exmene:'Modify the first-level menu',
- exmenea:'Modify the secondary menu',
- yes:'Yes',
- demenu:'Do you want to delete this menu锛�',
- prompt:'Prompt',
- },
- delivery:{
- addrole:'Add Role',
- editrole:'Modify role',
- role :'Role',
- rolea :'Role锛�',
- inrole :'Please enter the role',
- operate :'Operate',
- edit :'Edit',
- delete :'Delete',
- yes:'Yes',
- sure :'Confirm',
- cancel :'Cancel',
- derole :'Do you want to delete this role',
- prompt:'Prompt',
- choice:'Menu permissions锛�',
- inchoice:'Please select Menu Permissions',
- },
- replenish:{
- patchManagement:'Mesh management',
- },
- rework:{
- reworkManagement:'Rework management',
- addRework:"Rework added ",
- },
- role:{
- id:'ID',
- characterHomepage:'Character Home',
- },
- user:{
- userId:'User ID',
- userHomepage:'User Home',
- },
- orderBasicData:{
- order:'orders',
- orderType:'The type of order',
- },
- machine:{
- basicId:'Device number',
- basicName:'The name of the device',
- basicCategory:'The process in which it is located',
- tempering:'Steel',
- },
- report:{
- productionReport:'Production reports',
- workInProgressReport:'WIP report',
- },
- productionBasicData:{
- basicDataQuery :'Basic data query',
- },
- mainIngredient:{
- materialInformation :'Material information',
- },
- mainIngredientStock:{
- materialName :'The name of the item',
- createTime :'Return date',
- },
- large:{
- percent:'Percent',
- time: 'The time of the break',
- tionnumber: 'Order number',
- jobnumber: 'Job number',
- productionnumber: 'The production order number',
- cardnumber: 'Process card number',
- projectname: 'The name of the project',
- batch: 'batch',
- detailID: 'Detail ID',
- building: 'Building No',
- serialnumber: 'Order serial number',
- productname: 'Product name',
- serial: 'Process validation number',
- slicemarker: 'Frame marker (position)',
- numberpatches: 'Number of patches',
- width: 'Width',
- height: 'Height',
- shape: 'Shape',
- responsibleprocess: 'Responsible process',
- process: 'This process',
- numberfractions: 'The number of unfilled fractions',
- breakreason: 'The reason for the break',
- breaktype: 'Sub-break type',
- responsiblepersonnel: 'Responsible Personnel',
- responsiblequipment: 'Responsible Equipment',
- responsibleteam: 'Responsible team',
- area: 'Sub-broken area',
- inspector: 'Quality inspector',
- operate: 'Operate',
- mes: 'Detail',
- projectnumber: 'The project order number',
- brokeno: 'The report is broken and not filled',
- close: 'Shut down',
- orderId: 'Order ID',
- order: '璁㈠崟璇︽儏',
- customerName: 'The name of the customer',
- project: 'The name of the project',
- are: 'are',
- quantity: 'quantity',
- warehousing: 'State',
- deliveryDate: 'Delivery time',
- notstocked: 'Not yet in stock',
- inboundstatus: 'Partial inventory status',
- allstatus: 'All in stock status',
- completedquantity: 'Completed quantity',
- scrapquantity: 'Scrap Quantity',
- number: 'Quantity',
- method: 'Processing method',
- innumber: 'Quantity already entered',
- productstatus: 'Production status',
- right: 'normal',
- stop: 'termination',
- inquire: 'query',
- starttime :'Start Time',
- endtime :'End Time',
- loading :'In the process of uploading锛�',
- brokenNum:'brokenNum',
- inventory:'inventory',
- inventoryarea:'inventoryarea',
- shippedQuantity:'shippedQuantity',
- reportWorkQuantity:'reportWorkQuantity',
- reportWorkQuantityCount:'reporting_work_num_count',
- processId:'processId',
- historicaltasks1:'historicaltasks1',
- historicaltasks2:'historicaltasks2',
- historicaltasks3:'historicaltasks3',
- historicaltasks4:'historicaltasks4',
- historicaltasks5:'historicaltasks5',
- historicaltasks6:'historicaltasks6',
- historicaltasks7:'historicaltasks7',
- order:'order',
- date:'date',
- countOutOne:'countOutOne',
- totalAreaOutOne:'totalAreaOutOne',
- countOutTwo:'countOutTwo',
- totalAreaOutTwo:'totalAreaOutTwo',
- countIn:'countIn',
- totalAreaIn:'totalAreaIn',
- countOut:'countOut',
- totalAreaOut:'totalAreaOut',
- hollowCountOutOne:'hollowCountOutOne',
- hollowTotalAreaOutOne:'hollowTotalAreaOutOne',
- countOut:'countOut',
- hollowCountOutTwo:'hollowCountOutTwo',
- },
- reportmanage:{
- productiontime :'production time',
- starttime :'Start Time',
- endtime :'End Time',
- ctype :'Please select type',
- cstate :'Please select the status',
- cprocess :'Please select the process',
- all :'All',
- completed :'Completed',
- broke :'Damaged',
- takeout :'Takeout',
- dreportwork :'Unreported work',
- pendingwork :'Pending job application',
- reportwork :'Reported work',
- reportworked :'Reported worked',
- incise :'slicing',
- edging :'edging',
- steel :'toughened',
- inquire :'query',
- signingwork :'Reporting for work',
- reporteam :'Report work team',
- reportingequipment :'Reporting equipment',
- line :'line',
- process :'production processes',
- glassID :'Glass ID',
- projectnumber :'Project number',
- layoutID :'Tempered layout ID',
- type :'type',
- state :'state',
- processcards :'Flow Card',
- number :'Serial Number',
- layer :'storey',
- typebreakage :'Damage type',
- ptypebreakage :' Please select the type of damage',
- causebreakage :'Reason for damage',
- pcausebreakage :'Please select the reason for the damage',
- responsibleprocess :'Responsibility Process',
- responsiblepersonnel :'Responsible personnel',
- presponsiblepersonnel :'Please enter the responsible personnel',
- responsibleteam :'Responsible team',
- presponsibleteam :'Please select the responsible team',
- responsibleequipment :'Responsible equipment',
- presponsibleequipment :'Please select the responsible device',
- remark :'notes',
- premark :'Please enter a note',
- },
- film:{
- resetnumber:'鏋跺瓙鍙�',
- fail:'澶辫触',
- mes:'Original film storage details',
- warehousing:'store',
- pwarehousing:'鍏ュ簱璇锋眰',
- wareout:'鍘熺墖鍑哄簱',
- information:'鏄惁鍑哄簱璇ユ潯淇℃伅锛�',
- pwareout:'鍑哄簱璇锋眰',
- position:'鍚婅浣嶏細',
- cposition:'璇烽�夋嫨鍚婅浣�',
- position1:'鍚婅浣�1',
- position2:'鍚婅浣�2',
- addglass:'鍘熺墖淇℃伅',
- operate: 'Operate',
- exit:'Edit',
- delete:'Delete',
- outbound:'Outbound',
- deviceid:'device ID',
- enablestatea:'Enable tagging',
- disable:'Disable',
- start:'Enable',
- startslot:'Start workstation',
- endslot:'Target workstation',
- slotid:'Grid ID',
- slot:'鏍煎瓙鍙�',
- width:'Width',
- widtha:'Width锛�',
- inwidth:'Please enter width',
- height:'Height',
- inheight:'Please enter height',
- heighta:'Height锛�',
- thickness:'Thickness',
- inthickness:'Please enter thickness',
- thicknessa:'Thickness锛�',
- films:'Films',
- infilms:'Please enter films',
- filmsa:'Films锛�',
- createtime:'Creation time',
- remainquantity:'Remaining Quantity',
- thickremainquant:'Remaining quantity of original film (sheets)',
- thickremainquantity:'Remaining quantity of original film (sheets)锛�',
- inquantity:'Please enter the quantity',
- quantitya:'Number锛�',
- enableid:'Task ID',
- originateslot:'Starting grid',
- endoriginateslot:'鐩爣鏍煎瓙',
- patternquantity:'Number',
- enabletype:'Task Type',
- enablestate:'Workstation status',
- finish:'Completed',
- unfinish:'Incomplete',
- dedelete:'Do you want to delete this content锛�',
- dedisable:'Do you want to disable this content锛�',
- deoutbound:'Whether to release the content of this item from the warehouse锛�',
- selectwarehousing:'Please select the lifting position',
- inwarehousing:'Lifting position锛�',
- warehousing1:'Lifting position 1',
- warehousing2:'Lifting position 2',
- starttime :'Start Time',
- endtime :'End Time',
- taskstatus :'Status',
- built :'newly built',
- execution :'In progress',
- tasktype :'Task Type',
- stocke :'store',
- dispatch :'dispatch',
- inquire :'query',
- station :'station',
- },
- Mounting:{
- previewproject :'Select Preview Project',
- loadinglinea :'Upper film line',
- loadingline :'Upper film line锛�',
- inloadingline :'Please select the upper film line',
- oneloadingline :'Line 1 on film',
- twoloadingline :'Line 2 on film',
- waiting :'Waiting',
- pass: 'Pass',
- setparameters :'Set parameters',
- project :'Project number',
- projecta :'Project number锛�',
- width :'Width',
- height :'Height',
- thickness :'Thickness',
- projectnumber :'Project original piece number',
- state :'state',
- createtime :'Creation time',
- all :'Select All',
- removalmethod: '璇烽�夋嫨闄よ啘鏂瑰紡',
- removalmethodp: '闄よ啘鏂瑰紡',
- removalmethoda: '闄よ啘鏂瑰紡锛�',
- noremoval: '涓嶉櫎鑶�',
- removal: '闄よ啘',
- coarselyground: '绮楃(',
- finegrinding: '绮剧(',
- },
- hellow: {
- totalPairQuantitya: '浠诲姟鎬婚厤瀵规暟',
- pairQuantitya: '宸插嚭閰嶅鏁�',
- waitingout: '绛夊緟鍑虹墖',
- finishout: '鍑虹墖瀹屾垚',
- hollowSequence: '涓┖椤哄簭',
- isPair: '鏄惁閰嶅',
- no: '鍚�',
- listFormula: '閰嶆柟淇℃伅',
- HollowGlass: '闃熷垪淇℃伅',
- totalLayer: '鎬诲眰鏁�',
- totalPairQuantity: '鎬婚厤瀵规暟閲�',
- pairQuantity: '宸插畬鎴愰厤瀵规暟閲�',
- isForceList: '鏄惁寮哄埗',
- yesisForceList: '寮哄埗',
- noisForceList: '闈炲己鍒�',
- hollowCountOutOne: '涓┖涓�绾跨幓鐠冩暟閲�',
- hollowCountOutTwo: '涓┖浜岀嚎鐜荤拑鏁伴噺',
- hollowTotalAreaOutOne: '涓┖涓�绾跨幓鐠冮潰绉�',
- hollowTotalAreaOutTwo: '涓┖浜岀嚎鐜荤拑闈㈢Н',
- countIn: '閽㈠寲鍓嶅ぇ鐞嗙墖绗肩幓鐠冩暟閲�',
- countOut: '閽㈠寲鐜荤拑鏁伴噺',
- countOutOne: '鍒囧壊涓�绾跨幓鐠冩暟閲�',
- countOutTwo: '鍒囧壊浜岀嚎鐜荤拑鏁伴噺',
- totalAreaIn: '閽㈠寲鍓嶅ぇ鐞嗙墖绗肩幓鐠冮潰绉�',
- totalAreaOut: '閽㈠寲鐜荤拑闈㈢Н',
- totalAreaOutOne: '鍒囧壊涓�绾跨幓鐠冮潰绉�',
- totalAreaOutTwo: '鍒囧壊浜岀嚎鐜荤拑闈㈢Н',
- freeone: '涓�绾跨┖闂茬姸鎬侊細',
- freetwo: '浜岀嚎绌洪棽鐘舵�侊細',
- freethree: '涓夌嚎绌洪棽鐘舵�侊細',
- casFour: '姘斾綋4',
- casFourb: '姘斾綋4锛�',
- casFoura: '璇烽�夋嫨姘斾綋4',
- casOne: '姘斾綋1',
- casOneb: '姘斾綋1锛�',
- casOnea: '璇烽�夋嫨姘斾綋1',
- casThree: '姘斾綋3',
- casThreeb: '姘斾綋3锛�',
- casThreea: '璇烽�夋嫨姘斾綋3',
- casTwo: '姘斾綋2',
- casTwob: '姘斾綋2锛�',
- casTwoa: '璇烽�夋嫨姘斾綋2',
- Y: '鏈�',
- F: '鏃�',
- frameFour: '闂撮殧鏉�4',
- frameFourb: '闂撮殧鏉�4锛�',
- frameFoura: '璇疯緭鍏ラ棿闅旀澘4',
- frameOne: '闂撮殧鏉�1',
- frameOneb: '闂撮殧鏉�1锛�',
- frameOnea: '璇疯緭鍏ラ棿闅旀澘1',
- frameThree: '闂撮殧鏉�3',
- frameThreeb: '闂撮殧鏉�3锛�',
- frameThreea: '璇疯緭鍏ラ棿闅旀澘3',
- frameTwo: '闂撮殧鏉�2',
- frameTwob: '闂撮殧鏉�2锛�',
- frameTwoa: '璇疯緭鍏ラ棿闅旀澘2',
- intervalFrameHeightOne: '闂撮殧妗嗛珮搴�1',
- intervalFrameHeightTwo: '闂撮殧妗嗛珮搴�2',
- intervalFrameHeightThree: '闂撮殧妗嗛珮搴�3',
- intervalFrameHeightFour: '闂撮殧妗嗛珮搴�4',
- intervalFrameHeightaOne: '璇疯緭鍏ラ棿闅旀楂樺害1',
- intervalFrameHeightaTwo: '璇疯緭鍏ラ棿闅旀楂樺害2',
- intervalFrameHeightaThree: '璇疯緭鍏ラ棿闅旀楂樺害3',
- intervalFrameHeightaFour: '璇疯緭鍏ラ棿闅旀楂樺害4',
- intervalFrameHeightbOne: '闂撮殧妗嗛珮搴�1锛�',
- intervalFrameHeightbTwo: '闂撮殧妗嗛珮搴�2锛�',
- intervalFrameHeightbThree: '闂撮殧妗嗛珮搴�3锛�',
- intervalFrameHeightbFour: '闂撮殧妗嗛珮搴�4锛�',
- intervalFrameTypeOne: '闂撮殧妗嗙被鍨�1',
- intervalFrameTypeTwo: '闂撮殧妗嗙被鍨�2',
- intervalFrameTypeThree: '闂撮殧妗嗙被鍨�3',
- intervalFrameTypeFour: '闂撮殧妗嗙被鍨�4',
- intervalFrameTypecOne: '璇烽�夋嫨闂撮殧妗嗙被鍨�1',
- intervalFrameTypecTwo: '璇烽�夋嫨闂撮殧妗嗙被鍨�2',
- intervalFrameTypecThree: '璇烽�夋嫨闂撮殧妗嗙被鍨�3',
- intervalFrameTypecFour: '璇烽�夋嫨闂撮殧妗嗙被鍨�4',
- intervalFrameTypedOne: '闂撮殧妗嗙被鍨�1锛�',
- intervalFrameTypedTwo: '闂撮殧妗嗙被鍨�2锛�',
- intervalFrameTypedThree: '闂撮殧妗嗙被鍨�3锛�',
- intervalFrameTypedFour: '闂撮殧妗嗙被鍨�4锛�',
- intervalFrameTypea: 'tps鑳�',
- intervalFrameTypeb: '閾濋棿闅旀潯',
- intervalFrameWidthOne: '闂撮殧妗嗗搴�1',
- intervalFrameWidthTwo: '闂撮殧妗嗗搴�2',
- intervalFrameWidthThree: '闂撮殧妗嗗搴�3',
- intervalFrameWidthFour: '闂撮殧妗嗗搴�4',
- intervalFrameWidthaOne: '璇疯緭鍏ラ棿闅旀瀹藉害1',
- intervalFrameWidthaTwo: '璇疯緭鍏ラ棿闅旀瀹藉害2',
- intervalFrameWidthaThree: '璇疯緭鍏ラ棿闅旀瀹藉害3',
- intervalFrameWidthaFour: '璇疯緭鍏ラ棿闅旀瀹藉害4',
- intervalFrameWidthbOne: '闂撮殧妗嗗搴�1锛�',
- intervalFrameWidthbTwo: '闂撮殧妗嗗搴�2锛�',
- intervalFrameWidthbThree: '闂撮殧妗嗗搴�3锛�',
- intervalFrameWidthbFour: '闂撮殧妗嗗搴�4锛�',
- sealInsert: '瀵嗗皝宓屽叆',
- sealInsertb: '瀵嗗皝宓屽叆锛�',
- sealInserta: '璇疯緭鍏ュ瘑灏佸祵鍏�',
- hollowformula: '涓┖閰嶆柟',
- hollowformuldet: '鏄惁鍒犻櫎璇ヤ腑绌洪厤鏂癸紵',
- hollowtaskdet: '鏄惁鍒犻櫎璇ヤ换鍔★紵',
- taskdet: '鍒犻櫎浠诲姟',
- edithollowformula: '淇敼涓┖閰嶆柟',
- phollowformula: '璇烽�夋嫨涓┖閰嶆柟',
- hollowformulp: '涓┖閰嶆柟锛�',
- bottomRemove: '涓嬩晶闄よ啘閲忥細',
- bottomRemovep: '涓嬩晶闄よ啘閲�',
- bottomRemovea: '璇疯緭鍏ヤ笅渚ч櫎鑶滈噺',
- topRemove: '涓婁晶闄よ啘閲忥細',
- topRemovep: '涓婁晶闄よ啘閲�',
- topRemovea: '璇疯緭鍏ヤ笂渚ч櫎鑶滈噺',
- leftRemove: '宸︿晶闄よ啘閲忥細',
- leftRemovep: '宸︿晶闄よ啘閲�',
- leftRemovea: '璇疯緭鍏ュ乏渚ч櫎鑶滈噺',
- rightRemove: '鍙充晶闄よ啘閲忥細',
- rightRemovep: '鍙充晶闄よ啘閲�',
- rightRemovea: '璇疯緭鍏ュ彸渚ч櫎鑶滈噺',
- formulaNamep: '閰嶆柟鍚�',
- formulaName: '閰嶆柟鍚嶏細',
- formulaNamea: '璇疯緭鍏ラ厤鏂瑰悕',
- stopproject: '鏆傚仠浠诲姟',
- pstopproject: '鏄惁鏆傚仠浠诲姟锛�',
- reviewproject: '棰勮宸ョ▼',
- line: '绾胯矾',
- linea: '绾胯矾锛�',
- line1: '绾胯矾涓�',
- line2: '绾胯矾浜�',
- line3: '绾胯矾涓�',
- createtask: '鍒涘缓浠诲姟',
- starttask: '寮�濮嬩换鍔�',
- pstarttask: '鏄惁寮�濮嬩换鍔★紵',
- stoptask: '鍋滄浠诲姟',
- pstoptask: '鏄惁鍋滄浠诲姟锛�',
- currenttask: '褰撳墠浠诲姟锛�',
- claimednumber: '宸查鍙栭厤瀵规暟閲忥細',
- linenumber: '杩涘叆涓┖绾挎暟閲忥細',
- order: '鍑虹墖椤哄簭',
- flowCardId: '娴佺▼鍗�',
- thickness: '鍘氬害',
- coatingtypes: '鑶滅郴',
- layer: '灞傛暟',
- height: '闀�',
- width: '瀹�',
- state: '鐘舵��',
- cardnumber: '娴佺▼鍗″彿',
- cardnumbera: '娴佺▼鍗″彿锛�',
- layernumber: '灞傚彿',
- totalnumber: '鎬荤墖鏁�',
- pairsnumber: '宸查厤瀵规暟閲�',
- missingnumber: '缂虹墖鏁伴噺',
- damagenumber: '鐮存崯鏁伴噺',
- operate: '鎿嶄綔',
- claimquest: '棰嗗彇浠诲姟',
- pclaimquest: '鏄惁棰嗗彇浠诲姟锛�',
- missingfilms: '缂虹墖璇︽儏',
- forcedfilming: '寮哄埗鍑虹墖',
- pforcedfilming: '鏄惁寮哄埗鍑虹墖锛�',
- brokenpieces: '鐮存崯鐗囨暟',
- realpieces: '瀹為檯鐗囨暟',
- route: '璺嚎锛�',
- croute: '璇烽�夋嫨璺嚎',
- ptotalpairQuantity: '鎬婚厤瀵规暟閲忥細',
- cpairQuantity: '璇疯緭鍏ユ�婚厤瀵规暟閲�',
- schedulingswitch: '璋冨害寮�鍏�',
- },
- screendisplay:{
+ login: {
+ userErr: 'Please enter account number',
+ pwErr: 'Please input a password',
+ user: 'Account number',
+ password: 'Password',
+ login: 'Log on',
+ loginSuccessful: 'Log on was successful锛�',
+ register: 'Register',
+ namea: 'Name cannot be empty',
+ len: 'The length cannot exceed 16',
+ passnull: 'Password cannot be empty',
+ leng: 'The password length cannot be less than 6 or more than 16',
+ spwn: 'Confirm password cannot be empty',
+ depass: 'The two passwords are not the same',
+ },
+ register: {
+ registerSuccessful: 'login was successful',
+ newuserregister: 'New user register',
+ name: 'Full name锛�',
+ inputname: 'Please enter your name',
+ password: 'Password:',
+ pwErr: 'Please input a password',
+ passwordation: 'Confirm password:',
+ pwErration: 'Please confirm password',
+ registration: 'Registration Confirm',
+ false: 'Cancel',
+ },
+ main: {
+ connectErr: 'The server connection is abnormal. Please try again later',
+ titleFirst: "Welcome ",
+ titleLast: ' to use NorthGlass MES system锛�',
+ quit: "Exit",
+ },
+ basicData: {
+ untask: '鏃犱换鍔�',
+ tonumber: '涓婄墖鎬绘暟閲�',
+ finishnumber: '宸插畬鎴愭暟閲�',
+ rackreset: '鏋跺瓙澶嶄綅',
+ prackreset: '鏄惁鏋跺瓙澶嶄綅锛�',
+ printing: '鑷姩鎵撳嵃',
+ laserprinting: 'Laser printing machine ready status锛�',
+ cuttingmachine: 'Cutting machine ready status锛�',
+ machine: 'Online status of the loading table锛�',
+ machineaa: 'Manual state of the loading table锛�',
+ selectproject: "Select project",
+ startloading: 'Start loading',
+ stop: 'Pause',
+ yes: 'Confirm',
+ change: 'Switch',
+ projectnumber: 'Project number',
+ glasswidth: 'Glass width',
+ glassheight: 'Glass height',
+ coatingtypes: 'Coating types',
+ coatingtypesa: 'Coating types锛�',
+ quantity: 'Quantity',
+ quantitya: 'Quantity锛�',
+ thickness: 'Thickness',
+ thicknessa: 'Thickness锛�',
+ startstatus: 'Start status',
+ pass: 'Pass',
+ waiting: 'Waiting',
+ up: 'Loading',
+ finish: 'Completed',
+ project: 'Project ',
+ plselectproject: 'Please select project',
+ confirm: 'Confirm',
+ cancel: 'Cancel',
+ startfilm: 'Whether start loading锛�',
+ whetherpause: 'Whether pause锛�',
+ station: 'Station',
+ width: 'Width',
+ widtha: 'Width锛�',
+ height: 'Height',
+ heighta: 'Height锛�',
+ operate: 'Operate',
+ add: 'Increase',
+ delete: 'Delete',
+ addglass: 'Add glass',
+ selectwidth: 'Please select width',
+ selectheight: 'Please select high',
+ selectcoatingtypes: 'Please select the coating types',
+ selectthickness: 'Please select thickness',
+ selectquantity: 'Please enter the quantity',
+ pause: 'The height of the second and fourth rows must be greater than 2700 in order to save锛�',
+ pausea: 'Please confirm the ready status of marking machine and cutting machine锛�',
+ infonull: 'Project number cannot be empty锛�',
+ updatanull: 'This project has not been saved to the loading list锛�',
+ glassnull: 'An error occurred while updating the glass status',
+ deletemessage: 'Do you want to delete this message?',
+ layoutSequence: 'Serial Number',
+ },
+ sorter: {
+ onesort: '涓�绾挎幇鐗�',
+ twosort: '浜岀嚎鎺扮墖',
+ inPlace: '鍒颁綅',
+ ninPlace: '鏈埌浣�',
+ emptymissions: '绌轰换鍔�',
+ advancetask: '杩涚墖浠诲姟',
+ outputtasks: '鍑虹墖浠诲姟',
+ schedulingtasks: '璋冨害浠诲姟',
+ advancerequests: '杩涚墖璇锋眰',
+ releaserequest: '鍑虹墖璇锋眰',
+ straighttasks: '鐩撮�氫换鍔�',
+ endingtask: '缁撴潫',
+ another: '鍏朵粬',
+ taskRunning: '浠诲姟璇锋眰',
+ updateTime: '鏇存柊鏃堕棿',
+ id: '纾ㄨ竟鍓嶇悊鐗囩琛↖D',
+ remainWidth: '鍓╀綑',
+ place: '鏄惁鍒颁綅',
+ layernow: '褰撳墠灞傚彿',
+ gridnumber: 'Grid number',
+ glassnumber: 'Glass number',
+ width: 'Width',
+ height: 'Height',
+ startstatus: 'Start status',
+ disable: 'Disabled',
+ start: 'Enabled',
+ deficiencieste: 'Report deficiencies',
+ updown: 'Artificial filming',
+ operate: 'Operate',
+ prompt: 'Prompt',
+ information: 'Is the missing information reported锛�',
+ infor: 'Whether to manually download this information锛�',
+ yes: 'Yes',
+ cancel: 'Cancel',
+ },
+ order: {
+ projectnumber: '璇疯緭鍏ュ伐绋嬪彿',
+ dilapidation: 'Breakage',
+ takeaway: 'Manual removal',
+ takeawaya: '鏄惁浜哄伐鎷胯蛋璇ユ潯淇℃伅锛�',
+ takeon: 'The arrangement is complete',
+ },
+ searchOrder: {
+ furnfullTemp: '鐜荤拑鎬婚噺',
+ startCell: '鐩爣灞傚彿',
+ endCell: '棰勭暀灞傚彿',
+ begin: '寮�濮�',
+ finish: '瀹屾垚',
+ uncar: '鏈笂杞�',
+ inkage: '杩涚墖',
+ successfullyprocessed: '浠诲姟鎴愬姛澶勭悊',
+ psuccessfullyprocessed: '鏄惁杩涜浠诲姟鎴愬姛澶勭悊锛�',
+ taskfailure: '浠诲姟澶辫触澶勭悊',
+ ptaskfailure: '鏄惁杩涜浠诲姟澶辫触澶勭悊锛�',
+ totallogarithms: '鎬诲鏁�',
+ numberpairs: '閰嶅鏁�',
+ numberoccupied: '鍗犵敤鏍煎瓙鏁�',
+ totalfurnaces: '鎬荤倝鏁�',
+ cagesnumber: '绗煎唴鏁伴噺',
+ slotnumber: '鍗犳湁鏍煎瓙鏁�',
+ progress: '杩涘害%',
+ whethersame: '鏄惁鐩稿悓',
+ same: '鐩稿悓',
+ notsame: '涓嶇浉鍚�',
+ partask: '浠诲姟閲嶇疆',
+ partasks: '鏄惁浠诲姟閲嶇疆锛�',
+ empty: '榛樿绌轰换鍔�',
+ historicaltasks: '鍘嗗彶浠诲姟',
+ cagedetails: '绗煎唴璇︽儏',
+ inkageEntity: '杩涚墖鑱旀満鐘舵�侊細',
+ requestEntity: '杩涚墖璇锋眰鐘舵�侊細',
+ mesReplyEntity: '鍚姩鍛戒护锛�',
+ outInkageEntity: '鍑虹墖鑱旀満鐘舵�侊細',
+ outRequestEntity: '鍑虹墖璇锋眰鐘舵�侊細',
+ breakagn: '鏈牬鎹�',
+ lacknumber: '缂虹墖鏁伴噺',
+ processcard: '鎸囧畾娴佺▼鍗�',
+ filminformation: '浜哄伐涓嬬墖淇℃伅',
+ currentglassinformation: '鎵爜鏋綋鍓嶇幓鐠冧俊鎭�',
+ printlabels: '鎵撳嵃鏍囩',
+ deleteTask: '缁撴潫宸ョ▼',
+ pdeleteTask: '鏄惁缁撴潫宸ョ▼锛�',
+ searchlayout: 'Non-tempered process card inquiry',
+ fullfurnaces: 'Number of full furnaces',
+ specifiedproject: 'The currently specified project',
+ undesignate: '鍙栨秷閽㈠寲',
+ allnumber: 'Total quantity',
+ numbercages: 'Number of cages',
+ missingquantity: 'Missing quantity',
+ breakquantity: 'Breakage/Take Away quantity',
+ ceng: 'layer',
+ cageinformation: 'Sorter information',
+ productionqueue: 'Production queue',
+ outputglassID: 'Output glass ID',
+ startposition: 'Start position',
+ targetlocation: 'Target Position',
+ trips: 'Train number',
+ number: 'Serial Number',
+ taskstatus: 'Task state',
+ filmenter: 'Waiting for input glass',
+ infilm: 'In progress',
+ endtask: 'End task',
+ completetask: 'Complete the task',
+ intoglassid: 'Input glass ID',
+ line: 'Wire',
+ Usage: 'Usage rate',
+ free: 'Free(pieces)',
+ addcage: 'Add information on sorter',
+ glassIDa: 'Glass ID锛�',
+ glassID: 'Glass ID',
+ inglassID: 'Please enter the glass ID',
+ pieceingrid: 'The order of small pieces within the grid',
+ pieceingrida: 'The order of small pieces within the grid锛�',
+ inpieceingrid: 'Please enter the order of small pieces within the grid',
+ cardnumber: 'Process card number',
+ cardnumbera: 'Process card number锛�',
+ incardnumber: 'Please enter the process card number',
+ typeglass: 'Glass type',
+ typeglassa: 'Glass type锛�',
+ intypeglass: 'Please enter the glass type',
+ width: 'Width',
+ widtha: 'Width锛�',
+ inwidth: 'Please enter width',
+ height: 'Height',
+ heighta: 'Height锛�',
+ inheight: 'Please enter height',
+ coatingtypes: 'Coating types',
+ thickness: 'Thickness',
+ thicknessa: 'Thickness锛�',
+ inthickness: 'Please enter the thickness',
+ layoutID: 'Drawing ID of loading for tempering furnace',
+ layoutIDa: 'Drawing ID of loading for tempering furnace锛�',
+ inlayoutID: 'Please enter the drawing ID of loading for tempering furnace',
+ picturesequence: 'Drawing sequence of loading for tempering furnace',
+ picturesequencea: 'Drawing sequence of loading for tempering furnace锛�',
+ inpicturesequence: 'Please enter the drawing sequence of loading for tempering furnace',
+ startstatus: 'Start status',
+ startstatusa: 'Start status锛�',
+ instartstatus: 'Please enter the enabled status',
+ glassgaps: 'Glass gap',
+ glassgapsa: 'Glass gap锛�',
+ inglassgaps: 'Please enter the glass gap',
+ sure: 'Confirm',
+ cancel: 'Cancel',
+ operate: 'Operate',
+ breakage: 'Breakage',
+ delete: 'Delete',
+ outfilm: 'Output glass',
+ cagetableID: 'Sorter table ID',
+ cagenumber: 'Sorter number',
+ gridnumber: 'Grid number',
+ gridnumbera: 'Grid number锛�',
+ grid: 'Please enter a grid number',
+ enable: 'Enabled',
+ disable: 'Disabled',
+ remainingwidth: 'Remaining width',
+ add: 'Add',
+ sheetID: 'Tempered small piece information table ID',
+ processcards: 'Process card',
+ processcardtype: 'Process card glass type',
+ acceptshorizontal: 'Does tempering accept horizontal placement',
+ xcoordinates: 'x coordinate',
+ ycoordinates: 'Y coordinate',
+ rotationangle: 'Rotation angle (counterclockwise)',
+ state: 'Status',
+ takeout: 'Take away',
+ deletemessage: 'Do you want to delete this message?',
+ prompt: 'Prompt',
+ yes: 'Yes',
+ accept: 'Accept',
+ noaccept: 'Not accept',
+ filmcomplete: 'Glass output completed',
+ waiting: 'Waiting',
+ broke: 'Is this information damaged锛�',
+ brokeb: 'Do you need to delete the message锛�',
+ outfil: 'Whether the film is released or not锛�',
+ inputid: 'Please enter the glass ID',
+ search: 'Search',
+ tabid: 'Dali film cage details table ID',
+ tid: 'Device ID',
+ tida: 'Device ID锛�',
+ fin: 'Whether or not the task was completed锛�',
+ sureadd: 'Confirm the addition',
+ sureadda: 'Whether to confirm the addition锛�',
+ zailong: 'In a cage',
+ rengongxp: 'Artificial filming',
+ up: 'Previous',
+ down: 'Next',
+ now: 'The current page is displayed',
+ tit: 'data',
+ temperingqueries: 'Tempering queries',
+ specifytempering: 'Specify a furnace',
+ specifyout: '鎸囧畾浜哄伐鍑虹墖',
+ specifyengineerid: 'Specify the project',
+ projectnumber: 'Project number',
+ layoutnumber: 'Drawing number of loading for tempering furnace',
+ numberglasses: 'Number of glasses',
+ specifytemperinga: '璇风‘璁よ澶囨槸鍚﹀凡鍏抽棴MES鑱旀満锛�',
+ temperedswitch: 'Tempered switch',
+ dutyinformation: 'Duty information',
+ process: 'Process',
+ team: 'Team',
+ basic: 'equipment',
+ makesure: 'Confirm the save',
+ temperingtotal: 'Number of tempering furnaces锛�',
+ glasstotal: 'Total number of glasses锛�',
+ Labelprinting: '鏍囩鎵撳嵃',
+ Schedulingswitch: '璋冨害寮�鍏�',
+ },
+ workOrder: {
+ upnumber: '涓婄墖浣嶇紪鍙�',
+ coatingtypesbe: '鍘熺墖鑶滅郴',
+ glassID: 'Glass ID',
+ height: 'Height',
+ width: 'Width',
+ thickness: 'Thickness',
+ coatingtypes: 'Coating types',
+ productionsequence: 'Production sequence',
+ cardnumber: 'Process card number',
+ operate: 'Operate',
+ messagedamaged: 'Is this information damaged?',
+ prompt: 'Prompt',
+ yes: 'Yes',
+ cancel: 'Cancel',
+ takemessage: 'Do you need to delete the message锛�',
+ breakage: 'Breakage',
+ takeout: 'Take away',
+ glasstype: 'Glass type',
+ line: 'Wire',
+ status: 'Status',
+ time: 'Time period',
+ cway: 'Please select a route',
+ cstate: 'Please select a status',
+ edgingone: 'Edging a line',
+ edgingtwo: 'Edging two lines',
+ nedging: 'Unedging',
+ edging: 'Edging',
+ finedging: 'has been edging',
+ },
+ processCard: {
+ intofurnace: 'Entering the furnace',
+ beforefurnace: 'Before entering the furnace',
+ outfurnace: 'Glass finished from tempering furnace',
+ print: 'Take away the print',
+ printing: 'print',
+ projectnumber: 'Please enter the project number',
+ inquire: 'Inquire',
+ project: 'Project number',
+ awayprocess: 'Take away the process',
+ awayequipment: 'Take away the equipment',
+ awayteam: 'Take away the crew',
+ flowcard: 'Process card',
+ layer: 'Layer number',
+ temperinglayout: 'Heat number',
+ temperingfeed: 'Preface',
+ width: 'Width',
+ height: 'Height',
+ thickness: 'Thickness',
+ glasstakeout: 'Glass take away list',
+ layoutID: 'Drawing ID of loading for tempering furnace',
+ glassID: 'Glass ID',
+ },
+ reportWork: {
+ details: 'Drop off details',
+ filming: 'Artificial filming',
+ printing: 'Automatic printing',
+ cenumber: 'Number of layers',
+ artificialorder: 'The number of pieces under artificial order',
+ processcard: 'Print the process card',
+ printlabels: 'Print labels',
+ information: 'Landing information',
+ cstation: 'Please select a desk',
+ all: 'all',
+ timeperiod: 'Time period',
+ stationnumber: 'Station number',
+ order: 'order',
+ filminformation: 'Manual film information',
+ glassmation: 'Artificial film current glass information',
+ barcodescanner: 'The current glass information of the barcode scanner',
+ lowerbit: 'Unloading station',
+ shelfnumber: 'Rack number',
+ cardnumber: 'Process card number',
+ totalquantity: 'Total quantity',
+ beendropped: 'Quantity of unloaded glass',
+ state: 'Status',
+ devicenumber: 'Equipment No.',
+ startstatus: 'Start status',
+ enable: 'Start',
+ unenable: 'Unstart',
+ operate: 'Operate',
+ bindingshelves: 'Assigned rack',
+ clear: 'Clear',
+ workstation: 'Station No.',
+ shelfnumbera: 'Rack number锛�',
+ cardnumbera: 'Process card number锛�',
+ incardnumber: 'Please select the process card number',
+ clearglass: 'Clear the glass on the shelf',
+ sure: 'Operate',
+ cancel: 'Cancel',
+ glassinformation: 'Glass information',
+ glassID: 'Glass ID',
+ coatingtypes: 'Coating types',
+ thickness: 'Thickness',
+ width: 'Width',
+ height: 'Height',
+ },
+ productStock: {
+ configName: '閰嶇疆鍚�',
+ configCode: '閰嶇疆浠g爜',
+ configValue: '閰嶇疆鍊�',
+ addusers: 'Add user',
+ username: 'User name',
+ usernamea: 'User name锛�',
+ inusername: 'Enter one user name',
+ role: 'Role',
+ rolea: 'Role锛�',
+ inrole: 'Please select a role',
+ test: 'Test',
+ admin: 'Administrator',
+ operate: 'Operate',
+ resetpassword: 'Reset password',
+ exit: 'Edit',
+ delete: 'Delete',
+ prompt: 'Prompt',
+ repassword: 'Do you want to reset the user password锛�',
+ yes: 'Yes',
+ cancel: 'Cancel',
+ reusername: 'Modify Users',
+ addusername: 'Add user',
+ password: 'Password锛�',
+ sure: 'Confirm',
+ inpassword: 'Please input a password',
+ deusername: 'Do you want to delete the user锛�',
+ },
+ customer: {
+ addmenua: 'Add secondary menus',
+ addmenu: 'Add a first-level menu',
+ firstmenu: 'First level menu bar',
+ firstmenuname: 'The name of the first-level menu:',
+ link: 'Link',
+ inlink: 'Please enter the link',
+ linka: 'Link锛�',
+ sort: 'Sort',
+ insort: 'Please enter sorting',
+ sorta: 'Sort锛�',
+ operate: 'Operate',
+ exit: 'Edit',
+ delete: 'Delete',
+ semenu: 'Secondary menu bar',
+ semenuname: 'Secondary menu name:',
+ menu: 'Menu bar锛�',
+ inmenu: 'Please enter a menu name',
+ sure: 'Confirm',
+ cancel: 'Cancel',
+ exmene: 'Modify the first-level menu',
+ exmenea: 'Modify the secondary menu',
+ yes: 'Yes',
+ demenu: 'Do you want to delete this menu锛�',
+ prompt: 'Prompt',
+ },
+ delivery: {
+ addrole: 'Add Role',
+ editrole: 'Modify role',
+ role: 'Role',
+ rolea: 'Role锛�',
+ inrole: 'Please enter the role',
+ operate: 'Operate',
+ edit: 'Edit',
+ delete: 'Delete',
+ yes: 'Yes',
+ sure: 'Confirm',
+ cancel: 'Cancel',
+ derole: 'Do you want to delete this role',
+ prompt: 'Prompt',
+ choice: 'Menu permissions锛�',
+ inchoice: 'Please select Menu Permissions',
+ },
+ replenish: {
+ patchManagement: 'Mesh management',
+ },
+ rework: {
+ reworkManagement: 'Rework management',
+ addRework: "Rework added ",
+ },
+ role: {
+ id: 'ID',
+ characterHomepage: 'Character Home',
+ },
+ user: {
+ userId: 'User ID',
+ userHomepage: 'User Home',
+ },
+ orderBasicData: {
+ order: 'orders',
+ orderType: 'The type of order',
+ },
+ machine: {
+ basicId: 'Device number',
+ basicName: 'The name of the device',
+ basicCategory: 'The process in which it is located',
+ tempering: 'Steel',
+ },
+ report: {
+ productionReport: 'Production reports',
+ workInProgressReport: 'WIP report',
+ },
+ productionBasicData: {
+ basicDataQuery: 'Basic data query',
+ },
+ mainIngredient: {
+ materialInformation: 'Material information',
+ },
+ mainIngredientStock: {
+ materialName: 'The name of the item',
+ createTime: 'Return date',
+ },
+ large: {
+ load: 'load',
+ edg: 'edg',
+ temp: 'temp',
+ hollow: 'hollow',
+ oneFinish: 'oneFinish',
+ twoFinish: 'twoFinish',
+ oneunFinish: 'oneunFinish',
+ twounFinish: 'twounFinish',
+ ondDamage: 'ondDamage',
+ percent: 'Percent',
+ time: 'The time of the break',
+ tionnumber: 'Order number',
+ jobnumber: 'Job number',
+ productionnumber: 'The production order number',
+ cardnumber: 'Process card number',
+ projectname: 'The name of the project',
+ batch: 'batch',
+ detailID: 'Detail ID',
+ building: 'Building No',
+ serialnumber: 'Order serial number',
+ productname: 'Product name',
+ serial: 'Process validation number',
+ slicemarker: 'Frame marker (position)',
+ numberpatches: 'Number of patches',
+ width: 'Width',
+ height: 'Height',
+ shape: 'Shape',
+ responsibleprocess: 'Responsible process',
+ process: 'This process',
+ numberfractions: 'The number of unfilled fractions',
+ breakreason: 'The reason for the break',
+ breaktype: 'Sub-break type',
+ responsiblepersonnel: 'Responsible Personnel',
+ responsiblequipment: 'Responsible Equipment',
+ responsibleteam: 'Responsible team',
+ area: 'Sub-broken area',
+ inspector: 'Quality inspector',
+ operate: 'Operate',
+ mes: 'Detail',
+ projectnumber: 'The project order number',
+ brokeno: 'The report is broken and not filled',
+ close: 'Shut down',
+ orderId: 'Order ID',
+ order: '璁㈠崟璇︽儏',
+ customerName: 'The name of the customer',
+ project: 'The name of the project',
+ are: 'are',
+ quantity: 'quantity',
+ warehousing: 'State',
+ deliveryDate: 'Delivery time',
+ notstocked: 'Not yet in stock',
+ inboundstatus: 'Partial inventory status',
+ allstatus: 'All in stock status',
+ completedquantity: 'Completed quantity',
+ scrapquantity: 'Scrap Quantity',
+ number: 'Quantity',
+ method: 'Processing method',
+ innumber: 'Quantity already entered',
+ productstatus: 'Production status',
+ right: 'normal',
+ stop: 'termination',
+ inquire: 'query',
+ starttime: 'Start Time',
+ endtime: 'End Time',
+ loading: 'In the process of uploading锛�',
+ brokenNum: 'brokenNum',
+ inventory: 'inventory',
+ inventoryarea: 'inventoryarea',
+ shippedQuantity: 'shippedQuantity',
+ reportWorkQuantity: 'reportWorkQuantity',
+ reportWorkQuantityCount: 'reporting_work_num_count',
+ processId: 'processId',
+ historicaltasks1: 'historicaltasks1',
+ historicaltasks2: 'historicaltasks2',
+ historicaltasks3: 'historicaltasks3',
+ historicaltasks4: 'historicaltasks4',
+ historicaltasks5: 'historicaltasks5',
+ historicaltasks6: 'historicaltasks6',
+ historicaltasks7: 'historicaltasks7',
+ order: 'order',
+ date: 'date',
+ countOutOne: 'countOutOne',
+ totalAreaOutOne: 'totalAreaOutOne',
+ countOutTwo: 'countOutTwo',
+ totalAreaOutTwo: 'totalAreaOutTwo',
+ countIn: 'countIn',
+ totalAreaIn: 'totalAreaIn',
+ countOut: 'countOut',
+ totalAreaOut: 'totalAreaOut',
+ hollowCountOutOne: 'hollowCountOutOne',
+ hollowTotalAreaOutOne: 'hollowTotalAreaOutOne',
+ countOut: 'countOut',
+ hollowCountOutTwo: 'hollowCountOutTwo',
+ },
+ reportmanage: {
+ productiontime: 'production time',
+ starttime: 'Start Time',
+ endtime: 'End Time',
+ ctype: 'Please select type',
+ cstate: 'Please select the status',
+ cprocess: 'Please select the process',
+ all: 'All',
+ completed: 'Completed',
+ broke: 'Damaged',
+ takeout: 'Takeout',
+ dreportwork: 'Unreported work',
+ pendingwork: 'Pending job application',
+ reportwork: 'Reported work',
+ reportworked: 'Reported worked',
+ incise: 'slicing',
+ edging: 'edging',
+ steel: 'toughened',
+ inquire: 'query',
+ signingwork: 'Reporting for work',
+ reporteam: 'Report work team',
+ reportingequipment: 'Reporting equipment',
+ line: 'line',
+ process: 'production processes',
+ glassID: 'Glass ID',
+ projectnumber: 'Project number',
+ layoutID: 'Tempered layout ID',
+ type: 'type',
+ state: 'state',
+ processcards: 'Flow Card',
+ number: 'Serial Number',
+ layer: 'storey',
+ typebreakage: 'Damage type',
+ ptypebreakage: ' Please select the type of damage',
+ causebreakage: 'Reason for damage',
+ pcausebreakage: 'Please select the reason for the damage',
+ responsibleprocess: 'Responsibility Process',
+ responsiblepersonnel: 'Responsible personnel',
+ presponsiblepersonnel: 'Please enter the responsible personnel',
+ responsibleteam: 'Responsible team',
+ presponsibleteam: 'Please select the responsible team',
+ responsibleequipment: 'Responsible equipment',
+ presponsibleequipment: 'Please select the responsible device',
+ remark: 'notes',
+ premark: 'Please enter a note',
+ },
+ film: {
+ resetnumber: '鏋跺瓙鍙�',
+ fail: '澶辫触',
+ mes: 'Original film storage details',
+ warehousing: 'store',
+ pwarehousing: '鍏ュ簱璇锋眰',
+ wareout: '鍘熺墖鍑哄簱',
+ information: '鏄惁鍑哄簱璇ユ潯淇℃伅锛�',
+ pwareout: '鍑哄簱璇锋眰',
+ position: '鍚婅浣嶏細',
+ cposition: '璇烽�夋嫨鍚婅浣�',
+ position1: '鍚婅浣�1',
+ position2: '鍚婅浣�2',
+ addglass: '鍘熺墖淇℃伅',
+ operate: 'Operate',
+ exit: 'Edit',
+ delete: 'Delete',
+ outbound: 'Outbound',
+ deviceid: 'device ID',
+ enablestatea: 'Enable tagging',
+ disable: 'Disable',
+ start: 'Enable',
+ startslot: 'Start workstation',
+ endslot: 'Target workstation',
+ slotid: 'Grid ID',
+ slot: '鏍煎瓙鍙�',
+ width: 'Width',
+ widtha: 'Width锛�',
+ inwidth: 'Please enter width',
+ height: 'Height',
+ inheight: 'Please enter height',
+ heighta: 'Height锛�',
+ thickness: 'Thickness',
+ inthickness: 'Please enter thickness',
+ thicknessa: 'Thickness锛�',
+ films: 'Films',
+ infilms: 'Please enter films',
+ filmsa: 'Films锛�',
+ createtime: 'Creation time',
+ remainquantity: 'Remaining Quantity',
+ thickremainquant: 'Remaining quantity of original film (sheets)',
+ thickremainquantity: 'Remaining quantity of original film (sheets)锛�',
+ inquantity: 'Please enter the quantity',
+ quantitya: 'Number锛�',
+ enableid: 'Task ID',
+ originateslot: 'Starting grid',
+ endoriginateslot: '鐩爣鏍煎瓙',
+ patternquantity: 'Number',
+ enabletype: 'Task Type',
+ enablestate: 'Workstation status',
+ finish: 'Completed',
+ unfinish: 'Incomplete',
+ dedelete: 'Do you want to delete this content锛�',
+ dedisable: 'Do you want to disable this content锛�',
+ deoutbound: 'Whether to release the content of this item from the warehouse锛�',
+ selectwarehousing: 'Please select the lifting position',
+ inwarehousing: 'Lifting position锛�',
+ warehousing1: 'Lifting position 1',
+ warehousing2: 'Lifting position 2',
+ starttime: 'Start Time',
+ endtime: 'End Time',
+ taskstatus: 'Status',
+ built: 'newly built',
+ execution: 'In progress',
+ tasktype: 'Task Type',
+ stocke: 'store',
+ dispatch: 'dispatch',
+ inquire: 'query',
+ station: 'station',
+ },
+ Mounting: {
+ previewproject: 'Select Preview Project',
+ loadinglinea: 'Upper film line',
+ loadingline: 'Upper film line锛�',
+ inloadingline: 'Please select the upper film line',
+ oneloadingline: 'Line 1 on film',
+ twoloadingline: 'Line 2 on film',
+ waiting: 'Waiting',
+ pass: 'Pass',
+ setparameters: 'Set parameters',
+ project: 'Project number',
+ projecta: 'Project number锛�',
+ width: 'Width',
+ height: 'Height',
+ thickness: 'Thickness',
+ projectnumber: 'Project original piece number',
+ state: 'state',
+ createtime: 'Creation time',
+ all: 'Select All',
+ removalmethod: '璇烽�夋嫨闄よ啘鏂瑰紡',
+ removalmethodp: '闄よ啘鏂瑰紡',
+ removalmethoda: '闄よ啘鏂瑰紡锛�',
+ noremoval: '涓嶉櫎鑶�',
+ removal: '闄よ啘',
+ coarselyground: '绮楃(',
+ finegrinding: '绮剧(',
+ },
+ hellow: {
+ totalPairQuantitya: '浠诲姟鎬婚厤瀵规暟',
+ pairQuantitya: '宸插嚭閰嶅鏁�',
+ waitingout: '绛夊緟鍑虹墖',
+ finishout: '鍑虹墖瀹屾垚',
+ hollowSequence: '涓┖椤哄簭',
+ isPair: '鏄惁閰嶅',
+ no: '鍚�',
+ listFormula: '閰嶆柟淇℃伅',
+ HollowGlass: '闃熷垪淇℃伅',
+ totalLayer: '鎬诲眰鏁�',
+ totalPairQuantity: '鎬婚厤瀵规暟閲�',
+ pairQuantity: '宸插畬鎴愰厤瀵规暟閲�',
+ isForceList: '鏄惁寮哄埗',
+ yesisForceList: '寮哄埗',
+ noisForceList: '闈炲己鍒�',
+ hollowCountOutOne: '涓┖涓�绾跨幓鐠冩暟閲�',
+ hollowCountOutTwo: '涓┖浜岀嚎鐜荤拑鏁伴噺',
+ hollowTotalAreaOutOne: '涓┖涓�绾跨幓鐠冮潰绉�',
+ hollowTotalAreaOutTwo: '涓┖浜岀嚎鐜荤拑闈㈢Н',
+ countIn: '閽㈠寲鍓嶅ぇ鐞嗙墖绗肩幓鐠冩暟閲�',
+ countOut: '閽㈠寲鐜荤拑鏁伴噺',
+ countOutOne: '鍒囧壊涓�绾跨幓鐠冩暟閲�',
+ countOutTwo: '鍒囧壊浜岀嚎鐜荤拑鏁伴噺',
+ totalAreaIn: '閽㈠寲鍓嶅ぇ鐞嗙墖绗肩幓鐠冮潰绉�',
+ totalAreaOut: '閽㈠寲鐜荤拑闈㈢Н',
+ totalAreaOutOne: '鍒囧壊涓�绾跨幓鐠冮潰绉�',
+ totalAreaOutTwo: '鍒囧壊浜岀嚎鐜荤拑闈㈢Н',
+ freeone: '涓�绾跨┖闂茬姸鎬侊細',
+ freetwo: '浜岀嚎绌洪棽鐘舵�侊細',
+ freethree: '涓夌嚎绌洪棽鐘舵�侊細',
+ casFour: '姘斾綋4',
+ casFourb: '姘斾綋4锛�',
+ casFoura: '璇烽�夋嫨姘斾綋4',
+ casOne: '姘斾綋1',
+ casOneb: '姘斾綋1锛�',
+ casOnea: '璇烽�夋嫨姘斾綋1',
+ casThree: '姘斾綋3',
+ casThreeb: '姘斾綋3锛�',
+ casThreea: '璇烽�夋嫨姘斾綋3',
+ casTwo: '姘斾綋2',
+ casTwob: '姘斾綋2锛�',
+ casTwoa: '璇烽�夋嫨姘斾綋2',
+ Y: '鏈�',
+ F: '鏃�',
+ frameFour: '闂撮殧鏉�4',
+ frameFourb: '闂撮殧鏉�4锛�',
+ frameFoura: '璇疯緭鍏ラ棿闅旀澘4',
+ frameOne: '闂撮殧鏉�1',
+ frameOneb: '闂撮殧鏉�1锛�',
+ frameOnea: '璇疯緭鍏ラ棿闅旀澘1',
+ frameThree: '闂撮殧鏉�3',
+ frameThreeb: '闂撮殧鏉�3锛�',
+ frameThreea: '璇疯緭鍏ラ棿闅旀澘3',
+ frameTwo: '闂撮殧鏉�2',
+ frameTwob: '闂撮殧鏉�2锛�',
+ frameTwoa: '璇疯緭鍏ラ棿闅旀澘2',
+ intervalFrameHeightOne: '闂撮殧妗嗛珮搴�1',
+ intervalFrameHeightTwo: '闂撮殧妗嗛珮搴�2',
+ intervalFrameHeightThree: '闂撮殧妗嗛珮搴�3',
+ intervalFrameHeightFour: '闂撮殧妗嗛珮搴�4',
+ intervalFrameHeightaOne: '璇疯緭鍏ラ棿闅旀楂樺害1',
+ intervalFrameHeightaTwo: '璇疯緭鍏ラ棿闅旀楂樺害2',
+ intervalFrameHeightaThree: '璇疯緭鍏ラ棿闅旀楂樺害3',
+ intervalFrameHeightaFour: '璇疯緭鍏ラ棿闅旀楂樺害4',
+ intervalFrameHeightbOne: '闂撮殧妗嗛珮搴�1锛�',
+ intervalFrameHeightbTwo: '闂撮殧妗嗛珮搴�2锛�',
+ intervalFrameHeightbThree: '闂撮殧妗嗛珮搴�3锛�',
+ intervalFrameHeightbFour: '闂撮殧妗嗛珮搴�4锛�',
+ intervalFrameTypeOne: '闂撮殧妗嗙被鍨�1',
+ intervalFrameTypeTwo: '闂撮殧妗嗙被鍨�2',
+ intervalFrameTypeThree: '闂撮殧妗嗙被鍨�3',
+ intervalFrameTypeFour: '闂撮殧妗嗙被鍨�4',
+ intervalFrameTypecOne: '璇烽�夋嫨闂撮殧妗嗙被鍨�1',
+ intervalFrameTypecTwo: '璇烽�夋嫨闂撮殧妗嗙被鍨�2',
+ intervalFrameTypecThree: '璇烽�夋嫨闂撮殧妗嗙被鍨�3',
+ intervalFrameTypecFour: '璇烽�夋嫨闂撮殧妗嗙被鍨�4',
+ intervalFrameTypedOne: '闂撮殧妗嗙被鍨�1锛�',
+ intervalFrameTypedTwo: '闂撮殧妗嗙被鍨�2锛�',
+ intervalFrameTypedThree: '闂撮殧妗嗙被鍨�3锛�',
+ intervalFrameTypedFour: '闂撮殧妗嗙被鍨�4锛�',
+ intervalFrameTypea: 'tps鑳�',
+ intervalFrameTypeb: '閾濋棿闅旀潯',
+ intervalFrameWidthOne: '闂撮殧妗嗗搴�1',
+ intervalFrameWidthTwo: '闂撮殧妗嗗搴�2',
+ intervalFrameWidthThree: '闂撮殧妗嗗搴�3',
+ intervalFrameWidthFour: '闂撮殧妗嗗搴�4',
+ intervalFrameWidthaOne: '璇疯緭鍏ラ棿闅旀瀹藉害1',
+ intervalFrameWidthaTwo: '璇疯緭鍏ラ棿闅旀瀹藉害2',
+ intervalFrameWidthaThree: '璇疯緭鍏ラ棿闅旀瀹藉害3',
+ intervalFrameWidthaFour: '璇疯緭鍏ラ棿闅旀瀹藉害4',
+ intervalFrameWidthbOne: '闂撮殧妗嗗搴�1锛�',
+ intervalFrameWidthbTwo: '闂撮殧妗嗗搴�2锛�',
+ intervalFrameWidthbThree: '闂撮殧妗嗗搴�3锛�',
+ intervalFrameWidthbFour: '闂撮殧妗嗗搴�4锛�',
+ sealInsert: '瀵嗗皝宓屽叆',
+ sealInsertb: '瀵嗗皝宓屽叆锛�',
+ sealInserta: '璇疯緭鍏ュ瘑灏佸祵鍏�',
+ hollowformula: '涓┖閰嶆柟',
+ hollowformuldet: '鏄惁鍒犻櫎璇ヤ腑绌洪厤鏂癸紵',
+ hollowtaskdet: '鏄惁鍒犻櫎璇ヤ换鍔★紵',
+ taskdet: '鍒犻櫎浠诲姟',
+ edithollowformula: '淇敼涓┖閰嶆柟',
+ phollowformula: '璇烽�夋嫨涓┖閰嶆柟',
+ hollowformulp: '涓┖閰嶆柟锛�',
+ bottomRemove: '涓嬩晶闄よ啘閲忥細',
+ bottomRemovep: '涓嬩晶闄よ啘閲�',
+ bottomRemovea: '璇疯緭鍏ヤ笅渚ч櫎鑶滈噺',
+ topRemove: '涓婁晶闄よ啘閲忥細',
+ topRemovep: '涓婁晶闄よ啘閲�',
+ topRemovea: '璇疯緭鍏ヤ笂渚ч櫎鑶滈噺',
+ leftRemove: '宸︿晶闄よ啘閲忥細',
+ leftRemovep: '宸︿晶闄よ啘閲�',
+ leftRemovea: '璇疯緭鍏ュ乏渚ч櫎鑶滈噺',
+ rightRemove: '鍙充晶闄よ啘閲忥細',
+ rightRemovep: '鍙充晶闄よ啘閲�',
+ rightRemovea: '璇疯緭鍏ュ彸渚ч櫎鑶滈噺',
+ formulaNamep: '閰嶆柟鍚�',
+ formulaName: '閰嶆柟鍚嶏細',
+ formulaNamea: '璇疯緭鍏ラ厤鏂瑰悕',
+ stopproject: '鏆傚仠浠诲姟',
+ pstopproject: '鏄惁鏆傚仠浠诲姟锛�',
+ reviewproject: '棰勮宸ョ▼',
+ line: '绾胯矾',
+ linea: '绾胯矾锛�',
+ line1: '绾胯矾涓�',
+ line2: '绾胯矾浜�',
+ line3: '绾胯矾涓�',
+ createtask: '鍒涘缓浠诲姟',
+ starttask: '寮�濮嬩换鍔�',
+ pstarttask: '鏄惁寮�濮嬩换鍔★紵',
+ stoptask: '鍋滄浠诲姟',
+ pstoptask: '鏄惁鍋滄浠诲姟锛�',
+ currenttask: '褰撳墠浠诲姟锛�',
+ claimednumber: '宸查鍙栭厤瀵规暟閲忥細',
+ linenumber: '杩涘叆涓┖绾挎暟閲忥細',
+ order: '鍑虹墖椤哄簭',
+ flowCardId: '娴佺▼鍗�',
+ thickness: '鍘氬害',
+ coatingtypes: '鑶滅郴',
+ layer: '灞傛暟',
+ height: '闀�',
+ width: '瀹�',
+ state: '鐘舵��',
+ cardnumber: '娴佺▼鍗″彿',
+ cardnumbera: '娴佺▼鍗″彿锛�',
+ layernumber: '灞傚彿',
+ totalnumber: '鎬荤墖鏁�',
+ pairsnumber: '宸查厤瀵规暟閲�',
+ missingnumber: '缂虹墖鏁伴噺',
+ damagenumber: '鐮存崯鏁伴噺',
+ operate: '鎿嶄綔',
+ claimquest: '棰嗗彇浠诲姟',
+ pclaimquest: '鏄惁棰嗗彇浠诲姟锛�',
+ missingfilms: '缂虹墖璇︽儏',
+ forcedfilming: '寮哄埗鍑虹墖',
+ pforcedfilming: '鏄惁寮哄埗鍑虹墖锛�',
+ brokenpieces: '鐮存崯鐗囨暟',
+ realpieces: '瀹為檯鐗囨暟',
+ route: '璺嚎锛�',
+ croute: '璇烽�夋嫨璺嚎',
+ ptotalpairQuantity: '鎬婚厤瀵规暟閲忥細',
+ cpairQuantity: '璇疯緭鍏ユ�婚厤瀵规暟閲�',
+ schedulingswitch: '璋冨害寮�鍏�',
+ },
+ screendisplay: {
pwidth: '璇疯緭鍏ュ搴�',
pheight: '璇疯緭鍏ラ珮搴�',
upnumber: '涓婄墖鏁伴噺',
}
- }
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/UI-Project/src/lang/zh.js b/UI-Project/src/lang/zh.js
index 817731d..18b081e 100644
--- a/UI-Project/src/lang/zh.js
+++ b/UI-Project/src/lang/zh.js
@@ -511,6 +511,15 @@
createTime :'杩斿簱鏃ユ湡',
},
large:{
+ load:'鍒囧壊',
+ edg:'纾ㄨ竟',
+ temp:'閽㈠寲',
+ hollow:'涓┖',
+ oneFinish:'涓�绾垮畬鎴�',
+ twoFinish:'浜岀嚎瀹屾垚',
+ oneunFinish:'涓�绾挎湭瀹屾垚',
+ twounFinish:'浜岀嚎鏈畬鎴�',
+ ondDamage:'涓�绾跨牬鎹�',
percent:'杩涘害鐧惧垎姣�',
time: '娆$牬鏃堕棿',
tionnumber: '璁㈠崟鍙�',
diff --git a/UI-Project/src/views/largescreendisplay/screendisplay.vue b/UI-Project/src/views/largescreendisplay/screendisplay.vue
index f57c2f4..bbdbab3 100644
--- a/UI-Project/src/views/largescreendisplay/screendisplay.vue
+++ b/UI-Project/src/views/largescreendisplay/screendisplay.vue
@@ -1,5 +1,5 @@
<script setup>
-import { onBeforeUnmount, onMounted, onUnmounted, ref, computed } from "vue";
+import { onBeforeUnmount, onMounted, onUnmounted, ref, computed, nextTick } from "vue";
import { useRouter } from "vue-router"
import { host, WebSocketHost } from '@/utils/constants'
import request from "@/utils/request"
@@ -7,7 +7,12 @@
import dayjs from 'dayjs';
import { ElMessage } from 'element-plus'
import { useI18n } from 'vue-i18n'
+import * as echarts from 'echarts';
+const load = ref(true)
+const edg = ref(true)
+const temp = ref(true)
+const hollow = ref(true)
const router = useRouter()
const blinda = ref(false)
const blindb = ref(false)
@@ -27,6 +32,7 @@
const edgTwoTasks = ref([])
const engineeringOne = ref([])
const engineeringTwo = ref([])
+
const socketUrl1 = `ws://${WebSocketHost}:${host}/api/cacheGlass/api/talk/largenScreen`;
const handleMessage1 = (data) => {
edgOneTasks.value = data.edgOneTasks[0];
@@ -41,6 +47,87 @@
numBoxes2.value = edgTwoTasks.value.length;
boxStart2();
}
+ const pieChartVOS = ref([]);
+ pieChartVOS.value = data.pieChartVOS[0];
+
+ let oneFinish = ref();
+ let twoFinish = ref();
+ let oneunFinish = ref();
+ let twounFinish = ref();
+ if (load.value) {
+ oneFinish = pieChartVOS.value[0].oneCompletedQuantity;
+ twoFinish = pieChartVOS.value[0].twoCompletedQuantity;
+ oneunFinish = pieChartVOS.value[0].oneUncompletedQuantity;
+ twounFinish = pieChartVOS.value[0].twoUncompletedQuantity;
+ } else {
+ oneFinish = pieChartVOS.value[0].oneCompletedArea;
+ twoFinish = pieChartVOS.value[0].twoCompletedArea;
+ oneunFinish = pieChartVOS.value[0].oneUncompletedArea;
+ twounFinish = pieChartVOS.value[0].twoUncompletedArea;
+ }
+
+ const chartDomOne = chartOne.value;
+ if (!chartDomOne) {
+ console.error('鍥捐〃瀹瑰櫒鏈壘鍒�');
+ return;
+ }
+ const myChartOne = echarts.init(chartDomOne);
+ const optionOne = {
+ title: {
+ text: t('large.load'),
+ subtext: '',
+ left: 'right'
+ },
+ tooltip: {
+ trigger: 'item'
+ },
+ legend: {
+ orient: 'vertical',
+ left: 'left'
+ },
+ series: [
+ {
+ name: '',
+ type: 'pie',
+ radius: '50%',
+ data: [
+ { value: oneFinish, name: t('large.oneFinish') },
+ { value: twoFinish, name: t('large.twoFinish') },
+ { value: oneunFinish, name: t('large.oneunFinish') },
+ { value: twounFinish, name: t('large.twounFinish') },
+ ],
+ emphasis: {
+ itemStyle: {
+ shadowBlur: 10,
+ shadowOffsetX: 0,
+ shadowColor: 'rgba(0, 0, 0, 0.5)'
+ }
+ }
+ }
+ ],
+ graphic: [
+ {
+ type: 'rect',
+ left: 'center',
+ top: 0,
+ shape: {
+ width: 80,
+ height: 30
+ },
+ style: {
+ text: load.value == true ? t('large.quantity') : t('large.are'),
+ fill: '#5470C6',
+ stroke: '#000',
+ lineWidth: 1
+ },
+ onclick: function () {
+ load.value = !load.value;
+ }
+ }
+ ]
+ };
+
+ myChartOne.setOption(optionOne);
};
let socket2 = null;
const temperingTaskType = ref([])
@@ -60,29 +147,371 @@
numBoxes4.value = 0;
}
temperingGlassInfoInList.value = data.temperingGlassInfoInList[0];
- // if (numBoxes4.value != temperingGlassInfoOutList.value) {
- // numBoxes4.value = temperingGlassInfoOutList.value;
- // boxStart3();
- // }
+ const pieChartVOS = ref([]);
+ pieChartVOS.value = data.pieChartVOS[0];
+ let oneFinish = ref();
+ let ondDamage = ref();
+ let oneunFinish = ref();
+ if (temp.value) {
+ oneFinish = pieChartVOS.value[0].oneCompletedQuantity;
+ ondDamage = pieChartVOS.value[0].oneDamageQuantity;
+ oneunFinish = pieChartVOS.value[0].oneUncompletedQuantity;
+ } else {
+ oneFinish = pieChartVOS.value[0].oneCompletedArea;
+ ondDamage = pieChartVOS.value[0].oneDamageArea;
+ oneunFinish = pieChartVOS.value[0].oneUncompletedArea;
+ }
+
+ const chartDomOne = chartThree.value;
+ if (!chartDomOne) {
+ console.error('鍥捐〃瀹瑰櫒鏈壘鍒�');
+ return;
+ }
+ const myChartOne = echarts.init(chartDomOne);
+ const optionOne = {
+ title: {
+ text: t('large.temp'),
+ subtext: '',
+ left: 'right'
+ },
+ tooltip: {
+ trigger: 'item'
+ },
+ legend: {
+ orient: 'vertical',
+ left: 'left'
+ },
+ series: [
+ {
+ name: '',
+ type: 'pie',
+ radius: '50%',
+ data: [
+ { value: oneFinish, name: t('large.oneFinish') },
+ { value: ondDamage, name: t('large.ondDamage') },
+ { value: oneunFinish, name: t('large.oneunFinish') },
+ ],
+ emphasis: {
+ itemStyle: {
+ shadowBlur: 10,
+ shadowOffsetX: 0,
+ shadowColor: 'rgba(0, 0, 0, 0.5)'
+ }
+ }
+ }
+ ],
+ graphic: [
+ {
+ type: 'rect',
+ left: 'center',
+ top: 0,
+ shape: {
+ width: 80,
+ height: 30
+ },
+ style: {
+ text: temp.value == true ? t('large.quantity') : t('large.are'),
+ fill: '#5470C6',
+ stroke: '#000',
+ lineWidth: 1
+ },
+ onclick: function () {
+ temp.value = !temp.value;
+ }
+ }
+ ]
+ };
+
+ myChartOne.setOption(optionOne);
};
let socket3 = null;
const bigStorageCageUsage = ref([])
const socketUrl3 = `ws://${WebSocketHost}:${host}/api/cacheVerticalGlass/api/talk/largenScreen`;
const handleMessage3 = (data) => {
bigStorageCageUsage.value = data.bigStorageCageUsage[0];
+ const pieChartVOS = ref([]);
+ pieChartVOS.value = data.pieChartVOS[0];
+ let oneFinish = ref();
+ let twoFinish = ref();
+ let oneunFinish = ref();
+ let twounFinish = ref();
+ if (edg.value) {
+ oneFinish = pieChartVOS.value[0].oneCompletedQuantity;
+ twoFinish = pieChartVOS.value[0].twoCompletedQuantity;
+ oneunFinish = pieChartVOS.value[0].oneUncompletedQuantity;
+ twounFinish = pieChartVOS.value[0].twoUncompletedQuantity;
+ } else {
+ oneFinish = pieChartVOS.value[0].oneCompletedArea;
+ twoFinish = pieChartVOS.value[0].twoCompletedArea;
+ oneunFinish = pieChartVOS.value[0].oneUncompletedArea;
+ twounFinish = pieChartVOS.value[0].twoUncompletedArea;
+ }
+
+ const chartDomOne = chartTwo.value;
+ if (!chartDomOne) {
+ console.error('鍥捐〃瀹瑰櫒鏈壘鍒�');
+ return;
+ }
+ const myChartOne = echarts.init(chartDomOne);
+ const optionOne = {
+ title: {
+ text: t('large.edg'),
+ subtext: '',
+ left: 'right'
+ },
+ tooltip: {
+ trigger: 'item'
+ },
+ legend: {
+ orient: 'vertical',
+ left: 'left'
+ },
+ series: [
+ {
+ name: '',
+ type: 'pie',
+ radius: '50%',
+ data: [
+ { value: oneFinish, name: t('large.oneFinish') },
+ { value: twoFinish, name: t('large.twoFinish') },
+ { value: oneunFinish, name: t('large.oneunFinish') },
+ { value: twounFinish, name: t('large.twounFinish') },
+ ],
+ emphasis: {
+ itemStyle: {
+ shadowBlur: 10,
+ shadowOffsetX: 0,
+ shadowColor: 'rgba(0, 0, 0, 0.5)'
+ }
+ }
+ }
+ ],
+ graphic: [
+ {
+ type: 'rect',
+ left: 'center',
+ top: 0,
+ shape: {
+ width: 80,
+ height: 30
+ },
+ style: {
+ text: edg.value == true ? t('large.quantity') : t('large.are'),
+ fill: '#5470C6',
+ stroke: '#000',
+ lineWidth: 1
+ },
+ onclick: function () {
+ edg.value = !edg.value;
+ }
+ }
+ ]
+ };
+
+ myChartOne.setOption(optionOne);
};
let socket4 = null;
const hollowBigStorageCageUsage = ref([])
const socketUrl4 = `ws://${WebSocketHost}:${host}/api/hollowGlass/api/talk/largenScreen`;
const handleMessage4 = (data) => {
hollowBigStorageCageUsage.value = data.hollowBigStorageCageUsage[0];
+ const pieChartVOS = ref([]);
+ pieChartVOS.value = data.pieChartVOS[0];
+ let oneFinish = ref();
+ let twoFinish = ref();
+ let oneunFinish = ref();
+ let twounFinish = ref();
+ if (hollow.value) {
+ oneFinish = pieChartVOS.value[0].oneCompletedQuantity;
+ twoFinish = pieChartVOS.value[0].twoCompletedQuantity;
+ oneunFinish = pieChartVOS.value[0].oneUncompletedQuantity;
+ twounFinish = pieChartVOS.value[0].twoUncompletedQuantity;
+ } else {
+ oneFinish = pieChartVOS.value[0].oneCompletedArea;
+ twoFinish = pieChartVOS.value[0].twoCompletedArea;
+ oneunFinish = pieChartVOS.value[0].oneUncompletedArea;
+ twounFinish = pieChartVOS.value[0].twoUncompletedArea;
+ }
+
+ const chartDomOne = chartFour.value;
+ if (!chartDomOne) {
+ console.error('鍥捐〃瀹瑰櫒鏈壘鍒�');
+ return;
+ }
+ const myChartOne = echarts.init(chartDomOne);
+ const optionOne = {
+ title: {
+ text: t('large.hollow'),
+ subtext: '',
+ left: 'right'
+ },
+ tooltip: {
+ trigger: 'item'
+ },
+ legend: {
+ orient: 'vertical',
+ left: 'left'
+ },
+ series: [
+ {
+ name: '',
+ type: 'pie',
+ radius: '50%',
+ data: [
+ { value: oneFinish, name: t('large.oneFinish') },
+ { value: twoFinish, name: t('large.twoFinish') },
+ { value: oneunFinish, name: t('large.oneunFinish') },
+ { value: twounFinish, name: t('large.twounFinish') },
+ ],
+ emphasis: {
+ itemStyle: {
+ shadowBlur: 10,
+ shadowOffsetX: 0,
+ shadowColor: 'rgba(0, 0, 0, 0.5)'
+ }
+ }
+ }
+ ],
+ graphic: [
+ {
+ type: 'rect',
+ left: 'center',
+ top: 0,
+ shape: {
+ width: 80,
+ height: 30
+ },
+ style: {
+ text: hollow.value == true ? t('large.quantity') : t('large.are'),
+ fill: '#5470C6',
+ stroke: '#000',
+ lineWidth: 1
+ },
+ onclick: function () {
+ hollow.value = !hollow.value;
+ }
+ }
+ ]
+ };
+
+ myChartOne.setOption(optionOne);
};
let socket5 = null;
const productionVO = ref([])
const socketUrl5 = `ws://${WebSocketHost}:${host}/api/cacheGlass/api/talk/largenScreenProduction`;
const handleMessage5 = (data) => {
- productionVO.value = data.productionVO;
+ productionVO.value = data.productionVO[0];
+ // 灏嗗師濮嬫暟鎹浆鎹负 ECharts 鍥捐〃鎵�闇�鏍煎紡
+ categories = productionVO.value.map(item => item.date); // 鑾峰彇鏃ユ湡浣滀负 x 杞�
+ totalAreaOutOne = productionVO.value.map(item => item.totalAreaOutOne);
+ countIn = productionVO.value.map(item => item.countIn);
+ totalAreaOutTwo = productionVO.value.map(item => item.totalAreaOutTwo);
+ totalAreaOut = productionVO.value.map(item => item.totalAreaOut);
+ countOut = productionVO.value.map(item => item.countOut);
+ hollowTotalAreaOutTwo = productionVO.value.map(item => item.hollowTotalAreaOutTwo);
+ hollowCountOutOne = productionVO.value.map(item => item.hollowCountOutOne);
+ countOutTwo = productionVO.value.map(item => item.countOutTwo);
+ hollowCountOutTwo = productionVO.value.map(item => item.hollowCountOutTwo);
+ hollowTotalAreaOutOne = productionVO.value.map(item => item.hollowTotalAreaOutOne);
+ totalAreaIn = productionVO.value.map(item => item.totalAreaIn);
+ countOutOne = productionVO.value.map(item => item.countOutOne);
+ //鍥捐〃
+ nextTick() // 纭繚 DOM 鍔犺浇瀹屾垚
+ const chartDom = chartRef.value;
+ if (!chartDom) {
+ console.error('鍥捐〃瀹瑰櫒鏈壘鍒�');
+ return;
+ }
+
+ const myChart = echarts.init(chartDom);
+
+
+ const option = {
+ title: { text: '' },
+ tooltip: { trigger: 'axis' },
+ legend: {
+ data: [
+ t('large.countOutOne'),
+ t('large.totalAreaOutOne'),
+ t('large.countOutTwo'),
+ t('large.totalAreaOutTwo'),
+ t('large.countIn'),
+ t('large.totalAreaIn')
+ ]
+ },
+ grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true },
+ toolbox: { feature: { saveAsImage: {} } },
+ xAxis: {
+ type: 'category',
+ boundaryGap: false,
+ data: categories // 杩欐槸鏃ユ湡鏁版嵁
+ },
+ yAxis: { type: 'value' },
+ series: [
+ { name: t('large.countOutOne'), type: 'bar', data: countOutOne },
+ { name: t('large.totalAreaOutOne'), type: 'bar', data: totalAreaOutOne },
+ { name: t('large.countOutTwo'), type: 'bar', data: countOutTwo },
+ { name: t('large.totalAreaOutTwo'), type: 'bar', data: totalAreaOutTwo },
+ { name: t('large.countIn'), type: 'bar', data: countIn },
+ { name: t('large.totalAreaIn'), type: 'bar', data: totalAreaIn }
+ ]
+ };
+
+ myChart.setOption(option);
+
+ const chartDom2 = chartRef2.value;
+ if (!chartDom2) {
+ console.error('鍥捐〃瀹瑰櫒鏈壘鍒�');
+ return;
+ }
+ const myChart2 = echarts.init(chartDom2);
+ const option2 = {
+ title: { text: '' },
+ tooltip: { trigger: 'axis' },
+ legend: {
+ data: [
+ t('large.totalAreaOut'),
+ t('large.countOut'),
+ t('large.hollowTotalAreaOutOne'),
+ t('large.hollowCountOutOne'),
+ t('large.hollowCountOutTwo'),
+ t('large.hollowTotalAreaOutTwo')
+ ]
+ },
+ grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true },
+ toolbox: { feature: { saveAsImage: {} } },
+ xAxis: {
+ type: 'category',
+ boundaryGap: false,
+ data: categories // 杩欐槸鏃ユ湡鏁版嵁
+ },
+ yAxis: { type: 'value' },
+ series: [
+ { name: t('large.totalAreaOut'), type: 'bar', data: totalAreaOut },
+ { name: t('large.countOut'), type: 'bar', data: countOut },
+ { name: t('large.hollowTotalAreaOutOne'), type: 'bar', data: hollowTotalAreaOutOne },
+ { name: t('large.hollowCountOutOne'), type: 'bar', data: hollowCountOutOne },
+ { name: t('large.hollowCountOutTwo'), type: 'bar', data: hollowCountOutTwo },
+ { name: t('large.hollowTotalAreaOutTwo'), type: 'bar', data: hollowTotalAreaOutTwo }
+ ]
+ };
+
+ myChart2.setOption(option2);
};
+// 灏嗗師濮嬫暟鎹浆鎹负 ECharts 鍥捐〃鎵�闇�鏍煎紡
+let categories = ref([]); // 鑾峰彇鏃ユ湡浣滀负 x 杞�
+let totalAreaOutOne = ref([]);
+let countIn = ref([]);
+let totalAreaOutTwo = ref([]);
+let totalAreaOut = ref([]);
+let countOut = ref([]);
+let hollowTotalAreaOutTwo = ref([]);
+let hollowCountOutOne = ref([]);
+let countOutTwo = ref([]);
+let hollowCountOutTwo = ref([]);
+let hollowTotalAreaOutOne = ref([]);
+let totalAreaIn = ref([]);
+let countOutOne = ref([]);
const tableDatad = ref([]);
const patternUsage = async () => {
@@ -148,8 +577,17 @@
blindb.value = true;
patternUsage()
};
+const chartRef = ref(null)
+const chartRef2 = ref(null)
+const chartOne = ref(null)
+const chartTwo = ref(null)
+const chartThree = ref(null)
+const chartFour = ref(null)
+
+
// 鍦ㄧ粍浠舵寕杞芥椂璁剧疆榛樿鏃堕棿鑼冨洿
-onMounted(() => {
+onMounted(async () => {
+
boxStart();
boxStart2();
boxStart3();
@@ -165,6 +603,7 @@
const startTime = endTime.subtract(1, 'day').startOf('minute'); // 褰撳墠鏃堕棿鐨勫墠涓�澶╋紝绮剧‘鍒板垎閽�
// 璁剧疆鏃堕棿鑼冨洿涓� [寮�濮嬫椂闂�, 缁撴潫鏃堕棿]
// timeRange.value = [startTime.format('YYYY-MM-DD HH:mm:ss'), endTime.format('YYYY-MM-DD HH:mm:ss')];
+
});
// onMounted(() => {
// socket = initializeWebSocket(socketUrl, handleMessage);
@@ -187,13 +626,13 @@
const numBoxes3 = ref(5);
const numBoxes4 = ref(1);
const speed = 0.1;
-const maxX = 250; // 缁堢偣X鍧愭爣
-const maxY = -90; // 缁堢偣Y鍧愭爣
+const maxX = 200; // 缁堢偣X鍧愭爣
+const maxY = -75; // 缁堢偣Y鍧愭爣
const maxX2 = 313; // 缁堢偣X鍧愭爣
-const maxY2 = -204; // 缁堢偣Y鍧愭爣
-const maxX3 = 125; // 缁堢偣X鍧愭爣
-const maxY3 = -105; // 缁堢偣Y鍧愭爣
-const maxX4 = 80; // 缁堢偣X鍧愭爣
+const maxY2 = -165; // 缁堢偣Y鍧愭爣
+const maxX3 = 95; // 缁堢偣X鍧愭爣
+const maxY3 = -85; // 缁堢偣Y鍧愭爣
+const maxX4 = 60; // 缁堢偣X鍧愭爣
const maxY4 = 0; // 缁堢偣Y鍧愭爣
const delayFrames = 600; // 姣忎釜 div 鐨勫欢杩熷抚鏁�
const boxes = ref([]);
@@ -455,179 +894,224 @@
hollowTotalAreaOutTwo: t('large.hollowTotalAreaOutTwo'),
};
+
</script>
<template>
<div style="height: 500px;">
- <el-dialog v-model="iframe1" top="5vh" width="95%" @close="iframeUrl1=''">
+ <el-dialog v-model="iframe1" top="5vh" width="95%" @close="iframeUrl1 = ''">
<iframe :src="iframeUrl1" marginwidth="2000px" marginheight="2000px" width="100%" height="700px"
frameborder="0"></iframe>
</el-dialog>
- <el-dialog v-model="iframe2" top="5vh" width="95%" @close="iframeUrl2=''">
+ <el-dialog v-model="iframe2" top="5vh" width="95%" @close="iframeUrl2 = ''">
<iframe :src="iframeUrl2" marginwidth="2000px" marginheight="2000px" width="100%" height="700px"
frameborder="0"></iframe>
</el-dialog>
- <el-dialog v-model="iframe3" top="5vh" width="95%" @close="iframeUrl3=''">
+ <el-dialog v-model="iframe3" top="5vh" width="95%" @close="iframeUrl3 = ''">
<iframe :src="iframeUrl3" marginwidth="2000px" marginheight="2000px" width="100%" height="700"
frameborder="0"></iframe>
</el-dialog>
- <el-dialog v-model="iframe4" top="5vh" width="95%" @close="iframeUrl4=''">
+ <el-dialog v-model="iframe4" top="5vh" width="95%" @close="iframeUrl4 = ''">
<iframe :src="iframeUrl4" marginwidth="2000px" marginheight="2000px" width="100%" height="750px"
frameborder="0"></iframe>
</el-dialog>
- <el-dialog v-model="iframe5" top="5vh" width="95%" @close="iframeUrl5=''">
+ <el-dialog v-model="iframe5" top="5vh" width="95%" @close="iframeUrl5 = ''">
<iframe :src="iframeUrl5" marginwidth="2000px" marginheight="2000px" width="100%" height="750px"
frameborder="0"></iframe>
</el-dialog>
- <el-dialog v-model="iframe6" top="5vh" width="95%" @close="iframeUrl6=''">
+ <el-dialog v-model="iframe6" top="5vh" width="95%" @close="iframeUrl6 = ''">
<iframe :src="iframeUrl6" marginwidth="2000px" marginheight="2000px" width="100%" height="750px"
frameborder="0"></iframe>
</el-dialog>
- <el-dialog v-model="iframe7" top="5vh" width="95%" @close="iframeUrl7=''">
+ <el-dialog v-model="iframe7" top="5vh" width="95%" @close="iframeUrl7 = ''">
<iframe :src="iframeUrl7" marginwidth="2000px" marginheight="2000px" width="100%" height="750px"
frameborder="0"></iframe>
</el-dialog>
- <el-dialog v-model="iframe8" top="5vh" width="95%" @close="iframeUrl8=''">
+ <el-dialog v-model="iframe8" top="5vh" width="95%" @close="iframeUrl8 = ''">
<iframe :src="iframeUrl8" marginwidth="2000px" marginheight="2000px" width="100%" height="750px"
frameborder="0"></iframe>
</el-dialog>
- <el-dialog v-model="iframe9" top="5vh" width="95%" @close="iframeUrl9=''">
+ <el-dialog v-model="iframe9" top="5vh" width="95%" @close="iframeUrl9 = ''">
<iframe :src="iframeUrl9" marginwidth="2000px" marginheight="2000px" width="100%" height="750px"
frameborder="0"></iframe>
</el-dialog>
- <el-dialog v-model="iframe10" top="5vh" width="95%" @close="iframeUrl10=''">
+ <el-dialog v-model="iframe10" top="5vh" width="95%" @close="iframeUrl10 = ''">
<iframe :src="iframeUrl10" marginwidth="2000px" marginheight="2000px" width="100%" height="750px"
frameborder="0"></iframe>
</el-dialog>
<div class="awatch" style="display: flex;">
<!-- 鐢熶骇缁熻 -->
- <div style="height: 100px;width: 15%;float: right;">
- <el-table height="540" ref="table" :data="transposedData" @click="handlehistorical10"
- :header-cell-style="{ background: '#F2F3F5', color: '#1D2129' }">
- <el-table-column prop="name" align="center" min-width="100" />
- <el-table-column v-for="(item, index) in productionVO" :key="index" :prop="'value' + index" align="center"
- min-width="80" />
- </el-table>
- <div>
- <el-button style="margin-top: 5px;margin-left: 5px;" id="searchButton" type="primary"
- @click="handlehistorical1">{{
- $t('large.historicaltasks1') }}</el-button>
- <el-button style="margin-top: 5px;margin-left: 5px;" id="searchButton" type="primary"
- @click="blindc=true">{{
- $t('large.order') }}</el-button>
- <el-button style="margin-top: 5px;margin-left: 5px;" id="searchButton" type="primary"
- @click="handlehistorical2">{{
- $t('large.historicaltasks2') }}</el-button>
- <el-button style="margin-top: 5px;margin-left: 5px;" id="searchButton" type="primary"
- @click="handlehistorical3">{{
- $t('large.historicaltasks3') }}</el-button>
- <el-button style="margin-top: 5px;margin-left: 5px;" id="searchButton" type="primary"
- @click="handlehistorical4">{{
- $t('large.historicaltasks4') }}</el-button>
- <el-button style="margin-top: 5px;margin-left: 5px;" id="searchButton" type="primary"
- @click="handlehistorical5">{{
- $t('large.historicaltasks5') }}</el-button>
- <el-button style="margin-top: 5px;margin-left: 5px;" id="searchButton" type="primary"
- @click="handlehistorical7">{{
- $t('large.historicaltasks7') }}</el-button>
- <el-button style="margin-top: 5px;margin-left: 5px;" id="searchButton" type="primary"
- @click="handlehistorical8">{{
- $t('large.historicaltasks8') }}</el-button>
- <el-button style="margin-top: 5px;margin-left: 5px;" id="searchButton" type="primary"
- @click="handlehistorical6">{{
- $t('large.historicaltasks6') }}</el-button>
- <el-button style="margin-top: 5px;margin-left: 5px;" id="searchButton" type="primary"
- @click="handlehistorical9">{{
- $t('large.historicaltasks9') }}</el-button>
+ <div style="height: 100px;width: 25%;float: right;">
+ <div id="ss" style="width: 100%; display: flex; justify-content: center;">
+ <div ref="chartRef" style="width: 600px; height: 400px;"></div>
+ </div>
+ <div style="width: 100%;height: 245px;display: flex;">
+ <div ref="chartOne" style="width: 100%;"></div>
+ </div>
+ <div style="width: 100%;height: 245px;display: flex;">
+ <div ref="chartTwo" style="width: 100%;"></div>
</div>
</div>
- <div class="img-screen" alt="Screen">
- <!-- 閽㈠寲鑹插潡 -->
- <div v-if="temperingGlassInfoInList > 0" class="tempering"
- style="width: 55px;height: 25px;top: 359px;left: 162px;position: absolute;background-color: #911005;"></div>
- <div v-if="temperingGlassInfoList > 0" class="tempering"
- style="width: 66px;height: 28px;top: 355px;left: 284px;position: absolute;background-color: #911005;"></div>
- <div v-if="temperingGlassInfoList > 1" class="tempering"
- style="width: 66px;height: 28px;top: 355px;left: 358px;position: absolute;background-color: #911005;"></div>
- <!-- 鍒囧壊鍙拌壊鍧� -->
- <div v-if="engineeringOne.length > 1" class="slicing"
- style="width: 59px;height: 29px;top: 629px;left: 562px;position: absolute;background-color: #911005;"></div>
- <div v-if="engineeringTwo.length > 1" class="slicing"
- style="width: 59px;height: 29px;top: 692px;left: 562px;position: absolute;background-color: #911005;"></div>
- <!-- 鍘熺墖浠撳偍鑹插潡 -->
- <div class="raw" style="width: 35px;height: 40px;top: 624px;left: 372px;position: absolute;">
- <div v-for="(item, index) in rawGlassStorageDetailList.slice(0, 7)" :key="index"
- :style='"width: " + (item.remainQuantity / 5) + "px;height: 5.6px;background-color: #911005;"'></div>
+ <div style="width: 50%;">
+ <div class="img-screen" alt="Screen">
+ <!-- 閽㈠寲鍗婇�忔槑鑹插潡 -->
+ <div style="width: 80px;height: 40px;top: 130px;left: 130px;position: absolute;background-color: rgba(0, 0, 0, 0.5);color: white;font-size: 12px;z-index: 999;">
+ <div>{{ $t('large.quantity') }}:{{ productionVO.length > 0 ? productionVO[6].countOut : 0 }}鐗�</div>
+ <div>{{ $t('large.are') }}:{{ productionVO.length > 0 ? productionVO[6].totalAreaOut : 0 }}m虏</div>
+ </div>
+ <!-- 涓┖涓�绾垮崐閫忔槑鑹插潡 -->
+ <div style="width: 80px;height: 40px;top: 315px;left: 450px;position: absolute;background-color: rgba(0, 0, 0, 0.5);color: white;font-size: 12px;z-index: 999;">
+ <div>{{ $t('large.quantity') }}:{{ productionVO.length > 0 ? productionVO[6].hollowCountOutOne : 0 }}鐗�</div>
+ <div>{{ $t('large.are') }}:{{ productionVO.length > 0 ? productionVO[6].hollowTotalAreaOutOne : 0 }}m虏</div>
+ </div>
+ <!-- 涓┖浜岀嚎鍗婇�忔槑鑹插潡 -->
+ <div style="width: 80px;height: 40px;top: 230px;left: 450px;position: absolute;background-color: rgba(0, 0, 0, 0.5);color: white;font-size: 12px;z-index: 999;">
+ <div>{{ $t('large.quantity') }}:{{ productionVO.length > 0 ? productionVO[6].hollowCountOutTwo : 0 }}鐗�</div>
+ <div>{{ $t('large.are') }}:{{ productionVO.length > 0 ? productionVO[6].hollowTotalAreaOutTwo : 0 }}m虏</div>
+ </div>
+ <!-- 鍒囧壊浜岀嚎鍗婇�忔槑鑹插潡 -->
+ <div style="width: 80px;height: 40px;top: 542px;left: 410px;position: absolute;background-color: rgba(0, 0, 0, 0.5);color: white;font-size: 12px;z-index: 999;">
+ <div>{{ $t('large.quantity') }}:{{ productionVO.length > 0 ? productionVO[6].countOutOne : 0 }}鐗�</div>
+ <div>{{ $t('large.are') }}:{{ productionVO.length > 0 ? productionVO[6].totalAreaOutOne : 0 }}m虏</div>
+ </div>
+ <!-- 鍒囧壊涓�绾垮崐閫忔槑鑹插潡 -->
+ <div style="width: 80px;height: 40px;top: 490px;left: 410px;position: absolute;background-color: rgba(0, 0, 0, 0.5);color: white;font-size: 12px;z-index: 999;">
+ <div>{{ $t('large.quantity') }}:{{ productionVO.length > 0 ? productionVO[6].countOutTwo : 0 }}鐗�</div>
+ <div>{{ $t('large.are') }}:{{ productionVO.length > 0 ? productionVO[6].totalAreaOutTwo : 0 }}m虏</div>
+ </div>
+ <!-- 纾ㄨ竟涓�绾垮崐閫忔槑鑹插潡 -->
+ <div style="width: 80px;height: 40px;top: 410px;left: 450px;position: absolute;background-color: rgba(0, 0, 0, 0.5);color: white;font-size: 12px;z-index: 999;">
+ <div>{{ $t('large.quantity') }}:{{ productionVO.length > 0 ? productionVO[6].countOutOne : 0 }}鐗�</div>
+ <div>{{ $t('large.are') }}:{{ productionVO.length > 0 ? productionVO[6].totalAreaOutOne : 0 }}m虏</div>
+ </div>
+ <!-- 纾ㄨ竟浜岀嚎鍗婇�忔槑鑹插潡 -->
+ <div style="width: 80px;height: 40px;top: 369px;left: 450px;position: absolute;background-color: rgba(0, 0, 0, 0.5);color: white;font-size: 12px;z-index: 999;">
+ <div>{{ $t('large.quantity') }}:{{ productionVO.length > 0 ? productionVO[6].countOutTwo : 0 }}鐗�</div>
+ <div>{{ $t('large.are') }}:{{ productionVO.length > 0 ? productionVO[6].totalAreaOutTwo : 0 }}m虏</div>
+ </div>
+ <!-- 閽㈠寲鍓嶅ぇ鐞嗙墖鍗婇�忔槑鑹插潡 -->
+ <div style="width: 80px;height: 40px;top: 380px;left: 290px;position: absolute;background-color: rgba(0, 0, 0, 0.5);color: white;font-size: 12px;z-index: 999;">
+ <div>{{ $t('large.quantity') }}:{{ productionVO.length > 0 ? productionVO[6].countIn : 0 }}鐗�</div>
+ <div>{{ $t('large.are') }}:{{ productionVO.length > 0 ? productionVO[6].totalAreaIn : 0 }}m虏</div>
+ </div>
+
+ <!-- 閽㈠寲鑹插潡 -->
+ <div v-if="temperingGlassInfoInList > 0" class="tempering"
+ style="width: 44px;height: 19px;top: 284px;left: 178px;position: absolute;background-color: #911005;"></div>
+ <div v-if="temperingGlassInfoList > 0" class="tempering"
+ style="width: 53px;height: 22px;top: 282px;left: 226px;position: absolute;background-color: #911005;"></div>
+ <div v-if="temperingGlassInfoList > 1" class="tempering"
+ style="width: 53px;height: 22px;top: 282px;left: 282px;position: absolute;background-color: #911005;"></div>
+ <!-- 鍒囧壊鍙拌壊鍧� -->
+ <div v-if="engineeringOne.length > 1" class="slicing"
+ style="width: 45px;height: 20px;top: 500px;left: 496px;position: absolute;background-color: #911005;"></div>
+ <div v-if="engineeringTwo.length > 1" class="slicing"
+ style="width: 45px;height: 20px;top: 550px;left: 496px;position: absolute;background-color: #911005;"></div>
+ <!-- 鍘熺墖浠撳偍鑹插潡 -->
+ <div class="raw" style="width: 27px;height: 30px;top: 497px;left: 296px;position: absolute;">
+ <div v-for="(item, index) in rawGlassStorageDetailList.slice(0, 7)" :key="index"
+ :style='"width: " + (item.remainQuantity / 1.8) + "px;height: 5.6px;background-color: #911005;"'></div>
+ </div>
+ <div class="raw" style="width: 27px;height: 45px;top: 535px;left: 296px;position: absolute;">
+ <div v-for="(item, index) in rawGlassStorageDetailList.slice(8, 17)" :key="index"
+ :style='"width: " + (item.remainQuantity / 1.8) + "px;height: 5.6px;background-color: #911005;"'></div>
+ </div>
+ <div class="raw" style="width: 27px;height: 13px;top: 598px;left: 296px;position: absolute;">
+ <div v-for="(item, index) in rawGlassStorageDetailList.slice(18, 20)" :key="index"
+ :style='"width: " + (item.remainQuantity / 1.8) + "px;height: 5.6px;background-color: #911005;"'></div>
+ </div>
+ <div class="raw" style="width: 27px;height: 23px;top: 580px;left: 365px;position: absolute;">
+ <div v-for="(item, index) in rawGlassStorageDetailList.slice(21, 25)" :key="index"
+ :style='"width: " + (item.remainQuantity / 1.8) + "px;height: 5.6px;background-color: #911005;"'></div>
+ </div>
+ <!-- <div class="raw" style="width: 27px;height: 12px;top: 611px;left: 459px;position: absolute;">
+ <div v-for="(item, index) in rawGlassStorageDetailList.slice(26, 27)" :key="index"
+ :style='"width: " + (item.remainQuantity / 1.8) + "px;height: 5.6px;background-color: #911005;"'></div>
+ </div>
+ <div class="raw" style="width: 27px;height: 12px;top: 6676px;left: 459px;position: absolute;">
+ <div v-for="(item, index) in rawGlassStorageDetailList.slice(28, 29)" :key="index"
+ :style='"width: " + (item.remainQuantity / 1.8) + "px;height: 5.6px;background-color: #911005;"'></div>
+ </div> -->
+ <!-- 纾ㄨ竟鑹插潡 -->
+ <div class="container"
+ style="position: relative;width: 15px;height: 15px;top: 500px;left: 638px;position: absolute;">
+ <div v-for="(box, index) in boxes" :key="index" class="box" :style="box.style"></div>
+ </div>
+ <div class="container"
+ style="position: relative;width: 15px;height: 15px;top: 548px;left: 690px;position: absolute;">
+ <div v-for="(box, index) in boxes2" :key="index" class="box" :style="box.style"></div>
+ </div>
+ <!-- 閽㈠寲杩愬姩鑹插潡 -->
+ <div class="container"
+ style="position: relative;width: 15px;height: 15px;top: 370px;left: 195px;position: absolute;background-color: red;">
+ <div v-for="(box, index) in boxes3" :key="index" class="box" :style="box.style"></div>
+ </div>
+ <div class="container"
+ style="position: relative;width: 15px;height: 15px;top: 284px;left: 489px;position: absolute;">
+ <div v-for="(box, index) in boxes4" :key="index" class="box" :style="box.style"></div>
+ </div>
+ <!-- 閽㈠寲鍓嶅ぇ鐞嗙墖鑹插潡 -->
+ <div class="container" v-for="(item, index) in bigStorageCageUsage.slice(0, 1)" :key="index"
+ :style='"position: relative;width: " + (37 * item.percentage / 100) + "px;height: 13px;top: 374px;left: 309px;position: absolute;background-color: #911005;"'>
+ </div>
+ <div class="container" v-for="(item, index) in bigStorageCageUsage.slice(1, 2)" :key="index"
+ :style='"position: relative;width: " + (37 * item.percentage / 100) + "px;height: 13px;top: 390px;left: 309px;position: absolute;background-color: #911005;"'>
+ </div>
+ <div class="container" v-for="(item, index) in bigStorageCageUsage.slice(2, 3)" :key="index"
+ :style='"position: relative;width: " + (37 * item.percentage / 100) + "px;height: 13px;top: 406px;left: 309px;position: absolute;background-color: #911005;"'>
+ </div>
+ <div class="container" v-for="(item, index) in bigStorageCageUsage.slice(3, 4)" :key="index"
+ :style='"position: relative;width: " + (37 * item.percentage / 100) + "px;height: 13px;top: 422px;left: 309px;position: absolute;background-color: #911005;"'>
+ </div>
+ <!-- 涓┖鍓嶅ぇ鐞嗙墖鑹插潡 -->
+ <div class="container" v-for="(item, index) in hollowBigStorageCageUsage.slice(0, 1)" :key="index"
+ :style='"position: relative;width: " + (37 * item.percentage / 100) + "px;height: 13px;top: 265px;left: 662px;position: absolute;background-color: #911005;"'>
+ </div>
+ <div class="container" v-for="(item, index) in hollowBigStorageCageUsage.slice(1, 2)" :key="index"
+ :style='"position: relative;width: " + (37 * item.percentage / 100) + "px;height: 13px;top: 281px;left: 662px;position: absolute;background-color: #911005;"'>
+ </div>
+ <div class="container" v-for="(item, index) in hollowBigStorageCageUsage.slice(2, 3)" :key="index"
+ :style='"position: relative;width: " + (37 * item.percentage / 100) + "px;height: 13px;top: 297px;left: 662px;position: absolute;background-color: #911005;"'>
+ </div>
+ <div class="container" v-for="(item, index) in hollowBigStorageCageUsage.slice(3, 4)" :key="index"
+ :style='"position: relative;width: " + (37 * item.percentage / 100) + "px;height: 13px;top: 313px;left: 662px;position: absolute;background-color: #911005;"'>
+ </div>
+ <div class="container" v-for="(item, index) in hollowBigStorageCageUsage.slice(4, 5)" :key="index"
+ :style='"position: relative;width: " + (37 * item.percentage / 100) + "px;height: 13px;top: 329px;left: 662px;position: absolute;background-color: #911005;"'>
+ </div>
+ <div class="clickable-area" @click="handlehistorical"
+ style="position: relative;width: 108px;height: 134px;top: 478px;left: 290px;"></div>
</div>
- <div class="raw" style="width: 35px;height: 58px;top: 673px;left: 372px;position: absolute;">
- <div v-for="(item, index) in rawGlassStorageDetailList.slice(8, 17)" :key="index"
- :style='"width: " + (item.remainQuantity / 5) + "px;height: 5.6px;background-color: #911005;"'></div>
+ <div style="height: 190px;width: 100%;float: right;">
+ <el-table height="190" ref="table" :data="orderDTOS"
+ :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
+ <el-table-column prop="orderId" align="center" :label="$t('large.orderId')" min-width="50" />
+ <el-table-column prop="customerName" align="center" :show-overflow-tooltip="true"
+ :label="$t('large.customerName')" min-width="90" />
+ <el-table-column prop="project" align="center" :label="$t('large.project')" min-width="50" />
+ <el-table-column prop="area" align="center" :label="$t('large.are')" min-width="50" />
+ <el-table-column prop="quantity" align="center" :label="$t('large.quantity')" min-width="50" />
+ <el-table-column prop="percent" align="center" :label="$t('large.percent')" min-width="50" />
+ <el-table-column align="center" :label="$t('large.operate')" min-width="50">
+ <template #default="scope">
+ <el-button type="text" style="margin-left: 10px;margin-bottom: 10px;"
+ @click="flowCardDetail(scope.row.orderId)">{{ $t('large.mes') }}</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
</div>
- <div class="raw" style="width: 35px;height: 20px;top: 751px;left: 372px;position: absolute;">
- <div v-for="(item, index) in rawGlassStorageDetailList.slice(18, 20)" :key="index"
- :style='"width: " + (item.remainQuantity / 5) + "px;height: 5.6px;background-color: #911005;"'></div>
+ </div>
+
+ <div style="height: 100px;width: 25%;float: right;">
+ <div id="ss" style="width: 100%; display: flex; justify-content: center;">
+ <div ref="chartRef2" style="width: 600px; height: 400px;"></div>
</div>
- <div class="raw" style="width: 35px;height: 27px;top: 732px;left: 459px;position: absolute;">
- <div v-for="(item, index) in rawGlassStorageDetailList.slice(21, 25)" :key="index"
- :style='"width: " + (item.remainQuantity / 5) + "px;height: 5.6px;background-color: #911005;"'></div>
+ <div style="width: 100%;height: 245px;display: flex;">
+ <div ref="chartThree" style="width: 100%;"></div>
</div>
- <div class="raw" style="width: 35px;height: 12px;top: 611px;left: 459px;position: absolute;">
- <div v-for="(item, index) in rawGlassStorageDetailList.slice(26, 27)" :key="index"
- :style='"width: " + (item.remainQuantity / 5) + "px;height: 5.6px;background-color: #911005;"'></div>
+ <div style="width: 100%;height: 245px;display: flex;">
+ <div ref="chartFour" style="width: 100%;"></div>
</div>
- <div class="raw" style="width: 35px;height: 12px;top: 6676px;left: 459px;position: absolute;">
- <div v-for="(item, index) in rawGlassStorageDetailList.slice(28, 29)" :key="index"
- :style='"width: " + (item.remainQuantity / 5) + "px;height: 5.6px;background-color: #911005;"'></div>
- </div>
- <!-- 纾ㄨ竟鑹插潡 -->
- <div class="container"
- style="position: relative;width: 20px;height: 20px;top: 628px;left: 804px;position: absolute;">
- <div v-for="(box, index) in boxes" :key="index" class="box" :style="box.style"></div>
- </div>
- <div class="container"
- style="position: relative;width: 20px;height: 20px;top: 690px;left: 867px;position: absolute;">
- <div v-for="(box, index) in boxes2" :key="index" class="box" :style="box.style"></div>
- </div>
- <!-- 閽㈠寲杩愬姩鑹插潡 -->
- <div class="container"
- style="position: relative;width: 20px;height: 20px;top: 468px;left: 250px;position: absolute;">
- <div v-for="(box, index) in boxes3" :key="index" class="box" :style="box.style"></div>
- </div>
- <div class="container"
- style="position: relative;width: 20px;height: 20px;top: 357px;left: 618px;position: absolute;">
- <div v-for="(box, index) in boxes4" :key="index" class="box" :style="box.style"></div>
- </div>
- <!-- 閽㈠寲鍓嶅ぇ鐞嗙墖鑹插潡 -->
- <div class="container" v-for="(item, index) in bigStorageCageUsage.slice(0, 1)" :key="index"
- :style='"position: relative;width: " + (46 * item.percentage / 100) + "px;height: 17px;top: 471px;left: 389px;position: absolute;background-color: #911005;"'>
- </div>
- <div class="container" v-for="(item, index) in bigStorageCageUsage.slice(1, 2)" :key="index"
- :style='"position: relative;width: " + (46 * item.percentage / 100) + "px;height: 17px;top: 491px;left: 389px;position: absolute;background-color: #911005;"'>
- </div>
- <div class="container" v-for="(item, index) in bigStorageCageUsage.slice(2, 3)" :key="index"
- :style='"position: relative;width: " + (46 * item.percentage / 100) + "px;height: 17px;top: 510px;left: 389px;position: absolute;background-color: #911005;"'>
- </div>
- <div class="container" v-for="(item, index) in bigStorageCageUsage.slice(3, 4)" :key="index"
- :style='"position: relative;width: " + (46 * item.percentage / 100) + "px;height: 17px;top: 530px;left: 389px;position: absolute;background-color: #911005;"'>
- </div>
- <!-- 涓┖鍓嶅ぇ鐞嗙墖鑹插潡 -->
- <div class="container" v-for="(item, index) in hollowBigStorageCageUsage.slice(0, 1)" :key="index"
- :style='"position: relative;width: " + (46 * item.percentage / 100) + "px;height: 17px;top: 334px;left: 832px;position: absolute;background-color: #911005;"'>
- </div>
- <div class="container" v-for="(item, index) in hollowBigStorageCageUsage.slice(1, 2)" :key="index"
- :style='"position: relative;width: " + (46 * item.percentage / 100) + "px;height: 17px;top: 354px;left: 832px;position: absolute;background-color: #911005;"'>
- </div>
- <div class="container" v-for="(item, index) in hollowBigStorageCageUsage.slice(2, 3)" :key="index"
- :style='"position: relative;width: " + (46 * item.percentage / 100) + "px;height: 17px;top: 374px;left: 832px;position: absolute;background-color: #911005;"'>
- </div>
- <div class="container" v-for="(item, index) in hollowBigStorageCageUsage.slice(3, 4)" :key="index"
- :style='"position: relative;width: " + (46 * item.percentage / 100) + "px;height: 17px;top: 394px;left: 832px;position: absolute;background-color: #911005;"'>
- </div>
- <div class="container" v-for="(item, index) in hollowBigStorageCageUsage.slice(4, 5)" :key="index"
- :style='"position: relative;width: " + (46 * item.percentage / 100) + "px;height: 17px;top: 414px;left: 832px;position: absolute;background-color: #911005;"'>
- </div>
- <div class="clickable-area" @click="handlehistorical"
- style="position: relative;width: 140px;height: 170px;top: 603px;left: 364px;"></div>
</div>
</div>
</div>
@@ -740,8 +1224,8 @@
/* float: left; */
position: relative;
background-image: url('../../assets/screen.png');
- width: 1002px;
- height: 878px;
+ width: 795px;
+ height: 700px;
background-size: contain;
background-repeat: no-repeat;
/* background-position: center; */
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/largenscreen/entity/PieChartVO.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/largenscreen/entity/PieChartVO.java
new file mode 100644
index 0000000..1d1ff4d
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/largenscreen/entity/PieChartVO.java
@@ -0,0 +1,50 @@
+package com.mes.largenscreen.entity;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Author : zhoush
+ * @Date: 2025/3/12 14:30
+ * @Description:
+ */
+@Data
+public class PieChartVO {
+
+ @ApiModelProperty(value = "涓�绾垮凡瀹屾垚鐜荤拑鏁伴噺")
+ private Integer oneCompletedQuantity;
+
+ @ApiModelProperty(value = "涓�绾垮凡瀹屾垚鐜荤拑闈㈢Н")
+ private Double oneCompletedArea;
+
+ @ApiModelProperty(value = "涓�绾挎鐮寸幓鐠冩暟閲�")
+ private Integer oneDamageQuantity;
+
+ @ApiModelProperty(value = "涓�绾挎鐮寸幓鐠冮潰绉�")
+ private Double oneDamageArea;
+
+ @ApiModelProperty(value = "浜岀嚎宸插畬鎴愮幓鐠冩暟閲�")
+ private Integer twoCompletedQuantity;
+
+ @ApiModelProperty(value = "浜岀嚎宸插畬鎴愮幓鐠冮潰绉�")
+ private Double twoCompletedArea;
+
+ @ApiModelProperty(value = "浜岀嚎娆$牬鐜荤拑鏁伴噺")
+ private Integer twoDamageQuantity;
+
+ @ApiModelProperty(value = "浜岀嚎娆$牬鐜荤拑闈㈢Н")
+ private Double twoDamageArea;
+
+ @ApiModelProperty(value = "涓�绾挎湭瀹屾垚鐜荤拑鏁伴噺")
+ private Integer oneUncompletedQuantity;
+
+ @ApiModelProperty(value = "涓�绾挎湭瀹屾垚鐜荤拑闈㈢Н")
+ private Double oneUncompletedArea;
+
+ @ApiModelProperty(value = "浜岀嚎鏈畬鎴愮幓鐠冩暟閲�")
+ private Integer twoUncompletedQuantity;
+
+ @ApiModelProperty(value = "浜岀嚎鏈畬鎴愮幓鐠冮潰绉�")
+ private Double twoUncompletedArea;
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/largenscreen/service/LargenScreenService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/largenscreen/service/LargenScreenService.java
index 4e17c4f..f3a419f 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/largenscreen/service/LargenScreenService.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/largenscreen/service/LargenScreenService.java
@@ -3,6 +3,9 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mes.largenscreen.entity.DailyProductionVO;
import com.mes.largenscreen.entity.DateRequest;
+import com.mes.largenscreen.entity.PieChartVO;
+
+import java.util.List;
/**
* @Author : zhoush
@@ -13,5 +16,6 @@
Page<DailyProductionVO> queryDailyProduction(DateRequest query);
- DailyProductionVO querySameDayProduction(DateRequest query);
+ List<DailyProductionVO> querySameDayProduction(DateRequest query);
+
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/largenscreen/service/impl/LargenScreenServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/largenscreen/service/impl/LargenScreenServiceImpl.java
index 5df6c32..1e0505a 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/largenscreen/service/impl/LargenScreenServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/largenscreen/service/impl/LargenScreenServiceImpl.java
@@ -11,6 +11,7 @@
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
+import java.util.Calendar;
import java.util.Date;
import java.util.List;
@@ -37,14 +38,16 @@
}
@Override
- public DailyProductionVO querySameDayProduction(DateRequest query) {
+ public List<DailyProductionVO> querySameDayProduction(DateRequest query) {
if (StringUtils.isEmpty(query.getBeginDate())) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- query.setBeginDate(sdf.format(new Date()));
+ Calendar calendar = Calendar.getInstance();
+ calendar.add(Calendar.DAY_OF_MONTH, -6);
+ query.setBeginDate(sdf.format(calendar.getTime()));
query.setEndDate(sdf.format(new Date()));
}
List<DailyProductionVO> list = largenScreenMapper.queryDailyProduction(query.getBeginDate(), query.getEndDate());
- return list.get(0);
+ return list;
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/controller/OrderController.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/controller/OrderController.java
index ab39284..cfa146d 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/controller/OrderController.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/controller/OrderController.java
@@ -1,6 +1,9 @@
package com.mes.order.controller;
+
import com.mes.order.entity.Orderdetail;
import com.mes.order.entity.Orders;
+import com.mes.order.entity.dto.OrderDTO;
+import com.mes.order.entity.request.OrderRequest;
import com.mes.order.service.OrdersService;
import com.mes.utils.Result;
import io.swagger.annotations.Api;
@@ -13,7 +16,7 @@
/**
* <p>
- * 鍓嶇鎺у埗鍣�
+ * 鍓嶇鎺у埗鍣�
* </p>
*
* @author wu
@@ -37,5 +40,13 @@
log.info("鏄剧ず璁㈠崟璇︽儏淇℃伅:{}", glass);
return Result.build(200, "", glass);
}
+
+ @ApiOperation("璁㈠崟鎺ュ彛鏌ヨ")
+ @PostMapping("/selectOrder") //鏄剧ず宸ョ▼閫夋嫨淇℃伅
+ @ResponseBody
+ public Result<List<OrderDTO>> selectOrder(@RequestBody OrderRequest orderRequest) {
+// OrderDTO orderDTO = new OrderDTO();
+ return Result.build(200, "", null);
+ }
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/dto/OrderDTO.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/dto/OrderDTO.java
index 7a3f2de..6f7b4ca 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/dto/OrderDTO.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/dto/OrderDTO.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.models.auth.In;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -41,12 +42,12 @@
/**
* 璁㈠崟鏁伴噺
*/
- private String quantity;
+ private Integer quantity;
/**
* 璁㈠崟闈㈢Н
*/
- private String area;
+ private Double area;
/**
* 鍒涘缓鏃堕棿
@@ -56,7 +57,12 @@
/**
* 璁㈠崟杩涘害鐧惧垎姣�
*/
- private String percent;
+ private Double percent;
+
+ /**
+ * 璁㈠崟鐘舵��
+ */
+ private Integer orderStatus;
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/request/OrderRequest.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/request/OrderRequest.java
new file mode 100644
index 0000000..67c0f8b
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/request/OrderRequest.java
@@ -0,0 +1,42 @@
+package com.mes.order.entity.request;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author wu
+ * @since 2024-06-17
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class OrderRequest implements Serializable {
+
+ @ApiModelProperty(value = "璁㈠崟Id")
+ private String orderId;
+ @ApiModelProperty(value = "瀹㈡埛鍚嶇О")
+ private String customerName;
+ @ApiModelProperty(value = "椤圭洰鍚嶇О")
+ private String project;
+ @ApiModelProperty(value = "璁㈠崟鐘舵��")
+ private Integer orderStatus;
+ @ApiModelProperty(value = "寮�濮嬫椂闂�")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date startTime;
+ @ApiModelProperty(value = "缁撴潫鏃堕棿")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date endTime;
+
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/FlowCardController.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/FlowCardController.java
index 670a88a..badef54 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/FlowCardController.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/FlowCardController.java
@@ -2,6 +2,8 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.mes.pp.entity.dto.FlowCardPercentDTO;
+import com.mes.pp.entity.request.FlowCardRequest;
import com.mes.pp.service.FlowCardService;
import com.mes.utils.Result;
import io.swagger.annotations.Api;
@@ -14,6 +16,7 @@
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
+import java.util.List;
/**
* <p>
@@ -37,5 +40,11 @@
return Result.build(200, "鏌ヨ鎴愬姛", flowCardService.flowCardReportForms(orderId));
}
+ @ApiOperation("璁㈠崟璇︽儏杩涘害鎺ュ彛")
+ @PostMapping("/flowCardPercent")
+ public Result<List<FlowCardPercentDTO>> flowCardPercent(@RequestBody FlowCardRequest flowCardRequest) {
+ return Result.build(200, "鏌ヨ鎴愬姛", null);
+ }
+
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/ReportingWorkDetailController.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/ReportingWorkDetailController.java
index b22f975..8460756 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/ReportingWorkDetailController.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/ReportingWorkDetailController.java
@@ -1,21 +1,37 @@
package com.mes.pp.controller;
+import com.mes.pp.entity.dto.FlowCardPercentDTO;
+import com.mes.pp.entity.dto.ReportWorkDTO;
+import com.mes.pp.entity.request.FlowCardRequest;
+import com.mes.pp.entity.request.ReportWorkRequest;
+import com.mes.utils.Result;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import java.util.List;
+
/**
* <p>
- * 鍓嶇鎺у埗鍣�
+ * 鍓嶇鎺у埗鍣�
* </p>
*
* @author wu
* @since 2024-07-25
*/
+@Api(tags = "鎶ュ伐")
@RestController
@RequestMapping("/reporting-work-detail")
public class ReportingWorkDetailController {
+ @ApiOperation("鎶ュ伐鏁版嵁鏌ヨ鎺ュ彛")
+ @PostMapping("/reportWorkQuery")
+ public Result<List<ReportWorkDTO>> reportWorkQuery(@RequestBody ReportWorkRequest reportWorkRequest) {
+ return Result.build(200, "鏌ヨ鎴愬姛", null);
+ }
}
-
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/dto/FlowCardPercentDTO.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/dto/FlowCardPercentDTO.java
new file mode 100644
index 0000000..2f89fd3
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/dto/FlowCardPercentDTO.java
@@ -0,0 +1,102 @@
+package com.mes.pp.entity.dto;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author wu
+ * @since 2024-07-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class FlowCardPercentDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 娴佺▼鍗″彿
+ */
+ private String processId;
+
+ /**
+ * 灞傚彿
+ */
+ private Integer technologyNumber;
+
+ /**
+ * 璁㈠崟搴忓彿
+ */
+ private Integer orderNumber;
+
+ /**
+ * 椤圭洰鍚嶇О
+ */
+ private String productName;
+
+ /**
+ * 鐜荤拑鍚嶇О
+ */
+ private String glassChild;
+
+ /**
+ * 瀹�
+ */
+ private Double width;
+
+ /**
+ * 楂�
+ */
+ private Double height;
+
+ /**
+ * 璁㈠崟鏁伴噺
+ */
+ private Integer quantity;
+
+ /**
+ * 璁㈠崟绫诲瀷
+ */
+ private String orderType;
+
+ /**
+ * 闈㈢Н
+ */
+ private Double area;
+
+ /**
+ * 琛ョ墖鏁伴噺
+ */
+ private Integer PatchQuantity;
+
+ /**
+ * 鎶ュ伐宸ュ簭
+ */
+ private String reportWorkProcess;
+
+ /**
+ * 鎶ュ伐鏁伴噺
+ */
+ private String reportWorkQuantityCount;
+
+ /**
+ * 搴撳瓨鏁伴噺
+ */
+ private Integer inventory;
+
+ /**
+ * 鐢熶骇缁堟鐘舵��
+ */
+ private String orderNumberStatus;
+
+ /**
+ * 鐢熶骇缁堟鐘舵��
+ */
+ private String packagingMethod;
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/dto/ReportWorkDTO.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/dto/ReportWorkDTO.java
new file mode 100644
index 0000000..fef34cb
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/dto/ReportWorkDTO.java
@@ -0,0 +1,67 @@
+package com.mes.pp.entity.dto;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author wu
+ * @since 2024-07-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class ReportWorkDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 娴佺▼鍗″彿
+ */
+ private String processId;
+
+ /**
+ * 灞傚彿
+ */
+ private Integer technologyNumber;
+
+ /**
+ * 鎶ュ伐宸ュ簭
+ */
+ private String reportWorkProcess;
+
+ /**
+ * 鐜荤拑鍚嶇О
+ */
+ private String glassChild;
+
+ /**
+ * 鎶ュ伐鏁伴噺
+ */
+ private String reportWorkQuantity;
+
+ /**
+ * 鎶ュ伐闈㈢Н
+ */
+ private String reportWorkArea;
+
+ /**
+ * 娆$牬鏁伴噺
+ */
+ private String damageWorkQuantity;
+
+ /**
+ * 娆$牬闈㈢Н
+ */
+ private String damageWorkArea;
+
+ /**
+ * 鏃堕棿
+ */
+ private String reportTime;
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/request/FlowCardRequest.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/request/FlowCardRequest.java
new file mode 100644
index 0000000..ff27e1d
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/request/FlowCardRequest.java
@@ -0,0 +1,28 @@
+package com.mes.pp.entity.request;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author wu
+ * @since 2024-06-17
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class FlowCardRequest implements Serializable {
+
+ @ApiModelProperty(value = "璁㈠崟Id")
+ private String orderId;
+
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/request/ReportWorkRequest.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/request/ReportWorkRequest.java
new file mode 100644
index 0000000..f5bc1fc
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/request/ReportWorkRequest.java
@@ -0,0 +1,38 @@
+package com.mes.pp.entity.request;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author wu
+ * @since 2024-06-17
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class ReportWorkRequest implements Serializable {
+
+ @ApiModelProperty(value = "娴佺▼鍗″彿")
+ private String processId;
+ @ApiModelProperty(value = "宸ュ簭鍚嶇О")
+ private String reportWorkProcess;
+ @ApiModelProperty(value = "寮�濮嬫椂闂�")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date startTime;
+ @ApiModelProperty(value = "缁撴潫鏃堕棿")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date endTime;
+
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java
index 014b036..aec9520 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java
@@ -2,6 +2,7 @@
import com.baomidou.dynamic.datasource.annotation.DS;
import com.github.yulichang.base.MPJBaseMapper;
+import com.mes.largenscreen.entity.PieChartVO;
import com.mes.temperingglass.entity.TemperingGlassInfo;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@@ -30,4 +31,17 @@
"deleted = CASE WHEN #{state} < 8 THEN 0 ELSE deleted END " +
"WHERE glass_id = #{glassId}")
Integer updateTemperingGlassInfo(TemperingGlassInfo temperingGlassInfo);
+
+ @Select("SELECT\n" +
+ "\tround( SUM ( CASE WHEN state <> - 1 AND state <> 8 THEN 1 ELSE 0 END ), 2 ) AS oneCompletedQuantity,\n" +
+ "\tround( SUM ( CASE WHEN state <> - 1 AND state <> 8 THEN CAST ( width AS FLOAT ) * height / 1000000 ELSE 0 END ), 2 ) AS oneCompletedArea,\n" +
+ "\tround( SUM ( CASE WHEN state = 8 THEN 1 ELSE 0 END ), 2 ) AS oneDamageQuantity,\n" +
+ "\tround( SUM ( CASE WHEN state = 8 THEN CAST ( width AS FLOAT ) * height / 1000000 ELSE 0 END ), 2 ) AS oneDamageArea,\n" +
+ "\tround( SUM ( CASE WHEN state = - 1 THEN 1 ELSE 0 END ), 2 ) AS oneUncompletedQuantity,\n" +
+ "\tround(SUM ( CASE WHEN state = - 1 THEN CAST ( width AS FLOAT ) * height / 1000000 ELSE 0 END ), 2 ) AS oneUncompletedArea \n" +
+ "FROM\n" +
+ "\ttempering_glass_info \n" +
+ "WHERE\n" +
+ "\tCONVERT ( DATE, create_time ) = CONVERT ( DATE, getdate( ) )")
+ List<PieChartVO> queryPieChart();
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java
index de870f1..23f2995 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java
@@ -3,6 +3,7 @@
import com.github.yulichang.base.MPJBaseService;
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.entity.LoadGlassInfo;
+import com.mes.largenscreen.entity.PieChartVO;
import com.mes.temperingglass.entity.TemperingGlassInfo;
import java.util.List;
@@ -60,4 +61,10 @@
GlassInfo selectTempering(GlassInfo glassInfo);
List<LoadGlassInfo> selectTemperingGlass(GlassInfo glassInfo);
+
+ /**
+ * 鑾峰彇閽㈠寲楗煎浘淇℃伅
+ * @return
+ */
+ List<PieChartVO> queryPieChart();
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
index 33749f5..76fcb63 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
@@ -8,6 +8,7 @@
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.entity.LoadGlassInfo;
import com.mes.glassinfo.mapper.GlassInfoMapper;
+import com.mes.largenscreen.entity.PieChartVO;
import com.mes.temperingglass.entity.TemperingGlassInfo;
import com.mes.temperingglass.mapper.TemperingGlassInfoMapper;
import com.mes.temperingglass.service.TemperingGlassInfoService;
@@ -26,7 +27,7 @@
* @since 2024-04-07
*/
@Service
-@DS("salve_northGlassMes")
+@DS("north_glass_mes")
public class TemperingGlassInfoServiceImpl extends MPJBaseServiceImpl<TemperingGlassInfoMapper, TemperingGlassInfo> implements TemperingGlassInfoService {
@Resource
TemperingGlassInfoMapper temperingMapper;
@@ -167,4 +168,9 @@
// .select("engineer_id,tempering_layout_id,width,height,tempering_feed_sequence,x_coordinate,y_coordinate,angle,glass_id");
// return glassInfoMapper.selectList(wrapper);
}
+
+ @Override
+ public List<PieChartVO> queryPieChart() {
+ return baseMapper.queryPieChart();
+ }
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/mapper/EdgStorageCageDetailsMapper.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/mapper/EdgStorageCageDetailsMapper.java
index 118758e..acc2a3b 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/mapper/EdgStorageCageDetailsMapper.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/mapper/EdgStorageCageDetailsMapper.java
@@ -4,6 +4,7 @@
import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
import com.mes.edgstoragecage.entity.vo.CutDrawingVO;
import com.mes.edgstoragecage.entity.vo.EdgSlotRemainVO;
+import com.mes.largenscreen.entity.PieChartVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.security.core.parameters.P;
@@ -24,4 +25,6 @@
List<CutDrawingVO> queryCutDrawingByEngineerId(@Param("engineerId") String engineerId, @Param("patternSequence") int patternSequence, @Param("isAll") int isAll);
List<EdgSlotRemainVO> querySlotRemainWidth(@Param("cellLength") int cellLength, @Param("glassGap") int glassGap);
+
+ List<PieChartVO> queryPieChart();
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java
index 96c4589..c097538 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java
@@ -6,6 +6,7 @@
import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
import com.mes.edgstoragecage.entity.vo.CutDrawingVO;
import com.mes.edgstoragecage.entity.vo.EdgSlotRemainVO;
+import com.mes.largenscreen.entity.PieChartVO;
import java.util.List;
import java.util.Map;
@@ -99,4 +100,6 @@
String edgDetailsOperate(DamageRequest request);
List<EdgSlotRemainVO> querySlotRemainWidth(int cellLength, int glassGap);
+
+ List<PieChartVO> queryPieChart();
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
index a001af5..b839c1b 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
@@ -26,6 +26,7 @@
import com.mes.engineering.mapper.EngineeringMapper;
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.service.GlassInfoService;
+import com.mes.largenscreen.entity.PieChartVO;
import com.mes.pp.entity.OptimizeHeatDetail;
import com.mes.pp.entity.OptimizeHeatLayout;
import com.mes.pp.entity.OptimizeProject;
@@ -369,4 +370,9 @@
public List<EdgSlotRemainVO> querySlotRemainWidth(int cellLength, int glassGap) {
return this.baseMapper.querySlotRemainWidth(cellLength, glassGap);
}
+
+ @Override
+ public List<PieChartVO> queryPieChart(){
+ return this.baseMapper.queryPieChart();
+ }
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java
index ac44ca6..0c1e86a 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java
@@ -12,6 +12,7 @@
import com.mes.engineering.service.EngineeringService;
import com.mes.largenscreen.entity.DailyProductionVO;
import com.mes.largenscreen.entity.DateRequest;
+import com.mes.largenscreen.entity.PieChartVO;
import com.mes.largenscreen.service.LargenScreenService;
import com.mes.opctask.entity.EdgStorageDeviceTaskHistory;
import com.mes.opctask.service.EdgStorageDeviceTaskHistoryService;
@@ -150,7 +151,7 @@
@Scheduled(fixedDelay = 1000)
public void querySameDayProductionTask() {
JSONObject jsonObject = new JSONObject();
- DailyProductionVO productionVO = largenScreenService.querySameDayProduction(new DateRequest());
+ List<DailyProductionVO> productionVO = largenScreenService.querySameDayProduction(new DateRequest());
jsonObject.append("productionVO", productionVO);
ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("largenScreenProduction");
@@ -198,6 +199,8 @@
);
jsonObject.append("engineeringOne", engineeringOne);
jsonObject.append("engineeringTwo", engineeringTow);
+ List<PieChartVO> pieChartVOS = edgStorageCageDetailsService.queryPieChart();
+ jsonObject.append("pieChartVOS", pieChartVOS);
ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("largenScreen");
if (sendwServer != null) {
for (WebSocketServer webserver : sendwServer) {
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/mapper/EdgStorageCageDetailsMapper.xml b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/mapper/EdgStorageCageDetailsMapper.xml
index 3340925..00ab0ae 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/mapper/EdgStorageCageDetailsMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/mapper/EdgStorageCageDetailsMapper.xml
@@ -78,4 +78,21 @@
sum(GREATEST(width,height)+#{glassGap}) )as
remain_width from edg_storage_cage_details where state = 100 group by device_id,slot
</select>
+ <select id="queryPieChart" resultType="com.mes.largenscreen.entity.PieChartVO">
+ SELECT
+ round(sum( CASE WHEN e.station_cell = 5 THEN 1 ELSE 0 END ),2) as oneCompletedQuantity,
+ round(sum( CASE WHEN e.station_cell = 5 THEN escd.width*escd.height/1000000 ELSE 0 END ),2) as oneCompletedArea,
+ round(sum( CASE WHEN e.station_cell = 6 THEN 1 ELSE 0 END ),2) as twoCompletedQuantity,
+ round(sum( CASE WHEN e.station_cell = 6 THEN escd.width*escd.height/1000000 ELSE 0 END ),2) as twoCompletedArea,
+ round(sum( CASE WHEN e.station_cell = 5 and escd.device_id is null THEN 1 ELSE 0 END ),2) as oneUncompletedQuantity,
+ round(sum( CASE WHEN e.station_cell = 5 and escd.device_id is null THEN gi.width*gi.height/1000000 ELSE 0 END ),2) as oneUncompletedArea,
+ round(sum( CASE WHEN e.station_cell = 6 and escd.device_id is null THEN 1 ELSE 0 END ),2) as twoUncompletedQuantity,
+ round(sum( CASE WHEN e.station_cell = 6 and escd.device_id is null THEN gi.width*gi.height/1000000 ELSE 0 END ),2) as twoUncompletedArea
+ FROM
+ glass_info gi
+ left join edg_storage_cage_details escd ON gi.glass_id = escd.glass_id
+ left join engineering e on gi.engineer_id=e.engineer_id
+ WHERE
+ date(e.create_time) = date(now())
+ </select>
</mapper>
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageMapper.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageMapper.java
index ac56cae..5db80cd 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageMapper.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageMapper.java
@@ -3,6 +3,7 @@
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.bigstorage.entity.BigStorageCage;
import com.mes.bigstorage.entity.dto.BigStorageSummaryDTO;
+import com.mes.largenscreen.entity.PieChartVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -20,6 +21,8 @@
List<Integer> queryFreeDeviceByUsed(@Param(value = "thickness") double thickness);
List<BigStorageSummaryDTO> selectBigStorageSummary();
+
+ List<PieChartVO> queryPieChart();
//
// List<Integer> queryFreeDeviceByNotUsed(@Param(value = "thickness") double thickness);
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java
index a4c6756..4fc5b37 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java
@@ -7,6 +7,7 @@
import com.mes.bigstorage.entity.dto.BigStorageSummaryDTO;
import com.mes.bigstorage.entity.vo.BigStorageDetailsQueryVO;
import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.largenscreen.entity.PieChartVO;
import java.util.List;
import java.util.Map;
@@ -46,5 +47,7 @@
Boolean resetCage();
+ List<PieChartVO> queryPieChart();
+
// List<Integer> queryFreeDeviceByNotUsed(double thickness);
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
index dea422e..cbbadcc 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
@@ -19,6 +19,7 @@
import com.mes.common.config.Const;
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.service.GlassInfoService;
+import com.mes.largenscreen.entity.PieChartVO;
import com.mes.temperingglass.entity.TemperingGlassInfo;
import com.mes.temperingglass.service.TemperingGlassInfoService;
import lombok.extern.slf4j.Slf4j;
@@ -321,6 +322,11 @@
return Boolean.TRUE;
}
+ @Override
+ public List<PieChartVO> queryPieChart() {
+ return baseMapper.queryPieChart();
+ }
+
// @Override
// public List<Integer> queryFreeDeviceByNotUsed(double thickness) {
// return baseMapper.queryFreeDeviceByNotUsed(thickness);
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OPCPlcSlicecage.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OPCPlcSlicecage.java
index 78ef546..6502165 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OPCPlcSlicecage.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OPCPlcSlicecage.java
@@ -13,6 +13,7 @@
import com.mes.bigstoragecagetask.service.BigStorageCageTaskService;
import com.mes.common.config.Const;
import com.mes.glassinfo.service.GlassInfoService;
+import com.mes.largenscreen.entity.PieChartVO;
import com.mes.temperingglass.entity.TemperingGlassInfo;
import com.mes.temperingglass.service.TemperingGlassInfoService;
import com.mes.tools.WebSocketServer;
@@ -210,6 +211,8 @@
//鐞嗙墖绗间娇鐢ㄦ儏鍐�
List<Map<String, Object>> bigStorageCageUsage = bigStorageCageService.selectBigStorageCageUsage();
jsonObject.append("bigStorageCageUsage", bigStorageCageUsage);
+ List<PieChartVO> pieChartVOS = bigStorageCageService.queryPieChart();
+ jsonObject.append("pieChartVOS", pieChartVOS);
ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("largenScreen");
if (sendwServer != null) {
for (WebSocketServer webserver : sendwServer) {
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageMapper.xml
index 1e85334..4fe303e 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageMapper.xml
@@ -64,7 +64,23 @@
countSlot DESC,
thickness DESC
</select>
-
+ <select id="queryPieChart" resultType="com.mes.largenscreen.entity.PieChartVO">
+ SELECT
+ round(sum( CASE WHEN e.station_cell = 5 THEN 1 ELSE 0 END ),2) as oneCompletedQuantity,
+ round(sum( CASE WHEN e.station_cell = 5 THEN bscd.width*bscd.height/1000000 ELSE 0 END ),2) as oneCompletedArea,
+ round(sum( CASE WHEN e.station_cell = 6 THEN 1 ELSE 0 END ),2) as twoCompletedQuantity,
+ round(sum( CASE WHEN e.station_cell = 6 THEN bscd.width*bscd.height/1000000 ELSE 0 END ),2) as twoCompletedArea,
+ round(sum( CASE WHEN e.station_cell = 5 and bscd.device_id is null THEN 1 ELSE 0 END ),2) as oneUncompletedQuantity,
+ round(sum( CASE WHEN e.station_cell = 5 and bscd.device_id is null THEN gi.width*gi.height/1000000 ELSE 0 END ),2) as oneUncompletedArea,
+ round(sum( CASE WHEN e.station_cell = 6 and bscd.device_id is null THEN 1 ELSE 0 END ),2) as twoUncompletedQuantity,
+ round(sum( CASE WHEN e.station_cell = 6 and bscd.device_id is null THEN gi.width*gi.height/1000000 ELSE 0 END ),2) as twoUncompletedArea
+ FROM
+ glass_info gi
+ left join big_storage_cage_details bscd ON gi.glass_id = bscd.glass_id
+ left join engineering e on gi.engineer_id=e.engineer_id
+ WHERE
+ date(e.create_time) = date(now())
+ </select>
<!-- <select id="queryFreeDeviceByNotUsed" resultType="java.lang.Integer">-->
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java
index fc07543..cf02b08 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java
@@ -7,6 +7,7 @@
import com.mes.damage.entity.Damage;
import com.mes.damage.service.DamageService;
import com.mes.engineering.entity.Engineering;
+import com.mes.largenscreen.entity.PieChartVO;
import com.mes.temperingglass.service.TemperingGlassInfoService;
import com.mes.temperingglass.entity.TemperingGlassInfo;
import com.mes.tools.WebSocketServer;
@@ -128,6 +129,9 @@
.groupBy(TemperingGlassInfo::getEngineerId, TemperingGlassInfo::getTemperingLayoutId) // 鎸� engineerId 鍜� temperingLayoutId 鍒嗙粍
);
jsonObject.append("temperingGlassInfoInList", temperingGlassInfoInList.size());
+ //閽㈠寲楗煎浘鏁版嵁
+ List<PieChartVO> pieChartVOS = temperingAgoService.queryPieChart();
+ jsonObject.append("pieChartVOS", pieChartVOS);
ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("largenScreen");
if (sendwServer != null) {
for (WebSocketServer webserver : sendwServer) {
diff --git a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/mapper/HollowGlassOutRelationInfoMapper.java b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/mapper/HollowGlassOutRelationInfoMapper.java
index e53bfa6..3ac8c38 100644
--- a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/mapper/HollowGlassOutRelationInfoMapper.java
+++ b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/mapper/HollowGlassOutRelationInfoMapper.java
@@ -3,7 +3,10 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mes.hollow.entity.HollowGlassOutRelationInfo;
import com.mes.hollow.entity.dto.OrderDTO;
+import com.mes.largenscreen.entity.PieChartVO;
import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
* (HollowGlassOutRelationInfo)琛ㄦ暟鎹簱璁块棶灞�
@@ -14,5 +17,7 @@
public interface HollowGlassOutRelationInfoMapper extends BaseMapper<HollowGlassOutRelationInfo> {
OrderDTO queryOrderByFlowCardId(@Param("flowCardId") String flowCardId);
+
+ List<PieChartVO> queryPieChart();
}
diff --git a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/HollowGlassOutRelationInfoService.java b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/HollowGlassOutRelationInfoService.java
index 0fa8ee3..398d723 100644
--- a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/HollowGlassOutRelationInfoService.java
+++ b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/HollowGlassOutRelationInfoService.java
@@ -6,6 +6,7 @@
import com.mes.hollow.entity.request.HollowHistoryTaskRequest;
import com.mes.hollow.entity.request.HollowTaskRequest;
import com.mes.hollowqueue.entity.HollowGlassQueueInfo;
+import com.mes.largenscreen.entity.PieChartVO;
import java.io.IOException;
import java.util.List;
@@ -39,5 +40,7 @@
String generateHollowLisecFile(String flowCardId, int cell, int isForce, int isOut) throws IOException;
Page<HollowGlassOutRelationInfo> queryHollowHistoryTask(HollowHistoryTaskRequest request);
+
+ List<PieChartVO> queryPieChart();
}
diff --git a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassOutRelationInfoServiceImpl.java b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassOutRelationInfoServiceImpl.java
index 9e44138..14d0ff2 100644
--- a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassOutRelationInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassOutRelationInfoServiceImpl.java
@@ -23,6 +23,7 @@
import com.mes.hollow.service.HollowGlassRelationInfoService;
import com.mes.hollowqueue.entity.HollowGlassQueueInfo;
import com.mes.hollowqueue.service.HollowGlassQueueInfoService;
+import com.mes.largenscreen.entity.PieChartVO;
import com.mes.tools.DateUtil;
import com.mes.utils.Blank;
import com.mes.utils.RedisUtil;
@@ -425,5 +426,10 @@
queueInfo.setUpdateTime(new Date());
return queueInfo;
}
+
+ @Override
+ public List<PieChartVO> queryPieChart(){
+ return baseMapper.queryPieChart();
+ }
}
diff --git a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java
index 3b8520f..c131268 100644
--- a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java
+++ b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java
@@ -19,6 +19,7 @@
import com.mes.hollow.service.HollowGlassRelationInfoService;
import com.mes.hollowqueue.entity.HollowGlassQueueInfo;
import com.mes.hollowqueue.service.HollowGlassQueueInfoService;
+import com.mes.largenscreen.entity.PieChartVO;
import com.mes.tools.WebSocketServer;
import com.mes.utils.RedisUtil;
import lombok.extern.slf4j.Slf4j;
@@ -226,6 +227,9 @@
//鐞嗙墖绗间娇鐢ㄦ儏鍐�
List<Map<String, Object>> hollowBigStorageCageUsage = hollowBigStorageCageService.selectBigStorageCageUsage();
jsonObject.append("hollowBigStorageCageUsage", hollowBigStorageCageUsage);
+ //閽㈠寲楗煎浘鏁版嵁
+ List<PieChartVO> pieChartVOS = hollowGlassOutRelationInfoService.queryPieChart();
+ jsonObject.append("pieChartVOS", pieChartVOS);
ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("largenScreen");
if (sendwServer != null) {
for (WebSocketServer webserver : sendwServer) {
diff --git a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/mapper/HollowGlassOutRelationInfoMapper.xml b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/mapper/HollowGlassOutRelationInfoMapper.xml
index 3d15d30..5aeed84 100644
--- a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/mapper/HollowGlassOutRelationInfoMapper.xml
+++ b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/mapper/HollowGlassOutRelationInfoMapper.xml
@@ -10,4 +10,33 @@
where t.process_id = #{flowCardId}
limit 1
</select>
+ <select id="queryPieChart" resultType="com.mes.largenscreen.entity.PieChartVO">
+ SELECT
+ round( sum( CASE WHEN hgori.cell = 930 AND hgqi.state = 0 THEN 1 ELSE 0 END ), 2 ) AS oneCompletedQuantity,
+ round(
+ sum( CASE WHEN hgori.cell = 930 AND hgqi.state = 0 THEN hgqi.width * hgqi.height / 1000000 ELSE 0 END ),
+ 2
+ ) AS oneCompletedArea,
+ round( sum( CASE WHEN hgori.cell = 931 AND hgqi.state = 0 THEN 1 ELSE 0 END ), 2 ) AS twoCompletedQuantity,
+ round(
+ sum( CASE WHEN hgori.cell = 931 AND hgqi.state = 0 THEN hgqi.width * hgqi.height / 1000000 ELSE 0 END ),
+ 2
+ ) AS twoCompletedArea,
+ round( sum( CASE WHEN hgori.cell = 930 AND hgqi.state =- 1 THEN 1 ELSE 0 END ), 2 ) AS oneUncompletedQuantity,
+ round(
+ sum( CASE WHEN hgori.cell = 930 AND hgqi.state =- 1 THEN hgqi.width * hgqi.height / 1000000 ELSE 0 END ),
+ 2
+ ) AS oneUncompletedArea,
+ round( sum( CASE WHEN hgori.cell = 931 AND hgqi.state =- 1 THEN 1 ELSE 0 END ), 2 ) AS twoUncompletedQuantity,
+ round(
+ sum( CASE WHEN hgori.cell = 931 AND hgqi.state =- 1 THEN hgqi.width * hgqi.height / 1000000 ELSE 0 END ),
+ 2
+ ) AS twoUncompletedArea
+ FROM
+ hollow_glass_out_relation_info hgori
+ INNER JOIN hollow_glass_queue_info hgqi ON hgori.formula_id = hgqi.relation_id
+ WHERE
+ date( hgori.create_time ) = date(
+ now())
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0